張德立 牛 瑞 廖長榮
(1、重慶市第一中學校,重慶 400030 2、重慶文理學院,重慶 402160)
隨著5G 時代的到來和智慧城市建設的提出,位置信息備受人們關注。定位技術按照定位范圍的大小可分為廣域定位和局域定位兩類,廣域定位技術已經相對成熟,但在室內或不空曠地帶由于衛星定位信號受到建筑物或樹木的遮擋,經常出現定位不準或無法定位的情況,無法滿足局域定位的需求,因此,室內定位技術逐步成為工業和學術界發展的熱點,高精度的室內定位具有重要的價值和意義[1]。
目前已經進入商業化應用的室內定位技術方案并不多,主要是基于WLAN 定位、藍牙定位、紅外線定位和超寬帶定位。超寬帶定位(UWB 定位)技術具有定位距離遠、精度高、穩定性強等優點,是室內定位技術研究與發展的方向[2-3]。
本室內定位系統設計采用基于DW1000 芯片的UWB 定位技術,UWB 定位需要不斷的收發極窄的脈沖信號,信號一般在納秒級,通過計算接收到信號的時間差實現定位,需要提前安裝信號發射源作為基站或標簽,測得不同標簽和基站距離即可實現多地址定位。
本設計室內定位系包含由DW1000 測距芯片的硬件和對距離信息實時計算分析的軟件系統。整個室內定位系統由基站和標簽組成,本室內定位系統采用四個基站加兩個標簽組合。系統的總體構架如圖1 所示。
1.1.1 基站(ANTHOR)
四個基站需要固定在室內場所的某個角落,基站的選址應盡量防高,中間無障礙物遮擋,在軟件系統中設定四個基站間準確的距離,選擇空間坐標的原點?;疽坏腢WB 信號模塊接收到來自標簽的UWB 信號后,將信號轉化位數字信息發送給STM32F1 微處理器(MCU)進行數據處理,MCU 根據得到的數字信息計算出基站一到標簽的距離diss1,其他三個基站的距離按相同原理獲得,MCU 收到標簽到四基站的距離后,軟件系統開始對距離信息處理,計算出標簽的三維坐標。
1.1.2 標簽(TAG)
標簽的主要作用是以非常高的頻率向周圍的基站不斷發送UWB 信號,只要標簽在基站所覆蓋的范圍內,就可實時定位。標簽的軟件系統中設定不同的ID 號,為保證定位的準確性,必須設定一個主標簽,從標簽可按需求增加。
二維的平面定位至少需要用到三個基站,一個標簽;三維的空間定位至少需要四個基站,一個標簽。
室內定位系統主要由DW1000 測距模塊、顯示電路模塊、電源管理模塊和單片機最小系統構成,系統的整體結構如圖2 所示,程序中將DW1000 設置不同的工作模式,因此基站和標簽的硬件相同。
DW1000 芯片的信號收發電路是室內定位系統中最重要的一份部分,DW1000 信號收發電路部分的主要功能是接收和發送UWB 信號,計算基站和標簽之間的距離,該硬件的布局和天線的設計直接影響到定位的精度和定位靈敏性。DW1000 信號收發模塊原理圖如圖3 所示[5-6]。

