李 佰,劉 輝
(湖南師范大學(xué)物理與信息科學(xué)學(xué)院,長沙 410000)
盲信號抽取是盲信號處理中一個重要方面,在許多領(lǐng)域都有廣泛的應(yīng)用。它是一種依據(jù)某種無約束優(yōu)化準(zhǔn)則,從線性混合信號中抽取單個信號源的方法[1]。當(dāng)不斷重復(fù)抽取,就能逐個抽取所有的源信號。文獻(xiàn)[2]提出利用梯度下降法進(jìn)行盲信號抽取,然而該方法非線性激活函數(shù)的使用增加了算法的復(fù)雜度,同時算法的收斂性也有待改進(jìn)。文獻(xiàn)[ 3]提出的Hyvarinen-Oja神經(jīng)網(wǎng)絡(luò)能用于大部分非高斯源信號的抽取,然而在抽取過程中會造成誤差累積,同時,該方法收斂也較慢。將粒子群算法引入盲信號抽取中,為盲信號抽取領(lǐng)域提供一種新的方法,該方法簡單高效,與傳統(tǒng)方法復(fù)雜、收斂慢的特點(diǎn)相比,有較大的優(yōu)勢。
粒子群算法(PSO)是一種智能優(yōu)化算法[4-5]。在PSO中,有N個微粒和一個適應(yīng)度函數(shù),每個微粒在D維搜空間中以一定的速度飛行。該飛行速度由個體的飛行經(jīng)驗(yàn)動態(tài)調(diào)整。各微粒根據(jù)自己的當(dāng)前位置和速度不斷更新自己的位置。微粒i的位置和飛行速度分別表示為[Xi1, Xi2, …, XiD]和[Vi1,Vi2, …, ViD]。每個微粒存在一個由它的位置決定的與適應(yīng)度函數(shù)相對應(yīng)的值,根據(jù)微粒的適應(yīng)度值判斷粒子的優(yōu)劣,取最優(yōu)粒子的位置作為最優(yōu)解。粒子的飛行速度和位置調(diào)整的方程如下:
式中, t為當(dāng)前迭代次數(shù), i表示第i個微粒, j表示第j維, c1、c2區(qū)間[ 0, 2]的常數(shù), c調(diào)節(jié)微粒飛向自身最好位置(pi)方向的步長,為認(rèn)知系數(shù)c2調(diào)節(jié)微粒飛向全局最好位置(pg)方向的步長,為社會學(xué)習(xí)系數(shù)。r1~U(0, 1), r2~U(0, 1)為兩個獨(dú)立分布的隨機(jī)數(shù), ω為慣性權(quán)重,讓ω隨著迭代次數(shù)增加而減少可使PSO算法在初期有較強(qiáng)的全局收斂能力,而晚期有較強(qiáng)的局部收斂能力。
盲信號抽取是要從檢測到的混合信號X(t)中恢復(fù)出源信號S(t)。設(shè)有m個混合信號X(t)是n個未知源信號S(t)的線性組合,如式(2)所示:
式中, X(t)=[ x1(t), x2(t), …, xm(t)]T, S(t)=[s1(t), s2(t), …, sn(t)]T, H為m×n階混合未知矩陣, H=[ H1, H2, …, Hm], 其中 Hi=[ hi1, hi2, …,hin], i=1, 2, …, m。
基于粒子群算法的盲信號抽取框架圖如圖1所示。
圖1 盲信號抽取框架圖
進(jìn)行盲信號抽取有兩步,第一步,用一定的算法從混合信號(X(t))中抽取一個源信號(si(t)),第二步,用緊縮技術(shù)從混合信號中剔除已抽取的源信號,以便進(jìn)行下一輪抽取。圖1中源信號s(t)經(jīng)過一未知混合矩陣H混合成為X(t),傳感器檢測到混合信號X(t)并進(jìn)行白化處理為X1(t)。通過抽取和緊縮算法,得到分離向量ω1和緊縮向量ω′1。圖中的y1為抽取出來的一個信號,可表示為:ω1即為從混合信號中抽取出y1的分離向量。根據(jù)中心極限定理可知,由多個獨(dú)立隨機(jī)變量之和的分布比其中任一變量更接近高斯分布,因此可將信號的非高斯性作為信號獨(dú)立性的度量[6-7]。式(3)的目標(biāo)就是要找出向量ω1使輸出信號y1=ωT1X1的非高斯性最強(qiáng),這時便從混合信號中抽取出了源信號y1。峰度是隨機(jī)信號非高斯性的一種判據(jù)。隨機(jī)信號y的峰度定義為:
當(dāng)kurt(y)為0時, y為高斯信號,當(dāng)|kurt(y)|越大時, y的非高斯性越強(qiáng)。本文使用PSO算法,采用峰度的絕對值式(5)作為適應(yīng)度函數(shù)進(jìn)行尋優(yōu):
每尋優(yōu)一次,獲得一個極值即分離向量ωi,從而抽取出一個信號yi。
在每抽取一個信號yi(i=1, 2, …, n-1)后,要用緊縮技術(shù)將yi從混合信號中剔除掉,以便進(jìn)行下一輪抽取。剔除yi的過程如式(6)。
式中yi=ωTiXi, ω′i是通過PSO算法最小化能量代價函數(shù)式(7)獲得的緊縮向量。當(dāng)已抽取信號yi從混合信號中剔除時,式(7)取得最小值。
本文利用 PSO算法進(jìn)行盲信號抽取并緊縮。步驟如下:
(1)確定算 法的各 個參數(shù) 值:c1, c2, vmax, Max-DT,并初始化各微粒。
(2)根據(jù)式(5)計算各微粒的適應(yīng)度值。
(3)對每個微粒,判斷是否更新粒子的局部極值和全局極值。
(4)按進(jìn)化方程(1)式進(jìn)化各微粒。
(5)判斷是否滿足終止條件,否就轉(zhuǎn)(3),是就轉(zhuǎn)(6)。
(6)由pg得到ωi分離向量,從而抽取出信號yi。
為了再抽取其余信號,應(yīng)將yi從混合信號中去除,即采用緊縮技術(shù)。緊縮過程同以上步驟(1)-(6),不同的是第(2)步根據(jù)式(7)計算適應(yīng)度值,第(6)步得到ω′i緊縮向量。接著就可以重復(fù)以上步驟進(jìn)行其他信號的抽取。
用Matlab對本算法進(jìn)行一個實(shí)例仿真分析。選取3個聲音信號作為源信號如圖2所示,進(jìn)行混合,混合矩陣H各行分別為:[ -0.16 0.83 0.24], [0.50 0.68 0.46], [0.58 -0.26 -0.61] ,混合信號波形如圖3所示。本算法參數(shù)設(shè)置為:群體大小size=30,參數(shù)維數(shù)dim=3, 慣性權(quán)重ω由1.2線性變到0.9,粒子群中所有粒子位置的取值范圍都限制在[ -1, 1],最大速度Vmax=1,最大迭代次數(shù)MaxDT=100。
圖2 源信號波形
圖3 混合信號波形
仿真得到抽取出的三個信號波形如圖4所示,可以看到本算法成功地抽取出了三個源信號。為評價本算法的優(yōu)劣,將混合信號用自然梯度算法進(jìn)行盲抽取,將兩種算法進(jìn)行對比。
圖4 抽取信號波形
表1是兩種算法進(jìn)行抽取的收斂情況表??梢钥吹?,收斂的時候, PSO算法所用的迭代次數(shù)要少于自然梯度算法,此PSO算法的收斂速度快于自然梯度法的收斂速度。比較兩種算法的抽取精度,可以用均方誤差表示。對于抽取出的第i個信號yi和實(shí)際的源信號si,均方誤差可表示為:
式中, N為抽樣點(diǎn)數(shù),這里取N為1 000。抽取信號yi和源信號si幅度可能會不一致,因要先把它們的幅度歸一化處理。表2是兩種算法的均方誤差比較表,可以看出本算法有較高的抽取精度。
表1 收斂情況表
表2 均方誤差比較表
將粒子群算法引入盲信號抽取中,并通過仿真實(shí)例成功抽取出源信號,與自然梯度盲抽取算法對比,粒子群盲抽取算法在抽取精度和收斂速度上有一定的優(yōu)越性,精度更高,收斂速度更快,為盲信號抽取領(lǐng)域提供了一種新的研究思路與方法。
[ 1] 張賢達(dá),保錚.盲信號分離[ J] .電子學(xué)報, 2001, 29(12A):1766-1771.
[ 2] Cichocki A, Amari S, Cao J.NeuralNetwork Models for Blind Separation of Time Delayed and Convolved Signals[ C] //Japanese IEICE Transaction on Fundamentals, 1997, E-82-A(9):1595-1603.
[ 3] Hyvarinen A, Karhunen J, O jaE.IndependentComponent Analysis[ M] .New York:JohnWiley, 2001.
[ 4] 謝曉峰,張文俊,楊之廉.微粒群算法綜述[ J] .控制與決策,2003, 18(2).
[ 5] Kennedy J, Eberhart R C.Particle Swarm Optlm ization[ C] //IEEE International Conference on Neural Networks.Perth, Australia, 1995:1942-1948.
[ 6] 張賢達(dá),牛奕龍,陳海洋.盲信號處理[ M] .北京:國防工業(yè)出版社, 2006.6.
[ 7] Cardoso JF, Lahel BH.EquivariantAdaptiveSource Separation[J].IEEE Trans.Signal Processing, 1996, 44(12):3017-3030.