王洪波,鄒 煜,徐文剛
(中南民族大學 計算機科學學院,湖北 武漢 430073)
麥克風四元陣全向聲源定位系統設計與實現
王洪波,鄒 煜,徐文剛
(中南民族大學 計算機科學學院,湖北 武漢 430073)
設計并實現了一種基于Cortex-M3內核的小型化、低功耗聲源定位系統。系統采用4個麥克風傳感器構成聲源定位矩陣。基于意法半導體公司的STM32F103FZET6硬件平臺,利用其內部的高速中斷以及微秒級的定時器輔以相關外設電路,快速捕捉聲源位置并進行計算定位。實驗結果表明,系統定位精度良好,適合應用在軍事、工業控制、機器人聲源定位等領域。
聲源定位;Cortex-M3; 麥克風矩陣
聲源定位技術一直備受關注,在軍事上可用于尋找戰斗中隱藏的狙擊手、水中的潛水艇;工業上作為模塊嵌入使用,可以定位大型設備的故障點,也可以用于機器人聽音定位場景。國外已有利用聲源定位原理設計的麥克風陣列系統。國內基于麥克風陣列的聲源定位研究起步較晚,雖然也有部分成果,但相關算法以及成型系統不夠完善。
隨著科技的發展,嵌入式系統處理能力飛速發展,研究機構紛紛展開此類系統的小型化、精細化研究,并基于大量理論模型成功進行了實用化[1-2]。國內在此項目上進展相對緩慢。因此,本定位系統研究具有很重要的理論和實踐意義。
1.1 聲源定位系統基本原理
聲音是以波的方式傳播的,在物理學上滿足波動學理論。當聲源距離聲波傳感器較遠時,可以把聲音的傳播理解為近似平行波的傳播方式[3],由此得出相應的聲波角。
圖1模型中,S1與S2表示兩個麥克風傳感器Sound1、Sound2,聲源發出的聲音從3條平行線方向傳入麥克風傳感器,由于聲源到達不同的麥克風傳感器時間不一,而聲源到達兩者之間的距離差L可以通過公式(1)計算求出[4]。其中v代表聲速,τ代表時間差,θ代表兩個麥克風傳感器所組成直線的夾角。聲波角θ值公式如下:

(1)

圖1 聲波角模型
該模型比較簡潔,但不能滿足全方位360°環形檢測的深層次應用,對于定位精度要求較高的場合難以適用。為此本文提出建立在圖2平面三點信號模型基礎上的四元陣多方位TDOA聲源定位模型,如圖3所示。
1.2 聲源定位系統平面三點模型
圖2[5-7]為常用的聲源定位系統平面三點模型,這是本文四元陣多方位TDOA聲源定位模型的基礎。

圖2 平面三點信號模型
三點信號模型中三點分別為3個傳感器點S1、S2、S3。設聲源的坐標為Sound(r,θ),3個傳感器的坐標分別為(-d,0)、(0,0)、(d,0)。令傳感器S2作為參考原點,其坐標為(0,0)。3個傳感器之間兩兩距離為d,假定空氣中聲速340m/s,用字母c表示。由圖2可知,R1、R2、R3分別代表聲源Sound(r,θ)到3個傳感器S1、S2、S3的距離。其中θ為聲源與參考原點R2與第2個傳感器的夾角,定義R2表示為R。其中R為聲源到原點的距離。τ21和τ23分別表示傳感器S3、S2與S1在接收信號上的延時,它們滿足以下關系式:
(2)
當在近場環境下進行聲源檢測時,由聲源Sound(r,θ)、S1、S2、S3組成的兩個三角形中應用余弦定理可得:
(3)
通過整理公式(2)和(3),可以得到目標方位角的估計公式:
(4)
(5)
通過式(4)和(5)可知,要求出目標方位角以及目標與原點的距離,只要知道3個傳感器之間的時間延時[8-10]即可。但是這個模型還是沒有解決全方位定位問題,因此本文提出并設計了四元陣定位模型。
TDOA (Time Difference of arrival)到達時間差是一種無線定位技術。本文在原有的平面三點模型基礎上加入一個傳感器,構成四元聲源定位TDOA方陣,用于定位聲源位置。圖3是根據大量聲學實驗得出的方位設計布局。按此模型設計可以非常精確地得出全方位360°的聲源定位效果,并可滿足實用要求。
四元陣TDOA聲源定位模型由4個傳感器組成一個正方形。圖3中Sound1、Sound2、Sound3為3個模擬聲源。圖3中的角B1和B2由圖2中的平面三點信號模型得出,角A1、A2計算公式如下:
A1=135°-B1
(6)
A2=135°-B2
(7)
由圖3所示的幾何關系參考公式(8)可以計算得出D1與D2的長度。有了這兩個參數值,就為下一步計算聲源到四元陣定位模型的中心距離作好了準備。
(8)

