張啟明
摘 要:目前,盲源分離技術廣泛應用于電子信號處理領域,但盲源分離中各算法的分離效果具有較大差異。對此,本文以盲源分離理論中的AMUSE算法為研究對象,通過MATLAB生成的周期性函數信號和隨機收集的4種語音信號進行仿真試驗,并選取相似系數作為AMUSE算法的評價準則。試驗結果以及評價準則表明,AMUSE算法對信號的分離效果出色,且對噪聲具有較好的魯棒性。
關鍵詞:盲源分離;AMUSE算法;信號處理;仿真試驗
Abstract: At present, blind source separation technology is widely used in the field of electronic signal processing. but the separation effect of each algorithm in blind source separation is different. In this regard, this paper took the AMUSE algorithm in the blind source separation theory as the research object, and conducted simulation experiments through the periodic function signal generated by MATLAB and four randomly collected speech signals, and selected the similarity coefficient as the evaluation criterion of the AMUSE algorithm. The test results and evaluation criteria show that the AMUSE algorithm has excellent signal separation effect and good robustness to noise.
Keywords: blind source separation; AMUSE algorithm; signal processing; simulation experiment
1 基本理論
1.1 盲源分離
盲源分離(Blind Sources Separation,BSS)指的是在源信號未知的情況下,從觀測到的信號中提取出各個初始源信號的過程,盲源分離中的“盲”主要表現為源信號未知、源信號之間的混合方式未知或者只知道少量的先驗知識[1]。其中,“雞尾酒會”問題(Cocktail Party Problem)是盲源分離中的典型問題,具體可以表述為:假設你參加了一個雞尾酒會,在會場上有許許多多的聲源,如賓客之間的談話聲(可能包括不同的語言)、酒會樂隊的演奏聲以及門外的噪聲,如果此時在會場不同位置上有足夠多的麥克風記錄這些聲音,那么每個麥克風所記錄的聲音信號即為會場內眾多語音信號的混合信號。在事先不知道記錄下哪些聲音信號,也不知道麥克風位置的情況下,如何從麥克風收集到的混合信號中提取所需要談話者的聲音就是典型的盲源分離問題。
盲源分離最早可以追溯到20世紀80年代,當時是為了解決數字通信中線性單輸入單輸出(Single Input Single Output,SISO)統計信道的補償問題而發展起來的多輸入多輸出系統(Multiple-Input Multiple-Output,MIMO)。HERAULT J完成了奠基性的工作,提出了H-J學習算法,并通過該算法將兩個互不相關的源信號的混合信號分離開來[2]。
盲源分離的數學模型具體表述如下:在多輸入多輸出系統中,傳感器觀測到的信號如式(1)所示,要求找到一個逆系統,以得到原始的源信號,如式(2)所示,各源信號之間的混合方式未知。原理如圖1所示,圖中,[nt]表示噪聲干擾信號;[Yt]表示經過分離矩陣W分離處理后的觀測信號的近似信號;[W]表示為樣點數。
因為盲源分離中“盲”的特性,需要做出一些假定來確保分離結果具有唯一解。假定如下:①源信號為平穩隨機過程信號且至多只有一個信號服從高斯分布;②源信號矩陣中各個行向量相互獨立;③混合矩陣[Α]為滿秩矩陣。
1.2 AMUSE算法
Tong等人提出,當觀測信號中的源信號具有非平穩隨機的信號特性時,可以通過求解其相關矩陣的特征值達到盲源分離的目的[3]。該理論對應的盲源分離算法即為多源提取(Algorithm of Multiple Unknow Signals Extraction,AMUSE)。
AMUSE算法是一種典型的基于二階統計量的盲源分離算法,在進行盲源分離時,除需要滿足盲源分離的基本假定外,必須對傳感器收集到的觀測信號進行預處理[4]。白化矩陣可通過求解觀測信號自相關矩陣的奇異值得到。選取經白化處理后觀測信號對應自相關矩陣時間延遲常數[τ],對時間延遲常數[τ]的自相關矩陣進行奇異值分解,若時間延遲常數[τ]的自相關矩陣的奇異值各不相同,則通過兩次奇異值分解即可成功構造出最終的分離矩陣W,進而完成盲源分離。AMUSE算法實質上是將復雜的信號處理問題轉化為簡單的矩陣計算問題。
本文選用盲源分離中較為經典的AMUSE算法,主要是因為AMUSE算法中關于時間延遲的自相關矩陣可以是觀測信號的任意相關矩陣,可以是任何值,這樣就相當于擴大了AMUSE算法的適用范圍。因此,無論是非白信號還是平穩信號,都可以使用AMUSE算法分離。因為盲源分離并不知道觀測信號的先驗信息,因此在對觀測信號進行AMUSE算法處理前,需要對觀測信號進行數據的預處理。
1.3 盲源分離的算法評價準則
盲源分離算法的評價準則是衡量算法分離效果的重要依據,其中相似系數是較為常用且計算便捷的算法評價準則。相似系數是通過比較分離前后各信號之間的相似程度,進而以此為依據來衡量盲源分離算法好壞的一種評價準則[5]。
相似系數這種評價準則避免了因幅值不確定性帶來的影響,可以客觀真實地評價分離效果。若相似系數趨近于1,則可認為盲源分離的算法分離效果較好。
2 信號仿真試驗
選用AMUSE算法作為分離算法,利用MATLAB軟件工具進行信號仿真試驗,仿真信號源分別為確定時序的隨機函數信號和電腦收集的語音信號兩種情況,并選取相似系數作為算法評價準則。
實例一:利用MATLAB編程語句隨機生成3種確定時序的周期性平穩信號和平穩白噪聲信號。3種確定時序的周期性平穩信號分別為周期為40的余弦信號、周期為20的正弦信號以及方波脈沖信號。平穩白噪聲信號由一隨機數列組成。源信號如圖2所示。混合后的觀測信號如圖3所示,運用AMUSE算法對其進行分離,分離結果如圖4所示。
在圖2、3、4中,因為幅值是用來衡量波形的大小,故縱坐標幅值是沒有單位的。
源信號與分離信號的相似系數分別為0.998、0.999、0.997、0.999,因相似系數的數值接近于1,說明AMUSE算法分離效果良好,且對噪聲具有較好的魯棒性;可以在噪聲干擾下有效分離出混合信號中的噪聲信號和3種函數信號。
在圖5、6、7中,因為幅值是用來衡量波形的大小,故縱坐標幅值是沒有單位的。
源信號與分離信號的相似系數分別為0.921、0.919、0.9992、0.948,分離前后語音信號相似系數均在0.9以上,說明AMUSE算法對語音信號的分解效果良好,可將語音混合信號一一分離出來,得到初始的語音源信號。
3 結論
本文以盲源分離中的AMUSE算法為研究對象,通過MATLAB軟件進行了兩次信號仿真試驗。試驗一中分離前后的函數信號的相似系數最小值為0.9925,試驗二中分離前后的語音信號的相似系數最小值為0.9198,均非常趨近于1,表明AMUSE算法的分離效果良好。
參考文獻:
[1]張洪淵.信號源盲分離的理論與實驗研究[D].上海:上海交通大學,2000:24.
[2]HERAULT J. Space and Time Adaptive Signal Processing by Neural Network Models.Neural Network for Computing[C]//AIP Conference Processing,1986.
[3]TONG L,LIU RW,SOON VC,et al. Indeterminacy and Identifiability of Blind Identification[J]. IEEE Transactions on Circuits & Systems,1991(5):499-509.
[4]LANG T,LIU R.Blind Estimation of Correlated Source Signals[C]//Conference Record Twenty-fourth Asilomar Conference on Signals. IEEE,1990.
[5]黃艷波.單通道盲源分離算法的研究[D].杭州:杭州電子科技大學,2017:12.