目前基於麥克風陣列的聲源定位方法大致可以分為三類:基於最大輸出功率的可控波束形成技術、基於高分辨率譜圖估計技術和基於聲音時間差(time-delay estimation,TDE)的聲源定位技術。
基於TDE的算法核心在於對傳播時延的准確估計,一般通過對麥克風間信號做互相關處理得到。進一步獲得聲源位置信息,可以通過簡單的延時求和、幾何計算或是直接利用互相關結果進行可控功率響應搜索等方法。這類算法實現相對簡單,運算量小,便於實時處理,因此在實際中運用最廣。
GCC-PHAT
基於廣義互相關函數的時延估計算法引入了一個加權函數,對互功率譜密度進行調整,從而優化時延估計的性能。根據加權函數的不同,廣義互相關函數有多種不同的變形,其中廣義互相關-相位變換方法(Generalized Cross Correlation PHAse Transformation,GCC-PHAT)方法應用最為廣泛。GCC-PHAT方法本身具有一定的抗噪聲和抗混響能力,但是在信噪比降低和混響增強時,該算法性能急劇下降。
研究表明麥克風對的GCC-PHAT函數的最大值越大則該對麥克風的接收信號越可靠,也就是接收信號質量越高。
1、計算傳播時延
廣義互相關函數時延估計算法根據兩個麥克風信號的互相關函數峰值來估計時延值。在聲源定位系統中,麥克風陣列的每個陣元接收到的目標信號都來自於同一個聲源。因此,各通道信號之間具有較強的相關性。理想情況下,通過計算每兩路信號之間的相關函數,就可以確定兩個麥克風觀測信號之間的時延。
陣列中兩個麥克風的接收信號為:
其中s(t)為聲源信號,n1(t)和n2(t)為環境噪聲,τ1和τ2是信號從聲源處傳播到兩個麥克風陣元的傳播時間。相關參數可參見下圖:
互相關算法經常被用來做時延估計,表示為:
代入信號模型,則有:
此時因為s(t)和n1(t)互不相關,上式可以簡化為:
其中τ12=τ1-τ2,假設n1和n2是互不相關的高斯白噪聲,則上式可以進一步簡化為:
由相關函數的性質可知,當τ12=τ1-τ2時,Rx1x2(τ)取最大值,是兩個麥克風之間的時延。
互相關函數和互功率譜的關系:
在麥克風陣列信號處理實際模型中,由於存在混響和噪聲影響,導致Rx1x2(τ)的峰值不明顯,降低了時延估計的精度。為了銳化Rx1x2(τ)的峰值,可以根據信號和噪聲的先驗知識,在頻域內對互功率譜進行加權,從而能抑制噪聲和混響干擾。最后進行傅里葉逆變換,得到廣義互相關函數Rx1x2(τ):
其中φ12(w)表示頻域加權函數。廣義互相關時延估計算法框圖如下:
2、常用加權函數及其特點
相位變換加權函數的表達式為:
由上式可知,相位變換加權函數實質上是一個白化濾波器,使得信號間的互功率譜更加平滑,從而銳化廣義互相關函數。經過PHAT加權之后,Rx1x2(τ)廣義互相關函數的表達式為:
可以看出,經過PHAT加權的互功率譜近似於單位沖激響應的表達式,突出了時延的峰值,能夠有效抑制混響噪聲,提高時延估計的精度和准確度。
3、互相關函數
x(n)和y(n)的互相關函數是將x(n)保持不動, y(n)左移m個樣本點,兩個序列逐個相乘的結果,順序不能互換。但是,按照時域卷積的方式求互相關函數的方法計算復雜度較大,所以將在頻域進行操作(FFT和IFFT),即線性卷積的FFT算法。
兩個信號的互相關函數的頻域等於x信號頻域的共軛乘以Y信號的頻域。
4、近場和遠場
需要說明的是,GCC-PHAT算法是用在近場模型下的。
當聲源足夠遠時,麥克風陣列的直徑與聲源距離相比可W忽略,此時一般采用遠場模型。遠場模型認為聲源位於無窮遠處,麥克風接收到的聲波為平面波,此時我們僅考慮聲波的入射方向,而不考慮聲源相對於麥克風陣列的的距離。
當聲源的距離較近時,我們需要考慮聲源相對於麥克風陣列中的距離,此時遠場模型里不再適用,應當采用近場模型。近場模型認為麥克風接收到的聲波為球面波。近場模型更符合實際應用情況,能提供更多的聲源位置信息,提高定位的精度。
通常,判斷近場和遠場的經驗公式為:
其中d為麥克風陣列的直徑,λ為目標信號的波長,r為麥克風陣列和聲源之間距離。
在實際的近場模型應用中,麥克風陣列所接收到的信號主要包括3部分;聲源直達信號、經過牆壁或障礙物的反射信號以及環境噪聲信號。
SRP-PHAT
SRP-PHAT(Steered Response Power - Phase Transform) 基於相位變換加權的可控響應功率的聲源定位算法。
基於麥克風陣列的聲源定位方法很多,相位變換加權的可控響應功率SRP-PHAT聲源定位算法在混響環境中有較強的魯棒性,可實現真實環境中的聲源定位,因此該算法得到了廣泛應用。SRP-PHAT對陣型沒有特定要求,因此也適用於分布式陣列,事實上很多基於分布式陣列的定位系統采用了該算法。
SRP-PHAT算法的基本原理是在假想聲源位置計算所有麥克風對接收信號的相位變換加權的廣義互相關GCC-PHAT函數之和,在整個聲源空間尋找使SRP值最大的點即為聲源位置估計。SRP-PHAT對混響有較強的魯棒性,但是在低信噪比SNR(Signal-to-NoiseRatio)環境中其定位性能較差。
SRP-PHAT算法的計算流程如下:
其中, Q 為預先設定的搜索空間。
SRP-PHAT法是一種對窄帶和寬帶信號均可適用的有效方法, 得到了廣泛研究和應用。但是由於其全局搜索算法運算量較大,限制了該方法的實時性。
擴展
GCC時延估計中,信號x1和x2都采用理想模型,並沒有過多考慮混響噪聲,所以當混響較強時,GCC時延估計算法效果較差。而自適應最小均方算法采用麥克風信號的實際模型,通過自適應濾波產生h1(n)和h2(n),再從h1(n)和h2(n)中估計時延,可以有效抑制混響的影響。
實際模型中,第i個麥克風接收的信號xi(t)可以表示為:
其中aik表示第k條反射路徑到達第i個麥克風的能量衰減,τik表示對應的時延。*表示信號卷積,hi(t)稱之為房間單位沖激響應函數,從數學角度反映了房間互相的物理特性。麥克風陣列信號的實際模型見下圖:
如圖所示,實際模型中,麥克風接收信號不僅包括聲源的直達信號和環境噪聲,還包括語音信號在牆壁以及房間的其他物體之間重復反射再到達麥克風的信號,我們稱之為混響。
更多地,麥克風陣列信號的理想模型參見下圖:
如上圖所示,在理想模型中,假設麥克風陣列的所有陣元接收到的語音信號只包含直達信號與噪聲信號,噪聲信號為環境噪聲(高斯白噪聲),並且每個麥克風之間的噪聲相互獨立。
參考文檔: