魯振姣,郭 瑩
(沈陽工業大學信息科學與工程學院,沈陽110870)
自適應濾波算法研究已經成為當今信號與信息處理領域的熱點,算法直接影響濾波效果的好壞[1]。如文獻[2]所提出的仿射投影算法(Affine Projection Algorithm,APA)及其改進算法是一類重要的自適應濾波算法,該類算法在輸入信號相關性較高的情況下仍具有良好的收斂性能。但是許多系統的脈沖響應是稀疏的,即它們的脈沖響應絕大部分為零或者是很小的值,一小部分的脈沖響應具有顯著幅度。文獻[3]的成比例仿射投影算法(Proportionnate APA,PAPA,)就是針對稀疏系統提出的,其原理是每個系數通過采用濾波器抽頭權重成比例的獨步來加快收斂速度,即濾波器抽頭權重系數越大,步長越大,抽頭系數越小,步長越小。成比例算法有效的利用了未知系統的稀疏特性,使算法的收斂速度顯著提高。
但是,在很多實際應用系統中,例如網絡回聲消除和衛星連接通信回聲消除,它們的脈沖響應是成塊出現的,其余值為零值或者很小的數,即它們的系統稀疏特性是呈現為成塊的形式。分塊稀疏是最常見也是最簡單的的一種稀疏結構,分塊稀疏意味著稀疏信號中的非零元不再是出現在任意位置,而是成塊出現。因此有必要將塊稀疏性這個問題考慮到傳統的自適應濾波算法中,使用具有塊稀疏脈沖響應的自適應濾波器對此類稀疏系統進行建模,根據不同情況提出相應的塊稀疏自適應濾波算法。
然而PAPA 算法沒有考慮未知系統的塊稀疏特性,針對分塊稀疏的系統信道,收斂速度并沒有顯著提升。所以針對這一特性,文獻[4]提出的塊稀疏自適應濾波算法,進一步加快了收斂速度。該算法的原理是:在計算對應的步長因子時,用混合l2,1范數約束代替傳統的l1范數約束。這樣的約束有效地利用了未知系統的塊分布特性,將自適應濾波權重比例系數分塊處理,對于成塊出現的脈沖響應分配大的系數,其余的分配小的系數,使算法速度顯著提升。
為驗證并對比以上算法的性能,將理論分析與仿真相結合進行研究,結果表明塊稀疏自適應濾波算法有較好的收斂性能。
以系統辨識[5]為例來分析各類自適應濾波算法的性能。圖1 為自適應濾波器系統辨識原理圖。

圖1 自適應濾波器系統辨識原理圖

設先驗輸出誤差向量為:

APA 算法利用增加輸入信號矩陣的維度對數據進行重用,以改善收斂性能,這里的維度稱為投影階數M ,所以APA 算法的輸入為:

由于有數據重用,那么輸出向量y(n)可以表示如下:

得到的期望響應d(n)可用如下線性模型表示:


利用拉格朗日乘子方法,可將帶約束條件最優化問題轉化為無約束最優化問題,即:


令式(8)的導數值為零,得:

將式(9)代入式(6)中的約束條件,得:

將式(10)代入式(9)中可得APA 算法的權系數向量更新公式,并引入步長因子μ,可得:

為了防止自相關X(n)XT(n)太小,算法中還可以引入一個非常小的正整數,令APA 算法的權系數向量更新公式變為如下形式:

其中,ε 是正則化因子,I 為 M×M 的單位矩陣,εI是為避免對不滿秩方陣求逆而添加的一個對角矩陣。
PAPA 算法的濾波器系數更新公式可由如下約束最優化問題獲得:

使得系數更新后的誤差向量等于零,則有:

利用拉格朗日乘子法,得到PAPA 的系數向量更新方程:

其中,μ 是步長參數,δ 是正則化參數,IM是 M×M 單位矩陣,并且有:

其中,q 是一個很小的正數,它用來在初始階段所有濾波器系數都為0 時啟動更新,并且防止所有參數都為0 時算法凍結。ρ 用于當某個系數過小時防止該系數不更新。
PAPA 雖具有快速初始收斂速度,但其后期收斂速度緩慢。此外,如果脈沖響應稀疏性不夠高,其收斂速度會大大降低。針對這些問題,基于μ 規則的PAPA(μ-law PAPA,MPAPA)算法[5]被提出。
MPAPA 算法是通過定量分析自適應濾波器系數的收斂過程,來得到最優的比例步長計算方法。MPAPA 的比例步長參數計算方法注重大、小系數之間的平衡,使大、小系數同時收斂于最優值,克服了PAPA 過分強調大系數收斂的缺點。因此,MPAPA從根本上解決PAPA 后期收斂速度緩慢的問題。MPAPA 算法的比例步長矩陣G(n)可用如下一組公式進行描述:

