声源定位方法_声源定位算法
目錄
1. TDOA簡介
2. 時延估計
3. 定位估計
4. 聲源定位
根據現有的研究成果來看,聲源定位(Sound Source Localization, SSL)存在以下幾種方法:基于最大輸出功率的可控波束成形的定位方法、基于高分辨譜估計的定位方法和基于到達時延差(Time Difference of Arrival,TDOA)估計的定位方法,以及基于機器學習的方法。其中基于時延估計的定位方法計算量小,實時性好,實用性強等特點,我們就先介紹這種較為簡單的聲源定位算法。基于TDOA的方法一般分為兩步,首先計算聲源信號到達麥克風陣列的時間差(時延估計),然后通過麥克風陣列的幾何形狀建立聲源定位模型并求解從而獲得位置信息(定位估計)。
1. TDOA簡介
首先介紹下TDOA的概念,如圖所示,假設我們在空間中有一個聲源(記為s(t),其在空間的位置為S)兩個麥克風(記為m1和m2,它們在空間的位置分別為M1和M2,接收到的信號為x1(t)和x2(t)
那么麥克風m1和m2收到的信號分別為:
其中τ1和τ2分別是聲源到達兩個麥克風的延遲時間,n1(t)和n2(t)為加性噪聲。那么聲源信號到達兩個麥克風的TDOA為
τ1和τ2可以通過下式計算
其中c是聲速。一般情況下,我們選擇一個麥克風的信號作為參考信號,例如我們把M2作為參考信號,那么τ2=0。在麥克風陣列幾何形狀已知的情況下,聲源定位問題變為對時延的估計問題。
2. 時延估計
時延估計常用的有很多種比如使用廣義互相關函數(Generalized Cross Correlation, GCC)估計時延,或者使用倒譜分析進行時延估計等,這里介紹常用的基于廣義互相關函數時延估計方法。
互相關函數我們以前已經介紹過了,而廣義互相關函數是為了減少噪聲和混響在實際環境中的影響,在互功率譜域使用加權函數加權,然后經過IFFT運算后找到峰值估計時延,其流程如下圖所示:
廣義GCC計算公式為:
其中Ψ12為頻域加權函數,常用的有如下幾種
Gx1x2(ω)為互頻譜,其計算公式為:
最后我們就可以通過式(8)估計語音信號到達兩個麥克風的時延了。
3. 定位估計
如果要確定出聲源在二維平面內的位置坐標,都至少需要三個麥克風。對于兩個麥克風的情況,我們只能計算到達角(Direction of Arrival, DOA)。在介紹如何定位估計前需要先區分下近場(near-field)和遠場(far-field),假設聲速波長為λ,麥克風之間的距離為d(有的地方稱為孔徑,aperture),那么聲源與麥克風之間的距離r大于2d2/λ時,符合遠場模型,反之則為近場模型。對于遠場模型來說,聲源到達麥克風陣列的波形視為平面波,如下圖所示:
此時根據麥克風陣列的幾何關系,我們有
進而可以求出,聲源相對麥克風陣列的角度
對于近場模型來說,聲源到達麥克風陣列的波形視為球面波,如下圖所示:
近場模型需要三個麥克風,我們假設τ12,τ13分別為第二和第三個麥克風與第一個麥克風的時延,那么
根據麥克風陣列的幾何關系,我們得到
其中τ12,τ13通過時延估計得到,因此可以求解公式(11)到(13)的方程組,進而使用正弦定理可以得到θ2和θ3。
4. 聲源定位
在麥克風孔徑不大的情況下,一般都符合遠場模型(不信讀者可自己算一下),因此這里應用遠場模型進行聲源定位。聲源位置在大約在45度角,麥克風之間的距離為0.15m,48 kHz的采樣率,使用gcc-phat進行時延估計,結果如下圖所示(代碼和數據還是在公眾號菜單More->Code里面)。
可以看到大體上方向還是被正確估計到,想必聰明的讀者已經發現了聲源定位的一些數據可以進行VAD結果的判定。這里的Demo比較簡單,采用的是單源自由場模型,真實情況下需要考慮更多的問題,比如房間的混響,噪聲,聲源個數等問題。另外gcc-phat只能用于雙麥克風陣列,如果你有多個麥克風,可以使用Spatial Linear Prediction Method 方法去利用麥克風之間的冗余信息獲得更為精確的定位結果。此外波束成形(Beam forming, BF)和聲源定位聯系比較密切,因為時延和BF所要求的導向量等價,因此也有基于BF的聲源定位算法。最后提一下機器學習/深度學習的定位方法,前面的流程還是不變,只是最后通過最大值估計時延的這一步換成了使用機器學習模型來估計時延,即模型輸入為gcc-phat,輸出結果為時延。然后根據這個時延進行聲源定位。
參考文獻:
[1].https://www.canalu.tv/video/inria/time_difference_of_arrival_tdoa.33273
[2]. Springer, Micrphone Array Processing,2008
總結
以上是生活随笔為你收集整理的声源定位方法_声源定位算法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何批量将dwg文件转换为pdf文件
- 下一篇: 13个免费资源网站,你想要的全都有!【各