李園園,李勇
基于超寬帶通信的高精度定位系統設計
李園園,李勇
(中山職業技術學院,中山528404)
針對目前流行的室內定位技術定位精度差的問題,提出了基于STM32F103RBT6和DecaWave的單片收發一體射頻芯片DW1000的超寬帶(UWB)通信定位方案,設計了系統的軟硬件,討論了相關定位算法。系統中被測節點(Tag)與錨節點(Anchor)通過雙向TDOA算法得到兩者之間的距離,Tag與多個Anchor的距離通過UWB通信被匯總至定位服務器,由定位服務器三角質心定位算法測算出Tag的三維空間坐標。實驗結果表明,系統在LOS環境下具有較高的精度,在NLOS環境下也具有良好表現。
室內定位;UWB;TDOA;三角質心算法
無線定位技術是利用射頻信號和幾種常用定位算法,實現定位、追蹤和監測特定目標位置的技術。常見的定位技術有:①WiFi定位技術,該技術前期在室外定位上應用較多,但隨著GPS的普及,關于WiFi定位技術的研究轉移到室內定位,主要特點是應用成本低、定位空間廣,但定位精度不高,能達到以米為單位的定位精度[1];②藍牙定位技術,主要適用于室內定位,定位精度高于WiFi定位技術,室內環境對定位精度影響較大[2];③ZigBee定位技術,該技術基于IEEE802.15.4標準,ZigBee定位隨著物聯網技術的發展越來越受到關注,定位精度適中,可以實現以米為單位的定位精度[3];④UWB定位技術,在理論上可獲得厘米級甚至更高的定位精度,在精確定位應用中極具潛力,是當前無線定位技術的研究熱點[4]。
通過檢測各移動節點(Tag)到錨節點(Anchor)的距離和角度,使用三邊測量法、三角測量法或最大似然估計法計算標簽節點位置。主要測距算法有:①TOA(Time Of Arrival),根據射頻信號從標簽節點到錨節點的傳播時間來確定兩者之間距離[5];②TDOA[6](Time Difference Of Arrival),利用標簽節點與各錨節點信號的到達時間差,以及本系統中所使用的雙向TDOA;③AOA(Angle Of Arrival),通過測量移動節點與到達的錨節點信號角度來確定標簽節點位置[7];④RSSI(Received Signal Strength Indication),通過測定移動節點到達錨節點的信號強度來進行位置確定[8]。
要在三維空間中實現定位,定位系統至少需要3個錨節點、1個被測移動節點、1臺運行定位算法的定位服務器,系統整體結構如圖1所示。在三維空間中,錨節點被安裝在特定的已知位置,被測的移動節點在三維空間中可以隨意移動。被測移動節點分別與各個錨節點之間采用TDOA算法確定兩者之間的距離,然后被測移動節點將數據發送到定位服務器,由定位服務器根據定位算法計算出被測節點的空間位置[9]。錨節點與被測移動節點以及定位服務器端的接收器,在系統中采用相同的硬件結構,由軟件分別實現不同的功能。

圖1 系統示意圖
系統中的的節點主要由系統電源管理部分、UWB射頻收發模塊、STM32主控部分構成,如圖2所示。

圖2 節點硬件結構圖
2.1電源管理系統
錨節點在定位系統空間布局完成后,位置基本不會再移動,故采用外部直流電源供電,而被測節點則位于空間中的不確定位置,故采用板載的鋰電池供電。電源管理系統實現電源的選擇,以及鋰電池的充電電路部分;同時該模塊連接射頻模塊與STM32模塊各自的LDO,給各模塊供電。電源管理系統電路圖如圖3所示。

圖3 電源管理系統電路
2.2UWB射頻收發模塊
UWB射頻收發模塊是本定位系統的核心部件,錨節點與移動節點使用相同的電路,通過軟件來實現各自功能,錨節點與移動節點間通過射頻通信以及雙向TDOA算法來測量兩節點之間的距離。
該模塊的主要電路原理圖如圖4所示,圖中的無線定位芯片DW1000是DecaWave發布的一款基于UWB技術的、兼容IEEE802.15.4-2011標準的射頻芯片,該芯片主要有以下特點:單片芯片上集成遵循IEEE802.15.4-2011標準的低功耗UWB信號收發一體系統;采用雙向TDOA測距算法,可使定位精度達到10 cm;可達6.8 Mbps的數據傳輸速率;支持較高的標簽密度,在半徑20 m內可容納11 000個定位標簽;優秀的抗多徑衰落能力,在高衰落環境仍可以進行可靠的通信;超低功耗,可采用電池供電。
模塊中的DW1000所使用的晶振頻率為38.4 MHz,可由溫度補償晶體振蕩器(TCXO)直接通過XTAL1引腳提供振蕩源,但成本相對較高,本系統直接在XTAL1與XTAL2引腳間加入一個振蕩頻率為38.4 M Hz的石英晶振。對于石英晶體由于工藝產生的偏差,DW1000可通過fs_xtal寄存器進行-20~20 ppm的補償,本系統選擇Geyer公司型號為kx5t的晶振。
DW1000正常工作電壓為3.3 V,部分片上資源可以直接由外部3.3 V供電,部分資源需通過片上LDO降壓至1.8 V供電,這些LDO需通過相關引腳外接去耦電容,如圖2中VDDDIG、VDDREG、VDDIF、VDDMS、VDDVCO、VDDCLK、VDDSYN均通過0.1μF的去耦電容接地。
芯片的射頻收發范圍為3~8 GHz,故系統中的平衡變壓器T1以及陶瓷天線在選型時均需考慮工作頻率,T1為TDK的HH M1595A1,陶瓷天線為Partron的ACS5200 HFAUWB。
馬卜子村位于大佘太鎮西部,全村村民以農業種植為主業,主要種植作物有玉米和葫蘆。2017年,時任駐村書記的楊森同志帶著幾個來自華南農業大學作物營養與施肥研究室的技術人員來到村里,給農民們做水肥管理技術培訓。“他們說要找幾塊示范田,對水肥管理進行全程的服務與跟蹤,開展‘精準配肥’”,村民韓俊義告訴記者,“當時負責對接落實這項工作的是村委會干部劉玉?!?/p>
DW1000有8個GPIO,且均可配置為第二功能,本系統中不作其他用途,連接至接線端子,作為備用。SPICSn、SPICLK、SPIMOSI、SPIMISO連接至主控芯片STM32F103RBT6中SPI模塊對應的引腳,作為DW1000與STM32F103RBT6的通信接口。
2.3主控芯片
STM32主控部分通過SPI總線對DW1000模塊進行配置管理以及數據通信,被測移動節點還需要將距離數據打包,然后與定位服務器通信,定位服務器通過幾何算法確定移動節點的最終位置。
系統中使用的控制芯片為意法半導體公司的STM32F103RBT6,該芯片基于32位Cortex M3內核,最高工作頻率可達到72 MHz。該芯片具有以下特點:具有128 KB的程序存儲空間,20 KB的SRAM空間;具有豐富的可編程I/O資源,以及A/D與D/A資源;多種通信接口,如SPI、I2C、UART以及CAN總線等接口;具有睡眠、停機和待機多種低功耗模式。根據以上特點,主控部分可以盡量做到低功耗,占用較少尺寸的空間。

