馮 濤,朱立東
(電子科技大學通信抗干擾技術國家級重點實驗室,成都 611731)
盲源分離(Blind Source Separation,BSS)是指在不知道源信號和傳輸通道的參數(shù)情況下,根據(jù)輸入源信號的統(tǒng)計特性,僅用觀測信號恢復出源信號的過程。欠定情況下的盲源分離是一個更符合實際情況也更具有挑戰(zhàn)性的問題。由于欠定情況下系統(tǒng)是不可逆的,即使混合矩陣已知,源信號也不存在唯一解。在解決欠定盲源分離問題的主要方法中,基于信號稀疏性表達的算法適用范圍相對較廣,被當前大部分的欠定盲源分離算法所采用。信號在時域的稀疏性常常很難滿足,目前,算法為了達到稀疏性一般采用變換域的方法,如小波變換或者短時傅里葉變換。Yilmaz等人假設源信號在時頻域上是相互非重疊的,即在每一個時頻點上僅允許一路信號存在[1];Aissa-El-Bey等人將上述條件進行了放寬,要求在任意時頻點上的信號數(shù)嚴格小于觀測信號數(shù)[2]。上述分離方法對語音信號具有良好的分離性能。但時頻分析對瞬時頻率的估計存在時間精度與頻率精度的根本矛盾,所以對復雜信號,特別是瞬時帶寬比較大的信號,估計性能會明顯下降。
通過分析現(xiàn)實中的信號(特別是無線通信信號)可以發(fā)現(xiàn),這些信號往往是帶限信號。雖然源信號數(shù)大于觀測信號數(shù),但在一些子頻帶上,源信號數(shù)并不大于觀測信號數(shù),所以在這些子頻帶上可以采用經(jīng)典的ICA算法進行分離。當每一個子頻帶都滿足源信號數(shù)不大于觀測信號數(shù)的條件時,就可以通過把同一個信號在不同子頻帶的分離結果進行疊加進而有效地恢復出每一路源信號。由此可見,當條件改變?yōu)槊恳粋€子頻帶的源信號數(shù)不超過觀測信號數(shù)時,欠定盲源分離在理論上是可行的。本文假設在每一個子頻帶源信號數(shù)量不大于觀測信號數(shù)量,以此為基礎,解決欠定盲源分離問題。
經(jīng)互補濾波器分解后的信號可以通過簡單的疊加得到恢復,信號重構過程簡單且準確度高;同時,相對時頻分析的方法而言,濾波器可以對信號頻譜劃分較隨意,相鄰頻帶間的隔離度很好,所以本文采用互補濾波器組對觀測信號進行子頻帶分解。
本文的結構組織如下:第二部分介紹欠定盲源分離的基本模型及后面將用到的基本知識;第三部分重點闡述本文提出的基于互補濾波器組的欠定盲源分離方法,其中也提出了新的混合矩陣的估計方法;第四部分是通過仿真驗證該方法的可行性并進行性能分析;最后一部分進行總結。
設M維觀測信號矢量用x(t)=[x1(t),x2(t),…,xM(t)]T表示,N維信源矢量為s(t)=[s1(t),s2(t),…,sN(t)]T,則可得線性瞬時混合系統(tǒng)的數(shù)學模型:
式中,A∈RM×N(M 在以上的盲源分離問題中,由于源信號和混合系統(tǒng)均未知,如果沒有任何其它先驗知識,要想僅從觀測信號恢復出源信號是極其困難的。所以,為使問題可解,根據(jù)實際存在情況作以下基本假設: (1)源信號為帶通信號,源信號數(shù)已知且通過子頻帶劃分可以滿足每一個子頻帶的源信號數(shù)量不超過觀測信號數(shù); (2)混合矩陣A非奇異且其中任意M列組成的方陣為滿秩矩陣; (3)源信號 s(t)為零均值隨機矢量,在任一時間點,源信號各分量之間是相互統(tǒng)計獨立的; (4)由于高斯信號的線性相加仍是高斯的,不可能被分開,所以假設信源中最多只有一個高斯分布。 定義1:一組濾波器H1(z),H2(z),…,HL(z),如果它們的轉移函數(shù)滿足: 式中,c為常數(shù),稱H1(z),H2(z),…,HL(z)是一組嚴格互補(Strictly Complementary,SC)的濾波器。 用這一組互補濾波器將信號s(n)分解為L個子帶信號,然后再相加,則可得: cS(z)z-n0對應的時域信號為 cs(n-n0),和s(n)相比,它有一個延遲n0,并乘以一個常數(shù)c。顯然,用這種嚴格互補的濾波器組對信號s(n)做分解后,可以用分解所得到的信號來準確重建原來的信號。同時,可以得到如下定理: 定理 1:在盲源分離中,設源信號 s(t)=[s1(t),s2(t),…,sN(t)]T,混合矩陣 A=[a1,a2,…,aN],其中源信號sn(t)所對應的混合矩陣的列為an。位于互補濾波器組的第 l個子頻帶中的源信號為sl(t)=[sl1(t),sl2(t),…,slp(t)]T(p≤M),這些源信號所對應的混合矩陣中的列所組成的新矩陣為Al=[al1,al2,…,alp](p≤M),則對觀測信號x(t)=[x1(t),x2(t),…,xM(t)]T經(jīng)過濾波器 l的輸出信號進行盲源分離后,得到的估計混合矩陣有 式中,Pl為一個置換矩陣。 由定理1可知,當觀測信號通過互補濾波器組的每一個濾波器后,如果輸出信號包含的疊加源信號數(shù)不超過觀測信號數(shù),即p≤M時,用傳統(tǒng)的獨立成分分析方法(如FastICA[4]、JADE[5])可以有效地分離出源信號的子頻帶信號,同時,由互補濾波器的良好信號重構能力,只要把同一源信號在不同頻帶的分離信號按同一放縮比進行疊加,就可以有效地恢復出源信號。 在本文提出的方法中,互補濾波器對分離性能存在影響。在假設1滿足的條件下,困難在于如何找到這樣一個互補濾波器組滿足每一個濾波器包含子頻帶的信號數(shù)不超過觀測信號數(shù)。可以采用逐步細化的方法,先檢測在每一個大的子頻帶的信號數(shù)是否超過觀測信號數(shù),子頻帶的信號數(shù)檢測方法可以采用常用的欠定盲源信號數(shù)估計方法[6],如果超過,則將該子頻帶再細化,直到滿足濾波器劃分的每一個子頻帶的信號數(shù)不超過檢測信號數(shù)的要求。 為了取得優(yōu)良的估計性能,在互補濾波器的設計中同時應注意以下兩個方面: (1)為了充分的劃分頻帶,互補濾波器組的每一個濾波器的通帶到阻帶間過渡頻段應盡可能窄,以減少非該子頻帶源信號的干擾; (2)互補濾波器的嚴格互補往往很難達到,所以在設計時要求濾波器組盡量嚴格互補,建議在設計時采用等階數(shù)的有限沖激響應(Finite Impulse Response,FIR)濾波器組。 在完成濾波器設計后,將觀測信號分別通過濾波器組,可以得到在每一個子頻帶的觀測信號,由假設2,我們可以在每一個子頻帶分別采用常規(guī)的獨立成分分析方法,得到每一個子頻帶的混合矩陣。 (1)通過互補濾波器組將觀測信號分離到L個子頻帶,得到L個觀測信號矩陣x1(t),…,xl(t),…,xL(t); (2)對每一個觀測信號矩陣首先進行主成分分析[7](Principle Component Analysis,PCA),抑制噪聲及其它源信號對該子頻帶的干擾,然后通過獨立成分分析得到估計混合矩陣 并將每一個向量轉化為空間方向向量, 上述的混合矩陣估計方法,因為在聚類分析前已通過獨立成分分析的方法對混合矩陣列向量進行了前期的估計,所以聚類分析的每個樣本值都是對原混合矩陣列向量的較好估計,因此總的估計性能較優(yōu)秀。 與基于時頻域的盲反卷積方法類似,基于互補濾波器組的欠定盲源分離方法也存在排列模糊的問題。因為混合矩陣的列向量與源信號存在一一對應關系,解決了各子頻帶估計混合矩陣的排列模糊問題,也就解決了各子頻帶估計分離子信號的排列模糊問題。 當采用算法1以外的其它算法進行混合矩陣估計時,因為 A是對A的估計, Al是對Al的估計,而Al是由A的一部分列所組成的子矩陣,所以可以簡單地通過將中的列向量分別與 A中的列向量做內(nèi)積,內(nèi)積最大的列就是相互對應的列,注意在求內(nèi)積前應先將及的列歸一化。解決了與中列的對應關系,也就解決了排列模糊的問題。 如采用上一節(jié)的算法1進行混合矩陣估計,則在利用聚類分析算法估計混合矩陣的同時,也判定了每一子頻帶所包含的信號歸屬。利用估計的混合矩陣,再重新求解出獨立的子頻帶信號。 然后把同一路源信號的不同子頻帶分離信號相疊加即可得到源信號的估計。具體算法(算法2)流程如下: (1)利用算法1估計混合矩陣,解決排列模糊問題,確定每一個子頻帶所包含信號歸屬; (2)利用式(6)恢復每一個子頻帶中的獨立子信號; (3)將第1步解決的信號歸屬問題與第2步得到的獨立子信號相結合,將歸屬于同一源信號的不同子頻帶的分離子信號疊加恢復源信號。 考慮源信號為四路相互獨立的帶限源信號,頻率都在0~8 kHz內(nèi),經(jīng)2 s 16 kHz采樣。其中,信號1為語音信號,頻率位于整個頻帶(0~8 kHz);信號2為頻率為30Hz的正弦信號;信號3為載波為3 kHz的BPSK信號,頻率主要位于2~5 kHz;信號4為載波為7 kHz的FSK信號,頻率主要位于6.7~8.0kHz,可以看出,四路源信號的頻率都沒有獨立存在,但在每一個頻率點,其主要信號成分只由兩路構成。 當觀測信號為兩路時,通過濾波器設計,可以通過3個濾波器完成盲分離(3個濾波器通帶分別為0~1 kHz,1~5.2 kHz,5.2~8 kHz),這里采用的互補濾波器組為階數(shù)為300階的FIR濾波器。另外,觀測信號數(shù)的增加也可以有效減少濾波器數(shù)量,進而減小重構誤差及錯誤重構的概率。 原混合矩陣及由算法1得到的估計矩陣分別為 可以看出,算法1對于混合矩陣的估計性能是很優(yōu)異的。在估計出混合矩陣后,我們可以通過算法2恢復出源信號。這里我們將本文提出的算法與文獻[2]中提出的基于時頻域的經(jīng)典欠定盲源分離算法做一對比,考慮在不同信噪比下的分離性能。為了更準確地對兩種源信號估計算法進行比較,這里考慮在進行分離前,混合矩陣都已知準確地進行了估計。我們采用均方誤差作為判斷標準,均方誤差的定義如下式: 式中,R是總的仿真次數(shù)(R=100),M為總的源信號數(shù),N為源信號的樣本數(shù),Λr為一個對角矩陣,Pr為一個置換矩陣, smr(n)是第 r次仿真中對樣本sm(n)的估計。 在仿真過程中,混合矩陣A為隨機產(chǎn)生,A中的元素服從-1到1的均勻分布。分離性能對比如圖1所示,圖中給出了不同信噪比下算法2在兩路觀測信號時的性能,并且給出了時頻域方法在三路觀測信號時的分離性能。由圖可以看出,本文提出的方法在各信噪比下都取得了比時頻域方法更好的分離性能。 圖1 兩種欠定盲源分離算法的性能對比Fig.1 Comparison between the two under-determined BSS algorithms 本文針對欠定盲源分離問題,結合常見源信號為帶限信號的特點,提出了采用互補濾波器組進行時域分解的欠定盲源分離方法。與當前常見時頻域方法相比,將對信號時頻域稀疏性的要求轉化為對信號頻域稀疏性的要求,相對而言要求有所提高,但可以進行欠定分離的信號數(shù)增加了一路。因為對所有子頻帶的信號進行聯(lián)合估計混合矩陣,可以更有效地抑制噪聲對信號恢復的影響,對混合矩陣的估計及對源信號的恢復效果都更好。本文的方法雖然是基于頻域的考慮,但整個過程都在時域進行,避免了時頻域的轉化,可以有效提高運算效率。在后續(xù)的工作中,應該進一步增強算法的魯棒性,考慮濾波器的有效設計問題并將算法與實際信號相結合。 [1]Yilmaz O,Rickard S.Blind separation of speech mixtures via time-frequency masking[J].IEEE Transactions on Signal Processing,2004,52(7):1830-1847. [2]Aissa-El-Bey A,Linh-Trung N,Abed-Meraim K,et al.Under determined blind source separation of nondisjoint sources in time-frequency domain[J].IEEE Transactions on Signal Processing,2007,55(3):897-907. [3]Peng Qi-chong,Shao Huai-zhong,Li Ming-qi.Signal Analysis[M].Beijing:Publishing House of Electronics Industry,2006:218-221. [4]Hyvarinen A,Oja E.A fast fixed-point algorithm for independent component analysis[J].Neural Computation,1997,9(7):1483-1492. [5]Cardoso JF,Souloumiac A.Blindbean forming for non Gaussian signals[J].IEEE Transactionson Radar and Signal Processing,1993,140(6):362-370. [6]Lieven De Lathauser,Josephine Castaing.Blind Identification of Under determined Mixtures by Simultaneous Matrix Diagonalization[J].IEEE Transactions on Signal Processing,2008,56(3):1096-1105. [7]Jolliffe I T.Principal Component Analysis[M].2nd ed.New York:Springer,1996:21-27.2.2 互補濾波器[3]
3 基于互補濾波器組的欠定盲源分離方法
3.1 互補濾波器設計
3.2 混合矩陣估計
3.3 源信號恢復
4 仿真及性能分析
5 結束語