DV-Hop定位算法研究.pptx
《DV-Hop定位算法研究.pptx》由会员分享,可在线阅读,更多相关《DV-Hop定位算法研究.pptx(20页珍藏版)》请在冰豆网上搜索。
DV-Hop定位算法研究,01.引言02.DV-HOP定位算法03.基于锚节点部署的DV-Hop改进算法04.MATLAB仿真分析,目录,Part01,引言,引言,01,网络在初始化阶段具有相对某全局坐标系的已知位置信息的传感器节点,可以为其它传感器节点提供位置参考,在有些文献中也称为信标节点或导标节点(BeaconNodes)。
通常锚节点在节点总数中所占比例比较小,可以通过装配GPS模块或者人工配置等方式来预先获得精确位置信息。
锚节点(AnchorNodes):
图1-1传感器网络中的锚节点和未知节点,黑色代表锚节点,白色代表未知节点,所有的传感器节点中除了锚节点以外的节点称之为未知节点。
这些节点不能预先获得自身位置信息,需要通过节点定位来获得相应的位置信息,有些文献中也称之为盲节点(BlindNode)。
未知节点(UnknownNodes):
基本概念及术语,01,引言,节点定位算法分类,基于测距定位方法,无需测距定位方法,需要测量相邻节点间的绝对距离或方位,并利用节点间的实际距离来计算未知节点的位置;在理想的通信环境下,不考虑传感器节点的成本和功耗的前提下,能够获得精确的定位结果;需要传感器节点用一些附加的硬件,必然增加整个网络的成本;通过获取电波信号参数,如RSSI、TOA、TDOA、AOA等,再计算节点或目标的位置。
无需测量节点间的绝对距离或方位,利用节点间估计的距离计算节点位置;硬件设备简单,网络成本低,功耗小,受环境因素影响较小;典型算法有质心定位算法、DV-Hop算法、APIT算法、凸规划定位算法等。
02,DV-HOP定位算法,核心思想,核心思想,DV-HOP定位算法的核心思想是未知节点通过锚节点广播信息的方法获得未知节点和错节点之间的最小跳数,并计算单跳矫正值,以最小跳数和单跳矫正值的乘积作为未知节点和锚节点之间的估计距离。
02,DV-HOP定位算法,算法步骤
(1),
(1)计算未知节点与锚节点间的最小跳数,采用典型的距离矢量路由交换协议,锚节点向邻居节点广播锚节点信息,包含锚节点ID、坐标和跳数(初始值为0)。
收到送些信息的传感器节点记录锚节点的相关信息,并且将对应的跳数值加1,然后转发给它的邻居节点,这样网络中的所有节点能够记录每个锚节点的位置和对应的最小跳数。
为了减少网络通信量,节点可以丢弃无效的锚节点信息。
如果某个未知节点己经记录了某个锚节点的相关信息,则进行跳数判断,如果接收到信息中的跳数加1不小于该未知节点己经记录的最小跳数,则认为这条信息是无效的,丢弃而且不转发此消息。
02,DV-HOP定位算法,算法步骤
(2),
(2)计算未知节点与锚节点的实际跳段距离,锚节点在第一阶段中记录了其它锚节点的坐标和最小跳数,如果想获得未知节点的位置,我们还需要估计每跳的平均距离,又称之为单跳矫正值:
=()2+()2其中,(),()是锚节点,的坐标,是锚节点与(j)之间的跳段数。
然后锚节点将自己的单跳矫正值广播给自己的邻居节点,邻居节点进行转发,最终所有节点都可以接收到锚节点的单跳矫正值。
未知节点将离其最近的锚节点的单跳矫正值作为其计算估计距离的单跳矫正值,然后根据记录的最小跳数估算它到锚节点的距离=,02,DV-HOP定位算法,算法步骤(3),(3)利用三边测量法或者极大似然估计法计算自身位置,未知节点利用第二阶段获得到各个锚节点的估计距离,然后根据三边测量法或者最大似然估计法可以计算其估计坐标。
三边测量法:
极大似然估计法类似于三边测量法,不同的是未知节点知道到三个以上锚节点之间的距离。
C,D,B,A,02,DV-HOP定位算法,算法举例,1,2,3,A,举例说明:
如右图所示,已知锚节点1与2、3之间的距离和跳数;由2计算得到平均每跳距离:
(40+75)/(2+5)=16.42;假设A从2获取平均每跳距离,则它与三个节点之间的距离分别为1:
3*16.42,2:
2*16.42,3:
3*16.42;然后使用三边测量法确定节点A的位置。
40m,75m,100m,02,DV-HOP定位算法,应用背景及优、缺点,优点,缺点,算法结构简单易实现,计算量小;扩展性好;无需精确的测距方式,硬件要求低,成本低。
性能受节点密度影响大,节点密度大,精确度高;锚节点定位分布情况影响定位精度。
应用背景,大规模网络中,目标节点无法与足够多的锚节点直接通信;节点随机部署,只有锚节点可以精确定位。
Part03,基于锚节点部署的DV-Hop定位算法,03,基于锚节点部署的DV-Hop定位算法,问题描述,锚节点需要广播两次消息到整个无线传感器网络才能完成定位计算:
第一次用來获得节点之间的最小跳数;第二次是用来广播锚节点计算的单跳矫正值给每一个未知节点。
两次广播造成了网络中大量的通信,而大量的通信必然造成大量的能量消耗。
用锚节点将网络进行区域划分,以进一步减少网络通信量。
03,其中9个“o”号为锚节点,其余“*”号是未知节点,总共有100个节点,锚节点所占比例为9%,横轴50和纵轴50的虚线可以看成是将区域划分成4个小的区域。
未知节点只利用离其最近的4个锚节点,并且送4个锚节点应该在未知节点所属区域的4个角落附近位置,因此改进的算法称之为四角DV-HOP定位算法。
这个锚节点部署在现实当中也是可能实现的,比如飞机在空投的时候,根据锚节点的数量隔几个未知节点空投一个。
基于锚节点部署的DV-Hop定位算法,锚节点部署,03,基于锚节点部署的DV-Hop定位算法,四角DV-HOP定位算法,Step2,Step3,Step4,Step1,广播消息初始化。
消息包含锚节点坐标、锚节点ID和最小跳数。
计算单跳矫正值并广播到所属区域。
获得小区域附近节点之间的最小跳数。
设置最小跳数阈值为6(适用上图的锚节点部署),根据所属区域的4个锚节点进行位置计算。
Part04,MATLAB仿真分析,04,MATLAB仿真分析,MATLAB仿真模拟DV-Hop算法,通信区域100m*100m,随机部署100个传感器节点,锚节点数目为8个,通信半径50m。
04,MATLAB仿真分析,MATLAB仿真模拟DV-Hop算法,通过仿真分析得知,DV-Hop定位算法误差较大,需要改进。
THANKYOU,