何慶 駱忠強



摘 要: 針對現有盲源分離算法性能受限于非線性函數選擇且算法實現復雜、計算量大的問題,文章提出了一種基于人工免疫算法的盲信號分離算法,達到滿足實際應用中有效分離的需求。該算法不依賴于源信號概率密度的非線性函數估計,通過免疫算法最小化信號的互信息,實現對觀測混合信號的分離。基于免疫算法的盲信號分離,利用免疫算法隱形并行處理,具有較好的全局搜索性能和易收斂到最優解的特點。仿真分析表明,與傳統的ICA盲分離算法相比,所提出的算法對于多路混疊信號具有更好的分離效果。
關鍵詞: 盲源分離; 免疫算法; 互信息; 獨立分量分析
中圖分類號:TP399 文獻標志碼:A 文章編號:1006-8228(2018)03-42-05
A blind signal separation algorithm based on immune algorithm
He Qing1, Luo Zhongqiang2
(1. Faculty of Eelectronical Engineering, Luzhou Vocational and Technical College, Luzhou, Sichuan 646000, China;
2. Artificial Intelligence Key Laboratory of Sichuan Province, Sichuan University of Science and Engineering)
Abstract: In view of the confined performance and computational complexity problems of the existing blind source separation algorithms due to the choice of nonlinear functions, this paper proposes a blind source separation algorithm based on artificial immune algorithm for the purpose of the effective separation in practical application. The proposed algorithm does not depend on the estimation of probability density properties of the source signals, but implements mutual information minimum via immune algorithm to realize the blind separation of source signals. This algorithm utilizes immune algorithm's invisible parallel processing, and has the character of strong global search performance and easy to converge to the optimal solution. Simulation experiments and analysis show that the proposed algorithm has better separation performance for multi-channel mixed signals.
0 引言
盲源/信號分離(blind source/signal separation,BSS)是20世紀最后10年發展起來的一個新的研究領域,是人工神經網絡學界和信號處理學界共同關心的熱點領域。近年來,盲源分離在多領域獲得了快速發展,被廣泛應用于生物醫學、語音增強、雷達與通信系統、數據挖掘等領域[1-3]。信號分離是指從接收到的混合信號中恢復出原始信號。用于信號處理的各種濾波器,如時域濾波器、頻域濾波器、空域濾波器和碼域濾波器都是一種信號分離器,能分離出人感興趣的信號。但濾波分離方法都需要建立在源信號和傳輸通道參數已知的情況下;當源信號和傳輸通道參數未知時,通過濾波根本無法完成信號的分離,這就需要采用盲信號分離技術。
盲信號分離(BSS)是指在源信號和傳輸通道參數的先驗知識未知的情況下,根據源信號的統計特性,僅從觀測到的混合信號中恢復出原始信號的技術。術語“盲”的含義是:①源信號不能被觀測;②源信號如何混合未知。目前針對BSS問題有多種算法。基于隨機梯度、自然梯度分離等梯度算法是較常見的算法,然而該方法的關鍵是需要計算非線性激活函數,使得算法復雜度增加,同時算法需要計算矩陣的產逆,計算量大,而且魯棒性較差,收斂性有待改進[1-2]。獨立分量分析(ICA)是最常見的盲信號分離算法,圍繞解決ICA問題已經提出了許多的算法[2-3]。大多數算法的基本思想是圍繞信號源的獨立性提出各種準則,然后結合各種優化算法來尋找分離矩陣,如FastICA算法,Infomax算法,自然梯度ICA算法。但這些算法大多會涉及到非線性函數的選取問題,且這些函數的選擇取決于源信號的概率密度性質。因為,在實際應用中,源信號的概率密度性質在分離前是未知或難以獲取的,只能通過非線性函數模擬其概率密度,但是這種模擬又存在誤差,這一矛盾會極大地影響了ICA算法的分離性能。
綜上所述,本文將針對這一缺點,提出一種基于免疫算法的盲源分離算法來克服其不足,實現有效的分離。算法的基本思想是:以信號間的互信息最小原則建立目標函數,利用免疫算法的隱形并行性和全局收斂性來尋優最優分離矩陣,即通過免疫算法最小化互信息,實現對信號的分離。
本文余下的章節安排如下:第2節描述盲信號分離問題模型;第3節提出基于人工免疫的盲信號分離算法;第4節進行仿真實驗和分析;第5節總結全文,得到結論。
1 盲源信號分離問題描述
本文研究的盲信號分離系統模型如圖1所示[5-6]。
圖1 盲處理原理框圖
假定原始信號來自不同的信號源,即各信號源相互獨立。由傳感器采集得到N個觀測信號{xi(t),i=1,2,…,N},其中任意第i個信號xi(t)都是由N個信號源(sj(t),j=1,2,…,N)線性混合而成,即:
⑴
其中hij為混合系數,ni(t)為加性傳感器噪聲。對于N個觀測信號(混合信號),可以用矢量表示為:
X(t)=HS(t)+n(t) ⑵
其中H=[hij],S(t)=[sj]
Y(t)=WX(t) ⑶
其中Y(t)=[y1(t),y2(t),y3(t),…,yN(t)]T表示對源信號的估計向量,W∈RN×M表示分離矩陣。
盲源分離主要建立在下列前提假設的基礎上:①源信號各分量相互統計獨立,且其中最多只能有一個分量服從高斯分布;②傳感器數目不小于源信號的數目[6-7]。在概率論中,獨立性是通過變量間的聯合概率密度與邊緣概率密度之間的關系來衡量的,但計算變量的概率密度分布并非易事。事實上,并不直接用這種方法作為衡量變量獨立的標準,而是采用了其他的一些準則,如互信息、負熵等等,其中以互信息最為常用[8-9]。定義y1,y2,…,yn變量的互信息為:
⑷
其中H(yi)為變量的熵,p(yi)為變量yi的概率密度函數。
互信息度量了各個隨機變量之間的相互獨立性,互信息總是非負的,只有當y的各個隨機變量之間是相互獨立時,才有I(y1,y2,…,yn)=0。對于線性變換Y=WX,由密度變換公式
⑸
⑹
又因為,所以有
⑺
由于H(x)為定值,故優化目標函數可以表示為:
⑻
2 免疫盲源分離算法
2.1 免疫算法基本原理
免疫算法是借鑒生物免疫系統原理而提出的一種新型的智能搜索算法。它是一種確定性和隨機性相結合并且具有“勘探”與“開采”能力的啟發式隨機搜索算法。免疫算法將優化問題中待優化的問題與免疫應答中的抗原相對應,可行解對應抗體(B細胞),可行解質量對應于免疫細胞與抗原的親和度。這樣就可以將優化問題的尋優過程與生物免疫系統識別抗原并實現抗體進化的過程相對應,將生物免疫應答中的進化過程抽象為數學上的進化尋優過程,形成一種智能優化算法。免疫算法的一般步驟主要包括:抗原是被與初始抗體產生,抗體評價,免疫操作等[10-11]。
免疫算法的運行過程為一迭代過程,其運行過程所必須完成的內容和過程如下[12]:
⑴ 抗原識別,對問題進行分析,構造合適的親和度函數,并制定各種約束條件;
⑵ 產生初始抗體群,即通過編碼把問題的可行解表示成空間中的抗體,在解得空間內隨機產生一個初始種群;
⑶ 對群中每一個可行解進行親和度評價;
⑷ 判斷是否滿足算法終止條件,滿足則終止并輸出結果,否則繼續尋優;
⑸ 計算抗體濃度和激勵度;
⑹ 進行免疫處理,即免疫選擇、克隆、變異、克隆抑制;
⑺ 種群刷新,以新生成的新抗體代替種群中激勵度較低的抗體,形成新一代抗體,轉步驟⑶。
2.2 盲源分離算法實現
盲源分離問題本質是一個復雜的優化問題,本文通過免疫算法,找到一個最優的分離矩陣,使得互信息達到最小值,即得到原信息的最佳估計。其算法實現過程如下:
⑴ 抗體編碼
由于實數編碼具有良好的直觀性、精度較高且能避免二進制編碼所帶來的“維數災難”問題,故本文采用實數編碼方式Wi對進行編碼。分離矩陣W可以分解為[w1,w2,…,w,…,wn]T,將wi作為算法的抗體,以滿足使得盲源分離系統輸出量的互信息最小化為目的進行尋優,此外同時保證各個wi向量之間滿足正交性,防止wi收斂的同一最優解。
⑵ 種群初始化
隨機產生N個wi的抗體,抗體wi屬于解空間。
⑶ 計算親和度
本算法以目標函數作為免疫細胞與原抗體之間親和度的度量。
⑼
在約束條件E{yyT}=I的約束下,對于某一分離矩陣W,目標函數越小,表明yi之間的獨立性越強。
⑷ 抗體濃度和激勵度
抗體wi濃度定義如下:
⑽
其中N為種群規模,S(wi,wj)為抗體間的相似度,可表示如下:
⑾
為抗體i與抗體j的親和度,體現抗體間的相似程度,th為相似度閾值。
⑿
其中wi,k和wj,k分別表示抗體wi和wj的第k維,L為抗體編碼長度。
抗體wi激勵度是對抗體質量的最終評價結果,計算方法如下:
⒀
其中a,b為計算參數,根據實際情況確定。
⑸ 免疫操作算子
免疫操作算子主要包括免疫選擇算子、克隆算子、變異算子和克隆抑制算子。免疫選擇算子是在抗體群中選擇激勵度較高的抗體,以備克隆操作。
變異算子是產生新抗體,實現區域搜索的重要算子,描述如下:
⒁
其中wi,j,m是抗體wi的第m個克隆體的第j維;δ為定義的領域范圍,根據進化過程自適應確定;pm為變異概率。
⑹ 種群刷新
種群更新主要作用是從抗體群中刪除激勵度較低的抗體,并以隨機產生的新抗體代替,這樣有利于保持抗體的多樣性,實現全局搜索,探索新的可行解區域。
3 仿真試驗與分析
為了驗證算法的有效性,考慮仿真試驗采用余弦波、方波、鋸齒波和隨機噪聲作為源信號,如圖2所示。源信號經過隨機混合矩陣混合后,得到混合觀測信號,如圖3所示。
圖2 源信號
圖3 混合信號
圖4 ICA算法分離效果
將信號分離前和分離后進行比較發現,信號波的形狀一致,但是幅值大小不同,波形順序不定,這主要是由盲源分離的兩個不確定性決定的。
圖5 本文算法分離效果
為比較分離算法的性能,采用分離信號與源信號的相似系數作為性能指標,即
⒂
其中M表示信號樣本維數。
分離信號后,由圖4可知,分離信號y1對應源信號s3,分離信號y2對應s2,分離信號y3對應s1,分離信號y4對應s4;由圖5可知,分離信號y1對應源信號s1,分離信號y2對應s2,分離信號y3對應s3,分離信號y4對應s4;經計算,ICA算法分離后,相似系數所構成的相似矩陣為:
本文算法分離后,相似系數所構成的相似矩陣為:
比較和,可以看出,本文算法能達到較好的分離效果,與ICA算法相比具有一定的優勢。
4 結束語
本文研究了線性盲源信號分離問題,結合互信息建立優化判據(目標函數), 利用免疫算法的隱形并行性和全局收斂性來進行尋優最優分離矩陣。實驗仿真結果表明,用本文方法得到的分離信號與源信號十分相似,且較優于ICA算法分離效果,由此可見本文方法是一種有效地、分離準確度較高的盲分離算法。由于在實際應用中,觀測信號大多為非線性混合,故在下一步的研究中,需要進一步研究此種方法對于觀測信號是非線性混合信號的分離性能。
參考文獻(References):
[1] 毛欣,徐慨,劉杰.盲信號分離技術現狀與發展動態 [J].通信技
術,2013.46(8):24-26
[2] WANGR J, ZHAN Y J.A method of underdetermined blind
sourceseparationin time-domain[J].Internation-alJournalof-
Electronics,2012.99(4):543-555
[3] 周治宇,陳豪.盲信號分離技術研究與算法綜述[J].計算機科
學,2009.36(10):16-20
[4] Yao Bo,Yang Ji-hai,Chen Xiang.Underdetermined Blind
Source Separation Based on Sparse Component Analysis Applied inDecomposition of Surface Electromyography[J]. Sparse Medicine & Medical Engineering,2012.25(2):107-111
[5] Thiagarajan J J, Ramamurthy N R, Spanias A. Mixing
matrix estimation using discriminative clustering for blind sourceseparation[J]. Digital Signal Processing,2013.23(1):9-18
[6] 張賢達,保錚.盲信號分離[J].電子學報,2001.29(12A):
1766-1770
[7] 吳新杰,王靜文等.基于壓縮感知和優化算法的欠定盲源信
號分離[J].遼寧大學學報(自然科學版),2014.41(3):201-215
[8] 張登科.基于ICA的盲信號分離正定性檢驗方法[J].電子學
報,2012.40(11):2303-2307
[9] 邱萌萌,周力.基于二階統計和時間結構的盲信號分離方法[J].
計算機應用,2014.34(9):2510-2513
[10] 杜振華,閆肅,諶海云.免疫克隆選擇多目標優化算法與
MATLAB實現[J].智能計算機與應用,2014.4(3):45-48
[11] 黃席樾,張著洪.基于免疫應答原理的多目標優化免疫算法
及其應用[J].信息與控制,2003.32(3):209-213
[12] 錢海,馬建輝,王煦法.一種新的基于克隆選擇原理的人
工免疫算法[J].中國科學技術大學學報,2008.38(12):1397-1405
Key words: blind source separation; immune algorithm; mutual information; independent component analysis