圖4 射頻原理圖
3程序與算法設計
本文以Keil4為平臺開發了錨節點與移動節點的程序,系統整體軟件框架設計如圖5、圖6所示,軟件框架主要分為3層:用戶應用層、DWM API業務層、設備驅動層。其中DecaWare實現了DWM API業務層,以及驅動層部分代碼。代碼設計主要集中在驅動接口部分以及應用層,錨節點和被測節點采用相同的硬件,區別主要在于程序部分。
3.1測距算法
算法執行過程如下:
①Tag發送一條Poll給目標Anchor節點,并標記發送時間Tsp,然后進入開始偵聽Anchor的Response消息的狀態,如果一段時間沒有消息,則Tag會超時,并再次發出Poll消息。
②Anchor偵聽地址為自己的Poll消息,如得到消息,則標記接收時間Trp,并發出Response消息給Tag,同時標記發送時間Tsr。
③Tag收到Respond消息,標記接收時間Trr,然后將Tsp、Trr、Tsf打包進入一幀Final Message發送給Anchor,其中Tsf為該消息的發送時間(DW1000特殊功能)。
④Anchor接收到Final Message后,就有足夠的信息計算出兩者的距離。
則單邊flight時間為:

兩節點間距離為:

3.2定位算法
由雙向TDOA算法測量Tag標簽與3個Anchor標簽的距離R1、R2、R3后,假設3個Anchor標簽在空間中的坐標已知,且分別為(x1,y1,z1)、(x2,y2,z2)、(x3,y3,z3),被測Tag標簽坐標未知,坐標為(x,y,z),可以得到以下方程組,解出方程組的兩組解,再根據Anchor標簽安裝位置,即可以篩選出Tag標簽的坐標。


圖5 錨節點程序流程

圖6 移動節點程序流程

圖7 雙向TDOA算法
按照前文所述的軟硬件結構搭建好系統并進行環境設置后,分別進行了Tag標簽與Anchor標簽之間的TDOA算法測試,以及整個系統三角質心定位算法[10]測距,測試結果如表1所列。

表1 定位誤差測試表
從表中可以看出,UWB在直線測距中表現非常優秀,而且有較好的抗多徑能力,定位算法的選擇也將影響實際的定位精度。
與同屬射頻信號的藍牙定位技術、ZigBee定位技術相比,UWB在定位精度上有著顯著的優勢,隨著高精度室內定位市場的開發,UWB定位技術將受到更多的關注。
[1]李楨,黃勁松.基于RSSI抗差濾波的WIFI定位[J].武漢大學學報:信息科學版,2016,41(3):361-365.
[2]蘇松,胡引翠,盧光耀,等.低功耗藍牙手機終端室內定位方法[J].測繪通報,2015(12):81-84.
[3]徐守志,祁永華,徐波,等.基于能量的zigbee定位算法研究[J].華中科技大學學報:自然科學版,2013,41(增刊2):270-273.
[4]張令文,楊剛.超寬帶室內定位關鍵技術[J].數據采集與處理,2013,28(6):706-713.
[5]姜志鵬,陳正宇,劉影,等.TOA定位算法非線性優化問題研究[J].傳感技術學報,2015,28(11):1716-1718.
[6]朱國輝,馮大政,周延,等.一種線性校正到達時間差定位算法[J].電子與信息學報,2015,37(1):85-90.
[7]石雪軍,紀志成.基于射頻識別的室內定位系統算法研究[J].系統仿真學報,2015,27(6):1294-1230.
[8]譚志,張卉.無線傳感器網絡RSSI定位算法的研究與改進[J].北京郵電大學學報,2013,36(3):88-91.
[9]肖竹,王勇超,田斌,等.超寬帶定位研究與應用:回顧和展望[J].電子學報,2011,39(1):133-141.
[10]趙大龍,白鳳山,董思宇,等.一種基于卡爾曼和線性插值濾波的改進三角質心定位算法[J].傳感技術學報,2015,28(7):1086-1090.
李園園(講師),研究方向為嵌入式系統、移動應用技術等;李勇(工程師),研究方向為圖像處理、嵌入式系統應用。
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)