王震,郭建
(湘潭大學 物理與光電工程學院,湘潭 411105)
改進TDOA算法的UWB室內定位系統設計
王震,郭建
(湘潭大學 物理與光電工程學院,湘潭 411105)
提出了一種基于UWB的無線傳感器網絡室內定位系統的設計方案。通過錨節點與標簽節點信息交互,得到時間差,通過nRF24L01把時間差傳送給上位機,上位機利用改進的TDOA算法和卡爾曼濾波算法,計算出目標物體的位置,并在上位機中顯示出來。實驗結果表明,該系統最終使得室內定位的達到了20 cm左右,并且抗多徑能力強、穩定性高,為無線網絡傳感器定位提供了更多的參考。
室內定位;UWB;多徑干擾;卡爾曼濾波;TDOA算法
引 言
室內定位是一種對未知事物的位置進行預判的技術。室外定位有比較成熟的解決方案,如GPS(Global Position System,全球定位系統)、北斗通信等系統。然而室內定位的發展卻一直處在一個不斷探索的道路上,還沒有非常成熟的解決方案。目前,國內外的研究者針對室內定位,主要提出了兩種室內定位的思想。其一是根據目標物體上的信號接收器接收到周圍信號發射器的信號強度來確定目標物體的位置,稱為RSS[1](Received Signal Strength Indication,接收的信號強度指示)。此思想需要在定位的場景里放置一些信號發射器,主要用到了藍牙[2]、WiFi[3]、紅外線等方法,但是這些方法信號傳播距離短,易受環境的影響,功耗較高,且定位精度也不是很高,只能達到米級。其二是根據信號到達時間來確定目標物體的位置,稱為TOA[4](Time of Advent,到達時間),也需要在定位場景里放置一些發射基站,然后與目標物體上的接收器進行信息交互來獲得時間戳,主要用到的方法有RFID(Radio Frequency Identification,射頻識別)、超聲波、UWB[5](Ultra Wideband,超帶寬)等。其中RFID傳播距離短,且很難集成到設備中;超聲波受環境溫度影響大,成本非常高;本系統中用到的UWB技術抗多徑干擾能力強,功耗較低,成本不高,理論定位精度能達到厘米級別,對于搭建這種多點數據通信的室內定位平臺有著明顯的優勢。
本文中的定位系統采用的是一個上位機和多個下位機的結構,實現了目標物體的室內定位以及在上位機中顯示目標物體的置的功能。下位機負責獲取時間戳,上位機主要是負責計算位置和顯示目標物體的位置,上位機和下位機的通信通過nRF24L01實現。下位機的硬件部分是基于UWB(IEEE802.15.4)協議組成的無線傳感器網絡,包括4個錨節點(Anchor)、1個標簽節點(Tag),軟件部分主要是通過錨節點和標簽節點的信息交互來獲取時間戳,然后通過nRF24L01發送到上位機。上位機軟件通過串口接收到數據,并利用改進的TDOA定位算法和卡爾曼濾波算法計算并顯示出目標物體的位置。系統總體結構如圖1所示。

圖1 系統總體結構
本文中的定位系統是基于TDOA[6](Time Difference of Arrival,到達時間差)定位思想實現的,然而比較傳統的TDOA算法需要所有的錨節點在開始工作的時候實現時鐘同步。針對這一難題,本系統采用了改進的TDOA算法,并不需要所有的錨節點時鐘同步,使得工程的實現變得更加容易,但是面對室內復雜的環境,無線信號在空氣中傳輸過程中,不可避免地會遇到非視距障礙物阻擋產生誤差,針對這一問題,該系統中采用了卡爾曼濾波檢測算法來減小傳輸誤差,提高定位精度。
TDOA改進算法不同于標準TDOA算法之處在于,它不是通過電纜來進行時鐘同步,但它同時解決了時鐘同步的難題,使得錨節點的時鐘同步變得更加容易和方便。如圖2所示,Anchor1、Anchor2、Anchor3、Anchor4分別為4個錨節點,即發射基站節點,Tag1為標簽節點,即需要定位的目標物體。RA1T1、RA2T1、RA3T1、RA4T1分別表示4個錨節點到標簽節點的距離,RA1A3、RA1A4、RA1A2分別表示錨節點1到錨節點2、錨節點3、錨節點4的距離。

