陶冶博,鄭潔霽,張越,羅必露,楊志超,葛永彥
(嘉興職業(yè)技術(shù)學(xué)院,浙江嘉興,314036)
為了實現(xiàn)基于TDOA 聲源定位算法的激光武器狙擊手攻擊系統(tǒng),本文以STM32 單片機為主控制器,以駐極體麥克風(fēng)為聲音檢測傳感器,利用TDOA 算法實現(xiàn)音源的坐標(biāo)測量,距離測量誤差小于±0.1m,角度測量誤差小于±1°,測量時間不超過2s。此外,本系統(tǒng)可以用激光指示出聲源所在位置,模擬使用激光武器打擊目標(biāo)。
時差到達(dá)(Time Difference of Arrival,TDOA)算法是一種用于測量信號源位置的技術(shù),其基本原理是通過分析信號在不同接收器之間的到達(dá)時間差來確定信號源的位置。TDOA 算法常用于定位聲音、雷達(dá)信號、通信信號等各種信號源的位置,尤其在無線通信、無人駕駛、軍事和應(yīng)急救援等領(lǐng)域具有重要應(yīng)用。
TDOA 算法的核心思想是:在一個多接收器的系統(tǒng)中,當(dāng)一個信號源發(fā)出信號時,這個信號在不同接收器上的到達(dá)時間會因為信號傳播速度的限制和傳播路徑的不同而產(chǎn)生微小的差異。通過測量這些微小的時間差,可以推算出信號源相對于接收器的位置。
TDOA 算法的實現(xiàn)一般涉及以下幾個步驟:信號接收:在不同位置放置接收器來接收信號源發(fā)出的信號;時間差測量:接收器會記錄信號到達(dá)的時間戳。通過比較不同接收器之間的時間戳差異,可以計算出信號到達(dá)的時間差;距離計算:通過已知的信號傳播速度(如聲速、電磁波速度等),可以將時間差轉(zhuǎn)換為距離差;定位計算:結(jié)合已知接收器的位置信息和計算得到的距離差,使用三角測量法或其他定位算法來計算信號源的精確位置。
到達(dá)時間差是利用待測目標(biāo)到達(dá)2 個接收基站的時間,取其差值來獲得,這時需要基站時間的嚴(yán)格同步,但是當(dāng)兩基站間移動信道傳輸特性相似時,可減少由多徑效應(yīng)帶來的誤差,如圖1 所示。
圖1 TDOA 算法示意圖
根據(jù)到達(dá)時間差獲得的TDOA 方程為:
其中(x,y)為待測目標(biāo)的坐標(biāo) (x1,y1) (x2,y2) (x3,y3)為3個接收基站的坐標(biāo),c為聲速,t1、t2、t3分別為待測目標(biāo)聲音信號傳播到3 個接收基站所需的時間。
通過將公式(1)~(3)這一組非線性方程求解,即可得到對目標(biāo)位置的估計。
發(fā)射端與接收端是異步的,無法得知發(fā)射的起始時刻,無法求出音源到麥克風(fēng)的絕對時間。所以我們只能算出音源到任意兩個麥克風(fēng)的時間差。
假設(shè)用于接收槍聲信號的麥克風(fēng)分別設(shè)置在A,B,C。Q 為原點,P 為音源位置。通過3 個測試點,兩兩求差,可得時間差為:
如圖2 所示,P 點為平面上的任意一點,根據(jù)幾何關(guān)系可以推算出,得到如下公式:
圖2 音源檢測原理
求解公式(6)、(7)可得目標(biāo)坐標(biāo),為方便對聲源位置的判斷,通過以下公式將結(jié)果轉(zhuǎn)換為極坐標(biāo)。
本文設(shè)計的基于TDOA 聲源定位算法的激光武器狙擊手攻擊系統(tǒng)的整體框圖如圖3 所示,包括單片機、聲音檢測電路、舵機云臺、激光光源、電源。聲音檢測電路通過駐極體麥克風(fēng)采集聲音信號,通過濾波、放大、整形后,送入單片機外部中斷,測出3 個麥克風(fēng)采集信號的時間差,再計算得出聲源的距離和角度。功能樣機實物圖如圖4 所示。
圖3 系統(tǒng)框圖
圖4 槍聲定位裝置實物圖
2.1.1 聲音檢測電路
本系統(tǒng)硬件電路的核心為聲音檢測電路,電路包含駐極體麥克風(fēng)信號采集、濾波、放大、整形幾部分組成,為了方便調(diào)試,在信號輸出端放置了LED,用于信號指示。電路原理圖如圖5 所示。
圖5 聲音檢測電路
2.1.2 激光驅(qū)動電路
該系統(tǒng)使用小功率激光二極管模擬激光武器。本文采用繼電器實現(xiàn)對激光二極管開關(guān)的控制。繼電器線圈并聯(lián)的1N4148 二極管用于在繼電器斷開時釋放線圈中的能量。8050 三極管實現(xiàn)繼電器的驅(qū)動。電路如圖6 所示。
圖6 繼電器電路圖
2.1.3 外部接口電路
硬件接口包括HMI 屏幕、3 路聲音采集電路接口、2 路云臺舵機接口以及激光接口。HMI 屏幕和聲音采集電路與單片機采用同一路電源供電。激光接口與舵機接口采用航模電池單獨供電,防止電機運轉(zhuǎn)時產(chǎn)生的電源波動,影響系統(tǒng)的測量精度。電路如圖7 所示。
圖7 接口電路圖
軟件的總體流程如圖8 所示,系統(tǒng)的程序主要由兩部分構(gòu)成:聲源檢測、聲源位置指示。聲源檢測功能是由單片機測出聲源與測量點A、B、C 的時間差并轉(zhuǎn)換計算求得聲源位置與源點的距離和相角。聲源位置指示功能是由單片機根據(jù)測得聲源的位置和相角,來指示云臺轉(zhuǎn)動達(dá)到聲源方向并開啟激光指示出聲源位置。
圖8 軟件流程圖
2.2.1 TDOA 算法求解
TDOA 算法的核心是非線性方程組的求解,該方程組可以通過多種數(shù)學(xué)方法來求解,其中最常見的方法之一是使用非線性最小二乘法(Nonlinear Least Squares,NLS)來擬合方程組以估計聲源的位置。但是本文設(shè)計的系統(tǒng)為了降低功耗、減小體積,采用單片機作為核心處理器。使用非線性最小二乘法來擬合方程組的求解方法對于單片機計算量較大。為了提高測量速度,本文采用查表法,即提前計算好測量區(qū)域內(nèi)時間差與坐標(biāo)的對應(yīng)表,并將該表存入單片機的ROM 內(nèi),通過查表的方式將時間差轉(zhuǎn)換為位置坐標(biāo),如圖9 所示。
圖9 TDOA 算法非線性方程組的求解
2.2.2 顯示界面
本文設(shè)計的基于TDOA 聲源定位算法的激光武器狙擊手攻擊系統(tǒng)的顯示界面如圖10 所示。
圖10 用戶交互界面
左上角顯示當(dāng)前的測量結(jié)果,包括角度和距離數(shù)據(jù)。下方是角度指示指針,便于用戶快速獲得槍聲的角度。
測試工具:米尺、量角器、秒表。
測試環(huán)境及條件:在場地中ABCD 內(nèi)放置好聲源檢測裝置,在聲源目標(biāo)擺放區(qū)內(nèi)擺置好模擬槍聲的聲源,如圖11 所示。
測試方案:將自制模擬槍聲音頻系統(tǒng)放置于測試場地,通過麥克風(fēng)組成陣列采集信號,處理計算后通過屏幕顯示并記錄數(shù)據(jù),測量時間使用秒表記錄。測試數(shù)據(jù)如表1 所示。
表1 距離測量實驗數(shù)據(jù)
圖11 測試環(huán)境
結(jié)論:測試結(jié)果表明,該系統(tǒng)可以實現(xiàn)槍聲距離的測量,測量誤差小于±0.1m,測量時間小于2s。
測試方案:將自制模擬槍聲音頻系統(tǒng)放置于測試場地,通過麥克風(fēng)組成陣列采集信號,處理計算后通過屏幕顯示并記錄數(shù)據(jù),測量時間使用秒表記錄。測試數(shù)據(jù)如表2 所示。
表2 角度測量實驗數(shù)據(jù)
結(jié)論:測試結(jié)果表明,該系統(tǒng)可以實現(xiàn)槍聲角度的測量,角度測量誤差小于±1°,測量時間小于2s。
本文設(shè)計的基于TDOA 聲源定位算法的激光武器狙擊手攻擊系統(tǒng),采用TDOA 算法,通過對槍聲到達(dá)不同聲音傳感器的時間差,實現(xiàn)槍聲位置的測量。為了提高測量速度,本文采用查表法代替?zhèn)鹘y(tǒng)的最小二乘擬合的方法求解非線性方程組,使得整機可以采用單片機作為核心處理器,降低了系統(tǒng)的功耗和體積。最后,本文通過實驗測量所設(shè)計的槍聲定位系統(tǒng),距離測量誤差小于±0.1m,角度測量誤差小于±1°,測量時間不超過2s。此外,本系統(tǒng)可以用激光指示出聲源所在位置,模擬使用激光武器打擊目標(biāo)。