張海霞
關鍵詞:FOA 改進MCB 算法;無線傳感器;網絡節(jié)點;定位精度
中圖分類號:TP212.9 文獻標識碼:A
0 引言
現階段,為確保現場監(jiān)測高效率和靈活性,需將移動節(jié)點加入無線傳感網絡(wireless sensornetwork,WSN)應用系統(tǒng)中,對于研究人員而言,目前亟須解決的問題是怎樣利用WSN 節(jié)點在動態(tài)過程中完成高精度及低能耗定位[1-2]。同時針對移動節(jié)點定位算法,需要提前判斷移動節(jié)點定位分析時應用的定位算法是否具有現有靜態(tài)節(jié)點[3]。
應用廣泛的優(yōu)化算法包括各類群智能優(yōu)化算法,可明顯提高定位精度[4-5]。自適應蒙特卡洛定位(adaptive Monte Carlo localization,AMCL) 算法的主要特征體現為二維碼信息的高度融合。里程計模型誤差修正主要參考絕對位置信息,由二維碼提供,在此基礎上完成采樣工作,下次迭代所需粒子數量以狀態(tài)空間粒子分布狀態(tài)作為確定的依據,實現粒子數量的自適應調整[6]。大多數學者均十分關注上述各類算法的優(yōu)勢和特點,其可顯著促進智能優(yōu)化領域算法改進。
關于算法有效性的測試分析,已被應用于工業(yè)控制、智能汽車與資金管理等領域[7-8],但目前尚未出現將上述算法用于WSN 移動節(jié)點定位的文獻報道。本文為了提高無線傳感網絡定位精度,應用果蠅優(yōu)化算法(fruit fly optimization algorithm,FOA)-蒙特卡洛錨盒(Monte Carlo anchor box,MCB)算法(簡稱“FOA 改進MCB 算法”)對無線傳感網絡系統(tǒng)中移動節(jié)點進行定位建模,分析了移動速度、錨節(jié)點密度和樣本數對定位精度的影響。
1 FOA改進MCB算法
收斂快速及操作簡單等均為FOA 算法的優(yōu)勢。FOA 改進MCB 算法的主要流程包括:針對模型未知節(jié)點坐標應用MCB 算法進行計算,理論預估距離的計算需參考距離表達式,然后再對錨節(jié)點與定位節(jié)點間距進行測試,進行差異對比后修正位置,節(jié)點坐標最優(yōu)值通過選用迭代處理方式獲取。
根據最適應度函數找出果蠅群體內對應的果蠅個體。針對個體及適應度值確定對應最優(yōu)和最佳位置坐標。
2 FOA改進MCB算法實現過程
FOA 改進MCB 算法對應的具體流程如圖1 所示。下面將詳細介紹實現該算法的流程。
步驟1:初始化參數。果蠅速度及位置移動情況需參考式(1)獲取。
步驟2:根據MCB 算法完成移動節(jié)點坐標計算。
(1)在WSN 內通過錨節(jié)點發(fā)送位置坐標,錨節(jié)點數量表示為j,取值1,2,…,m。
(2)錨節(jié)點位置由移動節(jié)點i 測試得出,錨盒由兩個錨節(jié)點構成。
(3)對計算錨節(jié)點與樣本個體之間得到歐式距離,將未滿足條件的樣本去除,參考過濾模式采用MCB 算法進行設定,賦權值給有效樣本。
(4)最終錨節(jié)點需重復步驟(3)才可獲取。
(5)移動節(jié)點在t 時刻對應的坐標需通過加權平均方式對樣本點進行計算獲取。
步驟3:計算求解錨節(jié)點j 與各果蠅個體i 之間的距離Dij,然后采用適應度函數計算各果蠅適應度。
步驟4:獲取各果蠅對應的最佳坐標。
步驟5:比較各果蠅上一代與這一代的適應度值,根據差異大小判斷適應度值優(yōu)劣情況。
步驟6:在未滿足迭代終止條件下,需進行后續(xù)循環(huán),跳轉至步驟3 重新按相關要求執(zhí)行,若滿足相應條件,以當前個體位置為移動最佳節(jié)點。
對每次迭代前后的味道濃度值進行判斷對比,若數值更優(yōu)返回步驟6 執(zhí)行,若數值無明顯變化循環(huán)迭代則需重新進行,整個算法結束需達到終止條件。
3 實驗仿真
FOA 改進MCB算法的精確度主要利用MATLAB軟件仿真進行驗證,對比MCB 算法及FOA 改進MCB 算法獲取的結果,具體如下。
3.1 測試環(huán)境
仿真測試環(huán)節(jié)的各項參數設定主要參考表1 數據。設定20 m 為節(jié)點通信半徑,按隨機方式選取60 個節(jié)點并在100 m×100 m 范圍內完成部署,節(jié)點分布如圖2 所示。
適應度變化結果如圖3 所示。選取的迭代方式以FOA 算法為主,穩(wěn)定適應度函數在進化至第15代后逐漸趨于穩(wěn)定,有利于降低能量消耗及簡化計算流程。
3.2 移動速度對定位精度的影響
節(jié)點移動速度對定位誤差的影響結果如圖4 所示。與MCB 算法相比,FOA 改進MCB 算法表現出的定位效果更佳,精度更高,同時還發(fā)現定位誤差隨著節(jié)點移動速度增大而逐漸增大。這種情況出現的主要因素是在移動速度較慢的情況下節(jié)點位置的不確定性更大,影響定位精度。
3.3 錨節(jié)點數量對定位精度的影響
被定位節(jié)點隨著錨節(jié)點數量增加而不斷增加,獲取的信息數據也更多,位置可靠度進一步得到提高。移動節(jié)點定位誤差和錨節(jié)點數量在移動速度為10 m/s 的條件下變化曲線如圖5 所示。經觀察對比得出,隨著錨節(jié)點數量的增加,定位誤差表現為降低的趨勢。這是因為移動節(jié)點在定位期間獲取的錨節(jié)點信息極少,定位節(jié)點獲取的信息隨著錨節(jié)點數量增大而增多,有利于定位誤差的減少。在錨節(jié)點數量相同的情況下,經對比得出FOA 改進MCB 算法的定位精度更高,所以MCB 算法效率可通過結合FOA 算法得到進一步提高。
4 結論
本文開展基于FOA 改進MCB 算法的無線傳感網絡節(jié)點定位精度分析,得到如下結論。
(1)相較于MCB 算法,FOA 改進MCB 算法具有更優(yōu)的定位精度,且定位誤差隨著節(jié)點移動速度的增加而增大。
(2)定位誤差隨著錨節(jié)點數量的增加而下降。
該研究可以提高無線傳感網絡節(jié)點定位精度,但在應對異常數據時存在收斂效率低的問題,期待后續(xù)引入智能算法進行加強。