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