韓寶磊 鄧琛 李文帥 劉玉



摘要:針對擴展卡爾曼濾波器(EKF)在室內環境中,非視距(NLOS)傳播對EKF跟蹤性能產生很大影響這種缺陷,提出一種基于極限學習機(ELM)和EKF的融合方法。ELM使用EKF的狀態信息對測量值進行分類,確定受NLOS誤差影響的傳播路徑,然后利用該路徑訓練的ELM對測量值進行校正。實驗結果表明,該算法與傳統算法相比精確度提高了43.2%,可以有效縮小NLOS誤差。
關鍵詞:擴展卡爾曼濾波器;極限學習機;非視距傳播;誤差抑制
DOI:10.11907/rjdk.191951 開放科學(資源服務)標識碼(OSID):
中圖分類號:TP312文獻標識碼:A 文章編號:1672-7800(2020)006-0066-04
0 引言
隨著無線通信技術的快速發展和對定位精度要求的提高,室內定位本地化研究經歷了蓬勃快速發展。同時,多種應用相應產生,例如醫院醫務人員或設備位置檢測、智能體育反饋系統、庫存資產跟蹤等。各種主流無線技術包括WiFi、RFID、UWB(Ultra wide band,UWB)、藍牙和ZigBee等,支持著這些應用的實現。然而,在實際情況下UWB技術依然面臨許多挑戰,包括信號采集、多用戶干擾、多徑效應和非視距(Non-Line ofSight,NLOS)傳播。NLOS傳播對于高分辨率定位系統尤為關鍵,因為其在距離估計算法中引入了正偏差,從而嚴重影響了定位性能。
近年來,許多機器學習技術被提出用以提高非視距定位性能,例如支持向量機(Support Vector Machine,SVM)分類器和回歸器、關聯向量機(Relevance Vector Machine,RVM)分類器和回歸器、高斯過程(Gaussian Process,GP)回歸器等。但是,基于SVM和RVM的NLOS緩解計算復雜性高、速度慢,具有一定的局限性。鑒于此,本文提出一種結合ELM(Extreme Learning Machine,ELM)和EKF(Extended Kalman Filter,EKF)的算法,使用預測的EKF狀態和外部測量值作為ELM的輸入對測量值進行分類并確定受NLOS誤差影響的傳播路徑,然后選擇合適的ELM網絡糾正測量值,進而有效縮小NLOS錯誤。
1 系統模型
在本次系統模型中,僅考慮二維平面的實例場景,假設第N(N>3)個基站位于(xi,yi)處,i=1,2,…,N,移動標簽的坐標設為(x,y)。標簽與基站之間的距離利用TOF算法測量獲取,該算法可以有效解決節點間時鐘同步問題,獲得高精度的距離。圖1給出了兩個設備之間的基本通訊,首先A向B發送輪詢消息,然后B從A接收信息并在treplyB處理時間后響應,最后來自B的響應在A處被接收。troundA指從輪詢消息傳輸時刻到響應消息到達時刻所經歷的時間,因此可以通過信號的飛行時間估算出標簽與每個基站的距離,如式(1)所示。當獲取到標簽與基站的測量距離時,利用三邊定位算法便可得到標簽的位置坐標。三邊定位算法原理如圖2所示。
在本次模型中,運動目標的狀態方程可以由式(2)表示。
通過三邊定位原理建立系統觀測模型,已知第n個基站的坐標為Zk=hk(Xk)+vk,第K時刻標簽到n個基站的距離可以表示為Zk=hk(Xk)+vk,其中Zk=hk(Xk)+vk,則觀測方程為:
Zk=hk(Xk)+vk(3)
其中,Qk+1為Qk+1,時刻基于Qk+1的預測狀態向量,Qk+1為預測狀態協方差陣,Qk+1為過程噪聲方差矩陣。
2 擴展卡爾曼算法
卡爾曼濾波算法只適用于線性高斯空間模型,對于非線性而言,模型EKF使用較為普遍,其基本思想是對狀態方程和觀測方程利用泰勒展開進行線性化處理,將展開中的第一項與模型中的非線性函數進行比較。通過線性化過程計算雅可比矩陣,最后通過卡爾曼濾波算法進行估計計算。EKF主要分為時間更新(預測)和測量更新(校正)兩個階段。
在預測階段,系統根據前一個狀態估計值,利用狀態方程預測當前狀態,得到先驗估計,如式(5)、式(6)所示。
其中,Xk+1,k為k+1時刻基于k的預測狀態向量,Pk+1,k為預測狀態協方差矩陣,Qk+1為過程噪聲方差矩陣。
在校正階段,將新獲取的測量值與先驗估計值結合,得到后驗估計值進行校正目標的先驗估計,如式(7)所示。
其中,Kk+1、為k+1時刻的卡爾曼增益,觀測矩陣Zk+1,為觀測矩陣,噪聲方差矩陣為Pk+1。
3 極限學習機算法
極限學習機是一種應用于單層隱藏層前饋神經網絡的新型學習算法模型,具有快速學習和泛化性能好的特點。在網絡訓練前只設置適當數量的隱層節點,輸入節點和隱藏層權重以及隱藏層閾值是隨機分配的,不需要迭代優化,網絡訓練過程一次完成。ELM的單隱層前向神經網絡模型如圖3所示。
假設網絡有n個輸入層節點、L個隱層節點和m個輸出層節點,隱層神經元的激活功能為g(x),隱層神經元的偏置為bi。ELM模型表達式如式(8)所示。
其中,j=1,2,…,N,ωi=[ω1iω2i…ωni]表示所有輸入層節點,βi=[β1i,β2i,…βni]T表示第i個隱含層節點的連接權向量,yj=[yj1yj2…yjm]T表示網絡輸出值。單隱層神經網絡學習的目標是使得輸出誤差最小,如式(9)所示。
其中,H為單隱層的輸出矩陣,假設矩陣H的摩爾一彭羅斯廣義逆是H-1,上述系統的最小二乘解可以表示為Zk=[d1kd2k…dnk)T。
4 基于ELM與EKF的NLOs誤差抑制算法
為了縮小NLOS誤差,可以采用ELM和EKF的組合算法,使用測量值Zk=[d1kd2k…dnkT作為輸入,通過單個校正NLOS誤差的ELM網絡所得節點之間的距離值作為輸出。該方法對縮小NLOS誤差有一定效果,但是僅將ELM和EKF簡單加以組合并不能充分利用EKF的相關狀態。
由于測量值是由多個基站與標簽測量值共同構成的,因此可能會有多個基站受到NLOS的誤差影響。單個網絡無法很好地處理所有情況,并且樣本空間大小也限制了單個網絡對NLOS錯誤的緩解效果。本文方法主要分兩個步驟:分類和校正。第一步是確定受NLOS誤差影響的傳播路徑,在EKF預測階段,預測點坐標相對于實際坐標雖然存在誤差,但誤差服從高斯分布且不存在NLOS效應,因此,可以作為判斷傳播路徑是否受NLOS誤差影響的參考。從預測點到每個基站點的距離為Zk+1,k將Zk+1,k和Zk+1測量值作為ELM的輸入,對測量值進行分類確定測量值中受NLOS誤差影響的傳播路徑。第二步是糾正NLOS錯誤,針對不同傳播路徑的NLOS誤差分別訓練以實測值為輸入、以真值為目標的用于校正NLOS誤差的ELM網絡。訓練完成后,系統只要根據第一步確定的NLOS誤差傳播路徑,選擇相應的ELM網絡進行校正,將最終所得結果作為EKF更新值的輸入,這樣就可以更有效地縮小NLOS誤差,提高室內跟蹤精度。ELM和EKF融合算法原理如圖4所示。
5 仿真與結果分析
為了驗證ELM在位置跟蹤中對NLOS誤差的緩解,以及本文算法在NLOS仿真環境下的實驗效果,對同一組數據采用3種方法進行實驗對比:①首先用測量值Zk+1和預測值Zk+1,k對測量值進行分類,然后選擇訓練好的ELM網絡校正NLOS誤差,將校正后的測量值用作更新EKF測量的輸人;②該方法用單次訓練好的ELM網絡對測量值Zk+1進行校正,將校正的測量值用于更新EKF測量值;③只單獨使用EKF而對測量值不作任何處理。
仿真環境為:在1000cm×1000cm的正方形區域中設置4個基站,它們的坐標分別為(0,0)、(0,1000)、(1000,0)和(1000,1000)。標簽運動軌跡如圖5所示,即正方形和不規則曲線兩種情況。在每條運動軌跡中采集40個點,設置標簽到4個基站的距離誤差服從方差為100cm2高斯分布。同時,將每條路徑上的40個采樣點平均分為4段,將NLOS誤差添加到第1段中基站1到標簽的測量距離上,在第2段中,將NLOS誤差添加到基站2到標簽的測量距離上,依此類推,直到NLOS被添加到最后一段結束。將NLOS誤差設置在[10,100]中均勻分布。
圖6顯示了實際運動軌跡的仿真結果,表l、表2顯示了不同條件的相關誤差。從圖6-圖8中可以看出,方法3的EKF算法由于沒有處理NLOS誤差而具有較大誤差。方法1和方法2中的測量值都經過了ELM校正,相對于方法3而言精度有一定提高。然而由于方法2只使用單一的ELM網絡對所有傳播路徑的NLOS誤差進行校正,因此NLOS誤差處理效果是有限的。方法1相對于方法2而言,首先確定受NLOS誤差影響的傳播路徑,然后針對不同NLOS誤差段采用不同的ELM網絡進行校正,有效提高了定位精度。
由表l、表2也可以看出,在兩種運動軌跡中,方法1相對于另外兩種方法在平均誤差、最大誤差甚至最小誤差方面都有更好表現。這些更好的表現均來自于在計算定位坐標之前對測量數據的預處理和ELM網絡的有效優化。
6 結語
針對室內跟蹤中的NLOS誤差問題,本文提出了ELM和EKF相結合的解決方案。實驗結果表明,該方法能有效縮小非視距誤差,提高定位跟蹤精度。但該算法目前僅用于仿真,并未用于實物測試,將該算法融人實物中進行驗證是下一步研究方向。