趙明 何書前 石春 蔣文娟
摘 ?要: 隨著網(wǎng)絡技術和移動通信技術的發(fā)展,移動終端設備已經(jīng)具有了可靠性高、性能較強等優(yōu)勢,利用現(xiàn)有移動終端設備構建一套簡便、低成本、可靠的室內(nèi)定位方法已經(jīng)成為一個重要問題。針對室內(nèi)定位先天的復雜性,測量儀器的不準確性,定位環(huán)境多變性等因素,設計了一套使用WiFi技術、卡爾曼濾波算法、BP神經(jīng)網(wǎng)絡的室內(nèi)定位方法。該方法可以有效地提高室內(nèi)定位系統(tǒng)的精度和魯棒性。仿真實驗結果表明,在100 m×100 m的二維平面中,定位誤差小于2.5 m,優(yōu)于標準的卡爾曼濾波方法。
關鍵詞: 室內(nèi)定位; 移動終端設備; 位置指紋; 卡爾曼濾波; BP神經(jīng)網(wǎng)絡; WiFi技術
中圖分類號: TN939?34 ? ? ? ? ? ? ? ? ? ? ? ? ?文獻標識碼: A ? ? ? ? ? ? ? ? ? ? ? ? 文章編號: 1004?373X(2020)07?0021?04
A Kalman filtering indoor positioning method based on
neural network correction parameters
ZHAO Ming, HE Shuqian, SHI Chun, JIANG Wenjuan
(School of Information Science and Technology, Hainan Normal University, Haikou 571158, China)
Abstract: With the development of network technology and mobile communication technology, mobile terminal equipment has got high reliability, high performance and other advantages, and how to use the existing mobile terminal equipments to construct a simple, low cost and reliable indoor positioning system has become an important issue. In this paper, an indoor positioning method adopting WiFi technology, Kalman filtering algorithm and BP neural network is designed to deal with the indoor positioning congenital complexity, measuring instrument inaccuracy, positioning environment variability and other factors, which can effectively improve the accuracy and robustness of the indoor positioning system. The simulation experiment results show that the positioning error of the method is less than 2.5 m in the two?dimensional plane of 100 m×100 m, which is better than the standard Kalman filtering method.
Keywords: indoor localization; mobile terminal equipment; position fingerprint; Kalman filtering; BP neural network; WiFi technology
0 ?引 ?言
在室內(nèi)環(huán)境中,由于無線信號傳播特性易受環(huán)境改變,傳播模型不確定,若記錄不同位置的無線電信號特征,并將其存入數(shù)據(jù)庫,則該特征稱為位置指紋。位置指紋如人類指紋一樣,用來表示某點唯一的“身份”信息。位置指紋將位置信息與該位置的無線信號特征聯(lián)系起來,使得室內(nèi)環(huán)境中確定某點位置只需測得該位置的無線信號特征[1?5]。
傳播模型可分為基于數(shù)學計算的確定模型以及基于實地測量的經(jīng)驗模型[6?8]。確定性模型是利用網(wǎng)元到接收點的無線信號傳播原理,考慮信號直射、反射、折射、繞射等多種傳播方式,在一個接收點往往會受到來自不同網(wǎng)元的信號,這些信號會產(chǎn)生多徑合成效應,根據(jù)每一條傳播射線建立模型。這樣是不考慮其他信號干擾的情況下進行的,在實際環(huán)境中這樣的模型精度較低,無法滿足在大型建筑物中的室內(nèi)定位需求。經(jīng)驗模型是利用空間中接收點處的位置指紋即接收信號強度(Received Signal Strength Indicator,RSSI),根據(jù)測量的大量無線信號特征,建立符合實際的室內(nèi)定位模型,雖然操作復雜,但是可以大大提高定位系統(tǒng)的精度。
本文主要研究基于卡爾曼濾波的經(jīng)驗模型位置指紋室內(nèi)定位方法,針對卡爾曼濾波算法存在系統(tǒng)模型與誤差模型假設不滿足實際條件,造成明顯的線性化誤差問題,提出一種基于神經(jīng)網(wǎng)絡參數(shù)修正的非線性卡爾曼濾波優(yōu)化方法,有效地抑制了噪聲,并提高了定位精度。
1 ?卡爾曼濾波算法
卡爾曼濾波器是一種最優(yōu)濾波器[9],可以從夾雜著各種隨機噪聲的信號中分離出有用信號。它所處理的對象是隨機信號,利用系統(tǒng)噪聲和觀測噪聲的統(tǒng)計特性,以系統(tǒng)的觀測量作為濾波器的輸入,以所要估計值(系統(tǒng)的狀態(tài)和參數(shù))作為濾波器的輸出,濾波器的輸入與輸出之間由時間更新和觀測更新算法聯(lián)系在一起,根據(jù)系統(tǒng)方程和觀測方程估計出所有需要處理的信號,所以卡爾曼濾波是一種最優(yōu)估計方法。隨著計算機技術、軟件技術的發(fā)展,卡爾曼濾波應用在工程上已經(jīng)不再是難事,并且人們還在標準的卡爾曼濾波基礎上發(fā)展出如擴展卡爾曼濾波、無跡卡爾曼、交互多模型卡爾曼濾波等。
標準卡爾曼濾波數(shù)學模型狀態(tài)方程為:
[Xk=?k,k-1Xk-1+Γk-1Wk-1] (1)
觀測方程為:
[Zk=HkXk+Vk] (2)
式中:[Wk-1]為[k-1]時刻系統(tǒng)的狀態(tài)噪聲,[Vk]為[k]時刻的觀測噪聲,設定它們?yōu)椴幌嚓P且成正態(tài)分布的白噪聲,即[p(ω)?N(0,Q)],[p(v)~N(0,R)];[Xk]是[k]時刻的[n]維狀態(tài)向量;[Zk]為[k]時刻的[m]維觀測向量;[?k,k-1]為[k-1]時刻到[k]時刻的[m×n]維狀態(tài)轉移矩陣;[Hk]為 [k]時刻的[m×n]維觀測矩陣。
進一步預測:
[Xk,k-1=?k,k-1Xk-1] (3)
狀態(tài)估計更新:
[Xk=Xk,k-1+Kk[Zk-HkXk,k-1]] (4)
濾波增益矩陣:
[Kk=Pk,k-1HT[HPk,k-1HT+R]-1] ? ? (5)
則進一步預測協(xié)方差方程:
[Pk,k-1=?k,k-1Pk,k-1?Tk,k-1+Γk,k-1Qk,k-1ΓTk,k-1] (6)
協(xié)方差陣為:
[Pk=[I-KkHk]Pk,k-1] (7)
卡爾曼濾波的條件是:系統(tǒng)噪聲和測量噪聲已知且其均值為0,以及統(tǒng)計特性已知的高斯白噪聲。在實際環(huán)境中這些條件未必能滿足,比如觀測矩陣是非線性的,而在經(jīng)過線性化后,其結果只取泰勒級數(shù)的一次項,余下的二次項全部省略,明顯存在線性化誤差。濾波限制條件要求系統(tǒng)模型精確且系統(tǒng)誤差模型和觀測誤差模型已知。在實際應用中是很難滿足的,或者在系統(tǒng)工作過程中,模型發(fā)生變化,這些都導致傳統(tǒng)的卡爾曼濾波發(fā)散或精度下降。
由于計算機字長的限制,在卡爾曼濾波器計算過程中可能會存在計算誤差即舍入誤差,方差矩陣會因為這種誤差產(chǎn)生不對稱,從而使得卡爾曼濾波誤差變大甚至是濾波發(fā)散。有時WiFi接收卡可能會突然發(fā)生故障,產(chǎn)生一個波動很大的值即野值,這樣的情況有時會使得系統(tǒng)誤差很大,如何消除這種野值也是研究濾波系統(tǒng)的主要任務。
2 ?神經(jīng)網(wǎng)絡修正室內(nèi)定位卡爾曼濾波算法原理
神經(jīng)網(wǎng)絡[10]是模擬人類大腦的一種機器學習算法,隨著深度學習的興起被空前的重視,其一般結構可以分為輸入層、隱含層、輸出層。在輸入層輸入訓練樣本,這些訓練樣本乘上各自的連接權值輸入到隱含層,隱含層也做同樣的處理將上層傳遞下來的各值再乘上相應的連接權值輸入給輸出層,輸出層根據(jù)期盼結果判斷神經(jīng)網(wǎng)絡處理是否正確,若正確則增加相應的連接權值,相反,則減少相應的權值。[xi(i=1,2,…,n)]表示來自與當前神經(jīng)元相連的其他神經(jīng)元傳遞的輸入信號,[wij]代表從神經(jīng)元[j]到神經(jīng)元[i]的連接強度或權值,[θ]為神經(jīng)元的激活閾值或偏置,[f]稱作激活函數(shù)或轉移函數(shù)神經(jīng)元的輸出,[yi]可以表示為如下形式:[yi=fj=1nwijxi-θi]。該模型從邏輯功能器件的角度來描述神經(jīng)元,為神經(jīng)網(wǎng)絡的理論研究開辟了道路。
利用神經(jīng)網(wǎng)絡提高室內(nèi)定位濾波算法的精度,即提高卡爾曼濾波精度,首先需要足夠數(shù)量且高精度的室內(nèi)定位軌跡樣本,利用該樣本對神經(jīng)網(wǎng)絡進行訓練,使得該神經(jīng)網(wǎng)絡符合定位需求[9,11]。在定位階段使用標準卡爾曼濾波對測量值進行過濾,由于卡爾曼濾波要求系統(tǒng)模型和噪聲模型已知,并且濾波過程中不允許改變,若將估計誤差和測量誤差以及卡爾曼增益作為神經(jīng)網(wǎng)絡的輸入,經(jīng)過神經(jīng)網(wǎng)絡的運算,輸出真實值與估計值之間的差。結合神經(jīng)網(wǎng)絡與卡爾曼濾波算法可以大大提高室內(nèi)定位系統(tǒng)的精度,由于神經(jīng)網(wǎng)絡具有自適應能力,該方案也提高了系統(tǒng)的魯棒性。使用BP神經(jīng)網(wǎng)絡修正卡爾曼濾波的原理,如圖1所示。
由于室內(nèi)定位有著先天的復雜性,單一的標準卡爾曼濾波不可能很好地解決定位問題,為此引入神經(jīng)網(wǎng)絡。
由式(4)得卡爾曼濾波方差,將其變換成如下形式:
[Xk-Xk,k-1-Kk[Zk-HkXk,k-1]=0] (8)
由式(8)可見,卡爾曼濾波的估計結果與預測狀態(tài)同期望預測狀態(tài)的差[Xk-Xk,k-1]、卡爾曼增益[Kk]、測量值與預計狀態(tài)之差[Zk-HkXk,k-1]相關。將這三個參數(shù)作為神經(jīng)網(wǎng)絡的輸入,輸出參數(shù)為真實值和估計值之差,將這個神經(jīng)網(wǎng)絡的輸出值和未經(jīng)神經(jīng)網(wǎng)絡修正的估計值相加即可得到一個非常接近真實值的估計值。
3 ?仿真實驗與分析
該仿真平臺使用Matlab R2016a,模擬了在室內(nèi)環(huán)境下無線信號的傳播特性,并且建立了基于二維平面的位置指紋地圖。該平臺的一大優(yōu)勢是比較簡單,沒有復雜的數(shù)學計算,易于理解,且時間復雜度和空間復雜度均較小。該系統(tǒng)使用4個AP,不考慮多徑效應、信號疊加。因為本文使用的是位置指紋法,對室內(nèi)無線信號環(huán)境不敏感,即無論室內(nèi)環(huán)境下的無線信號因多徑效應、信號疊加等影響,位置指紋法記錄的是測量點的各AP信號強度,并不會降低定位系統(tǒng)的精度。
本次仿真實驗場景安排如下:
AP測量設置點為[7×7]的矩陣,四角處放置AP,并且在該四角處不設置位置指紋,實驗不考慮信號的多徑傳播、折射、反射。設置基站傳輸功率為30 dBm,發(fā)射損耗系數(shù)為10 dBm,接收損耗系數(shù)為10 dBm。首先要對指紋位置初始化,除去定位平面四角,余下平面中共設置45個位置指紋。
設置移動點初始坐標為[(x,y)=(-100,20)] [cm],初始速度[(vx,vy)=(2,20)] [cm/s],設置過程噪聲均值為[0.01*diag[0.1,1,0.1,1]],測量噪聲均值為[100*eye(2)]。測量掃描周期[T=]1 s,總的測量次數(shù)為80次。使用位置指紋算法,分類算法為最近鄰分類,標準卡爾曼濾波算法結合神經(jīng)網(wǎng)絡,神經(jīng)網(wǎng)絡采用三層結構。其中,輸入?yún)?shù)為:[Xk-Xk,k-1],[Kk],[Zk-HkXk,k-1]。
預測狀態(tài)與期望預測狀態(tài)的差為2維,卡爾曼增益為4×2的矩陣,測量值與預計狀態(tài)的差為2維,其中,卡爾曼增益矩陣是[4×2]維,需要變換成[4×1]維矩陣。一共有6個輸入?yún)?shù),輸出參數(shù)真實值與估計值的差。在實驗過程中發(fā)現(xiàn)直接構造2個輸出參數(shù)的神經(jīng)網(wǎng)絡,訓練效果很差,有時甚至是濾波發(fā)散,實驗表明,在神經(jīng)網(wǎng)絡輸出層神經(jīng)元為1時效果較好。隱含層個數(shù)沒有明確的公式,只能根據(jù)經(jīng)驗確定,現(xiàn)有的經(jīng)驗公式如下:
[l=n+m+a] (9)
式中:[l]為隱含層神經(jīng)元個數(shù);[n]為輸入層神經(jīng)元個數(shù);[m]為輸出層神經(jīng)元個數(shù);[a]取值范圍為(1,10)。結合實驗效果設置隱含層神經(jīng)元個數(shù)為8,迭代次數(shù)設置為5 000次,期望誤差為0.01。
仿真流程圖如圖2所示,運行結果如圖3所示,誤差分析如圖4所示。
從仿真結果可以看出,結合神經(jīng)網(wǎng)絡和卡爾曼濾波可以有效地降低定位誤差。在定位初始階段,神經(jīng)網(wǎng)絡修正卡爾曼濾波的效果與標準卡爾曼濾波相似,從第52次測量周期開始,結合了神經(jīng)網(wǎng)絡的室內(nèi)定位算法比標準卡爾曼的精度明顯提高,特別是定位最后階段,神經(jīng)網(wǎng)絡可以有效地消除濾波誤差,預測軌跡幾乎與真實軌跡相同。該算法和標準卡爾曼相比有著明顯的優(yōu)勢,并且實現(xiàn)定位系統(tǒng)的高魯棒性,有利于室內(nèi)定位系統(tǒng)向著更廣范的領域發(fā)展。
4 ?結 ?語
由于卡爾曼濾波算法要求系統(tǒng)誤差和測量誤差已知,利用標準的卡爾曼濾波算法可能會隨著時間的增長濾波效果會很差甚至是發(fā)散。這就要求使用其他手段去修正卡爾曼濾波,使其誤差盡可能地小,神經(jīng)網(wǎng)絡具有良好的自學習能力,將其與卡爾曼濾波結合即可大大地提高室內(nèi)定位系統(tǒng)的精度與魯棒性。仿真實驗結果表明,本文所提出的基于神經(jīng)網(wǎng)絡修正的卡爾曼濾波室內(nèi)定位方法明顯優(yōu)于傳統(tǒng)的卡爾曼濾波算法。
參考文獻
[1] 汪苑,林錦國.幾種常用室內(nèi)定位技術的探討[J].中國儀器儀表,2011(2):54?57.
[2] 勾祖超.基于位置指紋的WiFi室內(nèi)定位技術的研究[D].成都:西南交通大學,2016.
[3] 田中成,劉聰鋒.無源定位技術[M].北京:國防工業(yè)出版社,2015.
[4] ZHOU M, TANG Y, TIAN Z, et al. Semi?supervised learning for indoor hybrid fingerprint database calibration with low effort [J]. IEEE access, 2017, 5(99): 4388?4400.
[5] 丁承君,宇中強,朱志輝.基于信號幅值分布的室內(nèi)指紋定位算法[J].現(xiàn)代電子技術,2018,41(10):47?50.
[6] 董哲,吳瑤,孫德輝.室內(nèi)定位技術的多源數(shù)據(jù)融合算法研究[J].計算機工程與設計,2014,35(5):1526?1530.
[7] MU Z, QIAO Z, KUNJIE X, et al. PRIMAL: page rank?based indoor mapping and localization using gene?sequenced unlabeled WLAN received signal strength [J]. Sensors, 2015, 15(10): 24791?24817.
[8] 陳詩軍.一種高精度室內(nèi)定位仿真系統(tǒng)的研究與實現(xiàn)[J].電子科學技術,2016,3(6):710?715.
[9] 李偉征,涂秀梅.基于自適應卡爾曼濾波的頻偏估計研究[J].控制工程,2017,24(8):1685?1689.
[10] 焦李成.神經(jīng)網(wǎng)絡七十年:回顧與展望[J].計算機學報,2016,39(8):1697?1716.
[11] 劉慶元,郝立良,黃書捷,等.神經(jīng)網(wǎng)絡輔助的GPS/MEMS?INS組合導航算法[J].測繪科學技術學報,2014(4):336?341.