張寶軍, 田 奇
(西安郵電大學 電子工程學院,陜西 西安 710000)
目前比較成熟的超寬帶(ultra-wide band,UWB)室內定位方法[1~3]包括接收信號強度(receive signal strength,RSS),信號到達角度(angle of arrival,AoA)、到達時間(time of arrival,ToA)和到達時間差(time difference of arrival,TDoA)。在室內定位的應用場景中,定位系統(tǒng)往往會受到多徑效應、非視距(nonline of sight,NLOS)誤差等因素的干擾。UWB信號可以在較寬的帶寬上傳輸,可以有效分辨并抑制多徑傳播,所以,UWB成為目前市場應用較多的定位方法,而降低NLOS誤差也成為UWB室內定位技術的研究熱點。
文獻[4]提出了一種基于ToA的室內定位方法,結合卡爾曼濾波和線性化原理,將UWB定位數(shù)據(jù)線性化后用卡爾曼濾波進行處理,有效地減小多徑和NLOS引起的誤差,提高定位精度。文獻[5]提出了一種基于TDoA的室內定位方法,選取TDoA數(shù)據(jù)作為測量信號參數(shù),在此基礎上提出了一種利用支持向量機(support vector machine,SVM)分類器提高定位精度的NLOS分類方法,用機器學習建立測量距離之間的相關性模型,從而降低NLOS誤差對定位的影響。文獻[6]提出一種基于IA-BP神經(jīng)網(wǎng)絡的UWB室內定位方法,為了避免BP神經(jīng)網(wǎng)絡收斂速度較慢,將其訓練的誤差值作為免疫算法的抗原,通過計算親和度尋得網(wǎng)絡的最優(yōu)權值和閾值,達到減小定位誤差的目的,同時解決了網(wǎng)絡易陷入局部最優(yōu)值的問題。相比于傳統(tǒng)的濾波算法,卷積神經(jīng)網(wǎng)絡(convolutional neural network,CNN)[7,8]能夠從大量的樣本數(shù)據(jù)中學習到數(shù)據(jù)深層次、抽象化的特征,在修正數(shù)據(jù)方面有著顯著的優(yōu)勢。
本文設計了一種NLOS環(huán)境下基于CNN的室內定位系統(tǒng),首先對UWB系統(tǒng)的三個基站進行標定,然后根據(jù)室內NLOS環(huán)境下的信道及其誤差特性建立CNN模型,將標定后的基站測距值作為模型輸入進行訓練以校正NLOS誤差影響下的測距值;利用訓練后的數(shù)據(jù)估計UWB的位置,結合慣性導航系統(tǒng)得到的位置信息,將兩者的差值作為擴展卡爾曼濾波(extended Kalman filtering,EKF)[9]的量測值,通過EKF得到定位節(jié)點更加精確的位置信息。
本文使用DWM1000UWB模塊,利用信號在基站(base station,BS)與移動標簽(mobile tap,MT)之間的雙向傳播時間(two-way time of flight,TWToF)完成測距。基站A在tA1時刻發(fā)送測距請求信號,移動標簽M在tM1時刻接收到請求信號,并在tM2時刻返回響應信號,傳感器A在tA2時刻接收到響應信號,則測距方程為
dAM=c×[(tA2-tA1)-(tM2-tM1)]/2
(1)
式中c為光速。
實驗的數(shù)據(jù)采集是在NLOS環(huán)境下進行的,得到測距值后需要對UWB系統(tǒng)的基站進行標定。
在NLOS環(huán)境下,信號無法在直接路徑上傳遞,不僅會影響信號的檢測精度,而且會使得信號在接收過程中產(chǎn)生附加的時延,即式(1)中tM1,tA2會明顯增大,為了減小這種誤差,需要對UWB模塊在NLOS環(huán)境下的測距性能進行標定,本文選擇一次函數(shù)作為標定模型[10],用最小二乘法做誤差線性擬合。
大量實測數(shù)據(jù)和理論分析表明,在室內多徑傳播以及NLOS環(huán)境下,接收信號的幅度衰落服從瑞利分布,相位失真服從均勻分布。NLOS測量誤差是信號在NLOS環(huán)境下傳播時的附加時延,是一個正的隨機變量,在不同的信道環(huán)境中服從不同的分布,一般情況下服從指數(shù)分布,其概率密度函數(shù)為
(2)
式中τr為均方根時延擴展,假設衰落信道的頻率相關函數(shù)為R(Δf),則信道的相干帶寬B=1rms[R(Δf)]/2π,τr≈1/B。
本文根據(jù)NLOS誤差服從指數(shù)分布的特性建立CNN模型,通過對數(shù)據(jù)特征的學習訓練減小NLOS誤差對測距的影響,即將標定后的UWB測距值作為CNN輸入進行訓練,得到更高精度的測距值后再進行定位。
如圖1所示,CNN模型結構主要由4部分組成:1)輸入部分,輸入為標定后的BSA,B,C采集到的測距值。2)特征提取部分,包含5層帶權值的卷積、池化層,其中卷積層用來提取數(shù)據(jù)服從指數(shù)分布的特征,池化采用最大池化,用下采樣的方法減小特征提取的計算量。3)訓練部分,通過卷積、池化得到輸入數(shù)據(jù)的特征向量,將其作為全連接層輸入進行訓練。4)輸出部分,輸出修正NLOS誤差后的測距值。
圖1 CNN模型
CNN模型的學習率經(jīng)驗性的設置為0.000 1,激活函數(shù)采用SoftMax函數(shù),其公式為
(3)
(4)
式中xij為輸入的測距值,wij為第i個神經(jīng)元的第j個權重,zi為網(wǎng)絡的第i個輸出,b為偏置。
本文采用ToA定位方式,定位原理如圖2所示,BSi,i=1,2,3位于同一水平面上,以BS1為坐標原點O,BS1-BS2為X軸,BS1-BS3為Y軸建立直角坐標系。
圖2 ToA定位原理
設MT的坐標為(x,y,z),BSi的坐標為(xi,yi,zi),則MT與BS之間的距離為
(5)
其中,di與MT坐標之間的關系是非線性的,為了避免數(shù)據(jù)線性化過程中帶來的誤差,直接使用EKF對MT進行位置估計。
假設MT的運動狀態(tài)模型為
Xk=Fk-1(Xk-1)+Wk-1,Wk~N(0,Qk)
(6)
式中Wk為預測噪聲向量,Qk為Vk的協(xié)方差矩陣。
假設非線性測量模型為
Zk=hk(Xk)+Vk,Vk~(0,Rk)
(7)
式中Vk為觀測噪聲矩陣,Rk為Vk的協(xié)方差矩陣。
綜上,可得到EKF的方程為
預測
(8)
(9)
利用雅可比矩陣更新模型
(10)
(11)
更新
(12)
本文使用MPU6050模塊作為慣性導航系統(tǒng)(inertial navigation system,INS)的慣性測量單元(inertial measurement unit,IMU)。MPU6050模塊帶有陀螺儀傳感器和加速度傳感器,可以獲取載體當前的三個旋轉角速度和加速度分量。在UWB/INS組合系統(tǒng)中,UWB坐標系與INS坐標系分別為定位坐標n系、b系,b系下的位置、速度更新模型為
(13)
(14)
(15)
對式(13)進行微分得到UWB/INS系統(tǒng)的狀態(tài)方程
Xk=Fk-1Xk-1+Wk-1
(16)
Zk=hk(Xk)+Vk
(17)
本文實驗的室內環(huán)境平面圖如圖3所示,選擇15 m×15 m的實驗室,以基站A為坐標原點,MT的運動軌跡為(5,5),(5,10),(10,10),(10,5),(5,5)m,運動一圈。其中,遮擋BS信號的障礙物是厚度為300 mm的磚墻。
圖3 實驗環(huán)境平面圖
實驗流程如下:使用最小二乘法標定UWB基站;采用CNN對UWB測距值進行訓練,減小NLOS誤差對測距值的影響,并使用EKF估計MT的位置;使用EKF對UWB系統(tǒng)和INS系統(tǒng)進行位置融合,以得到更精確的位置信息。
在室內NLOS環(huán)境下,BS從1~20 m每隔1 m測距1 000次,取其均值作為該距離下的測量值,同時剔除個別跳變嚴重的測距值,用最小二乘法擬合測距誤差與真實距離之間的一次函數(shù)關系。NLOS環(huán)境下的標定結果如圖4所示。
圖4 標定NLOS環(huán)境
由圖4可知,當測量距離小于6 m時,測距誤差均值較大。由于信號傳輸距離較短,BS接收的響應信號會與自身的測距請求信號重疊,造成一定程度的干擾,對基站進行標定可以減小此類誤差以及NLOS誤差對定位精度的影響。
為了提高定位精度,使用CNN修正NLOS環(huán)境下的測距值。另采用卡爾曼濾波(Kalman filtering,KF)以及文獻[7]中提出的IA-BP算法對測距值進行處理,與CNN算法結果進行對比,之后再用EKF分別進行位置估計,其定位軌跡如圖5(a)所示,定位誤差如圖5(b)所示。
圖5 EKF估計結果
由圖5可知,相比于KF,IA-BP算法,CNN處理后的測距值解算的位置誤差更小,在0.09 m左右,且運動軌跡更加貼近真實軌跡。
為了得到更高精度的定位位置,使用CNN訓練后的UWB測距值解算的位置結合INS系統(tǒng)解算的位置,用EKF對其進行位置估計,其軌跡如圖6(a)所示,定位誤差如圖6(b)所示。
圖6 EKF融合估計結果
由圖6可以看出,UWB/INS組合定位的精度相比于單UWB定位更高,定位誤差在0.08 m左右,運動軌跡與真實軌跡更加貼近。
上述提到各定位方法KF,IA-BP,CNN,UWB/INS方法最終解算位置的定位誤差均值分別為0.15,0.13,0.09,0.08 m。由數(shù)據(jù)可知,CNN處理后的測距值,無論是UWB定位還是UWB/INS組合定位,都可達到厘米(cm)級定位精度,UWB/INS組合精度更高,更適合精度需求較高的室內定位場景。
使用UWB傳感器模塊采集測距值,通過測距誤差對UWB基站進行標定,并根據(jù)信號在室內NLOS環(huán)境下的傳播特性建立CNN模型,將標定后的測距值作為CNN輸入進行訓練以減小NLOS誤差對定位的影響,訓練完成后用EKF進行位置估計,從而提高定位精度。最后用UWB系統(tǒng)解算的位置和INS系統(tǒng)解算的位置的差值作為量測值,再次使用EKF進行位置估計,進一步提高定位精度。通過實測實驗的驗證以及仿真結果表明,上述方法最終達到了厘米級的定位精度,適用于對精度要求較高的室內定位場所。