白宗龍 師黎明 孫金瑋
稀疏信號恢復具有廣泛的應用性和充分的理論支持,因此成為信號處理領域中的一個重要且受到持續關注的研究課題.稀疏信號恢復可應用于麥克風陣列信號處理[1?3],圖像處理[4?9],腦電信號處理[10?11],雷達信號處理[12?14]等領域.目前,有多種稀疏信號恢復算法被提出,主要包括基于?p范數(0
SBL 與其他貝葉斯算法類似,通過賦予信號稀疏先驗分布,最大化后驗分布得到信號的估計.與其他貝葉斯方法不同的是SBL 采取構建多層貝葉斯框架的方式賦予信號中每個元素獨立的稀疏分布,根據稀疏分布的不同,SBL 可以分為基于Student-t 先驗的SBL[16],基于Laplace 先驗的SBL[17?18],基于合成LASSO 先驗的分布等[19].SBL 最早在文獻[16]中提出,該文獻中構建了一種多層貝葉斯框架,通過賦予信號中每個元素多層共軛先驗,等價賦予信號Student-t 稀疏先驗.多層共軛先驗的貝葉斯框架的構造使得模型中每層參數可以依次更新.類似的,文獻[17]提出一種基于Laplace 先驗的多層貝葉斯框架.文獻[18]中提出一種針對復值信號的自聚焦的基于Laplace 先驗的多層貝葉斯框架.文獻[19]中提出一種基于合成LASSO 先驗的多層貝葉斯框架,賦予信號LASSO 先驗.由于LASSO 分布缺少共軛先驗,文中采用了高斯接近的方法進行求解.該文獻對應于在文獻[20]中提出的一種基于凸優化的自適應LASSO 算法.
由于SBL 算法在參數更新時需要矩陣求逆運算,導致計算量很高.為降低計算復雜度,文獻[21]提出一種基于基選擇的快速SBL 算法,文獻[17]給出了Lalapce 先驗下基于基選擇的快速算法,但是該算法無法推廣至復值信號模型.文獻[22]提出一種基于最大化證據下界的快速算法,但是該算法穩定性欠佳,存在不收斂的情況.文獻[23]提出一種基于近似消息傳遞(Approximate message passing,AMP)的SBL 算法,并在文獻[24]針對相干信號進行進一步改進.文獻[25]提出一種基于空間輪換的SBL 算法.文獻[26]在[25]基礎上提出一種應用于大數據量的基于標量平均場的SBL 算法.
為提高稀疏信號恢復的準確性,本文開展了基于自適應LASSO 先驗的SBL 算法研究.在貝葉斯模型構造階段,本文中通過構建一種與現有SBL 算法不同的多層貝葉斯框架,賦予信號中每個元素具有獨立權重的LASSO 先驗,比現有稀疏先驗更有效的鼓勵稀疏.根據該多層貝葉斯框架提出一種基于自適應LASSO 先驗的SBL 算法.為進一步降低提出算法的計算復雜度,在貝葉斯推斷階段利用空間輪換技術避免矩陣求逆運算,形成一種快速算法.

稀疏信號恢復問題是指已知測量矩陣A ∈RM×N,利用欠采樣數據x ∈RM和稀疏恢復算法估計稀疏信號g ∈RN的問題.實值稀疏信號恢復的數學模型表示如下:

其中,w ∈RM是可加性高斯白噪聲.復值信號模型與實值信號模型的區別在于測量矩陣A ∈CM×N是復值矩陣,測量數據x ∈CM和稀疏信號g ∈CN是復值向量,w ∈CM是復值圓周對稱高斯白噪聲.
由于測量數據x是欠采樣數據,即數據維度M小于信號維度N,因此使用最小二乘算法求解信號g是一個不適定問題.然而,Candes 等在文獻[27]中證明了在已知信號g是稀疏信號且滿足有限等距性質(Restricted isometry property,RIP)條件下,稀疏信號恢復問題具有唯一解.為了利用信號的稀疏先驗信息,最直接的方法是添加正則項∥g∥0約束解的范圍.從而將稀疏信號恢復問題轉化為如下優化問題:

其中,ζ是正則化因子.然而,凸優化問題 (2)是一個NP-hard 問題,難以進行求解.常用的求解問題(2)的方法是將?0范數釋放至?1范數,形成如下凸優化問題:

其中,∥·∥1表示?1范數.凸優化問題 (3)可以通過LASSO 算法進行求解,但是LASSO 算法不能一定保證收斂,為提高算法性能,Zou 在文獻[20]中對LASSO 算法進行了改進,提出了自適應LASSO算法,并對該算法的Oracle 特性進行了證明1Oracle 特性具體包括模型選擇相和性和參數估計漸進正態性.其含義為,在一些變量不是提前已知的情況下,如果算法具有Oracle 特性,那么它能夠篩選出正確的預測的概率為1 而且能夠有效而正確地估計非零估計量..自適應LASSO 算法求解如下優化問題:

其中,gi是信號g中的第i個元素,ωi表示信號元素gi的權重.
本文利用稀疏貝葉斯框架構建了基于自適應LASSO 先驗的SBL 算法,通過構建多層貝葉斯網絡賦予信號中每個元素獨立信號的LASSO 先驗,從而實現貝葉斯框架下的自適應LASSO 算法.
在貝葉斯模型中,所有未知變量都被認為是隨機變量,并根據未知變量的先驗信息賦予隨機變量不同的分布.本文中根據信號的稀疏特性賦予未知信號g自適應LASSO 先驗分布p(g|η),并且假設測量數據x是一個條件概率為p(x|g,ρ) 的隨機過程.其中,ρ表示噪聲的精度,即噪聲方差的倒數.下面將對該多層貝葉斯框架進行具體的描述.
假定實值模型中觀測噪聲w是方差為ρ?1的高斯白噪聲,復值模型中觀測噪聲w是方差為ρ?1的圓周共軛復高斯白噪聲,則實值模型和復值模型中測量數據x的條件概率表示如下:

其中,?=2 對應于實值模型,?=1 對應于復值模型.為更新噪聲精度ρ,假設ρ服從于如下Gamma分布:

其中,c和d是預設的模型參數,且c>0 是Gamma分布的形狀參數,d>0 是Gamma 分布的尺度參數.在變量ρ服從于Gamma 分布 (6)的假定下,變量的均值和方差分別表示為.
類似于其它SBL 算法,未知信號g的自適應LASSO 先驗p(g|η) 通過多層共軛先驗的形式實現.首先,使用零均值的多維高斯分布對信號進行如下建模:

其中,Λ=diag{λ}表示多維高斯分布的協方差矩陣,λ=[λ1,λ2,···,λN]T表示信號的方差向量且λi >0,d iag{·}表示對角矩陣操作.對于變量λ,假設其服從于如下獨立的Gamma 分布:

其中,η=[η1,η2,···,ηN]T表示變量的向量且ηi >0.根據式 (7)和 (8),變量g關于變量η的邊緣分布可以通過對變量λ積分獲得,表示如下:

即,前兩層貝葉斯先驗 (7)和 (8)等價與賦予信號g一種LASSO 先驗,其中,ηi對應于式 (4)中的權重wi.為了自適應調節LASSO 先驗的權重,對非負變量η賦予如下Gamma 分布:

其中,ai >0 和bi >0 為預設的模型參數.
根據式 (9)和 (10),變量g關于a和b的邊緣分布可通過對變量η的積分獲得,結果如下:

其 中,Γ(·) 表示Gamma 函數.實際 上,根據式(11),本文提出的貝葉斯框架最終賦予信號g一種Student-t 先驗.其中,Student-t 分布是一種具有長拖尾特性的分布,可以表達信號的稀疏特性[16].基于自適應LASSO 先驗的SBL 模型由式 (5),(7),(8),(10)構成.該模型的因子圖如圖1 所示.圖中節點函數總結如下:


圖1 基于自適應LASSO 先驗的SBL 框架的因子圖Fig.1 The factor graph of the proposed SBL framework using adaptive LASSO priors
SBL 算法本質是一種魯棒的最大后驗估計方法[2,16].一般通過I 型或II 型估計器稀疏求解[28].本文采用I 型估計器對提出的基于自適應LASSO先驗SBL 算法進行分析.I 型估計器為最大化后驗分布[28]:

在SBL 算法中,通過迭代的方式對參數進行更新,對于每一次迭代需要使用上一次迭代的參數.即在每一步迭代中等價于如下優化問題:

其中,gnew和gold分別是本次迭代和上一次迭代中g的估計.根據式 (9),式 (14) 可寫為如下形式:

由Laplace 分布和Gamma 分布的共軛性質可得,變量η服從于如下Gamma 分布:

比較式 (17)和式 (4)可知,本文提出的基于自適應LASSO 先驗的SBL 算法對應于自適應LASSO 算法.自適應LASSO 算法需要預定義回歸系數,但本文中算法具有自回歸特性,可自適應選擇合適的回歸系數,并且SBL 算法具有不確定估計特性,估計結果在統計意義上優于自適應LASSO算法.根據文獻[20],自適應LASSO 算法是對LASSO 算法的改進,稀疏恢復性能優于LASSO 算法.又根據文獻[17],基于Laplace 先驗的SBL 算法對應于LASSO 算法,并且性能優于基于Student-t算法.文獻[19]提出的基于合成LASSO 先驗的SBL算法對應于自適應LASSO 算法,但是由于采用高斯接近的方法進行參數更新,導致在測量數少或者SNR 低時存在無法進行高斯擬合的情況.本文提出的基于自適應LASSO 先驗的SBL 算法通過多層貝葉斯框架的方式構造自適應LASSO 先驗,避免了無法擬合的情況.通過以上分析可知,本文提出的基于基于自適應LASSO 先驗的SBL 算法性能優于現有算法.
為更直觀的表現本文提出的算法所提供的稀疏恢復特性,我們繪制了實值模型下不同算法的稀疏先驗的代價函數的二位等高線圖,結果見圖2.復值信號模型與實值信號模型的結果類似,此處不再重復討論.圖中BPDN 是文獻[29]提出的算法,FastSBL是文獻[21]提出的基于Student-t 先驗的SBL 算法,FastLap-SBL 是文獻[17]提出基于Laplace 先驗的SBL 算法,aLASSO-SBL 是本文提出的基于自適應LASSO 先驗的SBL 算法.其中,BPDN 和FastLap-SBL 的先驗與參數無關;FastSBL 和aLASSO-SBL 算法的參數設置相同,都為a=1,b=0.1.根據文獻[16]、文獻[30]和文獻[19],如果先驗具有長拖尾特性并且概率分布在零點處越 “尖銳”則越鼓勵稀疏,反映到二維等高線圖上為越靠近坐標軸,越鼓勵稀疏.觀察圖2,自適應LASSO先驗的二維等高線圖相比于其他先驗更靠近坐標軸.由圖中可知,本文提出的算法比其他算法有更好的稀疏恢復性.

圖2 四種算法的稀疏先驗代價函數二維等高線圖Fig.2 Two dimensional contour plots of cost functions of different sparse priors
另外,我們繪制了不同參數下自適應LASSO先驗的代價函數等高線圖,如圖3 所示,在參數a固定為 1 的條件下,參數b越接近于 0,二維等高線越靠近坐標軸,即算法提供的解越稀疏.基于以上分析,相比于其它算法,本文提出的算法在理論上可以提供最稀疏的解,從而得到更精確的稀疏信號恢復性能.

圖3 本算法在不同參數下稀疏先驗代價函數二維等高線圖Fig.3 Two dimensional contour plots of cost functions of the proposed sparse priors versus hyperparameters
在本文提出的貝葉斯模型中,所有隱藏變量的集合表示為 Θ ={g,λ,η,ρ}.根據圖1 表示的貝葉斯模型,聯合概率密度表示如下:

后驗分布的閉合形式p(Θ|x) 需要計算邊緣分布密度函數p(x),但是p(x) 難以求得,因此本文采用變元貝葉斯推斷的方法進行參數更新.變元貝葉斯推斷使用因子化變量分布對實際后驗分布進行近似.隱藏變量的因子化變量分布表示如下:

其中,q(Θ) 是實際后驗p(Θ|x) 的近似.然后,通過最小化實際后驗分布p(Θ|x) 與近似分布q(Θ) 的KL 散度(Kullback-Leibler,KL)對參數進行更新,該過程等價于最大化如下目標函數:

如圖1 所示,本文提出的模型中所有節點的先驗和似然函數都存在共軛指數分布族,因此變元貝葉斯推斷表示如下[31?32]:

其中,θk表示隱藏變量集合 Θ 中第k個變量,例如θ1表示變量g,Θθk表示集合 Θ 中去除第k個變量θk的集合,C表示常數.
根據式 (18),對數形式的聯合分布表示如下:
然后,參數可根據式 (21)和 (22)更新,下面給出具體更新規則.
參數g的更新:根據式 (21),實際后驗分布p(g|x)的變元近似分布的對數形式為

其中,〈·〉表示參數的期望,cg表示更新參數g時的常量.由式 (23)可知,q(g) 可以使用多維高斯分布表示,其期望和方差表示如下:

其中,IM表示維度為M的單位矩陣.式 (24b)的推導使用了Woodbury 引理[33],目的是降低矩陣求逆的計算量.其中,Woodbury 引理見附錄A.
參數λ的更新:變量λ的對數近似后驗為:


參數ρ的更新:根據式 (21)和式 (22),變量ρ的對數近似分布表示如下:

其中,cρ表示參數ρ更新時的常量.根據式 (31),變量ρ的近似分布為Gamma 分布,對應參數如下:

其中,t r(·) 表示矩陣的跡.因此,參數ρ的更新規則為:

上述為本文提出的基于自適應LASSO 先驗的SBL 算法所有參數的更新規則,以下將該算法簡稱為aLASSO-SBL.為清晰描述算法,將參數更新流程總結如算法1 所示.
算法1.aLASSO-SBL 算法偽代碼


根據參數更新規則,算法的主要計算量在于更新參數g的協方差矩陣 Σ.為進一步降低算法計算量,本文采用空間輪換方法對參數g進行更新.在g中元素相互獨立的假設下,根據式 (21),變量gi的對數近似分布表示如下:

快速算法的參數更新流程與第3.1 節中aLASSO-SBL 算法的區別在于參數g的更新,即使用式(36)替代式(24)進行更新,其余參數更新規則不變.快速算法的優勢在于更新參數g的協方差矩陣 Σ 時避免了矩陣求逆運算,從而降低計算量,缺點在于忽略了變量g不同元素之間的協方差項,所以在測量矩陣A的列向量相關的情況下,快速算法的稀疏信號恢復準確度會降低.為描述方便,下文中將快速算法簡稱為FaLASSO-SBL 算法.
算法2.FaLASSO-SBL 算法偽代碼

本文通過使用算法中的乘法或除法運算數量衡量計算復雜度,并且在欠定條件 (M 本節通過仿真實驗驗證提出的aLASSO-SBL和FaLASSO-SBL 算法的性能.仿真實驗分別針對實值信號模型(?=2 )和復值信號模型(?=1)開展.對于實值信號模型,測量矩陣A中的元素滿足獨立同分布的高斯分布,稀疏信號g中非零元素服從于獨立同分布的高斯分布.對于復值信號模型,測量矩陣A中的元素和稀疏信號g中的非零元素都服從于獨立同分布的復高斯分布.無噪測量數據通過測量矩陣A與和稀疏信號g相乘得到,即Ag,然后對信號添加高斯白噪聲,信噪比(Signal-Noise Ratio,SNR)的定義如下: 各個算法的稀疏恢復準確性通過均方根誤差(Root-Mean-Square-Error,RMSE)衡量,定義如下: 本文使用的算法及相應簡稱總結如下:BPDN 為文獻[29]提出的基追蹤去噪算法,OMP 為文獻[34] 提出的正交基追蹤算法,aLASSO 為文獻[20]提出的自適應LASSO 算法,FastSBL 為文獻[21] 提出的快速SBL 算法,GAMP-SBL 為文獻[24]中提出的基于近似消息傳遞(Approximate Message Passing,AMP)的SBL 算法,FastLap-SBL 為文獻[17]提出的基于Laplace 先驗的快速SBL 算法,MFOCUSS 為文獻[35]提出的類?p范數優化算法,HSL-SBL 為文獻[19] 提出的合成LASSO 先驗的SBL 算法,aLASSO-SBL 和FaLASSO-SBL 是本文提出的基于自適應LASSO 先驗的SBL 算法及其快速算法.其中,aLASSO 的正則因子設置為 1,MFOCUSS 的參數p按文中建議設為 0.8,FastSBL,Lap-SBL,HSL-SBL,aLASSOSBL 和FaLASSO-SBL 的模型參數設置為相同的接近于零的值 10?6. 本文中所有仿真實驗使用MATLAB 軟件實現,軟件版本為R2020a,操作系統為64 位Windows 10.硬件配置總結如下:處理器為AMD Ryzen 7 4750U,物理核心數為8,主頻為1.7 GHz,內存容量為16 GB. 與凸優化和貪婪算法相比,貝葉斯方法的一個重要特性是可以提供未知信號的后驗分布而非點估計結果.利用后驗分布估計參數的優勢在于通過協方差矩陣 Σ 可以得到參數估計的不確定度,在統計的角度優于凸優化算法.本次實驗中我們給出實值模型下各個算法對稀疏信號的估計結果.仿真中測量矩陣的維度為 5 0×200,即測量數為 50,信號長度為 2 00,信號中非零元素的個數設置為 10,SNR設置為30 dB.實驗結果如圖4 所示.其中,圖4(a)為純凈的稀疏信號;圖4(b)為使用BPDN 算法恢復的信號;圖4(c)為使用aLASSO 算法恢復的信號;圖4(d)為使用OMP 算法恢復的信號;圖4(e)為使用FaLASSO-SBL 算法恢復的信號;圖4(f)為使用aLASSO-SBL 算法恢復的信號.由圖4 可知.基于凸優化的BPDN 和aLASSO 算法以及基于貪婪算法的OMP 算法僅提供點估計結果,而本文提出的aLASSO-SBL 和FaLASSO-SBL 算法與其它貝葉斯算法相同,可以提供具有不確定度的估計結果.其中,圖中誤差線表示恢復信號的不確定度.由于FaLASSO-SBL 算法忽略協方差項導致對信號方差的估計小于aLASSO-SBL 算法估計的方差,但是協方差項的忽略會導致稀疏信號恢復準確性降低(見仿真實驗二,三和四). 圖4 一維信號稀疏恢復圖Fig.4 Results for one-dimensional signal recovery 本次仿真實驗研究各個算法稀疏恢復性能與測量數的關系.對于實值信號模型,信號長度設置為200 ,非零元素數設置為 30 ,測量數變化范圍為50到 100,間隔為 10.SNR 為30 dB.獨立實驗次數為200 次.對于復值信號模型,測量數變化范圍為40到 90,其它參數設置與實值信號模型相同,原因是相同維度下,復值測量數據的信息量大于實值測量數據的信息量,所以需要更少的測量數.實值信號模型和復值信號模型的實驗結果如圖5 和圖6 所示.表1 給出了測量數為 80 時實值信號模型和復值信號模型下各算法單次運行的時間. 圖5 實值模型下各算法稀疏恢復準確度與測量數的關系Fig.5 RMSE of different algorithms with the real-value signal model versus length of measurements 圖6 復值模型下各算法稀疏恢復準確度與測量數的關系Fig.6 RMSE of different algorithms with the complexvalue signal model versus length of measurements 由圖5 可知,針對實值信號模型,當測量數M=50 時,所有算法失效.當測量數M ≥60 時,本文提出的aLASSO-SBL 的稀疏恢復準確性優于其他算法,特別是在測量數較小(6 0≤M ≤90)時恢復效果相較于其它算法有明顯提升.快速算法FaLASSOSBL 算法的準確性相比于aLASSO-SBL 算法有一定程度的降低,但是如表1 所示,FaLASSO-SBL算法計算時間明顯低于aLASSO-SBL 算法.根據圖5 和表1,FastLap-SBL 算法和GAMP-SBL 算法的運算速度比本文提出的FaLASSO-SBL 算法快,但是信號恢復的準確度比本文提出的算法低. 如圖6 所示,對于復值信號模型,所有算法在測量數 7 0≤M ≤90 時稀疏恢復效果較好,在測量數 5 0≤M ≤70 時,本文提出的aLASSO-SBL 和FaLASSO-SBL 算法相比于其他算法具有更低的RMSE.在測量數M=40 時,所有算法的恢復效果很差.在測量數M ≥60 時,HSL-SBL 算法與本文提出的算法有相同的稀疏恢復效果,但是HSLSBL 算法在測量數小于 60 時出現不收斂的情況,所以無法顯示其在M <60 時的結果.相比HSLSBL 算法,本文提出的算法穩定性較高.根據圖6和表1,對于復值信號模型,MFOCUSS 算法和GAMP-SBL 算法的計算速度比本文提出的FaLASSO-SBL 算法速度快,但信號恢復的準確率低于本文提出的算法.原因是MFOCUSS 算法在歸一化因子選擇不合適時準確性降低;GAMP-SBL 是一種基于Student-t 先驗的快速SBL 算法,其優勢在于計算速度快,但缺點在于其信號恢復的準確率低于基于Student-t 先驗的SBL 算法. 為進一步驗證本文中提出的aLASSO-SBL 算法對高維信號的稀疏恢復性能,進行如下仿真實驗.對于實值信號模型,信號長度設置為 2 000,非零元素數設置為 100,測量數變化范圍為 100 到 3 50,間隔為 50. SNR 為20 dB.獨立實驗次數為 2 00 次.復值信號模型參數設置與實值信號模型相同.仿真實驗結果如圖7 和圖8 所示. 圖7 高維實值信號模型下各算法稀疏恢復準確度與測量數的關系Fig.7 RMSE of different algorithms with the high-dimensional real-value signal model versus length of measurements 圖8 高維復值信號模型下各算法稀疏恢復準確度與測量數的關系Fig.8 RMSE of different algorithms with the high-dimensional complex-value signal model versus length of measurements 圖7 為高維信號實值模型下各算法稀疏恢復準確度與測量數的關系.由圖7 可知,本文提出的aLASSO-SBL 算法的稀疏信號恢復準確性優于現有稀疏恢復算法.本文FaLASSO-SBL 算法的準確性比aLASSO-SBL 算法有所降低,但在測量數M ≥150時高于其他算法.圖8 為高維信號復值模型下各算法稀疏恢復準確度與測量數的關系.由圖8 可知,HSL-SBL 算法在M ≥150 時與本文提出的aLASSO-SBL 算法的稀疏信號恢復準確度相同并且高于其它算法,但是當M <150 時失效.本文FaLASSO-SBL 算法的準確性比aLASSO-SBL算法略低,但在M ≥150 時高于除aLASSO-SBL算法和HSL-SBL 算法之外的其它算法,但計算量低于aLASSO-SBL 算法和HSL-SBL 算法. 表2 給出了高維信號實值模型和復值模型在測量長度為200 時單次運行需要的時間.與表1 相比可知,信號維度增加會導致計算量的增加.結合表2、圖7 和圖8 可知,對于高維信號,本文中提出的aLASSO-SBL 算法的稀疏信號恢復準確性高于現有算法,但是在信號維度增高時計算量會顯著增加;本文中提出的FaLASSO-SBL 算法稀疏恢復準確性略低于aLASSO-SBL 算法,但運算速度明顯高于aLASSO-SBL 算法. 表2 恢復高維信號時各算法單次運行時間Table 2 Time consumptions of different algorithms when the dimension of signal is high 本次仿真實驗研究各個算法稀疏恢復性能和稀疏度的關系.對于實值信號模型,測量矩陣的維度設置為 100×200,即測量數為 100,信號長度為200信號中非零元素個數變化范圍為 10 到 50,間隔為10. SNR 設置為30 dB.獨立實驗次數為 2 00.對于復值信號模型,信號中非零元度的個數變化范圍設置為 20 到 70,其他參數設置與實值模型設置相同.針對實值信號模型和復值信號模型的稀疏恢復結果如圖9 和圖10 所示. 根據圖9 可知,針對實值信號模型,所有算法在稀疏度高的條件下,即信號中非零元素個數10≤K ≤30時稀疏恢復效果較好,在稀疏度低的條件下(3 0≤K ≤60),FaLASSO-SBL 和aLASSOSBL 的RMSE 明顯低于其它算法,即本文提出的算法對信號稀疏度的魯棒性比其它常用算法更強. 圖9 實值模型下各算法稀疏恢復準確度與稀疏度的關系Fig.9 RMSE of different algorithms with the real-value signal model versus number of non-zero elements 如圖10 所示,針對復值信號模型,MFOCUSS算法的恢復效果比貝葉斯算法的恢復效果差.比較貝葉斯算法,HSL-SBL 與aLASSO-SBL 算法的恢復效果處于相同水平,優于其它算法,FaLASSOSBL 算法作為aLASSO-SBL 的快速算法,在信號非零元素個數增加到一定程度 (K ≥60) 時稀疏信號恢復的準確性有所下降. 圖10 復值模型下各算法稀疏恢復準確度與稀疏度的關系Fig.10 RMSE of different algorithms with the complexvalue signal model versus number of non-zero elements 與仿真二相同,為了進一步驗證本文提出的算法對高維稀疏信號的恢復性能,進行如下仿真實驗.對于實值信號模型,信號長度設置為 2 000,測量數設置為 2 00,信號中非零元素數目變化范圍為 20 到120 ,間隔為 20.SNR 為20 dB.獨立實驗次數為200次.對于復值信號模型,信號中非零元素數目變化范圍為 2 0 到1 60 ,間隔為 20,其它參數設置與實值信號模型相同.仿真實驗結果如圖11 和圖12所示. 圖11 高維實值信號模型下各算法稀疏恢復準確度與稀疏度的關系Fig.11 RMSE of different algorithms with the high-dimensional real-value signal model versus number of non-zero elements 圖12 高維復值信號模型下各算法稀疏恢復準確度與稀疏度的關系Fig.12 RMSE of different algorithms with the high-dimensional complex-value signal model versus number of non-zero elements 圖11 為高維信號實值模型下的稀疏恢復準確度與稀疏度之間的關系.如圖所示,本文提出的aLASSO-SBL 算法的稀疏恢復準確度高于現有算法,本文提出的FaLASSO-SBL 算法準確度在非零元素個數為 20 到 100 的范圍內與aLASSO-SBL 算法接近,但是在非零元素個數增加到 1 20 時準確性低于FaLASSO-SBL 算法.圖12 為高維信號復值模型下的稀疏恢復準確度與稀疏度之間的關系.觀察圖12,HSL-SBL 算法和本文提出的aLASSOSBL 算法在非零元素數目為 20 到 1 20 范圍內的稀疏恢復準確性優于現有算法,但是HSL-SBL 算法在非零元素數目大于 1 20 時失效.本文提出的FaLASSO算法稀疏恢復準確性優于除aLASSO-SBL 算法和HSL-SBL 算法之外的其它算法,但計算復雜度低于aLASSO-SBL 算法和HSL-SBL 算法. 本次仿真實驗研究各個算法稀疏恢復性能和信噪比的關系.對于實值信號模型,測量矩陣的維度設置為 100×200,即測量數為 100,信號長度為 2 00.信號中非零元素個數設置為 50.SNR 變化范圍為10 dB 到30 dB,間隔為5 dB.獨立實驗次數為200次.復值信號模型參數設置與實值信號模型相同.對于實值信號模型和復值信號模型的稀疏信號恢復結果分別如圖13 和圖14 所示. 圖13 實值模型下各算法稀疏恢復準確度與信噪比的關系Fig.13 RMSE of different algorithms versus SNR with the real-value signal model 圖14 復值模型下各算法稀疏恢復準確度與信噪比的關系Fig.14 RMSE of different algorithms versus SNR with the complex-value signal model 由圖13 可知,當SNR 小于20 dB 時,所有算法失效,即信號幾乎不能被恢復.當SNR 大于20 dB時,所有算法的稀疏恢復準確性隨SNR 的提高而提高.其中,本文提出的aLASSO-SBL 和FaLASSO-SBL 算法在SNR 大于20 dB 時恢復效果優于其他算法. 如圖14 所示,對于復值信號模型,當SNR 低于15 dB 時,所有算法恢復效果比較差,HSL-SBL在SNR 為10 dB 的情況下出現不收斂的情況.當SNR 大于15 dB 時,所有算法的RMSE 隨SNR 的增加而降低,而本文提出的aLASSO-SBL 和FaLASSO-SBL 算法恢復信號的RMSE 比其它算法低. 與仿真二和仿真三相同,為驗證本文提出算法對高維信號的恢復性能,進行如下實驗.對于實值信號模型,信號長度設置為2000,測量數設置為200,非零元素數設置為100.SNR 變化范圍為15到35,間隔為5 dB.獨立實驗次數為200 次.對于復值信號模型,SNR 變化范圍為10 到30,其它參數設置與實值信號模型相同. 圖15 為高維實值信號模型下各算法稀疏恢復準確度與信噪比的關系.觀察圖15,所有算法的恢復準確度隨著SNR 的增大而提高,本文提出的aLASSO-SBL 算法和FaLASSO-SBL 算法在SNR為20 dB 到35 dB 的范圍內恢復的準確率優于現有算法. 圖15 高維實值信號模型下各算法稀疏恢復準確度與信噪比的關系Fig.15 RMSE of different algorithms versus SNR with the high-dimensional real-value signal model 圖16 為高維實值信號模型下各算法稀疏恢復準確度與信噪比的關系.觀察圖16,HSL-SBL 算法、aLASSO-SBL 算法和FaLASSO-SBL 算法在SNR為20 dB 到30 dB 的范圍內恢復的準確率優于現有算法,但是HSL-SBL 算法在SNR 低于20 dB 時失效. 圖16 高維復值信號模型下各算法稀疏恢復準確度與信噪比的關系Fig.16 RMSE of different algorithms versus SNR with the high-dimensional complex-value signal model 波達方向(Direction of arrival,DOA)估計是稀疏恢復的應用之一.通過預定義網格構建測量信號的空間中的過完備表達模型,將DOA 估計問題可轉換為稀疏信號恢復問題[15].其中,恢復的信號的非零元素對應的位置代表信號源的到達角.使用單個快拍的測量數據進行DOA 估計的方法稱為單快拍DOA 估計.本小節將結合單快拍DOA 估計驗證提出的算法的性能. 本小節中使用的所有算法總結如下:SS-ESPRIT 算法為文獻[36] 中提出的針對單快拍條件下DOA 估計的空間平滑ESPRIT 算法;L1-SR 算法為文獻[37]中提出的基于?1范數的單快拍DOA估計算法;SURE-IR 算法為文獻[38]中提出的超分辨算法;OGSBL 為文獻[39]提出的基于SBL 的離網格DOA 估計算法;HSL-SBL 為文獻[19]中提出的基于合成LASSO 先驗的SBL 算法;aLASSOSBL 算法和FaLASSO-SBL 算法為本文中提出的算法.其中,HSL-SBL 算法、aLASSO-SBL 算法和FaLASSO-SBL 算法需采用文獻[39]中的離網格方法對估計的方位角進行提純. 其中,NMC表示Monte-Carlo 實驗的次數,設置為200;θi表示第i次Monte-Carlo 實驗的聲源實際方位角;表示第i次Monte-Carlo 實驗的估計的聲源方位角.本次仿真分別測試各個算法在不同測量數(陣元數)和不同SNR 下的DOA 估計準確性.結果分別如圖17 和圖18 所示. 圖17 DOA 估計的準確度與測量數的關系Fig.17 RMSE of DOA estimation using different algorithms versus number of measurements 圖18 DOA 估計準確度與信噪比的關系Fig.18 RMSE of DOA estimation using different algorithms versus SNR 圖17 為不同測量數下DOA 估計準確度的結果.其中,SNR 設置為20 dB.如圖所示,HSL-SBL算法和本文中提出的aLASSO-SBL 算法在測量數為 20 到 50 的范圍內DOA 估計準確性優于其余算法,但是HSL-SBL 算法在測量數小于 20 時失效.與HSL-SBL 算法和aLASSO-SBL 算法相比,FaLASSO-SBL 算法的準確性有所下降,原因是陣列流形矩陣中的列向量在測量數小的情況下相關性較高[15],導致FaLASSO-SBL 算法性能下降.但是當測量數增大M ≥30 時,本文提出的FaLASSO算法準確性優于OGSBL 算法、L-SR 算法和SUREIR 算法. 圖18 為不同SNR 下DOA 估計準確度的結果.其中,測量數設置為 50.如圖所示,HSL-SBL 算法和本文中提出的aLASSO-SBL 算法在SNR 為10 到 30 的范圍內的DOA 估計準確性優于其余算法,但是HSL-SBL 算法在SNR 小于 10 時失效.與HSLSBL 算法和aLASSO-SBL 算法相比,FaLASSOSBL 算法的準確性有所下降. 表3 給出了SNR 為20 dB,測量數為 50 時各單快拍DOA 估計算法單次運行時間.結合圖17 和圖18 可知,相比于HSL-SBL 算法,本文提出aLASSO-SBL 算法在不增加計算量的前提下提高了算法的穩定性,在小測量數或低信噪比的情況下性能優于HSL-SBL 算法.而本文提出的FaLASSOSBL 算法在運算速度方面具有優勢. 表3 單快拍DOA 估計實驗各算法單次運行時間Table 3 Time consumptions of different algorithms for single snapshot DOA estimation 下面對實驗結果進行總結.通過圖5、圖6、圖7和圖8 可知,在相同測量數下,本文提出aLASSOSBL 和FaLASSO-SBL 算法稀疏恢復準確性優于現有算法.另外,比較表1 和表2,當信號維度增加時,本文提出aLASSO-SBL 算法的計算量會明顯提高,本文提出的FaLASSO-SBL 算法對高維信號進行恢復時,在計算量方面比aLASSO-SBL 算法有明顯優勢.根據圖9、圖10、圖11 和圖12 可知,aLASSO-SBL 和FaLASSO-SBL 算法魯棒于信號的稀疏度,即在稀疏度比較低的情況下仍然可以精確的恢復出信號.根據圖13、圖14、圖15 和圖16可知,本文提出的LASSO-SBL 和FaLASSO-SBL算法的在高SNR 的條件下信號恢復準確性比其它常用算法高. 對于單快拍DOA 估計而言,由于單快拍DOA估計中陣列流型矩陣的列向量具有在測量數較少時相關性較高,所以導致FaLASSO-SBL 算法在小測量數時(M ≤20)性能下降.根據圖17 和圖18 可知,當測量數較大時,本文提出的aLASSO-SBL 算法和FaLASSO-SBL 算法的單快拍DOA 估計準確性優于現有單快拍DOA 估計算法,結合表3 可知,本文提出的FaLASSO 算法降低了aLASSO-SBL算法計算量.綜上所述,當測量矩陣A的列向量不相關時,aLASSO-SBL 算法的稀疏恢復準確度優于現有算法,FaLASSO-SBL 算法的準確度略低于aLASSO-SBL 算法但是計算量明顯低于aLASSOSBL 算法;當測量矩陣A的列向量相關時,FaLASSOSBL 算法的稀疏恢復準確度有明顯下降.對于單快拍DOA 估計而言,在測量數大的情況下FaLASSOSBL 算法準確性和運算速度優于現有算法. 針對稀疏信號恢復問題,本文提出了兩種SBL算法,即aLASSO-SBL 算法和FaLASSO-SBL 算法.其中,FaLASSO-SBL 算法是aLASSO-SBL 算法的快速算法.具體的創新點為:1) 提出一種多層先驗的稀疏貝葉斯框架用于稀疏貝葉斯模型構建,賦予信號中元素獨立的LASSO 先驗.通過分析,自適應LASSO 先驗比現有稀疏先驗更有效的鼓勵稀疏.根據構建的稀疏恢復模型提出了aLASSOSBL 算法.2) 在貝葉斯推斷階段,利用空間輪換方法避免矩陣求逆運算,進一步降低了算法的計算復雜度,使參數更新快速高效.從而提出了FaLASSOSBL 算法.本文提出的算法的稀疏恢復性能通過仿真實驗進行了驗證,結果表明本文提出基于自適應LASSO 先驗的SBL 算法比現有算法具有更高的稀疏恢復準確度;本文提出的快算法的準確度略低于基于自適應LASSO 先驗的SBL 算法,但計算復雜度明顯降低.對于單快拍DOA 估計而言,在測量數大的情況下FaLASSO-SBL 算法準確性和運算速度優于現有算法. 附錄A Woodbury 引理.如果矩陣A、矩陣C和矩陣C?1+V A?1U是非奇異矩陣,則有以下恒等式: 其中,矩陣A、矩陣C、矩陣U和矩陣V為維度合適的矩陣.4 仿真實驗


4.1 仿真實驗一

4.2 仿真實驗二





4.3 仿真實驗三




4.4 仿真實驗四




4.5 單快拍條件下波達方向估計實驗驗證




4.6 仿真結果分析總結
5 結論
