本发明属于无线通信和信息传播,更具体地,涉及一种无线传感器网络的节点定位方法、装置及介质。
背景技术:
1、无线传感器网络(wireless sensor network,wsn)的节点定位一直都受到了研究人员的高度重视,特别是在空间复杂背景下,节点的定位效果是决定无线传感器网络成败的一个重要因素。定位(localization)技术是将wsn理论推广到实际应用中的一项重要支撑技术,也是wsn实现其预定目标的基础。wsn在实际探测范围内,若不能为探测范围内的目标提供准确的定位,则会造成探测范围不清、探测结果不准确等问题。
2、定位技术是无线传感器网络关键技术之一。根据定位过程中是否需要测量实际节点间的距离,定位算法可分为基于测距的定位算法和非测距定位算法。非测距定位方案具有能耗少、硬件成本低、抗测量噪声能力强、定位精度高等优点,得到关注和广泛应用。dv-hop算法是一种基于跳数测距的无线传感器网络定位算法,在实际定位中得到了广泛的研究和应用。该算法假定网络连通度高,在各向同性的密集网络环境中获得较好的定位效果,但在节点随机分布的网络环境中,由于平均跳距误差大、用直线路径代替实际路径等原因,存在定位误差大的问题。所以研究dv-hop算法中直线路径代替实际路径带来较大定位误差的问题,提高定位精度,是十分有必要的。
技术实现思路
1、提供了本发明以解决现有技术中存在的上述问题。因此,需要一种无线传感器网络的节点定位方法、装置及介质,本发明是一种无线传感网络中在不增加额外设备情况下,有效提高dv-hop算法的定位精度的技术,首先,通过利用单倍通信半径统计相邻节点数比值替代相交重叠面积,再利用面积和距离的几何关系求解出单跳跳段的估算距离。其次,节点短暂的开启两倍通信半径,通过利用两倍通信半径统计相邻节点数比值替代相交重叠面积,再利用面积和距离的几何关系求解出二、三跳跳段的估算距离,最后利用三跳跳段的几何形状修正四跳及以上的跳段估算距离。本发明能够解决非测距算法中节点拓扑路径不是直线,而是折线路径的问题,有效地提高节点的定位精度。
2、根据本发明的第一方案,提供了一种无线传感器网络的节点定位方法,所述方法包括:
3、在一倍通信半径中,获取节点间最小跳数,根据所述节点间最小跳数,估计两相邻节点间的节点数,并根据相邻节点间的节点数来估计面积,得到一跳跳段的估计距离;
4、在二倍通信半径中,根据相邻节点两跳和三跳内的节点数,确定二跳和三跳内的估计距离;
5、根据一跳跳段、二跳跳段以及三跳跳段的距离,判断三跳的路径结构;
6、根据判断的三跳的路径结构,估计四跳跳段的路径结构,根据四跳跳段的路径结构计算四跳跳段的距离;
7、合并在先的跳数转化为四跳的路径结构不断地进行迭代,计算出n跳跳段的距离,其中n>4;
8、根据一跳跳段、二跳跳段、三跳跳段、四跳跳段和/或n跳跳段的距离,利用最小二乘法估计未知节点的坐标。
9、进一步地,所述在一倍通信半径中,获取节点间最小跳数,根据所述节点间最小跳数,估计两相邻节点间的节点数,并根据相邻节点间的节点数来估计面积,得到一跳跳段的估计距离,具体包括:
10、根据节点数,通过如下公式估算交重叠部分区域的面积:
11、
12、
13、式中,noi和noj分别表示节点i和节点j的单跳节点计数,noij是交叉点区域中的节点计数,为节点i的相交部分面积,为节点j的相交部分面积;
14、通过如下公式估算相交区域的面积:
15、
16、基于估算出的相交区域的面积替代实际的面积,通过如下公式求解dij:
17、
18、式中i和j为相邻节点,sij为i与j的通信范围的交叉区域,dij为i与j的距离,r为通信半径。
19、进一步地,所述在二倍通信半径中,根据相邻节点两跳和三跳内的节点数,确定二跳和三跳内的估计距离,具体包括:
20、短暂开启高功耗的两倍通信半径,利用节点数通过如下公式来估算相交重叠部分区域的面积:
21、
22、
23、式中,noi和noj分别表示节点i和节点j的单跳节点计数,noij是交叉点区域中的节点计数,为节点i的相交部分面积,为节点j的相交部分面积。
24、通过如下公式估算相交区域的面积:
25、
26、基于估算出的相交区域的面积替代实际的面积,通过如下公式求解dij:
27、
28、式中i和j为二、三跳的相邻节点,sij为i与j的两倍通信范围的交叉区域,dij为i与j的距离,r为两倍通信半径。
29、进一步地,所述三跳的路径结构有两种形式,分别为“u”型结构或“s”型结构,所述根据一跳跳段、二跳跳段以及三跳跳段的距离,通过如下公式判断三跳的路径结构:
30、p2q2(a2+b2+c2+d2-p2-q2)-(a2-b2+c2-d2)(a2c2-b2d2)
31、-p2(a2-d2)(b2-c2)+q2(a2-b2)(c2-d2)=0.
32、式中,a,b,c,d为构成四边形的边长,p,q为构成四边形的对角线。
33、进一步地,所述根据判断的三跳的路径结构,估计四跳跳段的路径结构,根据四跳跳段的路径结构计算四跳跳段的距离,具体包括:
34、通过三跳路径构成的“u”结构或“s”型结构得到四跳跳段构成的四边形,计算四跳跳段的距离如下式:
35、b2d2+[q2(a2-b2)-p2q2-a2c2-(a2-b2+c2)b2-p2(b2-c2)]d+p2a2(b2-c2)+
36、(a2-b2+c2)a2c2-q2c2(a2-b2)-p2q2(a2+b2+c2-p2-q2)=0
37、b2=a
38、[q2(a2-b2)-p2q2-a2c2-(a2-b2+c2)b2-p2(b2-c2)]=b
39、p2a2(b2-c2)+(a2-b2+c2)a2c2-q2c2(a2-b2)-p2q2(a2+b2+c2-p2-q2)=γ
40、
41、式中,a,b,c,d为构成四边形的边长,p,q为构成四边形的对角线,d为四跳跳段的估算距离。
42、根据本发明的第二技术方案,提供一种无线传感器网络的节点定位装置,所述装置包括:
43、第一估算模块,被配置为在一倍通信半径中,获取节点间最小跳数,根据所述节点间最小跳数,估计两相邻节点间的节点数,并根据相邻节点间的节点数来估计面积,得到一跳跳段的估计距离;
44、第二估算模块,被配置为在二倍通信半径中,根据相邻节点两跳和三跳内的节点数,确定二跳和三跳内的估计距离;
45、路径判断模块,被配置为根据一跳跳段、二跳跳段以及三跳跳段的距离,判断三跳的路径结构;
46、第三估算模块,被配置为根据判断的三跳的路径结构,估计四跳跳段的路径结构,根据四跳跳段的路径结构计算四跳跳段的距离;
47、第四估算模块,被配置为合并在先的跳数转化为四跳的路径结构不断地进行迭代,计算出n跳跳段的距离,其中n>4;
48、坐标估算模块,被配置为根据一跳跳段、二跳跳段、三跳跳段、四跳跳段和/或n跳跳段的距离,利用最小二乘法估计未知节点的坐标。
49、进一步地,所述第一估算模块被进一步配置为:
50、根据节点数,通过如下公式估算交重叠部分区域的面积:
51、
52、
53、式中,noi和noj分别表示节点i和节点j的单跳节点计数,noij是交叉点区域中的节点计数,为节点i的相交部分面积,为节点j的相交部分面积;
54、通过如下公式估算相交区域的面积:
55、
56、基于估算出的相交区域的面积替代实际的面积,通过如下公式求解dij:
57、
58、式中i和j为相邻节点,sij为i与j的通信范围的交叉区域,dij为i与j的距离,r为通信半径。
59、进一步地,所述第二估算模块被进一步配置为:
60、短暂开启高功耗的两倍通信半径,利用节点数通过如下公式来估算相交重叠部分区域的面积:
61、
62、
63、式中,noi和noj分别表示节点i和节点j的单跳节点计数,noij是交叉点区域中的节点计数,为节点i的相交部分面积,为节点j的相交部分面积;
64、通过如下公式估算相交区域的面积:
65、
66、基于估算出的相交区域的面积替代实际的面积,通过如下公式求解dij::
67、
68、式中i和j为二、三跳的相邻节点,sij为i与j的两倍通信范围的交叉区域,dij为i与j的距离,r为两倍通信半径。
69、进一步地,所述路径判断模块被进一步配置为:
70、根据一跳跳段、二跳跳段以及三跳跳段的距离,通过如下公式判断三跳的路径结构:
71、p2q2(a2+b2+c2+d2-p2-q2)-(a2-b2+c2-d2)(a2c2-b2d2)
72、-p2(a2-d2)(b2-c2)+q2(a2-b2)(c2-d2)=0.
73、式中,a,b,c,d为构成四边形的边长,p,q为构成四边形的对角线。
74、根据本发明的第三技术方案,提供一种可读存储介质,所述可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上所述的方法。
75、本发明至少具有以下有益效果:
76、无需测距算法中折线路径弯折所带来的误差是一直急需解决的,本发明不同于以往的改进技术,从单跳到多跳路径的误差都得到有效解决,提高了节点的定位精度。一系列仿真研究表明,本发明所提出的跳段直线距离估计的方法精度要优于原型dv-hop算法以及改进的连续跳数优化算法。本发明可实现对节点分布稀疏与密集不同情况下,都能利用节点数比替代面积求解出跳段的估算距离,单跳到多跳的距离估计都具有高精度。有益效果是:本发明利用仅有的节点个数信息就可实现节点间直线距离的估算,解决了不同跳数拓扑折线路径带来误差的问题。