張曉玲,商迎美,陳自紅
(安徽三聯學院 1.機器人工程學院;2.科研處,安徽 合肥 230601)
隨著現代科技的發展,無線傳感器網絡(Wireless Sensor Networks, WSN)被大量使用,其能夠實時監測環境中溫度、風速等信息[1-2]。無線傳感器網絡的使用成本較低,組網效率快,在災難援救、醫療領域等較為常用[3]。節點定位方法在無線傳感器網絡中占據十分重要的地位,在環境探測問題中,高精度定位森林溫度異常點屬于火災防治的必要條件[4]。在商業領域中,無線傳感器網絡節點定位能夠準確定位養老院病人的所在位置。在軍事領域中,無線傳感器網絡節點定位可準確提取入侵人士的所在位置[5]。基于此,無線傳感器的網絡節點能夠準確定位非常重要。
在無線傳感器網絡實際使用中,GPS定位較為常用,而傳感器節點具有海量性,分布狀態不具有規律性,從傳感器與GPS的體積、功能以及應用環境等角度分析,對每一個無線傳感器網絡節點都安置一個GPS并不可能實現。所以,高精度的無線傳感器網絡節點定位方法是目前無線傳感器網絡研究人員的熱點研究問題[6]。
目前很多定位方法雖然定位精度均較高,但是,計算開銷也較大。無線傳感器網絡中,用來描述定位誤差的指標大多以距離誤差均值、定位誤差均值為主[7]。但根據相關研究表示,節點的定位精度不光和定位方法有關,還與定位節點所靠近的錨節點幾何布局存在密不可分的關系。錨節點幾何布局出現變動,對節點定位精度存在一定影響,所以,為了提升無線傳感器網絡節點定位精度,需要分析定位精度和錨節點幾何拓撲之間的關聯性。本文提出基于FOA-MCB算法的無線傳感器網絡節點定位精度分析方法,在使用基于FOA-MCB算法的無線傳感器網絡節點定位方法,定位無線傳感器網絡節點之后,引入定位精度的幾何稀釋(GDOP)來分析無線傳感器網絡節點定位精度。
1.1.1 果蠅優化算法
果蠅擁有其他動物并不擁有的靈敏嗅覺與視覺,果蠅可以聞到大于10公里的食物味道,并使用嗅覺檢索目標味道所在的具體方位,果蠅優化難度較小,收斂效率顯著[8-9]。
果蠅優化方法的步驟如下。
第一步驟:初始化參數。
果蠅群體方位坐標是(xa,ya),個體數量為M,迭代次數最大值是Fmax,檢索步長是k。
第二步驟:計算果蠅搜索食物的飛行距離,計算公式如式(1)所示。
(1)
其中,Xo、Yo分別是飛行距離中的橫縱坐標位移值。
基于此,果蠅搜索食物的飛行距離總值E(i)計算公式如式(2)所示。
(2)
第三步驟:計算果蠅味道濃度判斷值R(i),計算公式如式(3)所示。
(3)
第四步驟:為了計算各個果蠅個體的適應度值G(i),需要導入適應度函數Function,如式(4)所示。
G(i)=Function(R(i))
(4)
第五步驟:提取果蠅群體里適應度函數最大或最小的果蠅個體bs、bd,如式(5)所示。
[bs,bd]=[max(G(i)),min(G(i))]
(5)
第六步驟:記載最大適應度值和最優果蠅坐標,剩下果蠅個體向此最優位置的方向飛行,其計算公式如式(6)所示。
(6)
其中,xa、ya依次是果蠅個體飛行到最佳位置距離的橫縱坐標位移值,X(bs)、Y(bs)依次是具有最優適應度值和最優果蠅個體的坐標。
第七步驟:迭代尋優。
迭代尋優后,循環第二步驟至第五步驟,判斷各次迭代中,所有果蠅個體是否都向最優位置的方向飛行,若是,便跳回第六步驟,反之繼續循環迭代。
上述過程中,搜索步長k十分重要,對搜索效率存在直接影響,應將搜索步長重點考慮。為將果蠅優化算法與無線傳感網絡節點定位相結合,本文把k變換為Δt×uj(t),則:
(7)
其中,Δt代表單位時間,uj(t)代表果蠅飛行的速率。
果蠅算法優化適應度函數可優化無線傳感網絡的定位精度,所以必須使用存在節點位置指標的函數g(Function),當果蠅優化算法使用在無線傳感網絡節點定位問題中時,各個果蠅個體表示一個網絡節點j,估計位置是Aj=(xj,yj),各個果蠅需要使用式(7)更新自身位置。
定位無線傳感器網絡節點定位時,錨節點十分關鍵。錨節點又稱信標節點,可作為節點定位中的參考節點,為需要定位的節點提供參考坐標。假設在定位范圍中具有n個錨節點,設錨節點坐標Ci=(xi,yi),那么t時間段中需定位節點j與錨節點i之間的預計距離是:
(8)
設Hji是t時間段中網絡節點j與錨節點i之間實際距離,根據兩節點間的預計距離和實際距離,獲取果蠅優化算法的適應度函數如式(9)所示:
g(x,y)=Eji-Hji
(9)
1.1.2 FOA-MCB定位算法的實現步驟
本文采用FOA-MCB定位算法進行網絡節點的定位,其實現步驟如下所示。
(1)初始化,設置果蠅個體的速度與位置。
(2)使用MCB定位算法,定位無線傳感器網絡中需要定位的節點位置坐標,定位方法如下。
①無線傳感器網絡錨節點i在無線傳感器網絡中明示自己的位置坐標(xi,yi)。
②若無線傳感器網絡中需定位節點j檢測到多個和自己通信的錨節點位置,使用錨節點建立錨盒,在采樣盒中任意建立M個樣本個體,各個樣本表示節點在某方位的可能性。
③若無線傳感器網絡中需定位節點j檢測發現某個和自己通信的錨節點信息,便運算各個網絡節點樣本個體和錨節點之間的歐式距離,之后取出歐式距離較大的樣本并舍棄,對有效樣本個體設置權重[10]。
④多次執行①-③步驟,如果得到的有效樣本數量不符合條件,便循環采樣并過濾,直至滿足樣本數量要求。
⑤t時間段無線傳感器網絡中需定位節點的估計位置坐標主要通過樣本點的加權均值獲取[11-12]。
(3)計算各個果蠅個體和錨節點的距離,并計算各個果蠅適應度值。
(4)計算各個果蠅個體最優位置坐標。
(5)分辨各個果蠅個體的適應度值是否比上一代優越,如果是,記載最優個體位置,更新各個個體的位置[13]。
(6)迭代次數未達到最大值時,跳轉至第(3)步驟再次循環操作,反之,把目前最優果蠅個體位置設成無線傳感器網絡中需定位節點位置的最優解。
結合上文方法可知,錨節點幾何布局對無線傳感器節點定位精度存在一定影響,為了準確分析無線傳感器節點定位精度和錨節點幾何布局的關系,本文使用幾何稀釋GDOP值分析此問題[14]。
設置GDOP是:
(10)

