火元蓮 脫麗華 齊永鋒 丁瑞博
1) (西北師范大學(xué),物理與電子工程學(xué)院,蘭州 730000)
2) (西北師范大學(xué),計算機(jī)科學(xué)與工程學(xué)院,蘭州 730000)
為了進(jìn)一步提高在α 穩(wěn)定分布噪聲背景下非線性自適應(yīng)濾波算法的收斂速度,本文提出了一種新的基于p 范數(shù)的核最小對數(shù)絕對差自適應(yīng)濾波算法(kernel least logarithm absolute difference algorithm based on p-norm,P-KLLAD).該算法結(jié)合核最小對數(shù)絕對差算法和p 范數(shù),一方面利用最小對數(shù)絕對差準(zhǔn)則保證了算法在α 穩(wěn)定分布噪聲環(huán)境下良好的魯棒性,另一方面在誤差的絕對值上添加p 范數(shù),通過p 范數(shù)和一個正常數(shù)a 來控制算法的陡峭程度,從而提高該算法的收斂速度.在非線性系統(tǒng)辨識和Mackey-Glass 混沌時間序列預(yù)測的仿真結(jié)果表明,本文算法在保證魯棒性能的同時提高了收斂速度,并且在收斂速度和魯棒性方面優(yōu)于核最小均方誤差算法、核分式低次冪算法、核最小對數(shù)絕對差算法和核最小平均p 范數(shù)算法.
核自適應(yīng)濾波器[1](kernel adaptive filtering,KAF)作為一種在重構(gòu)核希爾伯特空間 (reproducing kernel Hilbert space,RKHS)中開發(fā)的高效非線性近似方法,利用核函數(shù)[2]把原始空間的輸入數(shù)據(jù)映射到RKHS 空間,從而高效解決非線性問題.在非線性系統(tǒng)辨識[3]、回聲消除[4]、時間序列預(yù)測[5-6]和信道均衡[7-8]等方面有很廣泛的應(yīng)用.在真實(shí)的應(yīng)用環(huán)境中都存在脈沖噪聲和非高斯噪聲,這些噪聲通常由一些自然現(xiàn)象和電子設(shè)備產(chǎn)生,例如水下聲學(xué)信號、低頻大氣噪聲、各種類型的人為噪聲,在電力通信、控制系統(tǒng)、雷達(dá)探測、語音處理等實(shí)際領(lǐng)域的應(yīng)用中較為常見.這些噪聲特性在統(tǒng)計意義下其概率密度分布呈現(xiàn)較為厚重的拖尾現(xiàn)象,而α穩(wěn)定分布可以對這類非高斯噪聲進(jìn)行很好的建模[9-11].普通的核最小均方(kernel least mean square,KLMS)類算法通常在高斯噪聲下表現(xiàn)得很好[12],但由于最小均方誤差(mean square error,MSE)準(zhǔn)則[13]只捕獲誤差信號的二階統(tǒng)計量,致使該類算法對異常值很敏感,即缺乏魯棒性.于是一系列抗脈沖噪聲干擾的核自適應(yīng)濾波算法被提出.文獻(xiàn)[14]通過結(jié)合最小平均p范數(shù)(meanp-power error,MPE)準(zhǔn)則[15-16]和核技巧,提出了核最小平均p范數(shù)算法(kernel least meanppower,KLMP)、核遞歸最小平均p范數(shù)算法(kernel recursive least meanp-power,KRLP),在α穩(wěn)定分布噪聲環(huán)境下保證收斂速度的同時魯棒性得到了提升.文獻(xiàn)[17]針對非高斯脈沖噪聲環(huán)境提出了基于分?jǐn)?shù)低階統(tǒng)計誤差準(zhǔn)則的核分式低次冪算法(kernel kernel fractional lower power,KFLP).文獻(xiàn)[17]在針對文獻(xiàn)[18]收斂速度慢的問題,在此基礎(chǔ)上結(jié)合Softplus 函數(shù)的非線性飽和特性提出了非高斯沖激干擾下基于Softplus 函數(shù)的核自適應(yīng)濾波算法.文獻(xiàn)[19]結(jié)合線性最小對數(shù)絕對差算法[20](least logarithmic absolute difference,LLAD)和核技巧提出了核最小對數(shù)絕對差算法(kernel least logarithmic absolute difference,KLLAD),使最小對數(shù)絕對差應(yīng)用到非線性系統(tǒng)并且保證了其良好的抗脈沖干擾能力.
KLLAD 算法可以很好地處理異常值,但存在收斂速度慢的問題,為了改進(jìn)KLLAD 算法的收斂速度,本文結(jié)合核最小對數(shù)絕對差算法和p范數(shù),提出了一種新的魯棒核自適應(yīng)濾波算法,基于p范數(shù)的核最小對數(shù)絕對差算法(kernel least logarithm absolute difference algorithm based on p-norm,P-KLLAD).該算法在對數(shù)的基礎(chǔ)上添加了p范數(shù),通過p范數(shù)和一個正常數(shù)a來控制代價函數(shù)的陡峭程度,從而控制算法的收斂速度,使該算法在保證魯棒性的基礎(chǔ)上提升其收斂速度.當(dāng)背景噪聲為α穩(wěn)定分布噪聲時,在非線性系統(tǒng)辨識和Mackey-Glass 混沌時間序列預(yù)測的仿真表明,該算法的在收斂速度和魯棒性方面優(yōu)于核最小均方算法、核分式低次冪算法、核最小絕對差算法和核最小平均p范數(shù)算法.
α穩(wěn)定分布和其他分布函數(shù)不同,一般情況下沒有閉式描述的概率密度函數(shù)表達(dá)式,通常采用以下形式的特征函數(shù)來進(jìn)行表示:
其中j 表示復(fù)數(shù)單位,sgn 表示符號函數(shù).
α穩(wěn)定分布主要有α,δ,β和γ四個參數(shù)共同決定.
1)α∈(0,2] :特征指數(shù),它可以控制概率密度函數(shù)的拖尾的厚度.當(dāng)α取值越接近于0 時,信號或噪聲出現(xiàn)脈沖的概率就越大.當(dāng)α為2 時,該分布退化為高斯分布.
2)δ∈R:位置參數(shù),它描述穩(wěn)定分布的中心位置.當(dāng)δ∈(1,2] 時,δ表示穩(wěn)定分布的均值.當(dāng)δ ∈(0,1]時,δ表示穩(wěn)定分布的中值.
3)β∈[-1,1] :對稱系數(shù),它決定著穩(wěn)定分布相對于中心δ的傾斜程度.當(dāng)β0 時,穩(wěn)定分布是對稱的.當(dāng)β/0 時,穩(wěn)定分布是非對稱的.
4)γ∈R+:分散系數(shù),它描述穩(wěn)定分布相對于中心δ的擴(kuò)散程度,γ越大預(yù)示著脈沖噪聲強(qiáng)度越大.
α穩(wěn)定分布具有三種特殊的情形:當(dāng)α2,β0 時,α穩(wěn)定分布對應(yīng)于高斯分布;當(dāng)α1,β0 時,α穩(wěn)定分布對應(yīng)于柯西分布;當(dāng)α1/2,β-1時,α穩(wěn)定分布對應(yīng)于皮爾遜分布.
核最小對數(shù)絕對差算法的代價函數(shù):
式 中e(n)d(n)-Ω(n-1)φ(n) 是迭代n時 刻的預(yù)測誤差,d(n) 是觀測到的期望信號,Ω(n-1)是核自適應(yīng)濾波器權(quán)重,φ(n) 是核自適應(yīng)濾波器輸入.a是常數(shù),它決定了代價函數(shù)J的陡峭程度.利用負(fù)隨機(jī)梯度可以得到算法的權(quán)重更新公式:
其中η表示步長,則n+1 時刻的濾波器輸出為
根據(jù)Mercer 定理,任意核從輸入空間U映射到特征空間F都可以表示為
其中u表示輸入信號在n時刻的值,u′表示輸入信號在下一時刻的值,(5)式被稱為核技巧,常用的核是高斯核.
其中h為高斯核的核寬.
本文提出的基于p范數(shù)的核最小對數(shù)絕對差自適應(yīng)濾波算法是將核最小對數(shù)絕對差算法和p范數(shù)相結(jié)合,構(gòu)造一個新的代價函數(shù).在誤差絕對值上添加了p范數(shù),并且添加了一個正常數(shù)來控制算法的陡峭程度,使算法的收斂速度相比于核最小對數(shù)絕對差算法得到了提升,同時利用最小對數(shù)絕對差準(zhǔn)則保證了算法具有良好的魯棒性.本文算法的代價函數(shù)為
p范數(shù)和正常數(shù)a一起決定了代價函數(shù)J的陡峭程度,來控制收斂速度和穩(wěn)態(tài)誤差.對(7)式用最速下降法求梯度得:
利用負(fù)隨機(jī)梯度可以得到算法的權(quán)重更新公式:
其中η表示步長,逐項(xiàng)遞推得到如下形式:
式中Ω(0)0,則權(quán)重更新公式為
本文p的取值為1.1.從權(quán)重更新公式可以看出,當(dāng)出現(xiàn)脈沖異常值的時候,e(n) 會增大,當(dāng)e(n)是小異常值時,由于p的取值很接近于1,那么權(quán)重更新公式會停止更新.但是如果e(n) 是大異常值時,那么分母項(xiàng)就會遠(yuǎn)大于分子項(xiàng),該算法就不具有很好的抗脈沖噪聲效果.綜上,濾波器n+1 時刻的輸出為
因此得到本文提出的P-KLLAD 算法如表1 所示.
表1 P-KLLAD 算法Table 1.P-KLLAD algorithm.
對本文提出的算法P-KLLAD 進(jìn)行均方收斂性能分析,首先推導(dǎo)該算法的能量守恒關(guān)系,再利用該能量守恒關(guān)系推導(dǎo)出最后的收斂公式.針對非線性系統(tǒng)辨識,可以得到未知系統(tǒng)輸出為
其中v(n) 是背景噪聲,則輸出誤差為
將(13)式代入(14)式得到:
ep(n)(n)Tφ(n)
令 表示后驗(yàn)誤差,將(16)式代入可以表示為
聯(lián)合式(16)和式(17)消除e(n),可得:
對(18)式兩邊取內(nèi)積:
將(17)式和(20)式代入(19)式,可得:
對(21)式兩邊取期望:
如果算法收斂必須滿足:
所以保證該算法收斂的充分必要條件為
對本文所提出的P-KLLAD 算法的復(fù)雜度進(jìn)行分析,將復(fù)雜度分為乘除、加減、指數(shù)、符號函數(shù)和分?jǐn)?shù)冪幾種運(yùn)算類型,并與KLMS,KFLP,KLMP 和KLLAD 算法作比較.所有算法在迭代次數(shù)為i時分別計算其不同運(yùn)算類型的次數(shù),結(jié)果如表2 所示.由表2 可以看出,所有算法的運(yùn)算次數(shù)都隨著迭代次數(shù)i的增加而增加,這是因?yàn)楹俗赃m應(yīng)濾波算法的網(wǎng)絡(luò)尺寸隨著輸入數(shù)據(jù)的增加而增大.在第i次迭代時,本文算法P-KLLAD 相比于KLLAD 算法增加了符號函數(shù)和分?jǐn)?shù)冪的運(yùn)算,相比于KLMP 算法增加了少量乘除和分?jǐn)?shù)冪運(yùn)算.雖然P-KLLAD 算法在一定程度上增加了計算復(fù)雜度,但它在保持良好魯棒性的同時又提高了收斂速度,因此這并不妨礙該算法的實(shí)際應(yīng)用.
表2 算法的復(fù)雜度對比Table 2.Complexity of the algorithm.
4.4.1 范數(shù)p對P-KLLAD 算法性能影響
令a3,范數(shù)p分別取0.7,0.9,1.1,1.3 和1.5 時P-KLLAD 算法的學(xué)習(xí)曲線如圖1 所示.
圖1 P-KLLAD 在不同p 下的MSE 曲線Fig.1.The MSE curves of P-KLLAD under different p.
從圖1 可以看出,隨著p的增大,本文算法的穩(wěn)態(tài)性能和收斂速度都會變得更優(yōu),但是當(dāng)p≥1.3時該算法的抗脈沖噪聲的能力會下降.因此,本文取p值為1.1,這在一定程度上平衡了收斂速度和魯棒性.
4.4.2 正常數(shù)a對P-KLLAD 算法性能影響
令p1.1,正常數(shù)a分別取1,2,3,4 和5 時P-KLLAD 算法的學(xué)習(xí)曲線如圖2 所示.
從圖2 可以看出本文算法的收斂速度隨著a的增大而增大,但穩(wěn)態(tài)誤差趨于不穩(wěn)定.為了平衡收斂速度和穩(wěn)態(tài)誤差,本文中的a取值為3.
圖2 P-KLLAD 在不同a 下的MSE 曲線Fig.2.The MSE curves of P-KLLAD under different a.
首先討論α穩(wěn)定分布噪聲的特征指數(shù)α取不同值時對算法性能的影響.文中令γ0.1,α分別取1.2,1.5,1.7 和1.9,P-KLLAD 算法的學(xué)習(xí)曲線如圖3 所示.從圖3 可以看出,本文的算法在不同α下都具有良好的抗脈沖干擾能力,隨著α的增大,脈沖出現(xiàn)的概率也逐漸較小.
圖3 P-KLLAD 在不同α 下的MSE 曲線Fig.3.The MSE curves of P-KLLAD under different α.
圖4 給出了α穩(wěn)定分布噪聲的特征指數(shù)α1.3,分散系數(shù)γ取不同值時對算法性能的影響,令γ分別取0.1,0.5,1.0,1.5 和2.0.從圖4 可以看出,本文算法在不同γ下抗脈沖噪聲干擾的效果也不同,隨著γ的增大噪聲的脈沖會增大,在小脈沖的時候算法具有良好的魯棒性,而在大脈沖的時候本文算法出現(xiàn)性能下降的問題.
圖4 P-KLLAD 在不同γ 下的MSE 曲線Fig.4.The MSE curves of P-KLLAD under different γ.
綜上,在后續(xù)實(shí)驗(yàn)中選擇α穩(wěn)定分布噪聲的參數(shù)α1.3,γ0.1 來表示有脈沖干擾的噪聲.
為了進(jìn)一步說明本文所提算法在實(shí)際應(yīng)用中的有效性,將本文所提出的算法與KLMS,KLMP,KLLAD,KLFP 算法在非線性系統(tǒng)辨識和Mackey-Glass 混沌時間序列中就收斂性和抗脈沖干擾性能進(jìn)行對比.所有實(shí)驗(yàn)高斯核核寬h1.0,在兩個仿真系統(tǒng)中,每種算法均采用1000 個樣本作為訓(xùn)練數(shù)據(jù),100 個樣本用于測試,得到的MSE 性能曲線被用來評價算法性能.
本實(shí)驗(yàn)用的非線性系統(tǒng)是由一個線性模型和一個非線性模型組合而成,其中線性模型為:H(z)1+0.2z-1,非線性模型為:f(i)x(i)-0.9x(i)2,則系統(tǒng)的期望輸出:d(i)x(i)-0.9x(i)2+v(i).其中v(i) 是環(huán)境噪聲,用α穩(wěn)定分布噪聲來表示.為了使不同算法在各自最理想的情況下進(jìn)行比較,給出了不同算法的最優(yōu)參數(shù),如表3 所示.
表3 各種算法的參數(shù)設(shè)定Table 3.Parameter setting of various algorithms.
1) 5 種算法在高斯分布噪聲下的性能對比.實(shí)驗(yàn)中令α穩(wěn)定分布噪聲參數(shù)為α2,δ0,β0 和γ0.1,即此時該噪聲是高斯分布噪聲.5 種算法的MSE 曲線如圖5 所示.
從圖5 可以看出,在高斯噪聲環(huán)境下,本文的算法和其他算法一樣都有良好的穩(wěn)態(tài)性能,但是本文算法收斂速度比其他算法快,說明本文算法具有更優(yōu)的收斂性能.其原因在于本文算法中的p范數(shù)和正常數(shù)a的主要作用就是用來提升該代價函數(shù)的陡峭程度,從而提高算法的收斂性能.
圖5 非線性系統(tǒng)辨識高斯噪聲下的MSE 曲線Fig.5.The MSE curve of nonlinear system identification under Gaussian noise.
2)在脈沖噪聲干擾下的性能比較.實(shí)驗(yàn)中令α穩(wěn)定分布噪聲參數(shù)為α1.3,δ0,β0 和γ0.1,此時該噪聲存在脈沖干擾.實(shí)驗(yàn)結(jié)果如圖6所示.表4 給出了各比較算法達(dá)到穩(wěn)態(tài)時候的穩(wěn)態(tài)誤差的均值和標(biāo)準(zhǔn)偏差.
表4 均值 ± 標(biāo)準(zhǔn)偏差Table 4.Mean ± standard deviation.
從圖6 和表4 可以看出在α穩(wěn)定分布噪聲下本文算法和KLMP,KFLP,KLLAD 都能達(dá)到比較好的穩(wěn)態(tài)誤差,但是本文算法的收斂速度都比其他幾種算法都快,并且對脈沖噪聲有良好的魯棒性.這是由于最小對數(shù)絕對差準(zhǔn)則可以抑制脈沖噪聲的無限增長.
圖6 非線性系統(tǒng)辨識α 穩(wěn)定分布噪聲下的MSE 曲線Fig.6.The MSE curve of nonlinear system identification under α stably distributed noise.
Mackey-Glass 混沌時間方程由以下延遲微分方程生成:
其中,參數(shù)設(shè)置為:a0.2,b0.1,c10 .時間序列通過一個6 s 的采樣周期進(jìn)行離散.根據(jù)Takens 嵌入定理,選擇用最近的7 個輸入來預(yù)測當(dāng)前的輸入,這個當(dāng)前的輸入就是期望信號.這里將所有算法的參數(shù)設(shè)置為最優(yōu)值,其中KLMS 和KFLP 的步長分布為0.2 和0.07,KLMP,KLLAD和P-KLLAD 的步長均為0.12,其他參數(shù)設(shè)置同上述實(shí)驗(yàn)一致.
1)設(shè)置α穩(wěn)定分布噪聲參數(shù)為α2,δ0,β0 和γ0.1,即此時該噪聲是高斯分布噪聲.5 種算法性能曲線比較結(jié)果如圖7 所示.表5 是圖7中各算法達(dá)到穩(wěn)態(tài)時穩(wěn)態(tài)誤差的均值和標(biāo)準(zhǔn)偏差.圖8 給出了基于本文算法的時間序列預(yù)測中的預(yù)測值與期望值的比較結(jié)果.
圖7 MG 混沌時間序列預(yù)測高斯噪聲下的MSE 曲線Fig.7.The MSE curve of MG chaotic time series prediction under Gaussian noise.
從圖7 可以看出,在高斯噪聲環(huán)境下,本文的算法和KLMS 算法都具有較快的收斂速度,收斂性能優(yōu)于KLMP,KFLP 和KLLAD 算法.而從表5可以看出,穩(wěn)態(tài)時本文算法和KLMS 算法的均值和標(biāo)準(zhǔn)偏差是最小的,說明本文算法和KLMS 都具有更優(yōu)的收斂速度和穩(wěn)態(tài)性能.從圖8 可以看出本文算法對于MG 混沌時間序列的預(yù)測值和期望值總體上基本保持一致.
圖8 P-KLLAD 算法的預(yù)測值和期望值Fig.8.Predicted values of the P-KLLAD algorithm and target values.
表5 均值 ± 標(biāo)準(zhǔn)偏差Table 5.Mean ± standard deviation.
2)噪聲存在脈沖異常值(α穩(wěn)定分布噪聲參數(shù)α1.3,δ0,β0 和γ0.1)時5 種算法性能的比較.結(jié)果如圖9 所示.從圖9 可以看出,存在脈沖噪聲時,本文算法比KLMS 算法具有更好的穩(wěn)態(tài)性能和收斂速度,并且對脈沖噪聲有良好的魯棒性.
圖9 MG 混沌時間序列預(yù)測α 穩(wěn)定分布噪聲下的MSE曲線Fig.9.The MSE curve of MG chaotic time series prediction under α stably distributed noise.
綜上,本文的P-KLLAD 算法雖犧牲了計算復(fù)雜度,但在非線性系統(tǒng)辨識和Mackey-Glass 混沌時間序列預(yù)測中不管是高斯噪聲環(huán)境還是存在有小的脈沖噪聲的情況下均具有良好的脈沖噪聲抑制能力和較快的收斂速度.
針對α穩(wěn)定分布噪聲模型下的非線性自適應(yīng)濾波問題,本文中提出了一種基于p范數(shù)的核最小對數(shù)絕對差自適應(yīng)濾波算法P-KLLAD.一方面利用最小對數(shù)絕對差準(zhǔn)則來抑制α穩(wěn)定分布噪聲中的沖激干擾,另一方面通過誤差的p范數(shù)和一個正常數(shù)a來提高算法的收斂速度.仿真結(jié)果表明,PKLLAD 算法在α穩(wěn)定分布噪聲環(huán)境下的非線性系統(tǒng)辨識和Mackey-Glass 混沌時間序列預(yù)測中在保證魯棒性能的同時提高了收斂速度.但是算法在α穩(wěn)定分布噪聲為大異常值的時候出現(xiàn)性能下降問題,有待進(jìn)一步研究完善.針對于計算復(fù)雜度問題,后續(xù)將進(jìn)一步研究有效的優(yōu)化方案來降低算法復(fù)雜度.