


摘 要:針對水下無線傳感器網絡節點定位存在定位精度低、能量消耗高等問題,提出了一種基于降維與粒子群優化的節點定位算法。算法首先結合水下傳感網的特性,將水下三維定位轉換為二維定位, 然后引入粒子群優化方法,根據全局最優值限定粒子的方向,粒子不斷優化,最后確定節點的位置。實驗結果表明,與其他定位算法相比,提出的算法提高了定位精度,降低了節點的能量和計算量消耗。
關鍵詞:水下無線傳感器網絡;定位;降維;粒子群優化
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-),男,云南大理人,碩士,研究方向:無線傳感器網絡。