广告

【博客大赛】卡尔曼滤波学习笔记(五)状态转移矩阵

2018-6-12 21:11 534 1 1 分类: 软件与OS 文集: 卡尔曼滤波
状态转移矩阵(STMs)是线性微分方程的齐次部分的解。
线性微分方程是指:

它的齐次部分指:

解齐次部分要比解整个方程容易,齐次部分的解可以用来解非齐次部分。
Φ(t)被称为齐次方程的基本解,如果它满足下面的条件:
其中,I是nxn的单位矩阵。

对于任何可能的x(0)来说,都有如下表达式成立:
所以,如果我们想知道从某个0时刻开始的x(t),只需要知道Φ(t)即可:x(t)=Φ(t)x(0)

如果是离散线性系统,则有:
对于离散线性系统来说,Φ是它的状态转移矩阵(STM),C是输入耦合矩阵。


为什么Φ被称为状态转移矩阵?因为已知了x(0)和Φ(t),我们就能知道x(t)。
Φ将0时刻的状态,转移到了t时刻。
假如不是从0时刻开始,而是从τ时刻转移到t时刻?我们有如下表达式成立:

Φ有下面这些特征:
这些特征不难想象,使用实际的物理现象也很容易印证。


例:如何求解弹簧阻尼振荡器的状态转移矩阵Φ?
解:对于一个弹簧阻尼振荡器来说,我们已有它的F矩阵表达式:
F表达式由牛顿力学导出,x表示位移,x的导数表示速度。
对于一个简单的线性动力系统,获取F矩阵非常容易,如果不会的话,让牛顿的苹果砸一砸先^_^

然后,求解λI-F的行列式:
乃们还记得行列式是怎么求的么?
对于2x2和3x3矩阵分别有:
所以,对于这里的λI-F有:
此二次多项式的根:

接下来,我们使用δ来表示位移,则x矩阵可以表示为:
δ可以写成通用形式:

对于一个欠阻尼系统,有下面的表达式成立:

阻尼为0的振荡器,会永远振荡下去。
过阻尼的振荡器,会因为阻力过大而回不到平衡位置。
欠阻尼的振荡器,会因为阻力很小而越过平衡位置,但是振动幅度越来越小。

欠阻尼系统的δ是非实数,所以又可以写成:
这里的a和b是实数。
再获取x矩阵:

我们可以使用初始化的值求解a和b:


最后得出来状态转移矩阵Φ:


所以,求解弹簧阻尼振荡器的状态转移矩阵的基本步骤是:
先通过牛顿力学方程建立F矩阵表达式
然后求解λI-F的特征值,以及特征值的二次项平方根;
接着使用特征值表示x矩阵,通过初始化条件求解参数a和b;
最后代入a和b,求得状态转移矩阵。

广告

文章评论 0条评论)

登录后参与讨论
相关推荐阅读
DiracFatCat 2018-09-05 12:14
【博客大赛】卡尔曼滤波学习笔记(11)从位置估计速度
卡尔曼滤波器,不仅仅是一个低通滤波器,否则也不会持续发展50年。 示例:桑先生需要测试高速列车的性能。测试的目的是判断列车在直线上能否保持80m/s的速度。速度和位置每0.1秒测量一次,...
DiracFatCat 2018-08-31 19:32
【博客大赛】卡尔曼滤波学习笔记(10)一个简单的示例
《Kalman Filtering: Theory and Practice Using MATLAB》第三章,看不懂,暂时略过。《Kalman Filtering: Theory and Pract...
DiracFatCat 2018-07-19 15:09
对sed命令的练习
sed是流编辑器。它每次处理一个输入,因此很有效率。官方手册:https://www.gnu.org/software/sed/manual/sed.html学习Linux命令,当然要阅读官方手册,所...
DiracFatCat 2018-06-19 15:10
【博客大赛】卡尔曼滤波学习笔记(八)可观测性和可控制性 ...
可观测性是指,在给定模型的情况下,动力学系统的状态是否由它的输入输出唯一确定。可观测性是系统模型的特征。如果传感器矩阵H是可逆的,则本系统可观测,因为有:如果传感器矩阵H某些时候是不可逆的,则本系统仍...
DiracFatCat 2018-06-19 10:56
【博客大赛】卡尔曼滤波学习笔记(七)Z变换
如果我们仅仅对离散线性系统感兴趣,那么就使用下面这个表达式:如果u是常量,那么可以写成:为了简化表达式,我们可以将上面写成:离散线性时不变系统的Φ求解,可以使用Z变换。(* 由于本人已经忘记了Z变换的...
DiracFatCat 2018-06-19 10:54
【博客大赛】卡尔曼滤波学习笔记(六)拉普拉斯变换
对于线性时变/时不变系统,求解Φ(t)有多种方式,拉普拉斯变换是其中一种。(* 由于本人已经忘记了拉普拉斯变换的内容,因此本节待续。)...
我要评论
0
1
广告