基于能量有效的水下分布式粒子滤波跟踪算法

毛玉明
摘 要: 为降低水下无线传感器网络目标跟踪算法能耗并提高定位精度,提出基于能量有效的分布式粒子滤波跟踪算法(EEPF算法)。EEPF算法通过能量有效的最优分布式动态成簇機制和启发式能量有效的调度算法来平衡水下节点间的能耗,延长网络生存期,并在预测、滤波、重采样阶段对粒子滤波算法进行改进,在保障期望目标跟踪精度的同时降低了运算能耗。仿真结果表明,EEPF算法是一种轻量级的能量有效的目标跟踪算法,该算法能耗低,网络存活时间长,且跟踪精度较传统粒子滤波算法有了较大提高。
关键词: 能量有效; 粒子滤波; 跟踪算法; 目标跟踪
中图分类号: TN929.5?34; TP212.9 文献标识码: A 文章编号: 1004?373X(2017)23?0023?04
Abstract: In order to reduce the energy consumption and improve the tracking accuracy of the target tracing algorithm for underwater WSN, an energy?efficient distributed particle filtering tracing algorithm for three?dimensional wireless sensor networks is proposed. The algorithm is used to balance the energy consumption among the underwater sensor nodes and prolong the network lifespan by means of the energy?efficient optimal distributed dynamic clustering mechanism and heuristic energy?efficient scheduling algorithm. The particle filtering algorithm is improved in the stages of forecasting, filtering and resampling, which can reduce the energy consumption in operation while maintaining the expected target tracking precision. The simulation results show that the algorithm is a lightweight energy?efficient target tracing algorithm, has low energy consumption, long network lifespan, and higher tracking accuracy than the traditional particle filtering algorithm.
Keywords: efficient energy; particle filtering; tracing algorithm; target tracing
0 引 言
随着无线传感器网络的大规模应用,对移动目标进行定位和跟踪成为研究的热点之一。我国海岸线较长,海防线安全至关重要,新型水下无人武器装备由于其体积小、重量轻、运动噪声低等特点,很容易突破常规、落后的水下防线而侵入到我国近岸区,实施侦察乃至攻击行动。水下无线传感器网络以其隐蔽性好,灵敏度高,分布式部署和可覆盖面积大等特点,很容易捕捉到进入其监测区的小型机动目标,利用水下无线传感器网络对整个海岸线进行监控,及时跟踪、定位敌方武器装备至关重要。
水下无线传感器网络属于典型的三维网络,且水下节点使用电池供电,更换电池极为困难,因此能量有效性是设计的重点[1]。目前无线传感器网络跟踪算法主要有基于位置预测的目标跟踪算法、基于传送树的目标跟踪算法、基于卡尔曼滤波的目标跟踪算法和基于粒子滤波的目标跟踪算法[2]。
虽然现有算法基本满足了目标跟踪的需求,但是始终无法解决跟踪精度与网络能耗相矛盾的问题,因此在保障期望目标跟踪精度的同时,如何降低网络能耗,延长网络生存期是研究的重点。
本文针对水下无线传感器网络,提出一种基于能量有效的分布式粒子滤波跟踪算法(Energy?efficient Tracing Algorithm Based on Particle Filter for Three?dimensional Wireless Sensor Networks,EEPF)。EEPF算法引入节点的可信度并采用动态分簇策略,设计合理的数据传输方式,平衡网络中各节点的能耗,并在预测、滤波、重采样阶段对粒子滤波进行改进,最后通过仿真验证其有效性。
1 粒子滤波算法
粒子滤波算法是一种通过蒙特卡洛的模拟实现递归贝叶斯滤波的方法,粒子滤波算法通过寻找在空间传播的随机粒子并对概率密度函数进行近似,以随机粒子的均值代替积分运算,从而获得状态最小方差分布,粒子滤波算法具有不受线性化误差和高斯噪声假定限制的特点,是解决非线性和非高斯问题的一种重要的方法,无线传感器网络中的运动目标大部分具有非线性、非高斯的特点,因此粒子滤波算法在目标跟踪领域有着广泛的应用[3?4]。
基本粒子滤波算法包括预测、更新、权值计算和重采样四个阶段,下面对基本粒子滤波算法进行说明,在己知初始分布和似然函数的情况下,基本粒子滤波算法过程如下[5?8]:
(1) 初始化:[k=0]时刻,从先验分布[P(x0)]中抽取[N]个粒子产生样本粒子集[x(i)0i=1,2,…,N]。
(2) 序贯重要采样:首先从重要性函数中采集[N]个粒子得到粒子集[x(i)ki=1,2,…,N,]计算出每个粒子的权值[ω(i)k=ω(i)k-1Pzkx(i)kPx(i)kx(i)k-1qx(i)kx(i)k-1,zk,]然后計算每个粒子的归一化权值参数[ω(i)k=ω(i)kj=1Nω(j)k]。
(3) 重采样:计算有效采样尺度信息[Neff=N1+Varω(i)k,]当[Neff]小于设定阈值时,进行重采样得到新粒子集,若不需要则进入下一步。
(4) 输出:输出一组粒子[x(i)t,ω(i)ti=1,2,…,N,]得到当前时间后验均值估计[xk=1Nk=1kx(i)kω(i)k]。
在基本粒子滤波算法中,重采样减弱了退化效应,但退化现象仍存在,限制了算法并行运算的能力,并且因为重要权重值被复制多次,会导致粒子多样性的损失,另外,靠增加粒子数目来减小退化现象会影响计算的实时性。因此,为了减少样本贫乏现象减少权值方差,使预估结果更好地逼近后验概率密度分布,需要进一步改进基本粒子滤波算法。
2 基于能量有效的分布式粒子滤波跟踪算法
2.1 最优分布式动态成簇机制
EEPF算法采用动态成簇机制,利用节点可信度来选择簇头节点,并使剩余能量较低的节点转入休眠,有效平衡各节点能耗,具体过程如下:
(1) 节点感知到监测目标进入相应的感知区域时,向周围区域广播“成簇”信息,激活能感知到监测目标的节点,并各自计算节点可信度。
(2) 设[di]为节点[i]到跟踪目标的距离,当节点与跟踪目标之间的距离超过一跳范围时,将[di]置为1,即目标节点未在该节点监测范围内;[ki]为节点[i]与目标之间的跳数;[Ei]为节点[i]的剩余能量,节点[i]的可信度[Bi]的计算公式如下:
选择可信度[Bi]最大的节点作为目标所在区域的簇头节点,保证簇头节点尽量靠近跟踪目标及自身的能量充足,有效避免距离目标过远且能量充足的节点作为簇头节点,此类节点在跟踪过程中,信号传递能耗过大且易受噪声干扰。
(3) 在目标移动过程中,根据目标的运动状态,设定计时器[t,]当时间到达时,对目标节点附近的锚节点重新计算可信度[Bi,]重新选举簇头,并将可信度[Bi]小于设定阈值[TB]的锚节点转入休眠状态。这样保证簇头是与跟踪目标最近的能量充足节点,防止跟踪目标因做急速的转弯或感知节点没电而丢失跟踪目标的现象。
(4) 进入下一个跟踪周期时,当前簇头节点将移动节点的状态估计信息转发给下一个簇头节点,无需所有的节点都参与此过程,减少数据处理量,降低网络能耗。
2.2 EEPF算法
在粒子滤波基本算法中,首先需要预估起始点位置。如果缺少目标先验信息,将会在整个监控区域内随机抽取粒子,产生[N]个粒子生成样本粒子集,每个粒子的权值都设为[1N,]这种方式使用了更多的粒子参与定位,增加了计算成本。EEPF算法采用节点可信度得到预估起始点,增强粒子滤波先验粒子抽取的先验准确性,更加接近真实的初始目标分布。
节点密度对序贯重要采样中的重要性函数选择形式有较大影响。对于节点密度过小的情况,可以通过重采样获得足够数量的样本,因为EEPF算法选取的节点状态较好,只需较少的样本数就可以达到一定精度,因此,EEPF算法采用自适应采样数NA,自适应采样数NA跟分簇覆盖面积、簇区内的节点数、锚节点密度有很大关系,其定义公式为:
EEPF算法的实现过程如下:
Step1:探测节点探测目标出现在监测区域。
Step2:按照节点可信度选择簇头节点并计算自适应的采样数NA。
Step3:算法初始化:选取[N]个可信度最大的节点组成初始粒子集[x(i)0i=1,2,…,N,]初始权重为[1N。]
Step4:重要性采样:首先刷新节点的可信度[Bi,]选取簇头;然后根据节点可信度信息进行重要性采样,选择可信度大的节点对样本进行补充,按照节点可信度采集[N]个粒子得到粒子集[x(i)ki=1,2,…,N,]将先验分布作为提议分布计算出每个粒子的权值[ω(i)k,]然后计算每个粒子的归一化权值参数[ω(i)k]。
Step5:重采样:计算有效采样尺度信息[Neff—,]当[Neff—]超过设定阈值或者达到NA时,进入下一步,否则进行重采样得到新粒子集。
Step6:状态预估与结果输出:输出一组粒子[x(i)t,ω(i)ti=1,2,…,N,]得到当前时间后验均值估计[Xk—,]当前簇头节点转发跟踪目标状态信息给下一时刻动态区域的簇头节点。
3 仿真分析
应用Matlab平台对EEPF算法和PF算法进行仿真分析比较,移动目标符合随机移动模型,节点能耗主要包括自身能耗、通信能耗和计算能耗,通信能耗包括功率放大器能耗和电路能耗,节点能耗绝大部分消耗在通信模块上,通常1 b的信息传输100 m距离所需的能量,大约相当于执行3 000条计算指令所消耗的能量,仿真实验主要考虑通信能耗和计算能耗,将节点自身消耗能耗忽略不计,当节点能量小于0.2 J时,节点不能正常工作,宣布死亡,仿真参数如表1所示。
3.1 定位误差
将EEPF算法与PF算法在相同的仿真参数设置下,对同一目标进行追踪仿真,运行60个时间段后,定位误差如图1所示。从图1中可以看出EEPF算法和PF算法在运行的开始阶段误差都较大,EEPF算法经过7 s的运行后,误差迅速下降,最终趋于稳定,在9 m左右波动;而PF算法刚开始运行时,其定位误差就远高于EEPF算法,经过12 s的运行,算法的定位误差才趋于稳定,在13 m左右波动。产生上述现象的原因是:EEPF算法在重要性采样时根据不断更新的节点可信度生成采样样本,而PF算法是在整个空间内随机进行采样,因此,EEPF算法生成的采样样本更接近跟踪目标,另外,因自适应采样数的应用使EEPF算法能更迅速地降低算法的误差。
3.2 节点密度
在不同节点密度下,分别对EEPF算法和PF算法进行仿真,仿真结果如图2,图3所示。
从图2中可以看出,当节点密度[Sd]从1变化到3时,对于EEPF算法来说误差曲线变化趋势大致相同,都是在7 s后算法误差趋于稳定,三种节点密度下的均方根误差相差在5 m左右,证明节点密度增加或减少对EEPF算法影响较小,分析具体原因为算法在初始阶段和重要性采样阶段使用了与监测目标关联紧密的高可信度粒子,因此EEPF算法在低节点密度下也能取得较好的定位精度。从图3中可以看出,PF定位误差在节点密度为1时,误差比较大,也反映了应用先验分布作为提议分布的缺点,采样的精度较低。
3.3 采样数
粒子滤波算法的定位精度与算法设定的采样数有着极大的关系,仿真方案为了验证在不同采样数下两种算法的平均定位误差,将采样数从500逐步增加至2 000,间隔为100,经过100次独立仿真后定位误差求得平均值,仿真结果如图4所示。
仿真结果表明,PF算法和EEPF算法随着采样数的增加定位误差逐步降低,当采样数从500升高到1 000次时,定位误差下降最快;超过1 000次的采样频率后,定位误差减小趋势变缓,整体来看,采样数对EEPF算法的定位误差影响较小,这与EEPF算法的采样数采用自适应参数NA和概率密度函数选用节点可信度参数有关;而采样次数对PF算法影响较大,虽然增加采样次数可以提高跟踪的精度,但是也增加了节点能耗,因此,对两种定位算法的能耗做了仿真,具体如图5所示。
从图5中可知,当网络消耗总能量为1 700 J时,PF算法中的节点全部死亡,而EEPF网络中还有约5.6%的节点能正常工作,从曲线可分析出EEPF算法消耗的总能量远小于PF算法,EEPF算法延长了整个网络的生存周期。
4 结 论
EEPF算法从定位性能与节点能耗平衡出发,采用最优动态分簇策略,将节点的位置、信号强度与能量引入节点的可信度,并动态生成簇,在重要采样环节使用自适应的采样数,并将节点可信度作为提议分布,减少了运算量,提高了定位跟踪算法的鲁棒性和网络的能量利用率,是一种轻量级的水下定位跟踪算法。仿真实验表明,EEPF算法在定位跟踪精度上相对于PF算法有较大提高,且该算法网络整体能耗较低,延长了网络的生存周期,有效提高了对目标的跟踪效果。
参考文献
[1] 周帆,江维,李树全,等.基于粒子滤波的移动物体定位和追踪算法[J].软件学报,2013,24(9):2196?2213.
[2] 陈菲琪,吴晓丹.基于粒子滤波的多目标跟踪研究[J].计算机仿真,2010,27(6):147?150.
[3] 彭远芳,黄晓峰.无线传感器网络目标跟踪算法研究[J].计算机仿真,2012,29(5):122?125.
[4] 何常胜,夏晓峰.基于分布式模糊逻辑推理的WSN分簇算法[J].现代电子技术,2016,39(5):67?72.
[5] QIU Yinghui, LIU Chao. Modelling and stimulation of target tracking and localization in wireless sensor network [J]. Tehnicki vjesnik, 2014, 21(2): 233?238.
[6] 周红波,邢昌风,耿伯英,等.基于粒子滤波的二元无线传感器网络分布式目标跟踪研究[J].传感技术学报,2010(2):274?278.
[7] 王嘉,付敬奇.基于APIT和粒子滤波的无线移动节点定位算法研究[J].传感器与微系统,2011,30(9):72?75.
[8] DING Hui. Application of wireless sensor network in target detection and localization [J]. Telkomnika, 2013, 11(10): 5734?5740.