湖南大学无线传感器网络实验报告DVHOP
无线传感器网络实验报告

一、实验背景随着物联网技术的飞速发展,无线传感器网络(Wireless Sensor Networks,WSN)作为一种重要的信息获取和传输手段,在军事、环境监测、智能交通、智能家居等领域得到了广泛应用。
为了深入了解无线传感器网络的工作原理和关键技术,我们进行了本次实验。
二、实验目的1. 熟悉无线传感器网络的基本概念和组成;2. 掌握无线传感器网络的通信协议和拓扑结构;3. 熟悉无线传感器网络的编程与调试方法;4. 通过实验,提高动手能力和实践能力。
三、实验内容1. 无线传感器网络概述无线传感器网络由传感器节点、汇聚节点和终端节点组成。
传感器节点负责感知环境信息,汇聚节点负责收集和转发数据,终端节点负责处理和显示数据。
传感器节点通常由微控制器、传感器、无线通信模块和电源模块组成。
2. 无线传感器网络通信协议无线传感器网络的通信协议主要包括物理层、数据链路层和网络层。
物理层负责无线信号的传输,数据链路层负责数据的可靠传输,网络层负责数据路由和传输。
3. 无线传感器网络拓扑结构无线传感器网络的拓扑结构主要有星形、树形、网状和混合形等。
星形拓扑结构简单,但易受中心节点故障影响;树形拓扑结构具有较高的路由效率,但节点间距离较长;网状拓扑结构具有较高的可靠性和路由效率,但节点间距离较远。
4. 无线传感器网络编程与调试本实验采用ZigBee模块作为无线通信模块,利用IAR Embedded WorkBench开发环境进行编程。
实验内容如下:(1)编写传感器节点程序,实现数据的采集和发送;(2)编写汇聚节点程序,实现数据的收集、处理和转发;(3)编写终端节点程序,实现数据的接收和显示。
5. 实验步骤(1)搭建实验平台,包括传感器节点、汇聚节点和终端节点;(2)编写传感器节点程序,实现数据的采集和发送;(3)编写汇聚节点程序,实现数据的收集、处理和转发;(4)编写终端节点程序,实现数据的接收和显示;(5)调试程序,确保各节点间通信正常;(6)观察实验结果,分析实验现象。
改进的无线传感器网络DV—Hop定位算法的研究

改进的无线传感器网络DV—Hop定位算法的研究摘要DV-Hop算法是无线传感器网络常用的定位算法,本文在现有DV-Hop 算法及其改进思路的基础上,结合无线传感器网络低能耗的要求,提出一种节能的高精度的DV-Hop定位方法。
关键词无线传感器网络;DV-Hop定位算法;节能;改进前言无线传感器网络(Wireless Sensor Networks,WSN)是指在某个区域分布的传感器,通过无线的方式,把这些传感器收集的信息汇集起来,以实现对该区域内特定状态进行监测和控制。
无线传感器网络广泛应用于军事国防、目标追踪、环境感知和健康監测、智能交通等领域。
而在这些领域的大部分应用里,用户所需的数据中,80%需要与位置相关,这就要求无线传感器网络必须具备可靠的定位技术。
无线传感器网络的定位算法主要分为:基于测距和非测距的算法[1]。
DV-Hop 算法属于非测距的定位算法,通过网络连通性和节点之间互相发送信息的方式来计算未知节点的位置[2],功耗小,但定位精度较低[3]。
为此,许多学者提出了许多改进的无线传感器网络DV-Hop定位算法,有效提高了定位的精度,但仍与实际需求有一定的差距[4]。
为提高无线传感器网络节点定位的精度,提出了一种节能的高精度的DV-Hop定位算法。
1 一种节能的高精度的DV-Hop定位方法目前的研究针对DV-Hop算法的各种缺陷,提出了各种不同的改进方法,取得了一定的成果。
但还是还存在着以下一些问题:改进后的算法定位精度提高得不是很明显、增加了节点的能量消耗、算法对网络连通度依赖仍然过高等。
针对上述问题,本文通过研究DV-Hop算法及其改进算法的思路,综合利用各自的优势,讨论如何提高算法的定位精度,该改进算法拟解决下述4个问题:(1)寻找一种新的可控泛洪协议,既不降低泛洪广播方式的可靠性,还能减少信息内爆、重叠等现象,达到降低发送数据包的数量的目的。
在满足定位精度和定位覆盖率的基础上最大限度地降低节点的通信开销。
无线传感器网络中—种基于加权的DV-Hop定位算法

