基于接收信号强度指示测距的蒙特卡罗盒移动节点定位算法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于接收信号强度指示测距的蒙特卡罗盒移动节点定位算法武晓琳;单志龙;曹树林;曹楚裙
【摘要】针对无线传感器网络(WSN)中以蒙特卡罗为基础的移动节点定位算法在采样效率和定位精度方面的不足,提出一种基于接收信号强度指示(RSSI)测距的蒙特卡罗盒定位(MCB)算法.通过对RSSI测距信息分区间管理来加强过滤条件,提高定位精度;同时采样阶段利用已满足过滤条件的样本点生成更有效的样本,从而提高采样效率;最后通过牛顿插值法预测节点运动轨迹,样本点与未知节点运动轨迹越接近则其权值越大,据此对样本点进行加权处理得到节点的最佳估计位置.仿真结果表明,改进方案在不同的锚节点密度、通信半径、运动速度等情况下均表现出良好性能,且定位精度与同等条件下的蒙特卡罗盒算法相比均有提高.
【期刊名称】《计算机应用》
【年(卷),期】2015(035)004
【总页数】5页(P916-920)
【关键词】无线传感器网络;移动定位;蒙特卡罗盒定位;接收信号强度指示;运动预测【作者】武晓琳;单志龙;曹树林;曹楚裙
【作者单位】华南师范大学计算机学院,广州510631;华南师范大学计算机学院,广州510631;华南师范大学计算机学院,广州510631;华南师范大学计算机学院,广州510631
【正文语种】中文
【中图分类】TP202.2;TP202.7
在无线传感器网络(Wireless Sensor Network, WSN)的许多应用中,不仅要求传感器节点提供监测信息,还需要其报告自身的位置信息,多数的监测信息若没有准确的
位置信息将变得毫无价值。
例如,军事应用中需要知道敌方车辆的运动情况,灾害救
援应用中需要知道火灾或其他灾害发生的具体位置,野生动物监测应用中需要明确
动物的活动区域等。
高效、精确的位置服务是无线传感器网络众多应用得以实现和推广的基础,因此,研究WSN中的节点定位技术具有重要意义。
目前大多数WSN定位算法是针对静态网络而设计的,可以分为基于测距的算法和
无需测距的算法两类[1-3]。
基于测距的定位算法常用技术包括到达时间(Time Of Arrival,TOA)[4]、到达时间差(Time Difference Of Arrival,TDOA)[5]、接收信号
强度指示(Received Signal Strength Indication, RSSI)[6]、到达角度(Angle Of Arrival,AOA)[7]等;该类算法需要在传感器节点安装测距设备,定位精度高,但成本代价也大。
无需测距的定位算法常用技术包括质心定位[8]、近似三角形内点检测(Approximate Point-In-triangulation Test, APIT)[9]、多维标度-地图(Multidimensional Scaling-Map, MDS-MAP)[10]定位、距离矢量-跳数(Distance Vector-Hop,DV-HOP)[11]等;这类算法虽然定位精度相对基于测距的算法较低,但成本低廉,获得了广泛应用。
在一些现代化的应用中,传感器节点处于移动状态,例如车载自组网(Vehicular Ad Hoc NETwork, VANET)、军用自组网、移动目标跟踪等。
当对某节点进行定位后,该节点的实际位置已经发生改变,因此,对WSN中移动节点的定位技术研究就非常重要。
如何利用节点的移动性,设计出适合网络结构动态变化的移动无线传感器网络定位算法,也成为近些年的一个研究热点。
在移动无线传感器网络中,节点间的距离信息和网络拓扑结构不断变化,若将传统定
位算法应用到移动传感器网络,只能用迭代计算的方法实现节点定位。
这种做法无
疑增加了网络的能耗,并且定位结果有时延,定位精度不高。
文献[12]设计了用于野
生斑马群跟踪研究的Zebra Net系统。
在Zebra Net系统中,所有的节点都装有全
球定位系统(Global Positioning System, GPS),当基站与斑马群足够接近时,传感器节点将数据发送给基站,基站通过对接收到数据的处理实现节点定位。
这种方法虽然可以满足部分室外环境的定位需求,但价格昂贵,不适合低成本的WSN定位。
文献[13]引入在移动机器人定位领域常用的序贯蒙特卡罗思想,提出了适合移动传感器网络定位的蒙特卡罗定位(Monte Carlo Localization,MCL)算法。
MCL算法源于贝叶斯滤波,其主要思想是利用一系列带有权值的样本来估计节点的后验概率密度分布,并通过重要性采样不断更新样本集合[13-14]。
MCL算法巧妙地利用了节点的移动性,提高了移动节点的定位精度,但在采样过程易出现粒子退化问题。
为了提高算法性能,一些学者提出了基于MCL的改进算法:Stevens等[15]提出了Dual MCL和Mixture MCL算法,Dual MCL通过改变MCL算法的逻辑顺序来提高定位精度,Mixture MCL则是综合使用MCL算法和Dual MCL算法。
Yi等[16]提出多跳蒙特卡罗定位(Multi-hop-based Monte Carlo Localization, MMCL)算法,利用测距信息来提高定位精度。
Baggio等[17]提出了蒙特卡罗盒定位(Monte Carlo localization Boxed, MCB)算法,通过建立锚盒和采样盒来提高定位精度,但是当观测模型在锚盒内分布比重较低时,采样效率低,定位误差大。
本文在蒙特卡罗盒思想的基础上,深入分析MCB算法各阶段的影响因素,提出了基于RSSI测距和运动预测的MCB(RSSI Motion Prediction MCB, RMMCB)算法,并进行了Matlab仿真。
RMMCB算法继承了基于测距的定位算法定位精度高的优点,通过引入RSSI测距信息,使采样区域更加精确;同时利用已有样本信息生成新样本,弱化了粒子退化现象。
在进行位置估计时,构建节点运动预测模型,利用节点运动轨迹信息对样本进行加权处理,进一步提高定位精度。
1.1 MCB算法
MCB算法通过将时间离散化,在每个时间段内对节点重定位实现对移动节点的实时定位。
MCB算法是对MCL算法的一种改进,通过构建锚盒和采样盒,在锚节点通信
覆盖范围相互重叠的区域采样,缩小了采样范围,提高了采样效率。
MCB算法主要包括以下5个阶段:
1)初始化阶段。
首先未知节点判断是否到达定位时间,若是则转阶段2)并在未知节
点的锚盒内随机采样,构成初始化样本集L={l1,l2,…,ln};否则继续等待。
2)预测阶段。
预测阶段包括锚盒和采样盒的构建。
待定位节点根据侦听到的一跳和两跳锚节点通信范围的重叠部分构建锚盒,为简化计算将表示锚节点通信范围的圆
形区域近似为圆的外切正方形。
如图1所示,以黑色圆点为中心的两个正方形重叠区域就是由一个一跳锚节点和一
个两跳锚节点构成的锚盒B。
设移动节点的最大移动速度为vmax,节点上一时刻的位置为lt-1,可以预测节点下一时刻的位置lt在以lt-1为圆心、vmax为半径的圆内,以lt-1为中心、2vmax为边长构建正方形区域A,则采样盒就是A和B的交集。
图1中阴影区域代表采样盒。
3)过滤阶段。
根据所侦听到的锚节点是一跳还是两跳,构建过滤条件,将所有不可能
的位置lt从样本集Lt中移除。
4)重采样阶段。
过滤之后的样本集中的样本点个数可能小于规定的最小样本数N,
这时就需要进行重新采样,重复预测阶段和过滤阶段直到有效样本点数大于等于N,停止采样,进入5)。
5)位置估计。
计算N个样本点的数学期望值作为未知节点的估计位置。
1.2 RMMCB算法
MCB算法较之前的MCL算法定位精度虽然有所改善,但仍然存在一些问题。
首先,MCB算法中以边长为2r的正方形重叠区域作为锚盒,通信半径r的取值一般较大,因此以r为约束条件构建的锚盒区域也会较大,这就增加了未知节点位置的不确
定性;其次,由于节点运动方向的随机性,需要在整个圆内进行采样,当采样盒面积较小时,就降低了采样效率;再次若样本数量小于阈值N,则重复进行预测阶段和过滤阶段,
如果一直达不到样本数量的阈值N,算法会循环进行直到达到最大循环次数,这无疑增加了算法的计算量,降低了算法的运行效率。
针对这3个问题,本文提出的RMMCB算法,分别对预测阶段、过滤阶段以及位置估计阶段进行了改进和优化,仿真实验结果表明,RMMCB算法能有效提高定位精度。
1.2.1 过滤条件优化
MCB算法的核心是预测和过滤阶段。
理论上采样区域越小,则由该区域限定的样本越有效,进而可以获得较高的定位精度。
过滤的实质就是进一步缩小样本区域,考虑到基于测距的定位算法有较高的定位精度,并且信号强度接收装置成本低容易实现,所以本文通过引入RSSI值构建分区间测距模型,对过滤条件进行优化。
1)RSSI测距模型。
在实际环境中,射频信号会受到非视距、多路径(Multi-Path)、绕射等多种因素影响,并会随着通信距离增加逐渐衰减,衰减量也会因环境的不同而不同,基于以上因素,可以按照对数正态分布进行建模。
在WSN中,式(1)表示的RSSI测距模型能精确描述实际信号的传播,并已成功应用于许多定位系统中。
pr(d)=pr(d0)-10 β lg(d/d0)+Xσ
其中:d表示从接收端到发射端的距离;d0表示参考距离,通常取1 m;Pr(d)是接收端接收到的信号功率;Pr(d0) 是参考距离为d0时对应的接收信号功率;Xσ是一个均值为0 的高斯随机变量; β是路径损耗指数。
2)过滤条件。
将由式(1)得到的RSSI值进行分级处理会使采样区域更加精确,考虑到不同传感器网络中节点通信半径不同,为了适应不同通信半径的网络,将锚节点的通信半径分成r/m(若为小数则根据四舍五入法则取整)个距离区间。
根据定位系统的精度要求,m 可以灵活取值,这样本文算法就能更好地适应不同通信半径的网络。
本文算法在仿真中,取r=30 m,m=10 m,则若某锚节点是一跳锚节点,则将0到r的
距离分成r/m=3个区间,R1=[0,10),R2=[10,20),R3=[20,30]。
若是两跳锚节点,则将r到2r的距离分为r/m=3个区间,Z1=[30,40),Z2=[40,50),Z3=[50,60]。
以锚节点所在位置为圆心、距离区间端点为半径画圆,则形成不同的圆环区域。
未
知节点根据式(1)估计出自己与锚节点的距离D, D落在哪个距离区间则未知节点落在该区间与锚节点所形成的圆环区域内的概率最大。
如图2所示,阴影区域为两个
一跳锚节点所限定的样本区域。
根据RSSI分区间测距模型,过滤条件可表示为:
filter(l)={∀s∈S,
其中:S表示一跳锚节点集合,根据D落在区间R1、R2、…、Rk(k依次取
1,2,…,round(r/m)),若是两跳锚节点,则式(2)中不等式的两侧各加一个通信半径r。
1.2.2 采样优化
过滤之后,当采集到的样本点数量不足阈值N时,一般的处理方法是重复进行预测和过滤阶段,直到取到足够的样本点,但如果采集到的样本点一直没有达到N,就有可能导致算法循环执行,效率降低。
受遗传算法启发,本文提出利用已经采集到的有效样
本点来生成新样本点的方法来提高采样成功率。
满足过滤条件的样本点所在的区域都是未知节点后验概率密度分布较大的区域,在包含所有有效样本点的区域内进行
重采样,可有效提高采样成功率。
为了简化运算,本文取能够包含所有已经满足过滤条件的样本点的最小矩形区域作
为重采样区域,假如已经满足过滤条件的有效样本点有n(2<n<N)个,则在重采样区
域内随机取2×(N-n)个样本点,然后判断这些样本点是否满足过滤条件,如果重采样后有效样本点个数大于等于N,则开始进行位置估计;否则继续进行重采样。
该矩形区域可由式(3)表达:
其中:left、right、up、down分别是重采样区域的左、右、上、下边界,(xk, yk)是已经满足过滤条件的样本点k的坐标。
1.2.3 样本权重与位置估计
1)节点运动预测模型。
如果节点的运动是连续而平滑的,则能利用节点的历史位置建立运动预测模型。
可以通过多种途径建立节点的运动预测模型,例如航位推算法、牛顿插值法、拉格朗日插值法、最小二乘曲线拟合法等,本文采用牛顿插值法建立节点运动预测模型。
假如每一个移动节点都维护一个历史信息队列,用于保存前n-1个时刻的历史位置,则可以根据这些历史位置来预测节点在t时刻的速度和方向。
假设节点前n-1个时刻tn-1,…,t2,t1的位置依次是(xt(n-1), yt(n-1)),…,(xt2, yt2),(xt1, yt1),由牛顿插值法可以得出节点在t时刻的坐标值:
Xt=f(t)=Nx(t)+Rx(t)
Nx(t)=f(t1)+f(t1,t2)(t-t1)+ f(t1,t2,t3)(t-t1)(t-t2)+…+ f(t1,t2,…,tn-1)(t-t1)(t-
t2)…(t-tn-2)
Rx(t)=f(t,t1,t2,…,tn-1)(t-t1)(t-t2)…(t-tn-1)
其中:Nx (t)表示的是前面n项中,均差部分不含有t,只是关于t的n-2次多项式,其各项系数计算方法见式(7); Rx(t)表示均差部分含有t的余项部分。
同理可得Yt=g(t)=Ny(t)+Ry(t)。
由Xt=f(t)和Yt=g(t)可得节点在t时刻的运动速度v,以及该速度在X轴和Y轴上的分量vx与vy:
节点的最终预测速度取v与vmax中的较小值。
设节点t时刻运动方向角为θ,则有
θ=arctan(vy/vx)
得到了节点t时刻的运动速度和方向后就可以据此对样本点进行加权处理。
2)节点的位置估计。
设未知节点上一时刻的位置为lt-1,由上一步预测得到该节点t-1时刻的速度向量为V;以lt-1为起点,样本点i所在的位置为终点作向量得到i号样本点的样本向量
Ui。
计算向量V与向量Ui所成的角α。
α越小则该样本点位于未知节点后验概率密度分布较高区域的概率越大,据此取样本点i的权值ωi。
ωi=1/α
最后,对每个样本点的权值进行归一化处理后,由式(12)得到待定位节点的估计位置。
本文的仿真实验在Matlab平台下进行。
初始化阶段所有传感器节点(锚节点和待
定位节点)被随机分布在300 m×300 m的矩形区域中,运动方式遵从高斯-马尔可
夫移动(Gauss-Markov Mobility, GM)模型,GM模型是移动无线传感器网络(Mobile WSN, MWSN)中的常见模型,能够较好反映节点的真实运用规律。
仿真实验的默认参数设置如表1所示。
仿真实验中分别对MCB和RMMCB算法仿真20次,最后取平均值得到最终仿真
结果。
以下分别分析了定位误差随着时间、节点通信半径、节点最大运动速度、锚节点密度等参数的变化曲线。
平均定位误差的计算公式如下:
其中:(, )是节点i的估计位置的坐标,(xi, yi)是节点i的真实位置的坐标,r是未知节点的通信半径。
error越小则定位精度越高。
当仿真参数设置为表1所列各值的情况下,运行算法得到图3的仿真结果,初始时刻定位误差较大是因为未知节点将自己的位置初始化为仿真区域的中心,当经过一个
定位周期,节点的定位误差迅速收敛。
可以看出,随着时间的推移,两种算法的定位误差均能保持稳定,这是因为当节点位置的累积误差达到一定程度会导致如图1中的
A和B两部分没有交集,无法构成采样盒,导致采样失败,此时直接在锚盒中进行采样,避免了累计误差的进一步增大,保证了节点定位误差稳定在一个较低水平。
从图3
也可看出,改进算法的定位精度明显优于原始MCB算法,定位精度提高约20%。
蒙特卡罗算法用节点最大运动速度作为预测节点位置的区域半径:一方面,节点运动
速度越大,节点下一时刻的预测区域就越大;另一方面,节点移动越快,未知节点能够接收到的锚节点信息就越多,过滤掉的无效位置也越多。
两方面的原因,前者会使定位
误差增大,后者会使定位误差降低,二者相互作用使节点运动最大速度对定位误差有
较大影响。
从图4可看出:随着速度的增大,节点的定位误差先降低,这是未知节点接收到的锚节点信息增多的效果。
当节点运动速度超过10 m/s,定位误差随着节点运动速度的增加而增大,这是由于节点运动速度的增加导致节点下一时刻的预测区域
增大。
两种算法的定位误差变化趋势相似,但随着节点运动速度增大,改进算法相对
于MCB算法的优势越来越明显,定位精度提高超过20%。
锚节点密度是影响节点定位误差的关键因素之一,本文将锚节点密度定义为平均一
跳通信范围内分布的锚节点个数,计算方法如式(14)所示:
Sd=Seed_num×
其中:Seed_num表示锚节点数量,x_range与y_range表示仿真区域的长和宽。
由于未知节点利用一跳和两跳锚节点的信息进行定位,所以锚节点密度越大,则定位
误差越小;并且,当锚节点密度较大时,由节点分布的不均匀性所带来的定位误差会
大大降低。
但是在无线传感器网络中,布置锚节点的成本较高,为了降低成本,需要找到一个平衡点,用较少的锚节点获得较高的定位精度。
从图5可看出:当锚节点密度Sd=3时,MCB算法的定位误差约为0.3r,改进算法的定位误差约为0.2r,两种算法
均在Sd=3时取得较低的定位误差,且改进算法比MCB算法的定位误差约降低
0.1r。
通信半径对节点的定位精度也有较大影响,从图6可看出:随着通信半径的增大,两种算法的定位误差开始时都逐渐降低;当通信半径大于40 m时,定位误差趋于稳
定,MCB算法的定位误差稳定在0.35r左右,改进算法的定位误差稳定在0.25r左右。
误差曲线的这种变化是由于当其他参数不变,只有通信半径增大时,待定位节点的一
跳锚节点和两跳锚节点的数目增多,能够有效限定采样区域,提高定位精度。
RMMCB算法利用了节点的接收信号强度信息,进一步限定了采样区域,并利用节点的历史位置信息,使未知节点的估计位置向后验概率密度较大的区域移动,故其平均
定位误差较MCB算法小。
本文提出了一种适用于无线传感器网络中移动节点的定位算法,以MCB算法为核心,对其关键阶段进行了优化改进。
算法引入RSSI测距模型,有效降低了多径、绕射、非视距等因素对测距信息的影响,并将测距信息映射到不同的距离区间,进一步约束了采样区域。
采样过程利用了已满足过滤条件的样本点,提高了采样成功率。
同时根据样本与节点运动轨迹的接近程度不同,赋予样本不同的权值,使估计位置更接近真实位置。
最后用Matlab进行了仿真,结果表明在相同条件和参数下与传统MCB算法相比,本文提出的改进方案能有效减小定位误差,提高定位精度。
算法在实际环境中的性能表现,是未来工作的研究重点。
【相关文献】
[1] ZENG F, SUN Z, LUO J, et al. Improved node localization algorithm for wireless sensor network[J]. Journal on Communications, 2008, 29(11) :62-66.(曾凡仔, 孙正章, 罗娟,等. 无线传感器网络的节点定位方法[J].通信学报, 2008, 29(11) :62-66.)
[2] DANG X, LI X. Weighted correction model in wireless sensor network localization[J]. Journal of Computer Applications, 2012, 32(2): 355-358.(党小超, 李小艳. 无线传感器网络节点定位加权校正模型[J]. 计算机应用, 2012, 32(2): 355-358.)
[3] CHEN Y, TING Y, KE C, et al. Efficient localization scheme with ring overlapping by utilizing mobile anchors in wireless sensor networks[J]. ACM Transactions on Embedded Computing Systems, 2013,12(2): Article No. 20.
[4] ZHENG Y, WANG H, WAN L, et al. A placement strategy for accurate TOA location algorithm[C]// CNSR 2009: Proceedings of the Seventh Annual Communication Networks and Services Research Conference. Piscataway: IEEE Press, 2009:166-170.
[5] ZHANG W, YIN Q, FENG X, et al. Distributed TDoA estimation for wireless sensor networks based on frequency-hopping in multipath environment[C]// Proceedings of the 2010 IEEE 71st Vehicular Technology Conference. Piscataway: IEEE Press, 2010:1-5. [6] SHEN J, HUANG C, LUO H, et al. Localization algorithm of model parameters real-time estimate based on RSSI optimized[J]. Computer Engineering and Design, 2012, 33(2): 464-468.(沈军, 黄春华, 罗护,等. 基于RSSI优化的模型参数实时估计定位算法[J]. 计算机工程与设计, 2012,33 (2):464-468.)
[7] AL-JAZZAR S, GHOGHO M,MCLERNON D. A joint TOA/AOA constrained minimization method for locating wireless devices in non-line-of-sight environment[J].IEEE Transactions on Vehicular Technology, 2009, 58(1): 468-472.
[8] HU Y, ZHANG H. An improved algorithm for the centroid localization of wireless sensor network [J]. Computer Engineering and Science, 2012, 34(2):45-49.(胡咏梅, 张欢. 一种改进的无线传感器网络质心定位算法[J]. 计算机工程与科学, 2012, 34(2):45-49.)
[9] CHENG W, LI J, LI H. An improved APIT location algorithm for wireless sensor networks[C]// Proceedings of the 2012 Advances in Electrical Engineering and Automation, AISC 139. Berlin: Springer-Verlag, 2012: 113-119.
[10] YI S, RUML W, ZHANG Y, et al. Localization from mere connectivity [C]// Proceedings of the 4th ACM International Symposium on Mobile Ad Hoc Networking and Computing. New York: ACM Press, 2003: 201-212.
[11] LIU W, WANG E, CHEN Z. Improved DV-Hop localization algorithm in wireless sensor networks [J]. Journal of Chinese Computer Systems, 2011,32(6):1071-1074.(刘文远, 王恩爽, 陈子军. 无线传感器网络中DV-Hop定位算法的改进[J]. 小型微型计算机系统, 2011, 32(6):1071-1074.)
[12] JUANG P, OKI H, WANG Y, et al. Energy-efficient computing for wildlife tracking: Design tradeoffs and early experiences with ZebraNet[C]// Proceedings of the 10th International Conference on Architectural Support for Programming Languages and Operating Systems. New York: ACM Press, 2002:96-107.
[13] HU L, EVANS D. Localization for mobile sensor networks[C]// Proceedings of the 10th International Conference on Mobile Computing and Networking. New York: ACM Press, 2004: 45-57.
[14] MEI J, CHEN D, XIN L. Optimized localization scheme for mobile wireless sensor networks based on Monte Carlo method[J]. Chinese Journal of Sensors and Actuators, 2013, 5: 017.(梅举, 陈涤, 辛玲. 基于蒙特卡洛方法的移动传感网节点定位优化算法[J]. 传感技术学报, 2013, 26(5): 689-693.)
[15] STEVENS N, VIVEKANANDAN E, WONG V. Dual and mixture Monte Carlo localization algorithms for mobile wireless sensor networks [C]// Proceedings of the 2007 IEEE Wireless Communications and Networking Conference. Piscataway: IEEE Press, 2007:4024-4028.
[16] YI J, YANG S, CHA H. Multi-hop-based Monte Carlo localization for mobile sensor networks[C]// Proceedings of the Fourth Annual IEEE Communications Society Conference on Sensor, Mesh and Ad Hoc Communications and Networks. Piscataway: IEEE Press, 2007:162-171.
[17] BAGGIO A, LANGENDOEN K. Monte Carlo localization for mobile wireless sensor networks[J]. Ad Hoc Networks, 2008, 6(5): 718-733.。