?

聲源定位算法反饋機制的引入

2024-04-18 03:49周龍杰趙思屹馬洪宇
實驗室研究與探索 2024年1期
關鍵詞:估計值麥克風聲源

周龍杰, 趙思屹, 馬洪宇

(武漢大學物理科學與技術學院,武漢 430072)

0 引 言

聲源定位是指通過探測器探測聲源發出的聲波反向追溯聲源的位置。聲源定位系統不同于雷達等主動聲吶系統,其不主動發出聲波,屬于一種被動聲吶系統。隨著科技的發展,越來越多的領域需要用到聲源定位:軍事[1-2]、視頻會議[3]、機器人搜救[4]和故障排除[5]等。

通常有兩種方法實現聲源定位:可控功率響應法[6](Steered response power,SRP)、基于時延估計定位法[7](Time delay of arrival,TDOA)。這兩者均需要用到不同幾何形狀的麥克風陣列(線陣、面陣,體陣),對錄制到的音頻使用不同的算法估計時延。不同的是,前者屬于直接定位方法,需要對待測空間的功率響應進行全局搜索,峰值位置即為估計出的聲源位置。后者屬于兩步間接定位法,在估計出時延后,結合麥克風陣列的幾何分布求解非線性雙曲方程組或者求解四維空間中的超錐擬合問題[8]來估計聲源位置。

在間接定位中時延估計的準確性將直接影響聲源定位的結果,如何準確估計時延是該類定位問題的重中之重。通常在其他條件不變的情況下,麥克風數量越多[9]、用于計算的音頻越長[10]得到的估計結果越準確。在實時定位系統中,不可能一味地增加麥克風數量和增長單次錄制的音頻長度,需要在有限的麥克風數和音頻長度中得到準確的估計結果?,F有的研究大多數都集中在提出更有效的定位方法,使定位系統具有較高的抗噪、抗混響以及準確定位的性能。改進定位方法費時費力且針對性過強不具有普適性。如能在時延估計算法中提出一種普適的反饋機制,使得系統在估計出時延之后自動評估結果的合理性,則可更簡單地提高定位方法的抗噪性、抗混響性和穩定性。本文結合麥克風陣列的幾何分布,在時延估計過程中提出簡單普適的反饋機制,并將其運用在二維平面內的五元十字麥克風陣列定位的情形下。在Matlab 編譯環境下進行實驗仿真,搭建一套線下定位系統付諸實踐。

1 時延估計算法及反饋機制

1.1 基于廣義互相關函數的時延估計

以距離為d的一對麥克風為例(見圖1(a)),其中一個麥克風接收到的聲音信號

圖1 基于廣義互相函數的時延估計

式中:αn為衰減系數;Nn為線性無關的高斯白噪聲;tn為聲音信號傳到n號麥克風所需時間(n=1,2);S(t)為聲源信號。所以到達兩麥克風的時延τ12=t1-t2。對信號進行傅里葉變換

定義廣義互相關函數

式中:G=X1(ω)X*2(ω);φ為加權函數,最常用的是phat加權函數,能夠起到銳化峰值的作用[11]。

在弱混響的情況下,式(3)可以近似為:

W(t)可近似地看成δ 函數,且當t=τ12時,W(t)取最大值。因此,可通過計算兩段音頻的互相關函數求得互功率譜,互功率譜峰值對應的值即為時延的估計值(見圖1(b))。

1.2 反饋機制

傳統時延估計方法通常只是對信號的互功率譜尋峰估計,并不能立即判斷估計值的正確性?,F實生活中聲音信號復雜多變,可能在某一次估計的時候噪聲過大,導致傳統定位算法難以得到準確結果。如能引入一個反饋機制,使得定位系統能在估計出時延后及時判斷并跳過噪聲過大導致定位不準確的片段,則可大大提高定位結果的準確率。

對于擁有n個麥克風的陣列,具有一定的幾何分布,估計來的Num =個時延之間存在確定的內在聯系。因此可基于這一內在聯系,設計一個反饋機制檢驗該次時延估計的合理性,提高時延估計的準確性。

通常時延分布有以下特性:

(1)時延存在最值。對于任意2 個相距d的麥克風M1、M2,如果已知聲音信號到達2 麥克風的時延為τ12,則可計算聲源到2 個麥克風的距離差Δr(見圖1(a))。對于同一組麥克風(M1,M2),時延相等的聲源位置是雙曲線的一支(見圖2),其中時延在2 麥克風連線的外側上取到最大值τmax=d/v(v為聲速)、在2麥克風的垂直平分線上時延為0 s。由于麥克風選取的任意性,一個擁有n個麥克風的陣列對應的Num =個時延均滿足上述性質。

圖2 時延分布圖(d =80 cm)

