卡尔曼滤波器的推导

参考资源

【卡尔曼滤波器】1_递归算法_Recursive Processing_哔哩哔哩_bilibili

【卡尔曼滤波器】2_数学基础_数据融合_协方差矩阵_状态空间方程_观测器问题_哔哩哔哩_bilibili

【卡尔曼滤波器】3_卡尔曼增益超详细数学推导 ~全网最完整_哔哩哔哩_bilibili

【卡尔曼滤波器】4_误差协方差矩阵数学推导_卡尔曼滤波器的五个公式_哔哩哔哩_bilibili

【卡尔曼滤波器】5_直观理解与二维实例【包含完整的EXCEL代码】_哔哩哔哩_bilibili

说明

我是跟着DR_CAN老师几篇视频的讲解,自己推导了一遍,加深理解,也方便查阅。老师讲得很好。

Kalman filter is an optimal recursive data processing algorithm.

卡尔曼滤波器是一个最优的、递归的数据处理算法,可以对输入数据进行时间递归处理。它是一个线性滤波器。

数据预测具有不确定性,数据测量也有不确定性,卡尔曼滤波是根据不那么准确的预测模型、和不那么准确的观测,来拟合出一个最优值。

递归算法

假设用一把尺子对一个物体进行测量,测了k次,测量值分别是z_{1},z_{2},...,z_{k}现在求估计值。

测量了k次的估计值为:

卡尔曼滤波器的推导_第1张图片

卡尔曼滤波器的推导_第2张图片

上式表达的意思是:

当前的估计值 = 上次的估计值 + 系数 *(当前的测量值 – 上次的估计值)

在卡尔曼滤波器中,K_{K} 是卡尔曼增益(Kalman Gain)。

定义估计误差和测量误差:

估计误差e_{EST}:代表估计值和真实值的差距

测量误差e_{MEA}:代表测量值和真实值的差距

卡尔曼滤波器的推导_第3张图片

卡尔曼滤波器的推导_第4张图片

卡尔曼滤波器的推导_第5张图片

卡尔曼滤波器的推导_第6张图片

手工计算前面几次:

卡尔曼滤波器的推导_第7张图片

卡尔曼滤波器的推导_第8张图片

卡尔曼滤波器的推导_第9张图片

卡尔曼滤波器的推导_第10张图片

用excel计算:

卡尔曼滤波器的推导_第11张图片

根据excel计算结果画的图:

卡尔曼滤波器的推导_第12张图片

数学基础数据融合、协方差矩阵状态空间方程

数据融合

例如用两个称称一个物体,两个称都不准。

卡尔曼滤波器的推导_第13张图片

卡尔曼滤波器的推导_第14张图片

卡尔曼滤波器的推导_第15张图片

卡尔曼滤波器的推导_第16张图片

卡尔曼滤波器的推导_第17张图片

卡尔曼滤波器的推导_第18张图片

卡尔曼滤波器的推导_第19张图片

卡尔曼滤波器的推导_第20张图片

卡尔曼滤波器的推导_第21张图片

协方差矩阵

协方差矩阵,将方差、协方差在一个矩阵中表现出来,体现了变量间的联动关系。

例子:

球员

身高x厘米

体重y(公斤)

年龄z

哈兰德

194

87

23

孙兴憨

183

78

31

萨拉赫

175

71

31

平均

184

78.7

28.3

协方差:

卡尔曼滤波器的推导_第22张图片

卡尔曼滤波器的推导_第23张图片

卡尔曼滤波器的推导_第24张图片

协方差矩阵:

卡尔曼滤波器的推导_第25张图片

定义矩阵:

卡尔曼滤波器的推导_第26张图片

则,协方差矩阵:

卡尔曼滤波器的推导_第27张图片

更多球员的数据:

球员

身高x厘米

体重y(公斤)

年龄z

哈兰德

194

87

23

孙兴憨

183

78

31

萨拉赫

175

71

31

因莫比莱

184

78

33

伊瓜因

184

72

36

莫拉塔 

189

85

31

贝林厄姆

186

81

20

莱万多夫斯基

185

81

34

求出的协方差矩阵是:

身高

体重

年龄

身高

25.5

23.5

-11.25

体重

23.5

27.86

-14.48

年龄

-11.25

-14.48

26.61

状态空间表达

卡尔曼滤波器的推导_第28张图片

卡尔曼滤波器的推导_第29张图片

卡尔曼滤波器的推导_第30张图片

卡尔曼滤波器的推导_第31张图片

卡尔曼滤波器的推导_第32张图片

卡尔曼滤波器的推导_第33张图片

将上面四个方程,用矩阵形式表示出来,作为状态空间方程:

卡尔曼滤波器的推导_第34张图片

卡尔曼滤波器的推导_第35张图片

卡尔曼滤波器的推导_第36张图片

卡尔曼滤波器的推导_第37张图片

卡尔曼增益的数学推导

卡尔曼滤波器的推导_第38张图片

假设噪声符合正态分布:

卡尔曼滤波器的推导_第39张图片

卡尔曼滤波器的推导_第40张图片

其中上式中E表示期望。

下面证明:

卡尔曼滤波器的推导_第41张图片

卡尔曼滤波器的推导_第42张图片

卡尔曼滤波器的推导_第43张图片

如果X的期望为0,即E(X)=0,那么

卡尔曼滤波器的推导_第44张图片

因为假设噪声符合期望为0的高斯分布,所以:

卡尔曼滤波器的推导_第45张图片

卡尔曼滤波器的推导_第46张图片