圖2 改進的TDOA算法網絡節點圖
首先,在系統啟動后,Anchor1發送一個信號到整個網絡,當Tag接收到Anchor1的信號后記錄此時的時間,其他Anchor接收到Anchor1的信號后,立馬發信號給Tag1,tn為第n個Anchor到達Tag1的時間 ,這樣就可以計算出Anchor2,Anchor3,Anchor4,…,Anchor n到Tag1的到達時間差(t2- t1),(t3- t1),(t4- t1),…,(tn- t1)。結合Anchor(Anchor事先擺放好的,可以通過實地測量獲得其坐標,一般以其中一個節點作為坐標原點)的坐標計算Tag1的坐標。對于改進的TDOA算法來說,Anchor1發射一個信號到整個網絡,此時Tag1通過本地時鐘記錄下各個Anchor的到達時間,這就等同于Anchor1的信號經過不同的途徑到達了Tag1,實現了發射節點的時鐘同步,改進的TDOA算法把時鐘同步在算法層實現了,所以沒有必要在各個錨節點之間部署網線或導線,從而實現了無線傳感器的部署,并且解決了時鐘同步的難題。
TDOA改進算法列出方程組如下:
(1)

然而面對室內復雜的環境,不管什么信號在室內傳輸過程中,都會遇到非視距的障礙物而產生阻擋誤差,針對這一問題,本系統采用了卡爾曼濾波錯誤檢測算法[7-8]來減小傳輸誤差。卡爾曼濾波的計算基于這樣一個假設,所有的測量結果都是由可加性高斯噪聲和真實信號組成的。如果假設成立,卡爾曼濾波可以有效地從含噪聲的測量結果中得到信號信息,然后設置一個時鐘偏離閾值,如果實際的時鐘偏差大于預測時鐘偏差的時鐘,就認為當前的獲得的定位值不可信,直接丟棄此次獲取的數據,進行下一次定位,從而減少定位的誤差。
3.1 錨節點和標簽節點框架
錨節點與標簽節點搭載的都是半導體公司DecaWave生產的DWM1000模塊,它可以工作在收發信號兩種狀態,并且可以通過控制相關寄存器的標志位來控制工作狀態的切換。DWM1000模塊集成了射頻無線電設計所需的全部元器件,包括DW1000芯片、天線、平衡-不平衡變換器、石英晶體及無源元件,均集成在一個23×13×2.9的24針側邊城堡形封(side-castellation package)。DWM1000有標準的SPI從接口,速率最高達20 MHz,易于與更多的微控制器結合,而且物理尺寸很少,非常容易集成實時定位系統(RTLS)和無線傳感器網絡。DW1000是一款符合IEEE802.15.4-2011標準的低能耗、低成本無線收發芯片,該芯片采用的是90 nm的CMOS工藝,數據傳輸高達6.8 Mb/s,可以工作在6個頻帶,脈沖持續時間非常短,同時帶寬比較寬,時間分辨率良好,因此抗多徑能力強,非常適合室內這種環境非常復雜的場景,可視距通信距離達到了300 m,DWM1000與MCU連接如圖3所示,即可以構成一個節點。
3.2 處理器模塊
DWM1000無線傳輸模塊,因為沒有集成微處理器,只能被動地工作,所有的工作內容都要通過DWM1000上的SPI接口與外部的微處理器相連來控制。本文系統中的節點MCU選用的是意法半導體公司推出的互聯型系類微控制器STM32F103RC,其使用高性能的ARMCortex-M3內核,工作頻率為72 MHz,內置有高達128 KB的閃存和20 KB的SRAM,豐富的I/O端口和連接到APB總線的外設。還包含標準和先進的通信接口:2個I2C接口和2個SPI接口、3個USART接口、1個USB接口和1個CAN接口,本系統中主要用到的是MCU的SPI的接口,DWM1000作為一個從設備通過SPI掛載在MCU上。如圖4所示為MCU外圍電路。

圖3 DWM1000與MCU連接示意圖

圖4 MCU外圍電路
3.3 數據傳輸模塊
為了提高上位機和下位機數據的傳輸速率,便于后續標簽節點的擴展,本系統采用Nordic公司推出的高集成單片無線收發芯片nRF24L01,實現了上位機和下位機之間數據的無線傳輸。nRF24L01為單片射頻收發芯片,可以實現多對一的傳輸,無線傳輸距離遠,其工作在2.4 GHz全球開放的ISM頻段,與UWB的頻段不會產生相互干擾,工作速率最高可以達到2 Mb/s,片內集成了頻率合成器、功率放大器、晶體振蕩器、調制器等功能模塊,采用高效的QFSK 調制,抗干擾能力非常強[9-10]。
時鐘晶振采用的是16 MHz的無源晶振,nRF2401采用的是單邊天線,天線的頻率和阻抗必須與射頻芯片匹配,以獲得最大的傳輸功率,減少不必要的損耗。天線的阻抗與射頻芯片不匹配,因此在外圍電路中接入了電感和電容等器件。nRF24L01芯片的外圍電路接口如圖5所示,nRF24L01芯片與MCU是通過SPI直連,有利于高低速單片機之間進行通信。上位機中通過PC軟件中的串口驅動程序讀取nRF24L01接收到的數據。