(2)零時延值分布在垂直平分面上。當聲源位于2 個麥克風的垂直平分面時,其對應的實際理想時延為0 s。如果考慮擁有n個麥克風的陣列,則其Num個時延估計結果中零時延的數量并非是0-Num之間連續取值的。以五元十字麥克風陣列為例,在單次估計的10 個時延中,為零值的數量只可能為0、1、2、4、6個(如圖3 所示,其中6 個零時延對應的聲源位置在中心麥克風處)。

圖3 五元十字麥克風陣列的小時延位置分布

在實際情況中,由于噪聲等環境因素的影響和時間分辨率的限制,估計的時延值不可能剛好是0 s,而是接近于0 s的小值(時延估計值小于某一指標h,這里h取1 個時間分辨率)。這些小值的分布情況與零時延值的分布類似,對于單次估計的Num 個估計值,其為小值的數量只可取0、1、2、4、6。出現小值的聲源位置相對來說定位更加困難,故稱這些位置為定位盲區。需要對于較小的估計值單獨進行考慮。如果小值總數不滿足上述的規律,則該組時延估計結果一定不準確。

(3)時延之間具有線性相關性。對于任意3 個麥克風m、p、q,其到聲源的距離Rm、Rp、Rq有如下關系:

兩側同時除以聲速v可得

式中,τmp、τmq、τpq為指聲源信號到達不同麥克風的理論時延值。

在實際情況中,時延的估計值總會存在誤差。在誤差允許范圍的情況下,式(6)應該增加一個誤差修正項:

式中:τ^為時延估計值;Δ 為人為給定的時延估計的誤差指標。

在實際測試中,為準確對聲源進行定位往往需要用到多個麥克風,如果使用了n個麥克風,則有Num =個時延。這些時延并非完全獨立,或者說它們是線性相關的(即滿足式(7))。事實上,在傳統方法中只是代入對應2 個麥克風接收到的音頻進行估計,并沒考慮同一次測量的不同時延之間內在聯系,這會造成定位不準確。

綜上所述,對于擁有n個麥克風的陣列而言,一次合理的時延估計應該同時滿足:

(1)存在最大值τmax=d/v。

(2)對于時延的估計值,小值的總數應該滿足確定的分布。

(3)在誤差允許的情況下,各時延之間應該滿足式(7)的線性關系。

在實時的定位過程中,可在錄制極短的音頻后就開始時延估計,經過反饋機制的判斷,再確認是輸出合理的結果還是錄制下一段音頻(見圖4)。

圖4 引入反饋機制后的時延估計流程

為驗證反饋機制的引入是有效的,在Matlab 仿真程序中進行預實驗。預實驗使用的是五元十字麥克風陣列,通過改變聲源的位置來改變時延的真實值τ,估計值與真實值τ的偏小于1 倍分辨率(本實驗為1/48 000 s)時,則認為估計值是準確的。在不同R0(聲源到2 麥克風連線的中點的距離)處設置一系列信噪比(SNR),同一SNR 下進行104次實驗,比較改進前(有反饋)、后(無反饋)時延估計值的準確率。其中改進前是指采集0.1 s音頻直接代入定位算法;改進后是指采集0.4 s音頻,然后將音頻平均分為4 段,按照圖4 的流程代入定位算法。

如圖5 所示,在信噪比相同的情況下,隨著距離R0的增加時延估計的準確率在下降。在R0相同的情況下,時延估計的準確率隨著SNR 的增大而增大,并且改進后的準確率均要高于改進前。這說明引入反饋機制后能提升時延估計的準確率,時延估計算法的抗噪性得到了提高,改進是有效的。

圖5 算法改進前、后時延估計準確率對比

2 定位算法

定位問題可總結為在最小誤差的情況下,求得聲源坐標。上述問題是非線性的,難以直接解決,可利用球形插值法(Spherical-Interpolation Method)將問題轉化為線性最小二乘問題[12-13]。該最小二乘問題的解:

其投影矩陣:

式中,I為指單位矩陣。

利用時延估計算法得到的時延計算距離差的估計值δr^后,代入式(11)可解得聲源坐標估計值。

本實驗使用五元十字麥克風陣列在二維平面上進行聲源定位。麥克風M1~M4到中心麥克風M0的距離相等(見圖6(a)),記麥克風陣列孔無特別申明后文實驗中的d=80 cm。以M0為原點建立如圖6 所示的坐標系后,即可使用式(11)求解聲源位置。

圖6 五元十字麥克風陣列

3 實驗結果

