莫建麟
(阿壩師范學院電子信息與自動化學院,四川汶川 623002)
隨著計算機硬件和軟件技術的發展,借助GPS設備和全球定位信息系統,室外環境定位效果良好。GPS在移動終端的普及給移動終端帶來了很大的便利,方便了人們的生活。而GPS在室內定位卻不準確,在某些情況下甚至無法定位。無論是商場導購還是室內救援都需要精準的定位服務。
目前針對室內定位的很多方法均采用無線網絡技術、基站定位、慣性定位等多種技術以及將這些技術結合來實現室內人員和物體等位置的監控,并采用一些進化算法、神經網絡等方法和支持向量機等方法來進行解決[1-2]。石欣等[3]提出了一種基于改進RSSI的多維標度室內定位算法,基于節點信號建立相異矩陣,并通過多維標度法建立相對坐標,通過平面四參數模型進行坐標轉換。李玲霞等[4]提出了一種基于相關性測序的定位算法,利用相鄰位置的信號信息構建數據庫,然后通過相關性測序算法來實現接收信號參考強度與運動序列之間的匹配。楊明極等[5]提出一種基于主成分分析的聚類算法,對信號強度采用主成分分析法進行白化處理,去除RSSI信息的相關性,以提高定位精度。周瑞等[6]提出了一種基于支持向量機和回歸分析法的Wi-Fi指紋定位算法,并采用狀態轉換方法來識別行走周期并進行計步,以降低慣性傳感器的誤差和定位誤差。劉曉晨等[7]提出了一種基于改進BP網絡的室內無線定位方法,以RSSI作為輸入,以二維坐標作為輸出建立網絡,并利用網絡的初始化權值和閾值思想進行算法優化,并通過樣本數據進行訓練。本文提出一種基于RSSI和改進卡爾曼濾波的室內節點定位方法,并通過實驗證明該方法的有效性。


(1)
其中,d0為近地參考距離(取值為1 m),ρ為信道衰減指數(取值為1~4),μσ為誤差項。
在公式(1)建立的模型基礎上,接收節點與錨節點之間的距離可以表示為:
(2)
在估計了接收節點和發送節點(錨節點)的距離后,就可以通過極大似然估計法計算接收節點之間的位置。當接收節點接收了n個發送節點的信號,并根據公式(2)估計了與其之間的距離后,由于錨節點位置已知,可以建立具有n個方程的方程組:
(3)
其中,n個發送節點的坐標為(x1,y1),(x2,y2),,(xn,yn),接收節點的坐標為(x,y),估計的距離為d1,d2,,dn,公式(3)為非線性方程組。
采用極大似然估計法對AX=B的系數A和B進行估計,可以得到:
(4)
(5)
X=(x,y)T.
(6)
根據公式(6)估計得到的A和B,可以得到估算的值:
X=A-1B.
(7)
根據式(7)得到的發送節點的坐標仍然不夠精確,下面采用基于卡爾曼濾波算法的節點定位方法。
初始化:初始化需要優化的位置X(0),令k+1時刻的網絡安全態勢預測值為y(k+1),X(k+1)表示k+1時刻的觀測變量,Xi(k+1)(1≤i≤m)為Xi(k+1)的第i個分量,這些因素的個數總計為m,建立回歸方程為:
(8)
其中,參數A00,A01,,Amm以及W20,W21,,W2m可以通過式(4)和式(5)來進行估計,得到式(9):
(9)
其中,
(10)
步驟1 根據式(11)和(12)計算狀態方程和預測方程:
X(k+1)=F(k)·X(k)+W1(k).
(11)
y(k+1)=A(k)·X(k+1)+W2(k).
(12)
其中,狀態轉移矩陣表示為F(k),狀態轉移過程中產生的噪聲采用W1(k)表示,k時刻的狀態向量表示為X(k)=[x1(k),x2(k),,xm(k)],k+1時刻的狀態向量表示為X(k+1),k時刻的觀測噪聲表示為W2(k),k+1時刻的觀測向量表示為y(k+1),A(k)為可以進行觀測的觀察向量,其中m表示狀態向量的維度。
步驟2 建立預測的信息過程:
N(k)=y(k)-A(k)F(k)X1(k-1).
(13)
其中,y(k)的預測值為:
y(k)=A(k)F(k)X1(k-1).
(14)
步驟3 對下列等式進行遞歸計算:


N(k)=y(k)-A(k)F(k)X1(k-1).
X1(k)=F(k)X1(k-1)-kg(k)N(k).

步驟4 根據式(15)計算發送節點的位置值:
y(k)=A(k-1)X(k).
(15)
為了對實驗環境進行驗證,對圖1所示的場景進行分析,該場景包含4條走廊和1個房間,場景包含的區域大小為52×41 m2,參數設置:路徑衰減因子ρ為4,近地參考距離為1 m,通信半徑為3~15 m,采用文中方法獨立仿真20次,并與文獻[5]和文獻[6]的方法進行比較。

圖1 定位場景設置
在圖1中,4個位置是錨節點的位置,其它任何節點均可以通過這4個節點的位置,根據本文方法進行定位。算法將從靜態情況下的平均定位誤差和動態情況下(當在該環境進行行走時,選擇不同的情況進行實時定位,這些情況可以分為:短路徑(SP)、長路徑(LP)、短路徑折返(SP-BF)、長路徑折返(LP-BF)和室內+走廊(RC))的平均定位誤差進行分析。為了進行對比,先對平均定位誤差進行定義:
(16)

(17)
其中,R為通信半徑。
在待定位節點靜態布置的情況下,三種方法隨錨節點個數變化得到的平均定位誤差,如圖2所示。

圖2 平均定位誤差對比
從圖2可以看出,隨著錨節點個數的增加,本文方法、文獻[5]方法和文獻[6]方法均隨錨點個數的增加,得到逐漸降低的平均定位誤差。其中,文中方法的平均定位誤差降得最快,在錨節點個數增加到6時,其對應的平均定位誤差為0.07。而文獻[5]和文獻[6]的方法得到的平均定位誤差接近,分別為0.22和0.21。顯然,本文方法得到的平均定位誤差遠遠小于文獻[5]和文獻[6]方法。
由于待定位節點移動時,平均定位誤差不斷變化。采用絕對定位誤差進行比較,不同算法在不同的移動路徑情況下,得到的絕對定位誤差見表1。

表1 不同算法的絕對定位誤差
從表1中可以看出,運用文中方法得到的5種路徑定義的平均絕對定位誤差均在5 m之內,而75%的定位誤差在4.5 m內,而90%的定位誤差在5 m內,遠遠低于另外兩種方法,具有較大的優越性。
針對傳統方法對室內人物和物體定位難度大的問題,本文提出一種基于卡爾曼濾波的室內定位模型。該模型基于RSSI估算待定位節點與發送節點之間的距離,然后通過最小二乘算法來估計位置的初始值。基于估計的初始值,采用卡爾曼濾波算法進一步優化,得到較為精確的預測值。以某室內場景作為仿真環境,對該室內的靜止位置和移動目標分別估計平均定位誤差和平均絕對定位誤差,實驗結果表明本文方法在兩種情況下均具有較高的定位精度。