陳 方,吳小役,劉文逸,劉 芳
(西北機電工程研究所 第六研究室,陜西 咸陽712099)
卡爾曼(Kalman)濾波技術[1]誕生于20世紀60年代,是現代控制理論發展過程中產生的一種最優估計技術,是在動態噪聲和觀測噪聲均為白噪聲條件下推導出來的。其核心思想[2]是根據當前數據和前一時刻的諸量估計值,依據遞推公式,計算出新的諸量估計值。卡爾曼濾波實際是對隨時間變化的參數估計的一種順序最小二乘逼近,特別適用于動態測量。
目前,卡爾曼濾波技術已經廣泛應用在導航,數據融合技術,控制技術等領域,特別是在計算機圖像處理方面,臉部識別,圖像邊緣處理中大都采用卡爾曼濾波技術[3]。而在實際工程當中,經常會遇到有色噪聲。對于卡爾曼濾波,需要同時考慮有色動態噪聲和有色觀測噪聲的雙重影響。現有的處理方法,大都是采用白噪聲驅動下的有色卡爾曼濾波技術,就是將有色噪聲進行白化處理,即表達成白噪聲函數[4],再進行濾波。或者通過差分、差分組合或加大采樣間隔的方法來消除或減弱動態序列的有色噪聲影響,若要減弱有色觀測噪聲,采用增廣狀態方程,即將有色噪聲作為模型狀態參數,與更正的狀態參數一起求解[5-6]。這樣也很難消除有色噪聲的影響,還可能會造成濾波發散或者結果失真。
在卡爾曼濾波基本方程的基礎上,通過增加計算噪聲相鄰歷元間的協方差,利用線性變化,推導出了有色噪聲條件下的卡爾曼濾波方程,最后通過Matlab仿真進行驗證。
卡爾曼濾波技術的原理是考慮一個隨時間變化的參數向量(即狀態向量),通過一個線性系統(即觀測方程),可以測得一組在不同時刻下與參數相對應的參數值。如果能夠建立一個參數的確定性和不確定性隨時間變化的模型(即系統模型),卡爾曼濾波就可以在任何時刻下對狀態矢量進行估計,而且,它對狀態矢量的估計是無偏的,方差最小的。
線性隨機系統[1]

式中xk+1為k+1時刻的狀態向量,νk為k時刻系統觀測量。Ak、Γk和Ck分別是n×n、n×p、q×n已知常值矩陣,且1≤p,q≤n。基于初始條件E(x0)和D(x0),xk的線性無偏最小方差估計

式中

且{βk}和{γk}是不相關的零均值高斯白噪聲序列,滿足

其中Mk-1和Nk-1為已知的p×p和q×q常值矩陣。若噪聲序列{εk}和{ηk}滿足上述條件,則稱為有色噪聲過程[1]。
卡爾曼濾波是基于系統的動力學模型和觀測序列來求解狀態向量估計的算法,其函數模型和隨機模型為[1]

已知

其中Xk為k時刻的系統狀態,Ak為系統參數陣,Γk為噪聲驅動陣,εk為動態噪聲,Vk為k時刻實際量測值,Ck為量測系統參數陣,ηk為觀測噪聲。
卡爾曼濾波基本方程[1]

式中

在方程中,εk和ηk為互不相關均值為零的白噪聲。是濾波估計值,是一步預測量,PXk是協方差更新矩陣,PXk,k-1是一步預測協方差矩陣,Gk是狀態增益陣。
若動態噪聲εk和εj的協方差不等于零,則εk、ε2、…、εn為有色噪聲序列。考慮動態噪聲εk與相鄰歷元噪聲εk-1、εk+1相關,不相鄰的歷元噪聲不相關,則動態噪聲的協方差矩陣為分塊三對角矩陣

其中a1,a2,…,an-1為相鄰歷元動態噪聲間協方差值。
假設卡爾曼濾波基本方程初始狀態

且X0與{εk},{ηk}都不相關。測量k-1次后,可得到的估計值,根據動態方程可以預測第k次計算的狀態值。因為E(εk)=0,則的一步預測合理值為

假設

式(4)兩邊減去Xk即

可得

則有

由于


則式(7)中

有色噪聲濾波公式就化為白噪聲條件下的卡爾曼濾波公式。因此可以認為,動態噪聲為白噪聲條件下的卡爾曼濾波是動態噪聲為有色噪聲條件下卡爾曼濾波的特殊情況。
如果觀測噪聲的協方差不為零,則觀測噪聲為有色噪聲序列,假設卡爾曼濾波的觀測方程為[7]

其中Vk為k時刻實際量測值,Ck為量測系統參數陣,ηk為觀測噪聲。
對于觀測噪聲為有色噪聲的卡爾曼濾波,假設系統的動態噪聲和觀測噪聲均值為零,互不相關,動態噪聲εk為高斯白噪聲,ηk為有色噪聲序列,因而與ηk相關,由式(3)可得其協方差為[8]


