徐 巖, 王 雷
(蘭州交通大學 電子與信息工程學院, 甘肅 蘭州 730070)
近年來,盲源分離算法因處理效果良好在信號處理領域得到廣泛關(guān)注和應用。但傳統(tǒng)的獨立分量分析(Independent Component Analysis,ICA)方法在對語音信號分離時沒有考慮噪聲對混合系統(tǒng)的干擾,對觀測信號和已知的先驗信息沒有充分利用,導致分離效果不理想。而變分貝葉斯分析(Variational Bayesian Independent Component Analysis,VBICA)算法繼承了ICA算法的特點,即使不知道源信號相關(guān)參數(shù),也可以通過觀測信號確定出源信號中的獨立成分,實現(xiàn)分離處理,充分利用了混合系統(tǒng)的先驗信息,并且能在帶有噪聲的信號條件下分離出源信號,比傳統(tǒng)ICA算法更具優(yōu)勢[1]。
盲源分離是指在源信號和混合傳輸信道參數(shù)不可知的狀態(tài)下,盡可能把從傳感器陣列獲得的觀測信號中所包含的源信號分離出來。通常有兩種分離方法,一是根據(jù)源信號在信道中混合時是否存在時間上的延遲,可分為瞬時混合與卷積混合;二是根據(jù)混合系統(tǒng)源信號和觀測信號間存在的對應關(guān)系,把混合系統(tǒng)分為非線性混合與線性混合。盲源分離算法最主要的目的是分離(解混合)矩陣的學習或估計,屬于無監(jiān)督學習范疇。針對實際的工程應用,主要研究含有噪聲情況下的線性瞬時混合模型,其數(shù)學模型為
xt=Ast+nt
( 1 )
式中:xt=[x1,t,x2,t,…,xN,t]T為N個觀測信號構(gòu)成的向量集,st=[s1,t,s2,t,…,sM,t]T為M個源信號構(gòu)成的向量集;nt=[n1,t,n2,t,…,nN,t]T為N個噪聲信號構(gòu)成的向量集,假設這些噪聲不存在相關(guān)性;A為對應的N×M的混合矩陣;t={1,2,…,n}為構(gòu)建的相應時間索引點t。
為描述信號或數(shù)據(jù)等一些時間序列所包含的時間關(guān)系,常用時間序列數(shù)學模型進行建模,而自回歸模型(Autoregressive Model,AR)[2]主要是利用時間序列的相關(guān)性計算采樣點間的線性關(guān)系,其數(shù)學定義為
( 2 )
式中:xt為AR過程;rt為獨立同分布時間序列,亦稱新息序列,是離散白噪聲信號;系數(shù)ai={a1,a2,…,ap}為AR模型的參數(shù);u為模型階數(shù)。
式( 2 )若用新息序列rt為混合高斯分布(Mixture of Gaussian,MOG)描述,可表示為
( 3 )
式( 2 )中,xt屬于泛化自回歸(Generalized Autoregressive,GAR)過程[3],當m=1時,此序列為高斯白噪聲。采用這種模型進行建模,可以根據(jù)不同的噪聲類型選擇合適的數(shù)據(jù),確保建立的模型其參數(shù)估計的結(jié)果穩(wěn)定性更高。
貝葉斯推理方法原理見圖1,其對應的后驗概率密度[4]為
( 4 )
式中:Y為特定網(wǎng)絡模型;x為確定出觀測信號的數(shù)據(jù)集;p(x|W,Y)為參數(shù)W的似然函數(shù);p(W|Y)為W參數(shù)的先驗概率密度函數(shù);p(x|Y)為歸一化常數(shù)。
圖1 貝葉斯推理方法原理
貝葉斯定理的核心思想是在觀測數(shù)據(jù)的指導下,將參數(shù)的先驗概率分布轉(zhuǎn)變?yōu)楹篁灨怕史植肌?/p>
在p(W|Y)中存在全部的約束條件相關(guān)的先驗信息,可通過數(shù)據(jù)似然性p(x|W,Y)對模型產(chǎn)生數(shù)據(jù)的概率進行分析。在盲源分離處理過程中,ICA的主要作用是估計源信號,可先通過貝葉斯網(wǎng)絡模型Y確定分離信號,再確定隱藏變量對應的后驗概率分布,即可獲得相應的源信號[5]。
貝葉斯推理形式簡潔,但在實際應用中,邊緣似然函數(shù)需在高維空間做積分計算,計算非常復雜;為簡化計算,引入變分貝葉斯學習,其原理是在保證與原問題盡可能相似的條件下提出一個更簡單的問題版本。數(shù)據(jù)的似然性對數(shù)表達式為[6]
( 5 )
因為模型信度值與包含所有隱藏變量及模型參數(shù)W無關(guān),故式( 5 )可簡化為
( 6 )
( 7 )
( 8 )
再對參數(shù)近似逼近,把式( 8 )帶入式( 7 )中得到
( 9 )
(10)
式中:λi為拉格朗日乘子。
令式(10)等于零,則有
(11)
式中:Zi為求導處理后得到的常量部分,在計算時若數(shù)據(jù)似然性一經(jīng)確定,后驗概率隨先驗概率參數(shù)的變化而發(fā)生類似的改變。
相關(guān)統(tǒng)計研究發(fā)現(xiàn),很多實際應用的語音信號,相應的臨近點之間存在一定時間相關(guān)性,可通過GAR[8]近似表示,若源信號是平穩(wěn)的或滿足局部平穩(wěn)要求,可以用GAR模型表示其時間特性
(12)
序列分布對應的MOG模型可表示為
(13)
式中:p(rm,t)包括Lm個高斯分量,且每個高斯分量是由混合均值um,qm、權(quán)重ρm,qm和精度βm,qm等參數(shù)來確定的。混合高斯模型的權(quán)重ρm,qm的先驗分布取Dirichlet分布[9]
(14)
式中:H為本文選擇的模型;c(ρ)為超參數(shù),其相應均值的先驗分布選擇高斯分布
p(um,qm|H)=G(um,qm|b(u),c(u))
(15)
其中,b(u)、c(u)是超參數(shù)。
混合高斯模型精度的先驗分布取Gamma分布為
p(βm,qm|H)=G(βm,qm|b(β),c(β))
(16)
式中:b(β)、c(β)也是超參數(shù)。
根據(jù)先前源信號模型和新息序列相關(guān)的概率分布,可得出源信號sm,t的條件概率分布為
(17)
由式(17)進一步推導可得
p(sm|wm,θm,H)=
(18)
定義W={w1,w2,…,wM}和s=(s1,s2,…,sM),盡管每個源信號存在相應的時間相關(guān)特性,但不同源信號間還是能滿足相互獨立的要求,s的條件分布表達式為
(19)
式中:wm為GAR系數(shù)向量,是先驗分布的一個零均值高斯分布[10]。
對混合系統(tǒng)的各個分量建模后,可把變分貝葉斯學習法與GAR源信號模型相結(jié)合,對帶噪語音信號進行分離。
定義α={α1,α2,…,αM}、γ={γ1,γ2,…,γM}和μ={μ1,μ2,…,μM}含噪混合系統(tǒng)模型的所有參數(shù)用Θ={W,α,ρ,u,β,A,γ,μ,Λ}來表示,則完整的帶噪混合系統(tǒng)參數(shù)也可據(jù)此確定,帶噪混合系統(tǒng)模型見圖2。
圖2 帶噪混合系統(tǒng)模型
用變分貝葉斯學習法來進行盲源分離,首先需要求解源信號S和模型參數(shù)Θ的近似后驗分布Q(S,Θ),其次再通過近似后驗分布模型逼近源信號S相關(guān)的后驗分布。設源信號和模型參數(shù)間滿足獨立性要求[11],同時滿足Q(S,Θ)=Q(S)Q(Θ),即可通過最小化代價函數(shù)CKL求出近似后驗分布。CKL為
(20)
在變分貝葉斯學習法中,根據(jù)Q(S)∝exp(〈logp(x,S|Θ)〉Q(Θ)),可以得到源信號S的近似后驗分布
(21)
再按更新規(guī)則反復進行迭代處理,直到達到收斂性要求為止,收斂性判斷可根據(jù)代價函數(shù)CKL來確定
(22)
(23)
仿真環(huán)境以RIKEN[13]盲源分離工具包ICALAB為基礎,運用ICALAB內(nèi)置的豐富語音庫,同時嵌入本文自編的程序進行了仿真實驗。語音信號的采樣頻率為 8 kHz,采樣點數(shù)為5 000個,分別在SNR=20 dB的高斯白噪聲背景下對語音信號進行分離。SNR=20 dB時的兩種算法的仿真實驗見圖3~圖6。經(jīng)VBICA-GAR算法分離后得到的四路語音源信號波形見圖5,用經(jīng)典的VBICA算法分離得到的四路語音源信號波形見圖6。
圖3 四路原始的語音源信號波形
圖4 四路含噪混合語音源信號波形
圖5 VBICA-GAR算法分離波形
圖6 VBICA算法分離波形
通過觀察以上兩種算法分離處理得到的分離信號的波形圖,在SNR=20 dB的噪聲的條件下,VBICA-GAR和VBICA能從混合信號中有效的分離出原始的語音信號。通過對比可以看出,改進后的VBICA-GAR算法分離后得到的信號分離波形效果顯著高于改進前的算法[14]。
為客觀評價語音分離效果,引入串音誤差[15],可通過全局系數(shù)矩陣構(gòu)造互通道干擾測量誤差準則進行評價,其值越小則兩種波形間的相似程度越高,如果其值為零,則兩種信號的波形則完全一致,測試結(jié)果見圖7。由圖7可見,在不同強度的噪聲干擾背景下,VBICA-GAR的分離性能優(yōu)于經(jīng)典的VBICA方法和其他傳統(tǒng)的ICA方法,且噪聲干擾越大,本分離算法的魯棒性也越強。
圖7 不同信噪比下各算法的串音誤差
本文針對語音信號的時間相關(guān)性這一特性,通過引入GAR模型來進行描述和建模,提出了VBICA-GAR算法來進行語音信號的分離。在分析AR模型的基礎上,建立了帶噪混合系統(tǒng)相應的源信號和觀測信號等分量概率分布模型,并通過變分貝葉斯學習法,提出了VBICA-GAR分離算法,建立了相對應的參數(shù)更新規(guī)則,給出了初始化參數(shù)值和迭代方法。算法在貝葉斯學習框架下將噪聲作為一種信號和語音信號的時間結(jié)構(gòu)一起建模分離,提高了分離精度。但VBICA-GAR分離算法在算法復雜度上還有改善空間,仍需在今后做更深入的研究。