基于改进DV—Hop算法的无线传感网节点定位算法研究
2017-05-25王亚芳蔡畅刘俊杰
王亚芳 蔡畅 刘俊杰
摘要:无线传感器网络节点定位技术是无线传感器网络重要的技术之一,而如何最大限度提高节点定位精度是无线传感器网络定位研究领域的一个难点。本文首先研究了传统的DV-Hop定位算法,提出一种基于RSSI修正的DV-Hop并可以升级辅助锚节点定位算法。仿真结果表明,在相同网络连通度的情况下,改进算法提高了定位覆盖率,同时具有更高的定位精度。
关键词:无线传感网;借点定位;DV-Hop算法
中图分类号:TP3
文献标识码A
文章编号2095-6363(2017)04-0080-02
无线传感网是由大量设置在研究区域的传感器节点,通过无线网络组成的一个多跳组织网络,集数据采集、数据处理和数据传输于一身。无线传感网络能应用到很多方面,而位置信息是解决很多问题的前提,只有了解传感器节点的位置信息,才能对事件做出应对措施。定位技术是无线传感器网络的重要研究方向,该技术通过网络中一些已知位置的节点使用这些节点相互交换信息,运用某种已经存在算法求得未知节点的位置信息。无线传感器通常由两种借点构成,一种节点是已经确定自己在网络中位置,也就是锚节点(AnchorNode),另一种是未知节点(unknow),这种节点需要通过其他锚节点来最终确认自己的位置信息。
无线传感网定位算法大概可以分为基于测距的定位算法和基于非测距的定位算法。基于测距的定位算法是根据测量节点之间的角度或者直接显示的距离来实现的,这种算法在定位方面能够表现的比较精确,但对于硬件要求较高。基于非测距的定位算法根据节点与节点之间的相互连通关系就可以实现对目标节点的锁定,对于硬件要求低。DV-Hop定位算法不依赖于测距方法,利用多跳锚节点信息直接参与节点定位,大大提高了定位覆盖率,故本文采用DV-Hop算法对无线传感网节点进行定位。
1.改进的DV-Hop定位算法
在无线传感网中进行定位时,DV-Hop算法可以通过少量的锚节点比例进行定位,为定位节省成本。如果锚节点比例太低,不存在足够多的锚节点为未知节点进行定位,那就必须利用通信范围外的锚节点进行距离估算,就会出现误差。改进DV-Hop算法主要从定位精度和定位覆盖率这两个评价指标入手,在跳段距离和升级锚节点两方面进行改进,以达到减小误差、提高定位精度及覆盖率的目的。
1.1修正一跳跳距
一跳跳距在整个网络定位过程中起着至关重要的作用,本文的改进算法借助于RSSI测距技术对第一跳测距结果进行校正。具体步骤如下。1)监测网络中节点互相广播信息包,获得传感器节点间连通性,同时得出节点间的跳数值hopij以及任意邻居节点间的RSSI。2)对网络中的节点间的跳数值进行修正。本文舍弃传统算法中跳数均为整数的思想,对RSSI进行归一化处理,随后把这些值当作节点间的跳数值。3)计算全网平均跳距。4)计算未知节点与锚节点距离。在选择锚节点时,选择跳数值最小的锚节点。5)未知节点坐标计算。
1.2升级辅助锚节点
在无线传感网中,锚节点的不规则存在,使某些未知节点不能接收到锚节点的信息,导致这些未知节点难以实现定位。本文采用辅助锚节点技术来提高整个定位算法的覆盖率。引入优先级Pri的概念,采用优先级把已经实现定位的未知节点升级为锚节点,再把这些锚节点应用到后续的定位中。
网络中的锚节点广播自身信息给未知节点,未知节点接收信息,计算优先级并排序。未知节点的优先级pri的大小由信息包数量不同来决定,当未知节点接收到不同锚节点的信息包时,优先级pri加l,依次计算出所有未知节点的优先级,并设置一个链表,链表的表頭即链表中最大的优先级Pri。升级为锚节点的未知节点从链表中删除,辅助锚节点和网络中原本的锚节点再次进行广播,然后再次按优先级重新排列链表,直到循环完最后一个未知节点就结束。
2.仿真与分析
本文使用MATLAB软件对改进算法和传统DV Hop定位算法进行仿真比较,验证改进DV Hop定位算法是否具有更好的定位性能。
对整体定位误差进行分析,在同一网络连通度(取20)情况下进行仿真。
由图1可知,在锚节点的密度由小到大的整个过程中,改进算法的定位误差在逐渐减小,并且改进算法的总体定位误差值始终低于传统DV-Hop算法。
如图2所示,随着锚节点比例的增大,改进算法和传统算法的定位覆盖率都在增大,但是在锚节点比例低于8%时,传统算法的定位覆盖率始终低于改进算法的定位覆盖率。
3.结论
本文针对无线传感网的借点定位问题,在传统DVHop定位算法基础上,利用RssI技术修正一跳跳距,并根据定位需求升级辅助锚节点。通过MATLAR对改进后的算法进行仿真,验证了改进算法的有效性,经过仿真并分析,改进DV-Hop定位算法可以有效降低定位误差,同时提高定位精度,在覆盖率方面也有优良的表现。