張 林,梁冬云
(商洛學(xué)院電子信息與電氣工程學(xué)院,陜西商洛 726000)
通常將在信號源和傳輸信道沒有先驗知識的情況下,僅僅利用傳感器接收到的信號觀測量對信號源進(jìn)行估計的方法稱之為盲源分析[1]。由于盲源分離對信號源和信道的要求較小,因此盲源分離在語音信息處理、無線通信、生物醫(yī)學(xué)信號處理以及圖像處理領(lǐng)域有著重要的應(yīng)用價值。
盲源分離算法包括在線和離線兩種分離方法。在線盲源分離技術(shù)包括主成分分析法(SCA)、非負(fù)矩陣分解法(NMF)和獨立分量分析法(ICA)三種算法。其中以獨立分量分析法應(yīng)用最廣,其包括隨機梯度算法、自然梯度算法[2-3]、EASI算法[4]、迭代求逆算法、Fast-ICA算法[5]和KICA算法等等。這些算法都可以歸類于LMS型算法,但它們都存在一個步長的選擇問題,也就是算法收斂速度和穩(wěn)態(tài)性能之間矛盾的優(yōu)化問題,即步長因子小,算法的穩(wěn)態(tài)性能較好,但算法收斂速度較慢;步長因子大,算法收斂較快,但穩(wěn)態(tài)性能較差[6]。
本文提出一種基于EASI的分階段盲源分離算法:在不同的迭代階段,根據(jù)迭代次數(shù)和信號分離度的不同,選擇不同的步長因子,以解決收斂速度和穩(wěn)態(tài)誤差之間的矛盾。仿真實驗驗證了算法的有效性。
盲源分離原理如圖1所示。
圖1 盲源分離原理圖Fig.1 Schematic diagram of blind source separation
利用相對梯度原理,得出原始EASI算法[4]和標(biāo)準(zhǔn)EASI算法[7],即
傳統(tǒng)EASI算法的缺點是收斂速度比較慢,受混合矩陣A影響大。在非平穩(wěn)信道環(huán)境中,為了更好地跟蹤信號的變化,算法需要更大的步長因子加速收斂,導(dǎo)致不能有很好的穩(wěn)態(tài)誤差。在式(2)的基礎(chǔ)上有人提出了自適應(yīng)梯度變步長EASI算法如下[8]:
其中,
自適應(yīng)梯度變步長EASI算法,是使用“步長之步長”調(diào)整學(xué)習(xí)速率,通過大量的仿真實驗證實,該算法數(shù)值穩(wěn)定性較差,對參數(shù)ρ的選擇特別敏感,例如,初始步長μ(0)選擇很大的值時,收斂速度較快,系統(tǒng)穩(wěn)定性較差。相反,初始步長μ(0)選擇較小的值時,收斂速度明顯減小,不能很好地解決收斂速度和穩(wěn)態(tài)誤差之間的矛盾。在實際應(yīng)用中,這種方法不是很實用。因此,提出了一種新的基于分階段的自適應(yīng)變步長EASI算法來更好地解決問題。
不同分離階段選擇不同的學(xué)習(xí)速率,這樣可以有效地解決收斂速度和穩(wěn)態(tài)誤差的矛盾[9-10]。
在盲源分離的初級階段即Ⅰ階段,各信號強相依,這時需要較大的步長因子以便加速信號的分離。
其中,μ0是常數(shù)。
在盲源分離的偽初級階段即Ⅱ階段,該階段剛剛開始迭代,而且分離度較小。此階段主要是完成小步長進(jìn)行自適應(yīng)跟蹤。步長選擇如下:
其中,f(?)選取適當(dāng)?shù)姆蔷€性函數(shù)。
在盲源分離的捕捉階段即Ⅲ階段,信號已經(jīng)被分離出來或者部分被分離出來,此階段應(yīng)跟蹤分離信號。步長選擇如下:
其中,α,β都是待定常數(shù)。
在盲源分離的跟蹤階段即Ⅳ階段,所有的信號分量都被捕捉到了,此階段步長應(yīng)該取比較小的值。步長選擇為
其中,u0,k0是待定常數(shù)。
所以,本文提出的EASI自適應(yīng)變步長算法的更新表達(dá)式如下:
為了驗證本次實驗提出的自適應(yīng)EASI算法的有效性,對以下信號進(jìn)行仿真實驗。S1:符號信號sgn(cos(2π155t));S2:高頻正弦信號sin(2π800t);S3:相位調(diào)制信號sin(2π300t+6cos(2π60t));S4:低頻信號sin(2π90t);S5:在[-1,1]均勻分布的隨機噪聲信號。實驗過程中,以10 kHz的處理速率對觀測信號進(jìn)行采樣以產(chǎn)生離散觀測信號x(k)。
仿真中,非線性函數(shù)選擇g(y)=y3。利用串音誤差PI來評價算法的性能,即
其中,G=WA=(gij)表示整個分離—混合的全局矩陣。利用PI的值對算法進(jìn)行評價,PI值越小算法越優(yōu)秀。
(i)傳統(tǒng)固定步長EASI算法取固定步長為μ=0.08。
(ii)自適應(yīng)EASI算法步長中ρ=1.5×10-5
(iii)本文提出的自適應(yīng)EASI算法步長為μ=0.08,α=1.2,β=1.8,kd=0.003,k0=600,f(x)=0.14x1.36。
信道突變的環(huán)境下,設(shè)定為
其 中θ1,θ2為 比 例 因 子,θ1,2~U(0,1)aij~U(-1,1)仿真如圖2。
圖2 突變信道下400次獨立運行串音誤差均值Fig.2 Mean error of 400 independent operation crosstalk in abrupt channel
本文在現(xiàn)有實驗結(jié)論的基礎(chǔ)上,在平穩(wěn)環(huán)境下,繼續(xù)實驗對本文提出的算法進(jìn)行性能分析。
(1)利用信噪比(SNR/dB)作為指標(biāo)對算法性能進(jìn)行比較。
(2)分離信號和源信號的散點圖見圖3。
圖3 本文提出的算法分離信號和源信號的散點圖Fig.3 The algorithm presented in this paper separates the signal from the source signal using a scatter plot
本文分離算法根據(jù)迭代次數(shù)和信號之間的分離度把整個信號分離過程分成四個階段,在每個階段根據(jù)不同的適應(yīng)性選取不同的學(xué)習(xí)速度,而提出一種能夠自適應(yīng)的EASI算法。應(yīng)用這種算法進(jìn)行信號分離既可以加快前半段的收斂速度,同時又可以滿足后半段信號的跟蹤與恢復(fù)的精度與穩(wěn)定性,能夠較好地克服穩(wěn)定性、精度和收斂速度之間的矛盾。通過仿真實驗驗證了該算法不僅能夠適應(yīng)平穩(wěn)環(huán)境,而且能夠在非平穩(wěn)噪聲干擾的情況下發(fā)揮作用。