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