参考内容:B站的DR_CAN的卡尔曼滤波器视频
本节内容:
1、数据融合
2、协方差矩阵
3、状态空间方程
4、观测器
1、数据融合
假设两个秤对同一个物体进行测量,一个测量的结果为z1=30g,标准差σ1=2g,另一个测量的结果为z2=32g,σ2=4g,二者都服从正太分布。那么估计这个真实值。
若要从数学上找到一个最优的估计结果,需要用到上一篇文章卡尔曼滤波算法:KF中的卡尔曼增益K的思想。
其中K就是所说的kalman增益,K∈[0,1];可以看出当K=0时,,当K=0时,。
接下来就是求解K了,目标是求K,使得最小。
若要求在卡尔曼增益K的条件的最小值,只需要对其进行求导。即:
把方差带入方程中可以得到K=4/(4+16)=0.2;然后把K带入到得到结果为30.4(最优解)。最优的估计值为30.4,相应的方差=(1-0.2)^2*4+0.2^2*16=3.2;
2、协方差矩阵:
将方差、协方差在一个矩阵中表现出来-------变量间的联动关系。
例:下面为相应球员的身高、体重、年龄。计算他们相应的方差和协方差。
方差:
同理可以计算得到体重和年龄的方差。
相应的协方差计算
如果大于零,则两个变量的变化方向是一致的,如果是负的,则两者的变化方向是不同,同理还可求得。,。
可以得到协方差矩阵:
增加一个过度矩阵:
关于P的具体推导这里就不罗嗦了,非常简单,大家可以试一下下面就是上面15个数据的协方差矩阵。
从身高、体重、年龄的方差来看,其值还是很大的。从结果看出跟身高、年龄、体重的关系并不大。接着看身高和体重的协方差为29.75,可以看出身高和体重是非常正相关,很符合实际情况。再看年龄和身高、体重的协方差非常小。可以看出年龄和身高、体重的关系就非常小了。
3、状态空间表达
一个弹簧振荡阻尼系统,他的质量是m,施加一个力F,向右的方向是x,弹簧的系数是K,B是阻尼系数。
动态方程的表达式为:
其中、 是对应的二阶导数和一阶导数。可以把F定义为u,也就是系统的输入。
若将其化成状态空间的表达形式需要确定两个状态变量,可以令:
那么
另外:
所以可以得到:
这样就可以用两个一阶微分方程将结果表示出来了。
测量:位置z1,速度z2
将相应的结果用矩阵来表示可以得到:
这就是状态空间的表达形式;归纳出来可以得到。
这个是连续时间的表示,写成离散的形式可写成
其中下标k表示的是采样时间(sample time)。又因为可能存在一些噪声和误差。所以上式可以写成。
wk-1是过程噪声,vk-1是测量噪声。所以得到的xk和zk都存在不确定性,在这两个都不确定的情况下如何去估计一个精确的,这就是kalman滤波器需要解决的问题。
再回顾一下数据融合的例子,其实现在的情况和其很类似,现在有一个不太准确的计算结果和一个不太准确的测量结果,根据这两个结果来估计出来一个相对更准确的值,找到一个误差比他们两个都要小的结果。这也是后面要去分析的具体内容。
标签:kalman,方差,结果,矩阵,协方差,体重,------,身高 From: https://www.cnblogs.com/sbb-first-blog/p/16583418.html