然而,MPAPA 并沒有考慮塊稀疏特性。由塊稀疏 PNLMS(BS-PNLMS)算法推動,文獻[4]提出了一系列新的塊稀疏PAPA(BS-PAPA)算法,進一步提高了其在塊稀疏脈沖系統下的識別性能。
BS-PAPA 將l2,1范數引入到成本函數中,從而使優化問題轉變為:

進而使得系數更新后的誤差向量等于零:

根據文獻[6]、[7],可知:

利用拉格朗日乘子法,可以得到的BS-PAPA的系數向量更新方程:

其中:

當 P = 1 時,BS-PAPA 算法等同于 PAPA 算法;當 P=L 時,BS-PAPA 算法等同于 APA 算法。
仿真中輸入的有色信號均由零均值高斯白噪聲通過一階AR 系統產生,這里假設自適應濾波器的長度和未知系統的長度相等,均為120。
實驗中各個算法的投影階數M =4,BS-PAPA算法中的塊數P=4,且算法的比較都在公平原則下進行。每個仿真均是30 次實驗的平均結果,且迭代次數為20000 次。信道由圖2所示,使用兩種塊稀疏信道,其中圖2(a)為單簇塊稀疏信道,圖2(b)為雙簇塊稀疏信道。

圖2 仿真實驗選用的信道
實驗是使算法在等效步長的條件下,以歸一化均方偏差(Normalized MSD,NMSD)的收斂曲線來評價算法的收斂性能,即利用NMSD 來度量自適應濾波器與目標系統的逼近程度。
仿真參數是在等效步長[8]的條件下設定的,具體如表1所示。

表1 實驗中的參數設置
將需要仿真的算法應用到系統辨識系統中,仿真實驗采用MATLAB 進行,步驟如下:
1)在單簇塊稀疏信道中比較各算法性能
各算法在單簇塊稀疏信道中的仿真對比結果由圖3所示。可見,PAPA 算法在稀疏信道中收斂速度明顯優于APA 算法;MPAPA 算法比PAPA 算法收斂速度加強;BS-PAPA 算法由于是在塊稀疏信道中,收斂速度明顯優于PAPA 算法和MPAPA 算法。
2)比較各類算法在雙信道中的跟蹤性能
圖4所示為 APA 算法、PAPA 算法、MPAPA 算法和BS-PAPA 算法分別在單簇塊稀疏信道與雙簇塊稀疏信道下的跟蹤性能比較圖。當迭代次數n≤20000 時,所使用的信道是稀疏度為0.83333 的單簇塊稀疏信道(對應圖2(a));當迭代次數n ≥20000時,所使用的信道是稀疏度為0.79166 的雙簇塊稀疏信道(對應圖2(b))。由圖4 中可以看出,BS-PAPA算法在信道突變時仍具有穩定的跟蹤性能,相比其他算法更為優越。

圖3 各算法在單簇塊稀疏信道中的性能比較

圖4 各算法在不同信道下的跟蹤性能比較
3) BS-PAPA 算法不同塊數與PAPA 算法比較
圖5 為 PAPA 算法、P=3 的 BS-PAPA 算法、P=4 的 BS-PAPA 算法和 P=10 的 BS-PAPA 算法分別在單簇塊稀疏信道與雙簇塊稀疏信道下的跟蹤性能比較圖。當迭代次數n≤10000 時,所使用的信道是稀疏度為0.83333 的單簇塊稀疏信道(對應圖2(a)),當迭代次數 n ≥10000 時,所使用的信道是稀疏度為0.79166 的雙簇塊稀疏信道(對應圖2(b))。

圖5 BS-PAPA 算法不同塊數與PAPA 算法比較
由圖5 可以看出,BS-PAPA 算法在塊稀疏信道中收斂速度明顯優于PAPA 算法,且不同的塊數影響BS-PAPA 算法的收斂速度。對于此次仿真,塊數P=4 時,收斂速度最快。
分塊稀疏自適應濾波算法利用了塊稀疏信道這一特質,加快了算法的收斂特性。與傳統的稀疏自適應濾波算法相比有較快的收斂性和跟蹤性能。通過計算機仿真實驗也表明塊稀疏算法在分塊稀疏信道中具有更佳的收斂速度。