圖3 DW1000 信號收發電路
MCU 采用STM32F103C8T6 單片機,該單片機擁有SPI 總線接口,以Cortex-M3 為內核,程序的存儲器容量達64KB,工作電壓在2V~3.6V,可與DW1000 芯片一樣使用3.3V 電源供電。其工作頻率達72MHz,對DW1000 芯片測距幾乎不會造成誤差影響[7]。
系統軟件設計主要實用MATLAB 和Keil uVsion5 兩個軟件,將定位算法首先在MATLAB 軟件中測試,待定位算法測試通過以后,將算法內容用C 語言方式表達出來,C 程序在Keil uVsion5 平臺上編寫,下載到STM32F1 單片機中。程序主要計算定位模塊傳來的標簽距離信息實現最終定位[13]。
系統啟動后MCU 和外設進行初始化,再判斷模塊的工作模式,如果為工作模式標簽,則發送定位信號,如果工作模式為基站,則接收定位信息,最后將發送和接收的信息返回給標簽進行處理,計算出位置坐標信息。
標簽和單片機之間采用SPI 串口通信,通信過程主要經過三個階段,初始化時序階段,讀時序階段和寫時序階段[14]。首先DW1000 芯片進行初始化,進入發送模式,即標簽模式。DW1000芯片在MCU 的控制下,嚴格按照高八位地址,第八位數據的規則和時序先后順序進行數據傳輸,否則會出現讀寫失敗或數據亂碼。
與標簽工作流程相似,單片機與基站之間采用SPI 通信。MCU 和DW1000 芯片初始化,工作模式設為基站模式,即接收狀態。MCU 檢測是否收到由標簽發送的連接數據,接收到連接數據后,MCU 控制DW1000 接收來自標簽的UWB 位置信息數據,通過SPI 串口,MCU 將接收到的UWB 信息進行定位算法分析,計算標簽的位置坐標,并將計算出的距離信息再次返還給基站,基站在顯示屏上顯示離標簽的距離。
卡爾曼濾波(Kalman 濾波)是一種線性系統的狀態方程組,它根據系統的輸入量和輸出量數據,推測預算系統下一步即將輸出的數據,得出一種對系統下一步狀態進行估算的最優方法??柭鼮V波主要有兩個過程,預測過程和濾波過程。預測過程是根據K 點的狀態對k+1 點的狀態進行估計,預測過程會增大狀態量的不確定性;濾波過程是剔除數據中的其他雜波,留下最主要最真實的數據,提高數據準確性。
隨著科技的發展,用編程的方法實現卡爾曼濾波技術已經非常成熟,通過編程實現卡爾曼濾波,可對現場采集的數據組進行實時處理,目前在導航、通信、控制等領域都有著廣泛的應用。
系統測試分為測距測試和三維定位測試。系統總共4 個基站,基站的位置固定不動,在測距測試中使用一個基站加一個標簽組合,測出測距范圍,即最小測距距離和最大測距距離。定位測試和測距測試一樣,分別測試兩個不同ID 號的標簽在基站中的位置坐標準確度。
測距范圍測試,基站和標簽的距離從0 開始以5m 遞增,記錄測量值以及最大測距范圍。
將表1 中的10 組數據繪制曲線圖,曲線圖如圖4 所示。用MATLAB 軟件分別繪制實際距離曲線(圖4 中偏上方曲線)和測量距離(圖4 中偏下方曲線)曲線,兩條曲線基本重合,當測量距離超過40m 時,測量結果會出現明顯偏差,主要是因為測量距離超出系統UWB 信號發送的范圍。

表1 測距結果統計表

圖4 測距測試結果曲線圖
固定四個基站的位置,測試標簽的平面坐標。4 基站坐標分別為A0(0,0,0),A1(8,0,0),A2(0,5,0),A4(0,0,3),標簽坐標為T(X,Y,Z),R1,R2,R3 分別為標簽到基站的距離。
將表2 中的8 組數據繪制三維定位曲線圖,曲線圖如圖5所示。

表2 三維定位測試結果統計表

圖5 三維定位測試結果曲線圖
測距的最大距離是40m,平面定位精度為低于7-8cm,三維定位精度為9cm,低于10cm,滿足設計要求。系統定位范圍在5-30m 范圍內,定位效果最佳,超過40m,定位誤差逐漸增大,超過45m 無法實現定位。
本文設計一款基于DW1000 的高精度室內定位系統,該系統對定位算法的精確性和硬件的設計及時鐘精確同步都有著非常高的要求,系統的三維定位能精確測得標簽的高度,有著巨大的市場應用前景。