王 荔,張小博,陳 龍
(1.北京中電慧聲科技有限公司,北京 100015;2.中國(guó)電子科技集團(tuán)公司第三研究所,北京 100015)
基于麥克風(fēng)陣列的聲源定向是語(yǔ)音信號(hào)處理中的一個(gè)重要問(wèn)題,在視頻會(huì)議、智能監(jiān)控、人機(jī)語(yǔ)音交互等領(lǐng)域有著廣泛應(yīng)用[1-3]?;邴溈孙L(fēng)陣列的聲源定向方法大致可以分為基于到達(dá)時(shí)間差的定向方法、基于最大輸出功率的可控波束形成方法和基于高分辨譜估計(jì)的定向方法[4-6]3 類(lèi)。本文研究的基于頻域Bark 子帶的波束掃描聲源定向方法屬于基于高分辨譜估計(jì)的定向方法。
由于語(yǔ)音信號(hào)屬于寬帶信號(hào),傳統(tǒng)基于高分辨譜估計(jì)的聲源定向方法在處理寬帶信號(hào)時(shí)大多采用子帶波束掃描方法,根據(jù)均勻子帶劃分的方式,將語(yǔ)音信號(hào)按照頻帶連續(xù)的原則分割成若干個(gè)相同帶寬間隔的子帶。先在各子帶求取空間譜,再將多個(gè)窄帶空間譜進(jìn)行平均,最終得到譜估計(jì)[7]。然而,語(yǔ)音信號(hào)能量大多集中在低頻段(小于3 400 Hz),并不是在每個(gè)頻段都一直包含語(yǔ)音成分,如有些波段可能僅包含了噪聲[8]。傳統(tǒng)方法并未充分利用語(yǔ)音信號(hào)的頻率特性,采用全頻帶定向,易受噪聲波段影響,存在定向精度有限和計(jì)算復(fù)雜度高的問(wèn)題,且在低信噪比情況下算法極易失效。
人的耳蝸在處理聲音信號(hào)時(shí),具有與頻譜分析儀類(lèi)似的功能。耳蝸的基底膜對(duì)聲音信號(hào)有頻率選擇作用。在20~22 050 Hz 范圍內(nèi)的頻率,可劃分為25 個(gè)頻率群。頻率群的劃分相當(dāng)于將基底膜劃分成許多很小的部分,每部分對(duì)應(yīng)一個(gè)頻率群。這個(gè)頻率群的頻率范圍被稱(chēng)為不等帶寬(Bark)子帶。人耳所聽(tīng)到的聲音在同一頻率群中能量互相疊加,構(gòu)成了人耳聽(tīng)覺(jué)特性的臨界帶頻率分布[9-10]。受人耳聽(tīng)覺(jué)選擇性的啟發(fā),考慮Bark 子帶具有以下優(yōu)點(diǎn):(1)Bark 子帶劃分充分利用人耳聽(tīng)覺(jué)的感知特點(diǎn),對(duì)信號(hào)低頻刻畫(huà)較細(xì)致;(2)用較少Bark子帶計(jì)算代替大量頻帶計(jì)算,能降低運(yùn)算復(fù)雜度,便于實(shí)時(shí)實(shí)現(xiàn)。因此,本文提出了一種基于Bark子帶的波束掃描聲源定向方法。
全文結(jié)構(gòu)設(shè)計(jì)如下:第1 節(jié)將介紹寬帶麥克風(fēng)陣列輸出信號(hào)模型,第2 節(jié)將介紹提出的方法,第3 節(jié)給出計(jì)算機(jī)仿真實(shí)例來(lái)驗(yàn)證算法的性能,第4節(jié)總結(jié)全文。
以均勻圓陣為例,建立信號(hào)處理數(shù)學(xué)模型。假設(shè)寬帶信號(hào)s(t)從遠(yuǎn)場(chǎng)入射到一個(gè)由N個(gè)各向同性麥克風(fēng)均勻分布的圓陣上,圓陣半徑為r,令陣列中心(圓心)為參考原點(diǎn)。設(shè)入射信號(hào)俯仰角為φ0=90°,方位角為θ0∈[0°,360°]。各個(gè)麥克風(fēng)陣元的噪聲為空間白噪聲,即各個(gè)噪聲之間相互獨(dú)立。此外,噪聲與信號(hào)之間相互獨(dú)立。均勻圓陣觀測(cè)模型及遠(yuǎn)場(chǎng)信號(hào)傳播示意圖如圖1 所示。
信號(hào)s(t)的傳播矢量為:
用dn表示陣元n的位置矢量,則信號(hào)到達(dá)陣元n相對(duì)于到達(dá)參考原點(diǎn)的傳播時(shí)延τn為:
式中,c為信號(hào)傳播速度。
于是,第n個(gè)陣元時(shí)域輸出可以寫(xiě)為:
式中,vn(t)為第n個(gè)陣元的噪聲。
假設(shè)陣列數(shù)據(jù)觀測(cè)時(shí)間為T(mén)0(T0>>τn,n=1,…,N),第n個(gè)陣元頻域輸出可以寫(xiě)為:
式中,S(ωk)為頻點(diǎn)ωk處信號(hào)的有限時(shí)間傅里葉變換,vn(ωk)為頻點(diǎn)ωk處第n個(gè)陣元上噪聲的有限時(shí)間傅里葉變換。
對(duì)于N元陣列,陣列頻域輸出信號(hào)矢量具有下述形式:
式中,a(ωk,θ0)為信號(hào)在頻點(diǎn)ωk處的導(dǎo)向矢量,v(ωk)為頻點(diǎn)ωk處的噪聲矢量。
經(jīng)典的子帶波束掃描方法是根據(jù)均勻子帶劃分的方式,將寬帶信號(hào)按照頻帶連續(xù)的原則分割成若干個(gè)相同帶寬間隔的子帶,再分別對(duì)每個(gè)子帶數(shù)據(jù)求取空間譜,然后對(duì)所有子帶空間譜進(jìn)行平均,利用平均空間譜搜索,估計(jì)最終寬帶信號(hào)的波達(dá)方向。由于語(yǔ)音信號(hào)并不是在每個(gè)頻段都一直包含語(yǔ)音成分,很大部分時(shí)間里有些波段可能僅包含噪聲特點(diǎn),因此采用全頻帶定向很容易出現(xiàn)較大角度估計(jì)誤差,且計(jì)算復(fù)雜度高,很難實(shí)時(shí)處理。為解決上述問(wèn)題,結(jié)合語(yǔ)音信號(hào)的頻譜特性和耳蝸的分頻特性,提出了一種基于Bark 子帶的波束掃描定向方法。
本文采用Capon 設(shè)計(jì)準(zhǔn)則,即要求對(duì)應(yīng)于頻點(diǎn)ωk的子帶波束主瓣指向某一方向θ的輸出功率不變,使總輸出功率最小化,則子帶波束形成器的權(quán)矢量可按式(8)進(jìn)行設(shè)計(jì):
式中,Rxx(ωk)為頻點(diǎn)ωk處陣列頻域輸出的協(xié)方差矩陣。它的估計(jì)方法是先選取陣列數(shù)據(jù)觀測(cè)時(shí)間T0內(nèi)snap幀語(yǔ)音數(shù)據(jù),每幀點(diǎn)數(shù)wlen,利用離散傅里葉變換將snap幀數(shù)據(jù)分別變換至wlen個(gè)公共處理頻點(diǎn),然后對(duì)各幀所得到的對(duì)應(yīng)于相同頻點(diǎn)的頻域數(shù)據(jù)進(jìn)行平均,即:
式中,xp(k)為第p幀語(yǔ)音數(shù)據(jù)的離散傅里葉變換在頻點(diǎn)ωk處的值。
利用拉格朗日乘子法,可得式(8)的解:
于是,對(duì)應(yīng)于頻點(diǎn)ωk的子帶空間譜表達(dá)式為:
受人耳聽(tīng)覺(jué)系統(tǒng)啟發(fā),人耳耳蝸不同的區(qū)域能夠感受不同頻率范圍的聲音?;啄た梢钥闯墒且唤M頻帶重疊的非線(xiàn)性帶通濾波器。這組帶通濾波器將整個(gè)頻帶劃分為若干個(gè)不等寬頻帶,稱(chēng)為Bark 濾波器。Bark 濾波器的中心頻率如表1 所示。
同時(shí),考慮語(yǔ)音信號(hào)能量通常集中在較高的低頻段(小于3 400 Hz),所以選取Bark 濾波器前17個(gè)頻帶中心頻率作為聲源定向感興趣頻點(diǎn)的選擇。又考慮到50 Hz 通常會(huì)引入工頻噪聲,所以將第一感興趣頻率修改為60 Hz。為防止頻點(diǎn)溢出,除第一頻率只采用向上取整,其他感興趣頻率f對(duì)應(yīng)的頻點(diǎn)都采用向上向下取整,計(jì)算公式如下:
式中,fs為信號(hào)采樣率。
用K表示感興趣頻點(diǎn)總數(shù),則最終平均空間譜表達(dá)式為:
表1 Bark 濾波器的中心頻率
利用Capon 平均空間譜并在全部角度區(qū)域上搜索其峰值,即可估計(jì)出聲源方向。
下面通過(guò)計(jì)算機(jī)仿真來(lái)驗(yàn)證所提方法的有效性,實(shí)驗(yàn)結(jié)果為30 次獨(dú)立重復(fù)實(shí)驗(yàn)的平均值。定向質(zhì)量評(píng)價(jià)指標(biāo)采用分辨概率和角度估計(jì)均方根誤差兩個(gè),定義如下。
對(duì)于分辨概率(Resolution Probability,RP),假設(shè)信號(hào)估計(jì)角度和實(shí)際角度偏差的絕對(duì)值不超過(guò)10°,且空間譜中的最大譜峰值比可能的偽峰高1 dB 以上,則認(rèn)為信號(hào)被成功分辨,則分辨概率定義為:
式中,Ts為所有實(shí)驗(yàn)中判為成功的次數(shù),T為獨(dú)立重復(fù)實(shí)驗(yàn)總次數(shù)。
對(duì)于角度估計(jì)均方根誤差(Root Mean Square Error,RMSE),有:
式中,θ0為信號(hào)的真實(shí)入射角度,為信號(hào)的估計(jì)入射角度,T為獨(dú)立重復(fù)實(shí)驗(yàn)總次數(shù)。
采用半徑為6 cm 的均勻圓陣,陣元個(gè)數(shù)為6。語(yǔ)音信號(hào)從遠(yuǎn)場(chǎng)入射,方位角為300°,真實(shí)語(yǔ)音數(shù)據(jù)在消聲室采集,采樣率為16 kHz。噪聲為高斯白噪聲。陣列數(shù)據(jù)觀測(cè)時(shí)間T0內(nèi)取16 幀語(yǔ)音數(shù)據(jù),每幀點(diǎn)數(shù)256??臻g譜搜索步徑設(shè)置為1°。圖2和圖3 分別給出信噪比為5 dB 和20 dB 情況下本文方法和傳統(tǒng)方法平均空間譜對(duì)比圖。實(shí)驗(yàn)結(jié)果表明,在所設(shè)定實(shí)驗(yàn)條件下,本文方法能準(zhǔn)確檢測(cè)出信號(hào),而傳統(tǒng)方法偽峰較多,在低信噪比情況下幾乎失效。
實(shí)驗(yàn)條件同實(shí)驗(yàn)1,陣列數(shù)據(jù)觀測(cè)時(shí)間T0內(nèi)取16 幀語(yǔ)音數(shù)據(jù),每幀點(diǎn)數(shù)256。圖4 給出兩種方法分辨概率隨輸入信噪比變化圖。實(shí)驗(yàn)結(jié)果表明,在設(shè)定的實(shí)驗(yàn)條件下,兩種方法的分辨概率隨輸入信噪比的增加而增加。本文方法的分辨概率優(yōu)于傳統(tǒng)方法,在信噪比大于7.5 dB時(shí),分辨概率接近于1;傳統(tǒng)方法受偽峰影響較大,在低信噪比情況下分辨概率接近于0。
實(shí)驗(yàn)條件同實(shí)驗(yàn)1,陣列數(shù)據(jù)觀測(cè)時(shí)間T0內(nèi)取16 幀語(yǔ)音數(shù)據(jù),每幀點(diǎn)數(shù)256。圖5 給出兩種方法角度估計(jì)均方根誤差隨輸入信噪比變化圖。實(shí)驗(yàn)結(jié)果表明,在設(shè)定的實(shí)驗(yàn)條件下,兩種方法的角度估計(jì)均方根誤差隨輸入信噪比的增加而減小。本文方法的角度估計(jì)均方根誤差控制在7°以?xún)?nèi),當(dāng)信噪比大于10 dB 時(shí),角度估計(jì)均方根誤差小于2°。
實(shí)驗(yàn)條件同實(shí)驗(yàn)1,比較兩種方法的平均計(jì)算時(shí)間。仿真所用計(jì)算機(jī)配置如下:CPU 為Intel(R) Core(TM) i7-7700K CPU@4.20GHz,內(nèi)存16.0 GB,系統(tǒng)為Windows64 位操作系統(tǒng);MATLAB版本為2016b。表2 為兩種方法不同空間譜搜索步徑在30 次獨(dú)立實(shí)驗(yàn)下的平均計(jì)算時(shí)間。從表2 可以看出,本文方法的計(jì)算復(fù)雜度遠(yuǎn)低于傳統(tǒng)方法。
表2 兩種方法計(jì)算時(shí)間比較
本文提出了一種基于Bark 子帶的波束掃描聲源定向方法,從語(yǔ)音信號(hào)能量集中低頻的特點(diǎn)和人耳聽(tīng)覺(jué)系統(tǒng)耳蝸具有分頻的特性出發(fā),以Bark 子帶的中心頻率為主頻點(diǎn)進(jìn)行非均勻頻點(diǎn)選取,利用Capon 平均空間譜搜索確定聲源方向。相比于傳統(tǒng)均勻子帶波束掃描法,本文方法具有更高的分辨概率和更小的角度估計(jì)均方根誤差,同時(shí)減少計(jì)算復(fù)雜度,實(shí)用性強(qiáng)。