麥克風陣列聲音定位簡介

2021-08-10 08:13:01 字數 2931 閱讀 8453

一般來說,基於麥克風陣列的聲源定位演算法劃分為三類:一是基於波束形成的方法;二是基於高解析度譜估計的方法;三是基於聲達時延差(tdoa)的方法。

波束形成(beamforming)

基於最大輸出功率的可控波束形成技術 beamforming,它的基本思想就是將各陣元採集來的訊號進行加權求和形成波束,通過搜尋聲源的可能位置來引導該波束,修改權值使得傳聲器陣列的輸出訊號功率最大。這種方法既能在時域中使用,也能在頻域中使用。它在時域中的時間平移等價於在頻域中的相位延遲。在頻域處理中,首先使用乙個包含自譜和互譜的矩陣,我們稱之為互譜矩陣(cross-spectral matrix,csm)。在每個感興趣頻率之處,陣列訊號的處理給出了在每個給定的空間掃瞄網格點上或每個訊號到達方向(direction ofarrival,doa)的能量水平。因此,陣列表示了一種與聲源分布相關聯的響應求和後的數量。這種方法適用於大型麥克風陣列,對測試環境適應性強。

beamforming 的基本工作原理圖:

上圖說明:使用波束形成演算法,先決條件是遠場聲源(近場聲源用 tdoa),這樣可以假設入射聲波都是平行的;平行的聲場,如果入射角度與麥克風平面垂直,則能同時到達各個麥克風,如果不垂直,則出現圖 1 的現象,聲場到達每個麥克風都會有延時,這個延時大小是由入射角度而定。

從該圖中可看出:不同的入射角度,疊加出來的最終波形強度是不一樣的。如θ=-45 度,幾乎沒有訊號,θ=0 度,微微有點訊號,θ=45 度,訊號達到最強。這說明把原來沒有極性的單支麥克風組裝成乙個陣列後,整個陣列是有極性的,可以引出下乙個極性圖。

上圖說明:每個麥克風陣列都是乙個方向陣,這個方向陣的指向性可通過時域演算法delay&sum 簡單實現,控制不同的 delay,實現不同方向的指向。這個方向陣指向可控相當於給了乙個空間濾波器,可以先把定位區域進行網格劃分,再通過每個網格點的 delay 時間對各個麥進行時域 delay,並最終把它 sum 起來,就可以算出每個網格的聲壓,最終得到每個網格的相對聲壓,就可以出雜訊源定位的全息彩圖了。

基於高解析度譜估計

基於高解析度譜估計的方法包括了自回歸 ar 模型、最小方差譜估計(mv)和特徵值分解方法(如 music 演算法)等,所有這些方法都通過獲取了傳聲器陣列的訊號來計算空間譜的相關矩陣。在理論上可以對聲源的方向進行有效估計,實際中若要獲得較理想的精度,就要付出很大的計算量代價,而且需要較多的假設條件,當陣列較大時這種譜估計方法的運算量很大,對環境雜訊敏感,還很容易導致定位不準確,因而在現代的大型聲源定位系統中很少採用。

聲達時間差(tdoa)

聲達時間差(tdoa)的定位技術,這類聲源定位方法一般分為二個步驟進行,先進行聲達時間差估計,並從中獲取傳聲器陣列中陣元間的聲延遲(tdoa);再利用獲取的聲達時間差,結合已知的傳聲器陣列的空間位置進一步定出聲源的位置。

下**釋了 tdoa 的基本工作原理。

紅點是雜訊源,黑點是麥克風,雜訊源到兩個麥(如麥 1,麥 3)的時延是乙個常數,通過這個常數,我們可以畫出綠色的雙曲線,雜訊源到麥 3,麥 2 的時延是另乙個常數,同樣地,我們可以畫出黑色曲線,兩條曲線相交,就是雜訊源的位置。

