?

四次樣條插值的改進Fast-ICA算法

2024-01-08 02:00郭松林丘斯帆
黑龍江科技大學學報 2023年6期
關鍵詞:盲源迭代法四階

郭松林, 丘斯帆

(黑龍江科技大學 電氣與控制工程學院, 哈爾濱 150022)

0 引 言

現有的信號處理技術有很多,Fast-ICA是其中一種常用的信號處理技術,用于從混合信號中分離出獨立成分[1]。獨立成分是指在統計上相互獨立的信號,這些信號可以描述原始信號中的特征,如聲音信號和圖像信號等,其在分離非高斯信號方面具有很好的性能[2]。Fast-ICA算法在信號處理、圖像處理、生物醫學、金融等領域中有廣泛的應用[3],是當前獨立成分分析領域的研究熱點之一。然而,Fast-ICA算法中存在一些問題,如收斂速度慢、分離精度不高等[4],這些問題限制了該算法在實際應用中的表現。

為此,筆者改進Fast-ICA算法,在原算法的基礎上,通過在Fast-ICA算法與原函數之間的誤差進行四次樣條插值,提高算法的精度,通過理論分析和實驗驗證,將探討改進算法的性能和優越性,為實際應用提供了更為可靠的解決方案。

1 盲源分離算法

1.1 盲源分離的基本原理

現有三個不同物理源發出的信號s1(t)、s2(t)、s3(t),分布在不同位置的三個傳感器所測得的信號為x1(t)、x2(t)、x3(t),每個傳感器所獲得的信號應是每個源信號的加權和,即

x1(t)=a11s1(t)+a12s2(t)+a13s3(t),

x2(t)=a21s1(t)+a22s2(t)+a23s3(t),

x3(t)=a31s1(t)+a32s2(t)+a33s3(t)。

盲源分離模型[5]可以描述為

x(t)=As(t),

式中:x(t)=[x1(t),x2(t),…,xm(t)]T——m維觀察列向量;

s(t)=[s1(t),s2(t),…,sn(t)]T——n維源信號;

A——一個隨機且未知的混合矩陣。

盲源分離的一般過程[6]如圖1所示。

圖1 盲源分離過程

從圖1可以看出,盲源分離首先通過混合矩陣A得到觀測信號x(t),接著尋求非線性映射G,以此達到將源信號分離的效果。

1.2 Fast-ICA算法

Fast-ICA算法也稱為固定點算法,其中最常見的形式有采用四階累積量和基于負熵的固定點算法,由于負熵作為Gauss性度量更能發揮其優越性,因此,應用負熵的Fast-ICA算法覆蓋面更廣[7]。

當負熵是判據時,

J(yi)∝{E[F(yi)]-E[F(v)]}2,

將J(yi)對ui求導,

式中:F(yi)——目標函數的非線性函數;

f(yi)——其一階導數。

當穩態時,Δui=0,因此可以得Fast-ICA算法的兩步算式為

(1)

經過多次實驗分析,該算法在收斂性上存在一定缺陷,采用牛頓迭代算法,將式(1)的第一個式子等效為

(2)

求式(2)的根,應用牛頓迭代法求解得:

經過代數簡化后可以得:

2 改進Fast-ICA算法

2.1 四階牛頓迭代法

常見的求解方程f(x)=0方法有牛頓迭代法[8],其迭代公式為

文獻[9]提出了一種四階牛頓迭代法,形式為

則可推得,Fast-ICA算法公式為

文獻[9]對上述算法進行了詳細的收斂性證明,算法的誤差方程為

2.2 四次樣條插值

常見的插值方法有牛頓插值、拉格朗日插值及樣條插值[10],文中基于三次樣條插值,構造出四次樣條插值函數。

設a=x0

s(x)=ai+bit+cit2+dit3+eit4,

式中,x=xi+th,0≤t≤1。

由s(xi)、s′(xi)、s″(xi)、s?(xi)、s″(xi+1)的值,可以得:

進而可以得,s(x)的表達式為

則有:

再由文獻[11]中引理2.2.1可以得:

2s(xi)+s(xi-1)]。

記Dis(x)=s(i)(x),則有:

最終得出四次樣條函數為

2.3 誤差分析

分析構造的四次樣條函數的誤差,對一個給定的步長h和無限可微的y(x),定義為

Ehy(x)=y(x+h),Dy(x)=y′(x),

此外,有:

式中,Eh=ehD。

因此,定義:

Eh1Eh2y(x)=y(x+h1+h2),

可以得,Eh1Eh2=e(h1+h2)D。

令i=0,1,…,n-1;0≤k≤n-1-i,可以得

接著,根據定理2.3.1[12],得:

將區間[a,b]劃分為n個均勻的子區間,令h=(b-a)/n,很容易得:

據此,證明了四次樣條插值函數是具有四階收斂的,從而提高了插值曲線的精度。

設f(x)=cos8x,x∈[-2,2],利用上述四次樣條插值函數對其插值,得到原函數與插值后的函數圖像,如圖2所示。由圖2可以看出,經過四次樣條插值后的函數與原函數是非常接近的,故用四次樣條插值逼近原函數是非常好地選擇。

圖2 原函數與插值后的函數

根據上面的討論,給出改進Fast-ICA算法的步驟如下:

(1)將數據進行中心化使其均值為0。

(2)對數據進行白化處理,得到z。

(3)選擇一個初始化向量w。

(4)使用改進后的迭代公式來重新計算w。

(5)標準化w,w←w/‖w‖。

(6)判斷收斂與否,若不收斂則返回(4)。

(7)對分離結果進行四次樣條插值。

3 仿真實驗與結果分析

利用Matlab進行仿真實驗,分別用傳統Fast-ICA算法與文中改進的算法對兩組語音數據進行仿真,對比改進前后的仿真結果。

信號源為兩組不同的語音信號,分別是男聲和音樂聲,如圖3所示。接著利用Matlab生成一個隨機混合矩陣,將兩組語音信號混合,如圖4所示。

圖3 原始語音信號

圖4 混合語音信號

得到混合語音信號后,首先用傳統的Fast-ICA算法對其分離,如圖5所示??梢钥闯?傳統算法分離性能優秀,很好地分離出了原始語音信號。接著,用文中改進的Fast-ICA算法對其分離,結果如圖6所示。由圖6可見,改進后的算法依舊能夠很好地分離出原始語音信號,盡管與傳統算法分離的排列順序不一致,但這是由于算法分離的無序性導致的,并不影響結果,具體的分離性能還需根據算法PI值來分析。

圖5 Fast-ICA解混信號

圖6 改進的Fast-ICA解混信號

為了進一步證明改進算法對比原算法有更快的收斂速度,文中隨機選取了20個初始分離矩陣,分別對兩種算法運行了20次,記錄每一次的迭代次數,結果如圖7所示。

圖7 算法收斂速度

同時本文還比較了兩種算法的分離性能,常用的有通過算法PI值來衡量,其公式為

式中:m——源信號的個數;

cij——C=WA的元素;

W——經過樣條插值后,再進行一遍算法分離得到的分離矩陣。

其結果PI值越小,則證明算法具有更好的分離性能。同樣對兩種算法進行20次仿真,記錄PI值。將平均迭代次數N與平均PI值記錄如表1所示。

表1 算法PI均值、N與MSE

在評價與分析分離信號與原始信號的一致性時,常采用均方誤差作為判斷依據,同樣本文比較了改進算法與傳統算法的均方誤差,其公式為

si——原始信號。

其結果MSE越小,則說明算法分離精度越高,結果如表1所示。

從圖7可以看出,原算法對初始向量比較敏感,每次迭代的次數波動較大,而改進的算法則波動較小。從表1可以看出,改進算法的PI均值較原算法有29%的提升,平均迭代次數則有35%的提升,而改進算法的精度較原算法有24%的提升。證明改進算法收斂速度與精確性都優于原算法。

4 結 論

(1)基于Fast-ICA算法提出的四階牛頓迭代法,通過四次樣條插值,使算法的收斂速度與精度進一步提升,給出平均迭代次數與算法PI均值的證明。

(2)通過仿真實驗對比了兩組算法分離語音信號的性能,仿真結果顯示,改進后的Fast-ICA算法收斂速度更快,較原算法有35%的提升;精度較原算法有24%的提升,分離出的信號更接近于源信號。

猜你喜歡
盲源迭代法四階
四階p-廣義Benney-Luke方程的初值問題
迭代法求解一類函數方程的再研究
基于干擾重構和盲源分離的混合極化抗SMSP干擾
迭代法求解約束矩陣方程AXB+CYD=E
預條件SOR迭代法的收斂性及其應用
改進的互信息最小化非線性盲源分離算法
盲源分離技術在化探數據處理中的思考與探索
帶參數的四階邊值問題正解的存在性
一種基于時頻分析的欠定盲源分離算法
求解PageRank問題的多步冪法修正的內外迭代法
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合