李康寧,郭永剛,王肅靜,黃石羽
(1.中國科學(xué)院聲學(xué)研究所聲場(chǎng)聲信息國家重點(diǎn)實(shí)驗(yàn)室,北京,100190;2.中國科學(xué)院大學(xué)電子電氣與通信工程學(xué)院,北京,100049)
盲源分離(Bind source separation, BSS)是一種在源信號(hào)和傳輸信道未知的情況下,僅根據(jù)觀測(cè)到的信號(hào)估計(jì)出源信號(hào)的信號(hào)處理方法,主要用于提取和恢復(fù)混合信號(hào)中的源信號(hào)。如圖1 所示,BSS 的最初研究動(dòng)機(jī)之一是解決“雞尾酒會(huì)問題”,如今BSS 已廣泛應(yīng)用于無線通信、圖像處理、語音信號(hào)處理、生物醫(yī)學(xué)等領(lǐng)域。一般而言,BSS 與獨(dú)立成分分析(Indepen?dent component analysis, ICA) 是 等 價(jià) 的 :BSS中的各個(gè)源信號(hào)是相互獨(dú)立的獨(dú)立成分。
自20 世紀(jì)80 年代以來出現(xiàn)了大量的BSS 算法,如快速ICA(Fast independent component analysis,FastICA)[1]、特征矩陣的聯(lián)合近似對(duì)角化(Joint approximate diagonalization of eigen?matrices, JADE)[2]、二階盲辨識(shí)(Second order blind identification, SOBI)[3]等。多數(shù)BSS 算法屬于依據(jù)一定的理論構(gòu)造目標(biāo)函數(shù)并進(jìn)行優(yōu)化的無監(jiān)督學(xué)習(xí)問題[4],高階統(tǒng)計(jì)量、互信息、負(fù)熵[5]等均可以作為目標(biāo)函數(shù)[6]。
主偏度分析(Principal skewness analysis, PSA)[7]算法是近年來出現(xiàn)的一種以三階統(tǒng)計(jì)量——峭度為目標(biāo)函數(shù)的BSS 算法,該方法應(yīng)用于高光譜遙感圖像的特征提取,即從高光譜遙感圖像中提取出不同波段的圖像,這一問題滿足BSS 的模型。PSA 算法結(jié)合了張量計(jì)算和不動(dòng)點(diǎn)迭代,計(jì)算速度相比常規(guī)的BSS 算法有較大提升。
然而PSA 算法需要逐次估計(jì)混合信號(hào)中的各個(gè)源信號(hào),在這種串行的計(jì)算過程中,難以避免地會(huì)存在誤差累積問題(下文對(duì)該問題進(jìn)行了詳細(xì)說明)。本文針對(duì)這個(gè)問題,對(duì)現(xiàn)有的PSA 算法進(jìn)行改進(jìn),提出了一種并行PSA 算法。仿真結(jié)果表明,在保證計(jì)算速度的同時(shí),并行PSA 算法避免了現(xiàn)有PSA 算法中出現(xiàn)的誤差累積問題,提高了對(duì)源信號(hào)的估計(jì)準(zhǔn)確性。
BSS 模型可以分為瞬態(tài)混合模型和卷積混合模型,考慮到瞬態(tài)混合模型是卷積混合模型的一種特殊情況,用于求解瞬態(tài)混合模型的BSS 算法可以推廣到卷積混合模型中,本文僅對(duì)瞬態(tài)混合模型進(jìn)行分析。
瞬態(tài)混合BSS 模型如下
式中,x ( t )= [ x1( t ),x2( t ),…,xM( t ) ]T∈RM×1代表M 個(gè)傳感器接收到的信號(hào),由各個(gè)源信號(hào)以不同方式混合而成;s( t )= [ s1( t ),s2( t ),…,sM( t ) ]T∈RM×1代表M 個(gè)源信號(hào),各個(gè)源信號(hào)之間是相互獨(dú)立的 ;n( t )= [ n1( t ),n2( t ),…,nM( t ) ]T∈RM×1代 表 傳 感 器 接 收 到 的 噪 聲 ,各 個(gè) 噪 聲ni( t )( i =1,2,…,M ) 相互獨(dú)立,且與源信號(hào)sk( t )( k = 1,2,…,M ) 獨(dú)立;A∈RM×M代表源信號(hào)間的混合矩陣,ai代表混合矩陣的第i 列。
如圖2 所示,BSS 系統(tǒng)的任務(wù)是在未知源信號(hào)s( t )和混合矩陣A 的情況下,通過對(duì)x ( t )進(jìn)行處理,得到分離矩陣W,進(jìn)而得到對(duì)源信號(hào)s( t ) 的估計(jì)y ( t )= [ y1( t ),y2( t ),…,yM( t ) ]T,其中yk( t )( k =1,2,…,M)代表BSS 系統(tǒng)第k個(gè)輸出信號(hào)。y(t)的計(jì)算過程為
式中W= [w1,w2,…,wM]T。定義Q=WA,當(dāng)成功實(shí)現(xiàn)對(duì)各個(gè)源信號(hào)的估計(jì)時(shí)滿足[8]
式中,Λ為非奇異的對(duì)角矩陣,P為置換矩陣。
圖2 BSS 系統(tǒng)Fig.2 Blind source separation system
根據(jù)BSS 的不確定性[3],y(t)中信號(hào)的排序和幅值可能與源信號(hào)s(t)存在差異。假設(shè)BSS 系統(tǒng)的輸出信號(hào)yk(t)是對(duì)源信號(hào)si(t)的估計(jì),通過二者的相關(guān)系數(shù)來衡量BSS 算法對(duì)si(t)的估計(jì)準(zhǔn)確性
相關(guān)系數(shù)越大代表BSS 算法對(duì)源信號(hào)si(t)的估計(jì)準(zhǔn)確性越高。
考慮到BSS 算法的不確定性,如式(5)構(gòu)造相關(guān)系數(shù)矩陣R來衡量BSS 算法的整體性能
根據(jù)相關(guān)系數(shù)的定義,當(dāng)相關(guān)系數(shù)矩陣每行每列都有且僅有一個(gè)元素接近于1 且其他元素都接近于0 時(shí),可以認(rèn)為BSS 算法較好地估計(jì)出了各個(gè)源信號(hào)。接下來從兩個(gè)角度觀察相關(guān)系數(shù)矩陣R:
(1)誤差累積的角度,取R各行的最大值
由于yk(t)代表了BSS 系統(tǒng)第k個(gè)輸出信號(hào),所以從r1的第一個(gè)元素到最后一個(gè)元素體現(xiàn)了BSS 系統(tǒng)的估計(jì)準(zhǔn)確性隨輸出次序的變化情況,可以體現(xiàn)BSS 算法是否存在誤差累積問題。
(2)對(duì)各個(gè)源信號(hào)估計(jì)精度的角度,取R各列的最大值
式中r2的第i個(gè)元素代表了BSS 系統(tǒng)對(duì)第i個(gè)源信號(hào)si(t)的估計(jì)準(zhǔn)確性。
此外根據(jù)矩陣Q=ΛP的性質(zhì)也可以判斷BSS 算法的估計(jì)準(zhǔn)確性,定義評(píng)判標(biāo)準(zhǔn)[9]為
該值越小,代表算法的估計(jì)準(zhǔn)確性越高。
非高斯性[10]在BSS 中扮演著極為重要的角色,高階統(tǒng)計(jì)量、負(fù)熵等都是衡量非高斯性的指標(biāo)。根據(jù)中心極限定理,若干個(gè)獨(dú)立隨機(jī)變量之和所服從的分布的高斯性要比各個(gè)原始變量更強(qiáng),因此單個(gè)獨(dú)立成分(源信號(hào))的非高斯性要比混合后強(qiáng)。估計(jì)獨(dú)立成分的過程就是極大化非高斯性的過程。用權(quán)向量w對(duì)數(shù)據(jù)向量x(t)進(jìn)行加權(quán)
通過極大化wTx(t)的非高斯性,可以得到一個(gè)權(quán)向量w1,y1(t)=w1Tx(t)即是x(t)中的一個(gè)獨(dú)立成分,將向量w1稱為獨(dú)立成分y1(t)對(duì)應(yīng)的方向。
以FastICA 方法為例,該方法是一種典型的極大化非高斯性的BSS 算法。FastICA 方法將數(shù)據(jù)的四階統(tǒng)計(jì)量——峭度作為非高斯性的度量,通過極大化峭度來實(shí)現(xiàn)BSS。與峭度類似,隨機(jī)變量的三階統(tǒng)計(jì)量——偏度[11]也可以衡量非高斯性,本文即從極大化偏度的角度來進(jìn)行BSS。
隨機(jī)變量x的偏度定義為
偏度衡量了一個(gè)隨機(jī)變量概率密度分布的偏斜程度,可以反映出變量的非高斯性。如圖3 所示,當(dāng)一個(gè)變量服從高斯分布時(shí),其概率密度關(guān)于x= 0 對(duì)稱,偏度為0;當(dāng)長拖尾在右側(cè)時(shí)為正偏,偏度值大于0;當(dāng)長拖尾在左側(cè)時(shí)為負(fù)偏,偏度值小于0。
BSS 算法中常常需要對(duì)數(shù)據(jù)進(jìn)行預(yù)處理[12],預(yù)處理包括中心化及白化。對(duì)式(1)中x(t)進(jìn)行預(yù)處理后得到數(shù)據(jù)向 量z1(t),z1(t)滿 足E[z1(t) ]=0、E[z1(t)z1(t)T]=I,其中0為零向量,I為單位矩 陣。接下來通過極大化wTz1(t)的偏度可以求解出獨(dú)立成分的方向。由于wTz1(t)的偏度值同時(shí)依賴于權(quán)向量w的范數(shù)和方向,一般約束w的l2范數(shù)||w||2= 1。
圖3 不同偏度值對(duì)應(yīng)的概率密度曲線形態(tài)Fig.3 Shape of probability density curves corre?sponding to different skewness values
將E[wTz1(t) ]= 0、var [wTz1(t) ]=E{ [wTz1(t) ]2}=wTIw= 1 代 入 式(10),可 以 得 到 偏 度skew (wTz1(t))的計(jì)算公式
式 中 ,wi(i= 1,2,…,M) 代 表w的 第i個(gè) 元 素 ,z1i(t)(i= 1,2,…,M) 代 表z1(t) 的 第i個(gè) 元 素 。E[z1i(t)z1j(t)z1k(t) ]可以看作是某個(gè)三階張量的第(i,j,k)個(gè)元素,在PSA 算法中將這個(gè)三階張量命名為協(xié)偏度張量[7]。
考慮到將w的l2范數(shù)約束為1,極大化wTz1(t)的偏度可以表示為如式(12)所示的優(yōu)化問題
借助拉格朗日乘子法,式(12)可以轉(zhuǎn)化為
PSA 算法的核心是能夠快速計(jì)算式(13)中的偏度skew (wTz1(t))。計(jì)算步驟[7]如下:
首先根據(jù)式(11)計(jì)算協(xié)偏度張量,其計(jì)算公式為
式中,S( z1( t ))∈RM×M×M代表數(shù)據(jù)z1( t )的三階協(xié)偏度張量,?代表向量的外積運(yùn)算,式中的期望在實(shí)際計(jì)算中用數(shù)據(jù)樣本的平均值來估計(jì)。
將式(11)中的偏度skew ( wTz1( t ))表示為S( z1( t ))與w 的3?模式向量積[13]
式中,si,j,k代表S( z1( t ))的第( i,j,k )個(gè)元素,×1、×2、×3分別代表三階張量的Tucker 模式?1 積、Tucker模式?2 積、Tucker 模式?3 積 運(yùn)算符[13]。
將式(15)代入式(13)可得
令Lw'( w,λ )= 0,可得
式(18)計(jì)算收斂后,可以得到一個(gè)解w = w1。由y1( t )= wT1z1( t )得到一個(gè)獨(dú)立成分y1( t ),即估計(jì)出一個(gè)源信號(hào)。
根據(jù)之前的假設(shè),混合信號(hào)中包含M 個(gè)獨(dú)立成分,接下來需要計(jì)算剩余的M - 1 個(gè)獨(dú)立成分所對(duì)應(yīng)的方向。PSA 算法采用了串行的計(jì)算方法,逐次估計(jì)各個(gè)獨(dú)立成分對(duì)應(yīng)的方向wi( i = 2,3,…,M )。假設(shè)當(dāng)前已經(jīng)估計(jì)出i - 1 個(gè)方向,當(dāng)要估計(jì)第i 個(gè)獨(dú)立成分的方向wi時(shí),該方向應(yīng)該正交于之前計(jì)算得 到 的i - 1 個(gè) 方 向w1,w2,…,wi-1。 PSA 算 法 如 式(19) 將 數(shù) 據(jù)zi-1( t )( i = 2,3,…,M ) 投 影 到 由w1,w2,…,wi-1張成的線性子空間的正交補(bǔ)空間,得到zi( t )。
式中,Pi-1代表投影矩陣,“#”代表偽逆運(yùn)算。
接著對(duì)zi( t )進(jìn)行式(18)的迭代,計(jì)算收斂后可以求解出第i 個(gè)獨(dú)立成分對(duì)應(yīng)的方向wi。經(jīng)過M 次計(jì)算逐次得到w1,w2,…,wM后,令W = [ w1,w2,…,wM]T,則對(duì)獨(dú)立成分的估計(jì)y ( t )為
如前文所述,現(xiàn)有的PSA 算法采用串行的方法逐次估計(jì)wi( i = 1,2,…,M )。由于每次計(jì)算出的獨(dú)立成分的方向都難以避免地存在一定的誤差,根據(jù)式(19),在數(shù)據(jù)投影的過程中先前計(jì)算產(chǎn)生的誤差會(huì)累積到后面的方向計(jì)算中,這將導(dǎo)致計(jì)算誤差隨著計(jì)算次序的增加而增加。當(dāng)計(jì)算到最后一個(gè)獨(dú)立成分時(shí),方向誤差將累積到較大的水平,在后面的仿真實(shí)驗(yàn)中可以明顯看出這種誤差累積現(xiàn)象。
為解決誤差累積問題,本文在PSA 算法基礎(chǔ)上進(jìn)行改進(jìn),提出了一種并行PSA 算法。改進(jìn)后的算法并非逐次估計(jì)各個(gè)獨(dú)立成分對(duì)應(yīng)的方向wi( i = 1,2,…,M ),而是將各個(gè)方向并行地、一次全部估計(jì)出來,有效避免了誤差累積問題。
根據(jù)獨(dú)立成分間的獨(dú)立性,可以證明不同的獨(dú)立成分所對(duì)應(yīng)的方向wi和wk是正交的
并行PSA 算法與現(xiàn)有PSA 算法的差異在于正交化的方式,現(xiàn)有PSA 算法采用投影的方式對(duì)wi( i = 1,2,…,M )進(jìn)行正交化,由于存在多個(gè)獨(dú)立成分,因此在計(jì)算過程中需要進(jìn)行多次投影,從而實(shí)現(xiàn)各個(gè)獨(dú)立成分的正交;為避免多次正交化導(dǎo)致的誤差累積,并行PSA 算法直接對(duì)分離矩陣W =[ w1,w2,…,wM]T進(jìn)行正交化
式中逆平方根(WWT)-1/2通過對(duì)WWT進(jìn)行特征值分解[12]得到
通過對(duì)分離矩陣W 的正交化保證了任意兩個(gè)不同獨(dú)立成分對(duì)應(yīng)的方向wi和wk是正交的。不同于現(xiàn)有PSA 的串行計(jì)算方式,該方法可以同時(shí)估計(jì)出各個(gè)方向,因此不存在誤差累積的問題。
并行PSA 算法計(jì)算步驟如下:
(1)對(duì)數(shù)據(jù)向量x ( t )預(yù)處理得到數(shù)據(jù)向量z( t )。
(2)按照式(14)計(jì)算z( t )的協(xié)偏度張量S( z( t ))。
(3)隨機(jī)初始化分離矩陣W,令U0= WT= [ w1,w2,…,wM],并根據(jù)式(22)對(duì)矩陣U0進(jìn)行正交化:U0= (U0U0T)-1/2U0。
(4)對(duì) 矩 陣U0的 各 列wi( i = 1,2,…M ) 執(zhí) 行 式(18) 得 到wi'( i = 1,2,…M ),令U1=[ w1',w2',…,wM' ]。
(5)根據(jù)式(22)對(duì)矩陣U1進(jìn)行正交化:U1= (U1U1T)-1/2U1。
(6)當(dāng)U0與U1滿 足 收 斂 條 件 時(shí) ,令 分 離 矩 陣W = U1T;若 不 收 斂 ,則 令U0= U1,返 回 執(zhí) 行第(4)步。
(7)對(duì)獨(dú)立成分的估計(jì)y ( t )= Wz( t )。
根據(jù)分離矩陣的正交性,在理想情況下,當(dāng)算法收斂時(shí)
因此在并行PSA 方法的第(6)步中,將正交性作為判斷算法是否收斂的標(biāo)準(zhǔn)
式中diag(U0TU1)代表取U0TU1的對(duì)角線元素。C 越小,代表U0與U1的正交性越好。當(dāng)C 值小于某一個(gè)閾值tol 時(shí),判斷算法收斂。為方便與現(xiàn)有PSA 算法比較,本文中tol = 0.000 1,與文獻(xiàn)[7]中一致。
本節(jié)通過幾組數(shù)據(jù)仿真,說明PSA 算法的誤差累積問題及并行PSA 算法相對(duì)PSA 算法的性能提升。仿真數(shù)據(jù)選取了4 段音樂信號(hào),信號(hào)的采樣率fs= 44.1 kHz,信號(hào)長度T = 34 s,4 段信號(hào)的波形如圖4 所示。
第1 組仿真實(shí)驗(yàn)隨機(jī)生成混合矩陣A,根據(jù)式(1)對(duì)4 個(gè)信號(hào)進(jìn)行混合,該組數(shù)據(jù)不加入噪聲;第2 組仿真實(shí)驗(yàn)在第1 組實(shí)驗(yàn)的基礎(chǔ)上增加了噪聲:將4 段音樂隨機(jī)混合后,按照20 dB 的信噪比增加高斯白噪聲。之后分別采用PSA 算法、并行PSA 算法對(duì)2 組仿真數(shù)據(jù)進(jìn)行BSS。以第1 組實(shí)驗(yàn)為例,圖5 列出了混合后的波形和BSS 系統(tǒng)輸出的信號(hào)(圖中估計(jì)信號(hào)1 到估計(jì)信號(hào)4 分別代表BSS 系統(tǒng)依次輸出的信號(hào))。從圖5 可以看出,由于BSS 存在不確定性,通過不同方法所估計(jì)出的信號(hào)次序是隨機(jī)的,一般與源信號(hào)的次序是不相同的。
圖4 源信號(hào)波形Fig.4 Waveforms of source signals
圖5 無噪聲情況下混合信號(hào)及兩種算法的計(jì)算結(jié)果Fig.5 Mixture signals and results of two algorithms under noise-free condition
在1.2 節(jié)中定義了r1和r2,這兩個(gè)量分別從誤差累積和估計(jì)精度的角度衡量一個(gè)BSS 算法的整體性能,仿真過程中按照式(6),(7)分別計(jì)算兩組仿真實(shí)驗(yàn)的r1和r2,進(jìn)行200 次蒙特卡洛仿真后,取r1和r2的平均值來對(duì)比2 個(gè)算法的性能。第1 組仿真實(shí)驗(yàn)的結(jié)果如圖6(a),(b)所示,第2 組仿真實(shí)驗(yàn)的結(jié)果如圖7(a),(b)所示。
圖6(a)、圖7(a)(兩圖中估計(jì)信號(hào)1 到估計(jì)信號(hào)4 代表BSS 系統(tǒng)依次輸出的信號(hào))顯示的是根據(jù)式(6)計(jì)算出的r1,即從誤差累積的角度比較并行PSA 算法與PSA 算法。兩圖都顯示出了PSA 算法的誤差累積問題,即隨著輸出次序的增加,誤差不斷累積,導(dǎo)致相關(guān)系數(shù)不斷下降。與無噪聲的情況相比,增加噪聲后PSA 算法的誤差累積問題更加明顯:在圖7(a)中,PSA 算法對(duì)前3 個(gè)輸出信號(hào)有較高的估計(jì)精度,保持在0.9 左右;然而對(duì)于最后一個(gè)輸出信號(hào),由于誤差累積,相關(guān)系數(shù)下降到0.65 左右,沒有準(zhǔn)確地估計(jì)出對(duì)應(yīng)的源信號(hào)。根據(jù)前文的分析,并行PSA 算法通過并行計(jì)算方式避免了誤差累積問題:對(duì)于無噪聲的情況,并行PSA 算法的各項(xiàng)相關(guān)系數(shù)可以穩(wěn)定在0.998 左右;對(duì)于包含噪聲的情況,各項(xiàng)相關(guān)系數(shù)可以穩(wěn)定在0.88 左右。2 種情況下并行PSA 算法都較準(zhǔn)確地估計(jì)出了各個(gè)信號(hào),整體性能優(yōu)于PSA 算法。
圖6 無噪聲情況下兩種算法的性能對(duì)比Fig.6 Performance comparison of two algorithms under noise-free condition
圖7 高斯白噪聲情況下兩種算法性能對(duì)比Fig.7 Performance comparison of two algorithms with white Guassian noise
圖8 不同信噪比下兩種算法的性能對(duì)比Fig.8 Performance comparison of two algo?rithms under different signal-to-noise ratios
圖6 (b)、圖7(b)顯示的是根據(jù)式(7)計(jì)算出的r2,即從對(duì)各個(gè)源信號(hào)的估計(jì)精度的角度來比較并行PSA 算法和PSA 算法。從兩張圖中可以看出,無論是無噪聲情況還是存在高斯白噪聲的情況,并行PSA 算法對(duì)各個(gè)源信號(hào)的估計(jì)精度整體上是優(yōu)于PSA 算法的。在包含噪聲的情況下,并行PSA 算法的優(yōu)勢(shì)較為明顯,此時(shí)并行PSA 算法各項(xiàng)相關(guān)系數(shù)平均高出PSA 算法0.02 左右。然而對(duì)比前文提到的誤差累積問題,并行PSA 算法的相關(guān)系數(shù)可以高出PSA算法0.2 左右,0.02 的精度優(yōu)勢(shì)并不明顯,造成這種情況的原因是BSS 存在不確定性:由于每一次估計(jì)出的源信號(hào)的順序是隨機(jī)的,因此每次計(jì)算中誤差累積的效果可能會(huì)作用于不同的源信號(hào),這樣任意一個(gè)源信號(hào)都有可能出現(xiàn)較大的估計(jì)誤差,然而數(shù)據(jù)仿真過程中r2是對(duì)200 次蒙特卡洛仿真結(jié)果取平均值得到的,取平均之后導(dǎo)致各項(xiàng)估計(jì)誤差都不再那么明顯。
第3 組仿真實(shí)驗(yàn)計(jì)算了2 種算法的Index(Q)隨信噪比變化的情況。仿真數(shù)據(jù)仍采用第1 組仿真的4 個(gè)源信號(hào),將源信號(hào)隨機(jī)混合后按照不同的信噪比增加高斯白噪聲。之后分別采用PSA 算法、并行PSA 算法對(duì)數(shù)據(jù)進(jìn)行BSS。根據(jù)式(8)計(jì)算Index(Q),進(jìn)行200 次蒙特卡洛仿真后,取平均值。計(jì)算結(jié)果如圖8 所示。
由圖8 可知,隨著信噪比的增加,Index(Q)不斷下降,表示算法的精度在不斷提升;同時(shí)在不同信噪比下,并行PSA 算法的估計(jì)精度始終優(yōu)于PSA 算法。
綜上,從多個(gè)角度比較了并行PSA 算法與PSA 算法的性能后,由分析可知,并行PSA 算法通過并行的計(jì)算方式避免了誤差累積,可以對(duì)各個(gè)信號(hào)保持較高的估計(jì)精度。
文獻(xiàn)[7]中的實(shí)驗(yàn)結(jié)果表明,在保證對(duì)源信號(hào)估計(jì)精度的同時(shí),PSA 算法的計(jì)算速度快于常規(guī)BSS算法。本節(jié)將對(duì)比并行PSA 算法、PSA 算法及常規(guī)BSS 算法的計(jì)算時(shí)間。
本節(jié)數(shù)據(jù)采用3.1 節(jié)中的第1 組仿真數(shù)據(jù),分別采用JADE、基于峭度的FastICA、基于偏度的FastI?CA、PSA、并行PSA 等算法對(duì)這組數(shù)據(jù)進(jìn)行BSS。進(jìn)行200 次蒙特卡洛仿真后,計(jì)算各個(gè)算法的平均計(jì)算時(shí)間。以上運(yùn)算均在同一計(jì)算平臺(tái)上進(jìn)行,結(jié)果如表1 所示。
表1 各種BSS 算法的平均計(jì)算時(shí)間Table 1 Average computing time of different blind source separation algorithms
表中結(jié)果顯示并行PSA 算法的計(jì)算速度與現(xiàn)有PSA 算法相當(dāng),均快于常規(guī)的BSS 算法。需要指出,在運(yùn)算過程中,無論是基于峭度的FastICA 算法還是基于偏度的FastICA 算法都出現(xiàn)了不能收斂的情況[14],這是FastICA 算法存在的問題,而其他3 種方法沒有出現(xiàn)不收斂的情況。
本文研究發(fā)現(xiàn),現(xiàn)有的PSA 算法由于采用了串行方式逐次估計(jì)各個(gè)源信號(hào),在BSS 過程中存在誤差累積問題,這將導(dǎo)致對(duì)源信號(hào)的估計(jì)準(zhǔn)確性降低。為解決這一個(gè)問題,本文提出了一種并行PSA 算法,該方法采用并行正交化的方式,可以并行地估計(jì)各個(gè)源信號(hào)。通過數(shù)值仿真證實(shí)了并行PSA 算法,避免了誤差累積問題,可以對(duì)各個(gè)源信號(hào)保持較高的估計(jì)準(zhǔn)確性。仿真結(jié)果還表明,并行PSA 算法的計(jì)算速度與PSA 算法相當(dāng),均快于常規(guī)的BSS 方法。目前本文僅考慮了瞬態(tài)混合BSS 模型,下一步將繼續(xù)研究如何將并行PSA 算法應(yīng)用于更為復(fù)雜的卷積混合BSS 模型,進(jìn)一步推廣該算法的應(yīng)用范圍。