> 文章列表 > 【WSN定位】基于加权双曲线的Dvhop定位算法【Matlab代码#16】

【WSN定位】基于加权双曲线的Dvhop定位算法【Matlab代码#16】

【WSN定位】基于加权双曲线的Dvhop定位算法【Matlab代码#16】

文章目录

    • 1. 原始Dvhop定位
    • 2. 基于双曲线的Dvhop定位
    • 3. 对原始模型加权
    • 4. 部分代码
    • 5. 结果展示
    • 6. 资源获取
    • 7. 参考文献

1. 原始Dvhop定位

可参考Dvhop定位算法

2. 基于双曲线的Dvhop定位

双曲线定位算法是一种通过将待定位节点定位在以锚节点为焦点、两锚节点之间距离为焦距的双曲线上,根据各双曲线之间的交点确定待定位节点坐标的多边定位算法。待定位节点 u u u与锚节点 i i i之间的距离为:
在这里插入图片描述
假设 u u u到锚节点 i i i的距离与到锚节点 j j j的距离之差为 r i j r_{ij} rij,则有 r i j = d u i − d u j r_{ij}=d_{ui}-d_{uj} rij=duiduj u u u位于以锚节点 i i i j j j ( j ≠ i ) (j≠i) (j=i为焦点、到焦点距离差值为r_{ij}的双曲线上。
在这里插入图片描述
K = x 2 + y 2 K=x^2+y^2 K=x2+y2,带入误差项后可得:
在这里插入图片描述
K 、 x 、 y K、x、y Kxy看作未知数,上面式子可以改写为:
在这里插入图片描述
由最小二乘法可得:
在这里插入图片描述
那么待定位节点坐标可计算得到:
在这里插入图片描述
其中, c ( 2 ) c(2) c(2)表示列向量 c c c的第二项, c ( 3 ) c(3) c(3)表示列向量 c c c的第三项。

3. 对原始模型加权

加权最小二乘法的思想是对原模型进行加权,对误差项方差较大的观测值赋予较小的权值,而对误差项方差较小的观测值赋予较大的权值,使之成为一个新的不存在异方差性的模型。加权最小二乘估计的性能指标为:
在这里插入图片描述
其中, W W W为正定的权值矩阵。

4. 部分代码

for i=1:UNAmountE1(i)=mean(error1(:,i))/R;E2(i)=mean(error2(:,i))/R;E3(i)=mean(error3(:,i))/R;
end
mean(E1)
mean(E2)
mean(E3)
figure(1)
x=(1:UNAmount);
box on
hold on
plot(x,E1,'k-p','MarkerFaceColor','y')
hold on
plot(x,E2,'k-+','MarkerFaceColor','g')
hold on
plot(x,E3,'k-o','MarkerFaceColor','r'),axis([1,80,0.18,0.4])
hold on
legend('基于双曲线定位的DV-Hop算法','文献10算法','本文改进算法')
xlabel('待定位节点') 
ylabel('定位误差')

5. 结果展示

【WSN定位】基于加权双曲线的Dvhop定位算法【Matlab代码#16】
【WSN定位】基于加权双曲线的Dvhop定位算法【Matlab代码#16】

6. 资源获取

A资源获取说明

7. 参考文献

易仁杰.基于加权双曲线定位的DV-Hop改进算法