DV-Hop算法1——最基础算法的介绍

这里写自定义目录标题

#DV-Hop算法实现
原始 DV-Hop 算法在 2003 年被 Dragos Niculescu 率先提出,其核心思想主要包括如下三步:
##步骤1:节点间最小跳数的计算
各信标节点以泛洪的方式向网络中广播数据包,主要包括信标节点的位置坐标和初始化为0的跳数值。当相邻的节点收到后,仅保存来自同一信标的最小跳数值作为到该信标节点的最小跳数,并将数值加1后继续传递给相邻节点。泛洪结束后,所有节点都能够知道各信标节点的最小跳数。
##步骤2:节点间距离的估算
信标节点采取无偏估计的方式计算平均跳距,如下公式
在这里插入图片描述
上式中, A H S i AHS_i AHSi代表信标节点i的平均跳距, N a N_a Na为信标节点的个数,( x i x_i xi, y i y_i yi)和( x j x_j xj, y j y_j yj)分别代表信标节点i和j的位置坐标, h i j h_{ij} hij代表信标节点i和j之间的最小跳数。
信标节点的平均跳距向网络中广播后,未知节点取率先收到的信标节点的平均跳距作为自己的平均跳距,可根据以下公式求得未知节点与信标节点的估计距离。
d u i = A H S u ∗ h u i d_{ui}=AHS_u *h_{ui} dui=AHSuhui
上式中, A H S u AHS_u AHSu代表未知节点u的平均跳距, h u i h_{ui} hui d u i d_{ui} dui分别为信标节点i到未知节点u的最小跳数和估计距离。
##步骤3:未知节点坐标的求取
在对距离进行估算之后,结合信标节点的已知信息,得出以下距离方程组:
在这里插入图片描述
将前 N a N_a Na-1个方程依次减去最后一个方程,可以得到线性化的方程组:
在这里插入图片描述
用最小二乘法求解上式可以得出未知节点的坐标:
X = ( A T A ) − 1 A T B X=(A^TA)^{-1}A^TB X=(ATA)1ATB
在这里插入图片描述
以上三个步骤实现DV-Hop算法对节点的定位。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值