DV-Hop算法原理

1 DV-Hop 定位算法

DV-Hop定位算法是APS算法系列中使用最为广泛的定位方法, 其定位过程不依赖于测距方法, 利用多跳信标节点信息来参与节点定位, 定位覆盖率较大。DV-Hop 算法非常类似于传统网络中的距离向量路由机制, 在该定位机制中, 未知节点首先计算与信标节点的最小跳数, 然后估算平均每跳距离, 利用最小跳数乘以平均每跳距离, 估算得到未知节点与信标节点之间的距离, 再利用三边测量法或极大似然估计法计算未知节点的坐标。

DV-Hop定位算法可以分为以下3个阶段:

( 1) 计算未知节点与每个信标节点的最小跳数。

信标节点向邻居节点广播自身位置信息的分组, 其中包括跳数字段, 初始化为0.接收节点记录具有到每个信标节点的最小跳数, 忽略来自同一个信标节点的较大跳数的分组。然后将跳数值加1,并转发给邻居节点。通过这个方法网络中的所有节点能够记录下到每个信标节点的最小跳数。
  最小跳数的计算方法,首先初始化每一个节点之间的距离,
  然后利用最短路径算法,求出两节点之间的最短条数。具体代码,改日附上,
  可以留言找我要。

( 2) 计算未知节点与信标节点的实际跳段距离。

每个信标节点根据第1阶段中记录的其他信标节点的位置信息和相距跳数, 利用式(1)估算平均每跳的实际距离:

在这里插入图片描述

其中, ( xi, yi )、( xj, yj )是信标节点i、j 的坐标, hj 是信标节点i与j( i≠j)之间的跳段数。

然后, 信标节点将计算的每跳平均距离用带有生存期的字段的分组广播到网络中, 未知节点仅记录接收到的第1个每跳平均距离, 并转发给邻居节点。这个策略可以确保绝大多数未知节点从最近的信标节点接收每跳平均距离。未知节点接收到平均每跳距离后, 根据记录的跳数, 计算到每个信标节点之间的距离。

( 3) 未知节点计算自身位置。
  
  未知节点利用第2阶段中记录的到各个信标节点的跳段距离, 利用三边测量法或极大似然估计法计算出自身坐标。

扫描二维码关注公众号,回复: 8917854 查看本文章

如图1所示, 经过第1和第2阶段, 能够计算出信标节点L1 与L2、L3 之间的距离和跳数。信标节点L2 计算得到校正值(即每跳平均距离)为( 40 +75) / ( 2+ 5) = 16. 42.假设未知节点A 从L2 获得校正值, 则它与3 个信标节点之间的距离分别为L1: 3 ×16. 42, L2: 2 ×16. 42, L3: 3×16. 42, 最后可利用三边测量法确定节点A 的位置。
  
  在这里插入图片描述what is the 描述
  DV -Hop算法采用平均每跳距离来估算实际距离, 对节点的硬件要求低, 实现简单。其缺点是利用跳段距离代替直线距离, 存在一定的误差。

发布了32 篇原创文章 · 获赞 0 · 访问量 3452

猜你喜欢

转载自blog.csdn.net/qq_43213352/article/details/102725782
dv