基于移动节点的无线传感器网络定位算法
扫描二维码
随时随地手机看文章
引言
无线传感器网络(WirelessSensorNetwork,WSN)是可以通过自组织快速形成的一种分布式网络。在无线传感器网络中,每个节点采集到的数据必须与其位置信息相结合才有意义,且传感器的覆盖、布局和目标跟踪等操作都依赖于各个节点的有效定位虬所以,确定每个节点的自身位置是无线传感器网络领域的基础问题之一。
目前,节点定位算法主要分为Rangebased算法和Rangefree算法两大类。Rangebased算法包括信号到达时间(TOA)、信号到达时间差(TDOA)、信号到达角度(AOA)、信号强度(RSSI)等。Rangefree算法包括质心算法、DV-HOP算法、Amorphous算法、MDS-MAP算法及APIT算法等。
在实际应用中,传感器节点的位置一般是未知的,要使目标节点的移动轨迹包含所有节点是不合理的叫为此,本文提出基于一个移动节点的两步定位算法,该方法利用移动目标节点辅助定位未知节点。在传感器分布区域,目标节点沿一定的轨迹周期性地向周围发送自身的位置信息,各个未知传感器节点在其感知范围内接收目标节点信息,并计算与目标节点的距离。之后再选取不共线的3个目标节点信息来计算自身的位置,然后再将它作为下一步状态滤波的初始状态,并利用UKF状态滤波器进行更精确的定位计算。
1基于X移动锚节点的UKF濾波定位方法
UKF是目标跟踪中处理非线性模型的一种滤波器,它有适中的计算量和较好性价比。对于只有一个移动节点的无线传感器来说,可将位置未知的传感器节点认为是待观察目标,将移动的目标节点认为是已知传感器节点,那么,就可利用类似于目标跟踪中的UKF滤波方法来处理传感器节点的定位问题。
有人曾提出一种利用UKF滤波与三角定位算法相结合的两步定位算法,此算法利用一个移动锚节点遍历整个网络,并周期性地广播包含自身当前位置的信息,把传感器节点的自身定位过程用UKF的目标跟踪方法来实现。利用三边定位法可提高滤波的初始位置精度,从而改善定位效果。此算法证明可以改善对锚节点移动轨迹的特殊要求限制,更适合实际情况,并获得较好的定位精度。但是,此算法也有一定的不足之处,当节点具有RSSI测距能力时,此算法不能有效地进行定位,所以,本文提出了利用Euclidean定位算法结合UKF滤波来有效解决此种情况下所出现的问题。
2改进的基于目标节点的两步定位算法
假设节点拥有RSSI测距能力,那么,Euclidean定位算法的示意图如图1所示。图中,已知未知节点B、C在目标节点L的无线射程内,BC距离已知或可通过RSSI测量获得;节点A与B、C相邻。那么,对于四边形ABCL,所有边长和一条对角线BC已知,根据三角形的性质可以计算出AL的长度(节点A与L的距离)。使用这种方法,当未知节点获得与3个或更多目标节点之间的距离后,就可定位自身。
Euclidean算法和三边定位算法是一种低耗能、定位精度适中、同时具有较高覆盖度的定位算法。但是,在整个定位测距过程中,三边定位算法只能测量普通传感器节点的位置,当传感器节点具有RSSI测距能力时,便无法测量其位置,而Euclidean算法则能很好地改善此种状况。只是应用Euclidean算法测量,虽然能获得较好的结果,可是还会受到一些外界因素的干扰(如噪声),因此,本文结合UKF滤波来消除噪声的干扰,从而获得较准确的结果,此算法称为两步定位算法。
3两步定位算法设计
3.1模型描述
根据上面的设定,对于第i(i=1,-,I)个传感器节点,在第k(k=1,…,K)个迭代周期的状态方程为:
Xi=X<k-1)+Wi(k) (1)
相应的目标节点对此传感器节点的量测方程为:
Z(k)=g(X(k))+Mk) (2)
其中,X,(k)表示目标状态向量,XM)=[X»,&(k),&(k)]T,即X-Y-Z坐标轴上的传感器节点i的位置信息;Z(k)为量测向量,这里指移动目标节点和第i个传感器节点之间的距离。因此,式(2)可以改写为:
厶(k)=J(DXn(k)V+(AX(k))2+(AX(k))2+v,(k) (3)
式中:
分别表示各个坐标轴方向上第i个传感器节点与目标节点之间的距离,X(k)= (k),x¥(k),X3(k)]T为移动目标节点的位置
信息。
此外,Wi(k)和Vi(k)分别表示系统噪声和量测噪声,假设它们为互不相关的,均值为零的斯白噪声,那么,其协方差矩阵分别为Rk和Q。
3.2UKF在状态估计中的应用
UKF的处理流程如下:
(1) 初始化目标状态向量Xi(0|0)及其误差协方差Pi(0|0);
(2) 计算sigma点:
lik-i=Xi(k—1|k—1) (4)
Xh-1=X,(K-1|K-1)土+ P,(k-1|k-1))j(5)
⑶时间更新:
Xi(k\k-1)= xU-1 (6)
P(k|k-1)= -Xx(k|k-1)]x
jf (7)
[xluk-i—Xi(k|k—1)]T+Qk
(4) 量测更新:
pi.ut-i=h(xlm-i'), j=0,土1,…,土n (8)
Z(k\k-1)= 部" (9)
(5) 状态更新:
Xi(k|k)=Xi(k|k—1)+Ki(k)(Zi(k)—Zi(k|k—1)) (10)
P(k|k-1)=P(k|k-1)-K,(k) k|k-1) (11)
当模型一定时,对滤波精度影响比较大的因素:一是初始状态向量的选取,二是量测噪声的选取[6]。对于文中所用的状态估计模型,它其实没有很好地模拟目标状态,这是因为传感器节点和移动目标节点之间的距离是不可预测的。滤波的流程必须要求一个目标状态方程进行下一时刻的预测,那么,式⑴所示的状态方程一般认为下一时刻的位置和当前位置基本一致,但是,再加上一个系统噪声将表示可能的不一致。显然,这个状态方程不能很好地进行相应的状态预测,这就是所谓的协方差预测。但是,当初始值和真实值比较接近时,这个状
态预测方程接近成立。因此,要得到精确的滤波结果,对初始值的选取要求就要提高。对于量测噪声Q,它将影响每步迭代滤波估计值的滤波速度。一般当移动目标节点运动变化比较快时,应取比较大的值,而当估计值和真实值比较接近时,应取比较小的值叫对于Q值来说,由于移动节点的速度可控,可以根据它来设置比较适中的值。对于初始状态的设置,通常可以利用Euclidean定位算法。
3.3工作流程
若一个拥有RSSI测距能力的移动节点能在传感器节点的通信范围内移动三次(或以上)且不在一条直线上,这就相当于满足Euclidean定位法中三个目标节点的要求。假设目标节点和未知位置的传感器节点距离是可测的,那么,传感器节点就可收集三个移动节点的数据,并且离线采用Euclidean测距法来计算自己的位置。
根据上面的讨论,可将定位方法分为两步来完成:先用Euclidean定位测距法确定传感器节点的初始位置,再用UKF滤波方法精确定位。由于每个传感器的工作是独立的,对于传感器,来说,在时间阈值T符合一定条件的情况下,其工作流程图如图2所示。
4仿真分析
假设存在这样的场景:在X-Y平面,区域[0,1000m]X[0,1000m]内由飞机随机洒落50个位置未知的传感器节点和一个可移动、位置可知的目标节点,同时假设节点可起飞,那么,它将按照预定轨迹,在空中边飞行边向地面的传感器节点按预定的时间间隔周期性发布自己的位置信息。而未知位置的传感器节点能够测量它与节点的距离。若节点是用GPS定位的,可在仿真中假设移动目标节点的自身定位时有协方差均值为50m的定位误差。另外,在传感器节点和目标节点的距离测量时,无论采用哪种方法,误差肯定会存在。假设它们之间的真实距离为r时,存在[r~rs,r+r]的随机误差,那么,仿真分析5=0.1或0.2两种情况时,传感器节点的分布图和锚节点的移动轨迹如图3所示。为了比较不同算法对轨迹的不同要求,另外设计的两种节点移动轨迹如图4所示。
分别用本文所述的两步定位法(以下简称方法1)、单独基于UKF的滤波定位方法(以下简称方法2)和单独使用的Euclidean定位法(以下简称方法3)在锚节点按轨迹1、2、3移动时,分别计算各个待定位传感器节点位置。那么,在5=0.1时,方法1、2的定位效果图如图5所示。很明显,本文所述方法的定位效果要好很多,而且各个待定位节点的位置基本正确。
为了更清楚地说明算法的性能,再将不同算法在不同轨迹情况下,在100次MonteCarlo实验[9]后,它们定位后的位置均方差误差如图6所示。
由图6所示的误差比较图可以清楚地看出,无论在5=0.1还是0.2,当目标节点按轨迹1、轨迹2移动时,方法1均比方法2要好。当5=0.1时,方法1、方法2的定位误差均比5=0.2时的小,而且方法1的改善效果更好。这说明,节点与待定位节点的距离测量误差越小,本文所述的方法越有效。方法3的定位误差比另外两种方法大很多,且当5=0.2时,方法3的定位误差与方法1、方法2的差别更大。这也说明了基于UKF滤波的定位方法对定位精度的提高是显著的。分析不同方法产生不同程度的误差原因可以发现,这些出现较大误差的节点,都没有出现在目标节点的移动轨迹内,因而导致了定位的误差。而只有在轨迹3的情况下,所有待定位传感器节点均在节点移动轨迹之内,而两种算法的定位精度基本差不多。
5结语
本文提出了一种改进的利用一个移动目标节点进行节点定 位的方法。该方法降低了移动节点的移动轨迹要求,节点即使 随意移动也能得到满意的定位精度,同时,也可实现判断节点 是否拥有RSSI测距能力,多种情况下的仿真结果都表明了本 算法的有效性。但是,本方法是在牺牲一定计算量的基础上 得到的提高,如果误差幅度s非常小,Euclidean定位法就能 得到精确的结果;如果节点的范围明确已知,并能精确控制移 动锚节点的移动轨迹,本文的方法可得到满意的结果;而如 果以上的条件不成立,且对定位结果要求较高,那么,本文 方法也可以适用。