一种基于无线传感器网络的加权阈值质心定位算法*
2014-09-25项亚南
项亚南, 潘 丰
(江南大学 轻工过程先进控制教育部重点实验室,江苏 无锡 214122)
0 引 言
无线传感器网络(WSNs)节点通常是随机地分布在各种复杂的环境里,节点网络之间相互协同收/发获取环境的信息是WSNs的关键部分,在对环境进行监控的过程中,不仅需要接收到信息,而且需要知道所获得信号的来源,所以,在网络节点分布好之后对未知节点进行定位是非常有必要的[1]。
节点定位算法是一种根据已知的信标节点的距离和位置信息来确定空间中未知节点位置的定位方法。但是由于环境因素的干扰,定位精度较低,为此,学者对节点定位的相关算法做了大量、多层次的研究。文献[2]研究了连通率、信标节点的个数、单位时间发送信号的个数对定位误差的影响;文献[3]提出一种粒子群优化改进加权的质心定位算法,该算法提高了定位精度,但是容易陷入局部最优,并且计算量较大;文献[4]提出一种加权质心和DV-Hop混合算法定位方法,这种方法需要收集到整个网络的信息,耗能比较大,并且其信号传播模型是基于理想的信号传播模型;文献[5]提出一种四面体三维质心定位算法,在空间中信标节点分布不均匀和连通率较低的情况下,可以获得较好的覆盖率和定位精度;文选[6]提出一种基于质心节点定位和三角形测量法相结合的算法,质心定位的思想引入到三边测距中,把三角形相交区域作为定位局域,缩小定位区域,从而提高了精度,但是要求节点尽可能均匀分布。
本文对接收信号强度指示(received signal strength indication,RSSI)进行改进,不需要另外增加硬件设备,提出基于WSNs的一种RSSI加权阈值质心定位算法,通过实验仿真验证了该算法的有效性。
1 RSSI质心定位算法原理
质心(centroid)定位算法是一种基于网络连通性的点位算法[7],由南加州大学的BulusuN教授提出。该算法的思路是信标节点每隔一段时间向附近发送一个包含自身ID的电波信息,假设每次发送的信息量是M,未知节点在每段时间内侦测到的信息量假设是N,则N/M就表示未知节点与信标节点的连通度,当连通度超过一预设门限值时则判定该信标节点与未知节点连通,然后计算各连通点的均值来定位,但该算法比较粗糙,适合精度要求不高的情况。
RSSI是一种与距离有关的算法,信标节点周期性地向附近发送一定功率包含自身ID的无线电信号,未知节点接收侦测到接收功率,根据接收到的功率和距离之间的衰减关系,由式(1)转换为信标节点和未知节点的距离[8]。距离越小,RSSI就越大;节点距离越大,RSSI的值就越小。
本文采用的是无线电Shadowing衰减模型
(1)
式中Pr,dB(d)是以d为参考点的信号接收功率;Pr,dB(d0)为参考点d0的接收功率;ξ为路径衰减因子,该因子受环境影响,一般取2~5;d为信标节点与未知节点的距离,一般情况下d0取1 m;εδ,dB是以δ2为方差,均值为0的随机高斯分布,表示障碍物的影响,方差范围为(4~10)。
理论上,在环境条件已知:ξ为常量,d0为参考点的距离,接发信号已知,就可以通过公式(1)计算得到d的值,但是不一致的衰减关系,影响了定位距离的质量,这是该方法误差较大的原因[9]。
2 基于RSSI的质心定位算法的改进
不同距离的信标节点因为衰减关系的不同定位出来的位置是不同的,信标节点和未知节点距离越近精度越高,距离越远定位精度越低,距离越远的信标节点对定位是不利的。
在质心算法的启发下,根据RSSI算法只用一个信标节点定位出来的位置精度是不高的,在接收到多个信标节点的RSSI信息之后充分利用多个信标节点信息,定位出多个不同的未知节点的位置,再对初次定位的未知节点位置进行处理。
对初次定位的多个未知节点坐标,引入一个坐标之间距离倒数的阈值,距离越远,权值影响更小,越近对权值的影响越大。具体的做法是:根据RSSI值,转换为距离d1,d2,d3,…,di,再由最小二乘辨识出初次定位出多个未知节点的坐标,且这i个初次定位的未知节点的坐标依次为:(X1,Y1),(X2,Y2),…,(Xi,Yi), ,对初次定位的坐标引入一个阈值再加权定位。
如图1所示的节点分布图,箭头起点表示的是信标节点,箭头的末端表示的是该信标节点定位出未的知节点的位置,在矩形的边界上的两点因为离未知节点的距离比较远,根据RSSI算法定位精度较低,在圆形区域内的几个点是较近的几个信标节点定位出的未知节点的坐标位置。
图1 节点分布图
(2)
(3)
2.1 算法的步骤
假设在空间中有i个可以连通的信标节点,充分利用多个信标节点的RSSI数据信息,具体的算法步骤如下:
1)环境中的各节点分布示意图如图1所示,信标节点周期性的发射一定功率大小包含自身ID信息的无线电信号;
2) 未知节点收到i个信标节点信息之后取各节点的RSSI均值,并根据式(1)转换为距离:d1,d2,d3,…,di;
2.2 未知节点的误差
计算未知节点误差公式为
(4)
其中,(X,Y)为最终定位的坐标,(X0,Y0)为未知节点实际坐标位置。
质心定位算法的流程图如图2所示。
图2 算法步骤流程图
3 仿真与分析
假设信标节点和未知节点随机的分布在区域100 m×100 m的环境当中,对算法进行仿真,验证该算法的有效性,并与传统的RSSI算法进行比较。设未知节点在(50,50)m处,产生RSSI数值,方差取2.5 m,衰减系数取4,计算出各自对应的距离,定位误差曲线如图3所示。
在图3中可知加权后的RSSI算法较RSSI算法定位误差有明显的降低,定位误差如表1中所示,当信标节点的个数越多时呈现下降的趋势,但是会增加硬件的成本,在信标节点的个数为24个时,定位的误差降低到了6.67 %。
图3 仿真结果
4 结束语
RSSI定位算法因为噪声衰减不一致的干扰,造成定位的精度不高,距离越远,定位的精度越低。针对RRSI定位算法距离较远时定位误差较大的情况,引入一种加权阈值的算法加权定位,在不增加硬件的条件下,增加了定位的信息,仿真的结果表明:该算法可降低定位误差,但实际环境中定位比仿真环境复杂,这将是下一步研究重点。
表1 两种不同算法误差的比较
参考文献:
[1] 王福豹,史 龙,任丰原.无线传感器网络中的自身定位系统和算法[J].软件学报,2005,16(5):1148-1157.
[2] 李牧东,熊 伟,梁 青.无线传感器网络质心定位算法研究[J].科学技术与工程,2012,12(23):5778-5783.
[3] 王新芳,张 冰,冯友兵.基于粒子群优化的改进加权质心定位算法[J].计算机工程,2012,38(1):90-92.
[4] 白进京,严新平,张存保,等.基于加权质心和DV-Hop混合算法WSNs定位方法研究[J].计算机应用研究,2009,26(6):2248-2250.
[5] 王长征,汤文亮,徐 燕.无线传感器网络中四面体三维质心定位算法[J].传感器与微系统,2012,31(8):141-143.
[6] 高 雷,郑相全,张 鸿.无线传感器网络中一种基于三边测量法和质心算法的节点定位算法[J].重庆工学院学报:自然科学版,2009,23(7):138-141.
[7] Bulusu N,Heidemann J,Estrin D.GPS-less low-cost outdoor localization for very small devices[J].IEEE Personal Communication,2000,7(5):28-34.
[8] 苟胜难.基于改进的RSSI无线传感器网络节点定位算法研究[J].计算机应用研究,2012,29(5):1867-1869.
[9] Rabacy J J,Ammer M J,Da Silva Jr J L,et al.Picorodio supports Ad Hoc ultra-low power wireless networking[J].Computer,2000,33(7):42-48.