一种改进的无线传感器网络DV-Hop定位算法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一种改进的无线传感器网络DV-Hop定位算法
沈学利;陈光
【摘要】针对现有无线传感器网络DV-Hop算法定位精度低、锚节点成本高的问题,给出最小偏离度的概念,并在此基础上提出一种改进算法AADV-Hop.通过寻找最小偏离度降低定位算法整体的平均定位误差,采用锚节点间的真实距离修正未知节点到锚节点距离的计算方法,以替代传统DV-Hop算法通过跳数与平均跳距的乘积得到的距离.仿真结果表明,当网络中锚节点数量较少时,AADV-Hop算法可有效提高定位精度,当最小偏离度为0.03时定位精度最高.
【期刊名称】《计算机工程》
【年(卷),期】2015(041)007
【总页数】5页(P115-119)
【关键词】无线传感器网络;DV-Hop算法;最小偏离度;锚节点;定位精度
【作者】沈学利;陈光
【作者单位】辽宁工程技术大学电子与信息工程学院,辽宁葫芦岛125105;辽宁工程技术大学电子与信息工程学院,辽宁葫芦岛125105
【正文语种】中文
【中图分类】TP393
中文引用格式:沈学利,陈光.一种改进的无线传感器网络DV⁃Hop定位算法[J].计算机工程,2015,41(7):115⁃119.
英文引用格式:Shen Xueli,Chen Guang.An Improved DV⁃Hop Location
Algorithm for W ireless Sensor Network[J].Computer Engineering,2015,41(7):115⁃119.
无线传感器网络(W ireless Sensor Network,WSN)是指由大量低成本传感器通过无线技术组成的网络。
20世纪90年代以来,随着信息技术、网络技术、无
线通信技术的快速发展,无线传感器网络[1]引起了人们极大的关注与研究。
定位技术是无线传感器网络的关键技术,因此,对于节点定位的研究至关重要,它能实现对目标的跟踪和实时监视。
现有的定位方法主要包括基于测距技术的定位和无需测距技术的定位[2]。
在基于测距定位技术算法中,主要包括RRSI,TOA,TDOA以及AOA等算法[3⁃5],这些算法虽然对定位精度有一定可取之处,但
由于需要额外的硬件支持,因此花费成本较大,不适合低成本的无线传感器领域,所以,必须尽量做到用最小的硬件开销来实现对节点的定位。
无需测距技术的定位算法主要包括质心算法[6]、APIT算法[7]以及DV⁃Hop算法[8⁃9]等。
WSN中基于非测距的定位是当前的研究热点,世界各地的专家和学者对其关注度日益增加,积累了大量的学术研究成果。
由于其具有低成本、低功耗、自组织的优点目前被广泛应用到生态环境检测、生物医疗、危险地区远程控制等领域。
随着无线传感器网络技术的发展,需要解决的问题也越来越多,主要包括无线传感器网络定位、网络覆盖以及数据安全等。
本文介绍DV⁃Hop定位算法的基本原理,分析该算法的定位误差原因,针对网络
中锚节点数量较少时的情况对DV⁃Hop算法进行改进,给出最小偏离度的概念,
设计AADV⁃Hop算法。
2.1 DV⁃Hop算法原理
DV⁃Hop算法是由Niculescu等人提出的,该算法实现简单,比较适用于硬件条
件支持有限的无线传感器网络环境。
DV⁃Hop算法的核心思想是:通过收集未知节点与锚节点的最小跳数,利用网络
中的平均每跳距离与最小跳数的乘积表示未知节点到锚节点的距离。
DV⁃Hop算法定位过程分为3个阶段:
第1阶段计算获取未知节点与每个锚节点之间的最小跳数。
锚节点采用泛洪的方
式广播自己的位置信息给邻居节点,接收节点到每个锚节点的最小跳数,并将跳数值加1然后转发给邻居节点。
用以此方法即可记录各锚节点的最小跳数。
第2阶段计算到锚节点间的平均每跳距离。
由第一阶段中记录的各锚节点和其他
锚节点间的位置及最小跳数信息。
根据式(1)可估算出各锚节点间的平均跳距:其中,(xi,yi)和(xj,yj)分别表示锚节点i,j的坐标;hj表示锚节点i与j间的跳数。
第3阶段获取未知节点的信息位置。
当得到3个或3个以上未知节点与锚节点的距离以后,利用三边测量法计算未知节点的位置坐标:
2.2 DV⁃Hop算法误差分析
在DV⁃Hop算法中,采用锚节点之间的每跳平均距离作为未知节点到锚节点的平
均每跳跳距,并通过平均每跳距离与跳数的乘积来表示未知节点到锚节点间的距离。
但平均每跳距离值采用的是未知节点从最近的锚节点获取的跳距,而单个锚节点估计的平均每跳距离值无法准确反映全网络的实际情况。
由于无线传感器网络中的节点分布是随机的,使得节点之间的跳距不尽相同,而且通信路径并非都是直线,因此未知节点的定位精度偏低。
DV⁃Hop定位算法比较适合锚节点分布均匀、密集
型的无线传感器网络,因为在这种情况下求得的每跳平均距离值才能更接近实际距离值。
2.3 现有DV⁃Hop改进算法分析
DV⁃Hop定位算法是目前应用最为广泛的定位算法之一,针对DV⁃Hop改进算法的研究已经取得了一定的研究成果。
例如,文献[10]根据网络中锚节点记录的
跳数信息,对各锚节点的平均跳距赋予了不同的加权值,优化了平均跳距,同时运
用总体最小二乘法来提高定位精度;文献[11]引入RSSI测距技术,并运用2⁃D Hyperbolic算法代替原有的三边测量法,提高了定位精度;文献[12]利用
CC2431提供的RSSI对DV⁃Hop算法进行了改进,在第1阶段,提出防止广播
信息的循环减少不可定位节点,第2阶段,引入RSSI辅助定位,改善平均每跳距离的计算;文献[13]提出了一种基于网络局部拓扑的自适应共线度阈值确定方法。
本文针对DV⁃Hop算法的定位误差原因,在分析已有的改进算法基础上,提出了AADV⁃Hop算法。
在100 m×100 m的正方形区域内,节点通信半径为30 m,随机分布了100个
节点,其中5个为锚节点,具体分布如图1所示。
以未知节点G,锚节点A,B为例。
由于网络节点是随机分布的,导致未知节点到不同锚节点间的分布情况各不相同,使用单个锚节点估算出的平均跳距无法真实反映网络中的实际平均跳距,因此当锚节点数量较少时,计算出的平均每跳误差会很大,影响定位精度。
此时图1中未知节点G与锚节点B之间的距离误差较大。
AADV⁃Hop算法用于改善未知节点G与锚节点B之间的距离。
当节点分布如图2所示时,G为需要定位的未知节点,A和B为锚节点,锚节点AB之间的距离为dAB,m为未知节点G与锚节点A之间的跳数,n为锚节点AB间的跳数,p为
未知节点G到锚节点B间的跳数。
首先给定一个限定跳数t,当未知节点G与锚节点A之间的跳数m小于限定跳数
t时,将跳数值加1并转发,否则放弃该锚节点数据信息。
由于锚节点A满足限定跳数,因此跳数m较小,此时未知节点G与锚节点A之间的距离误差相对较小。
A和B为锚节点,因此,AB两锚节点间的距离dAB为准确值。
由于网络节点是随机分布的,当网络中锚节点数量较小时,锚节点间的跳数和距离通常比较大,如图1中锚节点AB之间的跳数和距离较大。
此时m小于n比较多,
G,A,B三点形成一个三角形。
AADV⁃Hop算法采用未知节点G与锚节点A的距离加上锚节点AB间的距离取代原算法通过平均跳距与未知节点G到锚节点B间的跳数p的乘积的测距方法得到
的距离,得到式(3):
当节点分布如图3所示时,同理,G,A,B三点形成一个三角形,当m小于n较多时,用锚节点AB的距离dAB减去未知节点G与锚节点A的距离代替未知节点G与锚节点B间的距离,得到式(4):
AADV⁃Hop算法用式(3)或式(4)计算dGB的主要原因在于锚节点AB间的
距离dAB会对dGB产生影响,避免了通过锚节点A计算出的平均跳距值去直接
估算dGB。
这种计算方法,是在原算法的基础上利用准确值dAB对结果进行修正,使结果更符合真实情况。
AADV⁃Hop算法要求锚节点AB间的跳数n大于未知节点与锚节点A之间跳数m,本文取n-m>5。
若不满足则采用原算法计算dGB:
由于网络节点是随机分布的,因此以上2种情况都会在网络中出现,本文用∠GAB 的度数来判断以上2种情况。
用DV⁃Hop算法计算出未知节点G分别到锚节点A,B的距离,由于锚节点AB
间的距离是已知的,因此可根据三角形余弦定理公式(式(6))算出∠GAB的度数:
当90°≤∠GAB≤180°时,通过式(3)来修正dGB;当0°≤∠GAB≤90°时,通过
式(4)来修正dGB。
本文提出一个最小偏离度的概念,它是指AADV⁃Hop算法测量出的未知节点到锚节点间的距离dGB与传统DV⁃Hop定位算法测量出的未知节点到锚节点间的距离的偏离程度,&值等于两距离差值平方的倒数,如式(7)所示:
最小偏离度的主要作用在于先寻找AADV⁃Hop算法与DV⁃Hop算法在计算dGB
时的偏离程度,通过仿真寻找&值对相对误差的影响,找到相对误差最低点。
在&值最低时,再对未知节点到锚节点间的距离dGB运用式(3)或式(4)进行修正。
AADV⁃Hop算法的具体步骤如下:
步骤1 网络部署完成后,广播信息,锚节点把自己的节点信息发送给邻居节点,
包括位置坐标、跳数等,通过节点间的信息交换,未知节点得到限定跳数的锚节点信息。
如果未知节点接收到的锚节点跳数大于限定跳数t,则丢弃该分组拒发。
步骤2 分别计算未知节点到限定跳数的锚节点和另一锚节点间距离,方法与原
DV⁃Hop算法相同,用平均跳距乘以节点跳数。
步骤3 判断两锚节点间跳数是否满足要求((n-m)>5),满足执行步骤4,否则执行步骤6。
步骤4 计算&值,若0.025≤&≤0.045执行步骤5,否则执行步骤6。
步骤5 未知节点与两锚节点构成定位三角形,根据式(6)计算限定跳数锚节点处的夹角角度,若该角度在[90°,180°]范围内,则用式(3)计算出未知节点到
另一锚节点的距离,记录并取代执行步骤2所记录的距离信息。
否则用式(4)计算出未知节点到另一锚节点的距离,记录并取代执行步骤2所记录的距离信息。
步骤6 用三边测量法计算出未知节点的位置信息。
将已经定位出的未知节点升级
为锚节点,并将新的锚节点信息广播出去。
步骤7 重新选取锚节点,回到步骤2,直到定位出所有节点。
为检验改进算法的有效性,对DV⁃Hop算法和AADV⁃Hop算法进行仿真,并对
结果进行和对比分析。
在100 m×100 m的区域中随机部署100个节点,固定通
信半径为30 m,固定锚节点数量为5。
图4显示了最小偏离度对定位误差的影响,由该图可以看出,当&值在0.025~0.045之间时,定位误差较小,可达到0.2以下;当&值为0.03时,相对误差最低。
由此可以看出最小偏离度对定位误差起到了优化的作用。
将&值设定为0.03进行仿真。
图5为各节点的误差分析图,可见定位误差较大的未知节点基本已消除,此时通过DV⁃Hop算法计算出的平均定位误差值为42.431 6%,定位精度为0.312 4;通过AADV⁃Hop算法计算出的平均定位误差为
23.345 6%,定位精度为0.236 1。
由此可以看出,AADV⁃Hop算法在定位精度
上要优于DV⁃Hop算法。
同样在100m×100m的区域中随机部署100个节点,将限定跳数t设为3,固定锚节点数为5,改变通信半径进行测试,仿真结果如图6所示。
可以看出,随着通信半径从20 m增长到50 m,2种算法的误差整体呈现下降的趋势,但当通信半
径过大时(如50 m),DV⁃Hop算法的平均定位误差呈上升趋势,这是因为当通信半径过大后,节点间跳数变小,会导致单跳的距离误差变大。
当通信半径过大时,AADV⁃Hop的平均定位误差并没有上升,这是由于AADV⁃Hop算法是用锚节点
间距离的准确值对原算法进行修正的。
从整体来看,在任意距离的通信半径下,AADV⁃Hop算法的性能均优于DV⁃Hop算法。
因此,在锚节点数量较少,并选
取性能适当的通信半径时,AADV⁃Hop算法具有更好的可行性。
改变锚节点的数量,分别取5,10,15,20,25,30,35,将限定跳数t设为3,通信半径固定为30 m进行测试,对2种算法各仿真100次取其定位误差的平均值,结果如图7所示。
由图7可以看出,AADV⁃Hop算法平均定位误差整体低于DV⁃Hop算法。
当锚
节点数量较小时,DV⁃Hop算法的平均定位误差较大,而AADV⁃Hop算法的平
均误差较小。
当锚节点个数为5时,DV⁃Hop算法的平均定位误差为51.155 6%,AADV⁃Hop算法的平均定位误差为26.421 5%;当锚节点个数为 10时,
DV⁃Hop算法的平均定位误差为44.671 2%,AADV⁃Hop算法的平均定位误差为24.234 1%。
随着锚节点数量的增加,2种算法定位误差均有逐渐减小趋势。
仿真结果充分表明,在锚节点数量较少的情况下,AADV⁃Hop算法定位精度高于
DV⁃Hop算法。
在无线传感网络中,锚节点的成本很高,因此,减少锚节点对于
减小网络成本很重要,AADV⁃Hop算法不需要大量的锚节点作为保证精度的条件,在无线传感器网络节约资源的方面有较好的效果。
本文分析传统无线传感器网络DV⁃Hop算法,给出最小偏离度的概念,并在其基
础上提出了一种DV⁃Hop改进算法AADV⁃Hop。
对距离未知节点较近的锚节点
限定跳数,通过寻找合适的最小偏离度使相对误差达到最低,并设计一种新的未知节点与锚节点间的距离计算方法。
仿真实验结果表明,在锚节点数量较少时,AADV⁃Hop算法可以有效提高定位精度,减少锚节点成本。
下一步将研究如何在提高AADV⁃Hop算法定位精度的同时,最大程度地减少计算量,降低算法开销。
【相关文献】
[1]王良民,廖闻.无线传感器网络可生存理论与技术研究[M].北京:人民邮电出版社,2011:3⁃9.
[2] Li Nianqiang,Li Ping.A Range⁃free Localization Scheme in W ireless Sensor Networks[C]//Proceedings of Know ledge Acquisition and Modeling
Workshop.Washington D.C.,USA:IEEE Press,2008:525⁃528.
[3]刘艳文,王福豹,段渭军.基于 DV⁃Hop定位算法和RSSI测距技术的定位系统[J].计算机
应用,2007,27(3):516⁃519.
[4] Niculescu D,Nath B.Ad Hoc Positioning System(APS)Using AOA[C]//Proceedings of IEEE INFOCOM’03.Sanfransisco,USA:IEEE Press,2003:1734⁃1743. [5]徐坚.一种HDHT的层次式网络资源定位模型的研究[J].曲靖师范学院学报,2009,28(6):52⁃54.
[6] Bulusu N,Heidemann J,Estrin D.GPS⁃less Low Cost Outdoor Localization for Very Small Devices[J].IEEE Personal Communications,2000,7(5):28⁃34.
[7] He Tian,Huang Chengdu,Blum B M,et al.Range⁃free Localization Schemes in Large Scale Sensor Networks[C]//Proceedings of the 9th Annual International Conference on Mobile Computing and Networking.New York,USA:ACM Press,2003:81⁃95.
[8]邱奉美,李怀忠.无线传感器网络DV⁃Hop定位算法的改进[J].计算机工程,2014,40(8):15⁃20,26.
[9]王颖,石昊旸.改进的无线传感器网络DV⁃Hop定位算法[J].计算机工程,2012,38(7):66⁃69.
[10] Liu Feng,Zhang Han,Yang Ji.An Average One⁃hop Distance Estimation Algorithm Based on Weighted Disposal in Wireless Sensor Network[J].Journal of Electronics&Information Technology,2008,30(5):1222⁃1225.
[11]刘衍珩,刘炳日,孙大洋,等.WSN中一种DV⁃Hop定位精度改进算法[J].吉林大学学报,2010,40(5):763⁃768.
[12]刘晓明,王潜平,黄海.一种基于CC2431的改进DV⁃Hop算法 RDV⁃Hop[J].微电子学与计算机,2008,25(10):231⁃233.
[13] Liu Kezhong,Wang Shu,Hu Fuping,et al.An Improved DV⁃Hop Localization Algorithm for W ireless Sensor Networks[J].Information and Control,2006,35(6):787⁃792.。