Professional Documents
Culture Documents
基于Sage-Husa的线... 自适应平方根卡尔曼滤波算法 周勇
基于Sage-Husa的线... 自适应平方根卡尔曼滤波算法 周勇
基于 Sage-Husa 的线性自适应平方根
卡尔曼滤波算法
1 2 1 3
周 勇 ,张玉峰 ,张 超 ,张举中
关 词: 算法,协方差矩阵,预估,卡尔曼滤波,线性系统,稳定性,LASRKF 算法
键
中图分类号: TP13 文献标识码: A 文章编号: 1000-2758( 2013) 01-0089-05
目前卡尔曼滤波理论广泛应用于自动控制伺服 1 标准 KF 和 EKF 概述
系统等领域,其中标准卡尔曼滤波( KF) 和扩展卡尔
曼滤波( EKF) 都是以已知系统过程噪声和测量噪声 1. 1 标准 KF
的统计特性为应用前提。 然而在实际中,有些参数 假定随机线性离散系统的状态方程和测量方程
事先无法获得,特别是无刷直流伺服系统的过程噪 分别为
声,常伴有执行机构的噪声,有时甚至是时变且具有 x( k) = Φk,k -1 x( k - 1) +
很强的不确定性,通常只能通过经验进行估计,但错 B k,k -1 u( k - 1) + w( k - 1) ( 1)
[1,
2]
误的参数估计又常常会导致滤波的发散 。
z( k) = H( k) x( k) + v( k) ( 2)
为了克服这些缺点,一些自适应卡尔曼滤波器
式中 x 是系统的 L 维状态向量,Φk,k -1 是系统的 L × L
( Adaptive Kalman Filter,AKF) 发展了起来,如基于
[3] [4]
阶状态转移矩阵,u 是系统的 r 维控 制 输 入 向 量,
鲁棒的 AKF 、基于神经网络的 AKF 和基于模糊
[5]
B k,k -1 是 L × r 阶控制增益矩阵,w 是 L 维系统过程噪
逻辑的 AKF 等。 在此基础上,本文提出了一种新
声序列,z 是系统的 m 维观测向量,H( k) 是 m × L 阶
的思路,将采用平方根滤波的思想,对原理简单且实
观测矩阵,v 是 m 维观测噪声序列。
时性好的 Sage-Husa 自适应滤波算法进行改进,提 -
{
H( k) P - ( k) H( k) T + R( k) x^ - ( k) = Φk,k -1 x^ ( k - 1) + B k,k -1 u( k - 1)
x^ ( k) = x^ - ( k) + K( k) ( z( k) - h( x^ - ( k) ) ) ^ k - 1)
P - ( k) = Φk,k -1 P( k - 1) ΦTk,k -1 + Q(
P( k) = ( I - K( k) H( k) ) P - ( k)
( 8)
( 6) b) 测量更新
式中 估计测量噪声统计特性
{
f H( k) = h z珓= z( k) - H( k) x^ - ( k)
Φk,k -1 = x = x^ ( k -1)
x x x = x^ - ( k) ^ k) = ( 1 - d( k) ) R(
^ k - 1) +
u = u( k -1) R(
EKF 算法围绕滤波值 x^ ( k) 将非线性函数 f( x) d( k) ( z珓
( k) z珓
( k) T
- H( k) P - ( k) H( k) T )
和 x) 展成泰勒级数并略去二阶及其以上高阶项
h( ( 9)
来进行线性化,从而得到非线性系统的线性化模型 , 估算校正后的状态值并求解后验状态方差
因此它是一种次优滤波,并且只能在滤波误差 x( k) - T - T
K( k) = P ( k) H( k) ( H( k) P ( k) H( k) +
-
- x^ ( k) 及一步预测误差 x( k) - x^ ( k) 较小时才能 ^ k) ) -1
R(
适用。 -
x^ ( k) = x^ ( k) + K( k) z珓
P( k) = ( I - K( k) H( k) ) P - ( k)
2 基 于 改 进 Sage-Husa 的 LASRKF ( 10)
算法 由上式可知,Sage-Husa 自适应算法在利用测量
数据进行递推滤波的同时,实时估计和修正系统过
KF 和 EKF 都假定系统的噪声统计特性是已知 程噪声和测量噪声的统计特性,从而达到自适应滤
的,而这往往与实际不符,很多系统的过程噪声方差 波的目的。该方法原理简单,实时性好,因此在许多
矩阵 Q 或观测噪声方差矩阵 R 事先是不知道的,有 领域得到推广应用。
时这些参数甚至是时变的。若 Q 和 R 的取值小于实 2. 2 LASRKF 算法
际噪声分布,就会造成真值的不确定范围过小 ,导致 针对伺 服 系 统 的 非 线 性 特 征,本 节 结 合 文 献
有偏估计,并可能引起滤波发散; 相反,若 Q 和 R 的 [2]平方根滤波的思想,对传统的 Sage-Husa 自适应
取值大于实际噪声分布,则状态估计误差就会增大, 滤波算法进行了改进,提出了 LASRKF 算法。
在统计意义上也可能导致滤波发散 。因此,构建自适 针对( 1) 式和( 2) 式描述的随机线性离散系统,
应卡尔曼滤波器,在线调节 Q 和 R ,对提高滤波的 LASRKF 的具体流程如下:
精确度和稳定性具有重要意义。 1) 初始化,k = 0
第1 期 周 勇等: 基于 Sage-Husa 的线性自适应平方根卡尔曼滤波算法 · 91·
x^ ( 0) = E[x( 0) ] R = ST ,
子 S 的转置,即 珟 珟RT 珟
R = AA T 。qr{ A} 表示矩阵
S( 0) = chol{ E[( x( 0) - x^ ( 0) ) ( x( 0) - A 的 QR 分解,返回 珟R。若 S 为下三角矩阵,P = SS T ,
x^ ( 0) ) T ]} 且 P 为非负定矩阵,则称 S 是 P 的 cholesky 因子,记
^ T T
槡Q( 0 ) = S( 0) 作 S = chol( P) 。同 时 称 P new = SS ± 槡ruu 的
R( ^ 0 ) = chol{ E[( z( 0) - z^ ( 0) ) ( z( 0) - cholesky 因 子 为 cholesky 一 阶 更 新, 记 作
槡
z^ ( 0) ) T ]} cholupdate{ S,u,± r} ,若 u 为矩阵,则对其各列依
( 11) 次递推进行 cholesky 一阶更新。B = diag( A) 的定
2,…,进行迭代:
2) 对于 k = 1, 义与 Matlab 中相同,即若 A 为矩阵,则 B 是由 A 对角
a) 时间更新 线上的元素组成的列向量; 若 A 为向量,则 B 是由 A
{
-
x^ ( k) = Φk,k -1 x^ ( k - 1) + B k,k -1 u( k - 1) 的元素组成的对角矩阵。
LASRKF 算法与标准的 KF 和 EKF 算法相比,
S - ( k) = qr { [ Φk,k -1 S( k - 1) 槡Q(
^ k - 1) ] }
直接对系统状态方差阵的平方根进行推算 ,确保了
( 12)
系统方差阵的对称性和半正定性,克服了标准 KF
b) 测量更新
易随着计算舍入误差积累导致系统状态方差阵失去
计算测量残差
非负定性,造成滤波发散的缺点。
( k) = z( k) - H( k) x^ - ( k)
z珓 ( 13)
估计测量噪声统计特性
3 仿真验证
槡R = chol{ 槡1 - d( k) 槡R( ^ k - 1) ,
**
( k) | ,d( k) }
| z珓
为了验证本章所提出的新型自适应平方根滤波
*
槡R = chol{ 槡R ,
**
算法的有效性,以直线运动模型为例,在 Matlab 中
H( k) S - ( k) ,- d( k) }
进行仿真验证。
R( T
假设某物体直线运动的模型可表示为
槡^ k) = diag{ 槡 diag( 槡R * 槡R * ) }
2
( 14) s( k) 1 T T /2
x( k) = v( k) = 1 T x( k - 1) +
计算滤波增益 a( k) 1
P xz ( k) = S - ( k) S - ( k) T H( k) T
( 15)
S z ( k) = qr { [ H( k) S ( k) 槡R(
- ^ k) ] } ( 16) 0 0
0 u( k - 1) + 0
K( k) = P xz ( k) ( S z ( k) S z ( k) T ) -1 ( 17) 1 w ( k - 1)
估算校正后的状态值 α
z( k) = s( k) + v ( k) = [ 1 0 0 ] x( k) + v ( k)
x^ ( k) = x^ - ( k) + K( k) z珓
( k) ( 18) α α
求解后验状态方差平方根 ( 21)
{
2 2
U = K( k) S z ( k) 式中 w α ( k) ~ N( 0,σ ) ,v α ( k) ~ N( 0,σ ) 。状 态
q r
( 19)
S( k) = chol{ S - ( k) ,U,- 1 } x( k) 中 3 个变量的物理意义分别为: s( k) 表示 k 时
更新估测过程噪声统计特性 刻物体的直线位移,v( k) 表示 k 时刻物体的速度,即
s( k) 的导数,a( k) 表示 k 时 刻 物 体 的 加 速 度,即
槡Q ^ k - 1) ,
**
= chol{ 槡Q(
-
v( k) 的导数。
| x^ ( k) - x^ ( k) | ,d( k) }
在本例中,如下选取各参数的值
*
槡Q = chol{ 槡Q ,U,- d( k) }
**
T = 1
Q(
( 100 ( k - 1 ) ) - 0. 003
T
2π
槡^ k) = diag{ 槡 diag( 槡Q * 槡Q * ) } u( k - 1) = 0. 01sin
( 20)
-3
式中若 A 为 L × N 阶矩阵,且 N ≥ L,则 A = QR,Q
T σ q = 10
σ r = 10,x( 0) = [0 0 0]T
为 N × N 阶正交矩阵,R 为 N × L 阶上三角矩阵。R 的
上三角方阵 珟 R( L × L 阶) 为矩阵 P = AA T cholesky 因 假定已知 σ r = 10,σ q 未知,取初始值 σ^ q ( 0) =
· 92· 西 北 工 业 大 学 学 报 第 31 卷
4 结 论
参考文献:
[1] Qi Song,Han Jianda. An Adaptive UKF Algorithm for the State and Parameter Estimations of a Mobile Robot. Acta Automatica
Sinica,2008,34( 1) : 72-79
[2] Merwe Rvd,Wan E A. The Square-Root Unscented Kalman Filter for State and Parameter Estimation. IEEE International Con-
ference on Acoustics,Speech,and Signal Processing,2001,6: 3461-3464
[3] Rotstein H. H2 / H ∞ Filtering Theory and an Aerospace Application. International Journal of Robust and Nonlinear Control,
1996,6( 4) : 347-366
[4] Samantaray S R,Dash P K,Upadhyay S K. Adaptive Kalman Filter and Neural Network Based High Impedance Fault Detection
in Power Distribution Networks. International Journal of Electrical Power and Energy Systems,2009,31( 4) : 167-172
[5] Jwo D J,Wang S H. Adaptive Fuzzy Strong Tracking Extended Kalman Filtering for GPS Navigation. IEEE Sensors Journal,
2007,7( 5) : 778-789
[6] 邓自立,郭一新. 油田产油量、产水量动态预报. 自动化学报,1983,9( 2) : 121-126
Deng Zili,Guo Yixin. Dynamic Prediction of The Oil and Water Outputs in Oil Field. Acta Automatica Sinica,1983,9( 2) :
第1 期 周 勇等: 基于 Sage-Husa 的线性自适应平方根卡尔曼滤波算法 · 93·
121-126 ( in Chinese)
[7] 张常云. 自适应滤波方法研究. 航空学报,1998,19( 7) : 96-99
Zhang Changyun. Approach to Adaptive Filtering Algorithm. Acta Aeronautica et Astronautica Sinica,1998,19( 7) : 96-99 ( in
Chinese)
[8] Duan Z,Han C,Dang H. An Adaptive Kalman Filter with Dynamic Rescaling of Process Noise. Proceedings of the Sixth Inter-
national Conference of Information Fusion,2003,2: 1310-1315
[9] Shi Y,Han C,Liang Y. Adaptive UKF for Target Tracking with Unknown Process Noise Statistics. 2th International Conference
on Information Fusion,2009,1815-1820
Abstract: Aiming at the flaws of the standard Kalman Filter( KF) and Extended Kalman Filter ( EKF) ,and based
on the square-root filtering algorithm,we modify traditional Sage-Husa adaptive filter and present a novel algorithm
of Linear Adaptive Square-Root Kalman Filtering( LASRKF) in this paper. With this new filter,the square root of
system state covariance matrix is calculated recursively and the estimation of the square root of the system noise co-
variance matrix is obtained straightforwardly. Then the positive semi-definiteness of system state and noise covari-
ance matrix are guaranteed; the stability and the adaptability of filter are also enhanced. Compared with the tradi-
tional Sage-Husa adaptive filtering algorithm,LASRKF algorithm improves the anti-divergence capability. Simula-
tion results show preliminarily that the stability,accuracy and adaptability of the filter are improved greatly.