王 正,陳 兵
(南京航空航天大學 計算機科學與技術(shù)學院,江蘇 南京 210016)
隨著網(wǎng)絡(luò)通信技術(shù)的發(fā)展,無線定位被更多的學者所關(guān)注。在各種無線定位算法中,由非視距(Non Line of Sight,NLOS)傳播造成的誤差是主要來源[1]。因此,如何有效抑制NLOS 誤差已成為無線定位研究中的關(guān)鍵問題。
目前對NLOS 誤差抑制的主要方法有:采用LOS信號,LOS 重構(gòu)[2-6]、加權(quán)算法[7-8]、帶約束條件的最優(yōu)化求解算法[9]等。本文研究了在NLOS 誤差嚴重且誤差模型不確定的場景下NLOS 誤差抑制算法?;诳柭鼮V波的NLOS 誤差抑制算法主要思想是:通過上一時刻狀態(tài)的估計值及當前狀態(tài)的測量值來計算當前狀態(tài)的估計值??柭鼮V波實時高效,在NLOS 誤差嚴重的環(huán)境下無需過多先驗信息就能保證一定精度,因此相比其他算法更適用于本文場景。但由于該算法只進行簡單迭代,一次誤差極大的測量值不僅會對當前定位產(chǎn)生影響,也將會對后續(xù)定位產(chǎn)生較大影響,因此傳統(tǒng)卡爾曼濾波定位并不能保持較高的定位精度[10]。因此本文針對NLOS 基本誤差特性對卡爾曼濾波的迭代過程進行了改進,獲得了良好的性能。
作為目前抑制NLOS 誤差的熱點,基于卡爾曼濾波的主流算法分為兩類。一類是用傳統(tǒng)偏差卡爾曼濾波進行NLOS 誤差抑制,由于未考慮到NLOS 誤差模型特性,因此在NLOS 誤差較大的情況下此類算法定位精度較低。而另一類算法對卡爾曼濾波迭代過程做了改進,如文獻[11]提出了一種將抗NLOS 加權(quán)重構(gòu)引入到卡爾曼濾波中的定位算法,在一定程度上提高了定位精度及容錯性,但由于卡爾曼濾波的誤差累計特性,該算法的定位結(jié)果不能保持較高精度,特別是在NLOS 誤差嚴重的環(huán)境中,該算法的精度提升并不明顯。文獻[10]提出了一種將無NLOS 誤差的測量值與NLOS 誤差作為系統(tǒng)的狀態(tài)變量,利用卡爾曼濾波器對采樣序列進行處理以抑制消除NLOS 誤差的定位算法。該算法將測量值的特點和NLOS 誤差特性運用到卡爾曼濾波器中效果較好,但該算法必須已知NLOS誤差分布模型,這在實際場景中難以實現(xiàn),特別是在NLOS 誤差模型不確定的環(huán)境中,該算法效果較差。因此,在本文研究場景下,上述算法均不能保持較高的定位精度。
在基于TODA(Time Difference of Arrival)的無線定位算法[12]中,首先需獲得TODA 測量值。設(shè)參與定位的N 個錨節(jié)點坐標為(Xi,Yi),待定位節(jié)點坐標為(x,y),待定位節(jié)點到第i 個錨節(jié)點的距離為
則第i 個錨節(jié)點到待定位節(jié)點的距離與主錨節(jié)點(X1,Y1)到待定位節(jié)點的距離差為
經(jīng)等式變化可得
實際通信環(huán)境中,由于障礙物的遮擋,電波只能沿非直線路徑傳播,稱為非視距傳播,由此給帶來的誤差被稱為非視距誤差。因此,ti時刻待定位節(jié)點到第個錨節(jié)點之間的距離測量值Rm(ti)為
其中,Lm(ti)為真實距離;nm(ti)為服從N(μ,σ)分布的標準測量誤差;NLOSm(ti)為正均值的隨機NLOS 誤差,在不同的信道環(huán)境中可能服從均勻分布、指數(shù)分布或Delta 分布[13]。
指數(shù)分布
均勻分布
Delta 分布
卡爾曼濾波主要由狀態(tài)轉(zhuǎn)移方程和測量方程組成
其中,s(k)為時刻狀態(tài)向量;z(k)為時刻測量向量;A為采樣間隔的狀態(tài)轉(zhuǎn)移矩陣;G(k)為測量矩陣;w(k)和v(k)為時刻噪聲分量。式(9)和式(10)建立了k 時刻狀態(tài)值、測量值與歷史信息之間的關(guān)系,通過迭代即可根據(jù)測量值序列估計出相應時間點上的狀態(tài)向量。迭代過程如下
其中,sk和s'k分別代表k 時刻狀態(tài)向量的預測值和估計值;Pk和P'k分別代表時刻預測和估計誤差的協(xié)方差矩陣;Q 和R 分別是w(k)和v(k)的協(xié)方差矩陣;αk是測量向量zk對應的信息過程;Kk是k 時刻卡爾曼增益。
由卡爾曼濾波的迭代過程可看出,狀態(tài)的每一次更新均是由前一次的估計值和當前的測量值計算得到的,當某次測量值存在較大NLOS 誤差時,后續(xù)的估計值也會受到較大影響,且卡爾曼濾波也將失去意義。因此,本文引入閾值T 用于判斷當前測量值誤差是否偏大。判斷方法為:將計算所得信息與預設(shè)閾值T 進行比較,若信息較大,則說明當前測量值誤差偏大,不應帶入卡爾曼濾波進行迭代,故而舍去此次測量值,直接用預測值代替當前時刻估計值;若信息較小,這說明當前測量值誤差在可接受范圍內(nèi),可帶入迭代過程計算當前估計值。另外,在本文研究的場景下,由于NLOS 為正向誤差,所以計算得到的估計值相對于真實值存在一定的正向偏差。因此,本文引入修正系數(shù)θ 對測量值進行NLOS 正向誤差修正,即將卡爾曼增益乘以修正系數(shù)θ 后再帶入迭代過程。針對上述兩點,本文改進了卡爾曼濾波算法,將原始算法迭代過程中式(14)修改為
綜上所述,本文算法中每一步迭代過程可描述如下:
步驟1 根據(jù)式(10)~式(12)計算出時刻狀態(tài)預測值sk、預測誤差協(xié)方差Pk、信息αk。
步驟2 將步驟1 中計算所得信息αk與預設(shè)閾值T進行比較,若αk<T,則根據(jù)式(16)計算卡爾曼增益值,并執(zhí)行步驟3,否則直接將Kk值設(shè)為0,并執(zhí)行步驟4。
步驟3 將2 中計算所得卡爾曼增益Kk值乘以修正系數(shù)θ。
步驟4 將卡爾曼增益值Kk帶入式(14)~式(15)中計算,可得出k 時刻狀態(tài)估計值s'k及估計誤差協(xié)方差P'k,進而實現(xiàn)對目標節(jié)點的定位。
由于本文算法只在得到信息過程后根據(jù)信息對卡爾曼增益值進行修正,算法的時空復雜度相對于原卡爾曼算法并未有明顯增加,從而保證了定位的時效性。
在Matlab7.11 仿真平臺上,對不同NLOS 誤差模型進行定位仿真,并分別采用累計分布函數(shù)(Cumulate Distribution Function,CDF)及均方根誤差(Root Mean Square Error,RMSE)作為評價算法定位性能的指標。其中,文獻[10]算法中假定誤差模型服從指數(shù)分布,即模型系數(shù)為1。由測量系統(tǒng)造成的誤差服從均值為0 的高斯分布,每次仿真獨立運行100 次。相鄰時刻位置移動閾值取10 m,修正系數(shù)θ 取0.9。
圖1 和圖2 為NLOS 誤差模型服從指數(shù)分布時,各算法性能比較。由圖可知,此模型下文獻[10]算法性能較好,這是因為該算法已假定NLOS 誤差模型服從指數(shù)分布,并直接將該已知誤差作為系統(tǒng)狀態(tài)變量對誤差進行消除。本文算法雖然相比文獻[10]算法較差,但較原始卡爾曼算法及文獻[11]算法更優(yōu),這是因為改進后算法對正向誤差作出了修正,并通過閾值設(shè)定避免了較大誤差測量值對定位結(jié)果的干擾。
圖1 NLOS 誤差模型服從指數(shù)分布時不同小區(qū)半徑下性能比較
圖2 NLOS 誤差模型服從指數(shù)分布時CDF 性能比較
圖3 和圖4 為NLOS 誤差模型服從均勻分布時,各算法性能比較。由圖可知,此模型下文獻[10]算法性能較差,這是因為該算法已假定NLOS 誤差模型服從指數(shù)分布,而事實上此時NLOS 誤差模型服從均勻分布。本文算法通過修正系數(shù)減小NLOS 引起的正向測量誤差,因此性能較原始卡爾曼算法及文獻[11]算法更優(yōu)。
圖3 NLOS 誤差模型服從均勻分布時不同小區(qū)半徑下性能比較
圖4 NLOS 誤差模型服從均勻分布時CDF 性能比較
圖5 和圖6 為NLOS 誤差模型服從Delta 分布時,各算法性能比較。由圖可知,此模型下文獻[10]算法性能較差,原因與上節(jié)相同。本文算法通過修正系數(shù)減小NLOS 引起的正向測量誤差,因此較原始卡爾曼算法及文獻[11]算法更優(yōu)。
由上述3 個不同誤差模型下仿真結(jié)果比較可知,文獻[10]算法在已知NLOS 誤差模型的前提下能夠極有效地抑制誤差,并獲得較高定位精度,但在誤差模型未知的情況下,其性能不佳,因此不適用于NLOS 誤差模型不確定的場景中。而文獻[11]算法與原始卡爾曼濾波算法均未考慮迭代過程中誤差的延續(xù)性,在NLOS 誤差嚴重的場景下不能保持較高精度。綜上所述,本文算法在NLOS 誤差嚴重且誤差模型不確定的場景下具有較好的綜合性能。
圖5 NLOS 誤差模型服從Delta 分布時不同小區(qū)半徑下性能比較
圖6 NLOS 誤差模型服從Delta 分布時CDF 性能比較
本文在基于TDOA 的無線定位算法中,提出了一種能有效抑制NLOS 誤差的卡爾曼濾波改進算法。通過研究誤差特性,針對較大NLOS 誤差會導致后續(xù)估計值均受嚴重影響引入信息閾值,而針對NLOS 誤差必為正向偏差的特性引入修正系數(shù),進而對卡爾曼濾波迭代過程進行改進,以獲得更準確的估計值。仿真結(jié)果表明,在NLOS 誤差嚴重且誤差模型不確定的環(huán)境下,本算法性能較其他基于卡爾曼濾波的定位算法有所提升。
[1] CAFFERY JR J,STUBER G L.Subscriber location in CDMA cellularnetworks[J].IEEE Transactions on Vehicular Technology,1998,47(2):406-416.
[2] MARILYNN P,WYLIE J H.The non-line of sight problem in mobile location estimation[C].5th IEEE ICUPC,1996(2):827-831.
[3] YANGSEOK J.Calibration of NLOS Error for Positioning Systems[R].USA:IEEE Vts Vtc 2001.
[4] DENG Pin,LIU Lin,F(xiàn)AN Pingzhi.An NLOS error mitigation scheme based on TDOA reconstruction for cellular location service[J].電波科學學報,2003,3(18):311-316.
[5] URRUELA H.NLOS mitigation based on a trellis search for wireless location[C].Proc.of the 6th IEEE Workshop on Signal Processing Advances in Wireless Communications,2005.
[6] MA Changlin.Non-line-of-sight error mitigation method for TOA measurements[J].IEEE Transactions on Vehicular Technology,2007,56(2):641-645.
[7] LI Cong,WEI Huazhuang.Non-line-of-sight error mitigation in tdoa mobile location[C].San Antonio USA:Proc.IEEE Globecom,2001:680-684.
[8] CHEN P C.A non-line-of-sight error mitigation algorithm on location estimation[C].New Orleans,USA:WCNC'99,1999:316-320.
[9] VENKATRAMAN S,CAFFERY J,YOU H R.Locating using LOS Range Estimation in NLOS Environments[C].UK:IEEE VTC'2002,2002:856-860.
[10]張美楊,季仲梅,王建輝.基于Kalman 濾波器的非視距誤差抑制算法[J].計算機工程,2010(11):291-292.
[11]孫克輝,蔡永棋.NLOS 環(huán)境下的卡夫曼濾波跟蹤定位算法[J].微計算機信息,2009(21):163-165.
[12]谷靜,李明遠.蜂窩移動通信網(wǎng)絡(luò)中的無線定位技術(shù)[J].現(xiàn)代電子技術(shù),2004(1):68-70.
[13]HALL D L,LINAS J.An introduction to multi-sensor data fusion[J].Signal Proceding IEEE,1997,85(7):6-23.