卡尔曼滤波之公式推导
首先,大家都知道很熟悉的五个基本公式,但是公式背后的原理,是怎么得到的这五个公式,这个五个公式代表的具体含义是什么,本文对这部分内容进行说明。
- 卡尔曼滤波是针对两种符合高斯分布的数据进行处理
高斯分布有两个代表参数:均值和方差(如果未知数x为多变量的向量,则变成协方差矩阵)。卡尔曼滤波的核心就是利用已知的两组数据获得更加接近真实值的最优估计,卡尔曼滤波其实是一个最优估计即预测的过程。这里多说一句,卡尔曼平滑是利用已知的所有离线数据进行平滑作用,而卡尔曼滤波是仅利用之前时刻的数据进行实时计算。
卡尔曼平滑和滤波
经过上面的梳理,其实问题很简单,就是已知两个高斯分布,计算新的高斯分布,完成均值和方差的计算即可。
- 经典概率学和贝叶斯
利用两种思想进行新的高斯分布的计算,异曲同工。
经典概率学:P(A)+ P(B)=1
那么 X = k*X1+(1-K)*X2,因为X1,X2均服从高斯分布,根据高斯分布的特性可以得到X所服从的高斯分布的均值和方差;下面就是要求一个最优的K值,使得得到的X最稳定,即方差最小;将方差看作是关于K的函数,求导=0,解得K;然后将K代回,得到X所服从的高斯分布的均值和方差;
贝叶斯:就是两个高斯分布相乘的性质,得到X高斯分布的均值和方差。
- 在转换为卡尔曼滤波过程中的注意点
(1) 卡尔曼滤波公式中计算K,然后进行均值和方差更新;这是一种变形,为了方便理解和计算;
(2) 2.中的前提是两个变量相同,但在卡尔曼滤波过程中两个变量肯定不同,所以在进行计算前要进行两个变量的状态变换。在线性卡尔曼滤波中,变换矩阵是可以根据变量关系直接得到的;在扩展卡尔曼滤波中,两个状态之间的变化不能用简单的矩阵运算表示,因此就需要计算雅各比矩阵,即状态变换矩阵,用于协方差的变换。EKF和KF的区别也就是在这里。至于为什么用雅各比矩阵代替作为状态变换矩阵,还没有搞清楚。
下文很好的解释了卡尔曼滤波
以上,本文只是从理论层面对卡尔曼滤波进行了解释,帮助理解。在实际使用过程中,需要根据自己的模型灵活运用。在实际使用过程中,有两个特别需要注意的地方:预测过程和测量过程的噪声协方差如何确定:预测使用数据和测量数据获得过程中的测量工具的协方差。