.102 北京科技大学学报 第30卷 函数,将使指标函数获得最小值的那个滤波器的输 PA(k+1)= 出切换为MMAKF的滤波输出.仿真实验表明此 [Im,一KA(k十1)H]PA(k+1|k),Hk≥0 种MMAKF可以极大地改善AKF的瞬态响应,并 (12) 能获得和常规AKF一样的收敛性质, XA(0)=EX(0),PA(0)=varX(0) (13) 1模型描述 P,(0-1)△0 (14) 考虑如下离散时间系统: T=[(H)'(H)](H)', X(k+1)=Φx(k)+W(k) Hk≥0 T2△T1H,R△T1Ri (15) y(k+1)=Hx(k+1)+V(k+1)Hk≥0 其中,下标A表示自适应滤波器,P,(k十1|k)为新 (1) 息序列yA(k十1k)的方差3] 式中,X∈R"是系统的状态向量,y∈R",是系统的 这里假设矩阵(H)(HD)可逆.自适应求解 观测向量,W∈Rm是系统的动态噪声,V∈Rm·是 的过程中,可以看出动态噪声W的协方差矩阵Q 观测噪声向量,Φ∈Rm,×m,是系统的状态转移矩 是被逐渐辨识出来的,因此如果辨识的初值选取不 阵,『∈RmXm是干扰输入矩阵,H∈Rm,Xm是观 恰当,就会造成过渡过程的瞬态响应很差,采用多 测矩阵 模型方法将是解决此类问题的一个很好的方法 关于系统的随机性:动态噪声{W(k),k≥O}和 2.2多模型自适应卡尔曼滤波器 观测噪声V(k十1),k≥0是不相关的零均值白噪 基于不同的动态噪声协方差矩阵,设计多个固 声,初始状态是mx维高斯随机向量,且 定卡尔曼滤波器,即每一个卡尔曼滤波器的动态噪 EW(k)W'(j)= 声的协方差矩阵已知,但各不相同,考虑系统(1)的 08(k,j),00,Hk,j≥0 (2) 动态噪声的协方差矩阵的变化范围2∈Rm.xm已 EV(k+1)V'(G+1)= 知,即: R(k,j),R0,Hk,j≥0 (3) Q∈2=QlQ>0的所有可能取值1. EW(k)V'(G+1)=0,varx(0)=P(0)(4) 针对2,采用n个Q可能取值的离散的协方差 EX(0)W'(j)=0, Ex(0)V'(k+1)=0,Hk≥0 矩阵Q1,Q2,,Qm}∈2,建立n个卡尔曼滤波 (5) 器, 其中,Q和R皆为正定矩阵,P(O)为系统状态在0 X:(k+1)=X:(k十1|k)+ 时刻的协方差矩阵。 K:(k+1)[y(k+1)一:(k+1k)](16) 2多模型自适应卡尔曼滤波器 X:(k+1k)=r:(k) (17) 2.1常规自适应卡尔曼滤波器 :(k+1k)=H(k+1)X:(k+1k)(18) 对于离散时间系统(1),系统的动态噪声W的 K:(k+1)=P:(k+1k)H(k+1)· 协方差矩阵Q很难精确的获得,因此常常采用如下 [Hk+1)P:(k+1)k)H(k+1)+R]-1 的自适应卡尔曼滤波器进行求解 (19) XA(k十1)=ΦKA(k)十Ka(k十1)yA(k十1k) P:(k十1|k)=ΦP:(k)Φ'+T0 (20) (6) P:(k+1)= yA(+1)=y(+1)-H(k) (7) [1m一K:(k+1)H(k+1)]P:(k+1|k)(21) KA(k十1)= X:(0)=EX(0)=X(0),P:(0)=varX(0), PA(k+1)HHP(k+1)H+R](8) Hk≥0,i=1,2,…,n (22) PA(k+1k)=ΦPa(k)Φ'+TQ(k)T'(9) 其中,下标i取不同值代表基于不同动态噪声协方 Q(k)=TP,(k+1lk)Ti-R-T2PA(k)2 差矩阵的卡尔曼滤波器. (10) 同时建立一个基于输出误差的指标切换函数, P,(k+1k)= 用于多个滤波器之间的切换 本P,(k-)十中(k+1k)少(k+1) 定义1固定卡尔曼滤波器指标切换函数: (11) o=Ie()2+le0)3,函数将使指标函数获得最小值的那个滤波器的输 出切换为 MMAKF 的滤波输出.仿真实验表明此 种 MMAKF 可以极大地改善 AKF 的瞬态响应并 能获得和常规 AKF 一样的收敛性质. 1 模型描述 考虑如下离散时间系统: X( k+1)=ΦX( k)+ΓW( k) ∀k≥0 y( k+1)= HX( k+1)+V( k+1) ∀k≥0 (1) 式中X∈R mx是系统的状态向量y∈R my是系统的 观测向量W∈R mw 是系统的动态噪声V∈R mv 是 观测噪声向量Φ∈R mx×mx 是系统的状态转移矩 阵Γ∈R mx×mw 是干扰输入矩阵H∈R my×mx 是观 测矩阵. 关于系统的随机性:动态噪声{W( k)k≥0}和 观测噪声{V( k+1)k≥0}是不相关的零均值白噪 声初始状态是 mx 维高斯随机向量且 E W( k) W′( j)= Qδ( kj)Q≥0∀kj≥0 (2) E V( k+1)V′( j+1)= Rδ( kj)R>0∀kj≥0 (3) E W( k)V′( j+1)=0var X(0)=P(0) (4) E X(0) W′( j)=0 E X(0)V′( k+1)=0∀k≥0 (5) 其中Q 和 R 皆为正定矩阵P(0)为系统状态在0 时刻的协方差矩阵. 2 多模型自适应卡尔曼滤波器 2∙1 常规自适应卡尔曼滤波器 对于离散时间系统(1)系统的动态噪声 W 的 协方差矩阵 Q 很难精确的获得因此常常采用如下 的自适应卡尔曼滤波器进行求解. ^XA( k+1)=Φ^XA( k)+ KA( k+1) y ~ A( k+1|k) (6) y ~ A( k+1|k)=y( k+1)— HΦ^XA( k) (7) KA( k+1)= PA( k+1|k) H′[ HP( k+1|k) H′+ R] —1 (8) PA( k+1|k)=ΦPA( k)Φ′+ΓQ( k)Γ′ (9) Q( k)=Γ1Py( k+1|k)Γ′1— R—Γ2PA( k)Γ′2 (10) Py( k+1|k)= k k+1 Py( k|k—1)+ 1 k+1 y ~ A( k+1|k) y ~ ′A( k+1|k) (11) PA( k+1)= [ Imx— KA( k+1) H] PA ( k+1|k)∀k≥0 (12) ^XA(0)=E X(0)PA(0)=var X(0) (13) Py(0|—1)≜0 (14) Γ1=[( HΓ)′( HΓ)] —1( HΓ)′ Γ2≜Γ1HΦR≜Γ1RΓ′1 (15) 其中下标 A 表示自适应滤波器Py( k+1|k)为新 息序列 y ~ A( k+1|k)的方差[3] 这里假设矩阵( HΓ)′( HΓ)可逆.自适应求解 的过程中可以看出动态噪声 W 的协方差矩阵 Q 是被逐渐辨识出来的.因此如果辨识的初值选取不 恰当就会造成过渡过程的瞬态响应很差.采用多 模型方法将是解决此类问题的一个很好的方法. 2∙2 多模型自适应卡尔曼滤波器 基于不同的动态噪声协方差矩阵设计多个固 定卡尔曼滤波器即每一个卡尔曼滤波器的动态噪 声的协方差矩阵已知但各不相同.考虑系统(1)的 动态噪声的协方差矩阵的变化范围 Ω∈R mv×mv 已 知即: Q∈Ω={Q|Q>0的所有可能取值}. 针对 Ω采用 n 个 Q 可能取值的离散的协方差 矩阵{Q1Q2…Qn}∈Ω建立 n 个卡尔曼滤波 器. ^Xi( k+1)=^Xi( k+1|k)+ Ki( k+1)[ y( k+1)—^yi( k+1|k)] (16) ^Xi( k+1|k)=Φ^Xi( k) (17) ^yi( k+1|k)= H( k+1)^Xi( k+1|k) (18) Ki( k+1)=Pi( k+1|k) H′( k+1)· [ H( k+1) Pi( k+1)|k) H′( k+1)+ R] —1 (19) Pi( k+1|k)=ΦPi( k)Φ′+ΓQiΓ′ (20) Pi( k+1)= [ Imx— Ki( k+1) H( k+1)] Pi( k+1|k) (21) ^Xi(0)=E X(0)=X(0)Pi(0)=var X(0) ∀k≥0i=12…n (22) 其中下标 i 取不同值代表基于不同动态噪声协方 差矩阵的卡尔曼滤波器. 同时建立一个基于输出误差的指标切换函数 用于多个滤波器之间的切换. 定义1 固定卡尔曼滤波器指标切换函数: Ji( t)=‖ei( t)‖2+ ∑ t—1 j=0 ‖ei( j)‖2 ·102· 北 京 科 技 大 学 学 报 第30卷