圖3 四元陣TDOA聲源定位模型
聲源Sound1與Y軸負半軸的精確方位夾角可由公式(9)推導得出:

(9)
聲源與四元陣的中心原點距離為D,其計算公式為:
(10)
角θ和距離D精確反映了此刻聲源在平面中的任意位置,據此可方便定位目標聲源。通過這一模型可知,時間差值是解決定位問題的關鍵。
3.1 互相關時延估計
接收到的聲源信號用s(t)表示,兩傳感器的高斯白噪聲分別用n1(t)和n2(t)表示,聲源到達傳感器1和傳感器2的時間用τ1和τ2表示,假設Sensor1和Sensor2傳感器所采樣的語音信號模型為:
(11)
則τ21=τ2-τ1就是聲源信號到達傳感器1和傳感器2的時間延遲。文中假設模型中的s(t)、n1(t)、n2(t)為互不相關的平穩隨機過程。x1(t)、x2(t)的互相關函數可以表示為:
(12)
假設s(t)、n1(t)、n2(t)為互不相關的平穩隨機變化過程且兩兩不相關,上式可化簡得:
(13)
通過自相關函數性質可知,當其達到最大值時τ-(τ1-τ2)=0,時,求得的(τ)最大值對應的τ值就是兩個傳感器之間的時延值,用τ21表示。
綜上分析可得,求兩個不同位置傳感器之間的時延值,就是求兩信號的互相關函數的極大值。因此,當互相關函數的最高峰值相對尖銳時,就比較容易且準確地求出極大點所在位置。但在實際應用過程中,相關函數的峰值常常會受到周圍環境噪聲的影響,使得極大峰值因為噪聲影響變得不明顯,這時很難準確找到極大點位置,由此降低了時延估計的準確性。因此,為了得到準確的時延值,在實驗條件允許的情況下,觀測時間應盡量延長。
運用基本互相關法進行延時估計,就是尋找互相關函數峰值問題[11],這種方法計算量小,而且容易實現。但是,在運用過程中這種方法明顯存在兩個不足:①運用該方法的前提是信號和噪聲之間,以及噪聲和噪聲之間都是兩兩互不相關的函數,在實際環境中,這個前提不一定存在,只不過是為了方便研究而假設的一個理論前提,因此,實際應用時會對定位精度造成一定影響;②該方法中所提出的互相關函數,在數學角度上來說可以看成是一種嚴格的統計平均。當條件為平穩遍歷時可以用無窮時間平均值來替代嚴格統計平均[12],而在實際應用中,一般都是用有限定的時間平均來等效無窮時間平均或統計平均的,所謂有限時間平均就是指對函數作短時處理,這種情況下不可忽略噪聲對互相關函數的影響,結果導致互相關函數峰值變得不明顯,最終降低延時估計的精度。因此,為了降低噪聲對互相關延時估計精度的影響,本文提出了一種實用的信號分析方法,可以很精確地捕獲微秒級延時,在前述的四元陣TDOA聲源定位模型理論基礎上,可快速得出目標聲源的定位信息。
3.2 四元陣TDOA聲源定位時延估計
本文設計的定位系統把聲音信號通過硬件電路整形,變為上升沿非常規整的沖擊信號。在不同的傳感器中,沖擊信號的輸出會呈現不同的時間差值,4個傳感器的差值兩兩進入異或門進行比較,得出脈沖寬度非常小的方波,便是聲音之間的時延。通過物理電路解決了四元陣TDOA聲源定位模型中關鍵的時間延時值,把這一結果代入圖3所示的模型,可以得到目標聲源定位信息。
4.1 硬件平臺
本文采用的聲源定位系統是基于Cortex-M3內核的實時聲源定位系統,系統整體架構由4個全指向麥克風傳感器組成方形陣列,4路音頻前置放大電路,4個A/D采集端口,芯片由中斷數據處理模塊、串口通訊和數據顯示模塊組成。
4.2 軟件編程
本文在KEIL uVision5環境下使用匯編和C語言混合編程,進行軟件編輯、編譯、調試、鏈接和生成可執行文件等工作。系統軟件部分包括對放大信號進行模數變換、初始化設置子程序、A/D采樣子程序、中斷向量初始化程序、時間延遲估計子程序、聲源方向角定位子程序和串口通訊UART子程序等。時延估計子模塊計算出各通道的相對時延值,定位模塊采用本文給出的四元陣TDOA聲源定位,如圖4所示。

