羅 倩
(北京信息科技大學 信息與通信工程學院,北京 100192)
使用麥克風陣列的聲源定位技術(shù)能在嘈雜背景下實現(xiàn)聲音降噪、語音增強、智能交互、智能家居控制等[1-4]。在實際語音通信環(huán)境中,不僅存在環(huán)境噪聲,多數(shù)場合下還存在聲音的多路徑反射和混響等問題,并且講話者有時是運動的,這些因素都會降低單個麥克風接收信號的信噪比,導致語音通信質(zhì)量的下降。引入麥克風陣列可以很好地解決上述問題[5-6]。麥克風陣列是由多個麥克風按照一定的拓撲結(jié)構(gòu)組成的陣列,對空間傳播的聲音信號進行采樣,采樣信號包含了空間位置信息。麥克風陣列聲源定位通過對各陣元信號的到達時延(time delay of arrival,TDOA)進行估計[7-9],定位聲源位置,計算量較小,可以獲得較好的定位效果,易于實時實現(xiàn)[10-11]。利用時延補償和空間濾波方法,又可進一步對來自聲源的信號進行增強,達到抑制噪聲的效果[1,12-13]。
為了加強“信號與系統(tǒng)”教學中實驗教學與理論教學的相互結(jié)合,加強學生對信號處理技術(shù)的認知,培養(yǎng)學生自主學習和獨立解決復雜問題的能力,建立了使用麥克風陣列實現(xiàn)聲源定位的實驗教學系統(tǒng),并應(yīng)用在大學生開放實驗項目中。通過利用麥克風陣列進行語音信號采集,并處理多個麥克風傳感器間的空域和時域信息, 較好地實現(xiàn)了聲源定位。
均勻線陣是常見的陣列結(jié)構(gòu),其中有N 個麥克風等間距地排列在一條直線上。實驗中采用遠場模型。在遠場模型中,聲源到達麥克風陣元之前為平面波,到達麥克風陣列的方向角是相同的,忽略各陣元接收信號間的幅度差,近似認為各接收信號之間是時延關(guān)系。利用麥克風陣列估計聲源到達不同陣元間的時間差,可以實現(xiàn)聲源方向和距離的估計?;谘訒r估計的方法分為兩步,首先進行聲達延時估計,再利用聲達時間差,結(jié)合已知的傳聲器陣列的空間位置,確定聲源位置,以達到聲源定位的目的。
圖1 是麥克風陣列聲源定位的原理圖。其中:d是兩個麥克風陣元間的間距,c 是聲音在空氣中的傳播速度,θ 是聲源的方向角,r 是聲源到麥克風陣列中心的距離, s ( n )是未知聲源信號, yi( n )表示第i 個麥克風接收到的信號:
其中:αn( n=1,2, … , N)在0~1 之間,是傳播衰減因子,在遠場模型中可忽略;t 表示信號從聲源傳播到麥克風直線陣列中心的傳播時間; vi( n) 表示在第i 個陣元上接收到的加性噪聲,假設(shè)噪聲與語音信號以及其他陣元的噪聲信號互不相關(guān);τ 為中心麥克風陣元與相鄰麥克風陣元所接收到的信號的時延差。這里假設(shè)使用的麥克風陣列模型為位于遠場環(huán)境中的均勻直線陣列。
圖1 麥克風陣列聲源定位原理圖
延時估計算法可以通過計算兩個陣元接收信號的互相關(guān)函數(shù)來實現(xiàn),找到使互相關(guān)函數(shù)最大的點,該點可確定這兩個信號的時間差。
離散信號的互相關(guān)函數(shù)為:yj( n) 表示第j 個麥克風接收到的信號。在實驗時,采用時間平均代替集合平均:
Ryiyj( m )在時達到其最大值:
在計算時,可以采用快速傅里葉變換并通過反變換計算互相關(guān)函數(shù)的最大值。根據(jù)互相關(guān)函數(shù)峰值的尖銳程度,可以判斷時延估計性能的好壞。在處理時,對麥克風接收信號進行加窗分幀,每幀長度為512 點,后一幀與前一幀重疊256 點,用漢明窗對信號進行加窗處理。式(4)中估計的是i 和j 陣元一幀數(shù)據(jù)互相關(guān)函數(shù)的最大值點。對各幀估計的進行平均可得到,作為輸出結(jié)果。
于是所估計的 yi( n) 和 yj( n )之間的延遲為:
其中sT 為采樣周期。
麥克風陣列中一般有多個麥克風,一般N>3,每兩個麥克風都可以得到一個角度估計值,N 個麥克風就會有N(N?1)/2 個角度估計值。記每個角度估計為θk, k =1,2,…, N ( N-1) /2。角度估計的所有信息彼此并不獨立,存在冗余。實驗中將估計出所有組合的角度值,并利用最小二乘法求出最優(yōu)解,這樣可以利用所有陣元的信息來提高角度估計的準確性和魯棒性。采用最小二乘法求解時,設(shè)總的誤差平方和為ε :
這樣可以得到聲源方向的估計?θ,其值也是所有估計kθ 值的均值。
通過計算聲源到各麥克風之間的距離差,可以進一步估計聲源距離r。
如圖2 所示,假設(shè)聲源到麥克風Mic0和Mic1的距離差為c ?τ01,聲源到麥克風Mic0和Mic2的距離差為c ?τ02,聲源的坐標為(x,y),則可由下列方程組求得聲源相對原點的距離r:
由此,可以定位聲源的距離。
圖2 聲源距離幾何關(guān)系
實驗采集系統(tǒng)由聲望公司的4 個MPA416 駐極體全向麥克風、NI 公司的1 個USB9234 四通道數(shù)據(jù)采集卡和計算機共3 部分組成,NI 數(shù)據(jù)采集卡通過USB接口與計算機相連。NI 數(shù)據(jù)采集卡如圖3 所示,每通道以采樣頻率25.6 kHz 進行同步采樣,量化精度為16 bit。
圖3 NI USB9234 數(shù)據(jù)采集卡
聲源定位實驗環(huán)境是一個8 m×6 m×3 m 的自然環(huán)境長方體實驗室,由4 個麥克風傳感器組成的直線陣列接收聲音信號,它們位于高160 cm 處,對應(yīng)多數(shù)人說話的位置。實驗系統(tǒng)如圖4 所示。麥克風陣元之間的間距為d=6 cm,聲速為c=340 m/s,以4 個麥克風的直線陣列中心為坐標原點。實驗室噪聲信號為高斯白噪聲,信噪比約為20 dB,聲源為單聲源。麥克風陣列采集系統(tǒng)示意圖如圖5 所示。
圖5 直線麥克風陣列采集系統(tǒng)示意圖
為了保證短時平穩(wěn)性,對采集數(shù)據(jù)進行加窗分幀處理,采用漢明窗,每幀512 點,每幀信號與前幀信號重疊256 點,并將各幀信號估計結(jié)果進行平均。
實驗中,分別采集30°、45°、60°、90°、120°、145°和150°各方向,距離線陣中心距離為4 m、5 m、6 m 的定點聲源的語音或手機鈴聲等信號。4 個通道采集的聲音波形示例如圖6 所示。
圖6 4 個麥克風采集的信號波形圖
對采集的定點聲源信號進行延時估計,將結(jié)果在幀間進行平均,并對各個估計值求最小二乘估計。不同聲源方向角度估計的實驗結(jié)果見表1,不同聲源距離估計的實驗結(jié)果見表2。
表1 不同聲源方向角度估計實驗結(jié)果
表2 不同聲源距離估計實驗結(jié)果
從表1 和2 中可以看出,本實驗實現(xiàn)了對聲源方向和距離的比較準確的估計,方位角度定位精度為±1.74°,距離定位精度為±0.18 m。由于本實驗采用了較高的采樣率,進行了數(shù)據(jù)分幀,在幀間進行了估計值的平均處理,并充分利用了各冗余陣元的信息,采用了最小二乘估計算法,因此獲得了較好的定位效果。
本文設(shè)計了基于麥克風陣列的聲源定位實驗系統(tǒng),設(shè)計了基于延時估計的麥克風陣列聲源定位算法,通過充分利用麥克風陣列采集的時域和空域信息,利用幀間估計值平均以及麥克風陣列各陣元信息的最小二乘處理,獲得了較好的聲源定位效果。實驗可以有效地提取聲源的方位和距離,使學生將理論與實際應(yīng)用相結(jié)合。通過實驗,有效地培養(yǎng)了學生的綜合素質(zhì)和創(chuàng)新能力。