沈念如
(南京理工大學 南京 210094)
現(xiàn)階段,卡爾曼濾波器(Kalman Filter,KF)[1~2]是在目標實時跟蹤系統(tǒng)中應用最為廣泛的一種方法,傳統(tǒng)卡爾曼濾波只適用于線性系統(tǒng),而對于非線性目標跟蹤領域[3],擴展卡爾曼濾波(Extended Kalman Filter,EKF)[4]是對非線性函數(shù)進行一階泰勒級數(shù)展開并忽略高階項,在非線性特性較強的時候,不可避免會引入較大地線性化誤差以至于會造成濾波發(fā)散。無跡卡爾曼濾波(Unscented Kalman Filter,UKF)[5~6]利 用 無 跡 變 換(Unscented Transform,UT)在估計點附近確定采樣點,對非線性分布的統(tǒng)計量具有較高的計算精度,然而UT變換需要對矩陣進行喬利斯基分解容易導致算法停滯。平方根容積卡爾曼濾波(Square Root Cubature Kalman Filter,SRCKF)[7~9]采用協(xié)方差矩陣的三角分解因子代替協(xié)方差矩陣進行遞推更新,成功避免了非正定矩陣喬利斯基分解的問題。然而隨著非線性系統(tǒng)規(guī)模和復雜性的擴大,由于各種難以測量的干擾,不確定的傳輸時延和損失廣泛的存在,其中之一便是隨機乘性噪聲,廣泛存在于系統(tǒng)的工程應用當中。針對具有此類乘性相關噪聲[10,13]的非線性系統(tǒng)結合SRCKF濾波框架,可以有效地提高濾波地精度。
EKF算法是建立在線性卡爾曼濾波基礎上,其主要思想是對非線性系統(tǒng)模型圍繞濾波值做Taylor級數(shù)展開并略去二階及以上的高階項,得到一個近似的線性化的系統(tǒng)模型,然后對該模型做線性化求解。系統(tǒng)的離散非線性狀態(tài)及觀測模型如下:
其中wk∈Rn,vk∈Rm分別表示為過程噪聲和觀測噪聲,且它們?yōu)榛ゲ幌嚓P的均值為零,協(xié)方差分別為Qk和Rk的高斯白噪聲序列,Xk∈Rn,Yk∈Rm分別為k時刻狀態(tài)向量和觀測向量,f(·)和h(·)分別為非線性狀態(tài)運動方程和非線性觀測方程。應用線性Kalman濾波原理其遞推步驟如下所示:
1)先驗狀態(tài)一步預測:
2)先驗狀態(tài)一步預測誤差協(xié)方差:
3)觀測一步預測:
4)卡爾曼濾波增益:
5)后驗狀態(tài)更新:
6)后驗狀態(tài)誤差協(xié)方差:
不難看出,EKF遞推算法公式與線性Kalman濾波公式近乎一致,只不過EKF的非線性運動方程和觀測方程因為一階線性化,導致系統(tǒng)模型使用Jacobian矩陣代替狀態(tài)轉移矩陣和觀測矩陣;此外EKF算法是對非線性函數(shù)進行一階Taylor級數(shù)展開并忽略高階項,在非線性特性較強的時候,不可避免會引入較大地線性化誤差以至于會造成濾波發(fā)散。
基于乘性相關噪聲的平方根濾波方法,首先要建立帶有乘性相關噪聲的離散非線性系統(tǒng)模型[11~12],如式(8)所示。
其中f(·)和h(·)分別為非線性狀態(tài)方程和觀測方程,xk∈Rn,yk∈Rm分別為系統(tǒng)的k時刻狀態(tài)向量和觀測向量,wk∈Rn,vk∈Rm為互不相關的過程噪聲和觀測噪聲離散序列,分別服從零均值方差為Qk和Rk的高斯分布,ξk∈R1為k時刻乘性噪聲,服從零均值方差為Uk的高斯分布,且ξk和vk互相關,互相關協(xié)方差矩陣為Gk,Γ為已知常數(shù)。
若X和Y滿足聯(lián)合高斯分布,根據(jù)相關理論知識,則其條件概率也滿足高斯分布,其均值和協(xié)方差如式(9)所示,由于狀態(tài)模型和觀測模型中乘性噪聲與觀測噪聲互相關,由此考慮乘性噪聲和觀測序列在聯(lián)合高斯分布情況下,其條件概率的分布也滿足高斯分布,其均值M和方差J如式(10)所示。
由式(10)可知M∈R1,J∈R1,因此在已知k時刻后驗觀測條件下的狀態(tài)濾波值x?k|k以及誤差協(xié)方差值Pk|k,來預測k+1時刻的估計值,如式(11)所示:
其中協(xié)方差估計值Pk+1|k的系數(shù) (1+2ΓMk+Γ2Jk)∈R1,則對于離散非線性系統(tǒng)改進的SRCKF算法,具體步驟如下:
1)初始化
其中chol(·)表示對矩陣進行喬利斯基分解。
2)時間更新
若k時刻系統(tǒng)后驗狀態(tài)估計量為,狀態(tài)估計誤差協(xié)方差平方根因子為Sk|k,過程噪聲誤差協(xié)方差矩陣Qk,觀測噪聲誤差協(xié)方差矩陣Rk,觀測向量yk,乘性噪聲和觀測噪聲互協(xié)方差Gk,乘性噪聲方差Uk,則一步狀態(tài)預測值和協(xié)方差平方根因子為
對于n維狀態(tài)變量,其容積點集,權重W(i)以及[1]i定義如下:
其中m=2n為容積點個數(shù),表示對于三階球面徑向容積規(guī)則,采樣容積點數(shù)為狀態(tài)向量維度的兩倍,[1]i表示第i個容積點向量,m在此又可表示為列向量的個數(shù),每個容積點的向量維度與狀態(tài)變量維度相同,κ(i)表示選取的m個容積采樣點和分別表示先驗狀態(tài)向量估計值和先驗誤差協(xié)方差平方根估計矩陣,sqrt(·)為求平方根函數(shù),qr(·)表示對矩陣進行QR分解,如式(15)所示Mk和Jk表示k時刻乘性噪聲在觀測序列條件下的乘性噪聲均值和協(xié)方差。
3)觀測更新
其中ε(i)表示根據(jù)先驗狀態(tài)向量估計值和先驗狀態(tài)誤差協(xié)方差平方根估計值產(chǎn)生觀測方程的m個容積采樣點(m=2n),δk+1|k(i)觀測方程的非線性傳播,和?分別表示觀測向量估計值和觀測誤差協(xié)方差平方根因子估計值表示狀態(tài)向量和觀測向量估計的誤差互協(xié)方差值。
其中Kk+1為卡爾曼增益,和分別為后驗狀態(tài)向量估計值和后驗誤差協(xié)方差平方根因子估計值。
為了驗證改進SRCKF濾波方法在乘性噪聲條件下的性能,本仿真實驗對比了EKF、SRCKF、SRUKF濾波方法,以均方根誤差作為衡量標準,仿真實驗添加了均方根值為1.8m的距離誤差,1.8°的角度誤差,0.9m/s的速度誤差,且運動模型添加了均方根值為0.012的乘性噪聲誤差,且與觀測噪聲的互協(xié)方差為(0.025,0.0166,0.0125),實驗過程中采用勻加速運動模型和雷達系統(tǒng)觀測模型[14],雷達觀測到的目標初始徑向距離為20m,方位角為30°,速度為10m/s,運動模型分別在x和y方向上添加初始加速度為(2m/s,3.5m/s),目標運動方程f(·)和觀測方程h(·)參照式(18)所示。
其中采樣周期dt本例設置為0.02,如圖1(a)和(b)所示采樣點數(shù)為350個x,y方向上距離,速度,加速度的均方根誤差曲線,圖2(a)和(b)所示為x,y方向上距離維上15000次蒙特卡洛濾波實驗均方根誤差,可以看出改進SRCKF濾波算法均方根誤差較其它濾波算法有更好的實驗精度,統(tǒng)計結果如表1所示,基于乘性相關噪聲的改進SRCKF濾波算法,在對復雜背景下受乘性相關噪聲影響的系統(tǒng),相較于傳統(tǒng)的SRCKF算法在x方向上距離、速度、加速度的濾波精度分別提高了77.5%,41.0%,12.3%,y方向上則分別提高了77.6%,20.7%,54.8%,具有較好的濾波精度。
表1 EKF、SRCKF、SRUKF和改進SRCKF濾波算法均方根誤差統(tǒng)計表
圖1 x,y方向上均方根誤差曲線圖
圖2 x,y方向上15000次蒙特卡洛均方根誤差實驗
本文介紹了幾種典型的非線性濾波算法,簡單闡述其優(yōu)缺點,并推導了在乘性相關噪聲條件下的改進SRCKF濾波方法實現(xiàn),最后通過仿真實驗,對四種濾波算法的性能進行了對比分析,結果表明在隨機的乘性相關噪聲條件下,改進的SRCKF濾波精度更高,可應用于復雜環(huán)境下的目標跟蹤。