設置Δβ是無線傳感器節點位置Pj和定位值Aj之間差值矢量,c1,c2,…,cj是無線傳感器節點指向每個錨節點的單位矢量,則:
(11)
其中,Tnj是第j個錨節點到目標節點的時間;sj是第j個錨節點到目標節點的距離;T0是錨節點發送信號時間;d是信號的傳播速度;δj、εj依次是誤差矢量與誤差矢量的均值。εj和Δβ的矢量關系如圖1所示。

圖1 εj和Δβ的矢量關系
無線傳感器節點定位的時差值測量方程是:
tnj-tnj+1=(εj-εj+1)/d+
(cj-cj+1)·Δβ/d+(δj-δj+1)
(12)
時差值矢量矩陣設成:
(13)
其中,Tn=[tn1,tn2,…,tnj]T,上標T代表轉置;δ=[δ1,δ2,…,δj]T;ε=[ε1,ε2,…,εj]T;G=[G1,G2,…,Gj]T,G是梯度值。
(14)

(15)
將協方差變換為式(16):

(16)

此時歸一化的GDOP是:
(17)
其中,Qxx、Qyy是在x軸、y軸中因均方根測距誤差、因集合關系而變動的無線傳感器節點定位誤差放大系數。
在100mm×100mm范圍中設置多個傳感器節點,建立一個無線傳感器網絡,其結構如圖2所示。設置錨節點與常規節點的通信半徑均為55mm,將無線傳感器網絡中需定位節點的定位值和實際值之間歸一化的GDOP值設成性能測試指標。

圖2 無線傳感器網絡結構
圖2中,位置節點aa、bb能夠通過錨節點A1、A2、A3、A4錨節點判斷位置。錨節點A1、A2、A3或A2、A3、A4都可以對無線傳感器網絡中需定位節點bb的位置進行定位。在以節點bb為坐標原點的坐標系里,運算錨節點A1、A2、A3或A2、A3、A4的(GDOP)m值。使用3個錨點組合形式,對無線傳感器網絡中需定位節點bb實施節點定位時,節點bb處于錨點A2、A3、A4區間中,在錨節點A1、A2、A3區間外。無線傳感器網絡中需定位節點的定位結果即為區間中的質心,如果節點bb與此區間的質心十分靠近,無線傳感器網絡中需定位節點定位精度便較為顯著。根據此類標準,錨節點集合和需定位節點的幾何布局存在兩種情況。
(1)需定位節點出現在錨節點環繞的區間中,簡稱為錨節點群內點。
(2)需定位節點未出現在錨節點環繞的區間中,簡稱為錨節點群外點。
使用本文方法分析無線傳感器網絡節點定位精度時,測試本文所提定位方法對無線傳感器網絡節點精度,將測試次數設成200次,錨節點數量是3個,求解錨節點群內點、外點的需定位節點定位精度歸一化GDOP值,求解結果如圖3所示。

