景紹學, 孫 偉, 張 翔
(淮陰師范學院 物理與電子電氣工程學院, 江蘇 淮安 223300)
參數(shù)估計是利用動態(tài)系統(tǒng)的觀測數(shù)據(jù)建立數(shù)學模型的過程,該數(shù)學模型可以反映系統(tǒng)的某些動態(tài)特性[1].目前,在系統(tǒng)辨識和參數(shù)估計方面已有大量的研究成果[2-4].參數(shù)估計過程中的一個重要問題是選擇模型結(jié)構(gòu)[5].動態(tài)模型有很多種,如:線性模型、非線性模型、確定性模型、隨機模型等,其中FIR模型是較簡單的模型[6-8].研究結(jié)果表明,只要階數(shù)足夠高,FIR模型能夠以任意精度逼近任何穩(wěn)定的線性系統(tǒng).近幾十年來,FIR模型在系統(tǒng)辨識、參數(shù)估計和信號處理中得到了廣泛的應(yīng)用[9-11].如:為了辨識時變FIR模型,基于系統(tǒng)參數(shù)的預估計,提出了一種解耦卡爾曼濾波算法[9];針對具有二值觀測數(shù)據(jù)的FIR模型辨識問題,推導了一種基于極大似然的辨識算法,并對其性能進行了討論[10];為了估計線性時變馬爾可夫模型,提出了一種無偏FIR濾波器[11].盡管對某些FIR模型的辨識效果良好,但現(xiàn)有的算法大多只涉及白噪聲或正態(tài)分布噪聲的FIR模型.
脈沖噪聲通??梢娪谠S多工業(yè)信號中,如圖像信號、音頻信號和通信信號等[12-13].基于現(xiàn)有辨識準則的算法,如:最小二乘(LS)準則、均方誤差(MSE)準則和最大似然(ML)準則,可能會產(chǎn)生不能令人滿意的辨識結(jié)果[14-15].主要原因有:LS和MSE準則僅捕獲數(shù)據(jù)中的二階統(tǒng)計量,而ML準則需要數(shù)據(jù)分布的先驗信息,而許多情況下是未知的.為了考慮高階統(tǒng)計量,人們研究了許多非均方誤差準則,其中信息準則受到廣泛關(guān)注[16-17].與均方誤差準則相比,信息準則采用了某種熵,如Shannon熵、Renyi熵和交叉熵來推導辨識算法[18-19].基于信息準則的算法在非高斯環(huán)境下表現(xiàn)出優(yōu)異的性能[20-21].
因此,為了辨識帶有脈沖噪聲的FIR模型,推導了一種基于信息準則的算法,其名稱為隨機信息梯度算法.本文的主要工作如下:
1) 為了獲得脈沖噪聲下FIR模型的精確估計,提出了一種基于最小誤差熵的隨機信息梯度算法;
2) 由于梯度算法收斂速度慢,算法中引入了基于峭度的可變步長;
3) 為了實現(xiàn)該算法,通過理論分析和實驗仿真,給出了一種確定最大步長的實用方法.
本文描述了所要估計的FIR模型,提出了一種基于峭度的變步長隨機信息梯度算法,通過幾個數(shù)值算例驗證了所提出的算法,最后給出了主要結(jié)論.
考慮圖1所示的FIR模型,其中u(k)和y(k)分別是系統(tǒng)的輸入和輸出.B(z-1)是由階數(shù)為nb的FIR函數(shù)描述的線性動態(tài)模型.FIR模型受到脈沖噪聲v(k)的污染.
圖1 FIR模型框圖
從圖1可以看出,輸出y(k)可以寫成
y(k)=B(z-1)u(k)+v(k)=
b1u(k-1)+b2u(k-2)+…+bnbu(k-nb)+v(k)=φT(k)θ+v(k)
(1)
其中
(2)
對于式(1)所示的參數(shù)化模型,定義瞬時誤差為
e(k)=y(k)-φT(k)θ
(3)
若誤差的概率密度函數(shù)為f(e),則誤差的Shannon熵可以表示為[22]
H(e)=E[-logf(e)]
(4)
其中未知的f(e)可通過Parzen窗口方法估計得到[19],即
(5)
式中κσ(·)表示核寬度為σ的核函數(shù).
定義Δeki=e(k)-e(i),f(e)的一個窗長L的估計可通過下式得到[23]
(6)
因此,誤差熵H(e)在k時刻的一個估計為
(7)
采用高斯核函數(shù),上述誤差熵對于參數(shù)的梯度為
(8)
于是得到估計參數(shù)向量θ的隨機信息梯度(SIG)算法為
(9)
其中η(k)表示步長,本文將利用峭度獲得一個可變步長.
眾所周知,SIG算法收斂較慢.為了加速算法收斂,采用了如下的變步長策略[24]:
η(k)=ηm(1-e-α|K(e(k))|)
(10)
其中η(k)表示最大步長(接下來給出經(jīng)驗公式);α為[1,10]的一個松弛因子,由用戶確定;K(·)表示一個受誤差影響的可變峭度.
(11)
式中,ξ可在(0,1)之間選擇,其典型值在[0.1,0.4]之間.為了獲得靈活的峭度,引入可變因子ρ(k),得到
(12)
其中s(k-1)表示K(e(k-1))的符號,常數(shù)δ,β可分別在(0,0.1)和(0,1)范圍內(nèi)取值.
考慮如下的FIR模型
y(k)=0.5u(k-1)+1.1u(k-2)+0.8u(k-3)+
0.6u(k-4)+0.2u(k-5)+0.1u(k-6)+v(k)
(13)
實驗時,u(k)采用一個偽隨機序列,v(k)為一個脈沖噪聲.數(shù)據(jù)長度為600.用c表示脈沖添加的百分比.例如,c=5%時,隨機添加N×c=600×5%=18個脈沖噪聲到數(shù)據(jù)序列中.本文中,Parzen窗長度取值為3,高斯核函數(shù)的核寬度取值為1.所用數(shù)據(jù)的曲線如圖2所示.
1) 不同ηm時
為驗證ηm對所提算法性能的影響,令ηm=0.01,0.05,0.10時利用所提出的VSS-SIG算法對上述FIR模型進行辨識.不同ηm時的估計誤差曲線如圖3所示.
圖2 數(shù)據(jù)曲線 圖3 不同ηm時的誤差曲線
分析可見: ①總體上看,對于給定的一個ηm,參數(shù)估計誤差隨辨識的進行而減小; ②ηm取較小數(shù)值時(如0.01),估計誤差變化緩慢,但是估計誤差波動較小;相反,ηm取較大數(shù)值時,算法收斂很快,但誤差波動較大; ③對于較小數(shù)據(jù)集的辨識,較大的ηm可以迅速地得到交精確的估計值,但是過大的ηm會帶來參數(shù)估計值的大幅波動.
2) 不同α時
測試了α對所提算法性能的影響.不同α時的誤差曲線如圖4所示.分析可見: ①對于給定α,估計誤差隨k的增加而減小; ②誤差曲線的開始,3條曲線差別不大;隨后,曲線開始分化:較小的α對應(yīng)的曲線在上面,較大的α對應(yīng)的誤差曲線在底部.結(jié)果表明,較小的α會導致步長的快速衰減,從而帶來相對較慢的收斂速度,但是差別不大;反之亦然.
圖4 不同α時的誤差曲線 圖5 不同n時的誤差曲線
3) 不同n時
取n=2,4,6時,分別估計了上述模型,得到的誤差曲線如圖5所示.從圖中可以看出,3條曲線很難區(qū)分,表明參數(shù)維數(shù)對算法性能的影響不大.
4) 不同c時
分別取c=10%,30%和50%,使用本文算法對上述FIR模型參數(shù)進行了辨識,誤差曲線如圖6所示.由圖6可見3條曲線的差別不大,表面所提的算法對不同添加的噪聲有較好的抑制能力.
圖6 不同c時的誤差曲線
為了識別脈沖噪聲擾動的FIR模型,提出了一種基于最小誤差熵和峭度的可變步長SIG算法.基于該信息準則推導了隨機信息梯度算法,該算法在脈沖噪聲環(huán)境中給出參數(shù)向量的準確估計.為解決SIG算法收斂緩慢的問題,提出了一種基于峭度的可變步長SIG算法.為了實現(xiàn)該算法,基于大量數(shù)值仿真,給出了確定最大步長的簡單公式.實驗結(jié)果表明,對于脈沖噪聲下的FIR模型,該算法能獲得準確的估計,且具有較快的收斂速度.