具体实施方式
下面结合附图对发明的技术方案进行详细说明。
假设在三维空间中存在真实坐标为(x,y,z)的未知节点O。在三维空间中,存在N个已知锚节点S1S2S3......SN与未知节点O相连通,其中,第n个锚节点Sn的坐标为(xn,yn,zn),则该锚节点Sn与未知节点O之间距离为:
由该N个连通锚节点S1S2S3......SN张成三维空间中,当前三维空间质心的坐标为有:
根据公式(1)-(2),可得当前三维空间质心与未知节点O之间距离为:
其中:
当i≠j时,有:
将公式(5)代入公式(4),可得:
同理可得:
将公式(6)-(8)代入公式(3),有:
(xi,yi,zi)为第i个连通锚节点的坐标,(xj,yj,zj)为第j个连通锚节点的坐标.
由于连通锚节点坐标已知,因此根据公式(2)和公式(9),可以获得当前三维空间质心的坐标及其与未知节点O之间距离。此时,可以将当前三维空间质心视为新的连通锚节点,用其替代距离未知节点O最远的某一连通锚节点,从而缩小连通锚节点所张成三维空间范围,并通过多次迭代不断提高定位精度。
但是,在无线传感器节点定位方法中计算锚节点与未知节点间的距离,会急剧增加计算复杂度,网络的通信开销和节点的能量损耗。因此,考虑利用未知节点O与连通锚节点间的RSSI信息替代距离信息,进行空间质心的相关参数计算及定位算法的迭代,可以有效减少网络的通信开销,降低对于节点能量的损耗。
假设未知节点O与第n个连通锚节点Sn之间距离为dn,并且已知未知节点O与锚节点Sn之间的RSSI为Pn,根据自由空间内的信号传播理论可得:
其中,M为常参数,P1为与未知节点O距离d1处的参考RSSI。令d1=1,则P1表示与未知节点O距离1m处的参考RSSI,代入公式(10),并做进一步简化可得:
10log10Pn=-[A+10M(log10dn)] (11)
其中:
A=-10log10P1 (12)
根据实际环境不同,一般M值的最佳设定范围为3.24~4.5,A值的最佳设定范围为45~49。根据公式(10)-(12),化简可得:
将其带入公式(9),假设未知节点O与当前质心的RSSI为有:
其中,dij表示锚节点Si与Sj之间的距离,即:
为了进一步证明本发明方法的定位收敛性,将公式(15)代入公式(9),可对空间质心与未知节点O之间距离的表达式做进一步简化,有:
不失一般性,假设有:
0<d1≤d2≤d3......≤dN-1≤dN (17)
因此,根据公式(16)-(17),可得:
将其带入公式(16),有结论:
显然,利用当前三维空间质心替代锚节点SN所张成三维空间范围一定小于原锚节点所张成三维空间,通过多次迭代不断缩小未知节点O所在空间范围,提高节点定位精度,本发明所提出定位方法收敛。
基于本发明所提出定位方法收敛性的证明,说明本发明的定位精度随着质心迭代次数的增加而不断提高。然而,随着锚节点所张成空间的不断缩小,本发明方法迭代对于未知节点定位精度的改善作用也变小。因此,设定合适的迭代终止条件可以在有效保证节点定位精度情况下,节省网络的通信开销和节点的能量损耗。
考虑未知节点O与连通锚节点所张成三维空间之间存在两种位置关系,即未知节点O位于连通锚节点所张成空间内部和未知节点O位于连通锚节点所张成空间外部。由于空间质心一定位于空间内部,所以当未知节点O位于连通锚节点所张成空间内部时,随着本发明方法迭代次数的增加,锚节点所张成空间范围越来越小,其空间质心可以不断逼近并无限接近未知节点O。此时,考虑直接设定本发明方法终止条件为未知节点O与所获得空间质心之间距离小于某一阈值。根据公式(14),即设定当第m次迭代所获得空间质心与未知节点O间RSSI大于某一阈值:
其中,ε1为设定阈值。当未知节点O位于连通锚节点所张成空间外部时,随着本发明方法迭代次数的增加,其空间质心可以不断接近未知节点O,但是却不能无限接近于未知节点O。此时,若仍采用公式(21)作为迭代终止条件,则本发明方法会陷入死循环中。根据公式(18),考虑设定空间质心与未知节点O之间的RSSI变化率小于某一阈值:
其中,ε2为设定阈值。此时认为本发明方法迭代对于定位精度的改善作用较小,本发明方法已经达到收敛。然而,在实际三维空间中,无法快速并且准确判断未知节点O与连通锚节点所张成空间之间位置关系。因此,为了保证对未知节点O正确的定位,设定当第m次迭代所获得空间质心满足公式(21)-(22)中任意条件时,本发明方法停止迭代。
本发明采用基于非测距的无线传感器网络三维节点定位方法,仿真实验证明本发明方法具有较好的定位精度和定位覆盖性,且抗RSSI误差能力强,适用于无线传感器网络的三维节点定位。本发明具体实施方式如下:
1)根据无线传感器网络节点通信半径确定合适的定位方法迭代终止条件。
2)对当前与未知节点连通锚节点根据其与未知节点之间RSSI值进行排序。
3)计算当前锚节点所围成区域质心坐标及其与未知节点之间RSSI值。
4)利用当前质心替代当前与未知节点间RSSI值最小的锚节点,从而获得新的连通锚节点所张成三维空间,并通过多次迭代不断缩小连通锚节点所张成三维空间范围。
为了验证本发明定位方法性能,通过仿真模拟实际无线传感器网络环境,并改变影响未知节点定位精度的相关重要参数,如节点通信半径、锚节点分布密度和RSSI接收测量误差等,观察本发明方法定位性能。
定义未知节点在三维空间中的真实位置与定位算法估计所得位置间的最短距离为算法的定位误差。假设三维定位方法估计未知节点位置为根据公式(1),则定位误差为:
为了更好的对比节点通信半径不同的无线传感器网络之间定位精度,在公式(23)基础上定义相对定位误差为:
其中,K为无线传感器网络中未知节点个数,R为节点通信半径。假设在100×100×100m3的三维空间中随机分布1000个节点。根据公式(13),由于RSSI与距离间存在一一映射关系,因此在仿真实验中直接设定迭代终止条件为:
首先在图1中分别通过改变无线传感器网络中节点的通信半径和锚节点比例,以此说明网络中与未知节点连通锚节点数对于本发明定位方法精度的影响。观察发现,在相同锚节点比例条件下,节点通信半径越大,与未知节点连通的锚节点数量越多,本发明定位精度也随之不断提高。同理,当节点通信半径一定时,增加无线传感器网络中锚节点比例同样可以增加与未知节点连通的锚节点数量,有效提高本发明对于未知节点位置的估计精度。综上所述,通过图1所示蒙特卡洛仿真实验证明,增加与未知节点连通的锚节点数可以提高本发明定位方法的精度。
由于本发明定位方法是将二维定位方法扩展应用于三维空间,因此需要将二维定位方法和三维定位方法性能进行对比,并分析三维定位方法是否较好地保留了原二维定位方法的良好定位性能。然而,在二维平面和三维空间中,节点所处仿真环境不一样,为了确保两个方法的定位精度具有可比性,要求节点在二维平面和三维空间中的分布情况在统计上保持一致性。基于以上分析,仿真假设在100×100m2的二维平面上随机分布100个节点。这样无论是在二维平面还是三维空间中,均满足任意一维方向上平均每间隔10m存在一个节点。根据公式(25),设定二维定位方法迭代终止条件为:
未知节点位于连通锚节点所围成平面内部:未知节点位于连通锚节点所围成平面外部:
此时,无论是无线传感器网络节点分布环境还是定位方法迭代终止条件,两种方法均具有较好的一致性。将二维节点定位看成是所有节点均分布在同一平面内的三维节点定位,根据公式(23)可得二维节点定位误差为:
将公式(28)带入公式(24)即可得在二维条件下的相对定位误差。为了充分对比二维定位方法和三维定位方法,我们分别选取节点通信半径较小的R=25和节点通信半径较大的R=40两种情况,观察不同锚节点比例条件下的两种方法相对定位误差,如图2所示。
观察发现,随着无线传感器网络中连通锚节点比例的增加,二维定位方法和三维定位方法估计精度都有显著改善,其实验结果与图1所示实验结果相互吻合。当节点通信半径较小时,如R=25,以未知节点为球心的通信半径内锚节点和以未知节点为圆心的相同通信半径内锚节点数量相当,此时二维定位方法和三维定位方法具有几乎相似的节点相对定位误差;然而,当节点通信半径较大时,如R=40,以未知节点为球心的通信半径内锚节点数明显多于以未知节点为圆心的相同通信半径内锚节点数量,此时本发明定位方法比较于二维定位方法,呈现出更小的节点相对定位误差。因此,本发明所提出三维定位方法不但保持了原二维节点定位方法的优点,在较大节点通信半径情况下,具有更优于原二维定位方法的定位精度。
在实际无线传感器网络中,由于各种噪声的干扰,会导致网络对于RSSI的测量存在误差。本发明定位方法需要利用未知节点和锚节点间的RSSI估计当前三维空间质心与未知节点间的RSSI值,因此通过仿真实验分析RSSI测量误差对于本发明定位性能的影响尤为重要。同理,由于RSSI与距离间存在一一映射关系,考虑直接利用距离测量误差表征RSSI测量误差,此时距离误差对于本发明定位精度的影响即RSSI测量误差对于本发明定位方法性能的影响。假设距离测量误差系数为μ,则有:
其中,RAND(-1,1)为一个随机数,不失一般性设定其在(-1,1)区间内服从均匀分布。dn和分别为未知节点与第n个连通锚节点间的距离真实值和测量值。显然,距离测量误差系数μ决定了距离测量值偏移距离真实值的大小。距离测量误差系数μ越大,说明网络对未知节点与连通锚节点间的距离测量误差越大,当且仅当μ=0时,距离测量值与距离真实值相等,即不存在距离测量误差。
为了更加全面的分析距离测量误差对本发明定位方法性能的影响,我们选取节点通信半径较小的R=25和节点通信半径较大的R=35两种情况,并分别在网络锚节点比例较低的5%和网络锚节点比例较高的45%两种条件下,观察距离测量误差对于本发明定位方法性能的影响,如图3所示。观察图3发现,当通信半径较小且网络锚节点比例较低时,由于与未知节点连通锚节点数量较少,此时本发明方法定位相对误差始终处于较高水平。随着节点通信半径增加和网络锚节点比例的提高,与未知节点连通锚节点数量也随之增加,本发明方法定位精度显著提高。该实验结果与图1所示实验结果相互吻合。本发明定位方法虽然需要利用未知节点和锚节点间的RSSI测量值估计当前三维空间质心与未知节点间的RSSI值,但是无论是实际测量RSSI值还是计算所得RSSI值,在定位过程中对于节点定位性能的影响主要体现在两个方面:首先,本发明定位方法需要通过RSSI值间的大小关系将连通锚节点按与未知节点间距离的远近进行排序,从而决定迭代处理过程中被当前三维空间质心所替代节点。RSSI值的不准确测量会导致锚节点排序出错,当且仅当最小RSSI值对应锚节点排序出错时,才会对本发明定位方法迭代过程产生影响,而且仅仅影响定位方法收敛速度,对定位精度影响较小。其次,本发明定位方法通过计算当前三维空间质心与未知节点间的RSSI值与所设定的迭代终止阈值进行比较,从而确定本发明定位方法何时迭代终止。因此,不准确的RSSI测量会影响定位方法迭代次数,较多的迭代次数不会影响定位精度,但是会增加额外的计算复杂度;较小的迭代次数会对定位精度产生较小的影响。因此在图3中,无论在较小连通锚节点数条件下还是在较多连通锚节点条件下,距离测量误差对于本发明定位方法精度的影响均较小,证明本发明定位方法具有较好的抗RSSI测量误差能力。
除了较高的节点定位精度和较好的抗RSSI测量误差能力,同时要求无线传感器网络节点定位方法具有较好的定位覆盖率。假设在无线传感器网络中未知节点总数为Kall,利用节点定位方法可以对其中Kknown个节点进行有效的定位处理,则定位覆盖率为:
图4所示为不同连通锚节点分布条件下本发明定位方法的定位覆盖率。可见在较大节点通信半径或者较大锚节点比例条件下,由于锚节点在三维空间中分布较为密集,因此本发明定位覆盖率较好;然而当节点通信半径较小且锚节点比例较小情况下,本发明的定位覆盖率较差。
然而,因为本发明定位方法具有较好的抗RSSI测量误差能力,因此可以将新定位的未知节点等价为具有一定RSSI测量误差的新锚节点,从而提高无线传感器网络***中的锚节点比例,通过多次迭代定位以提高本发明方法的定位覆盖率。根据图4所示,本发明定位方法仅在节点通信半径较小且锚节点比例较小情况下,定位覆盖率较差。所以,我们在图5中仅考虑通过多次迭代提高节点通信半径较小,即节点通信半径R=20和R=25,且锚节点比例较小,即锚节点比例为5%和10%,情况下的定位覆盖率。观察发现,大部分情况下,本发明方法只需要两次迭代定位就可以获得比较理想的定位覆盖率,即使在节点通信半径R=20且锚节点比例为5%的较差锚节点分布条件下,通过三次迭代定位也可以将定位覆盖率提高到90%以上。并且在不同节点通信半径和锚节点分布条件下,本发明定位方法通过4-5次迭代定位,定位覆盖率均可以达到99%以上,具有极好的实用性。