摘 要: 提出了一種新的基于接收信號強度(RSSI)的無線傳感器網絡定位算法,將固定錨節點之間的距離和信號強度信息同時作為參考來校正每個固定錨節點的權值,每個節點收集自身到其一跳鄰節點的RSSI值,當收集數量達到要求時,對數據進行濾波并求平均值處理。通過理論推導證明該方法可以有效降低RSSI不規則網絡的定位誤差,進而實現高效定位。仿真結果表明,該定位算法可以降低定位誤差,具有高效的可用性,能夠應用于實際的無線傳感器網絡中。
關鍵詞: 無線傳感器網絡;定位算法;定向路由;鏈路質量評估
無線傳感器網絡作為一種新興技術,在工農業、城市管理、搶險救災等許多領域都有重要的科研價值和應用前景,是目前學術界研究的熱點問題之一。其中,傳感器節點的定位問題是無線傳感器網絡中的一個基本和關鍵問題[1]。在傳感器網絡中,傳感器節點自身的正確定位是提供監測事件位置信息的前提。只有在節點自身正確定位之后,才能確定傳感器節點監測到的事件的具體位置,這需要監測到該事件的多個傳感器節點之間相互協作,并利用他們自身的定位機制確定事件發生的位置。
近年來國內外研究人員提出了一些定位算法。在DV-Hop定位算法[2-3]中,將節點的無線射程R作為平均每跳的距離,這對于節點分布密集且均勻的網絡比較適合。但當節點分布不均勻或節點密度較低時,非鄰居節點間的估計距離會比實際距離偏大,只有在各向同性的密集網絡中才能合理估算出每跳的平均距離。SPA算法[4]選擇網絡中連通度最大的節點作為坐標原點,建立全局相對坐標系。其余每個節點分別通過測距獲得鄰居節點間的距離,在各個節點建立局部坐標系統,通過節點間的信息交換與協調,以參考點為基準通過坐標變換(旋轉與平移)建立全局坐標系統。由于每個節點都要參與多次坐標變換,因此計算量和定位誤差都非常大。
本文針對目前定位算法距離值誤差較大以及低效的問題,考慮把固定錨節點之間的距離和信號強度兩種信息同時作為參考來校正每個固定錨節點的權值,彌補了DV-Hop算法和SPA算法的不足。在本文算法中,每個節點收集自身到其一跳鄰節點的RSSI值,當收集數量達到要求時,對數據進行濾波并求平均值處理。仿真結果表明,本文提出的定位算法可以降低定位誤差,具有高可用性,能夠應用于實際的無線傳感器網絡中。
1 ERL定位算法
在無線傳感器網絡中,RSSI受環境影響的程度較大,相同的節點在不同的相對位置下的RSSI值有可能相差非常大。此外,在同一環境下,不同區域或不同方向的節點,盡管距離相同,RSSI值也可能不相同。這就意味著同一個RSSI值,在同一網絡拓撲分布中的不同節點對間代表的距離是不同的,相應的權值也應當是不同的。如果未知節點的位置計算僅僅考慮未知節點到某個固定錨節點的RSSI值而沒有加入其他修正方法,那么由于RSSI值受環境的影響可能導致算法的誤差較大。所以,考慮把固定錨節點之間的距離和信號強度信息兩種信息同時作為參考來校正每個固定錨節點的權值,進而彌補了DV-Hop和SPA算法的不足。
在基于接收信號強度指示(RSSI)的定位算法中,己知發射節點的發射信號強度,接收節點根據收到的信號強度計算出信號的傳播損耗,利用理論和經驗模型將傳輸損耗轉換為節點的位置。ERL定位算法的理論依據是RSSI可以標示信號的強度,進而可以判斷出節點間的距離信息,通過理論推導,得出未知節點到固定節點的距離,進而達到高效定位的目的。
本文提出的ERL定位算法總體上分為兩個階段:測距階段和定位計算階段。在測距階段的整個網絡自組織過程中,每個節點收集自身到其一跳鄰節點的RSSI值,當收集數量達到要求時對數據進行濾波并求平均值處理,保存最終結果。當組網成功后,由信標節點廣播發送定位數據幀,其中含有信標節點的ID、坐標信息、數據幀生命期、跳計數和RSSI累加值,跳計數和RSSI累加值初始化為0。在定位計算階段中,當未知節點接收到3個或3個以上信標節點的坐標時,可以采用下面的推理方法從而提高定位的網絡覆蓋率,達到高效定位的目的。主要推導過程如下:
RSSIi表示未知節點M接收到固定錨節點Bi信號的RSSI平均值(單位dbm),Pi表示未知節點M接收到固定錨節點Bi的信號強度平均值(單位mW),則兩者的轉換關系如式(1)所示:
在計算未知節點與固定錨節點的距離時,以固定錨節點對之間的距離和測量的RSSI值作為參考,將固定錨節點之間的距離和信號強度信息考慮進來校正固定錨節點的權值,從而提高算法的精度。RSSIij表示固定錨節點B。接收到固定錨節點Bj信號RSSI平均值(單位dbm),Pij表示固定錨節點Bi接收到固定錨節點Bj的信號強度平均值(單位mW),則同理有:
XdB是一個沒有任何意義的高斯隨機變量。式(6)也被稱為對數正態shadowing模型。根據Shadowing模型對理想環境模型進行了擴展,變成了一個富有統計學的模型:當節點接近通信范圍邊緣時,能否通信只能是一個隨機事件。
通過以上分析可以看出,在仿真實驗中,為了模擬現實的無線傳感器網絡的通信特性,可以使用shadowing物理通信模型,本文所提出的定位算法同樣基于該模型,為該算法的實際應用提供了較強的說服力。
3 仿真試驗及性能評估
本節利用NS2仿真工具分析上文提出的算法性能,設計實驗場景如下:在一個500 m×500 m的區域內按均勻分布隨機放置400個無線傳感器節點,設定錨節點和普通節點的通信半徑R都為10 m,網絡節點連接度為8.28,每次定位需要的成功樣本數N為100。以所有待定位節點的估計位置與真實位置的平均誤差作為性能評估的標準,平均誤差對通信半徑R進行歸一化。每個仿真結果在同一環境下運行10次取平均值。
為了對本文所提出的聯合優化方法ERL做出性能評價,需要選擇一種路由協議作為評價的“載體”。考慮到Direct Diffusion協議[5]是一種按需路由協議,協議的設計適合于無線傳感器網絡的應用,便于性能的比較,這里做出如下的標記:將原始基于HOP算法的命名為HOP-DD,將基于SPA算法命名為SPA-DD,將基于本文提出的ERL算法命名為ERL-DD。
圖1所示為定位誤差隨錨節點比例的變化情況。可以看出,基于HOP的抽樣效果要好基于SPA的抽樣,因為基于HOP的抽樣對樣本點的過濾更加嚴格,得到的樣本點的值也更加接近真實值。理論上說越嚴格的過濾條件得到的樣本點也會越好,但是相應地會使需要抽樣的次數增加,才能滿足樣本數量的要求。ERL-DD則使用了本文提出的定位算法,考慮了固定錨節點之間的距離,其效果優于HOP-DD和SPA-DD。
圖2所示為不同個數節點下的定位誤差分布圖,DV-Hop由于使用兩次洪泛而使其節點間通信量過大,并且利用跳段距離代替直線距離存在一定的誤差。從圖中可以看到,基于本文所提出的ERL算法在相同節點個數下,優于基于SPA和HOP的定位算法。主要原因在于DV-HOP算法在節點間消耗大量的能量,而且定位誤差大,SPA算法隨著網絡壽命的變短及其不穩定,定位誤差大。本文所提出的算法基于RSSI定位,可以節省定位能耗,提高定位精確度。
本文分析了定位算法的研究現狀,針對無線傳感器網絡的通信鏈路存在著高丟失率、非對稱性等特點,設計了一個高效可靠的定位算法,并將此算法應用于Direct Diffusion協議中,仿真結果表明本文提出的定位算法可以節省定位能耗,提高定位精度,具有高可用性,對無線傳感器網絡的實際應用具有一定的參考價值。
參考文獻
[1] 屈斌,胡訪宇.高效節能的無線傳感器網絡路由協議研究[J].計算機仿真,2008,25(5):113-116.
[2] SON D,KRISHNAMACHARI B,HEIDEMANN J.Experimental study of the effects of transmission power control and blacklisting in wireless sensor networks.In IEEE SECON,2004:289-298.
[3] YANG S W,YI J Y,CHA H J.HCRL:a hop count-ratio based localization in wireless sensor networks sensor[A]. Proceedings of the 4th Annual IEEE Communications Society Conference on Sensor, Mesh and Ad Hoc Communications and Networks[C].TEEE Publish House.2007:31-40.
[4] ELEONORA S,EMILIE H,MANFRED N.Study of the behaviour of a catalytic ceramic candle filter in a lab-scale unit at high temperatures[J].International Journal of Chemical Reactor Engineering,2010:135-142.
[5] KHAN S A,MULVANEY R L,HOEFT R G.Direct-diffusion methods for inorganic-nitrogen analysis of soil.Soil Science Society of America Journal[J].2000,64(3):1083-1089.