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