蔣銳,虞躍,徐友云,王小明,李大鵬
(1.南京郵電大學(xué)通信與信息工程學(xué)院,江蘇 南京 210003;2.南京郵電大學(xué)通信與網(wǎng)絡(luò)技術(shù)國家工程研究中心,江蘇 南京 210003)
隨著科技的發(fā)展,各種無線通信系統(tǒng)相繼出現(xiàn),這使以通信為基礎(chǔ)的導(dǎo)航、定位等技術(shù)迅速發(fā)展。全球定位系統(tǒng)(GPS,global positioning system)是一個(gè)由24 顆衛(wèi)星組成并覆蓋全球的衛(wèi)星系統(tǒng)[1],在室外空曠地帶定位效果很好。但是GPS 信號的接收功率很小,并且在有障礙物遮擋時(shí)會(huì)出現(xiàn)很大的誤差,因此并不適用于室內(nèi)定位。針對這一問題,各種室內(nèi)定位方案也相繼出現(xiàn),常見的方案有藍(lán)牙定位、無線局域網(wǎng)定位、紅外線定位、超寬帶(UWB,ultra wide band)定位等。
藍(lán)牙定位技術(shù)[2]是比較主流的定位技術(shù),在綜合成本、抗干擾能力和布局復(fù)雜度上有一定優(yōu)勢。但是,其定位誤差一般在1~3 m,不適合對定位精度要求較高的室內(nèi)場景。無線局域網(wǎng)定位技術(shù)[3]通過采集網(wǎng)絡(luò)節(jié)點(diǎn)位置信息,完成對目標(biāo)位置的定位。目前,室內(nèi)無線局域網(wǎng)布置廣泛、應(yīng)用場景較多,這是其優(yōu)勢所在。但是無線局域網(wǎng)信號容易受到干擾并且能耗較大,因此定位精度較低、定位穩(wěn)定性較差。紅外線定位技術(shù)[4]利用光學(xué)傳感器接收定位目標(biāo)發(fā)射的紅外線進(jìn)行測距,并實(shí)現(xiàn)對目標(biāo)定位。但是紅外線只能沿直線傳播,不能穿透遮蔽物,其在室內(nèi)復(fù)雜環(huán)境下的定位效果不佳。UWB 定位技術(shù)[5]是一種無線載波通信技術(shù),頻率帶寬在1 GHz 以上,范圍在3.1~10.6 GHz。UWB 信號發(fā)射不需要使用傳統(tǒng)通信體制中的載波,而是通過發(fā)送納秒級及以下的極窄脈沖來傳輸數(shù)據(jù)[6]。UWB 定位是通過計(jì)算脈沖到達(dá)時(shí)間完成對距離的測量,從而實(shí)現(xiàn)目標(biāo)的定位。與其他室內(nèi)定位技術(shù)相比,UWB 信號具有很高的頻率和時(shí)間分辨率,使多徑信號在時(shí)間上不容易重疊,方便接收機(jī)分離多徑信號分量并充分利用,提升定位精度。因此,UWB 定位精度可達(dá)到分米級,且抗干擾能力及抗多徑衰落能力強(qiáng)[7]。本文在復(fù)雜室內(nèi)環(huán)境下,選取其作為定位算法的實(shí)現(xiàn)方案。
文獻(xiàn)[8]提出了具有閉式解的二步加權(quán)最小二乘算法,即CHAN 算法。該算法本質(zhì)上是利用最大似然估計(jì)求出目標(biāo)節(jié)點(diǎn)的位置信息,充分利用了冗余信息。同時(shí),該算法定位精度較高,當(dāng)基站數(shù)大于3 時(shí)接近定位估計(jì)的克拉美羅下界(CRLB,Cramer-Rao lower bound),也是使用較廣泛的定位算法。該算法在推導(dǎo)過程中存在一個(gè)前提條件,即假設(shè)測量距離誤差較小且為理想的零均值高斯隨機(jī)變量。所以在一些復(fù)雜定位環(huán)境中,該算法定位精度較低。
為了降低室內(nèi)定位中非視距(NLOS,non-line-of-sight)誤差帶來的影響,可以利用信號反射的幾何性質(zhì)推算出信號的反射路徑。該類算法首先通過發(fā)射角和入射角將NLOS 信號的反射點(diǎn)估算出來,然后推算出信號傳輸?shù)膶?shí)際路徑,最后計(jì)算出目標(biāo)與基站間的直射路徑長度。通過提高發(fā)射角、入射角的精度和單反射圓模型的準(zhǔn)確度,可以實(shí)現(xiàn)對目標(biāo)的高精度定位[9-10]。另外,由于直射信號在穿透室內(nèi)常見障礙物時(shí)產(chǎn)生的損耗是不同的,比如鋼板、人體和木板等情況產(chǎn)生的穿透損耗是不一樣的。因此在確定具體障礙物的類型、厚度和數(shù)量等信息的情況下,對信號在穿透障礙物時(shí)造成的能量損耗逐一進(jìn)行校準(zhǔn)和對比分析,可以準(zhǔn)確地計(jì)算出信號直射距離[11-12]。
以上2 類室內(nèi)定位算法雖然可以在復(fù)雜室內(nèi)環(huán)境下將定位精度提高到30 cm 左右,但是需要提前知道室內(nèi)障礙物的位置、類別、數(shù)量等信息,因此在實(shí)際場景中較難應(yīng)用。在實(shí)際應(yīng)用中,一般對NLOS 信號誤差本身進(jìn)行處理,從而優(yōu)化定位結(jié)果。殘差檢驗(yàn)算法在觀測定位突變數(shù)據(jù)時(shí)計(jì)算殘差并設(shè)置一個(gè)閾值,若產(chǎn)生的殘差大于閾值,則視為NLOS 信號,并進(jìn)行丟棄;否則,視為視線線路(LOS,line of sight)信號,可以加以利用并實(shí)現(xiàn)目標(biāo)定位。但是該算法在存在大量NLOS 信號時(shí)無法對目標(biāo)進(jìn)行定位處理[13]。中值濾波算法對NLOS觀測值進(jìn)行預(yù)處理,將某一距離量進(jìn)行多次觀測量,加權(quán)去除其中的最大值和最小值,將剩余的測量值進(jìn)行均值濾波作為該處距離的觀測量。在實(shí)際場景中,一個(gè)位置處于NLOS 的情況很可能一直存在,對某一個(gè)點(diǎn)的多次觀測量會(huì)一直存在較大誤差,這也是該算法需要優(yōu)化解決的問題[14]。文獻(xiàn)[15]假設(shè)在每次進(jìn)行觀測時(shí),當(dāng)前標(biāo)簽(Tag)的位置離前一時(shí)刻標(biāo)簽的位置應(yīng)該保持低于閾值。基于以上假設(shè),在多基站定位情況下可以對定位基站進(jìn)行分組,取任意3 個(gè)基站為一組,將每組計(jì)算結(jié)果與上一時(shí)刻標(biāo)簽位置之差在給定閾值內(nèi)的所有結(jié)果進(jìn)行加權(quán)平均處理,計(jì)算出當(dāng)前時(shí)刻的標(biāo)簽位置。該算法考慮定位結(jié)果的時(shí)間關(guān)聯(lián)性,當(dāng)存在至少一組基站與標(biāo)簽之間為全LOS的情況時(shí),該算法性能可達(dá)到30 cm 左右的定位精度。但是在實(shí)際環(huán)境中,很難保證基站和標(biāo)簽之間的信號傳輸情況,所以在復(fù)雜室內(nèi)條件下,其定位性能急劇下降。
文獻(xiàn)[16]利用卡爾曼濾波來修正CHAN 算法在NLOS 下產(chǎn)生的距離誤差值。其核心思想包括定位結(jié)果的預(yù)測和校正2 個(gè)階段,其中,預(yù)測階段是根據(jù)前一時(shí)刻系統(tǒng)狀態(tài)的估計(jì)值,計(jì)算當(dāng)前時(shí)刻系統(tǒng)狀態(tài)的預(yù)測值;校正階段是獲取當(dāng)前階段的觀測值,對預(yù)測值進(jìn)行修正,從而給出當(dāng)前時(shí)刻系統(tǒng)狀態(tài)的最優(yōu)估計(jì)。同時(shí),該算法隨著定位時(shí)間的推移,會(huì)不斷改善卡爾曼濾波增益系數(shù)K來達(dá)到精準(zhǔn)定位的效果。但是在初始定位階段,由于增益系數(shù)K調(diào)節(jié)較慢,會(huì)使其在初始時(shí)刻定位精度不高,并且增益系數(shù)K是根據(jù)上一時(shí)刻狀態(tài)而不斷改變的,因此當(dāng)場景變化較大時(shí),反而會(huì)引入新的誤差。
綜上所述,本文提出了一種基于CHAN 的改進(jìn)卡爾曼濾波算法。該算法在不同置信區(qū)域下選擇不同的增益系數(shù)K,避免了上一時(shí)刻增益系數(shù)的負(fù)面影響,提高了定位精度。同時(shí),在判斷置信區(qū)域方面,CHAN 算法對NLOS 場景下定位誤差比較敏感,因此選擇其定位結(jié)果殘差作為判斷依據(jù),提高了置信區(qū)域判別的準(zhǔn)確程度。
UWB 室內(nèi)定位系統(tǒng)[17]的節(jié)點(diǎn)根據(jù)其在無線網(wǎng)絡(luò)中的作用和類型分為2 類:第一類是作為坐標(biāo)系參考的已知節(jié)點(diǎn),稱作錨節(jié)點(diǎn),也可以稱為基站(BS,base station),主要作用是接收目標(biāo)節(jié)點(diǎn)發(fā)出的信號并上傳數(shù)據(jù);第二類是作為目標(biāo)節(jié)點(diǎn)的標(biāo)簽,其主要作用是作為待測目標(biāo)給基站發(fā)送信號。
UWB 室內(nèi)定位系統(tǒng)主要是以各個(gè)節(jié)點(diǎn)之間發(fā)送信號的特征作為測距依據(jù),其定位方程構(gòu)建算法有基于信號到達(dá)角度(AOA,angel of arrival)、基于到達(dá)時(shí)間(TOA,time of arrival)等。本文采用基于到達(dá)時(shí)間差(TDOA,time difference of arrival)[18]定位方程構(gòu)建算法。
在構(gòu)建定位模型之前,首先要分析UWB 室內(nèi)定位系統(tǒng)的誤差源,可以分為系統(tǒng)誤差、環(huán)境誤差、算法誤差3 類[19],如圖1 所示。
圖1 UWB 定位誤差
UWB 定位系統(tǒng)的兩類系統(tǒng)誤差為時(shí)鐘同步誤差和時(shí)鐘漂移[20]誤差。時(shí)鐘同步誤差是指BS 與Tag設(shè)備之間的時(shí)鐘并不完全同步,使BS 接收到Tag發(fā)送信號時(shí)間與真實(shí)的信號到達(dá)時(shí)間不一致,從而降低了定位精度。時(shí)鐘漂移誤差是由各個(gè)芯片的晶振頻率不同導(dǎo)致的。在實(shí)際系統(tǒng)中,可通過時(shí)鐘同步處理及調(diào)整芯片的晶振頻率降低以上誤差。
環(huán)境誤差是實(shí)際定位中影響最大的因素,有多徑干擾誤差[21]、NLOS 誤差[22]和高斯白噪聲誤差等。多徑干擾誤差是由信號頻率選擇性衰落引起的,但是UWB 信號具有良好的頻率分辨率,故可以暫時(shí)忽略此影響。NLOS 誤差的產(chǎn)生原因是在復(fù)雜的室內(nèi)環(huán)境中受到多種障礙物的阻擋,造成了Tag 發(fā)射信號不能沿直線傳播到BS,使原本的測量時(shí)間延長,降低了定位精度。高斯白噪聲誤差是信號在空間傳播過程中普遍存在的一種誤差。
假設(shè)對于某一個(gè)BS 而言,Tag 與該BS 之間的情況是隨著時(shí)間在LOS 與NLOS 中不斷轉(zhuǎn)換的。如果不能及時(shí)地分辨這2 種信號,并對其進(jìn)行適當(dāng)處理,則會(huì)導(dǎo)致定位結(jié)果誤差增加。為了真實(shí)描述室內(nèi)復(fù)雜定位環(huán)境,本文假設(shè)
其中,PLOS和PNLOS分別為復(fù)雜室內(nèi)定位環(huán)境下LOS和NLOS 出現(xiàn)的概率。
算法誤差是定位解算算法在解定位方程時(shí)產(chǎn)生的,其大小表征了不同定位算法的性能。
UWB 室內(nèi)定位系統(tǒng)通?;诓煌臏y量參數(shù)建立不同的室內(nèi)定位模型。目前,常用的模型有泊松模型、POCA-NAZA 模型、S-V 模型、雙簇模型和IEEE802.15.4a 模型[23]等。其中,IEEE802.15.4a模型是現(xiàn)階段研究最多的模型。因此,本文根據(jù)此標(biāo)準(zhǔn)建立室內(nèi)定位模型。
考慮一個(gè)室內(nèi)定位系統(tǒng)中有N個(gè)BS 和一個(gè)Tag,其中,BSi= [xi,y i,zi]T是第i個(gè)BS 的位置,Tag 與第i個(gè)BS 之間的測量距離可表示為[24]
其中,c=3×108m/s 為光速;τi為Tag 信號到達(dá)BSi的時(shí)間,單位為s;Di為Tag 信號到達(dá)BSi的真實(shí)距離,單位為cm;n i為滿足N~ (0,)分布的加性白高斯噪聲。
IEEE802.15.4a 的研究結(jié)果表明,室內(nèi)情況下NLOS 誤差的分布滿足Nakagami-m 分布,其均方根時(shí)延擴(kuò)展τRMS和平均超量時(shí)延μ有近似1:1 的關(guān)系。因此,NLOS 誤差服從指數(shù)分布,其概率密度函數(shù)為
其中,τRMS可看作滿足對數(shù)正態(tài)分布的隨機(jī)變量。表1 給出了IEEE802.15.4a 中室內(nèi)住宅和室內(nèi)辦公室的τRMS,其中,μN(yùn)LOS和σNLOS分別是τRMS的均值和標(biāo)準(zhǔn)差。
表1 IEEE802.15.4a 中室內(nèi)住宅和室內(nèi)辦公室的 τRMS
根據(jù)上述情況,在復(fù)雜的室內(nèi)辦公室環(huán)境中,UWB 室內(nèi)定位的距離模型可以建模為
其中,τiNLOS為Tag 到BSi的NLOS 時(shí)間,bi為Tag到BSi的NLOS 距離。由于τiNLOS滿足對數(shù)正態(tài)分布,其值一定為正,即滿足
TDOA 主要依據(jù)雙曲線特性實(shí)現(xiàn)定位。該算法只需要將BSi進(jìn)行時(shí)間同步,不需要Tag 與BSi之間進(jìn)行時(shí)間同步,更符合實(shí)際情況,降低了時(shí)間同步造成的誤差。該算法實(shí)現(xiàn)的具體步驟為首先將已知的BSi進(jìn)行時(shí)間同步,由Tag 向BSi發(fā)射信號,BSi記錄下信號所到達(dá)的時(shí)間戳,并將其數(shù)據(jù)上傳給上位機(jī)。然后以BSi為基點(diǎn),用BSj(j≠i)收到信號的時(shí)間減去BSi收到信號的時(shí)間,就是到達(dá)時(shí)間差。根據(jù)雙曲線的定義,建立N-1 個(gè)雙曲線方程,可得到Tag 的具體位置。TDOA 定位算法如圖2 所示。
圖2 TDOA 定位算法
圖2 中,BS1、BS2、BS3、B S4分別為4 個(gè)已知節(jié)點(diǎn),以BS1為基準(zhǔn)畫3 個(gè)雙曲線,它們的交點(diǎn)即Tag。假設(shè)4 個(gè)已知BS 的坐標(biāo)分別為 (x1,y1,z1)、(x2,y2,z2)、(x3,y3,z3)、(x4,y4,z4),Tag 為未知節(jié)點(diǎn),其坐標(biāo)為(x,y,z),由上述分析可得
其中,D i表示BSi到Tag 的實(shí)際距離,Dj表示BSj到Tag 的實(shí)際距離,Dij表示Tag 到BSi的距離和Tag 到BSj的距離的差值,τij表示Tag 發(fā)送的信息到達(dá)BSi的時(shí)間和Tag 發(fā)送的信息到達(dá)BSj的時(shí)間的差值。
將式(8)代入具體數(shù)據(jù)并化為矩陣形式
可解出Tag 的具體位置為
CHAN 定位解算算法是一種具有閉式解的二步加權(quán)最小二乘算法[25],在噪聲滿足高斯分布的情況下具有較好的算法性能,廣泛應(yīng)用于各個(gè)場景。該算法分為四基站定位與多基站定位,本文采用的是后者。
設(shè)Za= [Zp,D1]T為 Tag 未知的位置信息,Zp=[x,y,z]T為Tag 在坐標(biāo)系中的具體位置,根據(jù)式(9)可得
用矩陣Q代替誤差矢量ε的協(xié)方差矩陣Ψ,并通過加權(quán)最小二乘法求解式(15)可得
其中,Za中的Zp即Tag 具體坐標(biāo)。上述過程中用協(xié)方差矩陣Q代替誤差矢量ε的協(xié)方差矩陣Ψ,增加了一定誤差,為了降低這部分誤差的影響,要對上述的過程進(jìn)行進(jìn)一步優(yōu)化,即進(jìn)行二步加權(quán)最小二乘算法的運(yùn)算
得到的估計(jì)結(jié)果為
卡爾曼濾波器[26]也被稱為最佳線性濾波器,用于解決狀態(tài)估計(jì)問題中的線性系統(tǒng)。其主要通過對輸入的預(yù)測值和觀測值進(jìn)行濾波處理,使估計(jì)結(jié)果更加接近真實(shí)值??柭鼮V波算法的狀態(tài)空間模型為
其中,k為離散時(shí)間,X(k) ∈Rn為系統(tǒng)在時(shí)刻k的狀態(tài),Y(k) ∈Rm為對應(yīng)狀態(tài)的觀測信號;W(k) ∈Rr為輸入的白噪聲,V(k) ∈Rm為觀測噪聲;Φ為狀態(tài)轉(zhuǎn)移矩陣,Γ為噪聲驅(qū)動(dòng)矩陣,H為觀測矩陣。將CHAN 算法的定位結(jié)果作為卡爾曼濾波器的輸入量
狀態(tài)一步預(yù)測為
狀態(tài)更新為
濾波增益矩陣為
一步預(yù)測協(xié)方差矩陣為
協(xié)方差矩陣更新為
其中,P(k|k)和P(k+1|k)分別為對應(yīng)估計(jì)結(jié)果的協(xié)方差矩陣;R為測量噪聲矩陣;K為卡爾曼濾波增益,是根據(jù)協(xié)方差矩陣和測量誤差矩陣決定的值,K值越大,代表越相信觀測值,K值越小,代表越相信預(yù)測值;(k|k)為上一個(gè)狀態(tài)的最優(yōu)估計(jì)結(jié)果,(k+1|k+1)為當(dāng)前時(shí)間基于CHAN 的卡爾曼濾波的定位結(jié)果。
整體而言,卡爾曼濾波是一個(gè)不斷迭代并且優(yōu)化其參數(shù)的過程,其最優(yōu)估計(jì)結(jié)果越來越逼近真實(shí)值。該算法有效地降低了CHAN 算法在NLOS 環(huán)境下的誤差。然而,為了保證卡爾曼濾波迭代的準(zhǔn)確性,需要在初始位置給一個(gè)指定的初值,這個(gè)初值必須滿足與標(biāo)簽的實(shí)際位置接近[24],否則會(huì)對后續(xù)的迭代過程產(chǎn)生偏移,導(dǎo)致定位結(jié)果誤差增大。其次,由于卡爾曼濾波是一連續(xù)優(yōu)化的過程,上一時(shí)刻的協(xié)方差矩陣影響下一時(shí)刻的位置信息。在復(fù)雜的室內(nèi)環(huán)境中,存在LOS 與NLOS 信號共存并且頻繁轉(zhuǎn)換的情況,這使協(xié)方差矩陣比較難判斷該時(shí)刻的定位信息是否準(zhǔn)確,從而導(dǎo)致下一時(shí)刻的協(xié)方差矩陣受到影響,逐漸產(chǎn)生累計(jì)誤差。與此同時(shí),對于一個(gè)基站而言,假設(shè)LOS 信號與NLOS 信號出現(xiàn)的概率是相等的,會(huì)使卡爾曼濾波增益系數(shù)K一直維持在0.5 左右,降低了卡爾曼濾波的精度。
為了解決上述問題,考慮到復(fù)雜室內(nèi)場景中LOS/NLOS 場景頻繁切換的特性,對LOS/NLOS 基站存在數(shù)目進(jìn)行置信區(qū)域的劃分。同時(shí),考慮到CHAN 算法在NLOS 情況與LOS 情況下定位誤差相差較大,將其作為置信區(qū)域的判別依據(jù)。最后,根據(jù)劃分的不同區(qū)域,選擇合適的濾波增益系數(shù)K提高定位精度。
對于多基站的定位而言,BS1接收Tag 傳輸?shù)男盘柺窃贚OS 場景下,但是BS2接收Tag 傳輸?shù)男盘柺窃贜LOS 場景下,這就導(dǎo)致定位環(huán)境復(fù)雜度的增加。
考慮到CHAN 方法在LOS 基站大于4 個(gè)時(shí)定位精度較高,將其定位結(jié)果和各個(gè)基站的位置進(jìn)行殘差并作為區(qū)域判別的置信因子。
假設(shè)總共有N個(gè)BS,在三維定位中必須有4 個(gè)BS 才能解算出Tag 坐標(biāo),選取其中任意(l l>4)個(gè)基站為一組,總共有M種組合,其值為
索引集為{Sr,r= 1,2,…,M}。殘差定義為
通過對該測量時(shí)刻計(jì)算的M組殘差值進(jìn)行歸一化處理,得到當(dāng)前測量時(shí)刻的置信因子為
其中,α為置信因子,是區(qū)域判別指標(biāo)。同時(shí),對每一測量時(shí)刻的M組殘差加權(quán),得到此測量時(shí)刻的定位結(jié)果為
式(35)是該時(shí)刻所有組合殘差加權(quán)的過程。殘差值越大,說明定位結(jié)果越差;殘差越小,說明定位結(jié)果越好。因此,分母為該時(shí)刻所有組合情況的殘差值倒數(shù)之和,分子為該時(shí)刻第r種組合的Tag位置與其殘差倒數(shù)之積。考慮到置信因子α表示不同區(qū)域內(nèi)定位結(jié)果的可信程度。將定位的區(qū)域劃分為3 個(gè),即
其中,Knew為根據(jù)不同置信區(qū)域選擇的卡爾曼濾波增益,α為置信因子,δ1和δ2為劃分置信區(qū)域的閾值。例如,在仿真設(shè)置環(huán)境中,由多次測量可得出,δ1和δ2的取值分別為0.3 和0.5。在置信區(qū)域中,δ1、δ2和濾波增益Knew滿足在可信區(qū)域中濾波增益Knew更加相信測量結(jié)果,此時(shí)α在0 和δ1之間;在模糊區(qū)域中,濾波增益Knew會(huì)適當(dāng)?shù)卣{(diào)整測量結(jié)果和預(yù)測結(jié)果的關(guān)系,此時(shí)α在δ1和δ2之間;在不可信區(qū)域中,濾波增益Knew更加相信預(yù)測結(jié)果,此時(shí)α在δ2和1 之間。
根據(jù)不同區(qū)域選擇不同的卡爾曼濾波增益Knew,并將當(dāng)前測量時(shí)刻的定位結(jié)果xTag代入不同的區(qū)域進(jìn)行卡爾曼濾波。
相對于基礎(chǔ)的卡爾曼濾波過程,該過程只更改了狀態(tài)更新和協(xié)方差更新方程的濾波增益因子
基于CHAN 的改進(jìn)卡爾曼濾波算法流程如圖3所示。
圖3 基于CHAN 的改進(jìn)卡爾曼濾波算法流程
本文算法解決了卡爾曼濾波在定位初始時(shí)定位精度不高和卡爾曼濾波增益K在復(fù)雜室內(nèi)定位場景下產(chǎn)生新誤差的問題,具有不錯(cuò)的定位精度。
本文實(shí)驗(yàn)主要分析在復(fù)雜室內(nèi)環(huán)境下,各種室內(nèi)定位算法的精度。假設(shè)在1 000 cm×1 000 cm×1 000 cm 的復(fù)雜室內(nèi)空間存在8 個(gè)BS,其LOS 信號和NLOS 信號的概率都為50%,且為隨機(jī)產(chǎn)生。一個(gè)物體的運(yùn)動(dòng)軌跡為從(200,200,200)到(700,700,700)的勻速直線運(yùn)動(dòng),該物體在每個(gè)方向上的加速度都為20 cm/s,由于物體運(yùn)動(dòng)時(shí)存在一定誤差,其概率分布滿足加性白高斯噪聲,ω的取值為10 cm。因此其真實(shí)運(yùn)動(dòng)軌跡如圖4 所示。
圖4 真實(shí)運(yùn)動(dòng)軌跡
在UWB 室內(nèi)定位中,根據(jù)IEEE802.15.4a可知,設(shè)定測量誤差的標(biāo)準(zhǔn)差符合高斯分布,其均值為0,方差為10 cm;NLOS 的均方根時(shí)延擴(kuò)展τRMS滿足對數(shù)正態(tài)分布,均值為2.075 4 cm,方差為0.178 3 cm。根據(jù)多次數(shù)據(jù)的測量,閾值δ1=0.3,δ2=0.5??尚艆^(qū)域代表8 個(gè)BS 中有5 個(gè)及以上BS 的接收信號為LOS 情況,模糊區(qū)域代表存在3~4 個(gè)BS 的接收信號為LOS 情況,不可信區(qū)域代表低于2 個(gè)BS 的接收信號為LOS 情況。由于CHAN 算法在5 個(gè)基站時(shí)就有很高精度,因此本文選取k=5。
綜上,本節(jié)構(gòu)建了一個(gè)LOS 信號和NLOS 信號概率相等的復(fù)雜室內(nèi)定位場景,其參數(shù)基本符合現(xiàn)實(shí)情況。
為了充分說明本文算法的性能,仿真實(shí)驗(yàn)選取3 種相關(guān)定位算法與本文算法進(jìn)行分析對比,分別為傳統(tǒng)的CHAN 算法[8]、基于分組的協(xié)同定位算法[15]和CHAN+卡爾曼濾波算法[16]。
圖5~圖8 為傳統(tǒng)的CHAN 算法、協(xié)同定位算法、CHAN+卡爾曼濾波算法和CHAN+改進(jìn)卡爾曼濾波算法的定位示意,運(yùn)行次數(shù)為10 000 次來保證實(shí)驗(yàn)的準(zhǔn)確性。圖5 是三維空間內(nèi)4 種算法的定位結(jié)果。從圖5 可以明顯地看出,傳統(tǒng)的CHAN 算法由于室內(nèi)環(huán)境復(fù)雜,定位效果很差,運(yùn)動(dòng)軌跡偏離真實(shí)軌跡較大,甚至出現(xiàn)了先定位點(diǎn)在后定位點(diǎn)之前的情況;基于分組的協(xié)同定位算法由于基站分組的非理想化影響,依然存在一定的定位誤差;CHAN+卡爾曼濾波算法由于卡爾曼濾波的加入,一定程度上降低了定位的NLOS 誤差,運(yùn)動(dòng)軌跡更加平滑,接近真實(shí)運(yùn)動(dòng)軌跡。但是由于在初始定位時(shí)增益值選取的問題,在運(yùn)動(dòng)初始定位的過程中,產(chǎn)生了較大的定位偏移情況;CHAN+改進(jìn)卡爾曼濾波算法是4 種定位算法中定位誤差最低的算法,其定位軌跡更加接近真實(shí)軌跡。同時(shí),在初始定位的過程中,CHAN+改進(jìn)卡爾曼濾波算法從初始定位時(shí)就接近真實(shí)的定位軌跡,有較低的定位誤差,相比前3 種算法的定位軌跡有了明顯的校正,解決了卡爾曼濾波在初始位置定位精度不高的問題。綜上,CHAN+改進(jìn)卡爾曼濾波算法相比另外3 種算法在定位精度和定位穩(wěn)定性上都有較大提升。
圖5 三維空間內(nèi)4 種算法的定位結(jié)果
圖6 x-y 運(yùn)動(dòng)軌跡
圖7 x-z 運(yùn)動(dòng)軌跡
圖8 y-z 運(yùn)動(dòng)軌跡
圖9 顯示了4 種室內(nèi)定位算法的定位誤差。從圖9 可以看出,傳統(tǒng)的CHAN 算法的定位誤差穩(wěn)定在2.2 m 左右。對于需要精準(zhǔn)定位的室內(nèi)定位來說,傳統(tǒng)的CHAN 算法不滿足其要求?;诜纸M的協(xié)同定位算法受LOS 與NLOS 頻繁轉(zhuǎn)換和閾值設(shè)定的影響,誤差在1.8 m 左右。CHAN+卡爾曼濾波算法的定位誤差在1.0~1.5 m,假設(shè)需要定位的運(yùn)動(dòng)體是人,則此誤差在人運(yùn)動(dòng)的合理范圍之內(nèi),可以用于普通的室內(nèi)定位情況。從圖9 中也可以看出,CHAN+卡爾曼濾波算法在定位初始的位置時(shí)誤差仍偏大。CHAN+改進(jìn)卡爾曼濾波算法的定位精度在0.5~1.0 m,符合室內(nèi)精準(zhǔn)定位的要求,達(dá)到了UWB 在民用室內(nèi)定位中的規(guī)范。同時(shí),在定位初始的情況下,也滿足室內(nèi)精準(zhǔn)定位的需求。總體而言,4 種定位算法整體誤差曲線平滑。在整個(gè)定位過程中,CHAN+改進(jìn)卡爾曼濾波算法的定位誤差始終比其他3 種算法定位誤差要小,與傳統(tǒng)的CHAN 算法相比,定位誤差降低了1.5 m;與CHAN+卡爾曼濾波算法相比,定位誤差降低了0.5 m。
圖9 4 種室內(nèi)定位算法的定位誤差
為了更好地對比4 種算法的定位精度,表2 給出了在10 000 次定位結(jié)果下,4 種定位算法的均方根誤差(RMSE,root mean squared error)。在復(fù)雜的室內(nèi)環(huán)境下,傳統(tǒng)的CHAN 算法的RMSE 在2.2 m 以上,有明顯的定位誤差,不能用于室內(nèi)定位;基于分組的協(xié)同定位算法的RMSE 在2.0 m 左右,也存在較大的誤差;CHAN+卡爾曼濾波算法定位精度在1.0 m 以上,基本符合室內(nèi)定位的需求;CHAN+改進(jìn)卡爾曼濾波算法的定位精度在0.8 m 左右,與傳統(tǒng)的CHAN算法和CHAN+卡爾曼濾波算法對比,提升了60%和34%,降低了復(fù)雜室內(nèi)環(huán)境的定位誤差。
表2 各定位算法的RMSE
同時(shí),在不同定位測量噪聲標(biāo)準(zhǔn)差的場景下,CHAN+改進(jìn)卡爾曼濾波算法仍然擁有較好的定位精度。如圖10 所示,在固定了LOS/NLOS 基站的分布情況下,隨著定位測量噪聲標(biāo)準(zhǔn)差的增大,各種定位算法的定位精度都在降低,符合實(shí)際情況。傳統(tǒng)的CHAN 算法受定位測量噪聲標(biāo)準(zhǔn)差的影響較大,測量噪聲標(biāo)準(zhǔn)差增加的情況下,定位精度降低得十分明顯?;诜纸M的協(xié)同定位算法由于對NLOS 信號進(jìn)行了簡單的處理,而CHAN+卡爾曼濾波算法和CHAN+改進(jìn)卡爾曼濾波算則是在卡爾曼濾波迭代過程中,更新質(zhì)量優(yōu)劣因子P隨著定位的過程逐漸改善,彌補(bǔ)了測量噪聲標(biāo)準(zhǔn)差的增大。因此,相較于傳統(tǒng)的CHAN 算法,基于分組的協(xié)同定位算法、CHAN+卡爾曼濾波算法和CHAN+改進(jìn)卡爾曼濾波算法受定位測量噪聲標(biāo)準(zhǔn)差的影響較小。在同一測量噪聲標(biāo)準(zhǔn)差的情況下,CHAN+改進(jìn)卡爾曼濾波算法相比其他3 種算法的RMSE 更小,有更好的定位精度。在定位環(huán)境越來越惡劣的情況下,傳統(tǒng)的CHAN 算法的RMSE 趨勢不收斂,定位效果較差。CHAN+卡爾曼濾波算法和CHAN+改進(jìn)卡爾曼濾波算法的RMSE 逐漸穩(wěn)定在2.0 m 和1.8 m 左右,對于定位環(huán)境十分惡劣的情況而言,在可接受范圍內(nèi)。
圖10 RMSE 與測量噪聲標(biāo)準(zhǔn)差的關(guān)系
本文實(shí)驗(yàn)還驗(yàn)證了卡爾曼濾波增益系數(shù)在初始狀態(tài)改善的問題,設(shè)ΔK為CHAN+改進(jìn)卡爾曼濾波算法與CHAN+卡爾曼濾波算法增益系數(shù)的差值,其與時(shí)間的關(guān)系如圖11 所示。從圖11 可以看出,ΔK在初始狀態(tài)時(shí)接近-0.3,說明CHAN+改進(jìn)卡爾曼濾波算法與CHAN+卡爾曼濾波算法的增益系數(shù)取值有明顯不同,其原因是CHAN+卡爾曼濾波算法在初始定位時(shí)濾波增益還未改善。相比CHAN+卡爾曼濾波算法,CHAN+改進(jìn)卡爾曼濾波算法由于需要對置信區(qū)域進(jìn)行選擇,改善了增益系數(shù),讓其更快地趨于穩(wěn)定和精準(zhǔn)。隨著時(shí)間的推移,2 種算法增益系數(shù)的差值逐漸縮小,系數(shù)逐漸相等,這說明不同區(qū)域預(yù)先選擇的增益值提高了定位的精度。綜上,CHAN+改進(jìn)卡爾曼濾波算法在初始狀態(tài)時(shí)就已經(jīng)改善了增益系數(shù),降低了由復(fù)雜室內(nèi)環(huán)境產(chǎn)生的新誤差。
圖11 ΔK 與運(yùn)行時(shí)間的關(guān)系
最后,為了表征不同定位算法之間的復(fù)雜度區(qū)別,記錄了各種定位算法的實(shí)際運(yùn)行時(shí)間,如表3所示。傳統(tǒng)的CHAN 算法的實(shí)際運(yùn)行時(shí)間最快,而本文提出的CHAN+改進(jìn)卡爾曼濾波算法要進(jìn)行多次CHAN 算法解算,并根據(jù)解算結(jié)果與各個(gè)基站進(jìn)行殘差,判別置信區(qū)域后再進(jìn)行卡爾曼濾波,增加了算法復(fù)雜度,因此實(shí)際運(yùn)行時(shí)間最長。但是本文算法實(shí)際運(yùn)行時(shí)間仍然滿足定位實(shí)時(shí)處理的要求,可在實(shí)際定位系統(tǒng)中使用。
表3 各種定位算法的實(shí)際運(yùn)行時(shí)間
根據(jù)前文的分析與仿真驗(yàn)證,本文采用CHAN+改進(jìn)卡爾曼濾波算法作為定位系統(tǒng)的定位方案。
本文實(shí)驗(yàn)實(shí)際環(huán)境為某會(huì)議室,該會(huì)議室長為812 cm,寬為404 cm,高為216 cm,人攜帶UWB定位標(biāo)簽在選取的范圍內(nèi)按照指定的軌跡進(jìn)行移動(dòng)。8 個(gè)定位基站布置如下:主機(jī)站坐標(biāo)為(0,0,25),其余基站坐標(biāo)分別為(812,0,25)、(812,404,25)、(0,404,25)、(0,0,216)、(812,0,216)、(812,404,216)、(0,404,216)。在會(huì)議室內(nèi)有明顯的桌椅擺放,隨機(jī)遮擋了部分基站與標(biāo)簽之間的信號LOS 傳播路徑,形成了復(fù)雜的室內(nèi)環(huán)境。根據(jù)會(huì)議室內(nèi)基站的坐標(biāo)分布可知,其中位于房間頂部的4 個(gè)基站與標(biāo)簽之間并無障礙物遮擋,此時(shí)4 個(gè)頂部基站與標(biāo)簽之間的信號為LOS 傳輸信號;而位于會(huì)議室底部的4 個(gè)基站與標(biāo)簽之間存在會(huì)議室桌椅的遮擋,該4 個(gè)基站與標(biāo)簽之間的信號為NLOS 傳輸信號,實(shí)際測試環(huán)境滿足前文假設(shè)的LOS 和NLOS 信號分布概率。
為了直觀地表現(xiàn)測試的軌跡,本文實(shí)驗(yàn)的標(biāo)簽運(yùn)行軌跡為在會(huì)議桌上的一條直線,具體的空間坐標(biāo)為[350,215,40]到[750,215,40]的一條直線,但是由于實(shí)際的軌跡并不能嚴(yán)格控制為一條直線,因此圖中以黑色的理想預(yù)測軌跡作為參考基準(zhǔn),具體定位結(jié)果如圖12~圖15 所示。
圖12 實(shí)際定位軌跡
圖13 x-y 實(shí)際定位軌跡
圖14 x-z 實(shí)際定位軌跡
圖15 z-y 實(shí)際定位軌跡
根據(jù)與理想軌跡的對比可得,本文實(shí)驗(yàn)所用的CHAN+改進(jìn)卡爾曼濾波算法基本符合預(yù)測軌跡,并且在預(yù)測軌跡附近波動(dòng)。由圖13~圖15 可知,y軸和z軸的定位誤差在40 cm 左右,x軸的定位誤差在20 cm 左右。
為了更進(jìn)一步地說明本文算法相比同類算法的性能優(yōu)勢,圖16 在給定預(yù)測軌跡的情況下,利用實(shí)際系統(tǒng)對比本文算法、傳統(tǒng)的CHAN 算法[8]和CHAN+卡爾曼濾波算法[16]的定位結(jié)果。從圖16 可知,在初始時(shí)刻,由于標(biāo)簽與基站之間有信號自動(dòng)校準(zhǔn)的時(shí)間差,因此初始定位時(shí)刻的偏差較大,但是隨著時(shí)間的推移,定位結(jié)果逐漸穩(wěn)定。由實(shí)際的數(shù)據(jù)可得,CHAN+改進(jìn)卡爾曼濾波算法的平均定位誤差最小,在50~60 cm,且其定位的穩(wěn)定性比其余2 種算法都高。CHAN+卡爾曼濾波算法的平均定位誤差在150 cm 左右,而傳統(tǒng)的CHAN 算法的平均定位誤差在250 cm 左右,并不適用于實(shí)際復(fù)雜環(huán)境的室內(nèi)定位。上述算法在實(shí)際數(shù)據(jù)中的對比進(jìn)一步驗(yàn)證了本文算法的性能。
圖16 實(shí)際定位誤差
本文提出了一種在復(fù)雜室內(nèi)定位環(huán)境下基于CHAN 的改進(jìn)卡爾曼濾波算法。該算法提高了基于CHAN 的卡爾曼濾波算法在復(fù)雜室內(nèi)環(huán)境下的定位精度,并且改善了卡爾曼濾波增益在初始定位時(shí)的準(zhǔn)確性。通過實(shí)際測量驗(yàn)證,本文算法具有較高的定位精度,在復(fù)雜室內(nèi)環(huán)境下精度達(dá)到了亞米級,是一種有效的定位方法。