張建業,曾凡偉,李正剛,段勇強,鐘建偉,廖紅華
(1.國網湖北省電力有限公司恩施供電公司,湖北 恩施 445000;2.湖北民族大學 信息工程學院,湖北 恩施 445000)
無線傳感器網絡由大量具有信息采集、數據處理和無線通信功能的傳感器節點組成,具有強大的自組網能力,已廣泛應用于軍民領域,具有巨大的發展潛力和應用前景。
目前,許多國內外的科研專家和學者對無線傳感器網絡中的定位算法進行了大量深入的研究。其中,郭金銘等對基于RSSI的定位算法進行了改進,一方面對RSSI值進行均值濾波,得到優化值,并利用極大似然估計法來計算未知節點的位置;蔡曉宇等則采用卡爾曼濾波處理RSSI值,一定程度上克服了部分環境的干擾,提高了定位精度;張溪等為提高無線傳感器網絡中DV-Hop算法的定位精度,提出基于距離優化和改進粒子群的DV-Hop定位算法,利用單跳平均誤差修正平均跳距,接收多錨節點的平均跳距估算節點間距離,使估算距離得以優化;譚志等對RSSI值進行了中位數加權處理,降低了定位誤差,提高了定位精度;胡洋等在無源信號的定位過程中,提出了一種針對無源信號RSSI定位的最大似然估計優化算法,大大提高了精確度和測量的時效性;于耕等從集中式定位算法和分布式定位算法兩個方面討論了典型的節點定位算法,并對無線傳感器網絡中的定位技術提出了改進意見。
本文提出了一種基于RSSI的智能開關節點測距定位算法,選擇TI公司出品的CC2530組建無線傳感器網絡,實現智能開關控制,著重討論環境因子對智能開關節點測距結果的影響,并對其進行優化,分析影響RSSI值的因素,并通過對實驗測試所得數據的處理來驗證優化后的RSSI智能開關節點測距定位算法的高精度特性。
基于RSSI的三點測距定位技術是在已知3個錨節點的具體位置和未知節點與這3個點的RSSI值的基礎上,借助衰減模型計算距離。通常情況下,無線信號在媒介中傳輸時,其信號強度會跟隨傳輸距離的延伸而逐漸變小,超過通信范圍便會失效,因此只能在實際通信半徑中傳輸。利用這一原理,可先根據經驗建立衰減模型,將信號強度的衰減值轉化為信號的傳播距離,在得出節點間的RSSI值后,計算此處與發射節點的距離。文中建立衰減模型時,采用更實用、更精確的陰影模型。該模型的原理如下:

式中:RSSI代表信號強度值;為收發節點的間距;為衰減因子,與環境有關;為節點間距1 m時接收到的RSSI值。和直接決定了RSSI和節點間距的關系。由式(1)可以得出與RSSI值的正向關系:

利用式(2)將RSSI值轉換為距離。式中:為距離,單位為cm;RSSI為信號強度值,為負數;為距離錨節點1 m時RSSI值的絕對值,為常值;為環境衰減因子,其最佳范圍為3.2~4.5。
3個圓兩兩相交,必然交于一個點,該點坐標即為所需定位的未知點,如圖1所示。

圖1 三圓兩兩相交圖


基于CC2530的智能開關節點測距模塊包含CC2530核心板和底板兩部分。CC2530核心板主要包括CPU和存儲器、時鐘和電源、外圍設備、無線模塊等。底板包括傳感器接口、鍵控復位、USB轉串口、智能開關控制模塊等。各模塊分工合作,實現無線傳感節點的組網、定位以及智能開關控制。基于CC2530的智能開關節點原理結構如圖2所示。

圖2 基于CC2530的智能開關節點原理結構
利用MATLAB軟件對RSSI算法進行仿真。仿真分析時,節點總數選為300個,其中60個為錨節點,240個為未知節點,經仿真得到節點分布圖如圖3所示。

圖3 節點分布圖
圖3中,錨節點和未知節點分別用“*”“o”表示。所有節點隨機分布在邊長1 000的正方形測試區域內,由于高密分布性,少數節點可能有重疊。
仿真得到的鄰居關系圖如圖4所示。鄰居關系圖反映了節點關系的復雜度與節點的數量呈正向關系,節點數量越多,其鄰居關系圖越龐大、越復雜。

圖4 鄰居關系圖
仿真得到的定位誤差圖如圖5所示。

圖5 定位誤差圖
仿真分析時,錨節點通信半徑設為200 m,仿真運行后可得到該網絡的平均連通度為31.95,任意未知節點的周圍錨節點個數平均有6個。在所有的240個未知節點中,不能定位的節點數目有13個,占未知節點總數的5%,系統所顯示的定位誤差為1.82×10。當錨節點由60個變到30個,且總節點數保持不變時,發現未知節點的個數明顯增多,很多節點之間有嚴重的信號干擾,這對于無線傳感器網絡的信號傳輸極其不利,可能會產生較大的定位誤差。因此,需在一定成本范圍內酌情分配錨節點的個數,使整體定位效果更佳。
測試前,在節點相距1 m時讀取RSSI值。RSSI=-35時,可得=-35。假設環境因素=3.5,并測試RSSI值從-37至-70范圍內變化的實測距離值。經測試,得到=3.5時的實測距離與理論距離,見表1所列。

表1 n=3.5時的實測距離與理論距離
由于測試環境的復雜性,采用最小二乘法對環境因子進行均值優化,在值不變的前提下,優化后的環境衰減因子為4,并測試RSSI值從-57到-90范圍內變化的實測距離值,經測試,得到=4時的實測距離與理論距離,見表2所列。

表2 n=4時的實測距離與理論距離
通過比較表1與表2的誤差率,可以看出優化后的測量精度明顯提高,證明了該方法的切實可行性。同時,還可以看出:當理論距離越大時,誤差率呈現逐漸增加的趨勢,環境因子優化后的誤差率明顯下降。
本文基于MATLAB軟件和CC2530節點自組網技術對基于RSSI算法的智能開關節點測距定位算法進行了仿真和實驗測試,著重討論了環境因子對智能開關節點測距結果的影響,并通過實驗測試驗證了環境因子優化后的誤差率明顯下降,能滿足智能開關節點測距定位算法的高精度特性。但硬件測試易受天氣影響,如何克服這一不利因素,將是今后繼續深入研究的方向。