文献标识码:A
文章编号: 0258-7998(2015)06-0088-03
中文引用格式:杜杨洋,毛永毅.基于多功率移动锚节点WSN智能定位算法[J].电子技术应用,2015,41(6):88-90.
英文引用格式:Du Yangyang,Mao Yongyi.Intelligent algorithm for locating nodes in wireless sensor network based on the multi-power level mobile anchor node[J].Application of Electronic Technique,2015,41(6):88-90.
0 引言
无线传感器网络主要应用于对事件的智能监控,而事件发生的坐标信息对于监控消息至关重要。由于锚节点移动算法仅使用少量移动的信标节点在待定位区域进行游走定位,定位成本大大降低,同时定位精度也较高,从而得到了国内外学者的广泛重视[1,2],文献[3]介绍了通过优化锚节点移动路径以降低定位误差的方法;文献[4]介绍了未知节点根据接收到的移动锚节点发射的信号时间差来确定位置坐标的方法。由于锚节点一般采用GPS设备确定坐标,这难免出现误差,而以上算法在对未知节点定位时均未考虑到此误差产生的影响,因此,算法不够完善。本文充分考虑锚节点误差及成本,提出了一种采用单个多功率移动锚节点的自适应权重粒子群(SAPSO- SMPMA)算法。
1 SAPSO-SMPMA算法
在SAPSO-SMPMA算法中,设待定位区域为L×L正方形区域,未知节点随机撒布,锚节点按照设计的路径进行移动,在锚节点发射信号的不同位置,分别用静态的虚拟锚节点进行表示,如图1中,移动锚节点从定位区域的一个顶点出发(图1中黑色实点所示),按照箭头方向进行移动直至游走完整个待定位区域。
1.1 计算未知节点与不同位置锚节点的距离
本文设定移动锚节点的移动步长为s=L/5,锚节点通过功率控制,每次移动一个步长的距离后,以一定的时间间隔依次向四周发射4种功率依次增强的功率信号,信号包含锚节点发射时的坐标A和相应发射功率下锚节点信号的极限传输半径R={ri|i=1,2,3,4且r1
若待定位节点Q接收到锚节点在坐标A11处第i次发射的功率信号则有||Q-A11||
1.2 锚节点误差矢量分析
由于定位过程中信标节点位置信息的核心地位,所以加入锚节点定位误差进行分析具有重要的意义,文献[5]提到了一种GPS矢量分析形式,但是这种表示形式,仅考虑到了节点定位装置接收GPS信号的误差,未考虑定位环境差异带来的影响及锚节点移动的误差,因此本文提出了如式(1)所示的锚节点误差分析的矢量坐标表示形式,其中envir_error表示锚节点的环境误差,gps_error表示因噪声等干扰的信号误差,β表示锚节点移动角度误差。
1.3 估计未知节点的坐标
为了在保证定位精度的前提下,尽可能延长移动锚节点的生存寿命,本文设定锚节点传输半径r4位于区间内,未知节点根据接收到的信标节点的坐标及与相应信标节点坐标对应的距离d,采用鲁棒性强、实现简单并且收敛快的自适应权重粒子群算法进行处理,从而得到未知节点的估计坐标。
1.3.1 自适应权重粒子群算法(SAPSO)描述
在基本的PSO算法[6]中,准确适当地平衡算法的局部及全局搜寻能力,对于求取最优值非常重要,因此,如能自主合理地匹配惯性权重则能精准快速地求得最优值。
基于以上思想,Shi和Eberhart[7]提出了SAPSO算法,算法数学描述如下:在e维搜寻区域有N个潜在问题解的粒子形成的种群,微粒速度及坐标可分别表示为Vi=[vi,1,…,vi,e]和Xi=[xi,1,…,xi,e](i=1,2,…,N)。对各微粒的目标函数分析求出t时刻各微粒的个体及群体的最优值,再按式(2)更迭各微粒的坐标及速度。
其中i=1,2,…,N;c1、c2为加速常数,一般设为c1=2,c2=2;r1、r2为0~1之间均匀分布的随机数;Pi及Pg分别为个体和群体最优值;w为惯性权重因子,按式(3)设置。
式中wmax和wmin分别代表w的最大值和最小值,本算法设wmax=0.42,wmin=0.05;f为粒子当前的目标函数值,favg和fmin分别为微粒的平均和最小目标值。SAPSO算法流程如图3所示。
1.3.2 设置SAPSO参数
本文选取边长为200 m的正方形区域仿真,待定位节点个数为100,粒子数为18,迭代次数为20。
(1)适应度函数
设每个待定位节点收集到的移动锚节点的信号数量为Mi(i=1,…,N),(x,y)为待定位节点位置,移动锚节点与待定位节点的距离为ci(i=1,2,…,Mi),(xi,yi)为移动锚节点位置,gi为待定位节点与移动锚节点的测距误差,其计算表达式为:
由于在无线传感器网络中,测距误差越小,定位的精确度越高,因此本文选用每个未知节点测距误差和的绝对值作为适应度函数,具体计算公式如下:
(2)性能评价指标
本实验评判指标选取平均定位误差来计算,如式(6)所示:
2 SAPSO-SMPMA算法性能仿真
设仿真区域为边界长度为200 m的正方形,待定位节点数为100。本文设定锚节点误差分析参数为envir_
error∈[1,5],gps_error∈[1,5],β∈[0,2π]、β、envir_error、gps_error均为取值区间内的随机数。将r4设为DV-hop算法节点通信半径。为了验证本文算法的性能,将SAPSO-SMPMA算法与DV-hop[8-9]算法进行对比仿真实验。根据构想搭建的仿真区域节点分布如图4所示,其中:*表示误差为零的虚拟锚节点坐标,□表示加了定位误差的虚拟锚节点坐标,○表示待定位节点的坐标。
由图5可知,随着节点数增多, DV-hop算法的定位误差逐渐降低,这是由于该算法需要较好的网络连通度来进行定位,节点越多越密集定位精度越高,但是其定位误差相对另两种算法仍然较高,而锚节点按本文虚拟锚节点分布的DV-hop算法和本文算法的定位误差曲线变化比较平稳,同时本文算法的定位误差明显较低。
图6显示对于DV-hop算法随着锚节点误差的升高定位误差逐渐增大,锚节点按照本文虚拟锚节点分布的DV-hop算法的定位误差曲线出现了小范围波动但是整体依然平缓,然而本算法随着移动锚节点定位误差的增大平均定位误差曲线一直比较平稳而且误差值较低,相比DV-hop算法误差减少了40.1%~43.2%,相比锚节点按照本文虚拟锚节点分布的DV-hop算法误差减少33.2%~33.7%。
3 结论
SAPSO-SMPMA算法通过锚节点移动并发射多功率信号,待定位节点通过选择性接收信标信号,并结合SAPSO算法快速迭代处理来计算自身坐标。实验分析表明,本文算法在引入锚节点误差分析及不需要硬件测距设备支持的情况下,能精确地对节点进行定位,是一种可行的无线定位算法。
参考文献
[1] Ou Chia-ho.A localization scheme for wireless sensor networks using mobile anchors with directional antennas[J].Sens-ors Journal,IEEE,2011,11(7):1607-1616.
[2] 李光辉,赵军,王智.基于无线传感器网络的森林火灾监测预警系统[J].传感技术学报,2006,19(6):2760-2764.
[3] 李洪峻,卜彦龙,薛晗,等.面向无线传感器网络节点定位的移动锚节点路径规划[J].计算机研究与发展,2009,46(1):129-136.
[4] LUO J,SHUKLA H V,HUBAUX J P.Noninteractive location surveying for sensor networks with mobility-differen-tiated TOA[A].Proceedings of 25th IEEE Conference on Computer Communication[C].Barcelaona,Spain,2006:1-12.
[5] 李牧东,熊伟,郭龙.基于最优跳距处理策略的无线传感器网络智能定位算法[J].计算机应用,2012,32(7):1836-1839.
[6] KENNEDY J,EBERHART R C,SHI Y.Swarm intelligence[M].San Francisco:Mor-gan Kaufman Publishers,2001.
[7] SHI Y,EBERHART R C.A modified particle swarm optimizer[C].In:Proc.of the IEEE CEC.1998:69-73.
[8] NICULESCU D,NATH B.Ad hoc positioning system(APS)[C].Proceedings of the 2001 IEEE Global Telecommunications Conference.New York:IEEE Communications Society,2001:2926-2931.
[9] 肖丽萍,刘晓红.一种基于跳数修正的DV-Hop定位算法[J].传感技术学报,2012,25(12):1726-1730.