郭凌飛,張林波
哈爾濱工程大學(xué)信息與通信工程學(xué)院,黑龍江哈爾濱150001
壓縮感知(compressive sensing,CS)已是當(dāng)前信號(hào)處理領(lǐng)域中的一個(gè)重要理論,相關(guān)的信號(hào)重構(gòu)算法更是備受國(guó)內(nèi)外眾多學(xué)者的關(guān)注。相比于傳統(tǒng)的信號(hào)采樣,具有采樣頻率低、耗時(shí)少、壓縮占有空間小等一系列優(yōu)勢(shì)[1?3]。壓縮感知理論中有3個(gè)重點(diǎn)問(wèn)題,分別為學(xué)習(xí)字典設(shè)計(jì)、觀測(cè)矩陣構(gòu)造和信號(hào)重構(gòu)算法[4],每一個(gè)問(wèn)題都對(duì)信號(hào)重構(gòu)起著重要的作用。
本文利用壓縮感知模型和欠定盲源分離模型的等效性,研究了壓縮感知在欠定盲源分離中的源信號(hào)重構(gòu)問(wèn)題,并針對(duì)學(xué)習(xí)字典設(shè)計(jì)與重構(gòu)算法的某些缺陷進(jìn)行改進(jìn)。首先,提出相關(guān)性加權(quán)最小二乘字典學(xué)習(xí)方法,與K?SVD字典學(xué)習(xí)方法相比,具有超線性收斂速度,提高了字典的學(xué)習(xí)效率,并有助于信號(hào)重構(gòu)質(zhì)量的提高[5]。然后,利用分段正交匹配追蹤算法來(lái)重構(gòu)源信號(hào)。接著,將字典學(xué)習(xí)法與信號(hào)重構(gòu)算法結(jié)合,可在算法復(fù)雜度與重構(gòu)精度上,實(shí)現(xiàn)更好的折中。最后通過(guò)實(shí)驗(yàn)仿真分析證明,壓縮感知可以較高的精度實(shí)現(xiàn)源信號(hào)的精確分離。
在無(wú)噪聲條件下,盲源分離混合系統(tǒng)的數(shù)學(xué)表達(dá)式為:
將式(1)轉(zhuǎn)換成式(2)的矩陣相乘形式:
假設(shè)系統(tǒng)中的信號(hào)均為離散實(shí)值信號(hào),且采樣點(diǎn)數(shù)均為 T ,此時(shí) X(t)為 M×T維的觀測(cè)信號(hào),S(t)為 N×T 維的源信號(hào),A為混合矩陣。
壓縮感知系統(tǒng)模型的數(shù)學(xué)表達(dá)式為:
同樣轉(zhuǎn)換成式(4)的矩陣相乘形式:
式中: X 與 S 均 為一維信號(hào), X 為長(zhǎng)度 M的壓縮信號(hào);S 為 長(zhǎng)度 N 的原始信號(hào); Φ為觀測(cè)矩陣。其中的信號(hào) S可以表示 S=ΨB,Ψ 為正交稀疏矩陣(字典), B為稀疏系數(shù)向量。同時(shí) S也可表示為一組共 N維正交稀疏矩陣與稀疏系數(shù)的線性組合,表示形式如式(5):
綜合上面的表達(dá)形式,壓縮感知系統(tǒng)模型的數(shù)學(xué)表達(dá)式改寫為式(6)的形式:
令 Γ=ΦΨ ,Γ為感知矩陣。
對(duì)比這2種模型,可以發(fā)現(xiàn)表達(dá)形式很相近。為了結(jié)合這2種模型,將式(2)中的 X(t)和S(t)寫成一維向量形式[6],得到:
套用觀測(cè)矩陣的格式,將混合矩陣 A的元素融合進(jìn)觀測(cè)矩陣 Φ, 使得 Φ中 的元素 φij成 為 Φ的子矩陣,每一個(gè)都是對(duì)角矩陣,如式(9)所示。這樣一來(lái),將式(7)~(9)結(jié)合在一起,使得式(3)有一種新的表達(dá)形式,即將壓縮感知模型與欠定盲源分離模型結(jié)合起來(lái)。
此時(shí) X∈RMT×1, S∈RNT×1, Φ ∈RMT×NT。
利用壓縮感知理論完成源信號(hào)重構(gòu)的基本內(nèi)容有3個(gè):字典學(xué)習(xí)方法、觀測(cè)矩陣構(gòu)造、信號(hào)重構(gòu)算法。
1.2.1 字典學(xué)習(xí)
將源信號(hào)作為學(xué)習(xí)信號(hào),根據(jù)源信號(hào)的先驗(yàn)知識(shí)并運(yùn)用學(xué)習(xí)方法,得到稀疏字典,常見(jiàn)的有最優(yōu)方向法、K?奇異值分解(K?SVD)算法等[7]。本文采用一種改進(jìn)的加權(quán)最小二乘算法,進(jìn)行字典學(xué)習(xí),該算法可根據(jù)信號(hào)內(nèi)部信息,提高信號(hào)重構(gòu)精度。
1.2.2 觀測(cè)矩陣構(gòu)造
將欠定盲源分離的數(shù)學(xué)模型轉(zhuǎn)換成壓縮感知的數(shù)學(xué)模型,將混合矩陣轉(zhuǎn)化為壓縮感知中的測(cè)量矩陣。可按照1.1節(jié)內(nèi)容實(shí)現(xiàn)。
1.2.3 重構(gòu)算法
壓縮感知重構(gòu)算法有很多,一類算法為凸優(yōu)化算法,例如基追蹤(base pursuit,BP)算法等;另一類算法為貪婪追蹤算法,例如正交匹配追蹤(orthogonal matching pursuit,OMP)算法、互補(bǔ)匹配追蹤(complementary matching pursuit,CMP)算法等[8]。本文重點(diǎn)研究貪婪追蹤算法中OMP算法的改進(jìn)算法,求出信號(hào)的稀疏系數(shù)。最后實(shí)現(xiàn)源信號(hào)的重構(gòu),解決欠定盲源信號(hào)的分離問(wèn)題。
本文采用一種名為含相關(guān)性的加權(quán)最小二乘字典學(xué)習(xí)(correlation-based weighted least square–dictionary learning,CWLS?DL)方法,它是一種能充分挖掘信號(hào)內(nèi)部相關(guān)性特征的字典學(xué)習(xí)方法,能夠提高過(guò)完備字典在壓縮感知中的信號(hào)重構(gòu)精度。
首先,給出原始的訓(xùn)練樣本,如式(10)所示。
訓(xùn) 練 字 典 為 D=[d1,d2,···,dN]。 在 這 里 將si(t)與 di分 別稱為第i個(gè) 子訓(xùn)練樣本和第i個(gè)子訓(xùn)練字典。同理,給出稀疏系數(shù)矩陣,如式(11)所示。
式中: bi(t)為 第i個(gè) 子稀疏系數(shù)向量, t=1,2,···,T,為書寫方便,后面將變量t省略。訓(xùn)練字典的初值一般是從訓(xùn)練樣本中選取得到[9]。
然后,進(jìn)行字典學(xué)習(xí)階段,分為稀疏編碼和字典更新2個(gè)環(huán)節(jié)[10]。稀疏編碼,先將子訓(xùn)練字典固定,基于選定的匹配追蹤(matching pursuit,MP)算法,求出子稀疏系數(shù)向量。字典更新,固定已求出的子稀疏系數(shù)向量,使用加權(quán)最小二乘法算法更新子訓(xùn)練字典。
下面給出利用加權(quán)最小二乘法,得到訓(xùn)練字典更新公式的簡(jiǎn)要推導(dǎo)過(guò)程。在字典更新中,要解決帶權(quán)重的重構(gòu)信號(hào)與輸入信號(hào)誤差的F?范數(shù)最小化問(wèn)題,也就是式(12)與(13)所表示的關(guān)系:
式中: W0為 誤差加權(quán)矩陣; K0為大于零的常數(shù);且函數(shù) f(di)滿足式(14)中的關(guān)系:
式中
對(duì)函數(shù) f(di)求 偏導(dǎo)數(shù)并令 ?f(di)/?di=0,計(jì)算后得到字典迭代公式為:
式(15)表示為N組方程組,將式(15)的結(jié)果帶入式(16),計(jì)算誤差矩陣 R,計(jì)算式為
式中 為一個(gè) 維的對(duì)角矩陣。
所以, W′的初始化過(guò)程為:從 S 中隨機(jī)選取樣本得到D的初值,將D的初值與S代入到匹配追蹤算法中,得到稀疏系數(shù)矩陣B,再根據(jù)式(16)計(jì)算得到R,最后將R中的元素代入到式(17)中求得權(quán)重矩陣 W′的初值。
得到權(quán)重矩陣 W′的初值后,將賦值 W=W′,并代回到式(15)中,不斷重復(fù)直至字典D收斂,并到達(dá)正交且接近稀疏為止,記此時(shí),得到的字典 D′就是要求的正交稀疏矩陣Ψ ,如式(18)所示,其中有 d′i=ψi。
分段正交匹配追蹤(Stage wise-OMP,St-OMP)算法是OMP的一種改進(jìn)算法,也是壓縮感知理論中的核心[11]。St-OMP算法在OMP算法基礎(chǔ)上,增加了單次迭代選擇的原子數(shù),并且不受到信號(hào)稀疏度的影響,相比于OMP算法和其他改進(jìn)的OMP算法,有獨(dú)特優(yōu)勢(shì)。
2.2.1 算法涉及到的變量與成分
輸入成分:
輸出成分:
1)稀疏系數(shù)向量估計(jì)值:B?。
2)殘差: rS
其他變量:
1)迭代次數(shù):t 。
2)每次迭代找到的索引(列序號(hào)): J0。3)t次迭代索引(列序號(hào))集合:Λt。
4) Γ的 第 j 列: γj。
5)按 Λt選出的矩陣 Γ 的列集合:Γt。
1)將參數(shù)初始化
2)計(jì)算 u并 選擇 u中大于門限的TTh值,將計(jì)算出的值對(duì)應(yīng) Γt的列序號(hào)構(gòu)成集合 J0( 1?j?N),u的計(jì)算式如式(19):
3)按式(20)進(jìn)行集合并運(yùn)算,若 Λt=Λt-1(即沒(méi)有新列被選中),則停止迭代,進(jìn)入步驟7);
6)迭代次數(shù)增加,即 t=t+1。 若 t?S,則返回步驟2)繼續(xù)執(zhí)行;若 t>S或 殘差 rt=0,停止迭代,進(jìn)入步驟7)。
7)得到最終的 B?后,再乘上前面得到的字典Ψ,可重構(gòu)信號(hào) S?=ΨB?。在 Λt處有非零項(xiàng),其值分別為最后一次迭代得到的。
組合算法流程圖如圖1所示。
圖1 壓縮感知盲源分離組合算法
評(píng)價(jià)混合矩陣估計(jì)性能的標(biāo)準(zhǔn)有2個(gè)[12],分別為:
1)信干比
式中:si代 表第i路 源信號(hào);代 表第i路恢復(fù)源信號(hào)。利用信干比作為源信號(hào)的恢復(fù)性能評(píng)價(jià)準(zhǔn)則時(shí),信干比越大,表示源信號(hào)恢復(fù)效果越好越理想。一般認(rèn)為當(dāng)信號(hào)的信干比不小于10dB時(shí),恢復(fù)效果較好,重構(gòu)精度高。這里的信干比定義與其他地方不同,表示的是重構(gòu)信號(hào)與源信號(hào)的誤差,而和干擾沒(méi)有關(guān)系。
2)相關(guān)系數(shù)
式中: si(t)是 第i路 源 信 號(hào) ;(t)是 第i路恢復(fù)源信號(hào)。當(dāng)相關(guān)系數(shù)越接近1,說(shuō)明分離效果越好,恢復(fù)信號(hào)越接近源信號(hào);反之,則分離算法性能越差。一般情況下,相關(guān)系數(shù)不小于0.8時(shí),信號(hào)恢復(fù)程度已較好。
為驗(yàn)證算法的性能,我們通過(guò)語(yǔ)音信號(hào)的盲源分離仿真實(shí)驗(yàn)來(lái)完成。實(shí)驗(yàn)采用的源信號(hào)為隨機(jī)選取的4段英語(yǔ)聽(tīng)力音頻,數(shù)據(jù)采樣點(diǎn)長(zhǎng)度為80000,采樣頻率為10kHz,源信號(hào)時(shí)域波形圖如圖2所示。
圖2 源信號(hào)波形
首先,利用混合矩陣模擬聲音傳播的信道,將4路源信號(hào)混合成3路觀測(cè)信號(hào),本文中混合矩陣 A為隨機(jī)生成的,混合矩陣為:
3.1.1 信號(hào)重構(gòu)情況
根據(jù)本文提出的字典學(xué)習(xí)方法與重構(gòu)算法,進(jìn)行信號(hào)分離重構(gòu)仿真實(shí)驗(yàn),并命名算法1為K?SVD字典+OMP算法,算法2為CWLS字典+OMP算法,算法3為K?SVD字典+St?OMP算法,算法4為CW?LS字典+St?OMP算法。分別通過(guò)上述組合算法進(jìn)行源信號(hào)重構(gòu),得到重構(gòu)源信號(hào)分別如圖3~6所示。
圖3 算法1分離信號(hào)波形(無(wú)噪聲)
圖4 算法2分離信號(hào)波形(無(wú)噪聲)
圖5 算法3分離信號(hào)波形(無(wú)噪聲)
圖6 算法4分離信號(hào)波形(無(wú)噪聲)
3.1.2 算法性能檢驗(yàn)
接下來(lái),通過(guò)對(duì)比所得相關(guān)系數(shù)與信干比的數(shù)據(jù),來(lái)檢驗(yàn)算法的性能。
首先是相關(guān)系數(shù),表1中的數(shù)據(jù)為通過(guò)算法4重構(gòu)信號(hào)得到的相關(guān)系數(shù),主對(duì)角線上的數(shù)據(jù)代表源信號(hào)與自身重構(gòu)信號(hào)的相關(guān)系數(shù),其他位置代表源信號(hào)與其余重構(gòu)信號(hào)的相關(guān)系數(shù)。可以看到主對(duì)角線上的相關(guān)系數(shù)均大于0.8,證明通過(guò)算法4能夠較好恢復(fù)信號(hào)。
表1 通過(guò)算法4仿真得到的相關(guān)系數(shù)
下面將對(duì)比通過(guò)不同算法得到的相關(guān)系數(shù)來(lái)驗(yàn)證算法重構(gòu)源信號(hào)的精確度,數(shù)據(jù)如表2所示。其中,在算法4下計(jì)算得到的相關(guān)系數(shù)最大,意味著重構(gòu)源信號(hào)的精確度最高。所以,CWLS字典與St?OMP算法的組合在信號(hào)重構(gòu)精度方面,在這4個(gè)算法組合中性能最佳。
表2 不同算法相關(guān)系數(shù)對(duì)比結(jié)果
下面將對(duì)比不同算法完成仿真實(shí)驗(yàn)的消耗時(shí)間,來(lái)驗(yàn)證算法重構(gòu)源信號(hào)的復(fù)雜度。數(shù)據(jù)如表3所示,按算法消耗時(shí)間由少到多的順序排列,分別為算法2、算法1、算法4、算法3。這證明了CWLS字典與St-OMP算法的組合,在算法復(fù)雜度上有一個(gè)降低的趨勢(shì)。
表3 不同算法消耗時(shí)間對(duì)比結(jié)果
對(duì)比相關(guān)系數(shù)之后,下面是信干比的比較。數(shù)據(jù)如表4所示,其中算法4得到的信干比最大。和相關(guān)系數(shù)的驗(yàn)證結(jié)果一樣,CWLS字典與St-OMP算法的組合在信號(hào)重構(gòu)精度方面,是這4個(gè)算法組合中性能最好的。
表4 不同算法信干比對(duì)比結(jié)果
3.2.1 信號(hào)重構(gòu)情況
本小節(jié)實(shí)驗(yàn)將在加性高斯白噪聲(additive white Gaussian noise,AWGN)的環(huán)境下進(jìn)行。依舊遵循3.1.1節(jié)中的算法命名方式,分別通過(guò)前面的4種組合算法進(jìn)行源信號(hào)重構(gòu)。設(shè)置信噪比為20dB,得到重構(gòu)源信號(hào)分別如圖7~10所示。
圖7 算法1分離信號(hào)波形(信噪比為20dB)
圖8 算法2分離信號(hào)波形(信噪比為20dB)
圖9 算法3分離信號(hào)波形(信噪比為20dB)
圖10 算法4分離信號(hào)波形(信噪比為20dB)
3.2.2 算法性能檢驗(yàn)
這里對(duì)比在AWGN環(huán)境下所得相關(guān)系數(shù)與信干比的數(shù)據(jù),來(lái)檢驗(yàn)算法的性能。
圖11為不同信噪比下的相關(guān)系數(shù)曲線圖,可看到算法4是上述4種組合中,當(dāng)相關(guān)系數(shù)相等且不小于0.8時(shí),所需信噪比最小的組合,最小信噪比約為18dB。
圖11 不同信噪比下的相關(guān)系數(shù)(含AWGN)曲線
圖12為不同信噪比下的信干比曲線圖,可看出算法4的組合是上述4種組合中,當(dāng)信干比相等且不小于10dB時(shí),所需信噪比最小的組合,最小信噪比約為17dB。
圖12 不同信噪比下的信干比(含AWGN)曲線
所以,CWLS字典與St-OMP算法的組合在含噪聲環(huán)境下同樣有著較優(yōu)的性能。
本文就欠定盲源分離中源信號(hào)的恢復(fù)問(wèn)題,與壓縮感知理論結(jié)合,并針對(duì)其中的字典學(xué)習(xí)與重構(gòu)算法進(jìn)行改進(jìn),提出了CWLS字典學(xué)習(xí)與St-OMP算法組合,并完成語(yǔ)音信號(hào)的信號(hào)重構(gòu)仿真實(shí)驗(yàn)。所得結(jié)論如下:
1)提出的組合算法能夠解決帶權(quán)重信號(hào)誤差的F?范數(shù)最小化問(wèn)題,并通過(guò)增加單次迭代的原子數(shù)改變算法復(fù)雜度。
2)仿真實(shí)驗(yàn)結(jié)果表明,CWLS字典學(xué)習(xí)與St-OMP算法組合在原有算法基礎(chǔ)上,可提高信號(hào)重構(gòu)精度,同時(shí)在算法復(fù)雜度上有著不錯(cuò)的折中效果;而且在含噪聲環(huán)境下同樣有著較優(yōu)的性能。
文章在對(duì)算法的復(fù)雜度驗(yàn)證上還不夠完善,而且其穩(wěn)定性也要進(jìn)一步驗(yàn)證,這也是后面的研究過(guò)程中需要考慮的地方。