(1.南京郵電大學(xué)通信與信息工程學(xué)院,江蘇 南京 210003;2.南京郵電大學(xué)通信與網(wǎng)絡(luò)技術(shù)國家工程研究中心,江蘇 南京 210003)
0 引言
隨著科技的發(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 信號(hào)的接收功率很小,并且在有障礙物遮擋時(shí)會(huì)出現(xiàn)很大的誤差,因此并不適用于室內(nèi)定位。針對(duì)這一問題,各種室內(nèi)定位方案也相繼出現(xiàn),常見的方案有藍(lán)牙定位、無線局域網(wǎng)定位、紅外線定位、超寬帶(UWB,ultra wide band)定位等。
藍(lán)牙定位技術(shù)[2]是比較主流的定位技術(shù),在綜合成本、抗干擾能力和布局復(fù)雜度上有一定優(yōu)勢。但是,其定位誤差一般在1~3 m,不適合對(duì)定位精度要求較高的室內(nèi)場景。無線局域網(wǎng)定位技術(shù)[3]通過采集網(wǎng)絡(luò)節(jié)點(diǎn)位置信息,完成對(duì)目標(biāo)位置的定位。目前,室內(nèi)無線局域網(wǎng)布置廣泛、應(yīng)用場景較多,這是其優(yōu)勢所在。但是無線局域網(wǎng)信號(hào)容易受到干擾并且能耗較大,因此定位精度較低、定位穩(wěn)定性較差。紅外線定位技術(shù)[4]利用光學(xué)傳感器接收定位目標(biāo)發(fā)射的紅外線進(jìn)行測距,并實(shí)現(xiàn)對(duì)目標(biāo)定位。但是紅外線只能沿直線傳播,不能穿透遮蔽物,其在室內(nèi)復(fù)雜環(huán)境下的定位效果不佳。UWB 定位技術(shù)[5]是一種無線載波通信技術(shù),頻率帶寬在1 GHz 以上,范圍在3.1~10.6 GHz。UWB 信號(hào)發(fā)射不需要使用傳統(tǒng)通信體制中的載波,而是通過發(fā)送納秒級(jí)及以下的極窄脈沖來傳輸數(shù)據(jù)[6]。UWB 定位是通過計(jì)算脈沖到達(dá)時(shí)間完成對(duì)距離的測量,從而實(shí)現(xiàn)目標(biāo)的定位。與其他室內(nèi)定位技術(shù)相比,UWB 信號(hào)具有很高的頻率和時(shí)間分辨率,使多徑信號(hào)在時(shí)間上不容易重疊,方便接收機(jī)分離多徑信號(hào)分量并充分利用,提升定位精度。因此,UWB 定位精度可達(dá)到分米級(jí),且抗干擾能力及抗多徑衰落能力強(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)誤差帶來的影響,可以利用信號(hào)反射的幾何性質(zhì)推算出信號(hào)的反射路徑。該類算法首先通過發(fā)射角和入射角將NLOS 信號(hào)的反射點(diǎn)估算出來,然后推算出信號(hào)傳輸?shù)膶?shí)際路徑,最后計(jì)算出目標(biāo)與基站間的直射路徑長度。通過提高發(fā)射角、入射角的精度和單反射圓模型的準(zhǔn)確度,可以實(shí)現(xiàn)對(duì)目標(biāo)的高精度定位[9-10]。另外,由于直射信號(hào)在穿透室內(nèi)常見障礙物時(shí)產(chǎn)生的損耗是不同的,比如鋼板、人體和木板等情況產(chǎn)生的穿透損耗是不一樣的。因此在確定具體障礙物的類型、厚度和數(shù)量等信息的情況下,對(duì)信號(hào)在穿透障礙物時(shí)造成的能量損耗逐一進(jìn)行校準(zhǔn)和對(duì)比分析,可以準(zhǔn)確地計(jì)算出信號(hào)直射距離[11-12]。
以上2 類室內(nèi)定位算法雖然可以在復(fù)雜室內(nèi)環(huán)境下將定位精度提高到30 cm 左右,但是需要提前知道室內(nèi)障礙物的位置、類別、數(shù)量等信息,因此在實(shí)際場景中較難應(yīng)用。在實(shí)際應(yīng)用中,一般對(duì)NLOS 信號(hào)誤差本身進(jìn)行處理,從而優(yōu)化定位結(jié)果。殘差檢驗(yàn)算法在觀測定位突變數(shù)據(jù)時(shí)計(jì)算殘差并設(shè)置一個(gè)閾值,若產(chǎn)生的殘差大于閾值,則視為NLOS 信號(hào),并進(jìn)行丟棄;否則,視為視線線路(LOS,line of sight)信號(hào),可以加以利用并實(shí)現(xiàn)目標(biāo)定位。但是該算法在存在大量NLOS 信號(hào)時(shí)無法對(duì)目標(biāo)進(jìn)行定位處理[13]。中值濾波算法對(duì)NLOS觀測值進(jìn)行預(yù)處理,將某一距離量進(jìn)行多次觀測量,加權(quán)去除其中的最大值和最小值,將剩余的測量值進(jìn)行均值濾波作為該處距離的觀測量。在實(shí)際場景中,一個(gè)位置處于NLOS 的情況很可能一直存在,對(duì)某一個(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è),在多基站定位情況下可以對(duì)定位基站進(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)簽之間的信號(hà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)前階段的觀測值,對(duì)預(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 算法對(duì)NLOS 場景下定位誤差比較敏感,因此選擇其定位結(jié)果殘差作為判斷依據(jù),提高了置信區(qū)域判別的準(zhǔn)確程度。
1 UWB 定位環(huán)境及模型
1.1 UWB 室內(nèi)定位環(huá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ā)出的信號(hào)并上傳數(shù)據(jù);第二類是作為目標(biāo)節(jié)點(diǎn)的標(biāo)簽,其主要作用是作為待測目標(biāo)給基站發(fā)送信號(hào)。
UWB 室內(nèi)定位系統(tǒng)主要是以各個(gè)節(jié)點(diǎn)之間發(fā)送信號(hào)的特征作為測距依據(jù),其定位方程構(gòu)建算法有基于信號(hào)到達(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ā)送信號(hào)時(shí)間與真實(shí)的信號(hào)到達(dá)時(shí)間不一致,從而降低了定位精度。時(shí)鐘漂移誤差是由各個(gè)芯片的晶振頻率不同導(dǎo)致的。在實(shí)際系統(tǒng)中,可通過時(shí)鐘同步處理及調(diào)整芯片的晶振頻率降低以上誤差。
環(huán)境誤差是實(shí)際定位中影響最大的因素,有多徑干擾誤差[21]、NLOS 誤差[22]和高斯白噪聲誤差等。多徑干擾誤差是由信號(hào)頻率選擇性衰落引起的,但是UWB 信號(hào)具有良好的頻率分辨率,故可以暫時(shí)忽略此影響。NLOS 誤差的產(chǎn)生原因是在復(fù)雜的室內(nèi)環(huán)境中受到多種障礙物的阻擋,造成了Tag 發(fā)射信號(hào)不能沿直線傳播到BS,使原本的測量時(shí)間延長,降低了定位精度。高斯白噪聲誤差是信號(hào)在空間傳播過程中普遍存在的一種誤差。
假設(shè)對(duì)于某一個(gè)BS 而言,Tag 與該BS 之間的情況是隨著時(shí)間在LOS 與NLOS 中不斷轉(zhuǎn)換的。如果不能及時(shí)地分辨這2 種信號(hào),并對(duì)其進(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)生的,其大小表征了不同定位算法的性能。
1.2 UWB 室內(nèi)定位建模
UWB 室內(nèi)定位系統(tǒng)通常基于不同的測量參數(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 信號(hào)到達(dá)BSi的時(shí)間,單位為s;Di為Tag 信號(hào)到達(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可看作滿足對(duì)數(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滿足對(duì)數(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ā)射信號(hào),BSi記錄下信號(hào)所到達(dá)的時(shí)間戳,并將其數(shù)據(jù)上傳給上位機(jī)。然后以BSi為基點(diǎn),用BSj(j≠i)收到信號(hào)的時(shí)間減去BSi收到信號(hào)的時(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 的具體位置為
1.3 基于CHAN 的卡爾曼濾波算法
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é)方差矩陣Ψ,增加了一定誤差,為了降低這部分誤差的影響,要對(duì)上述的過程進(jìn)行進(jìn)一步優(yōu)化,即進(jìn)行二步加權(quán)最小二乘算法的運(yùn)算
得到的估計(jì)結(jié)果為
卡爾曼濾波器[26]也被稱為最佳線性濾波器,用于解決狀態(tài)估計(jì)問題中的線性系統(tǒng)。其主要通過對(duì)輸入的預(yù)測值和觀測值進(jìn)行濾波處理,使估計(jì)結(jié)果更加接近真實(shí)值。卡爾曼濾波算法的狀態(tài)空間模型為
其中,k為離散時(shí)間,X(k) ∈Rn為系統(tǒng)在時(shí)刻k的狀態(tài),Y(k) ∈Rm為對(duì)應(yīng)狀態(tài)的觀測信號(hào);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)分別為對(duì)應(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ì)對(duì)后續(xù)的迭代過程產(chǎn)生偏移,導(dǎo)致定位結(jié)果誤差增大。其次,由于卡爾曼濾波是一連續(xù)優(yōu)化的過程,上一時(shí)刻的協(xié)方差矩陣影響下一時(shí)刻的位置信息。在復(fù)雜的室內(nèi)環(huán)境中,存在LOS 與NLOS 信號(hào)共存并且頻繁轉(zhuǎn)換的情況,這使協(xié)方差矩陣比較難判斷該時(shí)刻的定位信息是否準(zhǔn)確,從而導(dǎo)致下一時(shí)刻的協(xié)方差矩陣受到影響,逐漸產(chǎn)生累計(jì)誤差。與此同時(shí),對(duì)于一個(gè)基站而言,假設(shè)LOS 信號(hào)與NLOS 信號(hào)出現(xiàn)的概率是相等的,會(huì)使卡爾曼濾波增益系數(shù)K一直維持在0.5 左右,降低了卡爾曼濾波的精度。
2 基于CHAN 的改進(jìn)卡爾曼濾波算法
為了解決上述問題,考慮到復(fù)雜室內(nèi)場景中LOS/NLOS 場景頻繁切換的特性,對(duì)LOS/NLOS 基站存在數(shù)目進(jìn)行置信區(qū)域的劃分。同時(shí),考慮到CHAN 算法在NLOS 情況與LOS 情況下定位誤差相差較大,將其作為置信區(qū)域的判別依據(jù)。最后,根據(jù)劃分的不同區(qū)域,選擇合適的濾波增益系數(shù)K提高定位精度。
對(duì)于多基站的定位而言,BS1接收Tag 傳輸?shù)男盘?hào)是在LOS 場景下,但是BS2接收Tag 傳輸?shù)男盘?hào)是在NLOS 場景下,這就導(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}。殘差定義為
通過對(duì)該測量時(shí)刻計(jì)算的M組殘差值進(jìn)行歸一化處理,得到當(dāng)前測量時(shí)刻的置信因子為
其中,α為置信因子,是區(qū)域判別指標(biāo)。同時(shí),對(duì)每一測量時(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)行卡爾曼濾波。
相對(duì)于基礎(chǔ)的卡爾曼濾波過程,該過程只更改了狀態(tài)更新和協(xié)方差更新方程的濾波增益因子
基于CHAN 的改進(jìn)卡爾曼濾波算法流程如圖3所示。

