張小華,彭首峰,裴 浩
(湖北工業(yè)大學(xué)電氣與電子工程學(xué)院,湖北 武漢430068)
對語音背景噪聲消除的研究一直是語音信號處理中的一個重要研究課題.經(jīng)過各國學(xué)者的不懈努力,提出了各種語音降噪方法,這為語音降噪提供了大量的理論基礎(chǔ)并推進(jìn)其逐漸成熟.盲源分離技術(shù)是近年來發(fā)展起來的一種新的信號分離技術(shù),它是在信號源和信道傳輸參數(shù)未知的條件下,僅通過傳感器陣列接收到的信號去估計(jì)出源信號的過程.
目前對盲源分離的研究工作大致能夠分成兩類[1]:一是對瞬時混合模型的研究,在各國學(xué)者的共同努力下,對這一模型的研究已經(jīng)有很多比較成熟的算法可用;二是對卷積混合模型的研究,在實(shí)際應(yīng)用情況下,因?yàn)樾盘栐趥鬏斨幸资艿礁鞣N干擾所導(dǎo)致的傳輸延遲等的影響,傳感器所得到的信號通常不是簡單的瞬時疊加,而是更接近真實(shí)信號傳輸?shù)木矸e等混合形式,這種模型下的信號分離目前受到更多的關(guān)注.
麥克風(fēng)采集到的真實(shí)信號是原始帶噪語音信號與信道沖擊響應(yīng)的卷積輸出.可以用一個有限脈沖響應(yīng)(FIR)濾波器來描述該問題[2].設(shè)有N 個源信號S(n)= [s1(n),…,sN(n)]T,M 個麥克風(fēng)采集到的觀測信號為 X(n)= [x1(n),…,xM(n)]T,混合濾波器沖擊響應(yīng)階數(shù)為P,則在時刻n第i個麥克風(fēng)采集到的信號能夠表示為
其中aij(p)表示第i個麥克風(fēng)采集到的第l階信道沖擊響應(yīng)系數(shù).式(1)可以用X(n)=A*S(n)簡化表示,其中A為濾波器混合矩陣,且
要想根據(jù)采集到的觀測信號X(n)獲得源信號值,就必須找到一個Q階的分離濾波器wij,使得解卷積后輸出
可以用Y(n)=W*X(n)簡化表示.
目前對卷積盲源分離問題的處理方法大多是使用短時傅里葉變換(STFT)將時域中的卷積分離問題轉(zhuǎn)換成多個頻域中的瞬時混合盲源分離問題[3],這樣可以通過使用研究較成熟的瞬時盲源分離算法來解決分離問題.具體的做法如下.
對得到的觀測數(shù)據(jù)進(jìn)行長度為L的傅里葉變換:
其中ωi=2πl(wèi)/L表示頻率點(diǎn),m表示對數(shù)據(jù)進(jìn)行長度為L的傅里葉變換的段數(shù),記利用瞬時盲源分離算法獲得觀測信號在頻率點(diǎn)ωi上的分離矩陣W(ωi),使得Y(ωi)=W(ωi)X(ωi),式中其中為第m個子段中源信號的估計(jì)值的傅里葉變換.然后通過對每一段數(shù)據(jù)各頻 點(diǎn) 上 的 值 [Y(ω0,m),Y(ω1,m),Y(ωL-1,m)](m=1,2,…,M)進(jìn)行傅里葉反變換,得到每一個數(shù)據(jù)段上的時域估計(jì)值Y(m)(m=1,2,…,珨M),依次將各段時域估計(jì)值連接起來,就獲得了聲源信號的估計(jì)值.
由于瞬時盲源分離算法在信號分離過程中存在幅度和排序的不確定性,使得上面提到的方法在進(jìn)行傅里葉反變換前需要解決排序和幅度不確定性問題.對于幅度的調(diào)整,通過采用將W(ωi)(i=0,1,…,L-1)中對應(yīng)的行向量歸一化,即W(ωi)←,能夠取得較好的效果.對于排序的問題,Anemuller[4]等學(xué)者經(jīng)研究發(fā)現(xiàn),語音信號在頻域中表現(xiàn)出同信號相鄰頻點(diǎn)之間相關(guān)性很強(qiáng),但是不相同信號相鄰頻點(diǎn)的相關(guān)性較弱,這與人類聲帶所固有的特性有關(guān).設(shè)y1(ωi)和y1(ωi+1)為兩相鄰頻點(diǎn)的值,如果
的值大于設(shè)定的上限閾值,則說明兩相鄰信號具有較強(qiáng)的相關(guān)性,是屬于同一源信號的兩個頻點(diǎn)值.反之如果小于設(shè)定的下限閾值,則認(rèn)為不屬于同一源信號,需要重新調(diào)整通道值順序.一般的上限閾值取0.6,下限閾值取0.3[5].
在使用瞬時算法時,由于處理的數(shù)據(jù)是復(fù)數(shù)形式,所以必須采用能處理復(fù)數(shù)的瞬時分離算法,現(xiàn)有的復(fù)數(shù)算法主要有復(fù)數(shù)FastICA算法、復(fù)數(shù)infomax算法和JADE算法.這三種算法都具有較好的性能,由于本文下面仿真中使用的是JADE算法,所以下面給出該算法的主要原理和具體的算法步驟.
聯(lián)合近似特征矩陣對角化(Joint Approximate Diagonalization of Eigenmatrices)是基于四階累積量的盲源分離算法,它聯(lián)合對角化下面定義的四階協(xié)方差矩陣[6]:
其中只有當(dāng)p=q=u=v時δ(p,q,u,v)=1,其它情況取0值.λpq是每個特征矩陣Epq對應(yīng)的特征值.
一種獲得滿足上面關(guān)系的特征矩陣Epq的方法是通過估計(jì)特征矩陣,產(chǎn)生N個四階協(xié)方差矩陣C珔x(Ep),其中是正交陣的第p列是用來估計(jì)對角陣的正交陣.為了得到準(zhǔn)確的對角陣,首先可以通過Ep=I的特殊四階協(xié)方差矩陣的特征值分解粗略的估計(jì)出它的值:對N個四階協(xié)方差矩陣C珔x(Ep)尋找正交陣U,要求它能同時使各C珔x(Ep)都盡可能對角化.一種聯(lián)合對角化的方法是Givens旋轉(zhuǎn)法,即為了使各Λ(Ep)=UTC珔x(Ep)U 盡可能對角化,用Λ(Ep)中非對角元素的平方和作為衡量指標(biāo),使下式的值極?。?/p>
JADE算法的具體實(shí)現(xiàn)步驟[7]
1)經(jīng)過白化后得到預(yù)處理的數(shù)據(jù)珚x(k)=Qx(k).
2)通過Ep=I得到四階協(xié)方差矩陣C珔x(I),并對其進(jìn)行特征值分解,得到
4)使用Givens旋轉(zhuǎn)方法,找到一個正交矩陣U ,使得
的值小于設(shè)定的值.
在matlab上使用語音采集程序采集了5s的帶有背景噪聲的語音信號,并以Wav形式文件保存,采樣頻率為16kHz,數(shù)據(jù)點(diǎn)數(shù)80 000.由于實(shí)驗(yàn)條件有限,將采集到的數(shù)據(jù)做簡單的類似譜減法處理后作為第二路觀測數(shù)據(jù),然后將兩路數(shù)據(jù)采用頻域盲源分離算法進(jìn)行處理,其中傅里葉變換數(shù)據(jù)長度L=256,幀移為1/2.兩路觀測信號和分離后的信號分別如圖1、2所示.
采用matlab自帶的wavplay函數(shù)將分離后的兩路信號讀出,用人耳聽發(fā)現(xiàn)第一路信號基本上是背景噪聲,只有少量的語音信號,第二路信號則剛好相反.這說明通過盲源分離算法基本上能夠?qū)⒈尘霸肼暫驼Z音信號分離開來,達(dá)到語音降噪的目的.為了得到更清晰的語音信號可以對分離出的信號進(jìn)行小波降噪處理或譜減法降噪處理.
圖1 兩路觀測信號
圖2 兩路分離信號
[1]汪 林.多通道語音信號處理中的關(guān)鍵技術(shù)研究[D].大連:大連理工大學(xué)圖書館,2010.
[2]張 華,馮大政,龐繼勇.卷積混迭語音信號的聯(lián)合塊對角化盲源分離方法[J].聲學(xué)學(xué)報,2009,34(2):167-174.
[3]徐 舜,陳紹榮,劉郁林.卷積混合語音的聯(lián)合塊對角化盲源分離算法[J].振動與沖擊,2007,26(8):86-90.
[4]Anemuller J,Kollmeier B.Amplitude modulation decorrelation for convolutive blind source separation[A]// Proc.of ICA2000 [C].Helsinki:Finland,2000:215-220.
[5]姜衛(wèi)東,陸佶人,張宏滔,等.基于相鄰頻點(diǎn)幅度相關(guān)的語音信號盲源分離[J].電路與系統(tǒng)學(xué)報,2005,10(3):1-4.
[6]李昌利.盲源分離的若干算法及應(yīng)用研究[D].西安:西安電子科技大學(xué)圖書館,2010.
[7]許鵬飛.卷積混合數(shù)字通信信號的盲源分離[D].西安:西安電子科技大學(xué)圖書館,2010.