李 丹,唐普英
(電子科技大學(xué) 光電信息學(xué)院,四川 成都 610054)
盲信號處理(BSP,Blind Signal Processing)是在對源信號和傳輸信道信息未知的情況下,僅從觀測到的混合信號中分離出源信號的一種信號處理方法[1]。盲源分離是盲信號處理的重要方面,是從上個世紀(jì)九十年代迅速發(fā)展起來的新興領(lǐng)域?,F(xiàn)有的盲源分離算法存在運算速度慢、穩(wěn)定性差等方面的問題,并容易陷入局部最優(yōu),有待進一步的改進和優(yōu)化。研究新的盲源分離算法是很有必要的。細菌覓食算法(BFO,Bacterial Foraging Optimization)是基于大腸桿菌覓食過程的智能優(yōu)化算法,適用于優(yōu)化問題的求解。它是 2002年才被提出的一種新算法,其在具體問題中的應(yīng)用是很有價值的研究[2]。
盲源分離是在信號的來源、數(shù)目、位置及傳輸信道等信息都未知的情況下,直接根據(jù)觀測數(shù)據(jù)對源信號進行估計。其基本思想是通過尋找一種合適的濾波器或逆系統(tǒng),使得輸出的信號盡可能地接近于源信號。在目前的研究中,實現(xiàn)分離的關(guān)鍵是空間的統(tǒng)計獨立性假設(shè),即認為源信號是相互獨立的[3]。要實現(xiàn)信號的有效分離,還要求接收信號的個數(shù)不少于原始信號的個數(shù)。文中的研究也基于以上假設(shè)。實現(xiàn)分離的基本原理是:假設(shè)生成觀測信號X的源信號S相互獨立,尋找分離矩陣W,使輸出結(jié)果 =Y WX中的各分量盡可能相互獨立,則Y就是對源信號S的估計。其模型如圖1所示。分離的關(guān)鍵是尋找分離矩陣W 。與源信號相比,分離信號的順序和幅度都具有不確定性,但這并不影響應(yīng)用。
圖1 盲源分離模型
細菌覓食算法是一種通過模擬大腸桿菌尋找食物的過程來尋找系統(tǒng)最優(yōu)解的智能優(yōu)化算法。該算法包括如下3種操作:趨向性操作、復(fù)制操作和遷徙操作。細菌通過旋轉(zhuǎn)和游動來尋找食物,在算法中,模擬這一行為的操作稱為趨向性操作。根據(jù)優(yōu)勝劣汰的原理,一段時間后,覓食能力差的細菌會被淘汰,剩余的細菌進行自我復(fù)制,對應(yīng)到算法中即為復(fù)制操作。由于某種原因,細菌種群可能集體遷徙到新的區(qū)域,算法中與之對應(yīng)的為遷徙操作,這將避免陷入局部最優(yōu),有利于尋找全局最優(yōu)。該算發(fā)流程如圖2所示[4]。
圖2 細菌覓食算法流程
在具體應(yīng)用中,細菌的位置對應(yīng)解空間的解,由當(dāng)前的解計算出系統(tǒng)適應(yīng)度,根據(jù)適應(yīng)度確定細菌的下一步趨向性操作。完成規(guī)定次數(shù)的趨向性操作(細菌生命結(jié)束)后,適應(yīng)度較差的一半細菌被淘汰,剩下的細菌進行自我復(fù)制,然后重復(fù)趨向性操作。完成規(guī)定次數(shù)的復(fù)制操作后,原有的細菌群集體死亡,在解空間的其他位置隨機產(chǎn)生新的細菌群,并重復(fù)上述操作,直到遷移結(jié)束。針對具體問題構(gòu)造合適的適應(yīng)度函數(shù)是該算法應(yīng)用的關(guān)鍵[5-6]。
根據(jù)盲源分離的概念和細菌覓食算法的原理,提出了一種基于細菌覓食的盲源分離算法。以源信號和混合信號均為兩個的情況為例,選擇分離矩陣W 為細菌覓食算法中解空間的解(細菌的位置),分離信號Y中兩個信號的相關(guān)系數(shù)為適應(yīng)度函數(shù),相關(guān)系數(shù)越小則適應(yīng)度越好。新算法步驟如下:
①初始化。設(shè)置細菌個數(shù)N、趨向性操作次數(shù)SN、復(fù)制操作次數(shù)reN 、遷徙操作次數(shù)edN 、初始適應(yīng)度saveV 及各細菌的初始位置矩陣P;
②進行趨向性操作。根據(jù)細菌i的位置計算出其當(dāng)前的適應(yīng)度,與 Vsave作比較,若優(yōu)于 Vsave,則將 Vsave的只更新為當(dāng)前適應(yīng)度的值,并記錄此時的細菌位置為W 。然后根據(jù)比較結(jié)果確定細菌前進的方向和步長;
③進行復(fù)制操作。趨向性操作次數(shù)達到 NS后,將各個細菌趨向性操作期間的各適應(yīng)度相加,并按照這個和由小到大的順序?qū)個細菌排序,然后用前個細菌覆蓋后個細菌,完成復(fù)制操作,再返回第②步,直到復(fù)制操作次數(shù)達到 Nre;
④進行遷徙操作。復(fù)制操作完成 Nre次后,原有的細菌群消亡,重新產(chǎn)生N個具有新的位置的細菌,然后返回第②步,直到 Ned次遷徙操作都完成;
⑤根據(jù)公式 Y =WX,由觀測信號X和上述操作求得的W 計算出分離信號Y。
為證明新算法的可行性,對上述算法用MATLAB進行了仿真實驗。兩信號源分別發(fā)出方波信號和正弦波信號,如圖3所示?;旌暇仃嚍殡S機產(chǎn)生的[0,1]內(nèi)均勻分布的矩陣,混合后所得信號如圖4所示[7]。
圖3 信號源發(fā)出信號
圖4 混合后的信號
設(shè)定細菌總數(shù)N為10、趨向性操作次數(shù)SN 為6、復(fù)制操作次數(shù)reN 為2、遷徙操作次數(shù)edN 為2,分離結(jié)果如圖5所示。作為對照,基于最大信噪比的盲源分離算法對該混合信號的分離結(jié)果如圖6所示[8]。
圖5 細菌覓食算法分離信號
圖6 基于最大信噪比的分離算法分離信號
可以看出,圖5中的波形比圖6中的波形更接近于圖1。也就是說,基于細菌覓食算法的分離結(jié)果優(yōu)于基于最大信噪比的分離算法的分離結(jié)果。
為了更準(zhǔn)確地說明兩種分離方法的分離效果,通過計算,兩種算法分離信號與源信號的相關(guān)系數(shù)分別如表 1、表2 所示。1S、2S分別表示兩信號源發(fā)出的信號,1Y、2Y分別表示分離所得結(jié)果。由于分離信號的順序和幅度具有不確定性,只需取每列絕對值最大的一個值即可。這個值的絕對值越接近 1,分離信號與源信號就越接近,則估計越準(zhǔn)確[7]。
表1 細菌覓食算法分離信號與源信號的相關(guān)系數(shù)
表2 傳統(tǒng)算法分離信號與源信號的相關(guān)系數(shù)
由仿真結(jié)果可以看出,細菌覓食算法成功分離出了兩路信號,且分離效果優(yōu)于基于最大信噪比的盲源分離算法,證明了該算法的有效性和可行性。
細菌覓食算法成功分離了兩路線性即時混合信號,為盲源分離提供了新的研究思路。然而,目前只研究了兩路信號的情況,隨著信號個數(shù)的增加,需要考慮的因素就越來越多,要實現(xiàn)完全分離還需進一步研究。而且,分離對象僅為線性瞬時混合信號,而非線性混合信號的情形更復(fù)雜,分離難度更大,需要做更多的研究工作。另外,尚未考慮噪聲的因素,在實際應(yīng)用中噪聲的影響又是不可避免的,所以,對含噪聲的混合信號的分離也是一個進一步研究的方向。對基于細菌覓食的盲源分離的進一步研究可從以上幾個方面進行[9]。
[1] 馬建倉, 牛奕龍, 陳海洋. 盲信號處理[M]. 北京:國防工業(yè)出版社,2006: 85-170.
[2] 周雅蘭. 細菌覓食優(yōu)化算法的研究與應(yīng)用[J]. 計算機工程與應(yīng)用,2010, 46(20): 16-21.
[3] 趙祝兵, 周杰. 基于邊檢測盲源分離幾何算法研究[J]. 通信技術(shù),2008,41(10): 4-6.
[4] PASSINO K M. Biomimicry of Bacterial Foraging for Distributed Optimization and Control[J]. IEEE Control Systems Magazine,2002, 22(03): 52-67.
[5] 王雪松,程玉虎,郝名林. 基于細菌覓食行為的分布估計算法在預(yù)測控制中的應(yīng)用[J]. 電子學(xué)報, 2010(02): 333-339.
[6] DELGADO A, CARVALHO J de. A Novel Multi Objective Optimization Algorithm based on Bacterial Chemotaxis [J]. Engineering Application of Artificial Intelligence, 2010, 23(03):292-301.
[7] 邊巒劍. 基于改進粒子群的盲源分離算法及其應(yīng)用研究[D]. 哈爾濱: 哈爾濱工程大學(xué), 2010: 22-36.
[8] 張小兵, 馬建倉. 基于最大信噪比的盲源分離算法[J]. 計算機仿真, 2006,12(10): 72-75.
[9] 權(quán)友波, 王甲峰, 岳旸,等. 盲源分離技術(shù)現(xiàn)狀及發(fā)展趨勢[J]. 通信技術(shù), 2011, 44(04): 13-15.