童基均, 金利劍, 趙英杰, 高法欽, 柏雁捷
(浙江理工大學(xué) 信息學(xué)院, 浙江 杭州 310018)
隨著物聯(lián)網(wǎng)技術(shù)的發(fā)展以及室內(nèi)導(dǎo)航應(yīng)用的需求日益提高, 精確的室內(nèi)定位技術(shù)成為了各大研究機(jī)構(gòu)以及企業(yè)的研究熱點(diǎn). 但由于室內(nèi)無(wú)線環(huán)境復(fù)雜, 無(wú)線信道混亂, 原有的室內(nèi)定位方案無(wú)法滿足精度要求[1], 而基于超寬帶(Ultra Wideband, UWB)的室內(nèi)定位方案以其抗干擾、 抗多徑傳播能力強(qiáng)以及低功耗, 低成本, 高精度等特點(diǎn), 得到了越來(lái)越多人的關(guān)注[2]. 比如微軟室內(nèi)定位大賽是國(guó)際盛名的室內(nèi)定位大賽(MS Indoor LOC Competition), 從2014年開(kāi)始舉辦, 每年都能吸引大量的公司和高校團(tuán)隊(duì)參加, 其中基于UWB的室內(nèi)定位技術(shù)占據(jù)了半壁江山.
基于UWB室內(nèi)定位技術(shù)常用的方法有信號(hào)到達(dá)角度AOA, 信號(hào)到達(dá)時(shí)刻TOA, 信號(hào)到達(dá)時(shí)差TDOA和信號(hào)強(qiáng)度RSSI[3]. 其中AOA和RSSI方法單獨(dú)使用時(shí)在復(fù)雜的室內(nèi)環(huán)境下無(wú)法有效的保證定位精度, 一般作為T(mén)OA與TDOA的輔助方法使用[4-6]. 而TDOA是在TOA基礎(chǔ)上進(jìn)行改進(jìn)的方法, 具有定位精度高、 抗多徑能力強(qiáng)等特點(diǎn), 無(wú)需基站和移動(dòng)目標(biāo)時(shí)間上的嚴(yán)格同步, 實(shí)際應(yīng)用中更易實(shí)現(xiàn)[7]. 目前大部分基于UWB的室內(nèi)定位系統(tǒng)都是采用TDOA方法定位的.
目前, TDOA最常用的算法是Chan算法[8]. Chan使用了兩次最小二乘計(jì)算, 在定位基站個(gè)數(shù)大于4個(gè), 且在LOS環(huán)境下定位時(shí), 可以達(dá)到克拉美羅下限[9]. 但是, Chan算法對(duì)環(huán)境的依賴較高, 在定位范圍內(nèi)出現(xiàn)物體遮擋, 或在NLOS環(huán)境下時(shí), 定位誤差較大. 因此, 論文[10]提出了Chan算法與Taylor展開(kāi)法相結(jié)合的定位方法[10], 保證了Taylor算法的快速收斂. 此外, 論文[11]提出了利用卡爾曼濾波與Chan算法相結(jié)合的方法[11]. 文中比對(duì)了各種卡爾曼濾波算法與Chan算法結(jié)合運(yùn)算后的定位結(jié)果, 發(fā)現(xiàn)結(jié)合了卡爾曼濾波的定位算法精度更高, 可靠性更強(qiáng). 對(duì)于卡爾曼濾波的應(yīng)用, 論文[12]和[13]發(fā)現(xiàn)將時(shí)延信息通過(guò)卡爾曼濾波處理后再進(jìn)行定位, 可以獲得更高精度的定位結(jié)果[12,13].
當(dāng)傳統(tǒng)的卡爾曼濾波用于定位時(shí), 對(duì)于濾波所需要的協(xié)方差系數(shù)等先驗(yàn)知識(shí)難以準(zhǔn)確取得, 且在系統(tǒng)運(yùn)行過(guò)程中, 由于環(huán)境因數(shù)的改變或是基站長(zhǎng)時(shí)間運(yùn)行導(dǎo)致的測(cè)量結(jié)果發(fā)生溫漂等現(xiàn)象時(shí), 傳統(tǒng)的卡爾曼濾波無(wú)法有效應(yīng)對(duì)環(huán)境產(chǎn)生的干擾和測(cè)量值的變化. 因此本文提出了一種自適應(yīng)卡爾曼濾波算法, 可以根據(jù)歷史值估算測(cè)量誤差Rk和過(guò)程誤差Qk并自動(dòng)更新, 有效地減少了TDOA值誤差, 提高了定位精度.
傳統(tǒng)的卡爾曼濾波方法分為預(yù)測(cè)和更新兩步[14,15], 其中預(yù)測(cè)階段的步驟為
(1)
式中:xk為預(yù)測(cè)值;xk-1為上一時(shí)刻的值;Pk為誤差協(xié)方差矩陣;Fx為狀態(tài)變換矩陣;bk為控制輸入;uk為控制矩陣.
更新階段的步驟為
(2)
在卡爾曼濾波中,Qk和Rk分別為過(guò)程誤差和測(cè)量誤差的協(xié)方差矩陣, 但他們?cè)诂F(xiàn)實(shí)中很難精確求得, 且在系統(tǒng)運(yùn)行過(guò)程中也常常會(huì)發(fā)生變化, 從而影響定位精度. 對(duì)此我們使用了可以動(dòng)態(tài)調(diào)整Qk和Rk值的自適應(yīng)卡爾曼濾波算法. 通過(guò)極大似然準(zhǔn)則,Rk由式(3)計(jì)算得到
(3)
另有
(4)
式中:N表示了所需要考慮的歷史值的個(gè)數(shù). 因此測(cè)量誤差協(xié)方差矩陣Rk可以由式(5)計(jì)算得到
(5)
根據(jù)式(3)的方程組, 即可得出過(guò)程誤差協(xié)方差矩陣
(6)
為了方便計(jì)算, 將式(6)變形為
(7)
由式(2)可知
(8)
并且
(9)
由于誤差協(xié)方差矩陣Pk為對(duì)稱(chēng)矩陣, 因此過(guò)程誤差協(xié)方差矩陣Qk的計(jì)算過(guò)程可以表示為
(10)
本文設(shè)計(jì)的定位系統(tǒng)如圖 1 所示, 整個(gè)系統(tǒng)由時(shí)間同步基站, 定位基站, 移動(dòng)標(biāo)簽以及定位服務(wù)器組成. 同步基站負(fù)責(zé)基站之間的時(shí)間同步, 定位基站收到定位標(biāo)簽信息后, 通過(guò)以太網(wǎng)將各個(gè)標(biāo)簽的時(shí)間戳信息傳給定位服務(wù)器. 定位服務(wù)器根據(jù)各種定位算法計(jì)算出標(biāo)簽位置信息.
圖 1 基于TDOA的UWB定位系統(tǒng)架構(gòu)圖Fig.1 The schematic of UWB position system based on TDOA
圖 2 標(biāo)簽與基站實(shí)物圖Fig.2 The pictures of tags and base station
采用DecaWave公司生產(chǎn)的DW1000芯片, 通過(guò)STM32單片機(jī), 實(shí)現(xiàn)了移動(dòng)芯片和基站的設(shè)計(jì). 移動(dòng)標(biāo)簽使用了方便攜帶的陶瓷芯片, 如圖 2(a) 所示, 定位基站設(shè)計(jì)中增加了全向天線和增益電路, 如圖 2(b) 所示. 標(biāo)簽與基站都使用W5500以太網(wǎng)網(wǎng)絡(luò)模塊通過(guò)千兆交換機(jī)與定位服務(wù)器相連.
基站之間的時(shí)間同步方法有多種, 常用的有TWR測(cè)距方法、 SDS-TWR測(cè)距方法[16]和基于時(shí)差提取等方法[17]. 其中TWR測(cè)距方法與SDS-TWR測(cè)距方法需要計(jì)算出每個(gè)基站距離標(biāo)簽的距離后再計(jì)算距離差, 基站與標(biāo)簽之間的通信時(shí)間長(zhǎng)且容易造成碰撞, 本文中采用了基于時(shí)差提取的方法, 這種時(shí)鐘同步方案采用標(biāo)簽和基站之間的雙向握手通信, 因此基站之間不需要嚴(yán)格的參考時(shí)鐘, 并且增加定位基站數(shù)量并不會(huì)增加系統(tǒng)的同步時(shí)間以及復(fù)雜度. 其原理如圖 3 所示.
圖 3 時(shí)鐘同步時(shí)序圖Fig.3 Timing diagram of clock synchronization
圖 3 中, 標(biāo)簽Tag等間隔地發(fā)送定位信號(hào),T1,T2,T3分別為各基站接收到來(lái)自標(biāo)簽的定位信號(hào)到達(dá)時(shí)刻. 同步基站(Syn)接收到標(biāo)簽信號(hào)后延遲T秒發(fā)送信號(hào), 假定間隔T足夠大, 可以保證所有基站能夠接收完同步基站(Syn)發(fā)出的基準(zhǔn)信號(hào).T為設(shè)定的固定值.t1,t2,t3分別是BS1, BS2及BS3的開(kāi)始工作時(shí)間(未知量);S1,S2,S3是分別是BS1, BS2, BS3收到的來(lái)自同步基站(Syn)的基準(zhǔn)信號(hào)到達(dá)時(shí)刻;D1,D2,D3是同步基站(Syn)與定位基站BSi(i=1, 2, 3)之間的傳輸時(shí)延(同步基站(Syn)與定位基站位置固定, 該時(shí)延可計(jì)算得到); 則TDOA的值可由式(11)得到, 其中Tij表示信號(hào)從標(biāo)簽到定位基站BSi與定位基站BSj(i≠j)之間的TDOA值(時(shí)間差).
(11)
目前國(guó)內(nèi)定位算法大多數(shù)采用的是Taylor級(jí)數(shù)展開(kāi)法和Chan算法[18], 在其它方面如解混疊解交織等細(xì)節(jié)方面目前相關(guān)的跟蹤研究都很少見(jiàn)到. 該算法采用二次估計(jì)方法實(shí)現(xiàn)對(duì)MS位置的估計(jì), 計(jì)算簡(jiǎn)單、 定位精度高具有很大的實(shí)用價(jià)值[19]. 在二維定位中, 若要利用Chan算法進(jìn)行定位, 則基站數(shù)目必須大于等于4個(gè), 也即列出的方程粗個(gè)數(shù)必須大于未知數(shù)個(gè)數(shù). 如此才能充分利用Chan算法的定位優(yōu)勢(shì)[20]. 但Chan算法在非視距傳輸及信道性能較差的情況下, 定位精度會(huì)下降[21], 因此傳統(tǒng)的定位方法會(huì)在Chan算法之后使用Taylor級(jí)數(shù)展開(kāi)法[22]進(jìn)行一次次遞歸來(lái)逐步比較真實(shí)值.
在本文系統(tǒng)中, 將時(shí)延信息經(jīng)自適應(yīng)卡爾曼濾波處理后, 使用Chan算法進(jìn)行定位, 并將其與傳統(tǒng)的定位方法進(jìn)行對(duì)比.
定位服務(wù)器使用了4核8線程的英特爾i7-4790K處理器, 16 GB內(nèi)存. 所使用的定位程序在Visual Studio2015的平臺(tái)上開(kāi)發(fā), 使用了windows窗體控件及C#語(yǔ)言編寫(xiě), 運(yùn)行界面如圖 4 所示. 定位開(kāi)始前系統(tǒng)需要先輸入基站坐標(biāo), 其中左下方顯示標(biāo)簽坐標(biāo)信息, 右下方可以顯示運(yùn)動(dòng)軌跡, 可以直觀地展示標(biāo)簽的位置信息.
圖 4 上位機(jī)界面Fig.4 The GUI of application system
本實(shí)驗(yàn)在8 m×7 m大小的空曠室內(nèi)場(chǎng)地中進(jìn)行, 使用了4個(gè)定位基站, 放置在4個(gè)角落. 實(shí)驗(yàn)中將采用自適應(yīng)卡爾曼濾波的改進(jìn)定位方法與使用了Chan算法配合Taylor級(jí)數(shù)展開(kāi)法的傳統(tǒng)定位方法相比較, 分別測(cè)試了標(biāo)簽在固定位置時(shí)和在運(yùn)動(dòng)狀態(tài)下不同定位方法的定位精度. 在自適應(yīng)卡爾曼濾波算法的初始值設(shè)置中, 為了測(cè)試參數(shù)的校準(zhǔn)能力, 將過(guò)程誤差矩陣Qk、 測(cè)量誤差矩陣Rk和誤差協(xié)方差矩陣Pk的矩陣系數(shù)都設(shè)置為10. 狀態(tài)變換矩陣Fx為[1,1;0,1], 狀態(tài)轉(zhuǎn)移矩陣Hk為[1,0;0,0].
3.2.1固定標(biāo)簽定位
實(shí)驗(yàn)測(cè)定了定位標(biāo)簽在場(chǎng)地中4個(gè)位置的定位信息, 定位結(jié)果為: 其中的平均位置偏差為測(cè)出的目標(biāo)節(jié)點(diǎn)的位置與其實(shí)際位置的歐氏距離偏差, 每個(gè)位置分別測(cè)量了15次. 在標(biāo)簽靜止時(shí), 使用自適應(yīng)卡爾曼濾波后的定位結(jié)果與傳統(tǒng)定位方法的定位結(jié)果相比, 定位精度無(wú)太大變化, 但均方根誤差有了很大的提高. 說(shuō)明與傳統(tǒng)定位方法相比, 使用自適應(yīng)卡爾曼濾波算法優(yōu)化后, 定位結(jié)果更為穩(wěn)定.
表 1 兩種定位算法下的固定標(biāo)簽定位精度比較
3.2.2移動(dòng)標(biāo)簽定位
本文同時(shí)測(cè)試了標(biāo)簽在移動(dòng)狀態(tài)下的定位結(jié)果. 其結(jié)果如圖 5 所示, 其中粗線代表真實(shí)路徑, 細(xì)線為傳統(tǒng)的Chan算法與Taylor算法結(jié)合后測(cè)出的目標(biāo)節(jié)點(diǎn)的位置后形成的路徑, 點(diǎn)劃線表示定位基站測(cè)得的TDOA值經(jīng)自適應(yīng)卡爾曼濾波處理后再由Chan算法測(cè)出的目標(biāo)節(jié)點(diǎn)的位置后形成的路徑.
圖 5 定位系統(tǒng)軌跡圖(m)Fig.5 The track of positioning system(m)
將采樣點(diǎn)坐標(biāo)與行走軌跡曲線之間的距離定義為測(cè)量偏差, 對(duì)比分析每一條行走路徑的定位偏差, 結(jié)果如表 2 所示. 其中的平均位置偏差為測(cè)出的目標(biāo)節(jié)點(diǎn)的位置與其實(shí)際位置的歐氏距離偏差.
表 2 兩種定位算法下的移動(dòng)標(biāo)簽定位精度比較
由此可以看出, 標(biāo)簽運(yùn)動(dòng)時(shí)使用了自適應(yīng)卡爾曼濾波后的定位結(jié)果比傳統(tǒng)的定位方法精度更高, 且提高了定位的穩(wěn)定性.
本文采用了自適應(yīng)卡爾曼濾波和 Chan算法結(jié)合的定位算法. 利用自適應(yīng)卡爾曼濾波的參數(shù)自我調(diào)整的能力, 減少了環(huán)境變化和系統(tǒng)偏差所帶來(lái)的定位誤差, 極大程度地提高了定位性能. 實(shí)驗(yàn)中利用射頻芯片 DW1000 作為脈沖超寬帶技術(shù)的硬件基礎(chǔ)搭建定位系統(tǒng), 并在空曠環(huán)境下進(jìn)行定位試驗(yàn). 試驗(yàn)結(jié)果表明: 采用自適應(yīng)卡爾曼濾波后的定位方法相比于傳統(tǒng)的定位方法, 具有更高的定位精度和更好的穩(wěn)定性, 在動(dòng)態(tài)定位中平均偏差可以達(dá)到10 cm的誤差, 而在靜態(tài)定位中則可以達(dá)到5 cm以內(nèi).
參考文獻(xiàn):
[1]劉德亮. 室內(nèi)環(huán)境下無(wú)線定位關(guān)鍵技術(shù)研究[D]. 天津: 天津大學(xué), 2015.
[2]賀晶晶, 姜平, 馮曉榮. 基于UWB的無(wú)人運(yùn)輸車(chē)的導(dǎo)航定位算法研究[J]. 電子測(cè)量與儀器學(xué)報(bào), 2016(11): 1743-1749.
He Jingjing, Jiang Ping, Feng Xiaorong. Research on navigation and positioning algorithm for unmanned vehicle based on UWB[J]. Journal of Electronic Measurement and Instrumentation, 2016, 30(11): 1743-1749. (in Chinese)
[3]Gezici S, Tian Z, Giannakis G B, et al. Localization via ultra-wideband radios: a look at positioning aspects for future sensor networks[J].IEEE signal processing magazine, 2005, 22(4): 70-84.
[4]Shang F, Champagne B, Psaromiligkos I. Joint TOA/AOA estimation of IR-UWB signals in the presence of multiuser interference[Z]. 2014.
[5]Shang F, Champagne B, Psaromiligkos I N. A ML-Based Framework for Joint TOA/AOA Estimation of UWB Pulses in Dense Multipath Environments[J]. IEEE Transactions on Wireless Communications, 2014, 13(10): 5305-5318.
[6]Hanssens B, Plets D, Tanghe E, et al. An indoor localization technique based on ultra-wideband AoD/AoA/ToA estimation[Z]. 2016.
[7]馬麗, 張蕊萍, 杜國(guó)璋. 基于 TDOA 的列車(chē)無(wú)線定位方法研究[J]. 鐵道標(biāo)準(zhǔn)設(shè)計(jì), 2016, 60(7): 154-158.
Ma li, Zhang Ruiping, Du Guozhang. Study on TDOA-based wireless train positioning method[J]. Railway Standard Design, 2016, 60(7): 154-158. (in Chinese)
[8]仲江濤. 基于UWB室內(nèi)定位算法的研究與實(shí)現(xiàn)[D]. 深圳: 深圳大學(xué), 2017.
[9]倪磊磊, 楊露菁, 蔡時(shí)超, 等. 基于 TDOA 的 Chan 定位算法仿真研究[J]. 艦船電子工程, 2016, 36(5): 92-95.
Ni Leilei, Yang Lujing, Cai Shichao, et al. Simulation of Chan positioning algorithm based on TDOA[J]. Ship Electronic Engineering, 36(5): 92-95. (in Chinese)
[10]Huan L, Bo R. Wireless location for indoor based on UWB[Z]. IEEE, 2015.
[11]Li X, Yang S. The indoor real-time 3D localization algorithm using UWB[Z]. IEEE, 2015.
[12]Xu Y, Shmaliy Y S, Li Y, et al. UWB-based indoor human localization with time-delayed data using EFIR filtering[J]. IEEE Access, 2017(5): 16676-16683.
[13]王長(zhǎng)強(qiáng), 徐愛(ài)功, 隋心. UWB測(cè)距的NLOS誤差削弱方法[J]. 導(dǎo)航定位學(xué)報(bào), 2017(3): 24-27.
Wang Changqiang, Xu Aigong, Sui Xin. A method of NLOS error inhibition for UWB ranging[J]. Journal of Navigation and Positioning, 2017, 5(3): 24-27. (in Chinese)
[14]Welch G, Bishop G. An introduction to the Kalman filter[EB/OL]. Dept.Comput.Sci.,Univ. North Carolina, Chapel Hill, Tech. Rep. TR95041, 2006、.
[15]Khan M, Kai Y D, Gul H U. Indoor Wi-Fi positioning algorithm based on combination of Location Fingerprint and Unscented Kalman Filter[Z]. 2017.
[16]孫小文, 張小超, 趙博, 等. 農(nóng)資倉(cāng)儲(chǔ)脈沖超寬帶室內(nèi)定位系統(tǒng)設(shè)計(jì)與試驗(yàn)及誤差分析[J]. 農(nóng)業(yè)工程學(xué)報(bào), 2017(S1): 23-29.
Sun Xiaowen, Zhang Xiaochao, Zhao Bo, et al. Design, experiment and error analysis of impulse radio-ultra wide band indoor positioning system used in agricultural warehousing[J]. Transactions of the Chinese Society of Agricultural Engineering, 2017(S1): 23-29. (in Chinese)
[17]Djaja-Josko V, Kolakowski J. A new method for wireless synchronization and TDOA error reduction in UWB positioning system[Z]. 2016.
[18]江鳳, 吳飛, 王昌志. 基于CHAN與粒子群算法的協(xié)同定位研究[J]. 電子科技. 2017(08): 1-5.
Jiang Feng, Wu Fei, Wang Changzhi. Research on collaborative localization based on CHAN and particle swarm optimization algorithm[J]. Electronic Science and Technology, 2017(08): 1-5. (in Chinese)
[19]Liu J, Wu Z, Yin Z. An improved location algorithm in Wireless Sensor Network[Z]. 2013.
[20]朱彩杰. 基于UWB室內(nèi)定位跟蹤算法的對(duì)比分析[C]. 中國(guó)衛(wèi)星導(dǎo)航學(xué)術(shù)年會(huì), 上海: 2017.
[21]趙宏旭, 楊文帥. 基于TDOA的Chan算法和Taylor算法的分析與比較[J]. 電子世界, 2017(9): 176-177.
Zhao Hongxu, Yang Wenshuai. Analysis and comparison of Chan algorithm and Taylor algorithm based on TDOA[J]. Electronics World, 2017(9): 176-177. (in Chinese)
[22]王磊, 李鵬濤, 賈宗璞. 基于全質(zhì)心-Taylor的UWB室內(nèi)定位算法[J]. 傳感器與微系統(tǒng), 2017(6): 146-149.
Wang Lei, Li Pengtao, Jia Zongpu. UWB indoor localization algorithm based on full centroid and Taylor[J]. Transducer and Microsystem Technologies, 2017(6): 146-149. (in Chinese)