于春和,蘇 龍
(沈陽航空航天大學(xué) 電子信息工程學(xué)院,沈陽 110136)
?
基于GSC與譜減法的麥克風(fēng)陣列語音增強方法
于春和,蘇 龍
(沈陽航空航天大學(xué) 電子信息工程學(xué)院,沈陽 110136)
廣義旁瓣抵消器(GSC)算法是目前廣泛使用的一種麥克風(fēng)陣列語音增強方法,但在自適應(yīng)抵消模塊中不可避免地存在語音抵消,且對非相干噪聲的消噪能力很弱。針對GSC消噪能力弱,存在殘留背景噪聲的問題,提出了一種基于改進GSC與譜減法的麥克風(fēng)語音增強方法。該方法改進了廣義旁瓣抵消器結(jié)構(gòu)中的自適應(yīng)算法,將固定步長值變?yōu)榭烧{(diào)步長值,避免了固定步長選擇過大或過小帶來的語音抵消或語音消噪不足的問題。后續(xù)與譜減法相結(jié)合,去除殘留噪聲獲得更加純凈的語音。實驗仿真表明,該方法可有效抑制殘留背景噪聲的影響,提高語音的性噪比及可懂度。
麥克風(fēng)陣列;廣義旁瓣抵消器;譜減法;語音增強
在復(fù)雜的聲學(xué)環(huán)境中,各種各樣的干擾噪聲會嚴(yán)重影響期望語音信號的獲取,致使獲得的語音信號不再是純凈的語音信號。而如果干擾噪聲太大,通過麥克風(fēng)采集的信號往往模糊不清,影響了語音的可懂度。采用單麥克風(fēng)的語音增強系統(tǒng)也難以獲得令人滿意的增強效果,因此二十世紀(jì)八十年代麥克風(fēng)陣列語音增強技術(shù)應(yīng)運而生。和單孤立麥克風(fēng)增強方法相比,麥克風(fēng)陣列利用了目標(biāo)信號,噪聲和干擾的空間信息,增強了期望方向的信號,抑制了其他方向的信號,所以能提供更好的增強效果[1]。
目前麥克風(fēng)陣列語音增強方法大體上可以分為三類:固定波束形成算法、自適應(yīng)波束形成算法和帶后置濾波器的固定波束形成算法,當(dāng)今主流還是以廣義旁瓣抵消器的自適應(yīng)波束形成算法為基礎(chǔ)。但是它存在著語音抵消與對非相干噪聲抑制能力弱的問題[2-3],為此,許多學(xué)者提出了改進算法。文獻[4]提出了一種魯棒自適應(yīng)約束波束形成方法,來盡量減弱GSC自適應(yīng)波束形成中的語音抵消。文獻[5]提出采樣廣義奇異值分解,來減弱因多徑效應(yīng)而引起的語音泄露。文獻[6]提出一種基于維納濾波的多通道后置濾波器,來消除非相干噪聲和弱相干噪聲。文獻[7]提出了一種基于子帶GSC的語音增強算法,該方法應(yīng)用了DFT調(diào)制子帶濾波器組將語音信號分解到子帶進行自適應(yīng)濾波,從而獲得更好的語音增強效果。文獻[8]提出了相干濾波與GSC相結(jié)合的小陣列語音增強算法,通過改進的最小搜索算法估計出GSC處理后殘留噪聲的功率譜密度,然后利用相干濾波進行再次增強。文獻[9]提出一種在GSC中引入可調(diào)波束形成器估計聲源方位以抑制背景噪聲的影響。
本文提出基于改進的GSC與譜減法相結(jié)合的麥克風(fēng)陣列語音增強方法。其基本思想是先對采集的麥克風(fēng)陣列語音信號進行GSC處理,以消除相干噪聲對語音信號的影響,然后再把改進的GSC輸出端的信號作為譜減法的輸入,進一步消除殘留的背景噪聲,提高語音的質(zhì)量。文中對GSC和譜減法的原理和結(jié)構(gòu)進行了詳細(xì)的闡述,并指出它們存在的不足,提出了相應(yīng)的改進措施。
廣義旁瓣抵消器是一種經(jīng)典的自適應(yīng)波束形成算法,也是目前廣泛使用的一種陣列語音增強方法。由Criffths和Jim在1982年提出[10],其主要由固定波束形成器、阻塞矩陣和自適應(yīng)噪聲抵消器三部分構(gòu)成。固定波束形成器一般由延遲求和波束形成器實現(xiàn),主要目的是增強主瓣方向目標(biāo)信號,而抑制其他方向的噪聲信號;阻塞矩陣的目的是產(chǎn)生不含目標(biāo)語音的信號,為在自適應(yīng)干擾抵消器中抑制固定波束形成器中的噪聲提供參考信號;自適應(yīng)干擾抵消器一般使用歸一化最小均方實現(xiàn),用以實現(xiàn)利用參考噪聲信號估計出固定波束輸出信號中的噪聲信號,然后從固定波束形成輸出信號中減去該估計信號,以實現(xiàn)目標(biāo)信號的增強[11]。GSC的結(jié)構(gòu)框圖如圖1所示。
圖1 GSC的結(jié)構(gòu)框圖
上圖中,各麥克風(fēng)接收信號經(jīng)過時延估計和時延τi補償后,使各通道輸出信號xi(n)在目標(biāo)方向上的語音信號是完全同相的。采用系數(shù)固定的固定波束形成器對輸入信號xi(n)進行濾波,然后將濾波后的各通道信號相加求和,初步實現(xiàn)目標(biāo)語音的增強。
yc(n)=ATX
(1)
式中A=[a1,a2,…,am]T,X=[x1(n),x2(n),…,xm(n)]T。其中A為固定波束形成器的加權(quán)系數(shù),X為各麥克風(fēng)接收到的到信號經(jīng)過時延補償τi后,得到的在目標(biāo)方向上完全同相的信號。信號通過阻塞矩陣后,目標(biāo)信號被去除,輸出信號只包含干擾和噪聲。要實現(xiàn)阻塞矩陣的輸出信號中只含有干擾和噪聲,要使阻塞矩陣中每一行上的元素之和為0,就可以保證輸出中不含目標(biāo)方向的語音信號。經(jīng)過阻塞矩陣處理后的信號如式(2)所示:
U=BX
(2)
(3)
由于bj彼此是線性獨立的,所以U最多有m-1個線性獨立組成元素,也就是說,阻塞矩陣B的行數(shù)一定是m-1或更少[12]。一個經(jīng)常使用的符合式(3)條件的阻塞矩陣如式(4)所示。
(4)
設(shè)自適應(yīng)FIR濾波器的系數(shù)為wk(n),k=1,2,…,m-1,則:
(5)
式中W=(w1(n),w2(n),…,wm-1(n))T,系統(tǒng)的最后輸出如式(6)所示
y(n)=yc(n)-ys(n)
(6)
由于目標(biāo)語音信號及干擾噪聲都包含在yc(n)中,ys(n)只包含估計出的干擾噪聲,這樣兩者相減就可以得到增強的語音信號。同時,還需要尋找濾波系數(shù)向量W,使系統(tǒng)的噪聲輸出功率最小。按照LMS自適應(yīng)濾波算法,其濾波系數(shù)向量W可用下列遞歸公式來計算,如式(7)所示
W(n+1)=W(n)-u▽(n)
(7)
式中u是一個控制算法收斂速度和穩(wěn)定性的正實數(shù),稱之為自適應(yīng)收斂系數(shù)或步長,▽(n)為算法的梯度矢量。而▽(n)又可以如式(8)所示:
(8)
式中E[y(n)2]表示取y(n)2的數(shù)學(xué)期望。要想精確計算出梯度▽(n)是非常難的一件事,一種粗略但是十分有效的計算▽(n)的方法是直接用y2(n)作為E[y2(n)]的估計值,即y2(n)≈E[y2(n)],則
▽(n)=▽E[y(n)2]≈▽[y(n)2]=2y(n)▽[y(n)]
(9)
其中▽[y(n)]=▽[yc(n)-WT(n)U(n)]=-U(n)
(10)
則式(10)代入式(9)中,得:
▽(n)=-2y(n)U(n)
(11)
將式(11)代入式(7)中,得:
W(n+1)=W(n)+2uy(n)U(n)
(12)
式(12)就是GSC中濾波系數(shù)的自適應(yīng)調(diào)整公式。式(12)中步長因子u的大小將影響整個GSC對噪聲的濾除能力。傳統(tǒng)的GSC算法步長參數(shù)u是固定的,u越大,噪聲濾除的越多,但是相應(yīng)的語音泄露也越嚴(yán)重,濾波后的信噪比會減少,u越小,會導(dǎo)致殘留噪聲較多,所以實際中一般會選一個折中的u值。
式(9)表明,LMS算法實際上在每次迭代中,使用了粗糙的梯度估計值▽[y(n)2]來代替▽(n),從而導(dǎo)致濾波系數(shù)向量W的調(diào)整路徑是不可能精確地沿著理想的最速下降路徑,因而濾波系數(shù)向量W調(diào)整過程是有噪聲的。但是,隨著時間的推移,濾波系數(shù)向量W不斷地調(diào)整,估計值也在不斷地改善,最終達到收斂值,收斂條件如式(13)所示。
(13)
式中λmax是E[U(n)UT(n)]的最大特征值。實際上濾波系數(shù)向量W不會收斂到理論上的最佳值,而是在最佳值的上下振蕩。LMS算法對u的要求不是特別高,也就是說,只要u選擇合理,算法一般都能收斂。這說明LMS算法具有很強的實用性,是一種相對簡單、性能優(yōu)越的自適應(yīng)算法。
(14)
(15)
比較歸一化LMS算法的調(diào)整公式與標(biāo)準(zhǔn)LMS算法的調(diào)整公式,可以發(fā)現(xiàn),標(biāo)準(zhǔn)LMS算法中的步長參數(shù)u是固定的,而在式(15)中步長參數(shù)是可調(diào)的,再加上歸一化LMS算法的收斂條件與輸入信號的特征值無關(guān),使得歸一化LMS算法具有更快的收斂速度,計算量也與標(biāo)準(zhǔn)LMS算法相當(dāng),因此,歸一化的LMS算法在實際中得到了廣泛的應(yīng)用。
基于GSC算法的經(jīng)典自適應(yīng)波束形成器,對相干噪聲雖具有較強的抑制能力,但是對非相干噪聲抑制能力還不如固定波束形成算法。要解決這個問題,可以對GSC模塊輸出的信號進行再次濾波,以消除殘留的非相干噪聲。其整體流程框圖如圖2所示。
圖2 整體流程框圖
基本譜減法的主要思想是從帶噪語音的頻譜估值中減去噪聲頻譜估值,從而得到純凈語音的頻譜估值[13]。這種方法沒有使用參考噪聲源,但它的前提是噪聲信號和語音信號是互不相關(guān)的以及背景噪聲相對語音信號來說是近似穩(wěn)態(tài)的。利用人的聽覺特性對語音信號譜的幅度敏感,而對語音信號譜的相位不敏感,直接把噪聲幅度譜從帶噪語音幅度譜中減去,得到增強語音幅度譜,并將帶噪語音的相位近似作為增強語音的相位,從而實現(xiàn)語音增強。
設(shè)語音信號的時間序列可以表示為x(n),通過加窗和分幀處理后,可得到第i幀語音信號xi(m),每一幀語音信號的幀長為N。對任何一幀語音信號xi(m)做DFT變換后,可以表示為:
(16)
然后對Xi(k)的每個分量求相應(yīng)的幅值和相位,幅值用|Xi(k)|表示,相位可以表示為:
(17)
在譜減法中要把這兩組數(shù)保存下來。
已知前導(dǎo)無話段(噪聲段)時長為IS,對應(yīng)的幀數(shù)為NIS,則可以求出噪聲段的平均能量值為:
(18)
(19)
式中a、b的和是常數(shù),a稱為過減因子,b稱為增益補償因子。
(20)
噪聲段的平均譜值為:
(21)
這種改進方式相比前面的譜減法,差別是引入λ這個參數(shù)。若λ=1則是幅度譜減法,若λ=2則是功率譜減法。這種譜減法較為靈活,它有三個調(diào)節(jié)系數(shù)a、b和λ。通過這三個系數(shù),可以在噪聲抑制,殘留噪聲衰減和語音失真之間達到最好的折中。
(1)過減因子a(a>1)。在進行譜減法操作時,a控制減去的噪聲譜量。a越大,則可以使殘留噪聲的衰減越大,但是同時也會造成語音失真較大;a越小,則噪聲衰減的程度也小,但是語音失真較少。
(2)增益補償因子b(0
(3)指數(shù)參數(shù)λ。通過調(diào)節(jié)λ可以獲得各種譜相減形式。
譜減參數(shù)a,b和λ的選擇是譜減法的核心問題[15]。實際上,在低信噪比條件下減小語音失真和降低剩余噪聲不可兼得,只能在兩者之間達到最好的折中,提高可懂度。譜減法的原理框圖如圖3所示。
圖3 譜減法原理框圖
為了驗證本文提出方法的語音增強性能和效
果,利用了MATLAB對上述方法進行了仿真實驗。在仿真實驗中,麥克風(fēng)陣列由4個麥克風(fēng)組成的間距d=0.5的均勻線性陣,目標(biāo)聲源位于第一號陣元的正前方,距離第一號陣元的距離為2.5 m,噪聲源位于第四號陣元的正前方,距離第四號陣元的距離為2.5 m,噪聲來自于noisex-92數(shù)據(jù)庫。
實驗中語音信號和噪聲信號均按照8 kHz,16 bit量化。實驗算法中的闡述,相關(guān)參數(shù)設(shè)置如下:GSC中自適應(yīng)濾波器的階數(shù)為32,正的實數(shù)標(biāo)度因子φ取1,β取40;在譜減法中,加Hamming窗,窗長為200,窗重疊為60%,幀長取窗函數(shù)長,過減因子a取4,增益補償因子b取0.001,指數(shù)參數(shù)λ取2。
第一個實驗是從語音的時域和頻域角度來驗證算法的消噪能力。圖4在背景噪聲為白噪聲,信噪比(SNR)為0 dB環(huán)境下,算法處理前后的時域圖和時頻圖。從圖中可以看出,經(jīng)本文算法處理后的殘余噪聲有所減弱,語音信號波形更接近純凈語音信號波形,同時處理后的時頻圖更接近純凈語音信號的時頻圖。通過主觀聽辨測試也可以證明本文算法是有效的,不僅提高了人耳的舒適度,也增加了語音的可懂度。
圖4 背景噪聲為白噪聲、SNR=0 dB環(huán)境下處理前后時頻圖
第二個實驗驗證在不同信噪比環(huán)境下,算法的消噪能力,這里選用的背景噪聲為白噪聲。處理結(jié)果如圖5所示。從圖中可以看出,帶噪語音信噪比越低,本文算法處理后的效果越好,隨著帶噪語音信噪比的不斷提高,傳統(tǒng)GSC算法處理后的效果越來越接近本文算法,但是本文算法始終優(yōu)于傳統(tǒng)的GSC算法。
圖5 背景噪聲為白噪聲、SNR=0 dB環(huán)境下處理前后時頻圖
第三個實驗中,分別在f16(F16座艙噪聲)、babble(餐廳內(nèi)嘈雜噪聲)、factory(工廠車間噪聲)、volvo(車內(nèi)噪聲)、pink(粉紅噪聲)以及m109(坦克內(nèi)部噪聲)5種噪聲環(huán)境下,初始信噪比為0dB,分別使用GSC和本文算法進行消噪。其結(jié)果如表1所示。從表1可以看出,在帶噪語音信噪比為0 dB時,無論在什么噪聲場情況下,本文提出的算法的消噪能力均優(yōu)于傳統(tǒng)的GSC算法。其中本文算法對volvo的消噪能力更為明顯,比GSC算法提高信噪比約8.5 dB,其次是pink噪聲,比GSC算法提高信噪比約5.3 dB,對babble的消噪能力較弱,比GSC算法提高信噪比約0.9 dB。
表1 不同類型背景噪聲環(huán)境下語音增強結(jié)果比較
本文以麥克風(fēng)陣列為例,提出一種基于改進的廣義旁瓣抵消器和譜減法的麥克風(fēng)陣列語音增強方法。通過廣義旁瓣抵消器對目標(biāo)語音進行初步增強,濾除相干噪聲和部分弱相干及背景噪聲,然后通過譜減法濾波,濾除殘留的噪聲,提高語音的信噪比及可懂度。本文在不同信噪比、不同的噪聲環(huán)境下,都進行了仿真實驗,都能獲得比較滿意的增強效果,說明了該方法的可行性。
[1]栗曉麗,傅豐林.基于子帶TF-GSC麥克風(fēng)陣列語音增強[J].電子科技,2008,21(2):33-36.
[2]Joerg Bitzery,Klaus Uwe Simmerz,Karl Dirk Kammeyery.Theoretical noise reduction limits of the generalized sidelobe canceller(GSC)for speech enhancement[C].IEEE International Conference on Acoustics,Speech and Signal Processing,Phoenix,AZ,USA,March,1999:2965-2968.
[3]Huang Y,Chen J,and Benesty J.Immersive audio schemes[J].IEEE Signal Processing Magazine,2011,28(1):20-32.
[4]Hoshuyamao,Sugiyama A,Hirano A.A robust adaptive beamformer for microphone arrays with a blocking matrix using constrained adaptive filters[C].IEEE International Conference on Acoustics,Speech and Signal Processing,Atlanta,USA,1996:925-928.
[5]宋輝,劉加.基于廣義奇異值分解的通用旁瓣消除算法[J].數(shù)據(jù)采集與處理,2011,26(3):241-246.
[6]Zelinski R.A microphone array with adaptive post-filtering for noise reduction in reverberant rooms[J].Proc of ICASSP88,1988(5):2578-2581.
[7]鄧俊杰,孫超.一種基于子帶GSC的語音增強算法[J].電子設(shè)計工程,2013,21(5):173-179.
[8]張正文,湯敏慎,尹波.相干濾波與廣義旁瓣相消器結(jié)合的小陣列語音增強算法[J].河南科技大學(xué)學(xué)報(自然科學(xué)版),2015,36(3):38-42.
[9]李躍蘭,周躍海,童峰,等.采樣可調(diào)波束形成器的GSC麥克風(fēng)陣列語音增強方法[J].廈門大學(xué)學(xué)報(自然科學(xué)版),2013,52(2):186-189.
[10]Griffiths L,Jim C W.An alternative approach to linearly constrained adaptive beamforming[J].IEEE Transactions on Antennas and Propagation,1982,30(1):27-34.
[11]楊立春,錢沄濤.基于相干性濾波器的廣義旁瓣抵消器麥克風(fēng)小陣列語音增強方法[J].電子與信息學(xué)報,2012,34(12):3027-3033.
[12]胡曙輝.麥克風(fēng)陣列語音增強算法研究[D].西安:西安電子科技大學(xué),2009:18-20.
[13]徐巖,王春麗.語音增強技術(shù)及其應(yīng)用[M].北京:科學(xué)出版社,2014:59-66.
[14]宋知用.MATLAB在語音信號分析與合成中的應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2013:184-195.
[15]沈圓圓,顧濟華,陶智,等.基于人類聽覺系統(tǒng)的多頻帶語音增強[J].計算機工程與應(yīng)用,2011,47(21):145-148.
(責(zé)任編輯:劉劃 英文審校:林嘉)
Speech enhancement method based on the GSC and spectral subtraction for microphone array
YU Chun-he,SU Long
(College of Electronic Information Engineering,Shenyang Aerospace University,Shenyang 110136,China)
Generalized Sidelobe Canceller(GSC)algorithm is a widely used microphone array speech enhancement method,but there is inevitably speech offset in adaptive noise cancellation module,and GSC′s noise cancellation capability againstnon-coherent noise is weak.With particular reference to the weakness and the presence of residual background noise,this paper proposed a combination of GSC and spectral subtraction speech enhancement method.In this method,the adaptive algorithm in the structure of the generalized sidelobe cancellation was improved,and the fixed step size was changed into a variable step sizeto avoidtoo large or too smallfixed step size,which brings problems of speech offset or inadequate speech noise cancellation.Combined with spectral subtraction,the method removes the residual noise to obtain a purer voice.The simulation results show that this method can effectively suppress the influence of the residual background noise and improve speech-noise ratio and intelligibility of speech.
microphone array;GSC;spectral subtraction;speech enhancement
2015-07-08
于春和(1976-),男,遼寧沈陽人,副教授,主要研究方向:信號獲取與處理,E-mail:2643909528@qq.com。
2095-1248(2015)05-0080-06
TP912.3
A
10.3969/j.issn.2095-1248.2015.05.012