圖3 內外點歸一化GDOP值
由圖3可知,采用本文方法分析后可知,無線傳感器網絡節點定位后,內外點歸一化GDOP值顯示,內點定位精度大于外點定位精度。實際定位中,為了減少通信與運算損耗,一般會選取3個錨節點對需定位節點實施定位,錨節點的幾何布局對定位精度存在直接影響,以節點bb為例,節點bb屬于A2、A3、A4內點,能夠提升無線傳感器網絡中需定位節點定位精度,A2、A3、A4是節點bb最合適的幾何布局。由此可見,錨節點的位置對無線傳感器網絡節點定位精度存在直接影響。
無線傳感器網絡中,錨節點的數量對無線傳感器網絡定位精度也存在影響,設置錨節點分別是3個與4個,在此條件下,使用本文方法求解錨節點群內點、外點的需定位節點定位精度歸一化GDOP值,求解結果如圖4所示。

(a)內點

(b)外點圖4 不同錨節點數量下,節點定位精度分析結果
由圖4可知,采用本文方法分析后可知,當錨節點數量分別是3個、4個時,本文所提定位方法對無線傳感器網絡節點精度存在差異,目標節點定位后,內外點歸一化GDOP值顯示,3個錨節點的內、外點定位精度大于4個錨節點的內、外點定位精度。由此可知,錨節點數量需要合理設定,才能實現無線傳感器網絡高精度定位。
當錨節點數量是3個,幾何分布如圖2中A1、A2、A3為例,測試此條件下,當無線傳感器網絡節點移動速度是0.1mm/s、0.2mm/s、0.3mm/s、0.4mm/s、0.5mm/s時,本文所提定位方法對無線傳感器網絡節點的定位效果,定位效果用歸一化GDOP值描述。測試結果如表1所示。

表1 無線傳感器網絡節點移動速度對定位精度的影響
由表1可知,采用本文方法分析后可知,當無線傳感器網絡節點移動速度是0.1mm/s、0.2mm/s、0.3mm/s、0.4mm/s、0.5mm/s時,本文所提定位方法對無線傳感器網絡節點定位后,歸一化GDOP值出現變化。在無線傳感器網絡節點移動速度是0.1mm/s時,歸一化GDOP值最高,此時定位精度最高。伴隨移動速度的加快,本文所提定位方法對無線傳感器網絡節點定位精度變差,但定位結果的歸一化GDOP值也不小于95。相對而言,無線傳感器網絡節點移動速度加快,對無線傳感器網絡節點定位精度存在微弱影響。
設錨節點數量是3個,幾何分布如圖2中A1、A2、A3為例,測試此條件下,當無線傳感器網絡節點在t時刻被定位后,t+1時刻移動距離是0.5m、1.5m、2.5m、3.5m、4.5m時,本文所提定位方法對無線傳感器網絡節點的定位效果,定位效果以歸一化GDOP值描述,其中無線傳感器網絡節點移動速度是0.1mm/s。測試結果如表2所示。

表2 無線傳感器網絡節點移動距離對定位精度的影響
由表2可知,采用本文方法分析后可知,當無線傳感器網絡節點移動速度是0.1mm/s、t+1時刻移動距離是0.5m、1.5m、2.5m、3.5m、4.5m時,本文所提定位方法對無線傳感器網絡節點定位后,歸一化GDOP值是97,定位精度較高。伴隨移動距離的增多,本文所提定位方法對無線傳感器網絡節點定位精度保持不變,定位結果的歸一化GDOP值也始終是97。相對而言,無線傳感器網絡節點移動距離增多,對無線傳感器網絡節點定位精度不存在負面影響。
綜上所述,當錨節點幾何布局和錨節點數量不同時,本文方法會對無線傳感器網絡節點定位的精度造成影響;當錨節點數量是3個且幾何分布如圖2中A1、A2、A3所示時,節點移動速度不同,本文方法會對無線傳感器網絡節點定位精度造成損失,但受損程度不大,且節點移動距離不同,文本方法不會對無線傳感器網絡節點定位精度造成影響。