王森,宮玉琳,王春陽(yáng),李明秋,李建建
(長(zhǎng)春理工大學(xué)電子信息工程學(xué)院,長(zhǎng)春 130022)
MATLAB加窗濾波在廣義互相關(guān)時(shí)延估計(jì)中的應(yīng)用
王森,宮玉琳,王春陽(yáng),李明秋,李建建
(長(zhǎng)春理工大學(xué)電子信息工程學(xué)院,長(zhǎng)春 130022)
針對(duì)麥克風(fēng)陣列廣義互相關(guān)聲源定位方法中,麥克風(fēng)接收到的人聲信號(hào)摻雜混響以及噪聲,導(dǎo)致算法求解過(guò)程中準(zhǔn)確性不高的缺點(diǎn),通過(guò)MATLAB分窗濾波的方法,在算法中對(duì)實(shí)時(shí)接收的聲音信號(hào)進(jìn)行預(yù)處理,針對(duì)人聲頻率進(jìn)行改進(jìn),提升低信噪比狀況下估計(jì)時(shí)延的準(zhǔn)確性,完成人聲聲源定位的目的,并通過(guò)仿真實(shí)驗(yàn)驗(yàn)證了該方法的有效性。
聲源定位;分窗濾波;廣義互相關(guān)
麥克風(fēng)陣列對(duì)語(yǔ)音定位的方法,常常應(yīng)用在智能機(jī)器人、通信、火警救援等眾多領(lǐng)域[1],關(guān)于定位算法,當(dāng)今使用較多的有高分辨率譜估計(jì)的定位方法,基于可控波束形成器的定位方法和基于到達(dá)時(shí)間差(TDOA)的定位方法等。
幾種方法各有優(yōu)劣:(1)基于高分辨率譜估計(jì)的定位方法是先求取麥克風(fēng)陣列采集信號(hào)間的相關(guān)矩陣的空間譜,然后通過(guò)求取相關(guān)矩陣,確定出聲源的方向角。由于它要求信號(hào)是平穩(wěn)的,而且其不適合做近場(chǎng)聲源定位,導(dǎo)致定位效果下降;(2)基于可控波束形成器的方法是將M個(gè)麥克風(fēng)收到的信號(hào)進(jìn)行加權(quán)、延遲后相加,然后通過(guò)角度掃描,計(jì)算相加后的結(jié)果,不同角度時(shí)結(jié)果不同,當(dāng)角度和目標(biāo)方向一致時(shí),會(huì)使相加和達(dá)到最大值。不同的加權(quán)方法,可以得到不同的波束形成方法,但該方法需要聲源和環(huán)境噪聲的先驗(yàn)知識(shí),這是其重大的缺陷;(3)基于到達(dá)時(shí)間差(TDOA)的定位方法是通過(guò)計(jì)算出兩路信號(hào)的到達(dá)時(shí)間差然后通過(guò)算法計(jì)算出語(yǔ)音的角度和距離[2]。該方法計(jì)算量小,定位精度高,不需要太多的先驗(yàn)知識(shí),因此應(yīng)用廣泛。但是在實(shí)際應(yīng)用中由于環(huán)境噪聲、房間混響的原因,麥克風(fēng)收集的聲音信號(hào)受到了很大的干擾,尤其在復(fù)雜的環(huán)境中,定位的精確度受到了很大的影響。
綜合比較并結(jié)合實(shí)際,本文使用基于到達(dá)時(shí)間差(TDOA)的廣義互相關(guān)定位方法,針對(duì)其缺點(diǎn),使用MATLAB分窗濾波方法對(duì)算法效果進(jìn)行了改進(jìn),并針對(duì)實(shí)際聲音進(jìn)行仿真實(shí)驗(yàn),結(jié)果表明,該方法對(duì)去除噪聲和定位的性能有很大的提高。
TDOA定位方法研究歷史已經(jīng)很長(zhǎng),在實(shí)際中得到了廣泛的應(yīng)用,該方法主要有兩個(gè)步驟,第一步為時(shí)延估計(jì),用該方法計(jì)算被測(cè)聲音信號(hào)到達(dá)不同麥克風(fēng)的時(shí)間差;第二步為位置估計(jì),利用第一步中得到的值結(jié)合麥克風(fēng)陣列中麥克風(fēng)具體的幾何位置關(guān)系來(lái)確定聲源的位置,步驟表示如圖1所示。
圖1 TDOA實(shí)驗(yàn)估計(jì)步驟
時(shí)延估計(jì)方法有許多種,這些方法各有優(yōu)劣,針對(duì)實(shí)際中不同的狀況有著不同的定位效果。本論文針對(duì)實(shí)際應(yīng)用中噪聲干擾強(qiáng),混響嚴(yán)重的情況下的人聲定位,使用了廣義互相關(guān)的方法,流程如圖2所示。
圖2 廣義互相關(guān)法進(jìn)行時(shí)延估計(jì)框圖
圖中(?)·為共軛運(yùn)算;ψ12(ω)為廣義互相關(guān)方法的加權(quán)函數(shù);FFT為傅里葉變換;IFF為反傅里葉變換。
1.1 基本互相關(guān)方法
假設(shè)兩個(gè)麥克風(fēng)M1、M2,其接收到的聲音信號(hào)的模型為式(1):
其中,接收到的信號(hào)用s(t)表示,兩麥克風(fēng)的高斯白噪聲用n(t)表示,聲音信號(hào)到達(dá)麥克風(fēng)的時(shí)間用τ來(lái)表示,這樣,τ12=τ1-τ2就是聲音信號(hào)的到達(dá)時(shí)間差值,這里我們假設(shè)模型中s(t),n1(t),n2(t)是互不相關(guān)的平穩(wěn)隨機(jī)變化過(guò)程,則x1(t),x2(t)的互相關(guān)函數(shù)可以表示為式(2):
將兩信號(hào)模型帶入上式中,得式(3):
前面已經(jīng)假設(shè)說(shuō)明,s(t),n1(t),n2(t)之間兩兩互不相關(guān),簡(jiǎn)化上式得到式(4):
由自相關(guān)的性質(zhì)得知:當(dāng)τ-(τ1-τ2)=0時(shí),R12(?)達(dá)到最大值,這時(shí),最大值對(duì)應(yīng)的τ值就是兩麥克風(fēng)的時(shí)間延時(shí)值。所以,M1、M2兩麥克風(fēng)之間的到達(dá)時(shí)間延遲可以表示為式(5):
由此,兩個(gè)不同位置的麥克風(fēng)之間的時(shí)延值就可以通過(guò)求兩個(gè)信號(hào)的互相關(guān)函數(shù)R12(?)的極大值的方法來(lái)獲得。當(dāng)互相關(guān)函數(shù)最大峰值比較尖銳明顯時(shí)就可以準(zhǔn)確地求出極大點(diǎn)所在的位置,最大峰值越尖銳,越明顯,那么計(jì)算出的時(shí)延值就越精確。
基本互相關(guān)方法是通過(guò)互相關(guān)函數(shù)的峰值來(lái)得到延遲時(shí)間差值,這種方法計(jì)算量小,而且容易實(shí)現(xiàn),但是該方法要求噪聲和噪聲之間都是兩兩不相關(guān)的函數(shù),這個(gè)前提在實(shí)際應(yīng)用中并不一定能夠?qū)崿F(xiàn)。并且,該互相關(guān)函數(shù)在數(shù)學(xué)角度上可看成嚴(yán)格的統(tǒng)計(jì)平均。當(dāng)條件為平均遍歷時(shí)可以用無(wú)窮時(shí)間平均值來(lái)替代嚴(yán)格統(tǒng)計(jì)平均,而在實(shí)際應(yīng)用中,一般是用有限定的時(shí)間平均值來(lái)代替嚴(yán)格統(tǒng)計(jì)平均,該方法不可以忽略噪聲對(duì)相關(guān)函數(shù)的影響,會(huì)導(dǎo)致互相關(guān)函數(shù)峰值變得不明顯,最終降低延時(shí)估計(jì)的精度。為降低噪聲的影響,產(chǎn)生了廣義互相關(guān)算法。
1.2 廣義互相關(guān)法
廣義互相關(guān)法首先求出兩信號(hào)間的互功率譜,并在頻域進(jìn)行加權(quán)??梢园谆幚硇盘?hào)和噪音,同時(shí)增強(qiáng)信噪比的頻率比重,進(jìn)而抑制噪音的功率,再反變換到時(shí)域,得到廣義互相關(guān)函數(shù),使互相關(guān)函數(shù)的峰值更加尖銳,提高準(zhǔn)確性。具體流程如下:
對(duì)式(1)做傅里葉變換,得到x1(t)和x2(t)信號(hào)的互功率譜為:
傅里葉變換后對(duì)上式進(jìn)行加權(quán),加權(quán)后反傅里葉變換到時(shí)域[3],如式(7):
φ12是廣義加權(quán)函數(shù),隨實(shí)際狀況中噪聲和混響的不同而有不同的選擇,使R12(τ)具有明顯的峰值。表1是幾種常見(jiàn)的加權(quán)函數(shù)。
表1 幾種常見(jiàn)的加權(quán)函數(shù)
針對(duì)這些加權(quán)函數(shù),選用了前面三種加權(quán)方法,對(duì)其定位的效果做了仿真實(shí)驗(yàn),聲音的波形,是以橫坐標(biāo)軸為對(duì)稱(chēng)軸上下波動(dòng)的,所以在MATLAB中使用余弦波形模擬了一定長(zhǎng)度的聲音信號(hào)并對(duì)聲音信號(hào)加入了隨機(jī)白噪聲,然后對(duì)定位的效果做了仿真,在仿真過(guò)程中設(shè)置延遲時(shí)間為0.01秒,仿真結(jié)果如圖3~5所示:
(1)PHAT-GCC方法
圖3 PHAT-GCC方法仿真
(2)ROTH-GCC方法
圖4 ROTH-GCC方法仿真
(3)SCOT-GCC方法
圖5 SCOT-GCC方法仿真
在仿真實(shí)驗(yàn)中發(fā)現(xiàn),PHAT-GCC方法估計(jì)的延遲為0.0060s,ROTH-GCC方法估計(jì)的延遲為0.0360s,SCOT-GCC方法估計(jì)的延遲為0.0110s。
可見(jiàn),這幾種方法在加入了噪聲信號(hào)之后,聲音延遲的時(shí)間跟加入的延遲時(shí)間0.01s相比,均有很大的偏差,會(huì)導(dǎo)致定位不準(zhǔn)確,并且隨噪聲的情況計(jì)算精度也不同,甚至出現(xiàn)了錯(cuò)誤的聲音延遲計(jì)算。為此對(duì)聲音信號(hào)處理如下。
聲音是隨時(shí)間變化的,一般在10ms到30ms內(nèi)是被視為短時(shí)平穩(wěn)的。為了減少頻譜能量泄露,可以采用不同的截取函數(shù)對(duì)信號(hào)進(jìn)行截?cái)?,該函?shù)就稱(chēng)為窗函數(shù)。分幀加窗處理可以實(shí)現(xiàn)語(yǔ)音平穩(wěn)化,一般來(lái)說(shuō),每秒鐘聲音信號(hào)可以分成33~100幀。分幀的一般方法是連續(xù)交疊分段,交疊部分在1/3~1/2之間時(shí),取得的語(yǔ)音分析效果最佳。在這個(gè)過(guò)程中主要考慮三方面:幀長(zhǎng)、交疊長(zhǎng)度、加窗函數(shù)選擇[4]。
聲音在分幀加窗處理之后,就可以對(duì)其進(jìn)行傅里葉變換研究了。對(duì)幾種廣義互相關(guān)不同的加權(quán)方法進(jìn)行了仿真實(shí)驗(yàn),發(fā)現(xiàn)分幀加窗可以對(duì)聲音定位的效果有很大的提升。
本文采用了漢寧窗的加窗方法,漢寧窗又稱(chēng)升余弦窗,漢寧窗可以看作是3個(gè)矩形時(shí)間窗的頻譜之和,其使旁瓣互相抵消,消去高頻干擾和漏能。漢寧窗可以使主瓣加寬并降低,旁瓣則顯著減小。其函數(shù)為:
在以上三種加權(quán)方法的定位算法中加入了漢寧窗函數(shù),效果如圖6所示:
圖6 三種加權(quán)方法在加窗后的互相關(guān)效果
在廣義互相關(guān)的計(jì)算研究中發(fā)現(xiàn),實(shí)際環(huán)境中的噪聲和混響嚴(yán)重影響了互相關(guān)的計(jì)算,得到的延遲誤差仍然較大。對(duì)于這個(gè)問(wèn)題,本文考慮針對(duì)人聲的頻率20Hz~20KHz,使用MATLAB軟件進(jìn)行濾波處理,去除其它非人聲頻率的無(wú)用聲音,從而減小噪聲對(duì)互相關(guān)方法定位結(jié)果的影響。
為了便于觀察效果,采集了一段男性聲波信號(hào),并以此來(lái)驗(yàn)證濾波的效果。原始信號(hào)如圖7所示:
圖7 實(shí)際采集的男性聲音信號(hào)
兩個(gè)麥克風(fēng)接收到的信號(hào)如下:
圖8 兩麥克風(fēng)接收信號(hào)
MATLAB可以簡(jiǎn)便地構(gòu)造模擬濾波器函數(shù),常見(jiàn)的方法有貝塞爾(Bessel)模擬濾波器、巴特沃思(Butterworth)模擬/數(shù)字濾波器、切比雪夫(Chebyshev)I型模擬/數(shù)字濾波器等等。
利用MATLAB的構(gòu)造濾波器函數(shù)的方法,構(gòu)造了一個(gè)貝塞爾(Bessel)模擬帶通濾波器,并且設(shè)置了其帶通頻率為20Hz~20KHz,然后將其應(yīng)用在廣義互相關(guān)定位的計(jì)算中。
以下是濾波之前與濾波之后的仿真比較:
(1)PHAT-GCC方法
圖9 PHAT-GCC濾波前后效果圖
(2)ROTH-GCC方法
圖10 ROTH-GCC濾波前后效果圖
(3)SCOT-GCC方法
圖11 SCOT-GCC濾波前后效果圖
可以很明顯地看出,經(jīng)過(guò)加窗濾波后的聲音信號(hào)在進(jìn)行廣義互相關(guān)的聲源定位計(jì)算時(shí),其效果比直接進(jìn)行計(jì)算要準(zhǔn)確的多,得到的互相關(guān)波形中,許多不必要的噪聲干擾已經(jīng)消除,并且其波峰變得突出明顯,聲源定位的效果得到了很大的提高,該結(jié)果顯示,加窗濾波在復(fù)雜環(huán)境中的定位計(jì)算中,有很高的應(yīng)用價(jià)值。
本文簡(jiǎn)述了廣義互相關(guān)的定位方法,并且對(duì)互相關(guān)定位的計(jì)算中加入了分窗、濾波的方法,針對(duì)人的聲音信號(hào),對(duì)聲音中摻雜的噪音進(jìn)行了去除。通過(guò)加窗、濾波后的廣義互相關(guān)波形與未做任何處理的廣義互相關(guān)波形的比較,表明該方法對(duì)去除噪聲、平穩(wěn)聲音信號(hào)、聲源定位計(jì)算有良好的作用。通過(guò)該方法,聲源定位結(jié)果的精度有很大提高。接下來(lái)我們將會(huì)對(duì)人聲信號(hào)中噪聲的去除做進(jìn)一步的研究。
[1]夏陽(yáng),張?jiān)?基于矩形麥克風(fēng)陣列的改進(jìn)的GCC-PHAT語(yǔ)音定位算法[J].山東科學(xué),2011,12(24):76-79.
[2]宋志亞.基于麥克風(fēng)陣列的室內(nèi)聲源定位方法研究[D].重慶:重慶大學(xué),2012.
[3]梁宇,馬良,納霞,等.基于廣義互相關(guān)算法的時(shí)延估計(jì)[J].計(jì)算機(jī)科學(xué),2011,10(10A):454-456.
[4]段麗萍.基于TDOA算法的四麥克風(fēng)陣列三維聲源定位研究[D].蘭州:蘭州理工大學(xué),2014.
Application of MATLAB Windowing and Filtering in Generalized Cross-correlation Time Delay Estimation
WANG Sen,GONG Yulin,WANG Chunyang,LI Mingqiu,LI Jianjian
(School of Electronics and Information Engineering,Changchun University of Science and Technology,Changchun 130022)
Aiming at the shortcomings of the microphone array signal de-noising and the reverberation of the human voice signal received by the microphone in the generalized cross-correlation sound source localization method,this paper uses MATLAB to divide the windowing and filtering method,And the accuracy of estimating the time delay under the condition of low SNR is improved and to complete the task of estimating the localization of the human voice source. Simulation experiments havs been carried out to verify the effectiveness of the proposed method.
sound source localization;windowing and filtering;generalized cross correlation
TN912.3
A
1672-9870(2016)06-0048-05
2016-09-23
王森(1991-),男,碩士研究生,E-mail:wangsen321@126.com
宮玉琳(1983-),男,博士,講師,E-mail:garrygong1983@126.com