張曉玲,商迎美,陳自紅
(安徽三聯(lián)學(xué)院 1.機器人工程學(xué)院;2.科研處,安徽 合肥 230601)
隨著現(xiàn)代科技的發(fā)展,無線傳感器網(wǎng)絡(luò)(Wireless Sensor Networks, WSN)被大量使用,其能夠?qū)崟r監(jiān)測環(huán)境中溫度、風(fēng)速等信息[1-2]。無線傳感器網(wǎng)絡(luò)的使用成本較低,組網(wǎng)效率快,在災(zāi)難援救、醫(yī)療領(lǐng)域等較為常用[3]。節(jié)點定位方法在無線傳感器網(wǎng)絡(luò)中占據(jù)十分重要的地位,在環(huán)境探測問題中,高精度定位森林溫度異常點屬于火災(zāi)防治的必要條件[4]。在商業(yè)領(lǐng)域中,無線傳感器網(wǎng)絡(luò)節(jié)點定位能夠準確定位養(yǎng)老院病人的所在位置。在軍事領(lǐng)域中,無線傳感器網(wǎng)絡(luò)節(jié)點定位可準確提取入侵人士的所在位置[5]?;诖?,無線傳感器的網(wǎng)絡(luò)節(jié)點能夠準確定位非常重要。
在無線傳感器網(wǎng)絡(luò)實際使用中,GPS定位較為常用,而傳感器節(jié)點具有海量性,分布狀態(tài)不具有規(guī)律性,從傳感器與GPS的體積、功能以及應(yīng)用環(huán)境等角度分析,對每一個無線傳感器網(wǎng)絡(luò)節(jié)點都安置一個GPS并不可能實現(xiàn)。所以,高精度的無線傳感器網(wǎng)絡(luò)節(jié)點定位方法是目前無線傳感器網(wǎng)絡(luò)研究人員的熱點研究問題[6]。
目前很多定位方法雖然定位精度均較高,但是,計算開銷也較大。無線傳感器網(wǎng)絡(luò)中,用來描述定位誤差的指標大多以距離誤差均值、定位誤差均值為主[7]。但根據(jù)相關(guān)研究表示,節(jié)點的定位精度不光和定位方法有關(guān),還與定位節(jié)點所靠近的錨節(jié)點幾何布局存在密不可分的關(guān)系。錨節(jié)點幾何布局出現(xiàn)變動,對節(jié)點定位精度存在一定影響,所以,為了提升無線傳感器網(wǎng)絡(luò)節(jié)點定位精度,需要分析定位精度和錨節(jié)點幾何拓撲之間的關(guān)聯(lián)性。本文提出基于FOA-MCB算法的無線傳感器網(wǎng)絡(luò)節(jié)點定位精度分析方法,在使用基于FOA-MCB算法的無線傳感器網(wǎng)絡(luò)節(jié)點定位方法,定位無線傳感器網(wǎng)絡(luò)節(jié)點之后,引入定位精度的幾何稀釋(GDOP)來分析無線傳感器網(wǎng)絡(luò)節(jié)點定位精度。
1.1.1 果蠅優(yōu)化算法
果蠅擁有其他動物并不擁有的靈敏嗅覺與視覺,果蠅可以聞到大于10公里的食物味道,并使用嗅覺檢索目標味道所在的具體方位,果蠅優(yōu)化難度較小,收斂效率顯著[8-9]。
果蠅優(yōu)化方法的步驟如下。
第一步驟:初始化參數(shù)。
果蠅群體方位坐標是(xa,ya),個體數(shù)量為M,迭代次數(shù)最大值是Fmax,檢索步長是k。
第二步驟:計算果蠅搜索食物的飛行距離,計算公式如式(1)所示。
(1)
其中,Xo、Yo分別是飛行距離中的橫縱坐標位移值。
基于此,果蠅搜索食物的飛行距離總值E(i)計算公式如式(2)所示。
(2)
第三步驟:計算果蠅味道濃度判斷值R(i),計算公式如式(3)所示。
(3)
第四步驟:為了計算各個果蠅個體的適應(yīng)度值G(i),需要導(dǎo)入適應(yīng)度函數(shù)Function,如式(4)所示。
G(i)=Function(R(i))
(4)
第五步驟:提取果蠅群體里適應(yīng)度函數(shù)最大或最小的果蠅個體bs、bd,如式(5)所示。
[bs,bd]=[max(G(i)),min(G(i))]
(5)
第六步驟:記載最大適應(yīng)度值和最優(yōu)果蠅坐標,剩下果蠅個體向此最優(yōu)位置的方向飛行,其計算公式如式(6)所示。
(6)
其中,xa、ya依次是果蠅個體飛行到最佳位置距離的橫縱坐標位移值,X(bs)、Y(bs)依次是具有最優(yōu)適應(yīng)度值和最優(yōu)果蠅個體的坐標。
第七步驟:迭代尋優(yōu)。
迭代尋優(yōu)后,循環(huán)第二步驟至第五步驟,判斷各次迭代中,所有果蠅個體是否都向最優(yōu)位置的方向飛行,若是,便跳回第六步驟,反之繼續(xù)循環(huán)迭代。
上述過程中,搜索步長k十分重要,對搜索效率存在直接影響,應(yīng)將搜索步長重點考慮。為將果蠅優(yōu)化算法與無線傳感網(wǎng)絡(luò)節(jié)點定位相結(jié)合,本文把k變換為Δt×uj(t),則:
(7)
其中,Δt代表單位時間,uj(t)代表果蠅飛行的速率。
果蠅算法優(yōu)化適應(yīng)度函數(shù)可優(yōu)化無線傳感網(wǎng)絡(luò)的定位精度,所以必須使用存在節(jié)點位置指標的函數(shù)g(Function),當(dāng)果蠅優(yōu)化算法使用在無線傳感網(wǎng)絡(luò)節(jié)點定位問題中時,各個果蠅個體表示一個網(wǎng)絡(luò)節(jié)點j,估計位置是Aj=(xj,yj),各個果蠅需要使用式(7)更新自身位置。
定位無線傳感器網(wǎng)絡(luò)節(jié)點定位時,錨節(jié)點十分關(guān)鍵。錨節(jié)點又稱信標節(jié)點,可作為節(jié)點定位中的參考節(jié)點,為需要定位的節(jié)點提供參考坐標。假設(shè)在定位范圍中具有n個錨節(jié)點,設(shè)錨節(jié)點坐標Ci=(xi,yi),那么t時間段中需定位節(jié)點j與錨節(jié)點i之間的預(yù)計距離是:
(8)
設(shè)Hji是t時間段中網(wǎng)絡(luò)節(jié)點j與錨節(jié)點i之間實際距離,根據(jù)兩節(jié)點間的預(yù)計距離和實際距離,獲取果蠅優(yōu)化算法的適應(yīng)度函數(shù)如式(9)所示:
g(x,y)=Eji-Hji
(9)
1.1.2 FOA-MCB定位算法的實現(xiàn)步驟
本文采用FOA-MCB定位算法進行網(wǎng)絡(luò)節(jié)點的定位,其實現(xiàn)步驟如下所示。
(1)初始化,設(shè)置果蠅個體的速度與位置。
(2)使用MCB定位算法,定位無線傳感器網(wǎng)絡(luò)中需要定位的節(jié)點位置坐標,定位方法如下。
①無線傳感器網(wǎng)絡(luò)錨節(jié)點i在無線傳感器網(wǎng)絡(luò)中明示自己的位置坐標(xi,yi)。
②若無線傳感器網(wǎng)絡(luò)中需定位節(jié)點j檢測到多個和自己通信的錨節(jié)點位置,使用錨節(jié)點建立錨盒,在采樣盒中任意建立M個樣本個體,各個樣本表示節(jié)點在某方位的可能性。
③若無線傳感器網(wǎng)絡(luò)中需定位節(jié)點j檢測發(fā)現(xiàn)某個和自己通信的錨節(jié)點信息,便運算各個網(wǎng)絡(luò)節(jié)點樣本個體和錨節(jié)點之間的歐式距離,之后取出歐式距離較大的樣本并舍棄,對有效樣本個體設(shè)置權(quán)重[10]。
④多次執(zhí)行①-③步驟,如果得到的有效樣本數(shù)量不符合條件,便循環(huán)采樣并過濾,直至滿足樣本數(shù)量要求。
⑤t時間段無線傳感器網(wǎng)絡(luò)中需定位節(jié)點的估計位置坐標主要通過樣本點的加權(quán)均值獲取[11-12]。
(3)計算各個果蠅個體和錨節(jié)點的距離,并計算各個果蠅適應(yīng)度值。
(4)計算各個果蠅個體最優(yōu)位置坐標。
(5)分辨各個果蠅個體的適應(yīng)度值是否比上一代優(yōu)越,如果是,記載最優(yōu)個體位置,更新各個個體的位置[13]。
(6)迭代次數(shù)未達到最大值時,跳轉(zhuǎn)至第(3)步驟再次循環(huán)操作,反之,把目前最優(yōu)果蠅個體位置設(shè)成無線傳感器網(wǎng)絡(luò)中需定位節(jié)點位置的最優(yōu)解。
結(jié)合上文方法可知,錨節(jié)點幾何布局對無線傳感器節(jié)點定位精度存在一定影響,為了準確分析無線傳感器節(jié)點定位精度和錨節(jié)點幾何布局的關(guān)系,本文使用幾何稀釋GDOP值分析此問題[14]。
設(shè)置GDOP是:
(10)
設(shè)置Δβ是無線傳感器節(jié)點位置Pj和定位值A(chǔ)j之間差值矢量,c1,c2,…,cj是無線傳感器節(jié)點指向每個錨節(jié)點的單位矢量,則:
(11)
其中,Tnj是第j個錨節(jié)點到目標節(jié)點的時間;sj是第j個錨節(jié)點到目標節(jié)點的距離;T0是錨節(jié)點發(fā)送信號時間;d是信號的傳播速度;δj、εj依次是誤差矢量與誤差矢量的均值。εj和Δβ的矢量關(guān)系如圖1所示。
圖1 εj和Δβ的矢量關(guān)系
無線傳感器節(jié)點定位的時差值測量方程是:
tnj-tnj+1=(εj-εj+1)/d+
(cj-cj+1)·Δβ/d+(δj-δj+1)
(12)
時差值矢量矩陣設(shè)成:
(13)
其中,Tn=[tn1,tn2,…,tnj]T,上標T代表轉(zhuǎn)置;δ=[δ1,δ2,…,δj]T;ε=[ε1,ε2,…,εj]T;G=[G1,G2,…,Gj]T,G是梯度值。
(14)
(15)
將協(xié)方差變換為式(16):
(16)
此時歸一化的GDOP是:
(17)
其中,Qxx、Qyy是在x軸、y軸中因均方根測距誤差、因集合關(guān)系而變動的無線傳感器節(jié)點定位誤差放大系數(shù)。
在100mm×100mm范圍中設(shè)置多個傳感器節(jié)點,建立一個無線傳感器網(wǎng)絡(luò),其結(jié)構(gòu)如圖2所示。設(shè)置錨節(jié)點與常規(guī)節(jié)點的通信半徑均為55mm,將無線傳感器網(wǎng)絡(luò)中需定位節(jié)點的定位值和實際值之間歸一化的GDOP值設(shè)成性能測試指標。
圖2 無線傳感器網(wǎng)絡(luò)結(jié)構(gòu)
圖2中,位置節(jié)點aa、bb能夠通過錨節(jié)點A1、A2、A3、A4錨節(jié)點判斷位置。錨節(jié)點A1、A2、A3或A2、A3、A4都可以對無線傳感器網(wǎng)絡(luò)中需定位節(jié)點bb的位置進行定位。在以節(jié)點bb為坐標原點的坐標系里,運算錨節(jié)點A1、A2、A3或A2、A3、A4的(GDOP)m值。使用3個錨點組合形式,對無線傳感器網(wǎng)絡(luò)中需定位節(jié)點bb實施節(jié)點定位時,節(jié)點bb處于錨點A2、A3、A4區(qū)間中,在錨節(jié)點A1、A2、A3區(qū)間外。無線傳感器網(wǎng)絡(luò)中需定位節(jié)點的定位結(jié)果即為區(qū)間中的質(zhì)心,如果節(jié)點bb與此區(qū)間的質(zhì)心十分靠近,無線傳感器網(wǎng)絡(luò)中需定位節(jié)點定位精度便較為顯著。根據(jù)此類標準,錨節(jié)點集合和需定位節(jié)點的幾何布局存在兩種情況。
(1)需定位節(jié)點出現(xiàn)在錨節(jié)點環(huán)繞的區(qū)間中,簡稱為錨節(jié)點群內(nèi)點。
(2)需定位節(jié)點未出現(xiàn)在錨節(jié)點環(huán)繞的區(qū)間中,簡稱為錨節(jié)點群外點。
使用本文方法分析無線傳感器網(wǎng)絡(luò)節(jié)點定位精度時,測試本文所提定位方法對無線傳感器網(wǎng)絡(luò)節(jié)點精度,將測試次數(shù)設(shè)成200次,錨節(jié)點數(shù)量是3個,求解錨節(jié)點群內(nèi)點、外點的需定位節(jié)點定位精度歸一化GDOP值,求解結(jié)果如圖3所示。
圖3 內(nèi)外點歸一化GDOP值
由圖3可知,采用本文方法分析后可知,無線傳感器網(wǎng)絡(luò)節(jié)點定位后,內(nèi)外點歸一化GDOP值顯示,內(nèi)點定位精度大于外點定位精度。實際定位中,為了減少通信與運算損耗,一般會選取3個錨節(jié)點對需定位節(jié)點實施定位,錨節(jié)點的幾何布局對定位精度存在直接影響,以節(jié)點bb為例,節(jié)點bb屬于A2、A3、A4內(nèi)點,能夠提升無線傳感器網(wǎng)絡(luò)中需定位節(jié)點定位精度,A2、A3、A4是節(jié)點bb最合適的幾何布局。由此可見,錨節(jié)點的位置對無線傳感器網(wǎng)絡(luò)節(jié)點定位精度存在直接影響。
無線傳感器網(wǎng)絡(luò)中,錨節(jié)點的數(shù)量對無線傳感器網(wǎng)絡(luò)定位精度也存在影響,設(shè)置錨節(jié)點分別是3個與4個,在此條件下,使用本文方法求解錨節(jié)點群內(nèi)點、外點的需定位節(jié)點定位精度歸一化GDOP值,求解結(jié)果如圖4所示。
(a)內(nèi)點
(b)外點圖4 不同錨節(jié)點數(shù)量下,節(jié)點定位精度分析結(jié)果
由圖4可知,采用本文方法分析后可知,當(dāng)錨節(jié)點數(shù)量分別是3個、4個時,本文所提定位方法對無線傳感器網(wǎng)絡(luò)節(jié)點精度存在差異,目標節(jié)點定位后,內(nèi)外點歸一化GDOP值顯示,3個錨節(jié)點的內(nèi)、外點定位精度大于4個錨節(jié)點的內(nèi)、外點定位精度。由此可知,錨節(jié)點數(shù)量需要合理設(shè)定,才能實現(xiàn)無線傳感器網(wǎng)絡(luò)高精度定位。
當(dāng)錨節(jié)點數(shù)量是3個,幾何分布如圖2中A1、A2、A3為例,測試此條件下,當(dāng)無線傳感器網(wǎng)絡(luò)節(jié)點移動速度是0.1mm/s、0.2mm/s、0.3mm/s、0.4mm/s、0.5mm/s時,本文所提定位方法對無線傳感器網(wǎng)絡(luò)節(jié)點的定位效果,定位效果用歸一化GDOP值描述。測試結(jié)果如表1所示。
表1 無線傳感器網(wǎng)絡(luò)節(jié)點移動速度對定位精度的影響
由表1可知,采用本文方法分析后可知,當(dāng)無線傳感器網(wǎng)絡(luò)節(jié)點移動速度是0.1mm/s、0.2mm/s、0.3mm/s、0.4mm/s、0.5mm/s時,本文所提定位方法對無線傳感器網(wǎng)絡(luò)節(jié)點定位后,歸一化GDOP值出現(xiàn)變化。在無線傳感器網(wǎng)絡(luò)節(jié)點移動速度是0.1mm/s時,歸一化GDOP值最高,此時定位精度最高。伴隨移動速度的加快,本文所提定位方法對無線傳感器網(wǎng)絡(luò)節(jié)點定位精度變差,但定位結(jié)果的歸一化GDOP值也不小于95。相對而言,無線傳感器網(wǎng)絡(luò)節(jié)點移動速度加快,對無線傳感器網(wǎng)絡(luò)節(jié)點定位精度存在微弱影響。
設(shè)錨節(jié)點數(shù)量是3個,幾何分布如圖2中A1、A2、A3為例,測試此條件下,當(dāng)無線傳感器網(wǎng)絡(luò)節(jié)點在t時刻被定位后,t+1時刻移動距離是0.5m、1.5m、2.5m、3.5m、4.5m時,本文所提定位方法對無線傳感器網(wǎng)絡(luò)節(jié)點的定位效果,定位效果以歸一化GDOP值描述,其中無線傳感器網(wǎng)絡(luò)節(jié)點移動速度是0.1mm/s。測試結(jié)果如表2所示。
表2 無線傳感器網(wǎng)絡(luò)節(jié)點移動距離對定位精度的影響
由表2可知,采用本文方法分析后可知,當(dāng)無線傳感器網(wǎng)絡(luò)節(jié)點移動速度是0.1mm/s、t+1時刻移動距離是0.5m、1.5m、2.5m、3.5m、4.5m時,本文所提定位方法對無線傳感器網(wǎng)絡(luò)節(jié)點定位后,歸一化GDOP值是97,定位精度較高。伴隨移動距離的增多,本文所提定位方法對無線傳感器網(wǎng)絡(luò)節(jié)點定位精度保持不變,定位結(jié)果的歸一化GDOP值也始終是97。相對而言,無線傳感器網(wǎng)絡(luò)節(jié)點移動距離增多,對無線傳感器網(wǎng)絡(luò)節(jié)點定位精度不存在負面影響。
綜上所述,當(dāng)錨節(jié)點幾何布局和錨節(jié)點數(shù)量不同時,本文方法會對無線傳感器網(wǎng)絡(luò)節(jié)點定位的精度造成影響;當(dāng)錨節(jié)點數(shù)量是3個且?guī)缀畏植既鐖D2中A1、A2、A3所示時,節(jié)點移動速度不同,本文方法會對無線傳感器網(wǎng)絡(luò)節(jié)點定位精度造成損失,但受損程度不大,且節(jié)點移動距離不同,文本方法不會對無線傳感器網(wǎng)絡(luò)節(jié)點定位精度造成影響。