陳志彬 宋金堂 張娜 喬怡豪
摘 要: 為了實(shí)現(xiàn)對(duì)移動(dòng)物體進(jìn)行定位,提高超聲波定位的精度,基于可編程邏輯門(mén)列陣(FPGA),設(shè)計(jì)一個(gè)SoC硬件測(cè)量平臺(tái),對(duì)超聲波信源到超聲波接收陣列的角度和距離測(cè)量實(shí)現(xiàn)高精度定位。為提高系統(tǒng)的測(cè)量精度,補(bǔ)償溫度對(duì)測(cè)量結(jié)果產(chǎn)生的影響,增加了溫度傳感器測(cè)量環(huán)境溫度。在程序設(shè)計(jì)上將TDoA與AoA融合,并結(jié)合MUSIC算法,以提高測(cè)量的精度。實(shí)際實(shí)驗(yàn)測(cè)量表明,該測(cè)量系統(tǒng)運(yùn)行穩(wěn)定可靠,測(cè)量速度快、精度高,有一定的實(shí)用性和推廣價(jià)值。
關(guān)鍵詞: 超聲波陣列; FPGA; TDoA; AoA; MUSIC; 測(cè)量系統(tǒng)
中圖分類號(hào): TN725.6?34; TB559 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2018)12?0028?04
Abstract: In order to realize the positioning of the moving object and improve the accuracy of ultrasonic positioning, a system on chip (SoC) hardware measurement platform is designed based on FPGA, on which high?precision positioning for the measurement of angle and distance from ultrasonic source to ultrasonic receiving array can be realized. To improve the measurement accuracy of the system and compensate the impact of temperature on measurement results, a temperature sensor is added to measure environment temperature. In the program design, time difference of arrival (TDoA) and arrival of angle (AoA) are fused, and combining with the multiple signal classification (MUSIC) algorithm, the measurement accuracy is improved. The actual experimental measurement results show that the measurement system operates stably and reliably, and has high measurement speed and accuracy, which has a certain practicality and promotion value.
Keywords: ultrasonic array; FPGA; TDoA; AoA; MUSIC; measurement system
0 引 言
距離和角度是確定兩個(gè)物體相對(duì)位置的量,傳統(tǒng)的定位方法包括衛(wèi)星定位、基站定位、RSSI、WiFi定位、UWB定位等。這些民用定位信號(hào)可以達(dá)到幾米到幾十米的精度。但是這些測(cè)量方式無(wú)法完成最后一段高精度測(cè)量。衛(wèi)星定位受云層和建筑遮擋,基站定位多徑干擾嚴(yán)重,無(wú)法完成最后一段高精度定位。傳統(tǒng)超速波定位只測(cè)量距離。沒(méi)有測(cè)量角度,導(dǎo)致測(cè)量精度低[1?3]。
本文基于FPGA硬件平臺(tái)設(shè)計(jì)一套超聲波陣列測(cè)量系統(tǒng),能夠通過(guò)藍(lán)牙先接收信源發(fā)來(lái)的同步信號(hào),并采用TDoA(Time Difference of Arrival )的方式分別測(cè)量出信源到每個(gè)陣元的距離,然后結(jié)合陣列的溫度補(bǔ)償出真正的距離,計(jì)算AoA(Arrival of Angle),最后結(jié)合MUSIC(Multiple Signal Classification)算法進(jìn)一步提高波達(dá)角的精度[4?7] 。
1 超聲波定位原理
超聲波一般是指頻率大于20 kHz的機(jī)械振動(dòng)波。超聲波測(cè)距可采用傳播時(shí)間檢測(cè)法進(jìn)行,即測(cè)量超聲波從發(fā)射換能器發(fā)出經(jīng)空氣傳播到接收換能器的傳播時(shí)間t,將t與其在空氣中的傳播速度v相乘,就得到超聲波此時(shí)的傳播距離S。由于超聲波在空氣中的傳播速度與溫度相關(guān)[8?10],則傳播距離為:
2 硬件系統(tǒng)設(shè)計(jì)
硬件系統(tǒng)由接收端和超聲波信源發(fā)射端組成。發(fā)射端由電源、MCU、溫度傳感器、超聲波發(fā)送模塊、藍(lán)牙測(cè)量同步等組成;接收端由電源、FPGA、多路溫度傳感器、超聲波陣列、藍(lán)牙測(cè)量同步等組成。具體接收定位系統(tǒng)如圖3所示。
2.1 超聲波發(fā)送系統(tǒng)
由于本文采用的是TDoA聲音單程傳播時(shí)間測(cè)距方式,所以采用一對(duì)藍(lán)牙4.2模塊做無(wú)線時(shí)間同步。前面分析電磁波傳播速度遠(yuǎn)大于聲音在空氣中的傳播速度,所以可以忽略同步傳播的時(shí)間,單片機(jī)在處理藍(lán)牙同步和發(fā)送超聲波的時(shí)間長(zhǎng)度為τ。實(shí)際設(shè)計(jì)要求定位距離小于8 m,在室溫為25 ℃時(shí),聲音在空氣中的傳播速度大約是340 m/s。從發(fā)送到接收,聲音最大渡越時(shí)間(單位:s)為:
所以設(shè)置發(fā)射端以10 Hz的頻率發(fā)送超聲波,供主機(jī)進(jìn)行連續(xù)的TDoA距離測(cè)量,進(jìn)而能提高測(cè)量速度,防止丟失信源。
2.2 超聲波接收測(cè)距定位系統(tǒng)
接收端采用LatticeXO2?4000 FPGA作為主處理器,開(kāi)發(fā)工具為L(zhǎng)attice公司的Diamond 3.8,使用該軟件為外部時(shí)鐘、超聲波陣列、溫度傳感器、藍(lán)牙等模塊分配管腳。為了方便將處理后的測(cè)量結(jié)果輸出,設(shè)計(jì)了一條通用SPI串行總線,這樣可以將測(cè)量結(jié)果傳到其他的MCU,DSP,F(xiàn)PGA中,供其二次開(kāi)發(fā)。FPGA的內(nèi)部框架設(shè)計(jì)如圖4所示。為了提高測(cè)量精度,通過(guò)CLOCK模塊將輸入的50 MHz時(shí)鐘倍頻到100 MHz。外部處理器可以通過(guò)SPI總線訪問(wèn)內(nèi)部寄存器,見(jiàn)表1。操作CDR(Control Data Reg)控制數(shù)據(jù)寄存器,可以對(duì)超聲波接收定位寄存器的工作模塊進(jìn)行設(shè)置。當(dāng)系統(tǒng)開(kāi)始測(cè)量時(shí),每一次測(cè)量的結(jié)果都會(huì)保存到各自的DR(Data Reg)數(shù)據(jù)寄存器中,而超聲波陣列每個(gè)陣元的工作狀態(tài)則保存到SR(Status Reg)狀態(tài)寄存器中。超聲波陣列(Ultrasonic Array)和溫度傳感器(Temperature Sensor)則將處理的結(jié)果發(fā)送到角度距離測(cè)量單元(Angle Distance Unit),通過(guò)優(yōu)化的TDoA與MUSIC算法計(jì)算出波達(dá),并將結(jié)果保存到各自的Data寄存器中。其他外設(shè)可以通過(guò)SPI總線連接到SPI BusBridge,讀寫(xiě)相應(yīng)的寄存器,控制片上系統(tǒng)實(shí)現(xiàn)測(cè)距和測(cè)量角度功能。
2.3 超聲波接收測(cè)距定位系統(tǒng)FPGA內(nèi)部寄存器設(shè)計(jì)
超聲波接收測(cè)距定位系統(tǒng)FPGA內(nèi)部寄存器設(shè)計(jì)如表1所示。
3 系統(tǒng)程序設(shè)計(jì)
本文設(shè)計(jì)的硬件平臺(tái)是Lattice XO2?4000 FPGA,使用Verilog語(yǔ)言設(shè)計(jì),程序流程圖如圖5所示。
首先上電初始化,包括時(shí)鐘倍頻、各寄存器初始化默認(rèn)值等;然后并行處理超聲波檢測(cè)和溫度檢測(cè)。超聲波陣列在接收到觸發(fā)脈沖時(shí)才會(huì)進(jìn)入接收模式,觸發(fā)脈沖有兩種方式觸發(fā),一種通過(guò)SPI訪問(wèn)控制寄存器強(qiáng)制觸發(fā),另一種是接收到信源通過(guò)藍(lán)牙發(fā)來(lái)的同步信號(hào)。超聲波陣列接收到觸發(fā)脈沖后,進(jìn)入接收模式,接收成功或者失敗,都會(huì)將結(jié)果更新到狀態(tài)寄存器和數(shù)據(jù)寄存器。同理將采集到的溫度值也保存到對(duì)應(yīng)的溫度寄存器中,以修正超聲波的傳播速度結(jié)果。TDoA/MUSIC將寄存器的結(jié)果提取出來(lái),計(jì)算出波達(dá)角度和距離,并保存到SPI數(shù)據(jù)寄存器中,更新SPI狀態(tài)寄存器,通知其他設(shè)備讀取結(jié)果。
4 實(shí)驗(yàn)測(cè)試結(jié)果
為了進(jìn)一步驗(yàn)證陣元目數(shù)和測(cè)量算法對(duì)超聲波陣列定位測(cè)量精度的影響,選取8 m×8 m矩形區(qū)域作為實(shí)驗(yàn)場(chǎng)地。按照上述的設(shè)計(jì)方法搭建實(shí)驗(yàn)平臺(tái)。陣元間距為5 mm,藍(lán)牙選擇NRF2832并燒錄串口透?jìng)鞴碳?,溫度傳感器為DS18B20。實(shí)驗(yàn)驗(yàn)證超聲陣列在區(qū)域內(nèi)隨機(jī)選取一點(diǎn)作為陣列接收點(diǎn),在選擇另外一點(diǎn)作為信源發(fā)射點(diǎn),測(cè)出相對(duì)接收陣列的角度與距離。表2~表4列出了測(cè)量結(jié)果。
5 結(jié) 語(yǔ)
本文提出一種以FPGA為核心的超聲波陣列測(cè)量定位系統(tǒng)。該系統(tǒng)采用先進(jìn)的MUSIC和TDoA算法,設(shè)計(jì)SOC硬件平臺(tái),使用藍(lán)牙4.2同步發(fā)送和接收。而且為了提高精度,采用超聲波陣列接收處理信源發(fā)來(lái)的信號(hào),由FPGA計(jì)算出信源相對(duì)陣列的距離和角度。實(shí)驗(yàn)表明,該系統(tǒng)具有測(cè)量精度高、速度快、性價(jià)比高等優(yōu)點(diǎn),因此具有一定的實(shí)用價(jià)值和推廣價(jià)值。
注:本文通訊作者為陳志彬。
參考文獻(xiàn)
[1] 劉哲,陳日林,滕鵬曉,等.基于平面?zhèn)髀暺麝嚵械穆曉炊ㄎ幌到y(tǒng)[J].聲學(xué)技術(shù),2011,30(2):123?128.
LIU Zhe, CHEN Rilin, TENG Pengxiao, et al. Sound source localization system based on planar microphone array [J]. Technical acoustics, 2011, 30(2): 123?128.
[2] 李昌祿,蘇寒松.超聲波定位系統(tǒng)的研究[J].實(shí)驗(yàn)室研究與探索,2013,32(2):39?44.
LI Changlu, SU Hangsong. An ultrasonic positioning system [J]. Research and exploration in laboratory, 2013, 32(2): 39?44
[3] 董永峰,王安娜,周艷聰,等.一種新的基于RFID的室內(nèi)移動(dòng)機(jī)器人自定位方法研究[J].計(jì)算機(jī)應(yīng)用研究,2016,33(3):749?753.
DONG Yongfeng, WANG Anna, ZHOU Yancong, et al. Research on novel self?localization method for indoor robot based on RFID [J]. Application research of computers, 2016, 33(3): 749?753.
[4] MEDINA C, SEGURA J C, TORRE A D L. Ultrasound indoor positioning system based on a low?power wireless sensor network providing sub?centimeter accuracy [J]. Sensors, 2013, 13(3): 3501?3526.
[5] 仲崇慶,楊錄,張艷花.高精度超聲回波渡越時(shí)間算法研究[J].儀表技術(shù)與傳感器,2016(3):108?110.
ZHONG Chongqing, YANG Lu, ZHANG Yanhua. Algorithm study of high?precision ultrasonic echo signals [J]. Instrument technique and sensor, 2016(3): 108?110
[6] 關(guān)維國(guó),高陽(yáng),姚清志.基于最優(yōu)線性無(wú)偏估計(jì)的TDOA定位算法[J].計(jì)算機(jī)應(yīng)用研究,2015,32(8):2472?2474.
GUAN Weiguo, GAO Yang, YAO Qingzhi. TDOA location algorithm based on best linear unbiased estimation [J]. Application research of computers, 2015, 32(8): 2472?2474.
[7] 寇海洲.基于超聲波的定位系統(tǒng)研究與實(shí)現(xiàn)[J].數(shù)據(jù)通信,2008,11(3):49?52.
KOU Haizhou. Research on localization algorithm of wireless sensor network based on ultrasonic [J]. Data communications, 2008, 11(3): 49?52.
[8] 楊秀增,楊仁桓.基于FPGA的高精度超聲波測(cè)距儀設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2017,40(1):137?139.
YANG Xiuzeng, YANG Renhuan. Design of high?precision ultrasonic range finder based on FPGA [J]. Modern electronics technique, 2017, 40(1): 137?139.
[9] 卜英勇,王紀(jì)嬋,趙海鳴,等.基于單片機(jī)的高精度超聲波測(cè)距系統(tǒng)[J].儀表技術(shù)與傳感器,2007(3):66?68.
BU Yingyong, WANG Jichan, ZHAO Haiming, et al. Ultrasonic distance measure system with high precision based on single?chip microcomputer [J]. Instrument technique and sensor, 2007(3): 66?68.
[10] 王浩,譚振文,王治彪,等.基于STM32的分體式超聲測(cè)距與目標(biāo)定位系統(tǒng)[J].儀表技術(shù)與傳感器,2017(2):58?61.
WANG Hao, TAN Zhenwen, WANG Zhibiao, et al. Separated ultrasonic ranging and targeting system based on STM32 [J]. Instrument technique and sensor, 2017(2): 58?61.
[11] 劉永勤.對(duì)稱矩陣特征值分解的FPGA實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2017,40(12):15?18.
LIU Yongqin. Implementation of symmetric matrix eigenvalue decomposition with FPGA [J]. Modern electronics technique, 2017, 40(12): 15?18.
[12] 何子述,黃振興,向敬成.修正MUSIC算法對(duì)相關(guān)信號(hào)源的DOA估計(jì)性能[J].通信學(xué)報(bào),2000,21(10):14?17.
HE Zishu, HUANG Zhenxing, XIANG Jingcheng. The performance of DOA estimation for correlated signals by modified MUSIC algorithm [J]. Journal of China Institute of Communications, 2000, 21(10): 14?17.