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