零点档铺,实在干货!
几种常用的连续状态方程离散方法总结
——用于卡尔曼滤波方程
1. 前言
多数情况下,系统状态方程是连续的,而卡尔曼滤波方程是离散的。为了套
用离散形式的滤波方程,需要对状态方程实施离散化。离散化过程的主要原则是
保证离散化后的状态方程与原有连续的状态方程等价。本文整理和总结了几种常
用的离散方法,希望能对各位同行有所帮助。
2. 几种状态方程离散方法
2.1 线性状态方程
设系统状态方程为
式中,
为系统状态,
、
为时变矩阵,
(1)
为
系统输入,
为系统过程噪声。通常情况下,我们假设
为零均值连
续白噪声向量,自相关函数为
(2)
式中, 为对角矩阵, 为狄拉克 函数。根据线性系统理论的知识,由式(1)
我们有
(3)
式中,
为系统状态的转移矩阵。对于时变系统对应的转移矩阵,在多数
情况下难以求得解析解。此时,可尝试利用时间连续卡尔曼滤波方程,但是需要
在实时计算方面付出较大的代价。
针对时不变系统,即当
、 均为常值矩阵时,式(3)退化为如下形式:
设采样时间为 ,则在
时刻有
而在
时刻有
1
(4)
(5)
()()()()()()ttttttxAxBuw1()ntxR()nntAR()nptBR1()ptuR1()ntwR()twT1212[()()]()EttttwwWW()000()(,)()(,)[()()()]tttttttdxxBuw0(,)tt()tA()tB00()()0()()[()()]ttttttetedAAxxBuwTtkT00()()0()()[()()]kTkTtkTtkTetedAAxxBuw(1)tkT
零点档铺,实在干货!
(6)
将式(5)代入式(6),有
(7)
由于区间
的时间间隔较短,可认为在该区间内系统的输入 是常
值,于是式(7)可简记为
式中,下表“ ”表示 时刻对应的值。 的表达式为
(8)
(9)
的表达式为
令
,则式(10)可转化为
(10)
(11)
式中,假设 是可逆的。 的表达式为
(12)
由于
为零均值的白噪声,再结合式(12)可得
,
,
(13)
进而, 为零均值白噪声向量序列,其协方差矩阵为
2
0000(1)[(1)][(1)]0()()0(1)[(1)][(1)]()[()()]()[()()][()()]kTkTtkTtkTkTtTkTtkTkTkTkTetedeetededAAAAAAxxBuwxBuwBuw(1)(1)[(1)][(1)][(1)]()()+()kTkTTkTkTkTkTkTekTededAAAxxBuw[,(1)]kTkT()tu1+kkkkxxukkT2211+()2!TTeTLsAIAAIA(1)[(1)]kTkTkTedAB(1)kT22002312312!()2!3!TTeddTTTABIAABAIIAAABAIBAk(1)[(1)]()kTkTkkTedAw()tw1[]knE0T+i[]kknnE00ik
零点档铺,实在干货!
(14)
由式(14)可看出,多数情况下 的计算量较大。在硕士论文《大气层高层机动目
标末段拦截制导控制方法研究》中的第四章第二节给出了上述离散化过程对应的
一个实例,可供进一步参考。
通过上述推导和论述,我们可得如下结论:
(15)
若式(14)中的 确实难以计算,可认为
,具体可见书籍《最优状态估计
—卡尔曼, 及非线性滤波》第一版中的第八章第一节。
2.2 非线性状态方程(方程中非线性函数的雅克比矩阵易求)
设系统状态方程为
(16)
式中,
为系统状态,
为非线性函数,
为系统输入,
为系统过程噪声。
针对式(16),通常情况无法求解原系统的解析解。此时实施离散化,我们采
用如下办法。根据式(16),我们可有
(17)
假设 在区间
匀加(减)速变化,则式(17)可近似表示为
(18)
将式(16)离散为式(18)的形式,可能难以套用离散卡尔曼滤波的公式,由于离散
3
T(1)(1)[(1)]T[(1)]T(1)(1)[(1)]T[(1)]T((1)[(1)][(1)]T[]()()()()()()()()kkkkTkTkTkTkTkTkTkTkTkTskTkTkTkTkTskTkTEEededEeseddseseddsAAAAAAQwwwwW1)(1)[(1)][(1)]TT0()()kTkTTkTkTkTeedeedAAAAWWQQ11()()()()[()]()~(0,)~(0,)TTkkkkktttteet离散化AAxAxBuwxxAIBuwWQQTQWH()(,,)txfxuw1()ntxR1()nfR1()ptuR1()qtwR(+1)1(,,)kTkkkTdtxxfxuw()tx[,(1)]kTkT21(,,)2(,,)1(,,)21(,,)2kkkkkkkkkkkkkkkdddTTdtdtdtddTTdtdtxuwxuwfxfufwxxfxuwxuwffufwxfxuwfxuw
零点档铺,实在干货!
化后噪声相关项的处理比较困难。因此,针对式(16)的这种情况,可直接选用连
续形式的卡尔曼滤波。
当式(16)中的过程噪声为加性噪声时,即
对应的离散形式为
(19)
(20)
式中,
。由此, 的均值为零,协方差为
(21)
在式(20)中包含实际情况下难以获知的噪声项,鉴于噪声项的量级通常较小,于
是可略去噪声项,并近似认为 在区间
内为常值,所以式(20)可简化
为
(22)
根据式(22)可得,离散卡尔曼滤波所需的雅克比矩阵(偏微分矩阵)为
(23)
当状态方程非线性不强时,为了降低计算量,可忽略式(23)中的二阶偏导数,于
是式(23)可简化为
通过上述推导和论述,我们可得如下结论:
(24)
4
()(,)txfxuw(+1)12(,,)2(,,)(,)1(,)21(,)2kkkkkkkTkkkkTkkkkkkkkdtddTTdtdtdTTdtxuwxuwxxfxufxfuxfxuxufffuxfxufwxxu(+1)()kTkkTtdtwk(1)(1)TT(1)(1)(1)[]()()()kTkTkkkkTkTkTkTkTkTkTkTEEsddssddsdTQwwWWWu[,(1)]kTkT21(,)1(,)(,)2(,)kkkkkkkkkkkTTxufxxfxufxuxGxu221,2ˆ(,)ˆ(,)ˆ(,)12kkkkkkkkkkTTxuxuxuGffffIfxxxxx221,ˆ(,)ˆ(,)ˆ(,)12kkkkkkkkkkTTxuxuxuGffIxxx
零点档铺,实在干货!
(25)
2.3 非线性状态方程(方程中非线性函数的雅克比矩阵难求)
当非线性函数的雅克比矩阵难以计算或者无法求得时,上述第 2.2 节中的离
散化方法无法使用。考虑式(19)所示的非线性状态方程:
对应的离散形式为
(26)
(27)
由上述可知,
。对于式(27),无法再像式(27)一样利用扩展卡尔曼滤
波(EKF),只能利用无迹卡尔曼滤波(UKF)、容积卡尔曼滤波(CKF)等方法,
其中的积分项可采用四阶龙格库塔方法进行计算。
3. 结束语
本文给出了几种常用的连续状态方程的离散方法,可能并不能完全覆盖我们
在科研和工作中遇到的所有离散问题。但是,可本着原方程与离散后方程等价或
近似等价的原则,结合上述提供的几种方法的思路,具体问题具体分析,最终得
到令人满意的离散形式。
如有任何问题或疑问,可随时邮件联系(hjs_nudt@126.com),欢迎交流,
欢迎批评指正。
5
12(,)(,)()(,)1(,)(,)()~(0,)2~(0,)kkkkkkkkkkkkTtTtT离散化xuxxfxuxfxuwffxuGxuwWxW()(,)txfxuw(+1)1(,)kTkkkkTdtxxfxu~(0,)kTW