在Matlab 仿真程序中使用五元十字麥克風陣列進行定位實驗,比較聲源坐標的估計值X^、Y^和聲源坐標的實際值X、Y,如果定位結果滿足,則認為該次定位準確。本實驗利用image方法[14-15]在5 m×5 m×5 m房間內產生聲音信號,聲源位于距離坐標原點不同R0的多個環形區域,在不同SNR和混響時間的情況下進行多次仿真,比較改進前、后定位準確率。在混響時間為0.25 s且SNR為-10 ~0 dB 的情況下進行多次實驗。如圖7(a)所示,在不同的距離R0處定位準確率均隨著SNR 的增加而增加,且改進后定位準確率均要高于改進前。如圖7(b)所示定位準確率的增幅在0 ~0.25 之間不等。在SNR為0 dB且混響時間為0.15 ~0.40 s的情況下進行多次仿真實驗。如圖8(a)所示,在不同的距離R0處定位準確率均隨著信混響時間的增加而增加,且改進后定位準確率均要高于改進前。如圖8(b)所示,定位準確率的增幅在0 ~0.20 之間不等。由此可見,改進后的算法的抗混響性得到了較好的提高。

圖7 不同信噪比下實驗結果

圖8 不同混響時間下的實驗結果

在以坐標原點為圓心,半徑為120 cm的圓形區域對定位準確率進行仿真(SNR =0 dB,混響時間t=0.25 s)。同樣的,如果定位結果滿足,就認為本次定位是準確的。

如圖9(a)、(b)所示,在某一個方向上,隨著聲源到原點的距離R0增大,準確率下降。當R0增大到1.5d=120 cm時,已經難以得到較為準確的結果。而在距離R0一定情況下,靠近軸的部分定位準確率不佳(如圖9(c)、(d)所示)。該結果有很強的中心對稱性,這與麥克風陣列中心對稱有關。相比較而言,改進后的定位結果要明顯的優于改進前,并且原來盲區的定位準確度有著大幅度的提升。

圖9 時延準確率分布圖

圖9 顯示的定位準確度是關于原點中心對稱,只需研究第1 象限中的定位結果。在第1 象限內控制聲源到原點的連線與X軸的夾角φ =45°,改變聲源到原點的距離R0進行定位仿真。同一個位置在SNR =0 dB、混響時間t=0.25 s的情況下重復103次,計算出定位結果的均值和標準差(結果見表1、2)。為直觀看到仿真定位結果,將定位結果表示為估計值-實際值圖。如圖10 所示,在R0=0 ~80 cm 的范圍內改進后的估計值要更加接近實際值,此外改進后標準差要明顯小于改進前,并且隨著R0的增大標準差的差異更明顯。這說明在R0=0 ~80 cm時,引入反饋機制后聲源定位算法的精確性和穩定性均得到了提高。

表1 改進前仿真定位實驗結果

表2 改進后仿真定位結果

圖10 改進前仿真定位實驗結果

圖11 改進后仿真定位實驗結果

為驗證定位仿真的結果,本實驗搭建了一套五元十字麥克風陣列(見圖6(b)),并在室內走廊進行了定位實驗。定位結果見表3,坐標估計值保留到整數位,大多數估計值與實際值的偏差在1 cm以內,這一實驗結果與仿真定位實驗相符。這說明該設備能夠實現厘米級精度的定位。

表3 定位結果(保留到整數位)

4 結 語

本文通過在時延估計算法中引入一種普適的反饋機制,提高了時延估計的準確率,實現更高精度的聲源定位,在實驗仿真的支持下最終搭建了一臺cm 級的聲源定位設備。實驗仿真發現,引入反饋機制后該聲源定位算法的抗噪性、抗混響性均有了不同程度的提升,定位的準確率的增幅最大可達20%,并且改進后對同一位置多次測量結果的標準差也要小于改進前,這說明引入反饋機制后,定位的穩定性更高。此外實驗仿真表明,在SNR =0 dB、混響時間為0.25 s的情況下,對于孔徑d=80 cm 的五元十字麥克風陣列來說,其最大定位極限在120 cm 處。實際搭建的設備對虛擬仿真結果進行實際驗證,發現可以實現cm 級的定位,與仿真定位實驗的結果相符。該反饋機制只是根據麥克風陣列的幾何形狀引入的,不依賴于時延估計方法的選取。通過引入這一普適的反饋機制,使得聲源定位算法的抗噪性、抗混響性和穩定性均有提高。該反饋機制對于噪聲較大、混響較強環境下的聲源定位具有一定的應用價值。

猜你喜歡
估計值麥克風聲源
虛擬聲源定位的等效源近場聲全息算法
一道樣本的數字特征與頻率分布直方圖的交匯問題
Binaural Rendering based on Linear Differential Microphone Array and Ambisonic Reproduction
基于GCC-nearest時延估計的室內聲源定位
基于數字麥克風的WIFI語音發射機
統計信息
2018年4月世界粗鋼產量表(續)萬噸
麥克風的藝術
運用內積相關性結合迭代相減識別兩點聲源
麥克風
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合