一种提高移动无线传感器网络节点定位精度的方法技术领域
本发明涉及一种提高移动无线传感器网络节点定位精度的方法,属于无线传感器网
络技术领域。
背景技术
在无线传感器网络的许多应用中,节点的位置信息都是至关重要的。在大多数情况
下,传感器节点所采集的数据信息,如果脱离了节点的位置信息,将会变得没有意义。
例如,在环境监测应用中需要知道采集的环境信息所对应的具体位置,对于突发事件,
如需要知道森林火灾的现场位置,战场上敌方车辆运动的区域,天然气管道泄露的具体
地点等。如图1所示,无线传感器网络中的节点常常是随机布撒的,对于上述这些问题,
传感器节点必须首先通过定位知道自身的地理位置信息,这是进一步采取措施和做出决
策的基础。
无线传感器网络的定位有多种分类方式,按照节点的移动类型,可分为静态无线传
感器网络定位和移动无线传感器网络定位。静态无线传感器网络,是指节点保持静止不
动的无线传感器网络类型;移动无线传感器网络,则指传感器节点为运动状态时的无线
传感器网络类型。
无线传感器网络根据测距方式的不同分为range-based和range-free两种定位方式,
也就是基于测距和无需测距两类。通常的测距技术主要有:接收信号强度指示
(RSSI,Received Signal Strength Indicator),到达时间(TOA,Time of Arrival),到达时间差
(TDOA,Time Difference of Arrival),到达角度(AOA,Angle of Arrival)。位置未知的节点在
得到与锚节点之间的距离信息后,采用三边测量法或者极大似然估计法等方法,可以计
算出自身的位置。range-based定位精度较高,但是传感器节点依赖于专门的硬件设备,
成本较高,而range-free定位无需距离或者角度信息,受环境影响较小,硬件成本低,适
合大规模的传感器网络,因此也是目前受到普遍关注的定位机制。典型的静态WSN距离
无关的定位算法有质心定位、DV-Hop、APIT、凸规划、MDS-MAP等。
移动无线传感器网络定位根据传感器节点的不同移动类型可以分为三种:
(1)锚节点移动,普通节点静止。这种情况也可称为移动锚节点辅助定位,锚节点
在全网内移动,辅助普通节点进行定位,减少网络内的锚节点数量。
(2)普通节点移动,锚节点保持静止。
(3)普通节点和锚节点都移动。
其中第一种移动锚节点辅助定位实际是一种静态定位方式,第二种和第三种是移动
无线传感器网络定位。目前移动WSN的定位主要有两类:一类是基于统计方法的定位,
主要是基于序列蒙特卡洛(也称粒子滤波)的移动WSN定位;另外一类是非统计方法的移
动WSN定位。目前基于序列蒙特卡洛的移动WSN定位研究是一个热点,该方面的定位
算法主要有MCL、MCB、MMCL、MSL、range-based-MCL等。
MCL算法是第一个针对WSN移动节点的蒙特卡洛range-free定位算法,该算法的定
位精确性没有受到节点移动状态的影响,反而利用节点的移动性提高了节点定位的准确
度,同时减小了定位的代价,该成果也说明:序列蒙特卡洛算法能够在存储非常有限,
锚节点密度低且网络传输非常不稳的情况下实现移动WSN的精确定位。
在MCL算法的基础上,有人提出了MCB(Monte-Carlo Localization Boxed)算法,如
图2所示,待定位节点首先通过接收到的锚节点信息得到一个锚节点覆盖区域——锚盒
子,即图2中黑框内区域,然后根据上一时刻采样粒子和最大速度Vmax得到采样盒子,
从而把采样区域限制在一个采样盒子里,提高了采样成功率,从而节约了计算量,提高
了定位精度,性能比MCL算法有了较大的改善。
发明内容
在移动无线传感器网络定位过程中,会出现锚节点覆盖情况良好从而具有较小的采
样锚盒子的节点;也会出现锚节点覆盖情况不佳而具有较大采样锚盒子的节点,这类节
点由于采样锚盒子大从而采样区域大,更可能导致定位误差的增大;甚至会出现没有收
到任何锚节点信息,从而无法完成定位的节点。针对以上情况,本发明提出了一种提高
移动无线传感器网络节点定位精度的方法。
一种提高移动无线传感器网络节点定位精度的方法,方法包括临时锚节点的产生过
程,以及临时锚节点协助其他节点进行定位的过程,临时锚节点的产生步骤如下:
第一步:网络中的所有位置已知的锚节点即seed节点在全网中洪泛自己的信息,这
个被洪泛的信息包括(Xseed,Yseed),IDseed,TTL,其中(xseed,Yseed)表示seed节
点的坐标值,IDseed表示该seed的序号,TTL是最大洪泛跳数,初始值设置为2;
第二步:网络中的位置未知、等待定位的普通节点即node节点在收到seed节点的
洪泛信息之后,记录seed节点的坐标值和序号,如果TTL为2,则将其置为1并转发,
如果TTL为1,则将其置零不再转发,从而保证锚节点的信息帧只被转发一次;
第三步:锚节点信息洪泛完毕,所有node节点利用MCB的方法得到自己的采样锚
盒子anchorbox,并根据锚盒子面积Sanchorbox,二跳以内锚节点数Nnos,计算本node节
点能否成为临时锚节点的判断权值,判断权值为TA:
TA = α × N nos S anchorbox - - - ( 1 ) ]]>
其中,α为权值因子,调整该参数可以设置权值的缩放比例;同时,设置TA的两个阈值,
上限阈值为TAup,下限阈值为TAdown,这两个阈值根据具体的应用场景进行设置,如果
该node节点的TA值高于TAdown,则直接依据锚节点信息进行自身位置计算;如果TA
值高于TAup,则成为临时锚节点;如果TA值低于TAdown,则暂不进行定位,而是等待
借助临时锚节点信息进行自身定位;
第四步:TA值高于TAup的临时锚节点向周围洪泛自身信息,信息的内容包括
IDnode,Nnos,TTL;其中,表示node节点的定位
位置,IDnode表示该node节点的序号,Nnos表示该node节点二跳以内锚节点数,TTL
为最大洪泛跳数,初始值设置为2,洪泛方式与锚节点相同;洪泛过程完毕以后,TA值
低于TAdown的节点,如果没有收到临时锚节点的信息,则依据原来的锚节点信息进行定
位,如果收到临时锚节点信息,则使用该信息进行定位;
临时锚节点协助TA值低于TAdown的节点定位的过程,分为以下步骤:
第一步:待定位node节点在(t-1)时刻的粒子集为在t时
刻收到n个临时锚节点信息后,通过以下公式确定临时锚节点盒子:
其中表示待定位node节点收到的n个临时锚节点中第j个节点的
定位坐标,表示第j个节点的锚节点个数,tr表示通信半径,如果考虑到两跳临时锚
节点的情况,把上式中的tr改为2×tr即可;
该待定位node节点的锚节点盒子通过MCB方法得到,设为
(xs_min,xs_max,ys_min,ys_max),则该node节点的最终锚盒子定义为下式:
x min = max ( x TA _ min , x s _ min ) x max = min ( x TA _ max , x s _ max ) y min = max ( y TA _ min , y s _ min ) y max = min ( y TA _ max , y s _ max ) - - - ( 3 ) ]]>
从而得到采样盒子如下:
x min i = max ( x min , x t - 1 i - v max ) x max i = min ( x max , x t - 1 i + v max ) y min i = max ( y min , y t - 1 i - v max ) y max i = min ( y max , y t - 1 i + v max ) - - - ( 4 ) ]]>
其中表示该node节点在(t-1)时刻的采样粒子的坐标,vmax表示节点
的最大移动速度,在获得采样盒子之后,采样得到t时刻的粒子
第二步:对采样粒子进行滤波,公式为,
p ( o t | l t i ) = 1 if ∀ s ∈ S r d ( l t , s ) ≤ tr ]]>
∩ ∀ s ∈ T , tr ≤ d ( l t , s ) ≤ 2 × tr ]]>
∩ ∀ s ∈ S TA , d ( l t , s ) ≤ tr + α × max j = 1 n ( N nos j ) TA up ]]>
∩ ∀ s ∈ T TA , tr - α × max j = 1 n ( N nos j ) TA up ≤ d ( l t , s ) ≤ 2 × tr + α × max j = 1 n ( N nos j ) TA up ; - - - ( 5 ) ]]>
p ( o t | l t i ) = 0 otherwise ; - - - ( 6 ) ]]>
其中ot表示观测信息,S是一跳锚节点的集合,T是两跳锚节点的集合,STA是一跳临
时锚节点的集合,TTA是两跳临时锚节点的集合,d(lt,s)是采样粒子lt与锚节点或临时锚
节点的欧几里德距离;
滤波完成以后,如果粒子数不足位置估计所需要的数目N,则进行重采样,并重复
滤波过程,直到达到采样数N或者达到最大采样次数为止;
第三步:确定该待定位的node节点的定位估计值,
本算法基于对MCB算法的改进,能够提高移动WSN中节点的定位精度。
附图说明
图1为节点在网络中的分布模型。
图2为锚节点覆盖示意图。
图3为临时锚节点协助定位得到的锚盒子覆盖示意图。
图4为本发明流程框图。
其中,1、锚节点,2、位置未知的普通节点,3、临时锚节点,4、锚节点信号覆盖
半径,5、临时锚节点覆盖半径,6、监测区域。
具体实施方式
下面结合实施例对本发明做进一步说明。
实施例:
一种提高移动无线传感器网络节点定位精度的方法,如图1至图4所示,方法包括
临时锚节点的产生过程,以及临时锚节点协助其他节点进行定位的过程,临时锚节点的
产生步骤如下:
第一步:网络中的所有位置已知的锚节点即seed节点在全网中洪泛自己的信息,这
个被洪泛的信息包括(Xseed,Yseed),IDseed,TTL,其中(Xseed,Yseed)表示seed节
点的坐标值,IDseed表示该seed的序号,TTL是最大洪泛跳数,初始值设置为2;
第二步:网络中的位置未知、等待定位的普通节点即node节点在收到seed节点的
洪泛信息之后,记录seed节点的坐标值和序号,如果TTL为2,则将其置为1并转发,
如果TTL为1,则将其置零不再转发,从而保证锚节点的信息帧只被转发一次;
第三步:锚节点信息洪泛完毕,所有node节点利用MCB的方法得到自己的采样锚
盒子anchorbox,并根据锚盒子面积Sanchorbox,二跳以内锚节点数Nnos,计算本node节
点能否成为临时锚节点的判断权值,判断权值为TA:
TA = α × N nos S anchorbox - - - ( 1 ) ]]>
其中,α为权值因子,调整该参数可以设置权值的缩放比例;同时,设置TA的两个阈值,
上限阈值为TAup,下限阈值为TAdown,这两个阈值根据具体的应用场景进行设置,如果
该node节点的TA值高于TAdown,则直接依据锚节点信息进行自身位置计算;如果TA
值高于TAup,则成为临时锚节点;如果TA值低于TAdown,则暂不进行定位,而是等待
借助临时锚节点信息进行自身定位;
第四步:TA值高于TAup的临时锚节点向周围洪泛自身信息,信息的内容包括
IDnode,Nnos,TTL;其中,表示node节点的定位
位置,IDnode表示该node节点的序号,Nnos表示该node节点二跳以内锚节点数,TTL
为最大洪泛跳数,初始值设置为2,洪泛方式与锚节点相同;洪泛过程完毕以后,TA值
低于TAdown的节点,如果没有收到临时锚节点的信息,则依据原来的锚节点信息进行定
位,如果收到临时锚节点信息,则使用该信息进行定位;
临时锚节点协助TA值低于TAdown的节点定位的过程,分为以下步骤:
第一步:待定位node节点在(t-1)时刻的粒子集为在t时
刻收到n个临时锚节点信息后,通过以下公式确定临时锚节点盒子:
其中表示待定位node节点收到的n个临时锚节点中第j个节点的
定位坐标,表示第j个节点的锚节点个数,tr表示通信半径,如果考虑到两跳临时锚
节点的情况,把上式中的tr改为2×tr即可;
该待定位node节点的锚节点盒子通过MCB方法得到,设为
(xs_min,xs_max,ys_min,ys_max),则该node节点的最终锚盒子定义为下式:
x min = max ( x TA _ min , x s _ min ) x max = min ( x TA _ max , x s _ max ) y min = max ( y TA _ min , y s _ min ) y max = min ( y TA _ max , y s _ max ) - - - ( 3 ) ]]>
从而得到采样盒子如下:
x min i = max ( x min , x t - 1 i - v max ) x max i = min ( x max , x t - 1 i + v max ) y min i = max ( y min , y t - 1 i - v max ) y max i = min ( y max , y t - 1 i + v max ) - - - ( 4 ) ]]>
其中表示该node节点在(t-1)时刻的采样粒子的坐标,vmax表示节点
的最大移动速度,在获得采样盒子之后,采样得到t时刻的粒子
第二步:对采样粒子进行滤波,公式为,
p ( o t | l t i ) = 1 if ∀ s ∈ S r d ( l t , s ) ≤ tr ]]>
∩ ∀ s ∈ T , tr ≤ d ( l t , s ) ≤ 2 × tr ]]>
∩ ∀ s ∈ S TA , d ( l t , s ) ≤ tr + α × max j = 1 n ( N nos j ) TA up ]]>
∩ ∀ s ∈ T TA , tr - α × max j = 1 n ( N nos j ) TA up ≤ d ( l t , s ) ≤ 2 × tr + α × max j = 1 n ( N nos j ) TA up ; - - - ( 5 ) ]]>
p ( o t | l t i ) = 0 otherwise ; - - - ( 6 ) ]]>
其中ot表示观测信息,S是一跳锚节点的集合,T是两跳锚节点的集合,STA是一跳临
时锚节点的集合,TTA是两跳临时锚节点的集合,d(lt,s)是采样粒子lt与锚节点或临时锚
节点的欧几里德距离;
滤波完成以后,如果粒子数不足位置估计所需要的数目N,则进行重采样,并重复
滤波过程,直到达到采样数N或者达到最大采样次数为止;
第三步:确定该待定位的node节点的定位估计值,