陳燕+楊永雙



摘要:對無線傳感器網絡定位中常用的質心算法進行了改進。改進算法將盲節點接收到的RSSI數據轉換為距離,并將距離作為錨節點權值,從而估計出盲節點的坐標位置。仿真結果表明,改進算法提高了定位精度,降低了定位誤差,且沒有增添系統通信負擔及計算量。
關鍵詞:WSN定位;RSSI;加權質心算法DOI:10.11907/rjdk.162748中圖分類號:TP312文獻標識碼:A
文章編號:16727800(2017)004004103
0引言
無線傳感器網絡(Wireless Sensor Networks,WSN)由大量傳感器節點構成,通過各類傳感器完成監測對象信息的感知、采集和傳輸。WSN應用范圍非常廣,涉及工業控制、農業控制、環境監測、醫療監護、智能家居、倉儲物流等諸多領域,具有廣闊的產業發展前景[1]。傳感器節點定位技術是WSN的關鍵技術之一,是一個重要的研究方向。 WSN定位算法分為兩類[2]:一類是基于測距的定位算法。該算法將接收到的信號強度(Received Signal Strength Indicator,RSSI)、到達時間(Time of Arrival,TOA)、到達時間差(Time Difference of Arrival,TDOA)、到達角度(Angle of Arrival, AOA)等信號參數轉化為距離,然后通過三邊法、三角法、極大似然估計法等計算出位置信息。這種算法需要測量未知節點和參考節點之間的距離或角度信息,因此基于測距的定位算法對傳感器節點硬件有要求,但定位精度較高;另一類是基于非測距的定位算法。該算法通過網絡的連通性和跳數來定位,需要較高密度的參考節點。常見的非測距定位算法有質心算法、APIT算法、DV-HOP、MDS-MAP算法等等。 質心算法[3]完全基于網絡連通性,誤差較大,是一種定位精度不高的算法,但是質心算法非常簡單,計算量少,可用于對未知節點坐標的簡單估計。本文研究了加權質心定位算法,給出了改進算法思路,并提出了一種改進方法,通過實驗仿真驗證了該算法的有效性。
1質心定位算法 質心算法是基于網絡連通性的定位算法。該算法的定位思想為:將在盲節點通信范圍內的錨節點組成一個多邊形,多邊形的質心即為該盲節點的估計位置。從式(1)可以看出質心定位算法非常簡單,且不需要增加額外的硬件設施。但盲節點是通過鄰居錨節點組成的多邊形質心來確定自身的估計位置,因此算法的精確度與錨節點的密度有很大關系。當鄰居錨節點數較少時,定位精度會比較低。 質心定位算法雖然估計出了未知節點的位置信息,但算法中所有錨節點的加權權值都一樣,沒有考慮到不同位置的錨節點對未知節點坐標有不同的影響力,因此需對不同的錨節點加上不同的加權權值。加權質心算法[3]計算公式為:
2距離損耗模型定位系統進行距離測量時,一般選用以下的距離損耗模型[4]:
其中,A表示射頻參數,其定義是距離發射器1m處所接收信號平均能量的絕對值,用dBm表示,n為環境因子,d表示與發射節點之間的距離。由式(3)可將接收到的RSSI值轉換為距離d。
3加權質心定位算法改進為了進一步提高定位精度,降低盲節點定位產生的誤差,同時不增加通信開銷,節約能耗,本文對加權定位算法作了進一步改進。
3.1未知節點誤差設未知節點i的真實坐標為(x′,y′),通過定位算法得出估計坐標為(x,y)。定位誤差使用相對定位誤差[5],定義為:
其中N為盲節點個數,Ei為第i個盲節點定位誤差。
3.2改進思路不同距離的錨節點對盲節點的定位影響是不同的,錨節點和盲節點距離越近,對盲節點定位的影響越大;距離越遠,對盲節點的定位影響越小。因此,可以通過錨節點與盲節點之間的RSSI值計算出錨節點和盲節點間的距離,以此作為每個錨節點坐標對應的加權權值,反映每個錨節點坐標對質心位置的影響程度。定義各個錨節點的加權因子ωi = SX(1dki SX),即各個錨節點的加權權值與它們距盲節點的距離成反比,距離越近,給予的權值越大;距離越遠,給予的權值越小。當距離指數k取不同值時,可得到如圖2所示的曲線。圖2的仿真環境:在200m×200m區域內,40個錨節點和200個盲節點隨機分布,節點的通信半徑設為20m,k從0.1~5,步長取0.1。從圖2可以看出,當指數k在2附近時定位誤差最小。k越大,距離盲節點最近的錨節點給予的權值也就越大,特別是大于2之后,盲節點就越接近該錨節點,也就越可能遠離盲節點的實際位置,這樣就加大了定位誤差。圖3是仿真運行1 000次各指數出現誤差最小值的次數。經統計,誤差最小值95%出現在指數k=[1.9,2.0,2.1,2.2],考慮到方便計算,k取2,即加權系數ωi = SX(1d2i SX)。
3.3改進算法步驟(1)錨節點周期性地向周圍環境發送節點ID、自身位置信息等。
3.4仿真分析本文采用Matlab軟件作為仿真平臺,仿真場景為一定區域內隨機布置若干個傳感器節點,所有傳感器節點均具有相同的結構并且發射功率相同。圖4為其中的一個仿真環境,在100m×100m區域內,40個錨節點和200個盲節點隨機分布,節點的通信半徑設為20m。
圖5為節點的通信半徑變化時仿真程序運行1000次的平均結果。仿真環境:200m×200m,60個錨節點,240個盲節點。從圖5可以看出,當加權指數取2時,平均定位誤差最小。隨著通信半徑的增加,定位誤差會隨之減小,這是因為通信半徑的增加使參與定位的錨節點數目增加,定位精度得到了提高。為當錨節點數改變時,仿真程序運行1000次的平均結果如圖6所示。仿真環境:200m×200m環境,盲節點數為200個,通信半徑為35m。從圖6可以看出,當加權指數取2時,平均定位誤差最小。隨著錨節點數的增加,定位誤差會隨之減小,這是因為錨節點增加使參與定位的錨節點數目增加,定位精度得到了提高。
4結語 本文利用RSSI值和距離之間的轉換,將接收到的RSSI值轉換為距離,并以此為錨節點加權系數,對質心定位算法進行了改進。從仿真結果可以看出,本文提出的算法提高了定位精度,降低了定位誤差,且沒有增添系統通信負擔,也沒有加大系統計算量。
參考文獻參考文獻:[1]楊錚,吳陳沭,劉云浩.位置計算:無線網絡定位與可定位性[M].北京:清華大學出版社,2014.[2]劉鋒,章登義.基于RSSI的無線傳感器網絡質心定位算法[J].計算機科學,2012,39(6):9698.
[3]楊新宇,孔慶茹,戴湘軍.一種改進的加權質心定位算法[J].西安交通大學學報,2010,44(8):14.
[4]朱明輝,張會清.基于RSSI的室內測距模型的研究[J].傳感器與微系統,2010,29(8):1922.
[5]吳磊,侯忠偉,許登元,等.無線傳感器網絡中基于錨節點功率調節的加權質心定位算法[J].微電子學與計算機,2012,29(10):177180.
(責任編輯:杜能鋼)