這種方法的計算量一般比前二種要小,更利於實時處理,但定位精度和抗干擾能力較弱,適合於近場,單一音源,而且不是重複性的訊號,如語音頻號,微軟 xbox360 的 kinect 的麥陣(4 個間距不等的一維陣)就是典型的 tdoa 演算法應用。

根據麥克風陣列聲源定位的原理,必須要同步採集多通道雜訊訊號,用於資料處理,這就必須得保證動態訊號的採集精度。其高科技的麥克風陣列的聲源定位系統主要採用ni pxi平台和cdaq平台,配合使用高效能動態資料採集卡,可完成多通道大資料量的精確採集。

軟體擬採用 signalpad 麥克風陣列模組,具體採用的演算法現在不能完全確定,需現場採集聲音特點,已經陣列的幾何尺寸、安裝位置、定位環境綜合考慮。多種演算法現場綜合比對之後,擇優選取。

光有優秀的演算法,採集硬體支援還不夠,還需要有優秀的麥克風支架設計技術。

傳聲器陣列是由一定數量的傳聲器按照一定的空間幾何位置排列而成的。陣列引數包括傳聲器的數目,陣列的孔徑大小,傳聲器陣元間距,傳聲器的空間分布形式等幾何引數;另外還包括指向性,波束寬度,最大旁瓣級等衡量陣列效能優劣的特徵引數。設計乙個好的陣列,需要同時考慮實際需求和器材的限制。理論上,應該採用最少的傳聲器,實現最好的識別效果。

傳聲器的數目和陣列孔徑決定了乙個陣列實現的複雜程度。陣列的傳聲器個數越多,佈線方式越複雜。陣列孔徑表示的是陣列在空間佔據的體積,陣列孔徑越大,結構實現越困難。傳聲器數目還影響陣列增益。由於陣列是在雜訊背景下檢測訊號的,陣列增益是用來描述陣列作為空間處理器所提供的訊雜比改善程度。一般來說,傳聲器數目和陣列增益成正比。

陣列要有較好解析度,要求有較大的孔徑 d;陣列要有較高的截止頻率,要求較小的陣列間距。孔徑大間距小時相互矛盾的,如果都要滿足只能增加傳聲器的數目。在實際使用中往往針對具體的被測物件來權衡設計。

常用的陣列如下圖所示:基本可以劃分為規則幾何形狀的陣列,和非常規陣列。規則幾何形狀陣列,包括線性陣列,十字形陣列,圓形陣列,螺旋形陣列等,這些都是規則幾何形狀的陣列型別,此外還有更為複雜的不規則陣列型別。 不規則的陣列二個傳聲器的位置向量方向不同,位置向量是線性無關的,從而能夠很好的避免重複空間取樣,抑制混疊效應,有效的減少鬼影的出現。但是不規則陣列在製造安裝運輸方面有著較高的成本。

原**:

Audio音訊興趣拓展 麥克風陣列 聲音定位

一般來說,基於麥克風陣列的聲源定位演算法劃分為三類 一是基於波束形成的方法 二是基於高解析度譜估計的方法 三是基於聲達時延差 tdoa 的方法。波束形成 beamforming 基於最大輸出功率的可控波束形成技術 beamforming,它的基本思想就是將各陣元採集來的訊號進行加權求和形成波束,通過...

麥克風聲源定位原理 球形麥克風陣列設計

要設計球形麥克風陣列 sma 並保證麥克風在球面等距離分布 可以理解為,球面上任一麥克風與相鄰麥克風的距離相等 需要給出每個麥克風的具體座標位置。球面上的麥克風最終組成乙個規則的凸包多面體 參見platonic solid 麥克風座標數值解法其實是乙個thomson problem。1 首先建立單位...

C 採集麥克風話筒聲音

第一步 在引用了sharpcapture.dll之後,呼叫sharpcapture方法之前,一定要先通過下面 來設定授權資訊,如果是試用版,直接輸入test即可。keymgr.setkey test 從之前的一篇博文中,我們介紹了一張圖看懂sharpcapture,從那篇文章我們可以看出,sharp...