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