王孜洲,臧利國(guó),唐一鳴,賈鵬,王德海
(1.211167江蘇省 南京市 南京工程學(xué)院 汽車(chē)與軌道交通學(xué)院;2.211167江蘇省 南京市 南京工程學(xué)院 自動(dòng)化學(xué)院;3.211167江蘇省 南京市 南京工程學(xué)院 電力工程學(xué)院)
隨著位置服務(wù)的快速發(fā)展,人們對(duì)高精度定位技術(shù)的需求越來(lái)越高。定位技術(shù)廣泛存在于生活的方方面面,在工業(yè)生產(chǎn)、日常生活中發(fā)揮著巨大的作用。超寬帶定位技術(shù)(UWB)是近年來(lái)興起的一項(xiàng)室內(nèi)定位技術(shù),以非正弦波窄負(fù)脈沖傳輸信號(hào)。其抗多徑能力強(qiáng),定位精度高,且對(duì)信道衰弱不敏感,難以截獲,成為最受關(guān)注的定位技術(shù)之一。
然而在實(shí)際應(yīng)用中往往存在障礙物遮擋、金屬干擾等情況,會(huì)給UWB測(cè)距帶來(lái)較大誤差(NLOS誤差),嚴(yán)重影響UWB定位精度。為抑制NLOS誤差,提高定位精度,鮑小雨[1]等提出了一種改進(jìn)的擴(kuò)展卡爾曼濾波(IEKF)算法,通過(guò)實(shí)際觀測(cè)值和預(yù)測(cè)值的差值大小,確定是否存在NLOS誤差,若存在誤差,則將濾波增益設(shè)置為零,從而減小NLOS誤差對(duì)定位的影響。試驗(yàn)顯示,該系統(tǒng)一定程度減小了NLOS誤差,但該方法依賴于閾值的設(shè)定,且誤警率較高,難以應(yīng)用于實(shí)際工程中;李旭虹[2]等提出一種改進(jìn)的無(wú)跡卡爾曼濾波算法,以聯(lián)合定位的初始坐標(biāo)作為濾波觀測(cè)值,并在無(wú)跡卡爾曼濾波的更新方程中直接減去NLOS誤差項(xiàng),避免了UKF濾波的發(fā)散。此種方法在建模時(shí),將NLOS誤差假設(shè)為服從指數(shù)分布,然而實(shí)際測(cè)量中,NLOS誤差并非完全服從指數(shù)分布,因而濾波精度有所下降。
針對(duì)上述問(wèn)題,為保證誤差抑制效果,本文首先對(duì)信道環(huán)境進(jìn)行鑒別,若為L(zhǎng)OS環(huán)境,則進(jìn)行無(wú)跡卡爾曼濾波;若存在NLOS誤差,則針對(duì)性地引入自適應(yīng)因子,對(duì)協(xié)方差進(jìn)行修正,從而減小誤差。
基于到達(dá)時(shí)間(TOA)定位利用測(cè)量信號(hào)在基站和標(biāo)簽之間的到達(dá)時(shí)間,求出每個(gè)基站與標(biāo)簽之間的距離,進(jìn)而通過(guò)距離實(shí)現(xiàn)定位[3]。一般采用3個(gè)基站進(jìn)行定位,其定位模型如圖1所示。
圖1 TOA定位原理Fig.1 Positioning principle of TOA
圖1中,A0,A1,A2為UWB基站位置;MS為標(biāo)簽位置;測(cè)得基站A0,A1,A2與標(biāo)簽MS的距離分別為d0,d1,d2;分別以基站為圓心、距離為半徑作3個(gè)圓,三圓交點(diǎn)即為標(biāo)簽MS的位置。設(shè)3個(gè)基站坐標(biāo)為(x0,y0),(x1,y1),(x2,y2),標(biāo)簽坐標(biāo)為(x,y),根據(jù)定位模型可列如下方程:
求解可得
在NLOS環(huán)境下,直達(dá)單徑分量DP到達(dá)基站需經(jīng)過(guò)障礙物,由于障礙物的介電系數(shù)大于1,會(huì)給測(cè)距模型帶來(lái)附加時(shí)延[4]。通常認(rèn)為,此附加時(shí)延會(huì)導(dǎo)致正均值的隨機(jī)誤差,定位結(jié)果由點(diǎn)坐標(biāo)變?yōu)槿鐖D2所示的陰影區(qū)域,大大增加了定位的不可信度,同時(shí)提高了計(jì)算的復(fù)雜程度,導(dǎo)致計(jì)算效率降低。
圖2 定位誤差模型Fig.2 Positioning error model
設(shè)陰影部分3個(gè)圓兩兩相交的3個(gè)交點(diǎn)為B0,B1,B2,坐標(biāo)分別為,,為減小計(jì)算量,將基站設(shè)置于等邊三角形的3個(gè)頂點(diǎn)處,以兩點(diǎn) A1,A2連線為X軸,連線中點(diǎn)為原點(diǎn)建立坐標(biāo)系。
交點(diǎn)坐標(biāo)可由兩圓聯(lián)立方程求解:
同理,可求出B1,B2的坐標(biāo),根據(jù)坐標(biāo)算出 B0,B1,B2三點(diǎn)與實(shí)際標(biāo)簽位置的距離為T(mén)0,T1,T2。距離公式:
由此得出,NLOS環(huán)境下引入的定位誤差可達(dá)max(T0,T1,T2),具有極大的不確定性,大大減小了UWB的定位精度。
由式(5)可知,NLOS誤差的存在會(huì)給UWB定位帶來(lái)極大的干擾。為保證誤差抑制效果,本文采用峭度作為參數(shù)鑒別UWB信道環(huán)境,若峭度參數(shù)異常,則說(shuō)明存在NLOS誤差,便可引入自適應(yīng)因子,有針對(duì)性地剔除NLOS誤差,從而保證定位精度。
UWB信號(hào)在IEEE802.15.4a標(biāo)準(zhǔn)下,信道沖激響應(yīng)(CIR)可表示為[5]
式中:l——第l條多徑;L——多徑總數(shù);al,τ1——第l條路徑的幅度增益和時(shí)延;δ(x)——單位能量的單徑脈沖函數(shù),其性質(zhì)如下:
為鑒別是否存在NLOS環(huán)境,提出使用峭度作為衡量信道狀態(tài)的參數(shù)。峭度K定義為波形四階矩和二階矩平方的比值,即
式中:μ——t時(shí)刻O(píng)(t)的均值,峭度作為信號(hào)的歸一化四階矩,對(duì)信號(hào)中的沖擊特征尤其敏感。
四階矩定義數(shù)據(jù)的峰度表征數(shù)據(jù)在均值處的峰值高低;二階矩即方差,表征數(shù)據(jù)的離散程度。峭度作為四階矩與二階矩的比值,可以表征數(shù)據(jù)相對(duì)于正態(tài)分布是陡峭還是平坦。對(duì)于高K的數(shù)據(jù),傾向于在均值附近有更明顯的峰值,下降更迅速,數(shù)據(jù)更聚攏;對(duì)于低K的數(shù)據(jù),傾向于在均值附近有更平坦的峰值,下降緩慢,數(shù)據(jù)更為離散[6]。一般LOS環(huán)境中因?yàn)闆](méi)有阻擋,數(shù)據(jù)變化更為劇烈,傾向于有更高的峭度;NLOS環(huán)境中數(shù)據(jù)變化較為緩慢,傾向于有更低的峭度。故峭度可作為衡量NLOS誤差的參數(shù),表示如下;
式中:thresh——設(shè)定的閾值,因K=3時(shí),波形具有正常峰值(零峭度),故取thresh=3。
根據(jù)TOA定位原理建立定位模型。將基站A0,A1,A2固定,以A1,A2連線的中點(diǎn)作為原點(diǎn)O建立空間直角坐標(biāo)系。標(biāo)簽MS的狀態(tài)向量分別由標(biāo)簽的平面坐標(biāo)(x,y)和在方向上的速度vx、vy構(gòu)成,可列狀態(tài)方程如下:
為使UWB的精度提高,可采用數(shù)字濾波算法優(yōu)化定位數(shù)據(jù)。
卡爾曼濾波(KF)是目前應(yīng)用廣泛的數(shù)字濾波技術(shù),其利用上一系統(tǒng)狀態(tài)的數(shù)據(jù)和量測(cè)數(shù)據(jù),通過(guò)線性系統(tǒng)狀態(tài)方程求出當(dāng)前狀態(tài)最優(yōu)估計(jì)值,在遞歸過(guò)程中提高預(yù)估精度[7],但是,由于計(jì)算時(shí)必須通過(guò)線性系統(tǒng)狀態(tài)方程,所以,只適用于高斯線性模型。
對(duì)于非線性濾波問(wèn)題,在卡爾曼濾波的基礎(chǔ)上主要有兩種發(fā)展:擴(kuò)展卡爾曼濾波(EKF)算法和無(wú)跡卡爾曼濾波(UKF)算法。其中,EKF的核心是通過(guò)泰勒展開(kāi)來(lái)處理非線性狀態(tài)方程和觀測(cè)方程,只取泰勒展開(kāi)式的一階項(xiàng)來(lái)實(shí)現(xiàn)線性化[8]。但EKF也只適用于線性化較弱的系統(tǒng)方程,否則同樣會(huì)導(dǎo)致濾波器性能下降,影響其收斂性。而UKF的核心是利用UT(Unscented Transform)變換來(lái)對(duì)均值和協(xié)方差進(jìn)行處理,從而避免線性化帶來(lái)的誤差。相比EKF,UKF不需要計(jì)算非線性函數(shù)的Jacobi矩陣,計(jì)算量大大減少,且UKF沒(méi)有忽略高階項(xiàng),計(jì)算精度更好,適用性也更強(qiáng)(例如:UKF可以應(yīng)用于復(fù)雜的NLOS環(huán)境)。
首先對(duì)濾波進(jìn)行初始化:
選取2n+1個(gè)Sigma樣本點(diǎn),n由研究對(duì)象的狀態(tài)維數(shù)決定,本文主要研究UWB定位模型,可取n=2,選取方式如下:
式中:χ——調(diào)整逼近的精度的尺度參數(shù),適當(dāng)調(diào)整可提高精度,且其中,α——一個(gè)較小的正數(shù),取值范圍10-4≤α<1,常取0.001,確定周?chē)鶶igma樣本點(diǎn)的分布情況;β——有關(guān)狀態(tài)分布的參數(shù),在高斯分布時(shí)最優(yōu)取值為2;λ——比例因子,通常取0或3-n。對(duì)于上述α,λ,β這3個(gè)參數(shù),都可以適當(dāng)調(diào)節(jié)來(lái)提高計(jì)算過(guò)程中的估計(jì)值和方差的精度[9]。
UKF算法主體主要分為3個(gè)步驟,分別是預(yù)測(cè)更新、迭代更新和量測(cè)更新[10]。預(yù)測(cè)更新中,先對(duì)Sigma樣本點(diǎn)進(jìn)行非線性變換,接著根據(jù)變換后的Sigma樣本點(diǎn)計(jì)算預(yù)測(cè)估計(jì)值和預(yù)測(cè)協(xié)方差
式中:Wim,Wic——計(jì)算均值和協(xié)方差的權(quán)值,計(jì)算方法如下:
對(duì)于標(biāo)準(zhǔn)UKF,雖然相比EKF可以更好地處理非線性系統(tǒng),但是,如果存在系統(tǒng)數(shù)學(xué)模型誤差或者系統(tǒng)噪聲特性不精確等情況,極有可能影響濾波的精度,甚至導(dǎo)致濾波的發(fā)散。此外,初始化的取值對(duì)UKF算法也存在影響,如果取值存在誤差會(huì)導(dǎo)致濾波估值的精度下降、收斂速度慢。針對(duì)以上存在的問(wèn)題,本文采用了一種自適應(yīng)UKF算法[11]。
首先,針對(duì)UKF算法在不同測(cè)量環(huán)境需要自適應(yīng)的程度不同,需要一個(gè)隨環(huán)境變化的自適應(yīng)因子,為此構(gòu)建了測(cè)量殘差向量:
式中:yk——該時(shí)刻UWB的真實(shí)測(cè)量值;測(cè)量的估計(jì)值。當(dāng)系統(tǒng)預(yù)測(cè)出現(xiàn)異常,或與系統(tǒng)模型不符,為使濾波保持精度,可引入自適應(yīng)因子[12],構(gòu)建如下:
式中:μk——所構(gòu)建的自適應(yīng)因子(0<μk≤1),可判別濾波中是否存在狀態(tài)模型誤差,并且對(duì)誤差有自適應(yīng)調(diào)節(jié)的作用。
將構(gòu)建的自適應(yīng)子加入標(biāo)準(zhǔn)UKF中,可對(duì)其進(jìn)行修正
由以上分析可知,當(dāng)系統(tǒng)模型等都正常時(shí),μk=1,對(duì)濾波結(jié)果沒(méi)有影響;當(dāng)初始值的選取可能存在異常或是狀態(tài)模型存在偏差時(shí),μk<1,即濾波結(jié)果對(duì)預(yù)測(cè)的估計(jì)值信任程度下降;當(dāng)狀態(tài)模型錯(cuò)誤時(shí),μk無(wú)窮接近于0,與其相關(guān)的值可完全舍棄[13]。因此,當(dāng)濾波結(jié)果出現(xiàn)異常時(shí),系統(tǒng)能做出自適應(yīng)調(diào)節(jié),減少異常值造成的影響,使最終得出的濾波結(jié)果相對(duì)準(zhǔn)確。
恰當(dāng)設(shè)置自適應(yīng)因子,能夠?qū)顟B(tài)方程預(yù)測(cè)值和測(cè)量值的權(quán)比進(jìn)行自適應(yīng)平衡,也能降低系統(tǒng)模型誤差對(duì)濾波的影響。此外,自適應(yīng)因子在濾波的遞歸過(guò)程中不斷對(duì)增益矩陣進(jìn)行修正和調(diào)節(jié),在此過(guò)程中UKF算法的抗差能力也得到提高。
為驗(yàn)證本文算法對(duì)UWB定位數(shù)據(jù)的優(yōu)化效果和對(duì)NLOS誤差的修正能力,在10 m×10 m的實(shí)驗(yàn)室環(huán)境中,進(jìn)行了模擬NLOS試驗(yàn)。試驗(yàn)采用典型帶寬為500 MHz的DWM1000射頻模塊,通信速率6.8 m/s,發(fā)射功率為-62~-35 dBm/MHz。
UWB的定位環(huán)境如圖3所示?;?A0,A1,A2沿邊長(zhǎng)為6 m的等邊三角形頂點(diǎn)放置,虛線表示標(biāo)簽MS運(yùn)動(dòng)軌跡。
圖3 試驗(yàn)環(huán)境Fig.3 Test environment
在基站A0與軌跡之間插入一塊金屬塊,當(dāng)標(biāo)簽、金屬塊和基站A0三者在同一直線上時(shí),介電系數(shù)大于1的金屬塊會(huì)干擾直達(dá)單徑分量DP的傳播,形成強(qiáng)NLOS環(huán)境。分別采用傳統(tǒng)定位算法和本文算法進(jìn)行定位試驗(yàn),試驗(yàn)結(jié)果見(jiàn)圖4。
圖4 基站測(cè)距值Fig.4 Base station ranging value
圖4為基站 A0,A1,A2與標(biāo)簽MS的測(cè)距值,從圖中可看出第30次到第40次測(cè)距中,基站A0受金屬塊影響,測(cè)距值出現(xiàn)突變,表現(xiàn)在定位結(jié)果中即如圖5所示。
圖5 原始定位結(jié)果Fig.5 Positioning results
圖5為傳統(tǒng)算法定位結(jié)果,可看出數(shù)據(jù)在y=-1 500 mm處開(kāi)始出現(xiàn)異常,隨后定位出現(xiàn)較大誤差,最大誤差值達(dá)到了335.89 mm;圖6為本文算法定位結(jié)果,顯然數(shù)據(jù)波動(dòng)更小,并且原NLOS誤差處相對(duì)平緩,最大誤差僅為158.83 mm,相比傳統(tǒng)算法最大誤差下降了52.7%。為對(duì)比整體定位結(jié)果,計(jì)算了RMSE(均方根誤差)值與MAE(平均絕對(duì)誤差)值。參見(jiàn)表1。
其計(jì)算方法如下:
式中:x*——標(biāo)簽MS在x方向的真實(shí)距離;xi——第i次定位中本文算法解算出的標(biāo)簽MS在x方向的測(cè)量值;n——測(cè)量總次數(shù);RMSE值——誤差平方均值的平方根,一般用來(lái)表示定位數(shù)據(jù)的離散程度;MAE值——誤差絕對(duì)值的平均,可用來(lái)表示定位數(shù)據(jù)的整體誤差。
圖6 本文算法定位結(jié)果Fig.6 Positioning results of the algorithm in this paper
表1 試驗(yàn)結(jié)果Tab.1 Test results
試驗(yàn)表明,本文提出的算法對(duì)UWB的數(shù)據(jù)優(yōu)化明顯,并且能夠準(zhǔn)確鑒別并修正NLOS誤差。
UWB作為當(dāng)前精度最高的室內(nèi)定位技術(shù),其發(fā)射信號(hào)功率譜密度低,截獲率低,但受環(huán)境影響顯著。本文根據(jù)UWB的TOA定位原理,分析了UWB在NLOS環(huán)境下的誤差模型。并通過(guò)計(jì)算峭度判別UWB信道環(huán)境,對(duì)于參數(shù)正常的情況,判定為L(zhǎng)OS環(huán)境,采用適用于非線性模型的標(biāo)準(zhǔn)無(wú)跡卡爾曼濾波算法進(jìn)行濾波;對(duì)于參數(shù)異常的情況,判定為NLOS環(huán)境,在UKF算法的基礎(chǔ)上加入自適應(yīng)因子修正增益矩陣,進(jìn)而減小NLOS誤差。經(jīng)試驗(yàn)驗(yàn)證,該算法有效實(shí)現(xiàn)了對(duì)定位結(jié)果的優(yōu)化和對(duì)NLOS誤差的修正,提高了UWB的定位精度。