張 宇,景鑫磊,蔣忠進
(東南大學毫米波全國重點實驗室,江蘇南京 210096)
基于傳感器陣列的信號源定位一直都是雷達探測和無線通信領域研究的重點[1-3]。MUSIC 方法作為最經典的波達方向(DOA)估計算法直到現在仍然被廣泛應用,但這種子空間類方法需要大量快拍數的支持,且當信號為相干信號時無法做到準確估計信號源的方位[4-5]。隨著壓縮感知理論的發展,利用信號源的稀疏性進行信號源定位成為了更為有效的方法[6],相關的DOA 估計算法也得到了重視和發展。例如L1-SVD 算法[7]、OMP 算法[8]以及稀疏貝葉斯學習(Sparse Bayesian Learning,SBL)算法[9]等。
L1-SVD 算法和OMP 算法利用信號源的稀疏性[10],在源參數估計的角度范圍內進行網格劃分,通過二階錐規劃求解信號源的DOA 估計問題。該類算法的局限性是需要假定信號源方向恰好落在已經劃分好的網格上。文獻[11]證明了,L1 范數最小化能在單測量向量(Single Measurement Vector, SMV)情況下進行稀疏信號的恢復,且在多測量向量(Multiple Measurement Vector, MMV)情況下基于多快拍觀測數據能明顯提高稀疏信號恢復的精度。由于真實的信號源方向不一定在方位離散網格上,這類方法會帶來較大的網格失配和建模誤差,從而降低源方位估計的準確性。
SBL 算法是另一種壓縮感知類的參數重構算法,該算法基于貝葉斯推斷原理得到信號源參數的最大后驗概率并將其用于DOA 估計[12]。SBL 與其他算法相比存在一定優勢。首先,L1 范數最小化用于參數精確重構需要滿足RIP等特定條件[13]。而SBL 是一種統計優化類算法,不用受到這些條件的約束。然后,SBL 算法的魯棒性良好,當觀測信號為相干信號時仍能保證良好的參數重構性能[14-15]。除此之外,針對數據特征不同的各種觀測信號,SBL算法可以選擇不同的先驗分布來描述其概率分布[16-17]。
文獻[18]提出一種離網稀疏貝葉斯學習(OGSBL)算法。該算法對轉向矢量進行一階泰勒展開,有效地減少了建模誤差,緩解了網格失配問題。然而該算法在非理想測向環境,即低信噪比、低快拍數的情況下性能有所下降。為了解決這個問題,文獻[19]利用噪聲子空間和過完備基矩陣之間的關系,改變源信號的平均功率以增強解的稀疏性,提高了估計精度。文獻[20]研究了一種離網DOA 估計的根稀疏貝葉斯學習(RSBL)方法。該方法首先在角度域建立粗糙的離散網格,然后利用期望最大化(EM)算法在細化網格的同時進行參數重構,直至重構結果收斂,有效降低了建模誤差。文獻[21]研究了MIMO 雷達系統中的DOA 估計問題。提出了一種離網SBLMC 算法,使估計精度得到明顯提升,但計算復雜度偏高。
本文提出了一種基于稀疏貝葉斯學習的改進離網DOA 估計算法,以解決離網SBL 算法在低信噪比、低快拍下的性能下降問題,此處稱之為MOGSBL(modified off-grid SBL)算法。本算法將信號源方位區間進行離散化,得到方位離散網格。為陣列接收信號建立稀疏貝葉斯模型,將網格節點修正量設為模型超參數。采用期望最大化(Expectation Maximization, EM)算法迭代更新網格節點修正量,使更新后的網格節點更接近真實源信號方位。數值實驗證明,該算法在低信噪比、低快拍下能明顯提升DOA估計性能。
假定K個遠場窄帶信號sk(t),k= 1,2,…,K入射到M元均勻線陣列上,入射角θ=[θ1,θ2,…,θK]T,載波信號波長為λ,陣元間距d=λ∕2,則t時刻的陣列輸出可表示為
其中t=1,…,T,T為快拍數,x(t)=[x1(t),x2(t),…,xM(t)]T,s(t)=[s1(t),s2(t),…,sK(t)],T遵循均值為0、方差為σ2k的復高斯分布。A(θ)=[a(θ1),a(θ2),…,a(θK)]為陣列流型矩陣,為第k個信號的轉向矢量且,n(t)=[n1(t),n2(t),…,nM(t)]T為噪聲。噪聲在不同時刻相互統計獨立,且遵循均值為0、方差為的復高斯分布。各陣元間的噪聲互不相關,且與源信號不相關。
假設源信號和噪聲信號都為平穩信號,則輸出向量x(t) 的協方差矩陣可表示為
采樣過程中會出現近似誤差,文獻[22]說明了矢量化協方差矩陣帶來的近似誤差遵循漸進復高斯分布:
由式(4),有
式中Δ= diag(δ)。超參數δn可被建模為伽馬分布,即
本文中,向量δ中的元素全部初始化為1,向量β中的元素全部初始化為0,ρ作為一個小的正約束超參數一般設置為0.01。
式中,
EM 算法分為E 步和M 步。重復進行這兩步,直到精度達到要求或迭代次數達到最大為止。在E步中,我們希望找到函數的下界或求解期望值:
在M 步中,超參數的估計值可以通過求解優化問題的最大下界值來更新。即
則超參數矢量δ的第n個元素更新值為[14]
傳統SBL 方法對真實源方位進行線性逼近。但在更新超參數β時并沒有處理線性逼近造成的建模誤差,在低信噪比、低快拍數下有效信息減少。傳統方法降低誤差、提升性能的方式是依靠增加離散網格節點數,這大大增加了計算量,不利于實際應用,也難以適用于非理想測向環境中。本文為了解決這個問題,提出一種新的網格更新方法。將網格點位置視為可變參數,并將網格節點修正量設為模型超參數。推導了超參數β的更新算法,采用期望最大化算法迭代更新網格節點修正量,使更新后的網格點更接近真實源信號方位。
忽略式(14)函數中與β無關的獨立項,式子可改寫為
為了增加向量β的稀疏性以改善算法在低信噪比、低快拍下的DOA 估計性能,將矩陣Σ重寫為。其中?表示矩陣Σ的前N階方陣,γ是N行1 列的矢量,γ0表示矩陣Σ的主對角線上最后一個元素。式(17)的第二項可以改寫為
將式(18)和(19)替換式(17)中,可以得到
式中,
最后將式(20)對β求導并令導數為零,有
當P可逆時,
否則,矢量β的第n個元素更新值為
迭代終止條件為
或達到最大迭代次數時停止迭代,其中δnew表示更新后的矢量δ,δold表示上一次更新的矢量δ,τ為收斂判決門限。
迭代結束以后,得到更新后的網格點如下:
綜上所述,基于本文的MOGSBL算法進行DOA估計的步驟如下:
1)對陣列接收數據的協方差矩陣進行向量化運算,得到列數據向量?。
2)初始化參數δ,β,設置收斂條件。
3)由式(12)、(13)、(16)、(23)、(24),迭代更新μ、Σ和δ、β;由迭代終止條件判斷迭代進程是否繼續,若滿足條件則退出迭代,若不滿足則重復第3步。
4)由式(26)計算θ?,通過θ?中非零元素的索引得到源信號的來波方向。
本文為了驗證MOGSBL 算法的效果,進行了大量的數值仿真實驗,并將MOGSBL 算法與L1-SVD 算法、OGSBL 算法和RSBL 算法進行比較。實驗所用的測試陣列為10 陣元的均勻直線陣列,信號源方向測試范圍是-90°~90°,將方向測試范圍內的離散網格間距初始化為1°,即網格離散節點數為181。實驗中計算機運行環境為:CPU2.9 GHz,內存16 GHz,MATLAB R2018a。
本實驗將入射信號的信噪比分別設置為0,10,20 dB,快拍數為100,300,500,共9 種不同情況。為了比較不同算法的DOA 估計分辨率,并考慮真實信號源方向偏離初始化離散網格的情況,將方向設置為-50.25°,-45.31°,0.64°。4 種算法作DOA估計的部分結果展示如圖1所示。