圖4 測量邏輯框圖
本系統采用基于TDOA的聲源定位算法,此方法分為時延估計和定位兩步完成。
在真實環境中進行全面深入的極限測試,以檢測本聲源定位系統性能。該實驗在普通實驗室中完成,聲源采用普通人聲。其中r為陣列中心到聲源的距離,方向角θ的區間為0°~360°,每隔45°測量一組數據,實驗結果如表1所示。測試結果表明,系統的硬件平臺性能良好,定位算法效果達到設計要求。本系統在實際環境中可以對聲源進行實時定位和跟蹤。
本文以Cortex-M3為平臺,設計并開發了一個切實可行的多方位聲源定位裝置。實驗表明,本文設計的四元陣TDOA聲源定位系統性能比常規定位方法更有效,為各種場景下的復雜聲源定位與追蹤提供了一種有效手段。
[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平臺的聲源定位系統設計與實現[D].合肥:安徽大學,2014.
[4] 彭奎.一種基于麥克風陣列的聲源定位系統及其應用研究[D].合肥:安徽大學,2014.
[5] 王春霞. 聲源定位系統時延估計算法優化研究[D].邯鄲:河北工程大學,2012.
[6] 黃海軍. 基于傳聲器陣列的聲源定位系統的初步研究[D].上海:東華大學,2013.
[7] 張明瀚. 基于時延估計的聲源定位系統研究[D].重慶:重慶大學,2009.
[8] 曹虎林. 基于麥克風陣列的聲源定位系統硬件設計與算法研究[D].上海:上海交通大學,2011.
[9] 沈建飛. 一種穹頂式傳聲器陣列聲源定位系統研究[D].湘潭:湘潭大學,2014.
[10] 李揚. 基于小型麥克風陣列的聲源定位系統設計與實現[D].哈爾濱:哈爾濱工業大學,2014.
[11] 葉一枝. 基于時延估計的聲源定位系統的設計與實現[D].上海:上海交通大學,2011.
[12] 汪明,陳建輝,王廣龍,等. 基于數字式MEMS聲傳感器陣列的聲源定位系統設計[J].傳感技術學報,2013(8):1105-1109.
(責任編輯:杜能鋼)
王洪波(1984-),男,河南信陽人,中南民族大學計算機科學學院碩士研究生,研究方向為車載自組織網絡。
10.11907/rjdk.162895
TP319
A
1672-7800(2017)003-0097-03