
Citation: | CHEN Zhikun, WENG Yiming, PENG Dongliang, WU Meichan. Distributed Direct Position Determination Technology Based on VEPPSO-EXTRA Hybrid Algorithm[J]. Journal of Electronics & Information Technology, 2023, 45(2): 664-671. doi: 10.11999/JEIT211502 |
无源定位技术因其自身较好的电磁屏蔽性能够更安全地获得辐射源目标的位置信息,被广泛应用于军事和民用领域。随着电磁环境日趋复杂,辐射源信号种类繁多,单位时间内的信号密度激增,传统无源定位系统因无法实时处理大规模信号数据而面临着严峻的挑战[1]。因此,如何科学合理地利用这种高密度的辐射源信息完成定位是当前的研究热点。Tzoreff等人[2]提出的直接定位(Direct Position Determination, DPD)算法,相比于传统的两步定位方法,能够利用更底层的信息提高定位精度,又可避免多辐射源场景中源和参数之间的匹配问题,更适合应用于高密度的信号环境。传统直接定位算法将原始采样信息传输到融合中心集中式处理,然后构建包含辐射源位置信息的代价函数,并使用搜索或迭代算法求解辐射源位置[3,4]。然而随着传感器网络的发展及大数据时代的到来,这种基于集中式处理框架的直接定位算法,即集中式直接定位(Centralized Direct Position Determination, CDPD)算法存在着诸多问题。首先,CDPD算法需要将信息传输到中心节点集中处理,随着传感器数量增多,中心节点的通信代价与计算量过大。其次,若中心节点发生故障,则定位系统将可能直接崩溃。最后,无源定位系统受中心节点固定硬件结构的限制,不利于网络中传感器数量的增加。
近年来,为了克服集中式直接定位算法的缺陷,部分学者提出了分布式直接定位(Distributed Direct Position Determination, DDPD)算法[5]。该技术不需要设置融合中心,计算任务被所有节点共同承担而避免以上问题[6]。目前,分布式直接定位技术实现方法主要有分布式计算与分布式优化。基于分布式计算技术,Pourhomayoun等人[7]首先提出基于时延与多普勒信息的分布式直接定位的方法,该算法分布式计算互模糊函数,利用互模糊函数之间的关系近似构造交叉互模糊函数矩阵实现分布式直接定位。国内研究学者朱颖童等人[8]通过补全文献[7]提出的交叉互模糊函数矩阵,提高了分布式直接定位算法的精度。Ma等人[9]讨论了基于时差信息的分布式直接定位算法,扩展了分布式直接定位的场景。然而,现有的基于分布式计算的分布式直接定位算法普遍存在精度损失的问题。基于分布式优化技术,文献[10]通过引入扩散最小均方差算法,提出了基于时差信息的分布式自适应直接定位算法,有效地解决了该问题。该算法有较好的自适应定位、跟踪能力,定位性能优于集中式自适应直接定位算法。但该算法主要有以下两个问题,首先,集中式自适应直接定位算法定位精度较低,因此对应的分布式直接定位算法在较差的观测条件下,其定位性能受到限制;其次,分布式优化技术一般基于梯度下降算法求解,当代价函数为非凸时,需要合理的辐射源位置作为迭代初始值。
综上所述,目前分布式直接定位技术基于到达角方向(Direction Of Arrival, DOA)辐射源参数信息实现定位的研究较少,且存在难以同时保证高精度定位与分布式计算精度不损失的问题。本文基于分布式优化框架,提出了一种基于VEPPSO-EXTRA混合算法的分布式直接定位技术。首先推导了基于子空间数据融合算法的直接定位分布式优化模型[11];其次,针对辐射源初始值求解的问题,提出基于向量评估的并行粒子群算法(Vector Evaluated Parallel Particle Swarm Optimization, VEPPSO)。该方法结合分布式多辐射源目标定位场景,在传统粒子群算法的速度更新策略上,引入小生境策略与多粒子群间信息交流策略处理辐射源位置初始值求解的问题[12];最后,引入分布式优化领域中的精确1阶算法(Exact First-Order Algorithnm, EXTRA)[13],通过两步梯度信息迭代求解达到集中式直接定位的精度,解决分布式处理导致定位精度损失的问题。
假设2维平面内存在
zr(t)=Q∑q=1ar(pq)sr,q(t)+wr(t) | (1) |
则其采样后的离散数学模型为
zr(n)=Q∑q=1ar(pq)sr,q(n)+wr(n),n = 1,2,⋯,N | (2) |
其中,
在式(2)中,阵列流型矢量包含辐射源位置信息,其具体表达式为
ar(pq)≜ | (3) |
其中,
{{\boldsymbol{k}}_r}{\text{(}}{{\boldsymbol{p}}_q}{\text{)}} = \frac{{2\pi }}{\lambda }\frac{{{{\boldsymbol{p}}_{\text{r}}} - {{\boldsymbol{p}}_q}}}{{\left\| {{{\boldsymbol{p}}_r} - {{\boldsymbol{p}}_q}} \right\|}} | (4) |
为便于计算,这里将信号模型转化为矩阵形式,可得到第
{{\boldsymbol{Z}}_r} = {{\boldsymbol{A}}_r}{\text{(}}{\boldsymbol{p}}{\text{)}}{{\boldsymbol{S}}_r} + {{\boldsymbol{W}}_r} | (5) |
其中,
基于文献[11]给出集中式直接定位代价函数定义为
{J_{{\text{global}}}} = \sum\limits_{r = 1}^R {{\boldsymbol{a}}_r^{\text{H}}{\text{(}}{\boldsymbol{p}}{\text{)}}{\boldsymbol{R}}_r^{\text{n}}{{\boldsymbol{a}}_r}{\text{(}}{\boldsymbol{p}}{\text{)}}} | (6) |
其中,
{{\boldsymbol{R}}^{\text{n}}}{\text{ = }}{{\boldsymbol{U}}_{\text{n}}}{\boldsymbol{U}}_{\text{n}}^{\text{H}} | (7) |
其中,
实际上,由文献[10]可知利用直接定位的代价函数求解辐射源位置是一个优化问题:
\mathop {\arg {\text{min}}}\limits_{\boldsymbol{p}} \left(\sum\limits_{r = 1}^R {J_r}{\text{(}}{\boldsymbol{p}})\right) | (8) |
其中,局部代价函数
为满足分布式处理信号并估计辐射源位置,本节将上述集中式优化问题转化为分布式优化问题,从而实现分布式辐射源定位。这里,首先介绍传感器网络与分布式优化技术的基本概念,为直接定位分布式优化模型的构建以及分布式优化算法的推导提供理论基础。传感器网络结构如图1所示。本文定义传感器网络中第
分布式优化技术一直以来都是科学研究领域的热点之一,其主要的思想就是将每个节点视为一个智能体,每个智能体仅知道自己的代价函数
\mathop {{\text{arg min}}}\limits_x f{\text{(}}x{\text{)}} = \sum\limits_{i = 1}^n {{f_i}{\text{(}}x{\text{)}}} | (9) |
其中,
若简单将分布式优化技术中单个智能体的代价函数
{J'_r}{\text{(}}{\boldsymbol{p}}{\text{)}} = \sum\limits_{l \in {{\boldsymbol{N}}_r}} {{c_{rl}}{\text{(}}{\boldsymbol{a}}_l^{\text{H}}{\text{(}}{\boldsymbol{p}}{\text{)}}{\boldsymbol{R}}_l^{\text{n}}{{\boldsymbol{a}}_l}({\boldsymbol{p}}{\text{)}}} {\text{)}} | (10) |
根据以上定义,本文可重新推导出分布式直接定位算法的全局代价函数为
{J'_{{{\rm{global}}} }}({\boldsymbol{p}}) = \sum\limits_{r = 1}^R {{{J'}_r}({\boldsymbol{p}})} = \sum\limits_{r = 1}^R {\sum\limits_{l \in {{\boldsymbol{N}}_r}} {{c_{rl}}{\text{(}}{\boldsymbol{a}}_l^{\text{H}}{\text{(}}{\boldsymbol{p}}{\text{)}}{\boldsymbol{R}}_l^{\text{n}}{{\boldsymbol{a}}_l}({\boldsymbol{p}}{\text{)}}} {\text{)}}} | (11) |
其中,
该全局代价函数与集中式全局代价函数式(8)是完全等价的,如式(12)所示:
{J'_{{{\rm{global}}} }} = \sum\limits_{r = 1}^R {\sum\limits_{l \in {{\boldsymbol{N}}_r}} {{c_{rl}}({\boldsymbol{a}}_l^{\text{H}}({\boldsymbol{p}}){\boldsymbol{R}}_l^{\text{n}}{{\boldsymbol{a}}_l}({\boldsymbol{p}})} )} = {J_{{\rm{global}}}} | (12) |
基于上述推导,本节将改写后的局部代价函数,代入分布式优化模型,从而将直接定位集中式优化模型等价转化为直接定位分布式优化模型,如式(13)所示,从而通过分布式优化技术求解。
\mathop {\arg {\text{min}}}\limits_p \left(\sum\limits_{r = 1}^R {{J'}_r}({\boldsymbol{p}})\right) | (13) |
针对式(13)的求解问题,本文将采用分布式优算法EXTRA求解,EXTRA算法基于分布式优化技术中的分布式梯度算法(Distributed Gradient Descent, DGD)的基础上进行改进,具有一致性收敛与降低精度损失的优点,有效地解决了分布式直接定位算法精度损失的问题。然而,EXTRA算法在非凸函数的条件下,受初始值影响较大,较差的初始值将会导致定位算法发散。考虑到粒子群优化算法所需先验参数少,实现较为简单,有较强的全局搜索能力,且具有较强的处理分布式优化能力。本文使用粒子群优化算法完成辐射源定位的初始化步骤[14]。综合以上分析,本文提出一种基于VEPPSO-EXTRA混合算法的分布式直接定位技术,该技术通过聚类优化修正的VEPPSO算法快速得到辐射源初始值,并通过EXTRA算法提高分布式定位精度。该混合算法整体实现流程如图2所示。
针对直接定位分布式优化的辐射源位置初始值选择的问题,传统多模优化的小生境粒子算法由于各节点所能利用的信息有限,会出现较多的假峰区域。本节借鉴并行向量评估多目标粒子群优化算法(Vector Evaluated Particle Swarm Optimization, VEPSO)中联合进化的思想[15],提出一种改进措施,即通过传达各个节点的最佳经验给其他节点的粒子群的方式解决分布式处理所带来的假峰问题,并将其命名为VEPPSO算法。该算法将每一个节点作为一个种群,每个节点的粒子群只通过其局部代价函数
\begin{split} {{\boldsymbol{v}}_i} =& \chi ({{\boldsymbol{v}}_i} + {{\boldsymbol{R}}_1}[0,{\varphi _1}] \otimes ({{\boldsymbol{p}}_i} - {\bf{xo}}{{\bf{y}}_i}) + {{\boldsymbol{R}}_2}[0,{\varphi _2}] \\ & \otimes ({{\boldsymbol{p}}_{{{\rm{local}}} \_i}} - {\bf{xo}}{{\bf{y}}_i}) + {{\boldsymbol{R}}_2}[0,{\varphi _2}] \otimes ({{\boldsymbol{p}}_{g[{{\boldsymbol{N}}_r}]}} - {\bf{xo}}{{\bf{y}}_i})) \end{split} | (14) |
{{{\bf{xoy}}} _i} = {{{\bf{xoy}}} _i} + {{\boldsymbol{v}}_i} | (15) |
其中,
在直接定位的分布式优化模型下,本文将EXTRA算法与传统的DGD算法进行分析比较。首先,简要地介绍DGD算法的实现方式及其缺陷,为后续的EXTRA算法的理论推导做铺垫。
DGD算法通过交换相邻节点的辐射源位置实现全局信息共享。基于辐射源位置初估计,并选取合适的步长
{{\boldsymbol{p}}_{r,i}} = \sum\limits_{l \in {{\boldsymbol{N}}_{\boldsymbol{r}}}} {{a_{r,l}}{{\boldsymbol{p}}_{l,i - 1}}} - \alpha \nabla J'({{\boldsymbol{p}}_{r,i - 1}}) | (16) |
当该算法局部节点收敛时,各节点分别近似满足
而EXTRA算法可解决该问题,首先将式(16)改写为矩阵块的形式:
{{\boldsymbol{x}}_i} = {\boldsymbol{A}}{{\boldsymbol{x}}_{i - 1}} - \alpha \nabla J'({{\boldsymbol{x}}_{i - 1}}) | (17) |
其中
EXTRA算法在DGD算法的基础上引入位置约束条件
该算法将分布式梯度算法梯度迭代过程进行改进,可分为两步梯度过程,如式(18)和式(19)所示,其中一步的混合加权矩阵为
\qquad {{\boldsymbol{x}}_{i + 2}} = {\boldsymbol{A}}{{\boldsymbol{x}}_{i + 1}} - \alpha \nabla J'({{\boldsymbol{x}}_{i + 1}}) | (18) |
\qquad {{\boldsymbol{x}}_{i + 1}} = {{\tilde {\boldsymbol{A}}}}{{\boldsymbol{x}}_i} - \alpha \nabla J'({{\boldsymbol{x}}_i}) | (19) |
其中,
两式相减获得
{{\boldsymbol{x}}_{i + 2}} - {{\boldsymbol{x}}_{i + 1}} = {\boldsymbol{A}}{{\boldsymbol{x}}_{i + 1}} - {{\tilde {\boldsymbol{A}}}}{{\boldsymbol{x}}_i} - \alpha \nabla J'({{\boldsymbol{x}}_{i + 1}}) + \alpha \nabla J'({{\boldsymbol{x}}_i}) | (20) |
当算法收敛时可得
{{\boldsymbol{x}}^*} - {{\boldsymbol{x}}^*} = {\boldsymbol{A}}{{\boldsymbol{x}}^*} - {{\tilde {\boldsymbol{A}}}}{{\boldsymbol{x}}^*} - \alpha \nabla J'({{\boldsymbol{x}}^*}) + \alpha \nabla J'({{\boldsymbol{x}}^*}) | (21) |
此时收敛结果满足
{\boldsymbol{A}}{{\boldsymbol{x}}^*} - {{\tilde {\boldsymbol{A}}}}{{\boldsymbol{x}}^*} = 0 | (22) |
根据混合加权矩阵定义可得
{\boldsymbol{A}}{{\boldsymbol{x}}^*} - {{\boldsymbol{x}}^*} = {\boldsymbol{A}}{{\boldsymbol{x}}^*} - (2{{\tilde {\boldsymbol{A}}}} - {\boldsymbol{A}}){{\boldsymbol{x}}^*} = 2({{\tilde {\boldsymbol{A}}}} - {\boldsymbol{A}}){{\boldsymbol{x}}^*} | (23) |
由式(22)与式(23)综合考虑可得,当EXTRA算法收敛时,该算法满足一致性约束条件
接下来将验证该算法收敛条件满足集中式收敛条件。首先,设定本算法选取的混合加权矩阵
{a}_{rl}=\left\{\begin{aligned} & \frac{1}{\mathrm{max}({D}_{r},{D}_{l})},\text{ }(r,l)相邻\text{,}r\ne l\\ & 0,\text{ }(r,l)不相邻\\ & 1-{\displaystyle \sum _{k\in {N}_{r}}{a}_{rk}},\text{ }r=l \end{aligned}\right. | (24) |
由此可推得该加权矩阵满足
\begin{split} & {{\boldsymbol{x}}_1} = {\boldsymbol{A}}{{\boldsymbol{x}}_0} - \alpha \nabla J'({{\boldsymbol{x}}_0}) \\ & \cdots \\ & {{\boldsymbol{x}}_{^2}} - {{\boldsymbol{x}}_{^1}} = {\boldsymbol{A}}{{\boldsymbol{x}}_{^1}} - {{\tilde {\boldsymbol{A}}}}{{\boldsymbol{x}}_{^0}} - \alpha \nabla J'({{\boldsymbol{x}}_{^1}}) + \alpha \nabla J'({{\boldsymbol{x}}_{^0}}) \\ & {{\boldsymbol{x}}_{^{i + 2}}} - {{\boldsymbol{x}}_{^{i + 1}}} = {\boldsymbol{A}}{{\boldsymbol{x}}_{^{i + 1}}} - {{\tilde {\boldsymbol{A}}}}{{\boldsymbol{x}}_i} - \alpha \nabla J'({{\boldsymbol{x}}_{^{i + 1}}}) + \alpha \nabla J'({{\boldsymbol{x}}_i}) \end{split} | (25) |
设算法迭代
{{\boldsymbol{x}}_{^{i + 2}}} = {\boldsymbol{A}}{{\boldsymbol{x}}_{^{i + 1}}} - \alpha \nabla J'({{\boldsymbol{x}}_{i + 1}}) + \sum\limits_{i = 0}^{{N_{{\text{iter2}}}}} {({\boldsymbol{A}} - {{\tilde {\boldsymbol{A}}}}){{\boldsymbol{x}}_i}} | (26) |
当算法收敛时,得
{{\boldsymbol{x}}^*} = {\boldsymbol{A}}{{\boldsymbol{x}}^*} - \alpha \nabla J'({{\boldsymbol{x}}^*}) + \sum\limits_{i = 0}^{{N_{{\text{iter2}}}}} {({\boldsymbol{A}} - {{\tilde {\boldsymbol{A}}}}){{\boldsymbol{x}}_i}} | (27) |
式(27)代入约束条件
\alpha \nabla J'({{\boldsymbol{x}}^*}) = \sum\limits_{i = 0}^{{N_{{\text{iter2}}}}} {({\boldsymbol{A}} - {{\tilde {\boldsymbol{A}}}}){{\boldsymbol{x}}_i}} | (28) |
式(28)等式左右左乘全1行向量
{{{ {\textit{1}}}}^{\text{T}}}\alpha \nabla J'({{\boldsymbol{x}}^*}) = {{{ {\textit{1}}}}^{\text{T}}}\sum\limits_{i = 0}^{{N_{{\text{iter2}}}}} {({\boldsymbol{A}} - {{\tilde {\boldsymbol{A}}}}){{\boldsymbol{x}}_i}} = 0 | (29) |
由理论分析可得,EXTRA算法可实现与集中式梯度定位算法等价的收敛条件即
VEPPSO-EXTRA混合算法可以分为两个过程。第1个过程是辐射源位置迭代初始值估计过程,该过程首先发挥VEPPSO算法的全局搜索能力进行粗粒度的搜索,在VEPPSO算法迭代一定次数后,各节点与相邻节点共享优化结果并采用聚类算法获得
基于上述分析,基于VEPPSO-EXTRA算法的分布式直接定位技术总结如算法1所示。
算法1 VEPPSO-EXTRA算法 |
输入:初始化VEPPSO算法的各节点粒子数 {N_{\text{p}}} ,粒子群迭代次数 {N_{{\text{iter1}}}} ,EXTRA算法合适的步长 \alpha ,混合加权矩阵{\boldsymbol{A}} = [{a_{r,l} }] \in {\mathbb{R}^{R \times R} }。 |
(1)VEPPSO算法及聚类优化 |
(a)通过局部代价函数式(10),评估粒子状态。如果 {J'_r}({\text{xo}}{{\text{y}}_i}) < {J'_r}({{\boldsymbol{p}}_i}) , {{\boldsymbol{p}}_i} = {\text{xo}}{{\text{y}}_i} ,如果 {J'_r}({{\boldsymbol{p}}_i}) < {J'_r}({{\boldsymbol{p}}_{g[r]}}) , {{\boldsymbol{p}}_{g[r]}} = {{\boldsymbol{p}}_i} ; |
(b)交换粒子之间和种群之间的信息。 {{\boldsymbol{p}}_{{\text{local\_i}}}} = 相邻粒子最优状态 ({{\boldsymbol{p}}_{i - 1}},{{\boldsymbol{p}}_i},{{\boldsymbol{p}}_{i{\text{ + 1}}}}) , {{\boldsymbol{p}}_{g[{{\boldsymbol{N}}_r}]}} = 相邻粒子群随机状态 ({{\boldsymbol{p}}_{g[l]}}),l \in {{\boldsymbol{N}}_r} ; |
(c)对于每个种群 r 并行执行式(14)和式(15),实现位置更新,如果迭代未结束,跳转到(a); |
(d)当 n = {N_{{\text{iter1}}}} 时结束迭代,并将各个种群的粒子的历史最优位置 {{\boldsymbol{p}}_i} 作为辐射源位置初始值的估计结果; |
(e)将各种群估计结果经聚类后分享到各邻居节点,然后再次通过传统聚类优化算法得到辐射源迭代初始值 {{\boldsymbol{p}}_{r,1}} 。 |
(2)EXTRA算法 |
(a)每个节点进行初始化, {{\boldsymbol{p}}_{r,2}} = \displaystyle\sum\limits_{l \in {{\boldsymbol{N}}_r}} {{a_{r,l}}{{\boldsymbol{p}}_{l,1}}} - \alpha \nabla J'({{\boldsymbol{p}}_{r,1}}) ; |
(b)每个节点并行迭代, {{\boldsymbol{p}}_{r,i + 2}} = \displaystyle\sum\limits_{l \in {{\boldsymbol{N}}_r}} {{a_{r,l}}{{\boldsymbol{p}}_{l,i + 1}}} - \left(\displaystyle\sum\limits_{l \in {{\boldsymbol{N}}_r}} {\frac{{{a_{r,l}}}}{2}{{\boldsymbol{p}}_{r,i}}} + \frac{{{{\boldsymbol{p}}_{r,i}}}}{2}\right) - \alpha [\nabla J'({{\boldsymbol{p}}_{r,i + 1}}) - \nabla J'({{\boldsymbol{p}}_{r,i}})] ,直至定位结果迭代误差小 于设定值。 |
输出:辐射源位置最终估计 {\boldsymbol{p}} 。 |
本文所提出算法的单个节点的通信开销为
仿真实验假设在2维平面存在20个随机稀布的均匀线阵,振元数
仿真1:多辐射源初始值估计
当辐射源初始值远离精确解时,EXTRA算法易陷入局部最优,智能优化算法可有效解决该问题,为EXTRA算法提供合理的辐射源初始迭代值。为验证本文基于分布式优化模型所提出的VEPPSO算法的有效性,在图4中将VEPPSO算法与未引入节点间信息共享策略的小生境粒子算法进行对比。该仿真实验参考文献[14]与多次实验结果,设粒子群算法迭代次数为50,各节点粒子数为20。假设有3个目标辐射源信号,信噪比设置为10 dB,辐射源目标位置分别设定为
从图4(a)可以看出,基于局部代价函数的小生境粒子群算法会产生较多的假峰区域估计值。从图4(b)可以看出,在引入节点间信息交流策略之后,VEPPSO算法能够有效地抑制假峰,使得粒子群分别向3个辐射源目标位置聚集。这说明VEPPSO算法可有效解决辐射源位置初始值选择的问题。
由图5可看出,迭代次数为50次的VEPPSO算法已有了较明显的聚类趋势,且随着迭代次数的增多,粒子向辐射源目标更集中的聚集,从而获得更合理的辐射源迭代初始值。当迭代次数达到800次时,剔除离群点后的粒子群定位结果便可作为EXTRA算法的辐射源迭代初始值,但其计算量较大。为能更快地得到辐射源初估计,本文在辐射源初始估计过程中加入聚类优化的步骤对粒子群算法优化结果进行修正,并取其聚类中心为辐射源迭代初始值。由图6可知,采用聚类算法对VEPPSO算法经50次迭代的结果进行修正可提前获得较合理的定位初估计,从而避免增加粒子群算法迭代次数带来的额外计算量的问题。
仿真2:基于EXTRA算法的辐射源高精度定位
为验证混合算法中EXTRA算法的收敛性能,假设有一个辐射源信号,辐射源目标坐标为
{\text{RMSE}} = \sqrt {\frac{1}{{{{MN}}}}\sum\limits_{{{mn}} = 1}^{{{MN}}} {\left[ {{{({{\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{x} }_{{{mn}}}} - x)}^2} + {{(\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{y} {}_{{{mn}}} - y)}^2}} \right]} } | (30) |
其中,
由图7可以看出,在合理的初始值条件下,分布式优化算法能较好地处理分布式直接定位问题,DGD算法与引入一致性约束的EXTRA算法都能收敛,但EXTRA算法的各节点曲线趋于一致性收敛,优于DGD算法。
从图8可以看到,传统的分布式梯度算法与文献[10]所采用的扩散式梯度算法在低信噪比下,其定位精度都有所损失。而本文所采用的EXTRA算法的定位精度能逼近于集中式定位算法,优于上述两种方法。
仿真3:计算复杂度分析
表2给出 DDPD算法所有节点计算总时长与单个节点计算平均时长以及基于集中式梯度算法的CDPD算法的计算时长。可以看出,对于整个网络的计算复杂度,DDPD算法会大于CDPD算法,但是DDPD算法是各个节点并行计算的,因此实际耗时将会小于CDPD算法。
算法 | 总时长 | 平均时长 |
集中式直接定位算法 | 1.2658 | – |
本文分布式直接定位算法 | 6.3000 | 0.3150 |
本文基于直接定位分布式优化模型,提出一种VEPPSO-EXTRA混合算法求解辐射源位置的技术。该技术通过分布式的方式处理辐射源信息,降低单个节点的计算量与通信代价,提高系统鲁棒性;与此同时,解决了多辐射源初始值选择的问题,并通过EXTRA算法实现辐射源目标的高精度定位。仿真实验结果表明,传感器网络中所有节点的定位结果趋于一致,定位精度逼近于集中式定位算法,且单个节点的计算复杂度小于集中式定位算法。此外,该方法通用性强,可以与其它集中式直接定位代价算法相结合求解辐射源位置,这将在下一步进行深入研究。
[1] |
刘聪锋. 无源定位与跟踪[M]. 西安: 西安电子科技大学出版社, 2011: 1–4.
LIU Congfeng. Passive Location and Tracking[M]. Xi'an: Xidian University Press, 2011: 1–4.
|
[2] |
TZOREFF E and WEISS A J. Expectation-maximization algorithm for direct position determination[J]. Signal Processing, 2017, 133: 32–39. doi: 10.1016/j.sigpro.2016.10.015
|
[3] |
LI Jianfeng, HE Yi, ZHANG Xiaofei, et al. Simultaneous localization of multiple unknown emitters based on UAV monitoring big data[J]. IEEE Transactions on Industrial Informatics, 2021, 17(9): 6303–6313. doi: 10.1109/TII.2020.3048987
|
[4] |
WU Guizhou, ZHANG Min, GUO Fucheng, et al. Direct position determination of coherent pulse trains based on Doppler and Doppler rate[J]. Electronics, 2018, 7(10): 262. doi: 10.3390/electronics7100262
|
[5] |
吴癸周, 郭福成, 张敏. 信号直接定位技术综述[J]. 雷达学报, 2020, 9(6): 998–1013. doi: 10.12000/JR20040
WU Guizhou, GUO Fucheng, and ZHANG Min. Direct position determination: An overview[J]. Journal of Radars, 2020, 9(6): 998–1013. doi: 10.12000/JR20040
|
[6] |
NEDIĆ A, OLSHEVSKY A, and RABBAT M G. Network topology and communication-computation tradeoffs in decentralized optimization[J]. Proceedings of the IEEE, 2018, 106(5): 953–976. doi: 10.1109/JPROC.2018.2817461
|
[7] |
POURHOMAYOUN M and FOWLER M L. Distributed computation for direct position determination emitter location[J]. IEEE Transactions on Aerospace and Electronic Systems, 2014, 50(4): 2878–2889. doi: 10.1109/TAES.2014.130005
|
[8] |
朱颖童, 董春曦, 董阳阳, 等. 去中心化时差频差直接定位方法[J]. 航空学报, 2017, 38(5): 320727. doi: 10.7527/S1000-6893.2016.320727
ZHU Yingtong, DONG Chunxi, DONG Yangyang, et al. Decentralized direct position determination method based on TDOA and FDOA[J]. Acta Aeronautica et Astronautica Sinica, 2017, 38(5): 320727. doi: 10.7527/S1000-6893.2016.320727
|
[9] |
MA Fuhe, LIU Zhangmeng, and GUO Fucheng. Distributed direct position determination[J]. IEEE Transactions on Vehicular Technology, 2020, 69(11): 14007–14012. doi: 10.1109/TVT.2020.3025386
|
[10] |
XIA Wei and LIU Wei. Distributed adaptive direct position determination of emitters in sensor networks[J]. Signal Processing, 2016, 123: 100–111. doi: 10.1016/j.sigpro.2016.01.002
|
[11] |
DEMISSIE B, OISPUU M, and RUTHOTTO E. Localization of multiple sources with a moving array using subspace data fusion[C]. Proceedings of the 11th International Conference on Information Fusion, Cologne, Germany, 2008: 1–7.
|
[12] |
LI Xiaodong. Erratum to “niching without niching parameters: Particle swarm optimization using a ring topology” [Feb 10 150-169][J]. IEEE Transactions on Evolutionary Computation, 2010, 14(4): 665. doi: 10.1109/TEVC.2010.2050024
|
[13] |
SHI Wei, LING Qing, WU Gang, et al. EXTRA: An exact first-order algorithm for decentralized consensus optimization[J]. SIAM Journal on Optimization, 2015, 25(2): 944–966. doi: 10.1137/14096668X
|
[14] |
WU Guizhou, ZHANG Min, and GUO Fucehng. High-resolution direct position determination based on eigenspace using a single moving ULA[J]. Signal, Image and Video Processing, 2019, 13(5): 887–894. doi: 10.1007/s11760-019-01425-4
|
[15] |
PARSOPOULOS K E, TASOULIS D K, and VRAHATIS M N. Multiobjective optimization using parallel vector evaluated particle swarm optimization[C]. Proceedings of the IASTED International Conference on Artificial Intelligence and Applications (AIA 2004), Innsbruck, Austria, 2004: 823–828.
|
算法1 VEPPSO-EXTRA算法 |
输入:初始化VEPPSO算法的各节点粒子数 {N_{\text{p}}} ,粒子群迭代次数 {N_{{\text{iter1}}}} ,EXTRA算法合适的步长 \alpha ,混合加权矩阵{\boldsymbol{A}} = [{a_{r,l} }] \in {\mathbb{R}^{R \times R} }。 |
(1)VEPPSO算法及聚类优化 |
(a)通过局部代价函数式(10),评估粒子状态。如果 {J'_r}({\text{xo}}{{\text{y}}_i}) < {J'_r}({{\boldsymbol{p}}_i}) , {{\boldsymbol{p}}_i} = {\text{xo}}{{\text{y}}_i} ,如果 {J'_r}({{\boldsymbol{p}}_i}) < {J'_r}({{\boldsymbol{p}}_{g[r]}}) , {{\boldsymbol{p}}_{g[r]}} = {{\boldsymbol{p}}_i} ; |
(b)交换粒子之间和种群之间的信息。 {{\boldsymbol{p}}_{{\text{local\_i}}}} = 相邻粒子最优状态 ({{\boldsymbol{p}}_{i - 1}},{{\boldsymbol{p}}_i},{{\boldsymbol{p}}_{i{\text{ + 1}}}}) , {{\boldsymbol{p}}_{g[{{\boldsymbol{N}}_r}]}} = 相邻粒子群随机状态 ({{\boldsymbol{p}}_{g[l]}}),l \in {{\boldsymbol{N}}_r} ; |
(c)对于每个种群 r 并行执行式(14)和式(15),实现位置更新,如果迭代未结束,跳转到(a); |
(d)当 n = {N_{{\text{iter1}}}} 时结束迭代,并将各个种群的粒子的历史最优位置 {{\boldsymbol{p}}_i} 作为辐射源位置初始值的估计结果; |
(e)将各种群估计结果经聚类后分享到各邻居节点,然后再次通过传统聚类优化算法得到辐射源迭代初始值 {{\boldsymbol{p}}_{r,1}} 。 |
(2)EXTRA算法 |
(a)每个节点进行初始化, {{\boldsymbol{p}}_{r,2}} = \displaystyle\sum\limits_{l \in {{\boldsymbol{N}}_r}} {{a_{r,l}}{{\boldsymbol{p}}_{l,1}}} - \alpha \nabla J'({{\boldsymbol{p}}_{r,1}}) ; |
(b)每个节点并行迭代, {{\boldsymbol{p}}_{r,i + 2}} = \displaystyle\sum\limits_{l \in {{\boldsymbol{N}}_r}} {{a_{r,l}}{{\boldsymbol{p}}_{l,i + 1}}} - \left(\displaystyle\sum\limits_{l \in {{\boldsymbol{N}}_r}} {\frac{{{a_{r,l}}}}{2}{{\boldsymbol{p}}_{r,i}}} + \frac{{{{\boldsymbol{p}}_{r,i}}}}{2}\right) - \alpha [\nabla J'({{\boldsymbol{p}}_{r,i + 1}}) - \nabla J'({{\boldsymbol{p}}_{r,i}})] ,直至定位结果迭代误差小 于设定值。 |
输出:辐射源位置最终估计 {\boldsymbol{p}} 。 |
算法 | 总时长 | 平均时长 |
集中式直接定位算法 | 1.2658 | – |
本文分布式直接定位算法 | 6.3000 | 0.3150 |
算法1 VEPPSO-EXTRA算法 |
输入:初始化VEPPSO算法的各节点粒子数 {N_{\text{p}}} ,粒子群迭代次数 {N_{{\text{iter1}}}} ,EXTRA算法合适的步长 \alpha ,混合加权矩阵{\boldsymbol{A}} = [{a_{r,l} }] \in {\mathbb{R}^{R \times R} }。 |
(1)VEPPSO算法及聚类优化 |
(a)通过局部代价函数式(10),评估粒子状态。如果 {J'_r}({\text{xo}}{{\text{y}}_i}) < {J'_r}({{\boldsymbol{p}}_i}) , {{\boldsymbol{p}}_i} = {\text{xo}}{{\text{y}}_i} ,如果 {J'_r}({{\boldsymbol{p}}_i}) < {J'_r}({{\boldsymbol{p}}_{g[r]}}) , {{\boldsymbol{p}}_{g[r]}} = {{\boldsymbol{p}}_i} ; |
(b)交换粒子之间和种群之间的信息。 {{\boldsymbol{p}}_{{\text{local\_i}}}} = 相邻粒子最优状态 ({{\boldsymbol{p}}_{i - 1}},{{\boldsymbol{p}}_i},{{\boldsymbol{p}}_{i{\text{ + 1}}}}) , {{\boldsymbol{p}}_{g[{{\boldsymbol{N}}_r}]}} = 相邻粒子群随机状态 ({{\boldsymbol{p}}_{g[l]}}),l \in {{\boldsymbol{N}}_r} ; |
(c)对于每个种群 r 并行执行式(14)和式(15),实现位置更新,如果迭代未结束,跳转到(a); |
(d)当 n = {N_{{\text{iter1}}}} 时结束迭代,并将各个种群的粒子的历史最优位置 {{\boldsymbol{p}}_i} 作为辐射源位置初始值的估计结果; |
(e)将各种群估计结果经聚类后分享到各邻居节点,然后再次通过传统聚类优化算法得到辐射源迭代初始值 {{\boldsymbol{p}}_{r,1}} 。 |
(2)EXTRA算法 |
(a)每个节点进行初始化, {{\boldsymbol{p}}_{r,2}} = \displaystyle\sum\limits_{l \in {{\boldsymbol{N}}_r}} {{a_{r,l}}{{\boldsymbol{p}}_{l,1}}} - \alpha \nabla J'({{\boldsymbol{p}}_{r,1}}) ; |
(b)每个节点并行迭代, {{\boldsymbol{p}}_{r,i + 2}} = \displaystyle\sum\limits_{l \in {{\boldsymbol{N}}_r}} {{a_{r,l}}{{\boldsymbol{p}}_{l,i + 1}}} - \left(\displaystyle\sum\limits_{l \in {{\boldsymbol{N}}_r}} {\frac{{{a_{r,l}}}}{2}{{\boldsymbol{p}}_{r,i}}} + \frac{{{{\boldsymbol{p}}_{r,i}}}}{2}\right) - \alpha [\nabla J'({{\boldsymbol{p}}_{r,i + 1}}) - \nabla J'({{\boldsymbol{p}}_{r,i}})] ,直至定位结果迭代误差小 于设定值。 |
输出:辐射源位置最终估计 {\boldsymbol{p}} 。 |
算法 | 总时长 | 平均时长 |
集中式直接定位算法 | 1.2658 | – |
本文分布式直接定位算法 | 6.3000 | 0.3150 |