圖5 nRF24L01芯片的外圍接口電路
4.1 嵌入式軟件設計
本系統中采用的開發軟件為Keil公司的Keil uVision5,編程語言使用的是C語言,利用J-link進行板級的調試,跑在MCU中的嵌入式軟件代碼主要實現錨節點到標簽節點TOA的測量,然后將獲得的信息通過nRF24L01傳送到我們的上位機。
嵌入式軟件代碼的信息處理沒有運行實時操作系統的多線程,主要采用串行處理,單線結構。其中主要有STM32的復位模塊、系統始終時鐘配置模塊、定時器配置模塊、SPI和uart讀寫模塊、中斷處理模塊,還有通過MCU的SPI初始化DWM1000的代碼塊,配置其內部寄存器,使其工作在不同的模式。當DWM1000無線收發芯片收到信號的時候,會通過SPI向MCU發送中斷請求,然后主程序中的中斷執行程序會去判斷中斷的具體類型,接收數據的源地址,讀取數據TOA信息,然后將讀取的信息封裝通過nRF24L01發送給上位機。
4.2 上位機軟件設計
上位機軟件采用的是國外crazyfile團隊采用Python和Qt編寫的開源GUI(Graphical User Interface,圖形用戶接口),全部代碼開源,可以根據自己的想法進行界面的裁剪。主要功能包括串口數據的讀取和錨節點位置顯示,Anchor的具體位置是用戶自定義,需要事先場地測量,填寫在客戶端,實時顯示Tag的位置。該上位機軟件內嵌了改進的TDOA算法和卡爾曼濾波算法,提高了定位精度。如圖6所示,紅色代表的是錨節點,綠色代表被定位的標簽節點。

圖6 上位機示意圖
在一間9 m×12 m的房間內固定了4個錨節點,并選取錨節點2作為坐標原點,坐標為A2(0,0),錨節點1作為最初發射源,坐標為A1(3,4),剩余兩個錨節點坐標分別為A3(0,6)、A4(6,0);在x=y這條直線上選取10個點進行測試,并完成記錄,記錄結果如表1所列。共進行了9次待測點的測試,誤差在20 cm左右,可以滿足大部分的室內定位的要求。

表1 定位系統計算結果

[1] 方震,趙湛,郭鵬,等. 基于RSSI測距分析[J]. 傳感技術學報,2007(11):2526-2530.
[2] Oksar I. A Bluetooth signal strength based indoor localization method[J]. International Conference on Systems, 2014:251-254.
[3] Figuera C, Rojo-A Lvarez J L, Mora-Jime Nez I, et al. Time-Space Sampling and Mobile Device Calibration for WiFi Indoor Location Systems[J]. IEEE Transactions on Mobile Computing,2011,10(7):913-926.
[4] Caffery J J. A new approach to the geometry of TOA location[J].IEEE Vehicular Technology Conference, 2000(4):1943-1949.
[5] 王秀貞. 超寬帶無線通信及其定位技術研究[D].上海: 華東師范大學, 2010.
[6] Gustafsson F, Gunnarsson F. Positioning using time-difference of arrival measurements[J]. IEEE International Conference on Acoustics, 2003(6).
[7] 閆瀟,張洪順,宋琦軍,等.擴展卡爾曼濾波算法在UWB 定位中的應用[J].通信對抗,2009(1):26-28.
[8] 張桀, 沈重. 聯合TDOA改進算法和卡爾曼濾波的UWB室內定位研究[J]. 現代電子技術, 2016, 39(13):1-5.
[9] Semiconductor N.Single Chip 2.4 GHz Transceiver nRF24L01 [EB/OL].(2007-07-01)[2016-12].http://www.nordicsemi.com.
[10] 宏晶科技.STC90C51/RD+系列單片機器件手冊,2009.
王震(碩士研究生),主要研究方向為無線傳感器網絡系統等。
UWB Indoor Positioning System Based on Improved TDOA Algorithm
Wang Zhen,Guo Jian
(Faculty of Physics and Optoelectronic Engineeing,Xiangtan University,Xiangtan 411105,China)
In the paper,an indoor positioning system based on UWB wireless sensor network is proposed.the time difference is obtained through the interaction between the anchor node and the label node information,which is transmitted to the host computer by the nRF24L01.The host computer calculate the position of the target object using the improved TDOA algorithm and calman filtering algorithm,and is displayed in the computer.The experiment results show that the system ultimately makes the indoor positioning is about up to 20 cm or so,the system has anti-multipath capability and high stability,it provides more reference for the wireless sensor network positioning.
indoor location;UWB;multipath interference;Calman filter;TDOA algorithm
TN911.25
A
迪娜
2016-12-01)