李園園,李勇
基于超寬帶通信的高精度定位系統(tǒng)設(shè)計(jì)
李園園,李勇
(中山職業(yè)技術(shù)學(xué)院,中山528404)
針對(duì)目前流行的室內(nèi)定位技術(shù)定位精度差的問題,提出了基于STM32F103RBT6和DecaWave的單片收發(fā)一體射頻芯片DW1000的超寬帶(UWB)通信定位方案,設(shè)計(jì)了系統(tǒng)的軟硬件,討論了相關(guān)定位算法。系統(tǒng)中被測節(jié)點(diǎn)(Tag)與錨節(jié)點(diǎn)(Anchor)通過雙向TDOA算法得到兩者之間的距離,Tag與多個(gè)Anchor的距離通過UWB通信被匯總至定位服務(wù)器,由定位服務(wù)器三角質(zhì)心定位算法測算出Tag的三維空間坐標(biāo)。實(shí)驗(yàn)結(jié)果表明,系統(tǒng)在LOS環(huán)境下具有較高的精度,在NLOS環(huán)境下也具有良好表現(xiàn)。
室內(nèi)定位;UWB;TDOA;三角質(zhì)心算法
無線定位技術(shù)是利用射頻信號(hào)和幾種常用定位算法,實(shí)現(xiàn)定位、追蹤和監(jiān)測特定目標(biāo)位置的技術(shù)。常見的定位技術(shù)有:①WiFi定位技術(shù),該技術(shù)前期在室外定位上應(yīng)用較多,但隨著GPS的普及,關(guān)于WiFi定位技術(shù)的研究轉(zhuǎn)移到室內(nèi)定位,主要特點(diǎn)是應(yīng)用成本低、定位空間廣,但定位精度不高,能達(dá)到以米為單位的定位精度[1];②藍(lán)牙定位技術(shù),主要適用于室內(nèi)定位,定位精度高于WiFi定位技術(shù),室內(nèi)環(huán)境對(duì)定位精度影響較大[2];③ZigBee定位技術(shù),該技術(shù)基于IEEE802.15.4標(biāo)準(zhǔn),ZigBee定位隨著物聯(lián)網(wǎng)技術(shù)的發(fā)展越來越受到關(guān)注,定位精度適中,可以實(shí)現(xiàn)以米為單位的定位精度[3];④UWB定位技術(shù),在理論上可獲得厘米級(jí)甚至更高的定位精度,在精確定位應(yīng)用中極具潛力,是當(dāng)前無線定位技術(shù)的研究熱點(diǎn)[4]。
通過檢測各移動(dòng)節(jié)點(diǎn)(Tag)到錨節(jié)點(diǎn)(Anchor)的距離和角度,使用三邊測量法、三角測量法或最大似然估計(jì)法計(jì)算標(biāo)簽節(jié)點(diǎn)位置。主要測距算法有:①TOA(Time Of Arrival),根據(jù)射頻信號(hào)從標(biāo)簽節(jié)點(diǎn)到錨節(jié)點(diǎn)的傳播時(shí)間來確定兩者之間距離[5];②TDOA[6](Time Difference Of Arrival),利用標(biāo)簽節(jié)點(diǎn)與各錨節(jié)點(diǎn)信號(hào)的到達(dá)時(shí)間差,以及本系統(tǒng)中所使用的雙向TDOA;③AOA(Angle Of Arrival),通過測量移動(dòng)節(jié)點(diǎn)與到達(dá)的錨節(jié)點(diǎn)信號(hào)角度來確定標(biāo)簽節(jié)點(diǎn)位置[7];④RSSI(Received Signal Strength Indication),通過測定移動(dòng)節(jié)點(diǎn)到達(dá)錨節(jié)點(diǎn)的信號(hào)強(qiáng)度來進(jìn)行位置確定[8]。
要在三維空間中實(shí)現(xiàn)定位,定位系統(tǒng)至少需要3個(gè)錨節(jié)點(diǎn)、1個(gè)被測移動(dòng)節(jié)點(diǎn)、1臺(tái)運(yùn)行定位算法的定位服務(wù)器,系統(tǒng)整體結(jié)構(gòu)如圖1所示。在三維空間中,錨節(jié)點(diǎn)被安裝在特定的已知位置,被測的移動(dòng)節(jié)點(diǎn)在三維空間中可以隨意移動(dòng)。被測移動(dòng)節(jié)點(diǎn)分別與各個(gè)錨節(jié)點(diǎn)之間采用TDOA算法確定兩者之間的距離,然后被測移動(dòng)節(jié)點(diǎn)將數(shù)據(jù)發(fā)送到定位服務(wù)器,由定位服務(wù)器根據(jù)定位算法計(jì)算出被測節(jié)點(diǎn)的空間位置[9]。錨節(jié)點(diǎn)與被測移動(dòng)節(jié)點(diǎn)以及定位服務(wù)器端的接收器,在系統(tǒng)中采用相同的硬件結(jié)構(gòu),由軟件分別實(shí)現(xiàn)不同的功能。
圖1 系統(tǒng)示意圖
系統(tǒng)中的的節(jié)點(diǎn)主要由系統(tǒng)電源管理部分、UWB射頻收發(fā)模塊、STM32主控部分構(gòu)成,如圖2所示。
圖2 節(jié)點(diǎn)硬件結(jié)構(gòu)圖
2.1電源管理系統(tǒng)
錨節(jié)點(diǎn)在定位系統(tǒng)空間布局完成后,位置基本不會(huì)再移動(dòng),故采用外部直流電源供電,而被測節(jié)點(diǎn)則位于空間中的不確定位置,故采用板載的鋰電池供電。電源管理系統(tǒng)實(shí)現(xiàn)電源的選擇,以及鋰電池的充電電路部分;同時(shí)該模塊連接射頻模塊與STM32模塊各自的LDO,給各模塊供電。電源管理系統(tǒng)電路圖如圖3所示。
圖3 電源管理系統(tǒng)電路
2.2UWB射頻收發(fā)模塊
UWB射頻收發(fā)模塊是本定位系統(tǒng)的核心部件,錨節(jié)點(diǎn)與移動(dòng)節(jié)點(diǎn)使用相同的電路,通過軟件來實(shí)現(xiàn)各自功能,錨節(jié)點(diǎn)與移動(dòng)節(jié)點(diǎn)間通過射頻通信以及雙向TDOA算法來測量兩節(jié)點(diǎn)之間的距離。
該模塊的主要電路原理圖如圖4所示,圖中的無線定位芯片DW1000是DecaWave發(fā)布的一款基于UWB技術(shù)的、兼容IEEE802.15.4-2011標(biāo)準(zhǔn)的射頻芯片,該芯片主要有以下特點(diǎn):單片芯片上集成遵循IEEE802.15.4-2011標(biāo)準(zhǔn)的低功耗UWB信號(hào)收發(fā)一體系統(tǒng);采用雙向TDOA測距算法,可使定位精度達(dá)到10 cm;可達(dá)6.8 Mbps的數(shù)據(jù)傳輸速率;支持較高的標(biāo)簽密度,在半徑20 m內(nèi)可容納11 000個(gè)定位標(biāo)簽;優(yōu)秀的抗多徑衰落能力,在高衰落環(huán)境仍可以進(jìn)行可靠的通信;超低功耗,可采用電池供電。
模塊中的DW1000所使用的晶振頻率為38.4 MHz,可由溫度補(bǔ)償晶體振蕩器(TCXO)直接通過XTAL1引腳提供振蕩源,但成本相對(duì)較高,本系統(tǒng)直接在XTAL1與XTAL2引腳間加入一個(gè)振蕩頻率為38.4 M Hz的石英晶振。對(duì)于石英晶體由于工藝產(chǎn)生的偏差,DW1000可通過fs_xtal寄存器進(jìn)行-20~20 ppm的補(bǔ)償,本系統(tǒng)選擇Geyer公司型號(hào)為kx5t的晶振。
DW1000正常工作電壓為3.3 V,部分片上資源可以直接由外部3.3 V供電,部分資源需通過片上LDO降壓至1.8 V供電,這些LDO需通過相關(guān)引腳外接去耦電容,如圖2中VDDDIG、VDDREG、VDDIF、VDDMS、VDDVCO、VDDCLK、VDDSYN均通過0.1μF的去耦電容接地。
芯片的射頻收發(fā)范圍為3~8 GHz,故系統(tǒng)中的平衡變壓器T1以及陶瓷天線在選型時(shí)均需考慮工作頻率,T1為TDK的HH M1595A1,陶瓷天線為Partron的ACS5200 HFAUWB。
馬卜子村位于大佘太鎮(zhèn)西部,全村村民以農(nóng)業(yè)種植為主業(yè),主要種植作物有玉米和葫蘆。2017年,時(shí)任駐村書記的楊森同志帶著幾個(gè)來自華南農(nóng)業(yè)大學(xué)作物營養(yǎng)與施肥研究室的技術(shù)人員來到村里,給農(nóng)民們做水肥管理技術(shù)培訓(xùn)?!八麄冋f要找?guī)讐K示范田,對(duì)水肥管理進(jìn)行全程的服務(wù)與跟蹤,開展‘精準(zhǔn)配肥’”,村民韓俊義告訴記者,“當(dāng)時(shí)負(fù)責(zé)對(duì)接落實(shí)這項(xiàng)工作的是村委會(huì)干部劉玉?!?/p>
DW1000有8個(gè)GPIO,且均可配置為第二功能,本系統(tǒng)中不作其他用途,連接至接線端子,作為備用。SPICSn、SPICLK、SPIMOSI、SPIMISO連接至主控芯片STM32F103RBT6中SPI模塊對(duì)應(yīng)的引腳,作為DW1000與STM32F103RBT6的通信接口。
2.3主控芯片
STM32主控部分通過SPI總線對(duì)DW1000模塊進(jìn)行配置管理以及數(shù)據(jù)通信,被測移動(dòng)節(jié)點(diǎn)還需要將距離數(shù)據(jù)打包,然后與定位服務(wù)器通信,定位服務(wù)器通過幾何算法確定移動(dòng)節(jié)點(diǎn)的最終位置。
系統(tǒng)中使用的控制芯片為意法半導(dǎo)體公司的STM32F103RBT6,該芯片基于32位Cortex M3內(nèi)核,最高工作頻率可達(dá)到72 MHz。該芯片具有以下特點(diǎn):具有128 KB的程序存儲(chǔ)空間,20 KB的SRAM空間;具有豐富的可編程I/O資源,以及A/D與D/A資源;多種通信接口,如SPI、I2C、UART以及CAN總線等接口;具有睡眠、停機(jī)和待機(jī)多種低功耗模式。根據(jù)以上特點(diǎn),主控部分可以盡量做到低功耗,占用較少尺寸的空間。
圖4 射頻原理圖
3程序與算法設(shè)計(jì)
本文以Keil4為平臺(tái)開發(fā)了錨節(jié)點(diǎn)與移動(dòng)節(jié)點(diǎn)的程序,系統(tǒng)整體軟件框架設(shè)計(jì)如圖5、圖6所示,軟件框架主要分為3層:用戶應(yīng)用層、DWM API業(yè)務(wù)層、設(shè)備驅(qū)動(dòng)層。其中DecaWare實(shí)現(xiàn)了DWM API業(yè)務(wù)層,以及驅(qū)動(dòng)層部分代碼。代碼設(shè)計(jì)主要集中在驅(qū)動(dòng)接口部分以及應(yīng)用層,錨節(jié)點(diǎn)和被測節(jié)點(diǎn)采用相同的硬件,區(qū)別主要在于程序部分。
3.1測距算法
算法執(zhí)行過程如下:
①Tag發(fā)送一條Poll給目標(biāo)Anchor節(jié)點(diǎn),并標(biāo)記發(fā)送時(shí)間Tsp,然后進(jìn)入開始偵聽Anchor的Response消息的狀態(tài),如果一段時(shí)間沒有消息,則Tag會(huì)超時(shí),并再次發(fā)出Poll消息。
②Anchor偵聽地址為自己的Poll消息,如得到消息,則標(biāo)記接收時(shí)間Trp,并發(fā)出Response消息給Tag,同時(shí)標(biāo)記發(fā)送時(shí)間Tsr。
③Tag收到Respond消息,標(biāo)記接收時(shí)間Trr,然后將Tsp、Trr、Tsf打包進(jìn)入一幀F(xiàn)inal Message發(fā)送給Anchor,其中Tsf為該消息的發(fā)送時(shí)間(DW1000特殊功能)。
④Anchor接收到Final Message后,就有足夠的信息計(jì)算出兩者的距離。
則單邊f(xié)light時(shí)間為:
兩節(jié)點(diǎn)間距離為:
3.2定位算法
由雙向TDOA算法測量Tag標(biāo)簽與3個(gè)Anchor標(biāo)簽的距離R1、R2、R3后,假設(shè)3個(gè)Anchor標(biāo)簽在空間中的坐標(biāo)已知,且分別為(x1,y1,z1)、(x2,y2,z2)、(x3,y3,z3),被測Tag標(biāo)簽坐標(biāo)未知,坐標(biāo)為(x,y,z),可以得到以下方程組,解出方程組的兩組解,再根據(jù)Anchor標(biāo)簽安裝位置,即可以篩選出Tag標(biāo)簽的坐標(biāo)。
圖5 錨節(jié)點(diǎn)程序流程
圖6 移動(dòng)節(jié)點(diǎn)程序流程
圖7 雙向TDOA算法
按照前文所述的軟硬件結(jié)構(gòu)搭建好系統(tǒng)并進(jìn)行環(huán)境設(shè)置后,分別進(jìn)行了Tag標(biāo)簽與Anchor標(biāo)簽之間的TDOA算法測試,以及整個(gè)系統(tǒng)三角質(zhì)心定位算法[10]測距,測試結(jié)果如表1所列。
表1 定位誤差測試表
從表中可以看出,UWB在直線測距中表現(xiàn)非常優(yōu)秀,而且有較好的抗多徑能力,定位算法的選擇也將影響實(shí)際的定位精度。
與同屬射頻信號(hào)的藍(lán)牙定位技術(shù)、ZigBee定位技術(shù)相比,UWB在定位精度上有著顯著的優(yōu)勢,隨著高精度室內(nèi)定位市場的開發(fā),UWB定位技術(shù)將受到更多的關(guān)注。
[1]李楨,黃勁松.基于RSSI抗差濾波的WIFI定位[J].武漢大學(xué)學(xué)報(bào):信息科學(xué)版,2016,41(3):361-365.
[2]蘇松,胡引翠,盧光耀,等.低功耗藍(lán)牙手機(jī)終端室內(nèi)定位方法[J].測繪通報(bào),2015(12):81-84.
[3]徐守志,祁永華,徐波,等.基于能量的zigbee定位算法研究[J].華中科技大學(xué)學(xué)報(bào):自然科學(xué)版,2013,41(增刊2):270-273.
[4]張令文,楊剛.超寬帶室內(nèi)定位關(guān)鍵技術(shù)[J].數(shù)據(jù)采集與處理,2013,28(6):706-713.
[5]姜志鵬,陳正宇,劉影,等.TOA定位算法非線性優(yōu)化問題研究[J].傳感技術(shù)學(xué)報(bào),2015,28(11):1716-1718.
[6]朱國輝,馮大政,周延,等.一種線性校正到達(dá)時(shí)間差定位算法[J].電子與信息學(xué)報(bào),2015,37(1):85-90.
[7]石雪軍,紀(jì)志成.基于射頻識(shí)別的室內(nèi)定位系統(tǒng)算法研究[J].系統(tǒng)仿真學(xué)報(bào),2015,27(6):1294-1230.
[8]譚志,張卉.無線傳感器網(wǎng)絡(luò)RSSI定位算法的研究與改進(jìn)[J].北京郵電大學(xué)學(xué)報(bào),2013,36(3):88-91.
[9]肖竹,王勇超,田斌,等.超寬帶定位研究與應(yīng)用:回顧和展望[J].電子學(xué)報(bào),2011,39(1):133-141.
[10]趙大龍,白鳳山,董思宇,等.一種基于卡爾曼和線性插值濾波的改進(jìn)三角質(zhì)心定位算法[J].傳感技術(shù)學(xué)報(bào),2015,28(7):1086-1090.
李園園(講師),研究方向?yàn)榍度胧较到y(tǒng)、移動(dòng)應(yīng)用技術(shù)等;李勇(工程師),研究方向?yàn)閳D像處理、嵌入式系統(tǒng)應(yīng)用。
High-precision Positioning System Based on Ultra-wide Band Communication
Li Yuanyuan,Li Yong
(Zhongshan Polytechnic,Zhongshan 528404,China)
Aiming at the limitation of the localization accuracy of several kinds of indoor positioning technology,a position system based on STM32F103RBT6 and DW1000 is proposed.The software and hardware are designed,and the location algorithm is discussed.The distance between the tag and the anchor is measured through the bidirectional TDOA algorithm,and which is aggregated to the location server by UWB communication,then the 3D space coordinates of tag are calculated by the triangle centroid algorithm.The experiment results show that the system has high precision both in LOS and NLOS environments.
indoor positioning;UWB;TDOA;triangle centroid algorithm
TN98
A
??薛士然
2016-03-14)