張寶軍,陳 曦,廖延娜,田 奇
(西安郵電大學(xué) 電子工程學(xué)院,陜西 西安 710121)
目前比較成熟的超寬帶(ultra-wide band,UWB)室內(nèi)定位方法[1~3]包括有接收信號強(qiáng)度(receive signal strength,RSS),信號到達(dá)角度(angle of arrival,AOA)、到達(dá)時間(time of arrival,TOA)和到達(dá)時間差(time difference of arrival,TDOA)。在室內(nèi)定位的應(yīng)用場景中,定位系統(tǒng)往往會受到多徑效應(yīng)、非視距(nonline of sight,NLOS)誤差等因素的干擾。UWB信號可以在較寬的帶寬上傳輸,可以有效分辨并抑制多徑傳播,所以,UWB成為目前市場應(yīng)用較多的定位方法,而降低NLOS誤差也成為UWB室內(nèi)定位技術(shù)的研究熱點(diǎn)。
文獻(xiàn)[4]提出了一種結(jié)合卡爾曼濾波(Kalman filtering,KF)和線性化原理的TOA室內(nèi)定位方法,將UWB定位數(shù)據(jù)線性化后用KF進(jìn)行處理,有效地減小多徑和NLOS引起的誤差。但是KF無法滿足強(qiáng)非線性系統(tǒng)。文獻(xiàn)[5]提出一種基于IA-BP神經(jīng)網(wǎng)絡(luò)的UWB室內(nèi)定位方法,為了避免反向傳播(back propogation,BP)神經(jīng)網(wǎng)絡(luò)收斂速度較慢,將其訓(xùn)練的誤差值作為免疫算法的抗原,通過計算親和度尋得網(wǎng)絡(luò)的最優(yōu)權(quán)值和閾值,達(dá)到減小定位誤差的目的,同時解決了網(wǎng)絡(luò)易陷入局部最優(yōu)值的問題。文獻(xiàn)[6]提出一種長短期記憶(long-short term memory,LSTM)神經(jīng)網(wǎng)絡(luò)定位方法。選擇不同比例的振幅和相位數(shù)據(jù)以形成不同數(shù)據(jù)集訓(xùn)練神經(jīng)網(wǎng)絡(luò),得到最優(yōu)特征比下的模型,可以有效提高定位精度。LSTM神經(jīng)網(wǎng)絡(luò)[7~9]能夠從大量的樣本數(shù)據(jù)中學(xué)習(xí)到數(shù)據(jù)深層次、抽象化的特征,在訓(xùn)練修正序列化數(shù)據(jù)方面有著顯著的優(yōu)勢。
本文設(shè)計了一種NLOS環(huán)境下基于雙層長短期記憶神經(jīng)網(wǎng)絡(luò)(double-layer long-short term memory,DL-LSTM)的室內(nèi)定位系統(tǒng),根據(jù)信號在NLOS環(huán)境下定位數(shù)據(jù)的深度特征建立DL-LSTM模型,將基站測距值和慣性導(dǎo)航系統(tǒng)(inertial navigation system,INS)的加速度、角速度數(shù)據(jù)作為模型輸入進(jìn)行訓(xùn)練,第一層網(wǎng)絡(luò)用于消除NLOS誤差;第二層網(wǎng)絡(luò)對UWB/INS組合系統(tǒng)進(jìn)行位置預(yù)測的位置信息。
本文使用DWM1000UWB模塊,利用信號在基站(base station,BS)與移動標(biāo)簽(mobile tap,MT)之間的雙向傳播時間(two-way time of flight,TWToF)完成測距?;続在tA1時刻發(fā)送測距請求信號,移動標(biāo)簽M在tM1時刻接收到請求信號,并在tM2時刻返回響應(yīng)信號,傳感器A在tA2時刻接收到響應(yīng)信號,則測距方程為
dAM=c×[(tA2-tA1)-(tM2-tM1)]/2
(1)
式中c為光速。
實(shí)驗(yàn)的數(shù)據(jù)采集是在NLOS環(huán)境下進(jìn)行的,得到測距值后需要對UWB系統(tǒng)的基站進(jìn)行標(biāo)定。但在NLOS環(huán)境下,信號無法在直接路徑上傳遞,不僅會影響信號的檢測精度,而且會使得信號在接收過程中產(chǎn)生附加的時延,即式(1)中tM1,tA2會明顯增大。為了減小這種誤差,需要對UWB模塊在NLOS環(huán)境下的測距性能進(jìn)行標(biāo)定,本文選擇一次函數(shù)作為標(biāo)定模型[10],用最小二乘法進(jìn)行誤差線性擬合。
LSTM神經(jīng)網(wǎng)絡(luò)是將循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)[11,12]內(nèi)部常規(guī)的隱含層單元替換為LSTM單元,通過特有的門控制將短期記憶與長期記憶結(jié)合起來,可以有效地解決梯度消失、梯度爆炸等問題,如圖1所示。
圖1 LSTM網(wǎng)絡(luò)結(jié)構(gòu)
圖1中,Ct-1指向Ct的水平線,表示細(xì)胞狀態(tài),看作是記憶鏈條,細(xì)胞狀態(tài)會沿著這個鏈條進(jìn)行傳送,在LSTM單元中只有少數(shù)地方有一些線性交互,因此LSTM網(wǎng)絡(luò)可以記憶長期的信息。LSTM網(wǎng)絡(luò)的記憶塊單元包含3個門結(jié)構(gòu):輸入門,遺忘門和輸出門。
其計算過程如下:
1)遺忘門ft決定從細(xì)胞狀態(tài)中遺忘什么樣的信息,表達(dá)式為
ft=σ(Wf·[ht-1,xt]+bf)
(2)
式中σ為激活函數(shù)Sigmoid,xt為該時刻的輸入,ht-1為上一時刻隱含層的輸入,ft為遺忘門的輸出,Wf為遺忘門的權(quán)值項(xiàng),bf為遺忘門的偏置項(xiàng)。
2)輸入門it決定儲存什么樣的信息,其主要分為兩步,第一步激活函數(shù)Sigmoid決定需要更新的值,表達(dá)式為
it=σ(Wi·[ht-1,xt]+bi)
(3)
式中Wi為輸入門的權(quán)值項(xiàng),bi為輸入門的偏置項(xiàng);第二步激活函數(shù)tanh產(chǎn)生一個新的候選值向量t,會被加入到細(xì)胞狀態(tài)中,表達(dá)式為
(4)
式中 tanh為雙曲正切激活函數(shù);Wc,bc分別為權(quán)值項(xiàng)和偏置項(xiàng)。
3)更新細(xì)胞狀態(tài)Ct,表達(dá)式為
Ct=Ct-1×ft+t×it
(5)
輸出門ot根據(jù)新的細(xì)胞狀態(tài)確定輸出部分,表達(dá)式為
ot=σ(Wo·[ht-1,xt]+bo)
(6)
ht=ot*tanh(Ct)
(7)
式中Wo,bo分別為權(quán)值項(xiàng)和偏置項(xiàng);ht為該時刻的隱含層輸出。
本文使用MPU6050模塊作為INS的慣性測量單元(inertial measurement unit,IMU)。MPU6050模塊帶有陀螺儀傳感器和加速度傳感器,可以獲取載體當(dāng)前的三個旋轉(zhuǎn)角速度和加速度分量。
根據(jù)信號在NLOS環(huán)境下[13]傳播時多源定位數(shù)據(jù)的深度特征建立DL-LSTM模型。通過對序列化的數(shù)據(jù)學(xué)習(xí)訓(xùn)練以減小NLOS誤差對測距的影響,并融合INS系統(tǒng)數(shù)據(jù),從而得到更高精度的位置信息。
DL-LSTM模型主要由兩層LSTM網(wǎng)絡(luò)組成,本文稱之為消除誤差層和數(shù)據(jù)融合層,其模型如圖2所示。
圖2 DL-LSTM結(jié)構(gòu)
DL-LSTM模型的訓(xùn)練流程如圖3所示。
圖3 模型訓(xùn)練流程圖
1)多源數(shù)據(jù)的采集。
2)數(shù)據(jù)預(yù)處理,使用min-max標(biāo)準(zhǔn)化法對多源定位數(shù)據(jù)進(jìn)行歸一化處理
(8)
式中xtrans為歸一化處理后的待訓(xùn)練數(shù)據(jù),其數(shù)值均在0~1之間;xraw為原始數(shù)據(jù);min(X)為原始數(shù)據(jù)的最小值;max(X)為原始數(shù)據(jù)的最大值。
3)DL-LSTM模型訓(xùn)練過程如下:
a.消除誤差層用來消除NLOS誤差,優(yōu)化UWB的測距值,其公式為
gi=(xai,xbi,xci)
(9)
hi+1=f′(gi,gi-1,…,gi-m+1)
(10)
式中g(shù)i為第i時刻的UWB測距值,f′為消除誤差層的映射函數(shù),hi+1為第i時刻優(yōu)化后的UWB測距值。
b.數(shù)據(jù)融合層用來融合多源定位數(shù)據(jù)[14],提高定位精度。第i個時刻所對應(yīng)的測距值不僅需要考慮當(dāng)前時刻的特征信息xi,還要考慮前m個時刻的特征信息,其公式為
xi=(hi+1,axi,ayi,wi)
(11)
(12)
(13)
(14)
式中N為樣本的數(shù)量大小。
其訓(xùn)練過程圖如圖4所示,當(dāng)訓(xùn)練超過200輪時,網(wǎng)絡(luò)逐漸穩(wěn)定。
圖4 訓(xùn)練過程
本次實(shí)驗(yàn)的室內(nèi)環(huán)境平面圖如圖5所示,選擇15 m×15 m的實(shí)驗(yàn)室,以基站A為坐標(biāo)原點(diǎn),MT的運(yùn)動軌跡為(5,5),(5,10),(10,10),(10,5),(5,5),運(yùn)動一圈。其中,遮擋BS信號的障礙物是厚度為300 mm的磚墻。
圖5 室內(nèi)環(huán)境平面
1)在室內(nèi)NLOS環(huán)境下,BS從1~20 m每隔1 m測距1 000次,取其均值作為該距離下的測量值,同時剔除個別跳變嚴(yán)重的測距值,用最小二乘法擬合測距誤差與真實(shí)距離之間的一次函數(shù)關(guān)系。由于信號傳輸距離較短,BS接收的響應(yīng)信號會與自身的測距請求信號重疊,造成一定程度的干擾,對基站進(jìn)行標(biāo)定可以減小此類誤差以及NLOS誤差對定位精度的影響。
2)利用標(biāo)定后的UWB采集測距值數(shù)據(jù),INS采集傳感器數(shù)據(jù)。
3)數(shù)據(jù)預(yù)處理,使用min-max標(biāo)準(zhǔn)化法對多源定位數(shù)據(jù)進(jìn)行歸一化處理。
4)根據(jù)信號在NLOS環(huán)境下傳播時多源定位數(shù)據(jù)的深度特征建立DL-LSTM模型。
5)訓(xùn)練DL-LSTM模型。
6)對輸出的估計位置進(jìn)行軌跡繪制和誤差分析。
為了檢驗(yàn)DL-LSTM算法的定位效果,采用KF以及CNN算法對測距值進(jìn)行處理,之后再用擴(kuò)展卡爾曼濾波[13](extended Kalman filtering,EKF)分別進(jìn)行位置估計,將其結(jié)果與DL-LSTM算法結(jié)果進(jìn)行對比,其定位軌跡如圖6所示,定位誤差如圖7所示。
圖6 定位軌跡
由圖6,圖7可知,相比于KF,CNN算法,DL-LSTM算法的位置誤差更小,在0.07m左右,且運(yùn)動軌跡更加貼近真實(shí)軌跡。
圖7 定位誤差
為了更好地檢驗(yàn)定位效果,使用CNN訓(xùn)練后的UWB測距值解算的位置結(jié)合INS系統(tǒng)解算的位置,用EKF對其進(jìn)行位置估計,將其結(jié)果與DL-LSTM算法結(jié)果進(jìn)行對比,其軌跡如圖8所示,定位誤差如圖9所示。
圖8 定位軌跡
圖9 定位誤差
由圖8,圖9可以看出,CNN算法的UWB/INS組合定位的精度相比于單UWB定位更高,定位誤差在0.08 m左右,但相比于DL-LSTM算法,DL-LSTM算法運(yùn)動軌跡與真實(shí)軌跡更加貼近,且定位誤差更小。
KF/UWB,CNN/UWB,CNN/UWB/INS,DL-LSTM方法最終解算位置定位誤差均值分別為0.15,0.09,0.08,0.07 m。由此可見,基于DL-LSTM算法的UWB/INS組合定位精度更高,可達(dá)到厘米(cm)級定位精度,更適合精度需求較高的室內(nèi)定位場景。
使用UWB傳感器模塊采集測距值,通過多次測量取其均值并使用最小二乘法對基站進(jìn)行標(biāo)定,并根據(jù)信號在NLOS環(huán)境下傳播時的多源定位數(shù)據(jù)的深度特征建立DL-LSTM模型,將標(biāo)定后的測距值和MPU6050傳感器的加速度值、角速度值作為DL-LSTM輸入進(jìn)行訓(xùn)練從而提高定位精度。通過實(shí)測實(shí)驗(yàn)的驗(yàn)證以及仿真結(jié)果表明,上述方法最終達(dá)到了厘米(cm)級的定位精度,能夠適用于對精度要求較高的室內(nèi)定位場所。