基于降维与粒子群优化的水下传感网定位算法
2017-05-16钱文标
摘 要:针对水下无线传感器网络节点定位存在定位精度低、能量消耗高等问题,提出了一种基于降维与粒子群优化的节点定位算法。算法首先结合水下传感网的特性,将水下三维定位转换为二维定位, 然后引入粒子群优化方法,根据全局最优值限定粒子的方向,粒子不断优化,最后确定节点的位置。实验结果表明,与其他定位算法相比,提出的算法提高了定位精度,降低了节点的能量和计算量消耗。
关键词:水下无线传感器网络;定位;降维;粒子群优化
DOI:10.16640/j.cnki.37-1222/t.2017.09.127
1 引言
目前,水下无线传感器网络已被广泛的应用于海洋环境监测、海洋信息采集、海洋资源探测、灾害预警、援助导航等领域。水下无线传感器网络中,节点的位置信息是网络拓扑发现、路由协议优化、水下导航等应用的前提,所以节点定位具有非常重要的研究意义[1]。
国内外提出的水下传感器网络节点定位算法,根据是否需要节点测距技术,可以分为两大类:基于测距与无需测距的定位算法,本文研究的是基于测距的定位算法。文献[2]提出了一种“基于传感器网络的水下未知声源定位方法”数学模型。针对水下稀疏传感器网络,文献[3]提出了一种基于相交环的两跳定位算法。文献[4]中提出的Silent定位是一种三维的水下定位机制,待定位节点监听锚节点位置信息进行自定位,算法要求每个锚节点均能覆盖整个监测区域,而且需要在水底部署锚节点。
1995年,受鸟群觅食行为的启发,Eberhart博士和Kennedy博士提出粒子群优化算法(Particle Swarm Optimization,PSO)[5]。PSO具有定位精度高、参数少、收敛快、实现简单等特点,因此,粒子群优化算法适用于无线传感器网络节点定位。文献[6]论述了粒子群优化算法在无线传感器网络定位中的应用。文献[7]提出了一种约束粒子群优化的无线传感器网络节点定位算法。
目前,把粒子群算法用到水下定位的研究较少,水下节点定位都没有很好的考虑水下环境的复杂性和能量的消耗。本文结合水下传感器网络中锚节点集中水面分布、节点深度已知的特性,把水下三维定位等效转换为二维定位,并引入粒子群优化方法,提出了一种基于降维与粒子群优化的节点定位算法。最后用OMNET++实现仿真,验证了算法的可行性。
2 基于降维与粒子群优化的定位算法
2.1 水下传感网定位模型
把传感器节点部署在水中这一特殊环境,使水下无线传感器网络节点定位面临一系列的挑战[8],本文中使用的网络模型具有如下特征:
(1)传感器节点是部署在水下三维空间中的。
(2)锚节点漂浮在水面。由于水中无法使用GPS定位以及水的流动性使得在水中部署锚节点比较困难,因此锚节点是漂浮在水面上,并带有GPS定位装置[8]。
(3)由于往返传播时间(RTOF)测距不需要时钟同步,本文就采用RTOF测距。
(4)网络是稀疏的。海洋是辽阔的,监测水域通常比较广阔,因此,水下传感器网络是稀疏的。
(5)深度已知。水下节点的深度信息可以通过多种手段测得,比如可以用压力传感器测量压强,然后利用压强与水深的关系求取节点的深度。
2.2 水下定位维度转换
根据数学原理我们知道,三维空间定位至少需要部署四个锚节点才可以计算待定位节点的坐标,并且四点不能共面;二维平面定位至少需要部署三个锚节点才可以计算节点的位置坐标,并且三点不能共线。
针对以上水下传感器网络模型,锚节点的集中水面分布将使锚节点在深度方向上分布不均匀,待定位节点在深度方向没有参考点,这将导致深度方向误差最大,而水下节点深度坐标易测的优势刚好可以弥补定位算法的缺陷,可以提高定位精度。本文充分利用水下传感器网络的这种优势,将待定位节点的坐标映射到锚节点所在的海平面上,保持二维坐标不变,可以将水下三维定位问题等效转化为普通的二维定位。这样转换后就避免了锚节点分布不均匀问题,能有效提高定位的精度,由于是二维定位,还节约了能量和计算量的消耗。
3 实验分析
3.1 系统仿真说明
本文利用OMNeT++工具对提出的算法进行仿真,所有的节点都分布在100×100×100m的立方体三维空间中,其中10个锚节点随机部署在水面(即z坐标为0),100个待定位节点随机部署在立方体内部空间内。每个节点都有自己的编号和位置,所有节点的最大通信半径为20m,采用理想信道模型,节点仅与通信范围内的节点通信,通过多跳转发把信息传到目的节点。
实验中,通过改变待定位节点测距误差比例来进行仿真实验,同时与其他定位算法进行比较分析。本文分析图中,3DPSO表示水下三维粒子群定位算法,Silent表示文献[4]提出的定位方法。
3.2 实验性能分析
平均定位误差表示所有待定位节点在经过定位之后的误差的平均值。从图2中可以看出,本文提出算法比3DPSO和Silent定位具有更高的定位精度。另外3DPSO和Silent定位要求在水中部署锚节点,Silent还需要每个锚节点均能覆盖整个网络区域,而本文定位方法只需在水面部署锚节点,部署也比较容易。
仿真中,节点首先设定了能量数值,然后每次收发消息、处理消息、坐标计算时就减去该次操作消耗的能量,最后通过统计每个节点的剩余能量计算出消耗的能量。从图3中我们还可以看出,本文所提的定位算法与3DPSO和Silent定位相比,消耗的能量更少,这是因为本文算法信息发送字节少、计算消耗小,有效的节约了节点的能量消耗。随着测距误差比例增大,节点消耗的能量也增加。
4 结束语
本文结合水下传感器网络锚节点集中水面分布、节点深度已知的特性,将水下三维定位转换为二维定位,然后引入并行粒子群优化方法,提出了基于降维与粒子群优化的水下传感网定位算法,并利用OMNeT++对该算法进行仿真,验证了算法的的可行性。此算法具有如下优点:1)提高了定位的精度;2)节约了待定位节点能量和计算量的消耗;3)更快的收敛速度;4)节点部署容易。
参考文献:
[1]薛建彬,陈一鸣,何凤婕.水下基于层级的约束加权最小二乘时差[J].传感技术学报,2015,28(02):239-243.
[2]张涵,付斌,刘纯虎等.一种水下未知声源定位方法的研究[J].计算机测量与控制,2011,19(09):2220-2222.
[3]单志龙,胡燕.基于相交环的水下无线传感器网络节点自定位研究[J].传感技术学报,2012(04):536-540.
[4]CHENG XZ,SHU HN,LIANG QL,et al.Silent positioning in underwater acoustic sensor networks[J].IEEE Transactions on Vehicular Technology,2008,57(03):1756-1766.
[5]EBERHART RC,KENNEDY J.A new optimizer using particle swarm theory[C].Proceedings of the 6th International Symposium on Micro Machine and Human Science.Nagoya:IEEE,1995:39-43.
[6]王曉乐,徐家品.基于粒子群优化算法的WSNs节点定位研究[J].计算机应用,2009,29(02):494-495.
[7]欧阳丹彤,何金胜,白洪涛.一种约束粒子群优化的无线传感器网络节点定位算法[J].计算机科学,2011,38(07):46-50.
[8]王怿,田臣,黄本雄.锚节点水面部署的三维水下传感网定位算法[J].微电子学与计算机,2010,27(10):65-68.
[9]纪震,廖惠连,吴青华.粒子群算法及应用[M].北京:科学出版社,2009:16-70.
作者简介:钱文标(1987-),男,云南大理人,硕士,研究方向:无线传感器网络。