无线传感器网络中—种基于加权的DV-Hop定位算法随着科技的发展,无线传感器网络(WSN)被广泛应用于农业、能源、环境等领域,定位技术成为其重要的研究方向之一。
基于跳数的分布式定位算法(DV-Hop)因其简单、经济和可靠的特点而受到广泛关注。
本文将介绍一种基于加权的DV-Hop定位算法。
传统DV-Hop定位算法利用无线传感器网络中节点的跳数来计算节点的位置,其基本思想是节点利用其跳数信息和锚节点的位置信息来进行三角定位,从而分布式地计算节点位置。
然而,这种方法存在着误差较大的问题。
因此,研究者提出了一种基于加权的算法来解决传统算法中误差较大的问题。
基于加权的DV-Hop定位算法将节点间的距离作为权重,利用跳数和权重的乘积来计算节点的位置,从而减小位置误差。
该算法的基本步骤如下:1. 以锚节点为根节点构建一个拓扑结构,计算任意两个节点之间的距离。
2. 将距离的倒数作为权重,以根节点为起点使用DV-Hop算法计算出所有节点到根节点的距离信息。
3. 利用跳数信息和加权距离信息,通过三角定位算出每个节点的位置。
其中,节点位置的计算可以使用多种三角定位算法,如最小二乘法、加权最小二乘法等。
相比传统DV-Hop定位算法,基于加权的算法不仅考虑跳数信息,而且将距离作为权重,使得定位的精度更高。
同时,该算法没有增加额外的通信开销,因此保持DV-Hop算法的经济性和可靠性。
然而,基于加权的算法在实际应用中仍存在一些问题。
由于节点间的距离或权重可能存在变化,节点位置的准确性会受到影响。
此外,由于算法计算过程相对复杂,需要较高的计算能力。
因此,在实际应用中需要根据实际情况选择合适的算法。
总之,基于加权的DV-Hop定位算法作为一种有效的定位方法,在无线传感器网络中得到了广泛的应用。
然而,在具体应用中,需要充分考虑算法的优缺点,选择合适的算法以提高定位精度和准确性。
无线传感器网络实验报告

无线传感器网络实验报告Contiki mac协议与xmac协议的比较1.简介无线传感器网络(wireless sensor networks, WSN)节点由电池供电,其能力非常有限,同时由于工作环境恶劣以及其他各种因素,节点能源一般不可补充。
因而降低能耗、延长节点使用寿命是所有无线传感器网络研究的重点。
WSN中的能量能耗主要包括通信能耗、感知能耗和计算能耗,其中通信能耗所占的比重最大,因此,减少通信能耗是延长网络生存时间的有效手段。
同时,研究表明节点通信时Radio模块在数据收发和空闲侦听时的能耗几乎相同,所以要想节能就需要最大限度地减少Radio模块的侦听时间(收发时间不能减少),及减小占空比。
传统的无线网络中,主要考虑到问题是高吞吐量、低延时等,不需要考虑能量消耗,Radio 模块不需要关闭,所以传统无线网络MAC协议无法直接应用于WSN,各种针对传感器网络特点的MAC协议相继提出。
现有的WSN MAC协议按照不同的分类方式可以分成许多类型,其中根据信道访问策略的不同可以分为:X-MAC协议X-MAC协议也基于B-MAC协议的改进,改进了其前导序列过长的问题,将前导序列分割成许多频闪前导(strobed preamble),在每个频闪前导中嵌入目的地址信息,非接收节点尽早丢弃分组并睡眠。
X-MAC在发送两个相邻的频闪序列之间插入一个侦听信道间隔,用以侦听接收节点的唤醒标识。
接收节点利用频闪前导之间的时间间隔,向发送节点发送早期确认,发送节点收到早期确认后立即发送数据分组,避免发送节点过度前导和接收节点过度侦听。
X-MAC还设计了一种自适应算法,根据网络流量变化动态调整节点的占空比,以减少单跳延时。
优点:X-MAC最大的优点是不再需要发送一个完整长度的前导序列来唤醒接收节点,因而发送延时和收发能耗都比较小;节点只需监听一个频闪前导就能转入睡眠。
缺点:节点每次醒来探测信道的时间有所增加,这使得协议在低负载网络中能耗性比较差。
无线传感器网络基于跳数及跳距修正的DV-Hop定位算法

