摘 要:針對(duì)水下無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)定位存在定位精度低、能量消耗高等問(wèn)題,提出了一種基于降維與粒子群優(yōu)化的節(jié)點(diǎn)定位算法。算法首先結(jié)合水下傳感網(wǎng)的特性,將水下三維定位轉(zhuǎn)換為二維定位, 然后引入粒子群優(yōu)化方法,根據(jù)全局最優(yōu)值限定粒子的方向,粒子不斷優(yōu)化,最后確定節(jié)點(diǎn)的位置。實(shí)驗(yàn)結(jié)果表明,與其他定位算法相比,提出的算法提高了定位精度,降低了節(jié)點(diǎn)的能量和計(jì)算量消耗。
關(guān)鍵詞:水下無(wú)線傳感器網(wǎng)絡(luò);定位;降維;粒子群優(yōu)化
DOI:10.16640/j.cnki.37-1222/t.2017.09.127
1 引言
目前,水下無(wú)線傳感器網(wǎng)絡(luò)已被廣泛的應(yīng)用于海洋環(huán)境監(jiān)測(cè)、海洋信息采集、海洋資源探測(cè)、災(zāi)害預(yù)警、援助導(dǎo)航等領(lǐng)域。水下無(wú)線傳感器網(wǎng)絡(luò)中,節(jié)點(diǎn)的位置信息是網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)、路由協(xié)議優(yōu)化、水下導(dǎo)航等應(yīng)用的前提,所以節(jié)點(diǎn)定位具有非常重要的研究意義[1]。
國(guó)內(nèi)外提出的水下傳感器網(wǎng)絡(luò)節(jié)點(diǎn)定位算法,根據(jù)是否需要節(jié)點(diǎn)測(cè)距技術(shù),可以分為兩大類(lèi):基于測(cè)距與無(wú)需測(cè)距的定位算法,本文研究的是基于測(cè)距的定位算法。文獻(xiàn)[2]提出了一種“基于傳感器網(wǎng)絡(luò)的水下未知聲源定位方法”數(shù)學(xué)模型。針對(duì)水下稀疏傳感器網(wǎng)絡(luò),文獻(xiàn)[3]提出了一種基于相交環(huán)的兩跳定位算法。文獻(xiàn)[4]中提出的Silent定位是一種三維的水下定位機(jī)制,待定位節(jié)點(diǎn)監(jiān)聽(tīng)錨節(jié)點(diǎn)位置信息進(jìn)行自定位,算法要求每個(gè)錨節(jié)點(diǎn)均能覆蓋整個(gè)監(jiān)測(cè)區(qū)域,而且需要在水底部署錨節(jié)點(diǎn)。
1995年,受鳥(niǎo)群覓食行為的啟發(fā),Eberhart博士和Kennedy博士提出粒子群優(yōu)化算法(Particle Swarm Optimization,PSO)[5]。PSO具有定位精度高、參數(shù)少、收斂快、實(shí)現(xiàn)簡(jiǎn)單等特點(diǎn),因此,粒子群優(yōu)化算法適用于無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)定位。文獻(xiàn)[6]論述了粒子群優(yōu)化算法在無(wú)線傳感器網(wǎng)絡(luò)定位中的應(yīng)用。文獻(xiàn)[7]提出了一種約束粒子群優(yōu)化的無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)定位算法。
目前,把粒子群算法用到水下定位的研究較少,水下節(jié)點(diǎn)定位都沒(méi)有很好的考慮水下環(huán)境的復(fù)雜性和能量的消耗。本文結(jié)合水下傳感器網(wǎng)絡(luò)中錨節(jié)點(diǎn)集中水面分布、節(jié)點(diǎn)深度已知的特性,把水下三維定位等效轉(zhuǎn)換為二維定位,并引入粒子群優(yōu)化方法,提出了一種基于降維與粒子群優(yōu)化的節(jié)點(diǎn)定位算法。最后用OMNET++實(shí)現(xiàn)仿真,驗(yàn)證了算法的可行性。
2 基于降維與粒子群優(yōu)化的定位算法
2.1 水下傳感網(wǎng)定位模型
把傳感器節(jié)點(diǎn)部署在水中這一特殊環(huán)境,使水下無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)定位面臨一系列的挑戰(zhàn)[8],本文中使用的網(wǎng)絡(luò)模型具有如下特征:
(1)傳感器節(jié)點(diǎn)是部署在水下三維空間中的。
(2)錨節(jié)點(diǎn)漂浮在水面。由于水中無(wú)法使用GPS定位以及水的流動(dòng)性使得在水中部署錨節(jié)點(diǎn)比較困難,因此錨節(jié)點(diǎn)是漂浮在水面上,并帶有GPS定位裝置[8]。
(3)由于往返傳播時(shí)間(RTOF)測(cè)距不需要時(shí)鐘同步,本文就采用RTOF測(cè)距。
(4)網(wǎng)絡(luò)是稀疏的。海洋是遼闊的,監(jiān)測(cè)水域通常比較廣闊,因此,水下傳感器網(wǎng)絡(luò)是稀疏的。
(5)深度已知。水下節(jié)點(diǎn)的深度信息可以通過(guò)多種手段測(cè)得,比如可以用壓力傳感器測(cè)量壓強(qiáng),然后利用壓強(qiáng)與水深的關(guān)系求取節(jié)點(diǎn)的深度。
2.2 水下定位維度轉(zhuǎn)換
根據(jù)數(shù)學(xué)原理我們知道,三維空間定位至少需要部署四個(gè)錨節(jié)點(diǎn)才可以計(jì)算待定位節(jié)點(diǎn)的坐標(biāo),并且四點(diǎn)不能共面;二維平面定位至少需要部署三個(gè)錨節(jié)點(diǎn)才可以計(jì)算節(jié)點(diǎn)的位置坐標(biāo),并且三點(diǎn)不能共線。
針對(duì)以上水下傳感器網(wǎng)絡(luò)模型,錨節(jié)點(diǎn)的集中水面分布將使錨節(jié)點(diǎn)在深度方向上分布不均勻,待定位節(jié)點(diǎn)在深度方向沒(méi)有參考點(diǎn),這將導(dǎo)致深度方向誤差最大,而水下節(jié)點(diǎn)深度坐標(biāo)易測(cè)的優(yōu)勢(shì)剛好可以彌補(bǔ)定位算法的缺陷,可以提高定位精度。本文充分利用水下傳感器網(wǎng)絡(luò)的這種優(yōu)勢(shì),將待定位節(jié)點(diǎn)的坐標(biāo)映射到錨節(jié)點(diǎn)所在的海平面上,保持二維坐標(biāo)不變,可以將水下三維定位問(wèn)題等效轉(zhuǎn)化為普通的二維定位。這樣轉(zhuǎn)換后就避免了錨節(jié)點(diǎn)分布不均勻問(wèn)題,能有效提高定位的精度,由于是二維定位,還節(jié)約了能量和計(jì)算量的消耗。
3 實(shí)驗(yàn)分析
3.1 系統(tǒng)仿真說(shuō)明
本文利用OMNeT++工具對(duì)提出的算法進(jìn)行仿真,所有的節(jié)點(diǎn)都分布在100×100×100m的立方體三維空間中,其中10個(gè)錨節(jié)點(diǎn)隨機(jī)部署在水面(即z坐標(biāo)為0),100個(gè)待定位節(jié)點(diǎn)隨機(jī)部署在立方體內(nèi)部空間內(nèi)。每個(gè)節(jié)點(diǎn)都有自己的編號(hào)和位置,所有節(jié)點(diǎn)的最大通信半徑為20m,采用理想信道模型,節(jié)點(diǎn)僅與通信范圍內(nèi)的節(jié)點(diǎn)通信,通過(guò)多跳轉(zhuǎn)發(fā)把信息傳到目的節(jié)點(diǎn)。
實(shí)驗(yàn)中,通過(guò)改變待定位節(jié)點(diǎn)測(cè)距誤差比例來(lái)進(jìn)行仿真實(shí)驗(yàn),同時(shí)與其他定位算法進(jìn)行比較分析。本文分析圖中,3DPSO表示水下三維粒子群定位算法,Silent表示文獻(xiàn)[4]提出的定位方法。
3.2 實(shí)驗(yàn)性能分析
平均定位誤差表示所有待定位節(jié)點(diǎn)在經(jīng)過(guò)定位之后的誤差的平均值。從圖2中可以看出,本文提出算法比3DPSO和Silent定位具有更高的定位精度。另外3DPSO和Silent定位要求在水中部署錨節(jié)點(diǎn),Silent還需要每個(gè)錨節(jié)點(diǎn)均能覆蓋整個(gè)網(wǎng)絡(luò)區(qū)域,而本文定位方法只需在水面部署錨節(jié)點(diǎn),部署也比較容易。
仿真中,節(jié)點(diǎn)首先設(shè)定了能量數(shù)值,然后每次收發(fā)消息、處理消息、坐標(biāo)計(jì)算時(shí)就減去該次操作消耗的能量,最后通過(guò)統(tǒng)計(jì)每個(gè)節(jié)點(diǎn)的剩余能量計(jì)算出消耗的能量。從圖3中我們還可以看出,本文所提的定位算法與3DPSO和Silent定位相比,消耗的能量更少,這是因?yàn)楸疚乃惴ㄐ畔l(fā)送字節(jié)少、計(jì)算消耗小,有效的節(jié)約了節(jié)點(diǎn)的能量消耗。隨著測(cè)距誤差比例增大,節(jié)點(diǎn)消耗的能量也增加。
4 結(jié)束語(yǔ)
本文結(jié)合水下傳感器網(wǎng)絡(luò)錨節(jié)點(diǎn)集中水面分布、節(jié)點(diǎn)深度已知的特性,將水下三維定位轉(zhuǎn)換為二維定位,然后引入并行粒子群優(yōu)化方法,提出了基于降維與粒子群優(yōu)化的水下傳感網(wǎng)定位算法,并利用OMNeT++對(duì)該算法進(jìn)行仿真,驗(yàn)證了算法的的可行性。此算法具有如下優(yōu)點(diǎn):1)提高了定位的精度;2)節(jié)約了待定位節(jié)點(diǎn)能量和計(jì)算量的消耗;3)更快的收斂速度;4)節(jié)點(diǎn)部署容易。
參考文獻(xiàn):
[1]薛建彬,陳一鳴,何鳳婕.水下基于層級(jí)的約束加權(quán)最小二乘時(shí)差[J].傳感技術(shù)學(xué)報(bào),2015,28(02):239-243.
[2]張涵,付斌,劉純虎等.一種水下未知聲源定位方法的研究[J].計(jì)算機(jī)測(cè)量與控制,2011,19(09):2220-2222.
[3]單志龍,胡燕.基于相交環(huán)的水下無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)自定位研究[J].傳感技術(shù)學(xué)報(bào),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]王曉樂(lè),徐家品.基于粒子群優(yōu)化算法的WSNs節(jié)點(diǎn)定位研究[J].計(jì)算機(jī)應(yīng)用,2009,29(02):494-495.
[7]歐陽(yáng)丹彤,何金勝,白洪濤.一種約束粒子群優(yōu)化的無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)定位算法[J].計(jì)算機(jī)科學(xué),2011,38(07):46-50.
[8]王懌,田臣,黃本雄.錨節(jié)點(diǎn)水面部署的三維水下傳感網(wǎng)定位算法[J].微電子學(xué)與計(jì)算機(jī),2010,27(10):65-68.
[9]紀(jì)震,廖惠連,吳青華.粒子群算法及應(yīng)用[M].北京:科學(xué)出版社,2009:16-70.
作者簡(jiǎn)介:錢(qián)文標(biāo)(1987-),男,云南大理人,碩士,研究方向:無(wú)線傳感器網(wǎng)絡(luò)。