摘 要:提出一種采用粒子群優化算法進行盲信號分離的新方法,為盲信號分離領域提供一種新的研究思路與方法。該方法采用峰度作為適應度函數,利用粒子群算法對由多個源信號混合而成的信號進行盲信號分離。與自然梯度法盲信號分離相比,粒子群算法精度更高,收斂速度更快,實例仿真成功地對兩個圖像混合信號進行了盲分離,表明了算法的有效性和優越性。
關鍵詞:粒子群算法; 盲源分離; 峰度; 自然梯度算法
中圖分類號:TN911-34文獻標識碼:A
文章編號:1004-373X(2010)17-0094-03
Application of Particle Swarm Algorithm in Blind Source Separation
LIU Hui, LI Bai
(College of Physics and Information, Hunan Normal University, Changsha 410081,China)
Abstract: A new method of using particle swarm optimization(PSO) algorithm for blind source separation is introduced, which provides a new research idea and method for blind source separation field. The method uses peak as fitness function, and adopts the PSO algorithm to separate blind signals from several source signals. Compared to the natural grad algorithm, the PSO algorithm is better in accuracy and convergence speed, and has more validity.
Keywords: particle swarm algorithm; blind signal separation; peak; natural grad algorithm
0 引 言
盲信號分離(BSS)是20世紀末發展起來的新研究領域,它指在對源信號、傳輸通道都未知的情況下,僅從若干個觀測到的混合信號中恢復出源始信號[1]。目前,對BSS問題存在多種算法。隨機梯度、自然梯度等梯度算法是一種較常見的算法,然而該方法的關鍵是需要計算非線性激活函數,使算法的復雜度增加,同時算法需要計算矩陣的產逆,計算量大,而且魯棒性較差,收斂性有待改進[2]。文獻[3-4]提出基于神經網絡的盲分離算法,該方法收斂速度較慢,且容易陷入局部極值。本文將粒子群算法引入BSS中,為BSS領域提供一種新的方法,該方法簡單高效,與傳統方法復雜、收斂慢的特點相比,有較大的優勢。
1 盲分離問題描述
設有n個混合信號X(t)是n個未知的相互統計獨立的源信號S(t)的線性組合,即:
X(t)=HS(t)
(1)
式中:X(t)=[x1(t),x2(t),…,xn(t)]T;S(t)=[s1(t),s2(t),…,sn(t)]T;H為n×n階混合未知矩陣,H=[H1,H2,…,Hn],其中Hi=[hi1,hi2,…,hin],i=1,2,…,n。盲分離就是要在H和S未知的情況下,使用一定的算法,對觀測到的X(t)進行處理,得到一個n×n階分離矩陣ω,使得到的輸出信號:
Y=ωX(t)
(2)
是源信號X(t)的最好估計。
2 基于粒子群算法的盲分離
2.1 粒子群算法
粒子群算法(PSO)是一種智能優化算法[5-6]。在PSO中,有N個微粒和一個適應度函數,每個微粒在D維搜索空間中以一定的速度飛行。該飛行速度由個體的飛行經驗動態調整。各微粒根據自己的當前位置和速度不斷更新自己的位置。微粒i的位置和飛行速度分別表示為[Xi1, Xi2,…XiD]和[Vi1, Vi2,…,ViD]。每個微粒存在一個由它的位置決定的與適應度函數相對應的值,根據微粒的適應度值判斷粒子的優劣,取最優粒子的位置作為最優解。粒子的飛行速度和位置調整的方程如下:
Vij(t+1)=wVij(t)+c1(t)[pij(t)-xij(t)]+
c2r2(t)[pgj(t)-Xij(t)]
Xij(t+1)=Xij(t)+Vij(t+1)
(3)
式中:t為當前迭代次數;i表示第i個微粒;j表示第j維;c1,c2為區間[0,2]的常數,其中c1為調節微粒飛向自身最好位置(pi)方向的步長,為認知系數;c2為調節微粒飛向全局最好位置(pg)方向的步長,為社會學習系數;r1~U(0,1),r2~U(0,1)為兩個獨立分布的隨機數;w為慣性權重,讓w隨著迭代次數增加而減少,可使PSO算法在初期有較強的全局收斂能力,而晚期有較強的局部收斂能力[7-8]。
2.2 分離原理
為了對混合信號X(t)進行盲分離,本文提出使用PSO算法求解式(2)中的分離矩陣ω。根據中心極限定理可知,由多個獨立隨機變量之和的分布比其中任一變量更接近高斯分布,因此可將信號的非高斯性作為信號獨立性的度量[9-10]。式(2)的目標就是要找出分離矩陣ω,使輸出信號Y=ωX(t)的非高斯性最強,這時便由混合信號分離出了源信號。這時有ω=H-1,于是有:
Y=ωX(t)=H-1HS(t)=S(t)
從而實現混合信號的盲分離。
峰度是隨機信號非高斯性的一種判據。隨機信號y的峰度定義為:
kurt(y)=E{y4}-3E{y2}2
(4)
當kurt(y)=0時,y為高斯信號;|kurt(y)|越大,y的非高斯性越強。因此,本文使用PSO算法,采用峰度的絕對值如式(5)作為適應度函數進行尋優:
F(ω)=kurt(Y)=∑ni=1kurt(Yi)=∑ni=1kurt(ωiX)
=|∑ni=1E((ωiX)4)-3[E((ωiX)2)2|
(5)
2.3 算法步驟
采用PSO算法對混合信號X(t)進行盲分離的具體步驟如下:
(1) 確定算法的各個參數值:c1,c2,vmax,MaxDT并初始化各微粒。
(2) 根據式(5)計算各微粒的適應度值。
(3) 對每個微粒,判斷是否更新粒子的局部極值和全局極值。
(4) 按進化方程式(3)進化各微粒。
(5) 判斷是否滿足終止條件,否就轉步驟(3),是就轉步驟(6)。
(6) 由pg得到分離矩陣ω,從而得到分離信號Y。
3 仿真分析
用Matlab對本算法進行實例仿真分析。選取2個圖像作為源信號,如圖1所示,以線性方式混合,混合矩陣H=0.304 60.543 30.613 80.294 7,混合圖像如圖2所示。算法參數設置為:群體大小N=30,參數維數dim=4, 慣性權重w由1.2線性變到0.9,粒子群中所有粒子位置的取值范圍都限制在[-1,+1],最大速度Vmax=1,最大迭代次數 MaxDT=100。仿真得到分離出來的兩個圖像如圖3所示,可以看到分離圖像與源圖像非常接近,只是順序不一樣,這是由盲分離問題的不確定性引起的,不影響結果的正確性。因此本算法成功地分離出了兩個圖像。
圖1 源圖像
圖2 混合圖像
圖3 分離圖像
為了評價本算法的優劣,將混合圖像用自然梯度算法進行盲分離,將兩種算法進行對比。表1是兩種算法進行盲分離的收斂情況表??梢钥吹剑諗康臅r候,PSO算法所用的迭代次數要少于自然梯度算法,因此PSO算法的收斂速度快于自然梯度法的收斂速度。比較兩種算法的抽取精度,可以用信噪比來表示。將分離信號與源信號之差看作是噪聲,分離出的第i個信號的信噪比(單位:dB)可以表示為:
SNRi=10log210{∑Nk=1s2i(t)/∑Nk=1[yi(t)-si(t)]2}
(6)
式中:N為信號的取樣點數。
表2是兩種算法的信噪比比較表,可以看到PSO算法比自然梯度算法分離的圖像有較高的信噪比,因此本算法有較高的準確度。
表1 收斂情況表
抽取信號迭代次數運行時間 /s
PSO算法446
自然梯度算法518
表2 性能對照表
算法y1,y2的信噪比 /dB
PSO算法28.45,30.01
自然梯度算法26.78,26.52
4 結 語
將粒子群算法引入盲信號分離中,并通過仿真實例成功分離出源信號,與自然梯度盲分離算法對比,粒子群盲分離算法在分離精度和收斂速度上有一定的優越性,精度更高,收斂速度更快,為盲信號分離領域提供了一種新的研究思路與方法。
參考文獻
[1]張賢達,保錚.盲信號分離[J].電子學報,2001,29(12A):1766-1771.
[2]CICHOCKI A, AMARI S, CAO J. Neural network models for blind separation of time delayed and convolved signals[J]. Japanese IEICE Trans.on Fundamentals, 1997, E-82-A(9):1595-1600.
[3]COMON P, JUTTEN C, HERANLT J, Blind separation of sources:problem statement[J]. Signal Processing, 1991,24(1): 11-20.
[4]HERAULT J, Jutten C. Blind separation of sources: an adaptive algorithm based on neurominetic[J]. Signal Processing, 1991, 24(1): 1-10.
[5]謝曉峰,張文俊,楊之廉.微粒群算法綜述[J].控制與決策,2003,18(2):129-134.
[6]KENNEDY J, EBERHART R C. Particle swarm optimization[C]//IEEE International Conference on Neural Networks.Perth,Australia: IEEE 1995:1942-1948.
[7]SHI Yu-hui, EBERHART R C.Empirical study of particle swarm optimization[C]//Proceeding of the IEEE Congress on evolutionary Computation. Piscataway, NJ: IEEE Press, 1998: 69-73.
[8]曾建潮,介婧,崔志華.微粒群算法[M].北京:科學出版社,2004.
[9]張賢達,牛奕龍,陳海洋.盲信號處理[M].北京:國防工業出版社,2006.
[10]CARDOSO J F, LAHEL B H. Equivariant adaptive source separation[J]. IEEE Trans. Signal Processing, 1996, 44(12): 3017-3030.