圖1 對3個信號源進行DOA估計的部分結果
由圖1 可見,L1-SVD 和OGSBL 算法分辨率較低,無法有效分辨出角度差為5°左右的兩個信號源,RSBL 算法只有在高快拍數時才可以分辨。相比之下,MOGSBL 算法即便在低信噪比、低快拍數的情況下,也可以分辨出這兩個相距很近的信號源。此外,隨著信噪比的提高和快拍數的增加,MOGSBL算法的DOA估計效果也得到改善。
事實上,L1-SVD 和OGSBL 算法由于其較大的建模誤差導致算法的分辨率很低。RSBL 算法避免了建模誤差的問題,其參數先驗需要強制模型具有較強的稀疏性,過強的噪聲會破壞稀疏性導致分辨率降低。而MOGSBL 算法使用新的網格更新方法,減小了建模誤差。增強向量β的稀疏性使算法受噪聲影響較小,從而使得其在非理想測向環境下的分辨率高于其他3種算法。
能否很好地區分-50.25°和-45.31°這兩個相距很近的信號源,是DOA 算法分辨率高低的體現。本文重復蒙特卡洛實驗200次,以統計不同信噪比和不同快拍數下4 種算法的分辨率水平,統計結果如表1 所示。表中給出某種DOA 算法成功區分-50.25°和-45.31°信號源的概率,如果概率值為零,則表示成功區分次數為0。

