馮愛麗,喬鋼柱,曾建潮
(太原科技大學計算機科學與技術學院,太原030024)
隨著經濟的發展和科學技術的進步,無線傳感器網絡[1]在安全生產、交通管理、醫療設備及智能家庭中得到了越來越多的應用,無線傳感器節點功耗小、成本低、可靠性高,可以方便地布置在各種生產、生活需要的地方[2]。在利用無線傳感器采集數據的時候,數據的來源地是一個我們需要獲得的一個重要信息,沒有位置信息的數據往往是沒有意義的[3],如煤礦事故人員搜救、車輛跟蹤、溫度測量等,所以精確定位對無線網絡的應用有非常重要的意義。
定位方法總體上分為兩大類,基于測距(rangebased)算法與非基于測距(range-free)算法[4]。非基于測距的算法無需測量節點間的距離,根據網絡連通度估計未知節點的位置[5];基于測距的算法則通過測量未知節點與信標節點的距離或角度,再利用三邊測量,三角測量,極大似然等算法計算節點的位置信息[6]。目前,測量節點間距離的方法[7]有RSSI、TDOA、TOA、AOA 等,RSSI是通過測量信號在空氣中傳播損耗來獲得節點間的距離信息,所以RSSI測距[8]無需增加額外的硬件設備,節約成本,簡便宜行,適合無線傳感器趨勢發展需要,因而得到了廣泛的應用。但由于空間中物體、建筑墻壁引起信號的反射、多徑效應及障礙物阻擋等問題,使測量到的RSSI產生波動,從而引起測量距離誤差[9-10]。為了提高定位精度,必須提高節點間距離估計的準確性,距離由RSSI值計算得來,所以首先需要選擇受環境干擾小的RSSI.本文通過把所測量的每個RSSI值與平均RSSI值進行比較,去除波動較大的數據,即受移動物體影響,嚴重失真的RSSI值,使所選擇的RSSI值可靠性更高。再基于信標節點間的固定距離及所測量的RSSI信息,計算信標節點與未知節點的距離,通過仿真與一般平均值距離估計方法進行比較,最后結果表明本文算法提高了距離估計精度。
目前有三種信號傳輸模型[11]:Free-Space模型、Two-Ray Ground Reflection模型和Shadowing模型。其中 Free-Space模型與Two-Ray Ground Reflection模型屬于圓形信號傳輸模型,即信號傳輸模型是一個理想圓。由于信號在傳輸的過程中的多徑效應以及障礙物阻擋等影響,使得傳輸模型顯示出各向異性的特征,因而具有綜合性的Shadowing統計模型在無線傳感器網絡的測距中得到了更廣泛的應用。
Shadowing模型由兩部分組成:第一部分為損耗模型(Pass Loss),該模型用一個已知距離r0及此距離上的接收功率P(r0)為參考,可以預測出距離為r時的平均接收功率P(r),損耗模型為:

其中n為路徑損耗系數,是經過實際測量得到的經驗值,范圍在2~6之間,n值隨著障礙物的增多而增大。
Shadowing模型的第二部分反映的是在固定距離上,接收能量符合對數正態隨機變化,以dB為單位的Shadowing模型滿足高斯分布,公式為:

Xσ是一個零均值的高斯隨機變量,實驗證明對距離的計算結果影響不大,因此本文用去除Xσ的簡單信號傳輸模型來估計距離。
定位準確的先決條件是有精確的節點間距離信息,而距離由接收到的RSSI值通過信號傳輸模型計算得到,所以選擇能準確反映節點間距離的RSSI值至關重要。RSSI受多種因素影響,圖1是由Shadowing模型得到的RSSI與距離的關系圖。

圖1 距離與誤差的關系Fig.1 The relationship between distance and RSSI
由圖1可知,RSSI值隨距離的增加而減小。當距離比較近時,RSSI隨著距離的增加而減小的很快,但當距離比較遠時,距離的變化對RSSI的影響很小,所以距離越近,得到的RSSI值與距離的對應關系越準確。然而,RSSI值在受隨機因素影響產生小幅度波動的同時,還會受移動物體的影響,產生大幅度波動,使所測量的部分數據嚴重失真,傳統計算距離采用的是測量得到的多個RSSI的均值,如果把嚴重失真的數據用在均值計算RSSI上,得到的RSSI值不能準確的反映真實距離信息,因而需要去除嚴重失真的數據,提高定位精度。在實際環境中,如果沒有移動物體的干擾,同一個信標節點在距未知節點相同的距離上所測得的RSSI值波動不大。所以本文引入了利用平均值去除嚴重失真數據,如果 RSSI與的差的絕對值與RSSI的比值超過所設定比率R時,就認為這個值屬于嚴重失真數據,波動范圍在R以內的值認為是正常環境中測量得到的值,可以保留,最后對保留的RSSI值求平均值,傳給未知節點用來計算距離,求平均值與選擇RSSI值公式如式(3)和式(4):

公式中R是通過大量實驗測得的比率,它將使幾乎所有在隨機因素影響下的波動RSSI值包含在內。
一個實際存在的網絡中,不同位置的節點所處的環境不同,受到的干擾也不同,結果會產生不同距離上測到的RSSI值相同的情況,如果直接代入式(2)計算距離會產生誤差,所以在計算距離時,應該引入環境因素的影響,使所獲得的距離更準確。本文引入相似環境中其他信標節點的信息來改進估計距離,在式(2)中引入固定參考節點間的距離與平均RSSI值作為參考來校正RSSI值與距離的對應關系。
RSSIij表示信標節點Ai接收到鄰近信標節點Aj的平均信號強度值,rij表示信標節點Ai與Aj之間的距離,RSSIi表示未知節點接收到的信標節點Ai的RSSI平均值,ri(j)表示以信標節點Aj為參考計算得到的未知節點與信標節點Ai之間的估計距離,代入式(2),忽略高斯隨機變量Xσ得:

