一种基于加权处理的无线传感器网络平均跳距离估计算法(W-DVHop)
文章目录
摘要:定位技术是无线传感器网络的关键技术之一,传统 DV-Hop 定位算法只考虑了最近一个锚节点估计的平均跳距离值,而单个锚节点估计的平均跳距离值无法准确地反映网络的实际平均跳距离。本文提出了一种基于加权处理的平均跳距离估计算法,考虑多个锚节点估计的平均跳距离值,根据距离未知节点的跳数进行加权,使网络平均跳距离的估计更加准确。
1.DV-hop算法原理
DV-Hop 算法由 3 个阶段组成。首先使用典型的距离矢量交换协议,使网络中所有节点获得距锚节点的跳数。第 2阶段,在获得其他锚节点位置和跳数之后,锚节点估计网络平均跳距离,然后将其广播至网络中。平均跳距离值采用可控洪泛方法在网络中传播,使节点只接受最近的锚节点的
值。当接收到平均跳距离值之后,未知节点根据与锚节点之间的跳数计算与锚节点之间的距离。当未知节点获得与 3 个或更多锚节点的距离时,则在第 3 阶段执行三边测量定位。
1.1 DV-Hop 算法中的平均跳距离估计算法
DV-Hop 算法中未知节点接收距离自己最近的一个锚节点估计的平均每跳距离值作为自身的平均每跳距离值,具体计算平均跳距离的算法如下。
锚节点估计平均跳距离:
S
i
=
∑
j
≠
i
d
i
j
∑
j
≠
i
N
i
j
(1)
S_{i}=\frac{\sum_{j \neq i} d_{i j}}{\sum_{j \neq i} N_{i j}}\tag{1}
Si=∑j=iNij∑j=idij(1)
其中
d
i
j
,
N
i
j
d_{ij},N_{ij}
dij,Nij分别表示锚节点
i
i
i 和
j
j
j 之间的距离和跳数,即锚节点
i
i
i估计的平均每跳距离值等于该锚节点与其他锚节点
j
j
j 之间的距离之和除以该锚节点和其他锚节点的跳数之和。
未知节点将距离自己最近的锚节点
i
i
i估计的平均每跳距离作为自身的平均每跳距离值,即
S
=
S
i
(2)
S=S_i \tag{2}
S=Si(2)
其中
S
S
S是未知节点自身的平均每跳距离值,
S
i
S_i
Si 是离未知节点最近的锚节点估计的平均每跳距离值。未知节点则根据下述公式得到它与各个锚节点之间的距离
d
i
d_i
di
d
i
=
S
×
N
i
(3)
d_i=S\times N_i \tag{3}
di=S×Ni(3)
2.基于加权处理的平均跳距离估计算法
基于加权处理的平均跳距离估计算法的基本思想如下:未知节点接收到多个锚节点的平均跳距离值后,对各个锚节点估计的平均跳距离值进行规一化加权处理,越近的锚节点的估计值赋给越大的权值。
这样的设计主要出于两个考虑:(1)对于网络来讲,单个锚节点估计的平均跳距离可能会产生比较大的偏差,如果未知节点以这个锚节点的估计值作为自身的平均跳距离就会造成该未知节点定位精度较低,从而影响整个网络的定位精度。因此需要综合考虑多个锚节点的平均跳距离以更为准确地估计平均跳距离;(2)对一个未知节点而言,与它距离不同的锚节点对其局部网络状态的反映是不一样的,离它更近的锚节点可能更为准确地反映它周围局部的网络实际平均每跳距离,因此需要给更近的锚节点赋以更大的权值。
下面具体介绍一下新算法中各个锚节点的加权值和未知节点的平均跳距离值的计算方法。为说明方便,将锚节点 i i i的估计的平均跳距离记为 s i s_i si,将未知节点距离锚节点 i i i的跳数记为 N i N_i Ni(其中 i=1,2,3…)。
假设未知节点共收到
n
n
n个锚节点的信息,将每个锚节点的平均跳距离的加权值记为
W
i
W_i
Wi ,则取
W
i
=
1
/
N
i
∑
j
=
1
n
1
N
j
(4)
W_{i}=\frac{1 / N_{i}}{\sum_{j=1}^{n} \frac{1}{N_{j}}} \tag{4}
Wi=∑j=1nNj11/Ni(4)
即锚节点 i 的加权值等于未知节点到锚节点 i 的跳数倒数除以该未知节点到各锚节点的跳数倒数和。这样做一个归一化的处理,使用统一标准对各个未知节点进行处理,并保证各个锚节点的权值之和为 1。同时通过对较近的锚节点赋以较大的权值区分了距离不同的锚节点对网络的实际平均每跳距离的反映程度。
根据每个锚节点估计的平均每跳距离距离,在 Weight-DV-Hop 算法中计算未知节点的平均每跳距离
S
S
S:
S
=
∑
i
=
1
n
W
i
S
i
(5)
S=\sum_{i=1}^{n} W_{i} S_{i} \tag{5}
S=i=1∑nWiSi(5)
即未知节点的平均每跳距离等于每个锚节点平均每跳距离的加权值
W
i
W_i
Wi与每个锚节点的平均每跳距离
S
i
S_i
Si 的乘积之和。这样各个锚节点的平均每跳距离值按照其离未知节点的距离进行了加权的处理,从而使未知节点的平均每跳距离的估计值更为准确,更好地反映了网络的实际平均每跳距离。
然后类似 DV-Hop 算法,根据式(3)计算未知节点与锚节点
i
i
i之间的距离
d
i
d_i
di。
与 DV-Hop 定位算法相比,Weight-DV-Hop 定位算法只是采用基于加权处理的平均跳距离替代DV-Hop中距离未知节点最近锚节点估计的平均跳距离,其它过程相同。
3.算法测试
设定节点覆盖范围为200x200,总节点数为:200,信标节点数50,通信半径为30,未知节点数为150。采用归一化平均定位误差作为评价指标:
e
r
r
o
r
=
∑
i
=
1
m
(
x
i
−
x
i
∗
)
2
+
(
y
i
−
y
i
∗
)
2
k
∗
m
∗
r
(8)
error = \frac{\sum_{i=1}^m\sqrt{(x_i-x_i^*)^2+(y_i-y_i^*)^2}}{k*m*r}\tag{8}
error=k∗m∗r∑i=1m(xi−xi∗)2+(yi−yi∗)2(8)
式中,
m
m
m为未知节点的数目;
k
k
k为实验次数;
r
r
r为节点的通信半径;
(
x
i
,
y
i
)
(x_i,y_i)
(xi,yi)为未知节点的估计坐标;
(
x
i
∗
,
y
i
∗
)
(x_i^*,y_i^*)
(xi∗,yi∗)为该未知节点的真实坐标。
wDV-hop的归一化定位误差:0.41648
4.参考文献
[1]刘锋,张翰,杨骥.一种基于加权处理的无线传感器网络平均跳距离估计算法[J].电子与信息学报,2008(05):1222-1225.