專利名稱:基于粒子群算法的水下無線傳感器網(wǎng)絡(luò)節(jié)點定位方法
基于粒子群算法的水下無線傳感器網(wǎng)絡(luò)節(jié)點定位方法技術(shù)領(lǐng)域
本發(fā)明屬于水下無線傳感器網(wǎng)絡(luò),群體智能的技術(shù)領(lǐng)域,主要涉及一種基于粒子群算法的水下無線傳感器網(wǎng)絡(luò)節(jié)點定位方法。
背景技術(shù):
隨著人們對遼闊海洋探索的迫切渴望和沿海地區(qū)軍事防御、商業(yè)開發(fā)等需求的日益增加,以無線傳感器網(wǎng)絡(luò)為基礎(chǔ)的水下無線傳感器網(wǎng)絡(luò)(Underwater Wireless Sensor Networks,UffSN)引起了學術(shù)界和工業(yè)界的密切關(guān)注,它將在未來的水下監(jiān)視預(yù)警系統(tǒng)中發(fā)揮重要的作用。
水下無線傳感器網(wǎng)絡(luò)中,節(jié)點的位置信息是許多應(yīng)用必不可少的一部分,例如在水生環(huán)境監(jiān)測中,航道的監(jiān)控等應(yīng)用中,獲取的數(shù)據(jù)都必須與節(jié)點位置信息相關(guān)聯(lián)。由于全球定位系統(tǒng)(Global Positioning System,GPS)不能用于水下網(wǎng)絡(luò)定位,因此,水下節(jié)點設(shè)備精確定位成為了一個大的難點。
無線傳感器網(wǎng)絡(luò)定位算法可以分為基于距離(range-based)與距離無關(guān) (range-free)的兩種定位算法。降維定位是一種針對水下三維傳感器網(wǎng)絡(luò)、降低計算復(fù)雜度的有效算法。它的基本思想是將稀疏布局的三維傳感器網(wǎng)絡(luò)的節(jié)點映射到平面上。在深度z可以通過壓強求得的條件下,該映射是一一映射,從而將三維定位等效轉(zhuǎn)換為二維定位。在二維定位中,可以利用粒子群優(yōu)化算法來估算出節(jié)點的二維坐標。粒子群優(yōu)化 (particle swarm optimization,簡稱 PS0)算法是由 Eberhart 博士和 Kennedy 博士于 1995提出來的一種新的群智能優(yōu)化算法,與其他進化算法相比,其最吸引人的特征是簡單實現(xiàn)和更強的全局優(yōu)化能力。自PSO算法提出之后,引起了眾多學者的極大關(guān)注,在短短幾年內(nèi)形成了一個研究熱點并出現(xiàn)了大量的研究成果,大量實驗結(jié)果也表明了 PSO算法確實是一種有力的優(yōu)化工具。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種基于粒子群算法的水下無線傳感器網(wǎng)絡(luò)節(jié)點定位方法,在深度已知條件下,通過映射將三維定位等效轉(zhuǎn)換為二維定位,然后采用改進的粒子群算法來確定普通節(jié)點的二維坐標。本發(fā)明可以有效的節(jié)約普通節(jié)點的能量和提高定位速度。
本發(fā)明涉及的一種基于粒子群的水下無線傳感器網(wǎng)絡(luò)節(jié)點定位方法,包括已知位置的錨節(jié)點和待定位節(jié)點,與現(xiàn)有技術(shù)不同的是,所述待定位節(jié)點的坐標位置的確定方法包括以下步驟
假設(shè)待定位節(jié)點為D,所述D的坐標為(x,y,z),其在水平面的投影為 Di (x,y,0),錨節(jié)點Ai (xi, yi,0)到待定位節(jié)點D的距離為Di,Di在海平面上的投影為 di,
步驟1.每個錨節(jié)點Ai測量其到待定位節(jié)點D的距離Di,然后將自身的坐標以及距離信息發(fā)送給待定位節(jié)點。
步驟2.待定位節(jié)點利用水深與壓強的關(guān)系求得節(jié)點的深度坐標z,并將其保存到一張位置信息表List上。
步驟3.待定位節(jié)點接收所有錨節(jié)點的位置信息,將位置信息保存到位置信息表 List上,并求出每個Di在海平面上到投影di,保存到位置信息表List上。待定位節(jié)點將位置信息表List廣播給所有其他錨節(jié)點。步驟4.每個收到位置信息表List的錨節(jié)點,獨立的運行粒子群算法,求取待定位 I維坐標(X,y)。步驟5.每個錨節(jié)點的粒子群進化過程中的gbest,以一定概率P在種群之間遷移。 步驟6.錨節(jié)點運行完粒子群算法后,將得到的最優(yōu)粒子的坐標發(fā)送給待定位節(jié)
節(jié)點的
點。
步驟7.待定位節(jié)點在收到所有錨節(jié)點估算的最優(yōu)粒子的坐標后,找出所有滿足 F〈A的粒子,根據(jù)F_Mean法計算出待定位節(jié)點的二維坐標(x, y),然后在結(jié)合開始求得的深度坐標z,即可得到其坐標(X,y, z)。
所述步驟I中的錨節(jié)點利用往返傳播時間(Roundtrip-Time-Of-Flight, RTOFMi 測量其到待定位節(jié)點D的距離。
所述位置信息表List包 括普通節(jié)點的標識符;待定位節(jié)點的深度坐標z ;每個錨節(jié)點的位置坐標及其與D的距離,利用位置信息表List可以把三維定位等效轉(zhuǎn)換為二維定位,錨節(jié)點利用這張表可以計算出待定位節(jié)點的坐標。
所述步驟4包括用評價函數(shù)F來評估每個粒子的目標值,確定每個粒子的Pbest 以及全局最優(yōu)值gbest,每個粒子記錄它所經(jīng)過的位置中F值最小的位置,保存在自身的最優(yōu)解pbest中,在所有粒子的最優(yōu)解pbest中F值最小的那個作為全局最優(yōu)解gbest。
所述步驟4中,粒子群不斷更新每個粒子的位置和速度,進化出下一代粒子,然后再一次使用評價函數(shù)F進行評估,這樣不斷循環(huán),直到最大的進化代數(shù)或者目標值函數(shù)F的值小于等于O. 01為止,粒子群進化停止,輸出最后定位結(jié)果。
步驟7所述評價函數(shù)F_Mean方法就是取所有評價函數(shù)F值小于闕值A(chǔ)(本發(fā)明根據(jù)實驗的結(jié)果確定其中A的取值范圍是[10,30])的粒子坐標的平均值作為待定位節(jié)點的坐標,具體的公式如下
權(quán)利要求
1.一種基于粒子群算法的水下無線傳感器網(wǎng)絡(luò)節(jié)點定位方法,節(jié)點包括已知位置的錨節(jié)點和待定位節(jié)點,其特征在于,所述待定位節(jié)點位置的確定包括以下步驟假設(shè)待定位節(jié)點為D,所述D的坐標為(x,y,z),其在水平面的投影為D' (x,y,0),錨節(jié)點Ai (xi,yi,0)到待定位節(jié)點D的距離為Di,Di在海平面上的投影為di,步驟1.每個錨節(jié)點Ai測量其到待定位節(jié)點D的距離Di,然后將自身的坐標以及距離信息發(fā)送給待定位節(jié)點;步驟2.待定位節(jié)點利用水深與壓強的關(guān)系求得節(jié)點的深度坐標z,并將其保存到一張位置信息表List上;步驟3.待定位節(jié)點接收所有錨節(jié)點的位置信息,將其保存到表List上,并求出每個Di在海平面上到投影di,保存到位置信息表List上;待定位節(jié)點將位置信息表List廣播給所有其他錨節(jié)點;步驟4.每個收到位置信息表List的錨節(jié)點,獨立的運行粒子群算法,求取待定位節(jié)點的二維坐標(X,y);步驟5.每個錨節(jié)點的粒子群進化過程中的gbest,以一定概率P在種群之間遷移;步驟6.錨節(jié)點運行完粒子群算法后,將得到的最優(yōu)粒子的坐標發(fā)送給待定位節(jié)點;步驟7.待定位節(jié)點在收到所有錨節(jié)點估算的最優(yōu)粒子的坐標后,找出所有滿足F〈A的粒子,根據(jù)F_Mean法計算出待定位節(jié)點的二維坐標(x, y),然后在結(jié)合開始求得的深度坐標z,即可得到其坐標(X,y, z)。
2.根據(jù)權(quán)利要求1所述的定位方法,其特征在于,所述步驟I中的錨節(jié)點利用往返傳播時間(Roundtrip-Time-Of-Flight, RT0F)法測量其到待定位節(jié)點D的距離。
3.根據(jù)權(quán)利要求1所述的定位方法,其特征在于,所述位置信息表List包括普通節(jié)點的標識符;待定位節(jié)點的深度坐標z ;每個錨節(jié)點的位置坐標及其與D的距離,利用位置信息表List可以把三維定位等效轉(zhuǎn)換為二維定位,錨節(jié)點利用這張表可以計算出待定位節(jié)點的坐標。
4.根據(jù)權(quán)利要求1所述的定位方法,其特征在于,所述步驟4包括用評價函數(shù)F來評估每個粒子的目標值,確定每個粒子的Pbest以及全局最優(yōu)值gbest,每個粒子記錄它所經(jīng)過的位置中F值最小的位置,保存在自身的最優(yōu)解pbest中,在所有粒子的最優(yōu)解pbest中F值最小的那個作為全局最優(yōu)解gbest。
5.根據(jù)權(quán)利要求1所述的定位方法,其特征在于,所述步驟4中,粒子群不斷更新每個粒子的位置和速度,進化出下一代粒子,然后再一次使用評價函數(shù)F進行評估,這樣不斷循環(huán),直到最大的進化代數(shù)或者目標值函數(shù)F的值小于等于0.01為止,粒子群進化停止,輸出最后定位結(jié)果。
6.根據(jù)權(quán)利要求1所述的定位方法,其特征在于,步驟7所述評價函數(shù)F_Mean方法就是取所有評價函數(shù)F值小于闕值A(chǔ)的粒子坐標的平均值作為待定位節(jié)點的坐標,具體的公式如下
7.根據(jù)權(quán)利要求6所述的定位方法,其特征在于,所述闕值A(chǔ)的取值范圍是[10,30]。
8.如權(quán)利要求5-6其中任一項所述的定位方法,其特征在于,所述評價函數(shù)F表示為初始化完成后,使用一個F函數(shù)來評估每個粒子的目標值,F(xiàn)函數(shù)如下:
全文摘要
本發(fā)明涉及一種基于粒子群算法的水下無線傳感器網(wǎng)絡(luò)節(jié)點定位方法,首先根據(jù)GPS定位系統(tǒng)確定部署在水面的錨節(jié)點的坐標,再確定待定位節(jié)點的三維坐標。待定位節(jié)點坐標確定如下首先利用水深與壓強的關(guān)系求出節(jié)點的水深;然后將水下三維定位問題等效轉(zhuǎn)換為二維定位。待定位節(jié)點的二維坐標確定如下普通節(jié)點收集各錨節(jié)點的位置與距離信息,保存在一張表List上,然后廣播給各錨節(jié)點;各錨節(jié)點根據(jù)表List獨立的運行粒子群算法,分別求得各自的最優(yōu)粒子,并把結(jié)果發(fā)給待定位節(jié)點;待定位節(jié)點檢測錨節(jié)點所求的最優(yōu)粒子,確定出節(jié)點的二維坐標。本發(fā)明可以顯著減少待定位節(jié)點的能量和計算消耗。
文檔編號H04W64/00GK103002575SQ20121039244
公開日2013年3月27日 申請日期2012年10月16日 優(yōu)先權(quán)日2012年10月16日
發(fā)明者何倩, 錢文標, 王勇, 柴華昕, 董慶賀, 周晴倫, 陶曉玲, 楊指揮 申請人:桂林電子科技大學