湖南大学无线传感器网络实验报告DV-HOPWord下载.docx

上传人:wj 文档编号:8429803 上传时间:2023-05-11 格式:DOCX 页数:11 大小:199.67KB
下载 相关 举报
湖南大学无线传感器网络实验报告DV-HOPWord下载.docx_第1页
第1页 / 共11页
湖南大学无线传感器网络实验报告DV-HOPWord下载.docx_第2页
第2页 / 共11页
湖南大学无线传感器网络实验报告DV-HOPWord下载.docx_第3页
第3页 / 共11页
湖南大学无线传感器网络实验报告DV-HOPWord下载.docx_第4页
第4页 / 共11页
湖南大学无线传感器网络实验报告DV-HOPWord下载.docx_第5页
第5页 / 共11页
湖南大学无线传感器网络实验报告DV-HOPWord下载.docx_第6页
第6页 / 共11页
湖南大学无线传感器网络实验报告DV-HOPWord下载.docx_第7页
第7页 / 共11页
湖南大学无线传感器网络实验报告DV-HOPWord下载.docx_第8页
第8页 / 共11页
湖南大学无线传感器网络实验报告DV-HOPWord下载.docx_第9页
第9页 / 共11页
湖南大学无线传感器网络实验报告DV-HOPWord下载.docx_第10页
第10页 / 共11页
湖南大学无线传感器网络实验报告DV-HOPWord下载.docx_第11页
第11页 / 共11页
亲,该文档总共11页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

湖南大学无线传感器网络实验报告DV-HOPWord下载.docx

《湖南大学无线传感器网络实验报告DV-HOPWord下载.docx》由会员分享,可在线阅读,更多相关《湖南大学无线传感器网络实验报告DV-HOPWord下载.docx(11页珍藏版)》请在冰点文库上搜索。

湖南大学无线传感器网络实验报告DV-HOPWord下载.docx

(一)基本思想:

3、计算位置节点与犀鸟节点的最小跳数

4、估算平均每跳的距离,利用最小跳数乘以平均每条的距离,得到未知节点与信标节点之间的估计距离

5、利用三遍测量法或者极大似然估计法计算未知节点的坐标

(二)定位过程

1、信标节点向邻居节点广播自身未知信息的分组,其中包括跳数字段,初始化为0

2、接受节点记录具有到每条信标节点的最小跳数,忽略来自一个信标节点的较大跳数的分组,然后将跳数数值加1,并转发给邻居节点

3、网络中所有节点能够记录下到每个信标节点最小跳数

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

1、每个信标节点根据记录的其他信标节点的位置信息和相距跳数,估算平均每跳距离

2、信标节点将计算的每条平均距离用带有生存期字段的分组广播至网络中,未知节点仅仅记录接受到的第一个每跳平均距离,并转发给邻居节点

3、未知节点接受到平均每跳距离后,根据记录的跳数,计算到每个信标节点的跳段距离

(四)利用三边测量法或者极大似然估计法计算自身位置

4、位置节点利用第二阶段中记录的到每个信标节点的跳段距离,利用三边测量法或者极大似然估计法计算自身坐标

三、实验内容和步骤

DV-hop代码如下:

functionDV_hop()

load'

../DeployNodes/coordinates.mat'

;

../TopologyOfWSN/neighbor.mat'

ifall_nodes.anchors_n<

3

disp('

锚节点少于3个,DV-hop算法无法执行'

);

return;

end

%~~~~~~~~~~~~~~~~~~~~~~~~~最短路经算法计算节点间跳数~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

shortest_path=neighbor_matrix;

shortest_path=shortest_path+eye(all_nodes.nodes_n)*2;

shortest_path(shortest_path==0)=inf;

shortest_path(shortest_path==2)=0;

fork=1:

all_nodes.nodes_n

fori=1:

forj=1:

ifshortest_path(i,k)+shortest_path(k,j)<

shortest_path(i,j)%min(h(i,j),h(i,k)+h(k,j))

shortest_path(i,j)=shortest_path(i,k)+shortest_path(k,j);

end

end

end

iflength(find(shortest_path==inf))~=0

网络不连通...需要划分连通子图...这里没有考虑这种情况'

%~~~~~~~~~~~~~~~~~~~~~~~~~求每个信标节点的校正值~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

