参考内容: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滤波器需要解决的问题。

  再回顾一下数据融合的例子,其实现在的情况和其很类似,现在有一个不太准确的计算结果和一个不太准确的测量结果,根据这两个结果来估计出来一个相对更准确的值,找到一个误差比他们两个都要小的结果。这也是后面要去分析的具体内容。