由式(5)可得ri(j)的值。傳感器網絡中,節點部署一般比較密集,一個信標節點可以同時接收到附近多個其他信標節點的信號。由于距離越近,RSSI值與距離的對應關系越準確,所以為了使所選取的RSSIij與rij具有更好的參考價值,只選取離Ai最近的三個信標節點作為參考,計算ri(j),然后取平均作為未知節點與信標節點Ai之間的估計距離:

實驗結果表明,選擇三個信標節點作為參考,已經可以明顯減小估計距離的誤差,同時減小了傳感器節點的運算量,很好的滿足了傳感器適時性、耗能小的特性要求,使該算法能夠更好地應用在傳感器定位的實踐中。
利用MATLAB做算法仿真,仿真環境為40 m×50 m的區域,選取該區域的左下角坐標為(0,0),右上角坐標為(50,40),信標節點以橫坐標上間隔10 m、縱坐標上間隔20 m的距離均勻部署,路徑損耗系統設為2.9,通信半徑設為50.
先做實驗選擇合適的R值,信號強度是服從高斯分布的Shadowing模型,這些信號強度只受隨機因素影響產生波動,所以認為這些RSSI值都是在正常環境測量得到的值,選擇的R值應該使這些值都包含在內。每隔1 m的距離上都連續采集50個RSSI值,求每個距離上最大的RSSI誤差值與平均值比率,仿真結果如圖2所示,由圖2可知,最大誤差比率不超過0.13,考慮真實環境中影響信號波動因素多,信號波動會更大,取R為0.2.
再把以平均值為基礎的波動排除失真數據算法與信標節點參考算法結合仿真,與傳統的取參考距離(r0)為1 m的平均值距離估計算法進行比較,仿真比較如圖3所示。
圖3中實曲線代表傳統的均值算法仿真結果,虛曲線是采用改進RSSI算法仿真的結果,由圖3可以看出,本文的改進RSSI算法明顯提高了距離估計的準確性,在25 m內,距離估計誤差在1 m以內,在50 m內,最大的距離估計誤差約3 m,且大部分的距離誤差都在2 m以內,這對未知節點的準確定位提供了保證。

圖2 不同距離上最大RSSI誤差值與平均值的比率Fig.2 The ratio of the largest RSSI error and the average in different distance

圖3 改進RSSI算法與傳統均值算法的比較Fig.3 The comparison of improved RSSI algorithm and traditional average algorithm
根據室內定位環境復雜,易受移動障礙物影響等因素,提出了優選RSSI值的平均距離波動消除法,消除嚴重失真數據,保留與距離關系對應好的RSSI值,再利用相似環境中其他信標節點間的距離及RSSI值來校正未知節點與信標節點之間的測量距離,從而有效的去除了所測量RSSI值中受移動障礙物影響較大的數據,消除了不同位置時環境參數不同對測距精度的影響。通過實驗證明,本文提出的算法適合無線傳感器網絡室內定位,能夠實現能耗低、定位精度高的要求。
[1]張宏巍,徐玉斌.一種無線傳感器網絡低延時信道接入協議[J].太原科技大學學報,2011,32(1):6-10.
[2]CHEN KAI,ZHOU YI,HE JIANHUA.A localization scheme for underwater wireless sensor networks[J].International Journal of Advanced Science and Technology,2009(4):9-16.
[3]李白莉,徐玉斌,李俊吉.改進DV-Hop定位算法在隨機傳感器網絡中的研究[J].太原科技大學學報,2011,32(2):85-88.
[4]王博,徐玉斌.無線傳感器網絡中節點的非測距定位算法[J].太原科技大學學報,2009,30(6):466-470.
[5]BULUSU B,HEIDEMANN J,ESTRIN D.GPS less low cost outdoor localization for very small devices[J].IEEE Personal Communications,2000,7(5):28-34.
[6]RUDAFSHANI M,DATTA S.Localization in wireless sensor networks[C]//Proceeding of the 6th International conference on Information Processing in Sensor Networks(IPSN),USA:NY,ACM,2007:51-60.
[7]孫立民,李健中,陳渝,等.無線傳感器網絡[M].北京:清華大學出版社,2005.
[8]ALIREZA N,JACEK I.A test bed for localizing wireless LAN devices using received signal strength[C]//Proc of the 6th Annual Communication Networks and Services Research Conf(CNSR2008),Canada,Halifax,2008:481-487.
[9]LYMBEROPOULOS D,LINDSEY Q,SAVVIDES A.An empirical analysis of radio strength variability in IEEE 802.15.4 networks using monopole antennas[R].ENALAB Technical Report,2005.
[10]CHO H,KANG M,PARK J,et al.Performance analysis of location estimation algorithm in ZigBee networks using received signal strength[C]//Proceedings of the 21st International Conference on Advanced Information Networking and Applications Workshops,Niagara Falls,Ontario,2007,2:203-206.
[11]趙昭,陳小惠.無線傳感器網絡中基于RSSI的改進定位算法[J].傳感技術學報,2009,22(3):391-394.
[12]喬鋼柱,曾建潮.一種適用于動態環境的改進RSSI定位方法[J].計算機研究與發展,2010,47(Suppl.):111-114.