卡尔曼滤波器的推导_第47张图片

卡尔曼滤波器的推导_第48张图片

卡尔曼滤波器的推导_第49张图片

卡尔曼滤波器的推导_第50张图片

卡尔曼滤波器的推导_第51张图片

卡尔曼滤波器的推导_第52张图片

卡尔曼滤波器的推导_第53张图片

卡尔曼滤波器的推导_第54张图片

定义后验估计误差e_{k}

卡尔曼滤波器的推导_第55张图片

卡尔曼滤波器的推导_第56张图片

卡尔曼滤波器的推导_第57张图片

下面计算协方差矩阵P:

卡尔曼滤波器的推导_第58张图片

卡尔曼滤波器的推导_第59张图片

进一步提取:

卡尔曼滤波器的推导_第60张图片

定义先验估计误差e_{k}^{-}

可得:

卡尔曼滤波器的推导_第61张图片

卡尔曼滤波器的推导_第62张图片

卡尔曼滤波器的推导_第63张图片

卡尔曼滤波器的推导_第64张图片

卡尔曼滤波器的推导_第65张图片

卡尔曼滤波器的推导_第66张图片

卡尔曼滤波器的推导_第67张图片

卡尔曼滤波器的推导_第68张图片

卡尔曼滤波器的推导_第69张图片

卡尔曼滤波器的推导_第70张图片

得到后验估计误差的协方差矩阵:

卡尔曼滤波器的推导_第71张图片

目标是使后验估计误差协方差矩阵P_{k}的迹(trace)最小。

P_{k}的迹:

卡尔曼滤波器的推导_第72张图片

卡尔曼滤波器的推导_第73张图片

卡尔曼滤波器的推导_第74张图片

因为一个矩阵和它的转置矩阵的迹相同,所以:

卡尔曼滤波器的推导_第75张图片

卡尔曼滤波器的推导_第76张图片

卡尔曼滤波器的推导_第77张图片

卡尔曼滤波器的推导_第78张图片

卡尔曼滤波器的推导_第79张图片

卡尔曼滤波器的推导_第80张图片

卡尔曼滤波器的推导_第81张图片

卡尔曼滤波器的推导_第82张图片

卡尔曼滤波器的推导_第83张图片

卡尔曼滤波器的推导_第84张图片

卡尔曼滤波器的推导_第85张图片

卡尔曼滤波器的推导_第86张图片

卡尔曼滤波器的推导_第87张图片

卡尔曼滤波器的推导_第88张图片

上式就是卡尔曼增益的公式,是卡尔曼滤波中的一个核心公式。

其中R是测量误差的协方差矩阵。

当R很大的时候,即测量误差很大的时候,K_{K}\rightarrow 0

由上面的公式:

卡尔曼滤波器的推导_第89张图片

可知,此时的后验估计值等于先验估计:

卡尔曼滤波器的推导_第90张图片

当R很小,即测量误差很小的时候:

卡尔曼滤波器的推导_第91张图片

此时的估计值等于测量值:

卡尔曼滤波器的推导_第92张图片

误差协方差矩阵

卡尔曼滤波器的推导_第93张图片

卡尔曼滤波器的推导_第94张图片

卡尔曼滤波器的推导_第95张图片

卡尔曼滤波器的推导_第96张图片

卡尔曼滤波器的推导_第97张图片

卡尔曼滤波器的推导_第98张图片

卡尔曼滤波器的推导_第99张图片

卡尔曼滤波器的推导_第100张图片

卡尔曼滤波器的推导_第101张图片

卡尔曼滤波器的推导_第102张图片

卡尔曼滤波器的推导_第103张图片

卡尔曼滤波器的推导_第104张图片

卡尔曼滤波器的推导_第105张图片

卡尔曼滤波器的5个公式:

卡尔曼滤波器的推导_第106张图片

卡尔曼滤波器的推导_第107张图片

卡尔曼滤波器的推导_第108张图片

在卡尔曼增益公式推导过程中,我们已经得出:

卡尔曼滤波器的推导_第109张图片

卡尔曼滤波器的推导_第110张图片

通过一个二维实例直观理解卡尔曼滤波器

 

考虑一个人走路,假设匀速行驶。分别设定两个状态变量:

x_{1}:表示位置

x_{2}:表示速度

卡尔曼滤波器的推导_第111张图片

卡尔曼滤波器的推导_第112张图片

此时,速度和位置状态方程变为:

卡尔曼滤波器的推导_第113张图片

卡尔曼滤波器的推导_第114张图片

因为加上了不确定性,所以就无法直接通过上面两个式子求出k时刻的位置、速度。但是可以估计,根据噪声的误差来估计。

卡尔曼滤波器的推导_第115张图片

卡尔曼滤波器的推导_第116张图片

卡尔曼滤波器的推导_第117张图片

卡尔曼滤波器的推导_第118张图片

卡尔曼滤波器分两个步骤:预测和校正:

卡尔曼滤波器的推导_第119张图片

用excel计算:

卡尔曼滤波器的推导_第120张图片

卡尔曼滤波器的推导_第121张图片

卡尔曼滤波器的推导_第122张图片

为了简化起见,设Q矩阵、R矩阵的协方差项为0,即各误差项之间是相互独立的。所以Q矩阵和R矩阵只有对角线上的值不等于0。矩阵的值自己可以修改

卡尔曼滤波器的推导_第123张图片

卡尔曼滤波器的推导_第124张图片

卡尔曼滤波器的推导_第125张图片

你可能感兴趣的:(算法)