張一帆
摘 要:卡爾曼濾波因具有計(jì)算量小,編程簡(jiǎn)單易于實(shí)現(xiàn)的優(yōu)點(diǎn),被廣泛的用于通信和導(dǎo)航領(lǐng)域。但卡爾曼濾波在一些特定場(chǎng)景下,仍然存在一定的不足;例如在數(shù)據(jù)量較大的情況下,無法很好的對(duì)數(shù)據(jù)進(jìn)行處理,容易產(chǎn)生發(fā)散的現(xiàn)象。為解決這樣的問題,論文提出一種新的自適應(yīng)卡爾曼濾波,能夠有效改善此類問題。
關(guān)鍵詞:卡爾曼;發(fā)散;自適應(yīng)
數(shù)據(jù)濾波是去除噪聲還原真實(shí)數(shù)據(jù)的一種數(shù)據(jù)處理技術(shù)。目前,較為成熟且應(yīng)用較為廣泛的濾波方法有卡爾曼濾波、粒子濾波等。[1] 其中卡爾曼濾波相較于其他濾波,具有易于實(shí)現(xiàn)、計(jì)算量小、應(yīng)用場(chǎng)景廣泛的特點(diǎn)。被廣泛的應(yīng)用于導(dǎo)航、控制等領(lǐng)域。[2]即便如此,在一些特定的場(chǎng)景下,卡爾曼濾波算法仍然存在著一定的不足,在實(shí)際應(yīng)用中,伴隨測(cè)量數(shù)據(jù)量的增加,會(huì)導(dǎo)致估計(jì)誤差的均值和估計(jì)誤差協(xié)方差也逐漸增大,濾波估計(jì)的準(zhǔn)確度也會(huì)隨著下降。為了此類問題,論文提出了一種自適應(yīng)卡爾曼濾波方法。在數(shù)據(jù)濾波中,自適應(yīng)濾波不僅可以利用測(cè)量值對(duì)預(yù)測(cè)值進(jìn)行修正,而且系統(tǒng)中模糊的系統(tǒng)模型參數(shù)和噪聲統(tǒng)計(jì)參數(shù)也能得到修正。濾波過程中的發(fā)散現(xiàn)象可以得到進(jìn)一步的改善。
1 算法描述
1.1 卡爾曼濾波
卡爾曼濾波是一種最優(yōu)估算算法,通過利用線性系統(tǒng)狀態(tài)方程以及系統(tǒng)的輸入和輸出觀測(cè)數(shù)據(jù),來達(dá)到最優(yōu)估算的目的??柭鼮V波可有效的過濾觀測(cè)信號(hào)中的噪聲,且應(yīng)用條件寬泛,能夠在平均的意義上,對(duì)真實(shí)信號(hào)進(jìn)行估計(jì),并且能夠?qū)⒄`差降至最小。因此,在卡爾曼濾波算法問世以來,無論是在通信領(lǐng)域還是電路系統(tǒng)中都得到了廣泛的應(yīng)用。在圖像處理的應(yīng)用中,卡爾曼濾波可對(duì)受噪聲影響而導(dǎo)致產(chǎn)生模糊的圖像進(jìn)行復(fù)原操作。在假定了噪聲的某些統(tǒng)計(jì)性質(zhì)后,卡爾曼的算法就可以以遞推的方式對(duì)模糊圖像進(jìn)行處理,從而得到真實(shí)的圖像,可以復(fù)原原本模糊的圖像。
卡爾曼濾波算法具體實(shí)現(xiàn)過程如下
系統(tǒng)的過程模型可以被用來預(yù)測(cè)系統(tǒng)下一時(shí)刻的狀態(tài),假設(shè)系統(tǒng)在 k時(shí)刻的狀態(tài)為 X(k),根據(jù)系統(tǒng)模型,可以由系統(tǒng)的上一時(shí)刻的狀態(tài)預(yù)測(cè)出當(dāng)前時(shí)刻的狀態(tài):
X(k k-1)=AX(k-1 k-1)+Bu(k)(3)
其中 X(k k-1)是利用系統(tǒng)的上一時(shí)刻的狀態(tài)預(yù)測(cè)得到的系統(tǒng)當(dāng)前時(shí)刻的狀態(tài),X(k-1 k-1)是系統(tǒng)在上一時(shí)刻的最優(yōu)狀態(tài),u(k)為當(dāng)前時(shí)刻狀態(tài)的控制量。在對(duì)系統(tǒng)的狀態(tài)進(jìn)行更新后,下一步需要對(duì)系統(tǒng)的誤差估計(jì)協(xié)方差矩陣進(jìn)行更新,可以用 P(k k-1)來表示系統(tǒng)的誤差估計(jì)協(xié)方差矩陣:
P(k k-1)=AP(k-1 k-1)A+Q(4)
其中 p(k k-1)是在 k時(shí)刻系統(tǒng)上一狀態(tài)對(duì)當(dāng)前狀態(tài)的預(yù)測(cè),p(k-1 k-1)是 x(k-1 k-1)對(duì)應(yīng)的誤差估計(jì)協(xié)方差矩陣,Q表示系統(tǒng)過程噪聲的協(xié)方差。
X(k k)=X(k k-1)+Kg(k)(Z(k)-Hx(k k-1))(5)
式(5)中Kg(k)是未知的,為得到Kg(k),需要(6)式:
Kg(k)=P(k k-1)H/(HP(k k-1)H + R)(6)
這樣,我們就得到了k時(shí)刻的系統(tǒng)狀態(tài)的最優(yōu)值 x(k k),為了讓整個(gè)濾波過程不斷地自回歸的運(yùn)行下去,x(k k)對(duì)應(yīng)的 p(k k)需要再一次的更新。其中p(k k)的表達(dá)式如式(7)所示:
p(k k)=(I-Kg(k)H)P(k k-1)(7)
這樣整個(gè)濾波過程就可以自回歸的運(yùn)行下去。
1.2 自適應(yīng)卡爾曼
自適應(yīng)的濾波方法十分多樣化,其中較為常用的有貝葉斯法、極大似然法、相關(guān)法,在這之中,最為基礎(chǔ)和重要的則是相關(guān)法,而相關(guān)法又可以根據(jù)實(shí)現(xiàn)過程的不同進(jìn)一步分為輸出相關(guān)法和新息相關(guān)法。
論文提出的自適應(yīng)卡爾曼濾波實(shí)現(xiàn)的前提是,系統(tǒng)模型參數(shù)已知,而噪聲統(tǒng)計(jì)參數(shù)Q和R未知。由于 增益矩陣K值會(huì)影響噪聲的最終統(tǒng)計(jì)參數(shù)Q和R,從而影響濾波值。因此在進(jìn)行自適應(yīng)濾波時(shí),可以在未估計(jì)Q和R等參數(shù)的情況下,直接根據(jù)量測(cè)數(shù)據(jù)調(diào)整K的值。自適應(yīng)濾波的輸出相關(guān)法的基本方法是通過量測(cè)數(shù)據(jù)對(duì)輸出函數(shù)序列{ CK}進(jìn)行估計(jì),然后由{ CK}再進(jìn)一步推算出系統(tǒng)的 K值,即最佳增益矩陣,使得增益矩陣 K不斷的調(diào)整,以為 K與實(shí)際量測(cè)數(shù)據(jù){ CK}相匹配。
Sage-Husa自適應(yīng)卡爾曼濾波可以實(shí)時(shí)地估計(jì)和修正系統(tǒng)噪聲和量測(cè)噪聲的統(tǒng)計(jì)特性,這一過程的實(shí)現(xiàn),是通過時(shí)變?cè)肼暪烙?jì)估值器來實(shí)現(xiàn)的,同時(shí)利用了量測(cè)數(shù)據(jù)進(jìn)行遞推濾波。從而達(dá)到降低系統(tǒng)模型誤差、抑制濾波發(fā)散提供濾波精度的目的。
2 實(shí)驗(yàn)驗(yàn)證
實(shí)驗(yàn)首先利用采集器采集實(shí)驗(yàn)所需相關(guān)實(shí)驗(yàn)數(shù)據(jù),然后利用 matlab通過卡爾曼和自適應(yīng)卡爾曼對(duì)實(shí)驗(yàn)數(shù)據(jù)進(jìn)行驗(yàn)證,通過不同算法處理前后數(shù)據(jù)的偏差值的對(duì)比來驗(yàn)證和說明自適應(yīng)卡爾曼的優(yōu)越性。實(shí)驗(yàn)結(jié)果如下圖所示:
從上圖中可以看出,經(jīng)由自適應(yīng)卡爾曼處理后的數(shù)據(jù)與原始數(shù)據(jù)的差值更小。經(jīng)典卡爾曼的濾波效果相比之下,要差了很多。
3 結(jié)論
論文給出了一種基于自適應(yīng)卡爾曼的濾波方法,實(shí)驗(yàn)結(jié)果表明,自適應(yīng)卡爾曼濾波能夠有效的對(duì)實(shí)驗(yàn)數(shù)據(jù)進(jìn)行補(bǔ)償,相較于傳統(tǒng)的卡爾曼濾波,自適應(yīng)卡爾曼的效果更好,而且速度更快。該濾波可用于解決實(shí)際工程中的一些相關(guān)問題。
參考文獻(xiàn):
[1]吳春穎,王娟.淺析卡爾曼濾波理論的發(fā)展歷史過程[J].福建電腦,2017(1):22-23.
[2]余彥霖,祖家奎,廖智麟.基于卡爾曼濾波的MUH姿態(tài)信號(hào)融合算法研究[J].電子測(cè)量技術(shù),2015,38(5):106-110.