anchor_to_anchor=shortest_path(1:

all_nodes.anchors_n,1:

all_nodes.anchors_n);

fori=1:

all_nodes.anchors_n

hopsize(i)=sum(sqrt(sum(transpose((repmat(all_nodes.true(i,:

),all_nodes.anchors_n,1)-all_nodes.true(1:

all_nodes.anchors_n,:

)).^2))))/sum(anchor_to_anchor(i,:

));

%~~~~~~~~~~~~~~~~~~~~~~~每个未知节点开始计算自己的位置~~~~~~~~~~~~~~~~~~~~

fori=all_nodes.anchors_n+1:

obtained_hopsize=hopsize(find(shortest_path(i,1:

all_nodes.anchors_n)==min(shortest_path(i,1:

all_nodes.anchors_n))));

%未知节点从最近的信标获得校正值,可能到几个锚节点的跳数相同的情况

unknown_to_anchors_dist=transpose(obtained_hopsize

(1)*shortest_path(i,1:

all_nodes.anchors_n));

%计算到锚节点的距离=跳数*校正值

%~~~~~~~~~~最小二乘法~~~~~~~~~~~~~~~`

A=2*(all_nodes.estimated(1:

all_nodes.anchors_n-1,:

)-repmat(all_nodes.estimated(all_nodes.anchors_n,:

),all_nodes.anchors_n-1,1));

anchors_location_square=transpose(sum(transpose(all_nodes.estimated(1:

).^2)));

dist_square=unknown_to_anchors_dist.^2;

b=anchors_location_square(1:

all_nodes.anchors_n-1)-anchors_location_square(all_nodes.anchors_n)-dist_square(1:

all_nodes.anchors_n-1)+dist_square(all_nodes.anchors_n);

all_nodes.estimated(i,:

)=transpose(A\b);

all_nodes.anc_flag(i)=2;

%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

save'

../LocalizationError/result.mat'

all_nodescomm_r;

end

通信半径:

200m

锚节点的通信半径:

通信模型:

RegularModel

网络的平均连通度为:

31.3667

网络的邻居锚节点平均数目为:

6.5

一共300个节点:

60个锚节点,240个未知节点,0个不能被定位的未知节点

定位误差为0.30127

这里在计算节点与锚节点距离时使用跳数相乘距离修正值,实现了对基础DV-hop算法的改进,因此增大通信距离是不能增大算法误差的

400m

100.6533

19.39

定位误差为0.26588

但是此算法增大锚节点密度对误差减小基本没有意义

31.9

18.7833

180个锚节点,120个未知节点,0个不能被定位的未知节点

定位误差为0.31443

增大锚节点通信距离会显著增大误差,这是因为修正值修正到平均距离,但是锚节点通信距离与该值偏离很大

未知节点能侦听到的锚节点平均数目为:

20.7417

未知节点通信区域内的未知节点平均数目为:

25.4333

定位误差为0.63806

不规则的通信也会严重影响这种基于跳数估计距离的定位算法

DOIModel

DOI=0.015

41.33

7.98

定位误差为1.0595

算法改进:

要设计更加合理的估计跳数距离的方法,克服通信模型不规则和通信距离带来的影响。

四、实验总结

虽然DV-Hop算法相对基于测距的定位技术精度较低,但不需要节点具备测距能力,无需额外硬件、能耗较低、受环境影响较小,算法简单,易于实现,对于各向同性的密集网络,可以得到合理的平均每跳距离,定位精度等方面能满足大多数应用的要求,在硬件尺寸和功耗上更适合大规模低能耗的WSN,是目前备受关注的定位机制,许多定位系统都采用了该算法来实现。

由于节点是随机部署的,未知节点与信标节点之间的跳段距离通常不是二者之间的直线距离。

在各向同性的密集网络中,校正值才能合理地估算平均每跳距离,这是基于多跳的定位算法普遍存在的问题,采用DV-Hop算法过大估计了跳段的距离;

未知节点计算与信标节点之间的跳数,结果都是整数,这大约增加了0.5个平均跳数的误差。

通过DV-Hop算法中节点间距离度量的分析,可以发现利用这些距离没有反映出信标节点对节点位置的影响力的大小,影响了定位精度。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 军事

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2