王洪波,鄒 煜,徐文剛
(中南民族大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院,湖北 武漢 430073)
麥克風(fēng)四元陣全向聲源定位系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
王洪波,鄒 煜,徐文剛
(中南民族大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院,湖北 武漢 430073)
設(shè)計(jì)并實(shí)現(xiàn)了一種基于Cortex-M3內(nèi)核的小型化、低功耗聲源定位系統(tǒng)。系統(tǒng)采用4個(gè)麥克風(fēng)傳感器構(gòu)成聲源定位矩陣?;谝夥ò雽?dǎo)體公司的STM32F103FZET6硬件平臺(tái),利用其內(nèi)部的高速中斷以及微秒級(jí)的定時(shí)器輔以相關(guān)外設(shè)電路,快速捕捉聲源位置并進(jìn)行計(jì)算定位。實(shí)驗(yàn)結(jié)果表明,系統(tǒng)定位精度良好,適合應(yīng)用在軍事、工業(yè)控制、機(jī)器人聲源定位等領(lǐng)域。
聲源定位;Cortex-M3; 麥克風(fēng)矩陣
聲源定位技術(shù)一直備受關(guān)注,在軍事上可用于尋找戰(zhàn)斗中隱藏的狙擊手、水中的潛水艇;工業(yè)上作為模塊嵌入使用,可以定位大型設(shè)備的故障點(diǎn),也可以用于機(jī)器人聽音定位場(chǎng)景。國(guó)外已有利用聲源定位原理設(shè)計(jì)的麥克風(fēng)陣列系統(tǒng)。國(guó)內(nèi)基于麥克風(fēng)陣列的聲源定位研究起步較晚,雖然也有部分成果,但相關(guān)算法以及成型系統(tǒng)不夠完善。
隨著科技的發(fā)展,嵌入式系統(tǒng)處理能力飛速發(fā)展,研究機(jī)構(gòu)紛紛展開此類系統(tǒng)的小型化、精細(xì)化研究,并基于大量理論模型成功進(jìn)行了實(shí)用化[1-2]。國(guó)內(nèi)在此項(xiàng)目上進(jìn)展相對(duì)緩慢。因此,本定位系統(tǒng)研究具有很重要的理論和實(shí)踐意義。
1.1 聲源定位系統(tǒng)基本原理
聲音是以波的方式傳播的,在物理學(xué)上滿足波動(dòng)學(xué)理論。當(dāng)聲源距離聲波傳感器較遠(yuǎn)時(shí),可以把聲音的傳播理解為近似平行波的傳播方式[3],由此得出相應(yīng)的聲波角。
圖1模型中,S1與S2表示兩個(gè)麥克風(fēng)傳感器Sound1、Sound2,聲源發(fā)出的聲音從3條平行線方向傳入麥克風(fēng)傳感器,由于聲源到達(dá)不同的麥克風(fēng)傳感器時(shí)間不一,而聲源到達(dá)兩者之間的距離差L可以通過(guò)公式(1)計(jì)算求出[4]。其中v代表聲速,τ代表時(shí)間差,θ代表兩個(gè)麥克風(fēng)傳感器所組成直線的夾角。聲波角θ值公式如下:
(1)
圖1 聲波角模型
該模型比較簡(jiǎn)潔,但不能滿足全方位360°環(huán)形檢測(cè)的深層次應(yīng)用,對(duì)于定位精度要求較高的場(chǎng)合難以適用。為此本文提出建立在圖2平面三點(diǎn)信號(hào)模型基礎(chǔ)上的四元陣多方位TDOA聲源定位模型,如圖3所示。
1.2 聲源定位系統(tǒng)平面三點(diǎn)模型
圖2[5-7]為常用的聲源定位系統(tǒng)平面三點(diǎn)模型,這是本文四元陣多方位TDOA聲源定位模型的基礎(chǔ)。
圖2 平面三點(diǎn)信號(hào)模型
三點(diǎn)信號(hào)模型中三點(diǎn)分別為3個(gè)傳感器點(diǎn)S1、S2、S3。設(shè)聲源的坐標(biāo)為Sound(r,θ),3個(gè)傳感器的坐標(biāo)分別為(-d,0)、(0,0)、(d,0)。令傳感器S2作為參考原點(diǎn),其坐標(biāo)為(0,0)。3個(gè)傳感器之間兩兩距離為d,假定空氣中聲速340m/s,用字母c表示。由圖2可知,R1、R2、R3分別代表聲源Sound(r,θ)到3個(gè)傳感器S1、S2、S3的距離。其中θ為聲源與參考原點(diǎn)R2與第2個(gè)傳感器的夾角,定義R2表示為R。其中R為聲源到原點(diǎn)的距離。τ21和τ23分別表示傳感器S3、S2與S1在接收信號(hào)上的延時(shí),它們滿足以下關(guān)系式:
(2)
當(dāng)在近場(chǎng)環(huán)境下進(jìn)行聲源檢測(cè)時(shí),由聲源Sound(r,θ)、S1、S2、S3組成的兩個(gè)三角形中應(yīng)用余弦定理可得:
(3)
通過(guò)整理公式(2)和(3),可以得到目標(biāo)方位角的估計(jì)公式:
(4)
(5)
通過(guò)式(4)和(5)可知,要求出目標(biāo)方位角以及目標(biāo)與原點(diǎn)的距離,只要知道3個(gè)傳感器之間的時(shí)間延時(shí)[8-10]即可。但是這個(gè)模型還是沒有解決全方位定位問題,因此本文提出并設(shè)計(jì)了四元陣定位模型。
TDOA (Time Difference of arrival)到達(dá)時(shí)間差是一種無(wú)線定位技術(shù)。本文在原有的平面三點(diǎn)模型基礎(chǔ)上加入一個(gè)傳感器,構(gòu)成四元聲源定位TDOA方陣,用于定位聲源位置。圖3是根據(jù)大量聲學(xué)實(shí)驗(yàn)得出的方位設(shè)計(jì)布局。按此模型設(shè)計(jì)可以非常精確地得出全方位360°的聲源定位效果,并可滿足實(shí)用要求。
四元陣TDOA聲源定位模型由4個(gè)傳感器組成一個(gè)正方形。圖3中Sound1、Sound2、Sound3為3個(gè)模擬聲源。圖3中的角B1和B2由圖2中的平面三點(diǎn)信號(hào)模型得出,角A1、A2計(jì)算公式如下:
A1=135°-B1
(6)
A2=135°-B2
(7)
由圖3所示的幾何關(guān)系參考公式(8)可以計(jì)算得出D1與D2的長(zhǎng)度。有了這兩個(gè)參數(shù)值,就為下一步計(jì)算聲源到四元陣定位模型的中心距離作好了準(zhǔn)備。
(8)
圖3 四元陣TDOA聲源定位模型
聲源Sound1與Y軸負(fù)半軸的精確方位夾角可由公式(9)推導(dǎo)得出:
(9)
聲源與四元陣的中心原點(diǎn)距離為D,其計(jì)算公式為:
(10)
角θ和距離D精確反映了此刻聲源在平面中的任意位置,據(jù)此可方便定位目標(biāo)聲源。通過(guò)這一模型可知,時(shí)間差值是解決定位問題的關(guān)鍵。
3.1 互相關(guān)時(shí)延估計(jì)
接收到的聲源信號(hào)用s(t)表示,兩傳感器的高斯白噪聲分別用n1(t)和n2(t)表示,聲源到達(dá)傳感器1和傳感器2的時(shí)間用τ1和τ2表示,假設(shè)Sensor1和Sensor2傳感器所采樣的語(yǔ)音信號(hào)模型為:
(11)
則τ21=τ2-τ1就是聲源信號(hào)到達(dá)傳感器1和傳感器2的時(shí)間延遲。文中假設(shè)模型中的s(t)、n1(t)、n2(t)為互不相關(guān)的平穩(wěn)隨機(jī)過(guò)程。x1(t)、x2(t)的互相關(guān)函數(shù)可以表示為:
(12)
假設(shè)s(t)、n1(t)、n2(t)為互不相關(guān)的平穩(wěn)隨機(jī)變化過(guò)程且兩兩不相關(guān),上式可化簡(jiǎn)得:
(13)
通過(guò)自相關(guān)函數(shù)性質(zhì)可知,當(dāng)其達(dá)到最大值時(shí)τ-(τ1-τ2)=0,時(shí),求得的(τ)最大值對(duì)應(yīng)的τ值就是兩個(gè)傳感器之間的時(shí)延值,用τ21表示。
綜上分析可得,求兩個(gè)不同位置傳感器之間的時(shí)延值,就是求兩信號(hào)的互相關(guān)函數(shù)的極大值。因此,當(dāng)互相關(guān)函數(shù)的最高峰值相對(duì)尖銳時(shí),就比較容易且準(zhǔn)確地求出極大點(diǎn)所在位置。但在實(shí)際應(yīng)用過(guò)程中,相關(guān)函數(shù)的峰值常常會(huì)受到周圍環(huán)境噪聲的影響,使得極大峰值因?yàn)樵肼曈绊懽兊貌幻黠@,這時(shí)很難準(zhǔn)確找到極大點(diǎn)位置,由此降低了時(shí)延估計(jì)的準(zhǔn)確性。因此,為了得到準(zhǔn)確的時(shí)延值,在實(shí)驗(yàn)條件允許的情況下,觀測(cè)時(shí)間應(yīng)盡量延長(zhǎng)。
運(yùn)用基本互相關(guān)法進(jìn)行延時(shí)估計(jì),就是尋找互相關(guān)函數(shù)峰值問題[11],這種方法計(jì)算量小,而且容易實(shí)現(xiàn)。但是,在運(yùn)用過(guò)程中這種方法明顯存在兩個(gè)不足:①運(yùn)用該方法的前提是信號(hào)和噪聲之間,以及噪聲和噪聲之間都是兩兩互不相關(guān)的函數(shù),在實(shí)際環(huán)境中,這個(gè)前提不一定存在,只不過(guò)是為了方便研究而假設(shè)的一個(gè)理論前提,因此,實(shí)際應(yīng)用時(shí)會(huì)對(duì)定位精度造成一定影響;②該方法中所提出的互相關(guān)函數(shù),在數(shù)學(xué)角度上來(lái)說(shuō)可以看成是一種嚴(yán)格的統(tǒng)計(jì)平均。當(dāng)條件為平穩(wěn)遍歷時(shí)可以用無(wú)窮時(shí)間平均值來(lái)替代嚴(yán)格統(tǒng)計(jì)平均[12],而在實(shí)際應(yīng)用中,一般都是用有限定的時(shí)間平均來(lái)等效無(wú)窮時(shí)間平均或統(tǒng)計(jì)平均的,所謂有限時(shí)間平均就是指對(duì)函數(shù)作短時(shí)處理,這種情況下不可忽略噪聲對(duì)互相關(guān)函數(shù)的影響,結(jié)果導(dǎo)致互相關(guān)函數(shù)峰值變得不明顯,最終降低延時(shí)估計(jì)的精度。因此,為了降低噪聲對(duì)互相關(guān)延時(shí)估計(jì)精度的影響,本文提出了一種實(shí)用的信號(hào)分析方法,可以很精確地捕獲微秒級(jí)延時(shí),在前述的四元陣TDOA聲源定位模型理論基礎(chǔ)上,可快速得出目標(biāo)聲源的定位信息。
3.2 四元陣TDOA聲源定位時(shí)延估計(jì)
本文設(shè)計(jì)的定位系統(tǒng)把聲音信號(hào)通過(guò)硬件電路整形,變?yōu)樯仙胤浅R?guī)整的沖擊信號(hào)。在不同的傳感器中,沖擊信號(hào)的輸出會(huì)呈現(xiàn)不同的時(shí)間差值,4個(gè)傳感器的差值兩兩進(jìn)入異或門進(jìn)行比較,得出脈沖寬度非常小的方波,便是聲音之間的時(shí)延。通過(guò)物理電路解決了四元陣TDOA聲源定位模型中關(guān)鍵的時(shí)間延時(shí)值,把這一結(jié)果代入圖3所示的模型,可以得到目標(biāo)聲源定位信息。
4.1 硬件平臺(tái)
本文采用的聲源定位系統(tǒng)是基于Cortex-M3內(nèi)核的實(shí)時(shí)聲源定位系統(tǒng),系統(tǒng)整體架構(gòu)由4個(gè)全指向麥克風(fēng)傳感器組成方形陣列,4路音頻前置放大電路,4個(gè)A/D采集端口,芯片由中斷數(shù)據(jù)處理模塊、串口通訊和數(shù)據(jù)顯示模塊組成。
4.2 軟件編程
本文在KEIL uVision5環(huán)境下使用匯編和C語(yǔ)言混合編程,進(jìn)行軟件編輯、編譯、調(diào)試、鏈接和生成可執(zhí)行文件等工作。系統(tǒng)軟件部分包括對(duì)放大信號(hào)進(jìn)行模數(shù)變換、初始化設(shè)置子程序、A/D采樣子程序、中斷向量初始化程序、時(shí)間延遲估計(jì)子程序、聲源方向角定位子程序和串口通訊UART子程序等。時(shí)延估計(jì)子模塊計(jì)算出各通道的相對(duì)時(shí)延值,定位模塊采用本文給出的四元陣TDOA聲源定位,如圖4所示。
圖4 測(cè)量邏輯框圖
本系統(tǒng)采用基于TDOA的聲源定位算法,此方法分為時(shí)延估計(jì)和定位兩步完成。
在真實(shí)環(huán)境中進(jìn)行全面深入的極限測(cè)試,以檢測(cè)本聲源定位系統(tǒng)性能。該實(shí)驗(yàn)在普通實(shí)驗(yàn)室中完成,聲源采用普通人聲。其中r為陣列中心到聲源的距離,方向角θ的區(qū)間為0°~360°,每隔45°測(cè)量一組數(shù)據(jù),實(shí)驗(yàn)結(jié)果如表1所示。測(cè)試結(jié)果表明,系統(tǒng)的硬件平臺(tái)性能良好,定位算法效果達(dá)到設(shè)計(jì)要求。本系統(tǒng)在實(shí)際環(huán)境中可以對(duì)聲源進(jìn)行實(shí)時(shí)定位和跟蹤。
本文以Cortex-M3為平臺(tái),設(shè)計(jì)并開發(fā)了一個(gè)切實(shí)可行的多方位聲源定位裝置。實(shí)驗(yàn)表明,本文設(shè)計(jì)的四元陣TDOA聲源定位系統(tǒng)性能比常規(guī)定位方法更有效,為各種場(chǎng)景下的復(fù)雜聲源定位與追蹤提供了一種有效手段。
[1] JOSEA BELLOCHA, MAXIMOCO BOSB.Real-time sound source localization on an embedded GPU using a spherical microphone array[C].ICCS 2015 International Conference On Computational Science,2015(3):10-15.
[2] S ARGENTIERIA,P DANSC,P SOURESC.A survey on sound source localization in robotics: from binaural to array processing methods[J] .Computer Speech & Language,2015(3):3-5.
[3] 李曉歡. 基于OMAP平臺(tái)的聲源定位系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].合肥:安徽大學(xué),2014.
[4] 彭奎.一種基于麥克風(fēng)陣列的聲源定位系統(tǒng)及其應(yīng)用研究[D].合肥:安徽大學(xué),2014.
[5] 王春霞. 聲源定位系統(tǒng)時(shí)延估計(jì)算法優(yōu)化研究[D].邯鄲:河北工程大學(xué),2012.
[6] 黃海軍. 基于傳聲器陣列的聲源定位系統(tǒng)的初步研究[D].上海:東華大學(xué),2013.
[7] 張明瀚. 基于時(shí)延估計(jì)的聲源定位系統(tǒng)研究[D].重慶:重慶大學(xué),2009.
[8] 曹虎林. 基于麥克風(fēng)陣列的聲源定位系統(tǒng)硬件設(shè)計(jì)與算法研究[D].上海:上海交通大學(xué),2011.
[9] 沈建飛. 一種穹頂式傳聲器陣列聲源定位系統(tǒng)研究[D].湘潭:湘潭大學(xué),2014.
[10] 李揚(yáng). 基于小型麥克風(fēng)陣列的聲源定位系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].哈爾濱:哈爾濱工業(yè)大學(xué),2014.
[11] 葉一枝. 基于時(shí)延估計(jì)的聲源定位系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].上海:上海交通大學(xué),2011.
[12] 汪明,陳建輝,王廣龍,等. 基于數(shù)字式MEMS聲傳感器陣列的聲源定位系統(tǒng)設(shè)計(jì)[J].傳感技術(shù)學(xué)報(bào),2013(8):1105-1109.
(責(zé)任編輯:杜能鋼)
王洪波(1984-),男,河南信陽(yáng)人,中南民族大學(xué)計(jì)算機(jī)科學(xué)學(xué)院碩士研究生,研究方向?yàn)檐囕d自組織網(wǎng)絡(luò)。
10.11907/rjdk.162895
TP319
A
1672-7800(2017)003-0097-03