圖3 基于CHAN 的改進(jìn)卡爾曼濾波算法流程
本文算法解決了卡爾曼濾波在定位初始時(shí)定位精度不高和卡爾曼濾波增益K在復(fù)雜室內(nèi)定位場景下產(chǎn)生新誤差的問題,具有不錯(cuò)的定位精度。
3 實(shí)驗(yàn)與分析
3.1 仿真實(shí)驗(yàn)數(shù)據(jù)構(gòu)建
本文實(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 信號(hào)和NLOS 信號(hào)的概率都為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滿足對(duì)數(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 的接收信號(hào)為LOS 情況,模糊區(qū)域代表存在3~4 個(gè)BS 的接收信號(hào)為LOS 情況,不可信區(qū)域代表低于2 個(gè)BS 的接收信號(hào)為LOS 情況。由于CHAN 算法在5 個(gè)基站時(shí)就有很高精度,因此本文選取k=5。
綜上,本節(jié)構(gòu)建了一個(gè)LOS 信號(hào)和NLOS 信號(hào)概率相等的復(fù)雜室內(nèi)定位場景,其參數(shù)基本符合現(xiàn)實(shí)情況。
3.2 仿真實(shí)驗(yàn)數(shù)據(jù)分析
為了充分說明本文算法的性能,仿真實(shí)驗(yàn)選取3 種相關(guān)定位算法與本文算法進(jìn)行分析對(duì)比,分別為傳統(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 左右。對(duì)于需要精準(zhǔn)定位的室內(nèi)定位來說,傳統(tǒng)的CHAN 算法不滿足其要求。基于分組的協(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)定位算法的定位誤差
為了更好地對(duì)比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+卡爾曼濾波算法對(duì)比,提升了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)差增加的情況下,定位精度降低得十分明顯。基于分組的協(xié)同定位算法由于對(duì)NLOS 信號(hào)進(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 左右,對(duì)于定位環(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)卡爾曼濾波算法由于需要對(duì)置信區(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í)間
3.3 實(shí)際定位環(huán)境
根據(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)簽之間的信號(hào)LOS 傳播路徑,形成了復(fù)雜的室內(nèi)環(huán)境。根據(jù)會(huì)議室內(nèi)基站的坐標(biāo)分布可知,其中位于房間頂部的4 個(gè)基站與標(biāo)簽之間并無障礙物遮擋,此時(shí)4 個(gè)頂部基站與標(biāo)簽之間的信號(hào)為LOS 傳輸信號(hào);而位于會(huì)議室底部的4 個(gè)基站與標(biāo)簽之間存在會(huì)議室桌椅的遮擋,該4 個(gè)基站與標(biāo)簽之間的信號(hào)為NLOS 傳輸信號(hào),實(shí)際測試環(huán)境滿足前文假設(shè)的LOS 和NLOS 信號(hào)分布概率。
3.4 定位數(shù)據(jù)分析
為了直觀地表現(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ù)與理想軌跡的對(duì)比可得,本文實(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)對(duì)比本文算法、傳統(tǒng)的CHAN 算法[8]和CHAN+卡爾曼濾波算法[16]的定位結(jié)果。從圖16 可知,在初始時(shí)刻,由于標(biāo)簽與基站之間有信號(hà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ù)中的對(duì)比進(jìn)一步驗(yàn)證了本文算法的性能。

圖16 實(shí)際定位誤差
4 結(jié)束語
本文提出了一種在復(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á)到了亞米級(jí),是一種有效的定位方法。