齊小強,廉保旺,薛喆
摘 要:為了提高動態(tài)定位精度,將卡爾曼(KF)算法應用到GPS非線性動態(tài)定位解算中,提出加權最小二乘-卡爾曼濾波(WLS-KF)算法。通過加權最小二乘(WLS)算法得到近似的線性化模型,再將KF算法應用到這個線性化模型進行校正。因此既保持了KF算法能夠對系統(tǒng)狀態(tài)進行最優(yōu)估算的優(yōu)點,同時對各個測量值進行了聯(lián)系制約,具有更高的精度。結果表明,這種方法精度介于EKF和UKF之間,且實現(xiàn)容易,預測可靠,具有實際應用價值。
關鍵詞:全球定位系統(tǒng); 卡爾曼濾波; 加權最小二乘; 非線性
中圖分類號:TN967-34
文獻標識碼:A
文章編號:1004-373X(2011)09-0087-03
GPS Nonlinear Dynamic Filter Algorithm Based on Weighted Least Squares-Kalman Filter
QI Xiao-qiang,LIAN Bao-wang,XUE Zhe
(School of Electronic and Information, Northwestern Polytechnical University, Xian 710129, China)
Abstract: In order to improve the positioning accuracy, the weighted least squares-Kalman filter(WLS-KF)algorithm is proposed by applying Kalman filter (KF) into GPS nonlinear dynamic filter. An approximate linear system is formed from the WLS algorithm and regulated by KF. Thus it can keep the advantages of that the KF algorithm can optimally estimate the system status, restrict and contact each measured value. The results show that the accuracy range of this algorithm between EKF and UKF has reliable prediction and practical applications.
Keywords: GPS; Kalman filter; weighted least squares; nonlinear
0 引 言
卡爾曼濾波(KF)是一個不斷預測、修正的遞推過程,已經越來越多地應用于動態(tài)數(shù)據(jù)處理中[1]。然而在KF模型中,要求觀測方程是線性形式、狀態(tài)噪聲和測量噪聲是白噪聲[2]。為了解決這種矛盾,將KF理論應用到非線性領域中,擴展卡爾曼濾波(EKF)應用而生,它圍繞狀態(tài)估計值對非線性系統(tǒng)進行一階Taylor展開使其線性化,但它存在如下不足:一是當非線性函數(shù)Taylor展開式的高階項無法忽略時,會產生較大的線性化誤差;二是EKF假定噪聲均為正態(tài)白噪聲,但是一個正態(tài)白噪聲經過非線性變換后通常不再呈現(xiàn)正態(tài)性;三是只有在雅可比矩陣存在時才能線性化,而很多應用中雅可比矩陣很難求[2-4]。針對這種情況,Julier和Uhlmann等人提出了一種基于非線性變換——Unscented變換(UT)的卡爾曼濾波算法(UKF)。它通過確定性采樣得到的一組sigma點,可以獲得更多的觀測假設,對系統(tǒng)狀態(tài)的均值和協(xié)方差的估計更為準確,同時由于該算法采用了非線性的狀態(tài)方程和觀測方程,從而避免了線性化誤差[4-6]。目前,EKF和UKF算法被廣泛應用于GPS非線性動態(tài)濾波研究中,并取得良好的定位效果[7-9]。
本文給出了一種加權最小二乘-卡爾曼濾波(WLS-KF)算法,它利用一組離散采樣點,通過WLS方法產生近似線性化預測模型,然后用KF算法對此模型進行校正。以該算法為思路,將其應用在GPS非線性動態(tài)濾波定位解算中,仿真結果表明該算法精度介于EKF和UKF之間,從而實現(xiàn)了對目標較高精度的定位和跟蹤。
1 算法描述
1.1 WLS算法
LS算法是現(xiàn)代測量技術中數(shù)據(jù)處理的基本工具,這種方法的特點是算法簡單,在估計解算時,不需要知道與被估計量以及觀測量有關的任何統(tǒng)計信息。
設X為待估參數(shù)矢量,觀測矢量為L。觀測方程為:
L=f(X)+v
(1)
式中:v為觀測誤差。用泰勒定理展開,得到線性化的觀測方程為:
L=f(X0)+A?ΔX+v
或者:
b=L-f(X0)=AΔX
(2)
式中:A是系數(shù)矩陣;f(X0)表示用先驗參數(shù)計算的理論觀測向量;b表示擬合后的殘差;ΔX是對先驗參數(shù)的小修正向量。
LS算法的指標是使各次觀測量與由參數(shù)估計得到的觀測量之差的平方和最小,即:
P(ΔX)=‖A?ΔX-b‖2=min
(3)
要使上式達到最小,當對觀測矢量的質量有所了解時,設置各個測量值的權重,得到WLS算法的解為:
ΔX=(A琓WA)-1A琓Wb
(4)
這時觀測方程的解就從Xk-1更新為Xk:
Xk=Xk-1+ΔX
(5)
若更新后的Xk尚未達到求解精度,則Xk可作為第k+1次迭代的起始點,繼續(xù)進行上述運算。
1.2 KF算法
KF算法對一個離散時間線性系統(tǒng)的狀態(tài)進行最優(yōu)估計,使系統(tǒng)狀態(tài)的估計值有最小均方誤差(MMSE)。
考慮一個多輸入多輸出的離散時間線性動態(tài)系統(tǒng),其狀態(tài)方程可表示為:
xk=Axk-1+Buk-1+wk-1
(6)
觀測方程為:
yk=Cxk+vk
(7)
向量wk和vk分別表示狀態(tài)噪聲和測量噪聲,假設它們都是均值為零的正態(tài)白噪聲且相互獨立,即:
wk~N(0,Q),vk~N(0,R)
E(wiv琓i)=0
(8)
KF算法通過如下的時間更新過程和測量更新過程來對系統(tǒng)狀態(tài)進行估計。
時間更新過程:
-k=Ak-1+Buk-1
(9)
P-k=APk-1A琓+Q
(10)
測量更新過程:
Kk=P-kC琓(CP-kC琓+R)-1
(11)
k=-k+Kk(yk-C-k)
(12)
Pk=(I-KkC)P-k
(13)
計算完測量更新方程后,整個過程再次重復,上一次計算得到的后驗估計被作為下一次計算的先驗估計。
1.3 WLS-KF算法
1.3.1 基本思想
算法基本思想是通過WLS方法計算隨機變量經過非線性變換后的分布參數(shù),它利用離散個加權點來確定近似直線。
設待確定的近似線性化模型為:
y=x+
(14)
要得到此模型,可設變量:
u=[]琓
(15)
由:
Au=b
(16)
得:
u=(A琓WA)-1A琓Wb
(17)
在上式中,設:
A=x1x2…xn
11…1琓
b=[f(x1)f(x2)…f(xn)]琓
W=diag(p(x1),p(x2),…,p(xn))
式中:(xn,f(xn))表示設置的離散加權點;p(xn)表示其對應的權系數(shù),n=1,2,…,n。
1.3.2 算法流程
將加權最小二乘線性化方法同KF算法相結合,便得到了WLS-KF算法。具體的算法流程如下:
(1) 設置矩陣A,b和加權矩陣W;
(2) 將A,b和W帶入式(17),求出線性化系數(shù)矩陣A1,常數(shù)向量b1;
(3) 根據(jù)以上結果,得到近似的預測方程:
x-k=A1xk-1+b1
(18)
(4) P-k=A1Pk-1A琓1+Q(19)
(5) 重復(1)~(3),利用x-k和P-k,得到測量矩陣H和測量向量的預測值y-k;
(6) K=P-kH琓(HP-kH琓+R)-1
(20)
(7)
xk=x-k+K(yk-y-k)
(21)
(8) Pk=(I-KH)P-k
(22)
2 實驗結果與分析
基于運動載體為質點的假設建立目標運動模型,考慮一個二維平面曲線運動系統(tǒng),狀態(tài)定義為X=[x y ω δt],分別表示二維方向上的位置變量、速度變量、載體相對于起始位置的轉彎角度及接收機鐘差。
系統(tǒng)狀態(tài)方程為:
xk+1=f(xk,k)=xk2+25xk1+x2k+8cos(1.2k)+wk
(23)
yk+1=g(yk,k)=yk2+25yk1+x2k+8sin(1.2k)+vk
(24)
測量方程為:
Zk=h(Xk)=X2k20+εk
(25)
式中:wk,vk和εk為相互獨立的高斯白噪聲序列,wk~N(0,10),vk~N(0,10),εk~N(0,1)。此系統(tǒng)是具有可加噪聲的離散非線性時變系統(tǒng) [10-11],觀測時間為100 s,觀測周期為1 s。WLS-KF和EKF,UKF算法的二維預測結果分別如圖1,圖2所示,預測結果誤差分析見表1。
實線為真實值,虛線為預測值
圖1 WLS-KF,EKF,UKF在x方向預測結果比較
實線為真實值,虛線為預測值
圖2 WLS-KF,EKF,UKF在y方向預測結果比較
表1 WLS-KF,EKF,UKF預測結果誤差分析
MEANSTD
dim 1dim 2dim 1dim 2
WLS-KF0.173 00.273 610.248 09.842 9
EKF0.657 1-0.820 011.043 09.006 8
UKF-0.071 20.720 89.946 79.944 6
為便于比較,算法中使用的隨機數(shù)據(jù)均來自于提前保存好的隨機序列。結果表明,WLS-KF算法的計算量
適中,精度介于EKF和UKF之間,且效率同KF接近。
3 結 語
本文引入了一種基于加權最小二乘的線性化方法,將其與KF算法相結合,給出了可以應用于GPS非線性動態(tài)濾波系統(tǒng)的WLS-KF算法。該算法不需要求偏導數(shù),算法精度介于EKF和UKF之間,可以實現(xiàn)對目標較高精度的定位和跟蹤,有一定的應用價值。
參考文獻
[1]KAPLAN Elliott D,HEGARTY Christopher J.GPS原理與應用[M].2版.北京:電子工業(yè)出版社,2007.
[2]宋迎春.動態(tài)定位中的卡爾曼濾波研究[D].長沙:中南大學,2006.
[3]謝鋼.GPS原理與接收機設計[M].北京:電子工業(yè)出版社,2009.
[4]劉國海,李沁雪,施維.動態(tài)卡爾曼濾波在導航試驗狀態(tài)估計中的應用[J].儀器儀表學報,2009,30(2):396-400.
[5]VAN DER MERWE R, WAN E A. The square-root unscented Kalman filter for state and parameter estimation [J]. Acoustics, Speech and Signal Processing Proceedings,2001, 6: 3461-3464.
[6]JULIER S J, UHLMANN J K. Unscented filtering and nonlinear estimation [J]. Proceedings of the IEEE, 2004, 92, (3):401-422.
[7]孫紅星,付建紅,袁修素,等.基于多歷元遞推最小二乘卡爾曼濾波方法的模糊度解算[J].武漢大學學報,2008,33(7):735-739.
[8]蘇偉,王國宏.有色噪聲下基于總體最小二乘和卡爾曼濾波的無源定位方法[J].彈箭與制導學報,2009,29(4),217-219.
[9]孫慶祥,戴邵武.加權最小二乘-卡爾曼濾波算法在動基座對準中的應用[J].海軍航空工程學院學報,2008,23(4),395-397.
[10]SCHON Thomas B. Estimation of nonlinear dynamic systems theory and applications [D]. [S.l.]: Linkopings University, 2006.
[11]CORDON N J, SALMOND D J, SMITH A F M. Novel approach to non-lineat/non-Gaussian Bayesian state estimation [J]. IEEE Proc. on Radar and Processing, 1993, 140(2): 107-113.
注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文