馮祎 白文樂
摘? 要:聲音定位技術是一種新型技術,在各種領域都有涉及,如工業(yè)制造、射擊訓練、國防軍事等。本文設計了一種基于到達時間差的聲源定位系統(tǒng),系統(tǒng)控制器選用STC15F2K60S2,硬件電路主要由音頻發(fā)射模塊、音頻接收模塊、數(shù)據(jù)處理模塊三部分組成,軟件部分主要使用Chan算法進行數(shù)據(jù)計算。設計的系統(tǒng)能夠在接收到聲源信號之后,對聲源信號進行預處理,然后再對數(shù)據(jù)進行分析,最終顯示測量結果。
關鍵詞:到達時間差;聲源定位;STC15F2K60S2;Chan算法
中圖分類號:TN912.3? ? ? ?文獻標識碼:A 文章編號:2096-4706(2019)22-0041-03
Abstract:Sound localization technology is a new type of technology that is involved in various fields,such as industrial manufacturing,shooting training,and defense military. A sound source localization system with time difference is designed in this paper. The system controller selects STC15F2K60S2. The hardware circuit is mainly composed of audio transmission module,audio receiving module and data processing module. The software part mainly uses Chan algorithm for data calculation. The designed system is capable of pre-processing the sound source signal after receiving the sound source signal,and then analyzing the data,and finally displaying the measurement result.
Keywords:arrival time difference;sound source localization;STC15F2K60S2;Chan algorithm
0? 引? 言
聲音定位技術最早被應用在聲吶系統(tǒng)中,后來逐漸地應用到探測水下目標的領域,因為電磁波在海水中會有較為明顯的信號衰減,所以電磁波的傳輸距離就會受到較大的限制,而聲音定位技術因為其自身特點,剛好彌補了電磁波的不足[1]。
最近幾年,聲源定位系統(tǒng)開始與數(shù)字信號處理(DSP技術)、自順應信號解決技術等各種技術進行結合,聲音定位系統(tǒng)也因此得到了進一步的發(fā)展和完善,并且更加廣泛地應用于軍用和民用的領域[2]。
當今世界上在測距部分一般使用AOA(Angle of Arrival,
到達角度丈量)、RSSI(Received Signal Strength Indication,接收的信號強度指示)、TOA(Time of Arrival,抵達時間丈量)、TDOA(Time Difference of Arrival,抵達時間差丈量)等計算門徑。AOA需要添加額外的設備,而且對計算量要求較大;RSSI容易受到環(huán)境中的障礙物影響,故而容易發(fā)生較為明顯的誤差;TOA要求各個接收裝置開始接納信號的工夫完全同步,難度相對較大;TDOA算法與其他算法相比,其原理較為簡單,對硬件設施要求較低,是一種比較實用簡單的方法。
本文的目標是基于TDOA的聲音定位裝置的設計與實現(xiàn),在聲音接收裝置接收到聲音之后,經(jīng)過一系列聲音信號處理,再通過使用單片機利用TDOA算法對處理后的聲音信號進行計算,將計算結果發(fā)送至顯示設備,顯示出聲源的位置。
1? 系統(tǒng)的整體規(guī)劃與設計方案
1.1? 系統(tǒng)的整體設計
系統(tǒng)整體設計框圖如圖1所示。
系統(tǒng)使用音頻發(fā)射模塊發(fā)射特定頻率的聲音信號,然后使用音頻接收模塊進行對聲音信號的接收與處理[3]。聲音信號首先經(jīng)過濾波放大,達到選頻、去除噪聲信號以及對所需聲音信號進行放大的目的。經(jīng)過濾波放大的聲音信號再通過整形模塊,將模擬聲音信號轉(zhuǎn)變?yōu)橥l率的數(shù)字聲音信號。處理后的聲音信號再傳輸至數(shù)據(jù)處理模塊進行處理。數(shù)據(jù)處理模塊將接收到的各個聲音信號進行比較,計算出聲音信號從音頻發(fā)射模塊傳輸?shù)礁鱾€音頻接收模塊所用時間的差值,再根據(jù)聲音的傳輸速度計算出音頻發(fā)射模塊的位置,最后將結果發(fā)送至顯示模塊進行顯示。
1.2? 信號發(fā)射電路
信號發(fā)射采用蜂鳴器發(fā)出聲音。用蜂鳴器作為音頻發(fā)射裝置時,驅(qū)動電路簡單易行,僅需要一片LM386即可實現(xiàn)。信號源的波形由STC單片產(chǎn)生,采用軟件控制GPIO發(fā)出的波形,可以非常方便地控制波形的頻率和占空比。人耳可聽到的聲音頻率范圍在20Hz~20kHz之間,單片機也完全有能力產(chǎn)生此范圍內(nèi)的波形。初始頻率設定為1kHz,音頻發(fā)射模塊的電路圖如圖2所示。
此音頻發(fā)射模塊的原理是輸入方波信號,經(jīng)滑動變阻器控制輸入信號的幅度,然后通過電容過濾多余噪音信號,再經(jīng)放大器將輸入信號放大,輸出信號通過濾波器去除噪音后輸入到揚聲器,這樣便發(fā)出了與輸入信號同頻率的聲音信號。
1.3? 聲源信號接收模塊
聲源信號接收模塊起到的作用是將收到聲音信號轉(zhuǎn)換為電信號,然后對電信號做進一步的調(diào)理,經(jīng)過調(diào)理后的波形還要進行進一步的放大處理才可以輸入至下一級電路。對波形的濾波及放大電路選用LM324運算放大器和LM311比較器電路組成,故我們可以使用此整形模塊對聲音信號進行整形。
為了能夠通過聲音信號測量聲源的位置,需要使用合適的拾音設備接收聲音信號。目前市面上咪頭是最常見的拾音模塊,咪頭又叫作麥克風、話筒、傳聲器、咪膽等。拾音處理電路如圖3所示。
由于環(huán)境中經(jīng)常會出現(xiàn)其他不需要接收的噪音信號,以及電路中經(jīng)常出現(xiàn)干擾信號,故需要使用濾波模塊將接收到的聲音信號進行過濾,保留需要測量的聲音信號,過濾掉不需要的多余干擾信號。
1.4? 數(shù)據(jù)處理部分
數(shù)據(jù)處理部分可選用單片機作為控制及數(shù)據(jù)計算,測量結果通過顯示模塊進行顯示。單片機軟件編程的靈活度高,可經(jīng)由編程實現(xiàn)不同用途的算術算法以及邏輯管制。并且體積小,硬件實現(xiàn)簡略、使用便利。單片機選用STC15F2K60S2,該系列單片機更適合作為系統(tǒng)的主控以及數(shù)據(jù)處理系統(tǒng)。顯示模塊選用LCD液晶顯示屏,在智能管制系統(tǒng)中愈來愈多地運用了液晶顯示屏LCD,LCD是一種介于液體以及固體之間的熱力學的中心穩(wěn)固相,它自身不會發(fā)光,是使用外部光的反射原理進行表現(xiàn)。
1.5? 聲音定位算法分析
現(xiàn)有的主流定位算法有AOA(到達角度測量)、TOA(到達時間測量)、RSSI(接收信號強度測量)、TDOA(到達時間差測量)[4,5]??紤]到本系統(tǒng)的使用環(huán)境及單片機的計算性能,為保證系統(tǒng)可以正常、及時地進行測量,這里選擇TDOA作為最適合的算法方案。TDOA算法原理簡單,且對STC單片機硬件要求低,可以在容忍的時間內(nèi)計算出結果,是相對簡便、實用的方法。
目前基于TDOA的定位算法多種多樣,例如Chan算法、Taylor級數(shù)展開算法、SX(球面相交)算法、Friedlander算法等。其中SX算法與Friedlander算法都因為自身算法的局限性導致計算結果并不是最優(yōu)解,導致在現(xiàn)實環(huán)境中的計算結果不夠精確;Taylor算法是一種迭代的思想,相比于其他算法,其準確性更高,但是對于初始值的要求非常高,如果初始值的精確度較高,其結果也會非常準確,但如果初始值不夠準確,其結果也會出現(xiàn)較大的誤差。Chan算法的計算量相比于上述算法較小,且在噪聲符合高斯分布的時候準確性非常高,故本設計選用Chan算法作為系統(tǒng)算法。
2? 系統(tǒng)軟件部分
2.1? 主程序設計
軟件主程序流程圖如圖4所示。
系統(tǒng)軟件方面的主體思路如下:當系統(tǒng)主程序開始運行后,單片機首先會對各類的硬件進行初始化和檢查,之后單片機會保持接收經(jīng)過處理后的聲音信號,當單片機接收到第一個音頻接收模塊傳輸過來的信號時,單片機開始計時,當單片機接收到后續(xù)其他音頻接收模塊傳輸?shù)男盘枙r記錄時間,此時得到的時間即為后續(xù)其他音頻接收模塊與第一個傳輸聲音信號的音頻接收模塊接收聲音的時間差,通過各音頻接收模塊與第一個音頻接收模塊的相對位置、到達時間差以及聲音的傳輸速度可以計算出聲音發(fā)射裝置的具體位置,然后將經(jīng)過計算后的數(shù)據(jù)結果傳輸至液晶顯示模塊進行顯示結果。
2.2? 算法介紹
根據(jù)系統(tǒng)設計需求聲源作為設為(x,y),為第i個聲音的接收模塊坐標為(xi,yi)。因此發(fā)射聲音與拾音器之間滿足式(1)。
然后可知Riy代表發(fā)射聲音電路的第i個接收模塊的距離差,則雙曲線定位中發(fā)射聲音(x,y)和拾音器(xi,yi)滿足式(2)。
根據(jù)式(1)(2)可知,如想求出方程式的解,應用Chan算法即可。使用Chan算法求解可以盡量減小CPU的計算負擔且不用為計算初始化常量,非常適合解這種具有解析表達式的雙曲線方程組??紤]到系統(tǒng)選用的STC單片機計算能力有限,可認為Chan算法是適合基于STC單片機的計算方法,可取得較為理想的測量效果。
3? 結? 論
本文以一個基于TDOA的聲音定位系統(tǒng)為研究目標,實現(xiàn)了音頻發(fā)射與接收模塊的設計,音頻接收模塊可根據(jù)接收聲音信號的幅度與頻率正常輸出數(shù)字信號。數(shù)據(jù)處理模塊能夠根據(jù)各音頻接收模塊發(fā)送處理后的聲音信號的時間差計算音頻發(fā)射模塊與各音頻接收模塊的距離差,同時可正常顯示數(shù)據(jù)處理結果。雖然本文的系統(tǒng)實驗結果存在一定的誤差率,影響實驗結果的條件較多,例如環(huán)境噪音、算法優(yōu)化等,但在目標定位方面具有一定的應用前景。
參考文獻:
[1] 馮振宇,王洪源.基于概率計算的聲源定位技術研究 [J].數(shù)字技術與應用,2012(7):63.
[2] 陸灝銘,陳瑋,劉壽寶.基于麥克風陣列的聲源定位系統(tǒng)設計 [J].傳感器與微系統(tǒng),2012,31(4):79-81+85.
[3] 韓文革,蘇淑靖,薛彥杰.基于麥克風陣列的聲源被動定位系統(tǒng)設計 [J].電子技術應用,2017,43(12):61-64.
[4] 文小軍,吉建華,鐘林波,等.基于時延估計的聲源定位算法實驗研究 [J].計算機工程與應用,2014,50(23):212-214+233.
[5] 何賽娟,陳華偉,尹明婕,等.基于差分麥克風陣列和語音稀疏性的多源方位估計方法 [J].數(shù)據(jù)采集與處理,2015,30(2):372-381.
作者簡介:馮祎(1983-),男,漢族,北京人,實驗師,碩士,研究方向:紅外圖像的數(shù)據(jù)采集、傳輸及數(shù)據(jù)處理技術。