无线传感器网络基于跳数及跳距修正的DV-Hop定位算法廖新平【摘要】针对DV-Hop算法在计算跳数时各个节点之间的跳数值与实际跳数值存在较大的定位误差,在估算平均每跳段距离时只选择了最近的信标节点作为参考,利用直接求和的方法计算两节点间的跳数等不足之处,提出了基于跳数及跳距修正的DV-Hop改进算法.改进算法通过跳数的修正以减小跳数的计算误差,在跳数修正的基础上通过归一化加权法修正平均每跳距离.仿真结果表明,DV-Hop算法改进后的定位相对误差明显减小.【期刊名称】《数字技术与应用》【年(卷),期】2015(000)011【总页数】3页(P130-132)【关键词】无线传感器网络;节点定位;跳数;平均每跳段距离;定位误差【作者】廖新平【作者单位】重庆信科设计有限公司重庆400065【正文语种】中文【中图分类】TN929.5;TP212.9无线传感器网络是一种新型的智能网络信息系统,是物联网的重要网络支撑。
近年来,随着物联网技术的发展,无线传感器网络技术得到了广泛的应用。
节点定位技术是无线传感器网络的关键技术之一,也是无线传感器网络应用的前提条件。
只有准确地获取传感器节点的地理位置信息,才能实现对节点进行目标定位、目标追踪、信息查询以及运动轨迹预测。
无线传感器网络节点定位算法从不同的角度分析,无线传感器节点定位算法有许多分类方式,但暂时没有统一的分类标准。
按照定位过程中是否测量距离的方式可以分为基于测距的定位算法和非测距的定位算法[1]。
其中,常见的非测距算法有质心算法[2]、APIT算法[3]、DV-Hop算法[4]、Amorphous算法[5]等。
DV-Hop算法是一种具有很高节点定位覆盖率和较高定位精度,并容易实现(不需辅助装置)的算法。
然而,DV-Hop算法在节点分布不均匀的环境下,跳数的计算以及平均每跳段距离与部分节点之间的实际距离都存在较大误差,容易产生较大的定位误差。
针对DV-Hop定位算法存在的上述不足,文献[6]提出一种基于节点间覆盖关系的DV-Hop改进算法。
无线传感器网络实验报告

