劉 暢,倪曉明,夏麗莉,于肇賢,石自輝,楊思琪
(1.北京信息科技大學(xué) 理學(xué)院,北京 100192;2.國(guó)電龍?jiān)措姎庥邢薰?,北?100039)
隨著無線通信技術(shù)和移動(dòng)互聯(lián)網(wǎng)的迅速發(fā)展,人們對(duì)定位服務(wù)也提出了更多要求。為實(shí)現(xiàn)室內(nèi)、室外定位服務(wù)的無縫銜接,高精度、低成本、適應(yīng)性強(qiáng)的室內(nèi)定位技術(shù)漸漸成為人們研究的重點(diǎn)。UWB技術(shù)是一種基于脈沖信號(hào)的無載波無線通信技術(shù),UWB 信號(hào)是帶寬大于500 MHz或基帶帶寬與載波頻率比值大于0.2的脈沖信號(hào),具有傳輸速率高、功率低、穿透能力強(qiáng)、定位精度高等優(yōu)點(diǎn),理論上其定位精度可以達(dá)到厘米級(jí),這使得它在室內(nèi)定位領(lǐng)域獨(dú)占鰲頭。
本文設(shè)計(jì)了基于UWB的室內(nèi)定位系統(tǒng),定位標(biāo)簽通過UWB信號(hào)與定位基站通信,實(shí)現(xiàn)定位標(biāo)簽的測(cè)距、定位。測(cè)距信息由定位基站上傳至服務(wù)器,由定位引擎采用定位算法進(jìn)行計(jì)算并加入改進(jìn)后的卡爾曼濾波算法,最終得出實(shí)時(shí)定位坐標(biāo)。
UWB室內(nèi)定位系統(tǒng)主要由標(biāo)簽、基站和顯示平臺(tái)組成。標(biāo)簽是以脈沖方式發(fā)射UWB信號(hào)的硬件裝置?;颈话卜旁跇?biāo)簽所在的室內(nèi)環(huán)境中,它在接收到UWB脈沖信號(hào)后,將信號(hào)傳送到服務(wù)器進(jìn)行算法解析,最終上傳至上位機(jī)平臺(tái)顯示。
基站在給定的時(shí)隙內(nèi)接收定位標(biāo)簽定位請(qǐng)求幀,記錄接收的定位請(qǐng)求幀時(shí)的自身時(shí)間、定位請(qǐng)求序號(hào)、發(fā)起定位請(qǐng)求標(biāo)簽的地址、發(fā)起定位標(biāo)簽的電池報(bào)警等信息。在一個(gè)定位周期結(jié)束后,各基站通過以太網(wǎng)把數(shù)據(jù)發(fā)送給定位引擎,發(fā)送的信息包括本基站與主基站的時(shí)間差,接收到的定位標(biāo)簽定位序號(hào),及接收到標(biāo)簽的時(shí)間等信息。
系統(tǒng)網(wǎng)絡(luò)模型如圖1所示。
圖1 系統(tǒng)網(wǎng)絡(luò)模型
定位基站系統(tǒng)框架如圖2所示。
圖2 定位基站系統(tǒng)框架
定位基站選用STM32F407VG主控芯片,使用Micro USB接口、外部電源、POE三種方式供電。RJ 45采用HR911105,以太網(wǎng)變壓器采用HR601680,以太網(wǎng)PHY芯片采用LAN8720,POE模塊采用WC-PD25D050LV,12 V寬范圍電源芯片采用LM22676。SDIO接口外接WiFi模塊,SPI口外接TF卡和DWM1000 模塊。由JTAG和SWD調(diào)試接口。
定位卡片的設(shè)計(jì)框架如圖3所示。
圖3 定位卡片設(shè)計(jì)框圖
定位標(biāo)簽采用DecaWave公司出品的DW1000芯片,主控芯片采用STM32L/F072低功耗單片機(jī),使用SPI與DWM1000模塊通信。采用鋰電池供電,使用Micro USB口對(duì)電池充電。使用Micro USB虛擬串口對(duì)標(biāo)簽進(jìn)行參數(shù)配置和程序更新。
TOA是基于信號(hào)到達(dá)時(shí)間的一種測(cè)距技術(shù),其實(shí)現(xiàn)原理是通過測(cè)取發(fā)射器發(fā)出信號(hào)到達(dá)接收器所需時(shí)間,再利用電磁波傳播時(shí)間與傳播距離間的數(shù)學(xué)關(guān)系計(jì)算兩基站間的距離,然后結(jié)合已知定位基站的位置信息確定定位目標(biāo)的位置。計(jì)算公式如下:
式中:t為采用TOA算法的傳輸時(shí)間;d為標(biāo)簽到基站的傳輸距離;c為空氣中的傳播速度。
基站獲取信號(hào)傳輸時(shí)延,需獲取標(biāo)簽的發(fā)射時(shí)間。所以標(biāo)簽和基站的時(shí)鐘應(yīng)該保持精準(zhǔn)同步。而硬件設(shè)備難以達(dá)到較高精度,且考慮到目標(biāo)信號(hào)在空氣中近似以光速傳播,所以微小的時(shí)間誤差會(huì)造成較大的距離估計(jì)誤差,導(dǎo)致定位失準(zhǔn)。針對(duì)此問題,可將發(fā)射和接收端的數(shù)據(jù)信號(hào)進(jìn)行差分處理,避免硬件設(shè)備的同步時(shí)鐘問題,以減少誤差的影響。
精準(zhǔn)的距離估算是實(shí)現(xiàn)高精度室內(nèi)定位系統(tǒng)的前提。通過記錄測(cè)距消息的收發(fā)時(shí)間戳來計(jì)算無線信號(hào)從基站到標(biāo)簽的傳播時(shí)間,最后用時(shí)間乘以光速得到信號(hào)傳播距離。
根據(jù)測(cè)距消息的傳輸方式不同可分為單向測(cè)距和雙向測(cè)距,其中單向測(cè)距中測(cè)距消息僅單向傳播,但為獲得設(shè)備間的飛行時(shí)間,需要雙方設(shè)備保持精確的時(shí)鐘同步,系統(tǒng)實(shí)現(xiàn)復(fù)雜度和成本較高。而雙向測(cè)距對(duì)雙方設(shè)備的時(shí)鐘同步無要求,系統(tǒng)實(shí)現(xiàn)復(fù)雜度和成本較低,因而采用雙向測(cè)距方案。
非對(duì)稱TWR的特點(diǎn)是無需進(jìn)行時(shí)鐘同步,且可以減少時(shí)鐘漂移和頻率漂移的影響,測(cè)量更精確。因此采用非對(duì)稱TWR方法,也可稱為雙邊雙向測(cè)距方法(Double-Sided Two-Way Ranging,DS-TWR),標(biāo)簽和基站需要進(jìn)行多次數(shù)據(jù)往復(fù)傳輸。
測(cè)距原理如圖4所示。
圖4 測(cè)距原理
Device A和Device B是UWB模塊。測(cè)距首先由A發(fā)起,B收到之后再發(fā)回一個(gè)響應(yīng)(Responds),A再接收該響應(yīng),完成一次測(cè)距。A和B每次發(fā)送數(shù)據(jù)和收到數(shù)據(jù)時(shí),都要記錄當(dāng)前時(shí)間戳,時(shí)間戳相減,就可以得到傳輸時(shí)間差。計(jì)算公式見式(2):
定位算法主要處理流程如圖5所示。
圖5 定位算法主要處理流程
TOA定位算法的基本原理:根據(jù)移動(dòng)標(biāo)簽到3個(gè)基站信號(hào)傳播的測(cè)距值,計(jì)算終端到3個(gè)基站間的距離c×t、c×t、c×t,然后求解交點(diǎn),實(shí)現(xiàn)對(duì)移動(dòng)標(biāo)簽的定位,可簡(jiǎn)稱為三點(diǎn)定位原理,用公式表示如下:
標(biāo)簽信號(hào)發(fā)射后,3個(gè)或3個(gè)以上基站接收到UWB信號(hào)后,以所得傳輸距離為半徑,以基站為圓心作圓,交叉點(diǎn)即為標(biāo)簽位置。
為了獲得更高精度的連續(xù)測(cè)距值以降低定位誤差,在UWB定位系統(tǒng)中采用卡爾曼濾波對(duì)原始測(cè)距值進(jìn)行濾波處理。
卡爾曼濾波利用某一時(shí)刻的實(shí)測(cè)值與前一時(shí)刻的先驗(yàn)估計(jì)值來預(yù)測(cè)當(dāng)前的狀態(tài),是一種經(jīng)典的遞歸濾波器,且計(jì)算復(fù)雜度較低,適合在本系統(tǒng)中應(yīng)用。
傳統(tǒng)的卡爾曼濾波方法分為預(yù)測(cè)和更新兩步:首先,需要進(jìn)行狀態(tài)預(yù)測(cè),預(yù)測(cè)過程主要包含狀態(tài)預(yù)測(cè)與誤差協(xié)方差預(yù)測(cè),具體表達(dá)形式為:
其次,需要進(jìn)行狀態(tài)更新。更新過程主要包含卡爾曼增益矩陣的計(jì)算以及狀態(tài)與誤差協(xié)方差矩陣的更新。
新息方程:
估計(jì)方程:
實(shí)際環(huán)境中存在各種障礙物,這些障礙物會(huì)對(duì)信號(hào)的正常傳播產(chǎn)生諸多影響,包括信號(hào)反射、衍射、多徑效應(yīng)等。信號(hào)非視距(Non Line of Sight,NLOS)傳播會(huì)對(duì)信號(hào)定位結(jié)果造成較大影響。
文獻(xiàn)[8]指出,木板、紙板、玻璃等遮擋物對(duì)UWB信號(hào)的傳輸無太大影響。但實(shí)體墻、鋼板、鋼筋混凝土等材料對(duì)UWB信號(hào)可造成較大衰減。人體的主要成分是水,水也分會(huì)吸收部分UWB信號(hào),從而影響定位。上述NLOS會(huì)導(dǎo)致定位誤差的增加,因此有效的NLOS誤差鑒別與處理是保證定位精度的必要措施。
本文在傳統(tǒng)卡爾曼濾波剔除標(biāo)準(zhǔn)偏差的基礎(chǔ)上,通過綜合判斷當(dāng)前測(cè)距值與上一采樣點(diǎn)卡爾曼濾波估計(jì)后測(cè)距值之差的絕對(duì)值是否大于測(cè)距環(huán)境判定閾值,從而判斷當(dāng)前時(shí)刻是否存在由于NLOS誤差引發(fā)的異常抖動(dòng)。根據(jù)閾值判斷出可能存在的NLOS誤差點(diǎn),進(jìn)行平滑處理。
偏差的影響需通過計(jì)算當(dāng)前測(cè)距值與上一個(gè)采樣卡爾曼濾波后的預(yù)測(cè)估計(jì)值之差,判斷其是否大于事先設(shè)定的閾值,如果存在NLOS誤差,將誤差m迭代到下一步進(jìn)行修正。
測(cè)試環(huán)境選擇了某個(gè)展示大廳,在大廳的16個(gè)位置安裝好基站,如圖5所示。展廳環(huán)境較為復(fù)雜,存在柱形障礙物、桌子及其他設(shè)備,人員走動(dòng)頻繁。實(shí)際環(huán)境及基站位置如圖6所示?;疚恢靡姳?所列。
圖6 環(huán)境及基站布局
表1 基站位置 m
選取大廳中的4個(gè)位置進(jìn)行靜態(tài)標(biāo)簽測(cè)試。本文對(duì)每個(gè)定點(diǎn)進(jìn)行1 min數(shù)據(jù)采集測(cè)試,每次測(cè)試后進(jìn)行晃動(dòng),并抽取部分?jǐn)?shù)據(jù)進(jìn)行誤差分析。
在衡量精度與誤差方面,采用歐氏距離偏差以及均方根作為標(biāo)準(zhǔn)。在二維平面下,預(yù)測(cè)點(diǎn)的歐氏距離偏差計(jì)算公式如下:
RMSE的計(jì)算方法如下:
式中:(x,y)為移動(dòng)標(biāo)簽的實(shí)際坐標(biāo);(x,y)為算法解析后的坐標(biāo)。
誤差及均方根誤差分析見表2所列。
表2 誤差及均方根誤差分析 m
標(biāo)簽靜態(tài)測(cè)試結(jié)果顯示,定位坐標(biāo)平均誤差在20 cm以下,說明本定位系統(tǒng)具有較高的定位精度。
標(biāo)簽初始位置設(shè)為東向,為地圖中服務(wù)臺(tái)位置,坐標(biāo)(24.5,15.66),然后手持標(biāo)簽在大廳中以2 m/s(人行走的正常速度)的速度按照預(yù)定方形軌跡進(jìn)行勻速直線移動(dòng)。圖7中軌跡即為上位機(jī)平臺(tái)定位解算后的運(yùn)動(dòng)軌跡。
圖7 NLOS消除前路徑圖
從圖7可以看出,大部分階段軌跡平滑,存在不超過20 cm的誤差,該階段標(biāo)簽與基站間無障礙物阻擋,為視距LOS路徑,不可避免。該類誤差通過卡爾曼濾波的方法即可剔除。
但由于NLOS的影響,圖中多次出現(xiàn)異常抖動(dòng),多徑效應(yīng)的影響明顯,實(shí)測(cè)距離值誤差較大,可看出部分采樣點(diǎn)誤差高達(dá)1~3 m。因此需要通過閾值判斷的方法改進(jìn)卡爾曼濾波方法,濾除NLOS誤差。
改進(jìn)卡爾曼濾波方法濾除NLOS后的軌跡如圖8所示。
圖8 改進(jìn)卡爾曼濾波方法濾除NLOS后的軌跡
根據(jù)上位機(jī)平臺(tái)顯示軌跡看出,經(jīng)過本文算法處理后的顯示軌跡與實(shí)際軌跡幾乎重合;經(jīng)過對(duì)NLOS誤差二次分析處理的定位結(jié)果精度得到了提升,異常抖動(dòng)去除明顯,平均誤差控制約為20 cm。由此可見,采用本文的定位方法能夠大幅提高精度,在室內(nèi)復(fù)雜環(huán)境中具有一定的應(yīng)用價(jià)值。
本文在實(shí)現(xiàn)完整的UWB室內(nèi)定位系統(tǒng)基礎(chǔ)上,將靜態(tài)人員定位誤差控制在20 cm以內(nèi),并在動(dòng)態(tài)標(biāo)簽運(yùn)動(dòng)情況中對(duì)存在的NLOS誤差做了進(jìn)一步消除,實(shí)驗(yàn)結(jié)果驗(yàn)證了本文設(shè)計(jì)方案具有一定的實(shí)用價(jià)值。但本文方案還未在非勻速狀態(tài)或存在動(dòng)態(tài)加速度的定位系統(tǒng)中加以測(cè)試驗(yàn)證。且NLOS的誤差在不同環(huán)境下會(huì)發(fā)生變化,在閾值設(shè)置和在更為復(fù)雜環(huán)境中如何調(diào)整是下一步將要重點(diǎn)研究的問題。