PXk,k-1ηk為k時刻下一步預測量與觀測噪聲間協方差。
考慮到相鄰歷元觀測噪聲相關的卡爾曼濾波公式為[9]

若設

則式(12)可以化簡為

在式(11)中,當觀測噪聲為白噪聲時,有

于是

此時,方程式退化為白噪聲條件下的卡爾曼濾波公式。可見,觀測噪聲為白噪聲條件下的卡爾曼濾波是觀測噪聲為有色噪聲條件下卡爾曼濾波的特殊情況。
結合上面兩種方法,就可以得到在動態噪聲和觀測噪聲都是有色噪聲情況下的處理方法,即有色噪聲條件下的卡爾曼濾波。
利用Matlab軟件進行仿真。給定周期為150s,幅值為1的正弦信號s作為系統輸入信號,假設系統參數陣Ak、噪聲驅動陣Γk、量測系統參數陣Ck均為1階單陣,在動態噪聲和觀測噪聲均為均勻白噪聲和有色噪聲的兩種情況下,分別利用傳統卡爾曼濾波和本文推導的有色噪聲條件下相鄰歷元噪聲相關的卡爾曼濾波方法進行濾波處理,并在同一個界面中,對相同信號的兩種處理結果進行了對比。仿真結果分別如圖1,圖2所示。

圖1 白噪聲作用下的卡爾曼濾波

圖2 有色噪聲作用下的卡爾曼濾波
在圖1和圖2中,第一條曲線為輸入的正弦信號;第二條曲線為疊加了噪聲后的正弦信號,第三條曲線為利用傳統卡爾曼濾波方法處理后的效果;第四條曲線為利用有色噪聲條件下卡爾曼濾波方法處理后的效果。其中圖1是對疊加了均勻白噪聲的正弦信號進行的兩種卡爾曼濾波處理,圖2是對疊加了有色噪聲的正弦信號進行的兩種卡爾曼濾波處理。
由圖1可以看出,當噪聲信號為白噪聲時,由于白噪聲相鄰歷元之間無相關性,則傳統的卡爾曼濾波與有色噪聲條件下卡爾曼濾波對信號的處理效果相同,證實了當噪聲信號為白噪聲時,有色噪聲條件下的卡爾曼濾波公式退化為白噪聲條件下的卡爾曼濾波公式。
由圖2中可以看出,當噪聲信號為有色噪聲時,利用傳統卡爾曼濾波的方法,將有色噪聲當作白噪聲來處理,處理結果誤差較大,效果不理想,而利用有色噪聲條件下的卡爾曼濾波方法,處理后的信號曲線更為平滑,誤差減少。可見,通過對同一信號疊加不同噪聲,再對比兩種卡爾曼濾波方法處理的結果,證實了白噪聲條件下的卡爾曼濾波是有色噪聲條件下卡爾曼濾波的特殊情況,并且有色噪聲條件下的卡爾曼濾波方法優于傳統的卡爾曼濾波方法,對噪聲的處理效果更佳。
依據有色噪聲相鄰歷元間噪聲相關的特點,推導出了有色噪聲條件下的卡爾曼濾波方程,通過仿真實驗,證明改進的方法可以減小計算誤差,有效避免濾波發散和結果失真,對于處理有色噪聲信號,效果更佳。
[1]崔錦泰,陳關榮.卡爾曼濾波及其實時應用[M].北京:清華大學出版社,2013:58-63.
[2]秦永元,張洪鉞,汪叔華.卡爾曼濾波與組合導航原理[M].西安:西北工業大學出版社,1998:128-129.
[3]張建軍.基于改進的擴展卡爾曼濾波伺服系統建模技術研究[J].計算機應用研究,2012,29(3):944-946.
[4]趙長勝.有色噪聲觀測量的主次靜態濾波與配置[J].測繪通報,2004(4):17-18.
[5]張金槐,蔡洪.飛行器試驗統計學[M].長沙:國防科技大學出版社,1995:161-182.
[6]白輝,盧光躍,王曉侃.非信任環境中一致卡爾曼濾波的數據融合算法[J].西安郵電學院學報,2012,17(5):10-14.
[7]宋國東,姜守達,林連雷.復雜有色噪聲廣義系統信息融合 Kalman濾波器[J].儀器儀表學報,2013,34(5):1195-1200.
[8]唐斌,陳金平,楊龍,等.基于有色噪聲卡爾曼濾波算法在電力系統母線的GPS多徑估計研究[J].北京理工大學學報,2010,30(10):1197-1225.
[9]崔希璋.廣義測量平差[M].武漢:武漢大學出版社,2005:219-287.