文章目录
【`获取资源`请见文章第6节:资源获取】1. 原始Dvhop定位2. 基于双曲线的Dvhop定位3. 对原始模型加权4. 部分代码5. 结果展示6. 资源获取7. 参考文献【获取资源
请见文章第6节:资源获取】
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=dui−duj, 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 K、x、y看作未知数,上面式子可以改写为:
由最小二乘法可得:
那么待定位节点坐标可计算得到:
其中, 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;endmean(E1)mean(E2)mean(E3)figure(1)x=(1:UNAmount);box onhold onplot(x,E1,'k-p','MarkerFaceColor','y')hold onplot(x,E2,'k-+','MarkerFaceColor','g')hold onplot(x,E3,'k-o','MarkerFaceColor','r'),axis([1,80,0.18,0.4])hold onlegend('基于双曲线定位的DV-Hop算法','文献10算法','本文改进算法')xlabel('待定位节点') ylabel('定位误差')
5. 结果展示
6. 资源获取
可以获取完整代码资源。
7. 参考文献
易仁杰.基于加权双曲线定位的DV-Hop改进算法
如果觉得《【WSN定位】基于加权双曲线的Dvhop定位算法【Matlab代码#16】》对你有帮助,请点赞、收藏,并留下你的观点哦!