表1 4種算法成功區分信號源概率對比
由表1 可知,MOGSBL 算法在不同信噪比和不同快拍數下區分相距很近信號源的成功率高于其他3種算法,說明MOGSBL 算法在角度分辨率方面具有明顯的優勢。
本實驗利用均方根誤差(RMSE)來比較不同算法的DOA估計精度,RMSE定義為
式中,L表示蒙特卡洛實驗的次數,本文中L=200,是第l次蒙特卡洛實驗中第k個信號源方向的估計值。
為了研究信噪比與RMSE 的關系,并對比4 種算法的離網DOA 估計性能,本實驗將真實信號源方向設置為-40.35°,0.52°,40.13°,即3個信號源方向均偏離初始化網格節點。快拍數為100,信噪比從-5 dB 到20 dB 變化。4 種算法在不同信噪比下的RMSE對比如圖2所示。

圖2 不同信噪比下的RMSE對比
由圖2 可見,隨著信噪比的增大,4 種算法的RMSE 均逐漸減小。但MOGSBL 算法的估計精度明顯高于L1-SVD 算法、OGSBL 算法和RSBL 算法。且OGSBL 算法、RSBL 算法好于L1-SVD 算法。由此可見,在非理想測向環境下,離網稀疏貝葉斯學習算法具有明顯的優勢。
為了研究快拍數對RMSE的影響,本實驗保持3 個真實信號源方向不變。信噪比為0 dB,快拍數從150到500變化,4種算法在不同快拍數下RMSE的對比如圖3所示。

圖3 不同快拍數下的RMSE對比
由圖3可見,L1-SVD算法的RMSE受快拍數的影響最大,而OGSBL 算法、RSBL 算法和MOGSBL算法受快拍數的影響較小。相比于另外3種算法,MOGSBL 算法在任意快拍數時都具有更高的DOA估計精度。除此之外,OGSBL 算法、RSBL 算法的DOA估計精度明顯好于L1-SVD算法。
除了信噪比和快拍數以外,初始化的離散網格間距也對DOA 估計精度有很大影響。離散網格間距初始化以后,方向測試范圍的離散節點數目就被確定,且網格間距越小,網格節點數越大。細密的離散網格可以提高DOA 估計精度,但DOA 估計的計算量會增加。
為了研究網格節點數目與RMSE之間的關系,本實驗設置信噪比為0 dB,快拍數為150,不同網格節點數目下4 種算法的均方根誤差對比如圖4所示。

圖4 不同網格節點數下的RMSE對比
由圖4可知,隨著網格節點數的增加,4種算法DOA 估計的RMSE 都會逐步降低。相比之下,MOGSBL 算法的RMSE 低于OGSBL 算法、RSBL 算法和L1-SVD算法,而RSBL算法優于OGSBL算法,OGSBL算法又優于L1-SVD算法。
為了研究網格節點數目與計算時間之間的關系,本文在保持各種實驗條件不變的情況下,統計不同離散網格節點數下4 種算法的計算時間對比如圖5所示。

圖5 不同網格節點數下的計算時間對比
由圖5可知,隨著網格節點數的增加,4種算法DOA 估計的計算時間都會逐步增加。其中,MOGSBL 算法在任意離散網格節點數下的計算時間均低于OGSBL、RSBL和L1-SVD算法,而L1-SVD算法耗時明顯高于3種離網SBL算法。
4種算法的計算時間列舉如表2所示。

表2 不同網格節點數下的計算時間對比s
由表2 可見,離散網格節點數越大,本文MOGSBL 算法在計算時間上的優勢越大。當網格節點數為181 時,MOGSBL 算法耗時約為RSBL 算法的68%,約為OGSBL 算法的49%,約為L1-SVD算法的31%。
本文研究了一種改進的離網稀疏貝葉斯學習算法,即MOGSBL 算法,用于信號源DOA 估計。為了檢驗MOGSBL 算法的性能,本文進行了大量的數值實驗,并將MOGSBL 算法的DOA 估計結果與RSBL 算法、OGSBL 算法和L1-SVD 算法進行對比。在角度分辨率的對比實驗中發現,在不同信噪比和不同快拍數時,OGSBL 算法和L1-SVD 算法均無法分辨角度差為5°左右的兩個信號源,在高快拍數時RSBL 才可以分辨,而MOGSBL 算法則能清晰予以分辨。隨著信噪比和快拍數的增加,4 種算法的RMSE 均逐漸減小,但MOGSBL 算法的RMSE 明顯低于RSBL 算法、OGSBL 算法和L1-SVD 算法,且RSBL 算法優于OGSBL 算法,OGSBL 算法優于L1-SVD 算法。實驗還分析了方向測試范圍的離散網格節點數對DOA 估計的影響,發現細密的離散網格可以提高DOA 估計精度,但DOA 估計的計算量會增加。且在任意網格節點數時,相比于RSBL 算法、OGSBL 算法和L1-SVD 算法,本文的MOGSBL算法均具有最低的RMSE和最短的計算時間。