基于RSSI測距的室內定位技術
節點定位采用極大似然估汁算法。已知n個信標節點的坐標分別為(x1,y1),(x2,y2),…,(xn,yn),未知節點坐標為(x,y),算法具體步驟如下:
(1)信標節點周期性向未知節點發送包含自身ID和自身位置信息的數據包。
(2)未知節點在收到同一ID信標節點發來的數據包后,從中提取出收到陔幀數據的信號強度值RSSI,當收到某個ID信標節點發來的數據包超過一定閾值(實驗設置為100)后,對這100個RSSI值求平均值,得到最終的該ID信標節點的RSSI值,然后使用RSSI測距公式RSSI=A-10nlg(d)導出距離d,這樣就得到了未知節點和某ID信標節點的距離。對所有信標節點都采用這種方法進行處理,得到n個距離d1,d2,…,dn。最后未知節點記錄下所有信標節點的坐標和對應的距離數據。
(3)建立信標節點與未知節點距離方程組

該方程為非線性方程組,用方程組中前n-1個方程減去第n個方程后,得到線性化的方程
AX=b (6)
其中


式(7)便是未知節點的坐標計算值。
3 RSSI測距實驗和定位實驗
由圖1可以看出基于RSSI測距的定位算法需要根據式(4)將測距度量值RSSI轉為未知節點到信標節點的距離后,才能進行定位計算,因此必須先確定式(4)中的A和n參數的值,從而建立準確的室內測距模型。測距模型的精確度在較大程度上會影響后續定位計算的精度。一般室內無線環境復雜,存在多徑效應與非視距傳輸,一個確定的信號傳播模型無法適應不同的室內環境,因此為了得到較為準確的RSSI和d距離之間的映射關系,提高定位計算精度,要針對需要定位室內環境,實地進行RSSI測距實驗并采集大量數據,之后對實驗數據進行處理從而得到A和n的最優值,建立符合當前環境的測距模型。一旦環境改變,需要通過重新測距實驗來確定測距模型。
3.1 RSSI測距實驗
選擇實驗室樓道作為室內定位技術研究實驗場景,所以RSSI測距實驗也在實驗室樓道進行。定位和測距實驗平臺選擇西安華凡公司HFZ-CC2430ZDKZigBee開發套件。在兩個HFZ-Smart-RF04EB母板上插入HFZ-CC2430EM射頻模塊作為發射機和接收機節點。兩個節點的核心芯片為TI公司的CC2430無線單片機。CC2430芯片支持RSSI監測功能,在接收到的每幀數據中都有相應的字段指示了接收機收到該數據包的信號強度值RSSI。該值可以通過編程讀出。
在樓道中央處選擇一個固定位置放置好發射機節點,發射機的輸出功率編程設置為0 dBm。發射機固定后,對接收機進行編程,以20 cm為間隔,在距離發射機20 m的范圍內設置100個測量點,即距離發射機0.2 m,0.4 m,…,20 m等位置。對接收節點編程,設置一個RSSI值緩存區存儲接收到的數據包的RSSI值,在每個測試點接收100個數據包后,對100個RSSI值求平均值,再以平均后的RSSI值作為接收節點在該位置收到的信號強度。最后記錄RSSI和d的對應關系,這樣就得到了100組測量數據(RSSIi,di),i=1,2,3,…,100,其中RSSI,表示距離為di時的RSSI測量值。將采集到的數據在二維坐標系中描出,如圖1所示。從圖中可以看出RSSI隨著d的增加呈下降趨勢,在12 m以內曲線下降比較陡,超過12 m后,有一定程度的回升,并且下降趨于平緩。
3.2 測距模型參數優化
為使模型能夠最大程度符合當前實驗室樓道環境中的無線信號傳播特性,使RSSI測距能獲得更高的精度,需要對參數A和n進行優化,得到當前室內環境下的最優值。一般通過線性回歸分析來估計參數A和n的值,因為RSSI值在超過14 m以后基本趨于平緩,不再符合接收信號強度隨著距離增大而衰減的規律。所以為保證測距精度,對在實驗室走廊所采集的前70組測量數據,即14 m以內的測量數據(RSSIi,di),i=1,2,3,…,70使用線性回歸分析,代入式(8)~式(12),得出A=-42,n=2。這樣就得到了實驗室樓道環境下的測距模型RSSI=-42-20lg(d)。圖2所示為參數優化后的RSSI測距模型曲線,根據線性回歸分析可以較好地擬合出適應當前實驗環境的模型曲線。

評論