无线传感器网络实验报告实验报告:无线传感器网络的应用与优化探究一、实验目的本次实验旨在探究无线传感器网络的应用与优化,具体包括传感器网络的组网方式、数据传输协议的选择与优化等。
二、实验原理及工具1.传感器网络组网方式传感器网络通常采用星型、树型、网状三种组网方式。
星型组网结构简单,但单点故障时整个系统会瘫痪;树型组网结构便于数据的传输与管理,但在拓扑结构发生变化时需要重新组网;网状组网结构形式多样,具有较强的灵活性,但网络维护复杂。
本实验将分别对比三种组网方式的性能差异。
2.数据传输协议的选择与优化实验将分别采用无线传感器网络中常用的LEACH、BCP、SPIN协议进行数据传输。
并通过测试比较它们在不同条件下的性能表现,优化协议选择与参数设置,提高网络的传输效率和能耗。
3.实验工具实验中将使用Contiki操作系统,该操作系统是专门为无线传感器网络设计的,支持多种协议,并提供了实验所需的模拟环境。
三、实验内容及步骤1.组网方式的测试(1)搭建星型、树型、网状三种不同的传感器网络拓扑结构。
(2)分别记录每种网络结构在传输运行时的稳定性、延迟、能耗等性能指标,并进行对比分析。
2.数据传输协议的测试及优化(1) 安装Contiki操作系统,选择LEACH、BCP、SPIN协议,并设置相应的参数进行数据传输实验。
(2)改变实验条件(如节点密度、网络负载等),测试和比较三种协议在不同条件下的性能表现。
(3)根据实验结果,优化协议的参数设置,并比较优化后的协议和原始协议的性能差异。
四、实验结果及讨论1.组网方式的测试实验结果显示,星型组网方式具有简单易实现、维护成本低的特点,但存在单点故障的风险,一旦发生节点故障,整个系统将瘫痪。
树型组网方式在数据传输和管理方面具有一定的优势,但拓扑结构变化时需要重新组网。
网状组网方式相对灵活,但也增加了网络维护的复杂性。
根据实验结果,可以根据具体应用场景的要求选择最适合的组网方式。
无线传感器网络DV-Hop定位算法的研究的开题报告
无线传感器网络DV-Hop定位算法的研究的开题报告I.课题背景与意义随着无线网络技术的发展,无线传感器网络已成为研究热点之一。
无线传感器网络的一项重要应用就是对目标位置进行定位,但是受到无线信号传播的不稳定性、传感器节点位置误差和网络拓扑结构的限制等因素的影响,节点定位精度难以保证。
因此,设计一种高精度的节点定位算法成为无线传感器网络中的研究热点。
传感器网络中的DV-Hop算法是一种经典的定位算法,其原理简单,适用于多种拓扑结构,并且具有较好的定位精度。
因此,本文研究无线传感器网络中DV-Hop定位算法,进一步提高节点定位精度,适应网络中不同的应用场景。
II.研究现状及发展动态近年来,越来越多的研究关注无线传感器网络的节点定位问题。
目前,相关研究主要集中在DV-Hop算法、MDS-MAP算法、半监督学习算法等方面。
其中,DV-Hop算法因其原理简单、易于实现,在无线传感器网络中得到了广泛的应用。
但随着网络规模的增大,节点间距离的误差也会随之增大,影响定位的精度。
因此,如何减少节点定位误差是当前研究的重点。
III.研究对象与内容本文研究对象为无线传感器网络中的DV-Hop节点定位算法。
具体研究内容包括以下三个方面:1.分析DV-Hop算法的原理和定位误差来源,探究其局限性。
2.通过增加节点之间的通信次数,设计一种改进的DV-Hop算法,来提高节点定位精度。
3.在NS2平台上实现算法,并对其进行性能测试,评估改进后算法的可行性和有效性。
IV.研究方法和技术路线本文将采用理论分析与仿真实验相结合的方法,进行研究。
主要包括以下技术路线:1.对DV-Hop算法进行分析,研究其误差来源,并探究提高算法精度的途径。
2.设计改进的DV-Hop算法,并进行相关的数学建模和理论分析。
3.在NS2模拟平台上实现算法,并进行性能测试。
4.对实验结果进行分析和总结,评估改进后算法的可行性和有效性。
V.预期研究成果本文预期研究成果包括以下方面:1.研究了无线传感器网络中DV-Hop节点定位算法的原理,探究其定位误差来源和局限性。
湖南大学无线传感器网络实验报告DV-HOP
HUNAN UNIVERSITY无线传感器网络目:DV-hop定位算法______________生:__________________________号: ______________________完成时间: 2014. 5. 121一、实验目的1、掌握mat lab X具的使用方法。
2、了解DV-hop算法原理,熟悉DV-hop算法代码,分析DV-hop算法实验结果。
二、实验原理DV-hop算法概述(一)基本思想:3、计算位置节点与犀鸟节点的最小跳数4、估算平均每跳的距离,利用最小跳数乘以平均每条的距离,得到未知节点与信标节点之间的估计距离5、利用三遍测量法或者极大似然估计法计算未知节点的坐标(二)定位过程1、信标节点向邻居节点广播自身未知信息的分组,其中包括跳数字段,初始化为02、接受节点记录具有到每条信标节点的最小跳数,忽略来自一个信标节点的较大跳数的分组,然后将跳数数值加1,并转发给邻居节点3、网络中所有节点能够记录下到每个信标节点最小跳数(三)计算未知节点与信标节点的实际跳段距离1、每个信标节点根据记录的其他信标节点的位置信息和相距跳数,估Ejs-x/'+acTj「HopSi二6严——=U~~;——: :算平均每跳距离■•■■■•"":"■ 5 7"•"■•" •2、信标节点将计算的每条平均距离用带有生存期字段的分组广播至网络中,未知节点仅仅记录接受到的第一个每跳平均距离,并转发给邻居节点3、未知节点接受到平均每跳距离后,根据记录的跳数,计算到每个信标节点的跳段距离(四)利用三边测量法或者极大似然估计法计算自身位置4、位置节点利用第二阶段中记录的到每个信标节点的跳段距离,利用三边测量法或者极大似然估计法计算自身坐标三、实验容和步骤DV-hop代码如下:function DV_hop()load '・・/Deploy Nodes/coordinates・mat r:load 1.. /Topology Of WSN/neighbor. mat1:if al 1 nodes・anchors n〈3disp('锚节点少于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;for k=l:all nodes.nodes_nfor i=l:all…nodes・nodes_nfor j=l:all_ nodes .nodes nifshortest path(i t k)+shortest. path(k.j)<shortest path(i・ j)%min(h(i,j),h(i,k)+h(k, j)) shortestpath(i,j)=shortest path(i,k)+shortest path(k,j):endendendendif length(find(shortest path==inf))^=0disp('网络不连通...需要划分连通子图...这里没有考虑这种情况');return;end% 求每个信标节点的校正值anchor to anchor 二shortest path(l:all nodes .anchors n t hall nodes .anchors n): for i=l:all nodes.anchors nhopsize(i)=sum(sqrt(sum(transpose((repmat(all nodes・ true(i,:),al1 nodes・ anchors n,l)-all nodes・true(1:all nodes・3nchors_n,:))・*2))))/sum(anchor to anchor(i t:) );end% ---------- ----------- 每个未知节点开始计算自己的位置for i=al1 nodes・anchors n+1:nl1 nodes.nodes nobtained hops i ze^hops i ze(f i nd(shortest path(i,hall nodes .anchors n)==min(short est path(i, hall, nodes, anchors n))))川未知节点从最近的信标荻得校正值,可能到几个锚节点的跳数相同的情况unknown to anchors dist=transpose(obtained hopsize(1)*shortest path(i f l:all nod es. anchors n));%计算到锚节点的距离二跳数*校正值% 最小一乘法A=2*(al1 nodes・ estimated(l:all nodes・ anchors n~l,:)-repmat(al 1 nodes・ estimated( all nodes・anchors n,:),all nodes・anchors n一1,1)); anchors1ocation_square=transpose(sum(transpose(all nodes・estinuited(l:all nodes .anchors_n,:)・”2)));dist square二unknown to anchors dist・ 2;b=anchors location squared:all nodes .anchors n~l)-anchors location square (al 1 nodes .anchorsn)一dist squared:all nodes .anchors n一l)+dist square(all nodes・snc hors n);all nodes・ estimated(i,:)=transpose(A\b);al1_nodes・ anc_flag(i)=2;endsave '・・/Localization Error/result.mat' all^nodes comm ,r; end通信半径:200m锚节点的通信半径:200m通信模型:Regular Model网络的平均连通度为:31. 3667网络的邻居锚节点平均数目为:6. 5一共300个节点:60个锚节点,240个未知节点,0个不能被定位的未知节点定位误差为0.30127这里在计算节点与锚节点距离时使用跳数相乘距离修正值,实现了对基础DV-hop算法的改进,因此增大通信距离是不能增大算法误差的通信半径:400m锚节点的通信半径:400m通信模型:Regular Model 网络的平均连通度为:100. 6533网络的邻居锚节点平均数目为:19. 39一共300个节点:60个锚节点,240个未知节点,0个不能被定位的未知节点定位误差为0. 26588但是此算法增大锚节点密度对误差减小基本没有意义通信半径:200m锚节点的通信半径:200m通信模型:Regular Model网络的平均连通度为:31.9网络的邻居锚节点平均数目为:18. 7833一共300个节点:180个锚节点,120个未知节点,0个不能被定位的未知节点定位误差为0.31443增大锚节点通信距离会显著增大误差,这是因为修正值修正到平均距离,但是锚节点通信距离与该值偏离很大通信半径:200m锚节点的通信半径:400m通信模型:Regular Model未知节点能侦听到的锚节点平均数目为:20. 7417未知节点通信区域的未知节点平均数目为:25. 4333一共300个节点:60个锚节点,240个未知节点,0个不能被定位的未知节点定位误差为0. 63806不规则的通信也会严重影响这种基于跳数估计距离的定位算法通信半径:200m锚节点的通信半径:200m通信模型:DOI ModelDOI 二0.015网络的平均连通度为:41.33网络的邻居锚节点平均数目为:7. 98一共300个节点:60个锚节点,240个未知节点,0个不能被定位的未知节点定位误差为1.0595算法改进:要设计更加合理的估计跳数距离的方法,克服通信模型不规则和通信距离带来的影响。
无线传感器网络实验报告
无线传感器网络实验报告无线传感器网络实验报告引言:无线传感器网络(Wireless Sensor Networks,简称WSN)是一种由大量分布式无线传感器节点组成的网络系统。
这些节点能够感知环境中的各种物理量,并将所感知到的信息通过无线通信传输给基站或其他节点。
WSN广泛应用于农业、环境监测、智能交通等领域。
本实验旨在通过搭建一个简单的无线传感器网络系统,了解其工作原理和性能特点。
一、实验背景无线传感器网络是现代信息技术的重要组成部分,其应用领域广泛且前景十分广阔。
通过实验,我们可以深入了解WSN的工作原理和应用场景,为今后的研究和开发提供基础。
二、实验目的1. 掌握无线传感器网络的基本概念和原理;2. 理解无线传感器网络的组网方式和通信协议;3. 了解无线传感器网络的性能特点和应用领域。
三、实验设备1. 无线传感器节点:本实验使用了10个无线传感器节点,每个节点都具备感知和通信功能;2. 基站:作为无线传感器网络的中心节点,负责接收并处理来自传感器节点的数据;3. 电脑:用于控制和监控整个无线传感器网络系统。
四、实验步骤1. 搭建无线传感器网络:将10个传感器节点分别放置在不同的位置,并保证它们之间的通信范围有重叠部分;2. 配置传感器节点参数:通过电脑连接到基站,对每个传感器节点进行参数配置,包括通信频率、传输功率等;3. 数据采集与传输:传感器节点开始感知环境中的物理量,并将采集到的数据通过无线通信传输给基站;4. 数据处理与展示:基站接收到传感器节点的数据后,进行数据处理和分析,并将结果展示在电脑上。
五、实验结果与分析通过实验,我们成功搭建了一个简单的无线传感器网络系统,并进行了数据采集和传输。
我们发现,传感器节点能够准确地感知环境中的物理量,并将数据可靠地传输给基站。
基站对接收到的数据进行了处理和分析,展示了环境中物理量的变化趋势。
六、实验总结通过本次实验,我们深入了解了无线传感器网络的工作原理和性能特点。
dvhop定位算法例题
dvhop定位算法例题DV-HOP定位算法例题DV-HOP(Distance Vector Hop)是一种基于跳数的定位算法,适用于无线传感器网络中的节点定位。
该算法通过测量节点之间的跳数和信号强度来估计节点的位置。
下面我们通过一个例题来详细介绍DV-HOP定位算法的原理和步骤。
假设有一个无线传感器网络,其中包含了10个节点,节点之间的距离如下图所示:```A---B---C---D| | |E---F---G---H| |I-------J```我们的目标是通过DV-HOP算法来估计每个节点的位置。
首先,我们需要选择几个已知位置的节点作为锚节点。
在这个例题中,我们选择节点A、D和J作为锚节点,它们的位置已知。
接下来,我们需要通过测量节点之间的跳数和信号强度来计算节点的位置。
假设节点A测量到节点B的跳数为1,节点B测量到节点C的跳数为1,节点C测量到节点D的跳数为1,节点A测量到节点E的跳数为1,节点E测量到节点F的跳数为1,节点F测量到节点G的跳数为1,节点G测量到节点H的跳数为1,节点E测量到节点I的跳数为1,节点I测量到节点J的跳数为1。
然后,我们需要计算每个节点的平均跳数。
节点A的平均跳数为1,节点B的平均跳数为2,节点C的平均跳数为3,节点D的平均跳数为4,节点E的平均跳数为2,节点F的平均跳数为3,节点G的平均跳数为4,节点H的平均跳数为5,节点I的平均跳数为3,节点J的平均跳数为2。
接下来,我们需要计算每个节点的平均信号强度。
假设节点A测量到节点B的信号强度为-60dBm,节点B测量到节点C的信号强度为-65dBm,节点C测量到节点D的信号强度为-70dBm,节点A测量到节点E的信号强度为-55dBm,节点E测量到节点F的信号强度为-60dBm,节点F测量到节点G的信号强度为-65dBm,节点G测量到节点H的信号强度为-70dBm,节点E测量到节点I的信号强度为-55dBm,节点I测量到节点J的信号强度为-60dBm。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
湖南大学无线传感器网络实验报告DV-HOP————————————————————————————————作者: ————————————————————————————————日期:无线传感器网络题目:DV-hop定位算法学生:学号:ﻩ完成时间: 2014.5.121一、实验目的1、掌握matlab工具的使用方法。
2、了解DV-hop算法原理,熟悉DV-hop算法代码,分析DV-hop 算法实验结果。
二、实验原理DV-hop算法概述(一)基本思想:3、计算位置节点与犀鸟节点的最小跳数4、估算平均每跳的距离,利用最小跳数乘以平均每条的距离,得到未知节点与信标节点之间的估计距离5、利用三遍测量法或者极大似然估计法计算未知节点的坐标(二)定位过程1、信标节点向邻居节点广播自身未知信息的分组,其中包括跳数字段,初始化为02、接受节点记录具有到每条信标节点的最小跳数,忽略来自一个信标节点的较大跳数的分组,然后将跳数数值加1,并转发给邻居节点3、网络中所有节点能够记录下到每个信标节点最小跳数(三)计算未知节点与信标节点的实际跳段距离1、每个信标节点根据记录的其他信标节点的位置信息和相距跳数,估算平均每跳距离2、信标节点将计算的每条平均距离用带有生存期字段的分组广播至网络中,未知节点仅仅记录接受到的第一个每跳平均距离,并转发给邻居节点3、未知节点接受到平均每跳距离后,根据记录的跳数,计算到每个信标节点的跳段距离(四)利用三边测量法或者极大似然估计法计算自身位置4、位置节点利用第二阶段中记录的到每个信标节点的跳段距离,利用三边测量法或者极大似然估计法计算自身坐标三、实验内容和步骤DV-hop代码如下:function DV_hop()load'../Deploy Nodes/coordinates.mat';load'../TopologyOfWSN/neighbor.mat';if all_nodes.anchors_n<3disp('锚节点少于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;for k=1:all_nodes.nodes_nfori=1:all_nodes.nodes_nforj=1:all_nodes.nodes_nifshortest_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);endendendendiflength(find(shortest_path==inf))~=0disp('网络不连通...需要划分连通子图...这里没有考虑这种情况');return;end%~~~~~~~~~~~~~~~~~~~~~~~~~求每个信标节点的校正值~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~anchor_to_anchor=shortest_path(1:all_nodes.anchors_n,1:all_nodes.anchors_n);fori=1:all_nodes.anchors_nhopsize(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,:));end%~~~~~~~~~~~~~~~~~~~~~~~每个未知节点开始计算自己的位置~~~~~~~~~~~~~~~~~~~~for i=all_nodes.anchors_n+1:all_nodes.nodes_nobtained_hopsize=hopsize(find(shortest_path(i,1:all_nodes.anc hors_n)==min(shortest_path(i,1:all_nodes.anchors_n))));%未知节点从最近的信标获得校正值,可能到几个锚节点的跳数相同的情况unknown_to_anchors_dist=transpose(obtained_hopsize(1)*sho rtest_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_nod es.estimated(1:all_nodes.anchors_n,:).^2)));dist_square=unknown_to_anchors_dist.^2;b=anchors_location_square(1:all_nodes.anchors_n-1)-an chors_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;end%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~save '../Localization Error/result.mat' all_nodes comm_r;end通信半径:200m锚节点的通信半径:200m通信模型:RegularModel网络的平均连通度为:31.3667网络的邻居锚节点平均数目为:6.5一共300个节点:60个锚节点,240个未知节点,0个不能被定位的未知节点定位误差为0.30127这里在计算节点与锚节点距离时使用跳数相乘距离修正值,实现了对基础DV-hop算法的改进,因此增大通信距离是不能增大算法误差的通信半径:400m锚节点的通信半径:400m通信模型:Regular Model网络的平均连通度为:100.6533网络的邻居锚节点平均数目为:19.39一共300个节点:60个锚节点,240个未知节点,0个不能被定位的未知节点定位误差为0.26588但是此算法增大锚节点密度对误差减小基本没有意义通信半径:200m锚节点的通信半径:200m通信模型:RegularModel网络的平均连通度为:31.9网络的邻居锚节点平均数目为:18.7833一共300个节点:180个锚节点,120个未知节点,0个不能被定位的未知节点定位误差为0.31443增大锚节点通信距离会显著增大误差,这是因为修正值修正到平均距离,但是锚节点通信距离与该值偏离很大通信半径:200m锚节点的通信半径:400m通信模型:Regular Model未知节点能侦听到的锚节点平均数目为:20.7417未知节点通信区域内的未知节点平均数目为:25.4333一共300个节点:60个锚节点,240个未知节点,0个不能被定位的未知节点定位误差为0.63806不规则的通信也会严重影响这种基于跳数估计距离的定位算法通信半径:200m锚节点的通信半径:200m通信模型:DOI ModelDOI=0.015网络的平均连通度为:41.33网络的邻居锚节点平均数目为:7.98一共300个节点:60个锚节点,240个未知节点,0个不能被定位的未知节点定位误差为1.0595算法改进:要设计更加合理的估计跳数距离的方法,克服通信模型不规则和通信距离带来的影响。
四、实验总结虽然DV-Hop算法相对基于测距的定位技术精度较低,但不需要节点具备测距能力,无需额外硬件、能耗较低、受环境影响较小,算法简单,易于实现,对于各向同性的密集网络,可以得到合理的平均每跳距离,定位精度等方面能满足大多数应用的要求,在硬件尺寸和功耗上更适合大规模低能耗的WSN,是目前备受关注的定位机制,许多定位系统都采用了该算法来实现。
由于节点是随机部署的,未知节点与信标节点之间的跳段距离通常不是二者之间的直线距离。
在各向同性的密集网络中,校正值才能合理地估算平均每跳距离,这是基于多跳的定位算法普遍存在的问题,采用DV-Hop算法过大估计了跳段的距离;未知节点计算与信标节点之间的跳数,结果都是整数,这大约增加了0.5个平均跳数的误差。
通过DV-Hop算法中节点间距离度量的分析,可以发现利用这些距离没有反映出信标节点对节点位置的影响力的大小,影响了定位精度。