卡曼滤波推导

主要参考文献:MIT Kalman filter tutorial

ps: 有错误请指出。

1. 卡曼滤波推导的前言

首先,我接下来的推导是基于离散系统的(非连续系统)。

其次,卡曼滤波成立的条件是默认当前研究的离散系统是一个马尔可夫过程,即等同基于这个假设:当前的状态只与上一时刻的状态相关。马尔可夫过程是一类随机过程,它的原始模型是马尔可夫链。马尔可夫过程是研究离散事件动态系统状态空间的重要方法,它的数学基础是随机过程。

1.1. 离散系统状态空间(State Space)

状态空间是控制系统里的一个专业名词。状态空间代表着一个系统可以用矩阵来描述,输入输出可以用向量来描述以及系统状态更新可以用线性代数来描述,这一点在下方会以公式来说明。状态空间使得单输入单输出,多输入单输出或者多输入多输出的系统都可以有一个统一的描述方法。

1.2. 系统描述

如果一个离散系统是马尔可夫过程,那么系统的可以用状态空间来表述:

x_k_+_1 = \Phi x_k + w_k                ... ... (1)

z_k = Hx_k + v_k                    ... ... (2)

这里的x_k_+_1是一个nx1的向量,描述k+1时刻的系统状态量,而x_k描述的是k时刻的,\Phi是一个nxn的矩阵,是状态传递矩阵。状态传递矩阵是要你基于对系统的了解,把x_k_+_1以及x_k每一元素之间的关系描述出来。

w_k是nx1的向量,被称作为k时刻的过程噪声。这个过程噪声是系统与生俱来的,在状态更新时需要加上去(ps:噪声和误差的区别:噪声是指自然存在的,误差或估算误差产生于人类的信息不足或者对系统的理解不足)。这里我们需要假设这个噪声是时间上平稳的,也就是噪声在任何一段时间里都可以以相同的方法描述。例如,多数情况下我们都把这个噪声描述为高斯分布,且这个高斯分布的均值和方差都不随时间而变化。同时,我们通常假设这个噪声是白噪声。至于为什么我也想问。

z_k是一个mx1的向量,是k时刻的观测量,而H矩阵是一个mxn的矩阵,是状态观测转换矩阵。这个转换矩阵是用来描述x_kz_k里每一元素之间的关系。

v_k是mx1的向量,被称作k时刻的观测噪声。同样的,我们假设观测噪声是时间上平稳的,是白噪声。还有,与过程噪声无相关性。

 

2. 卡曼滤波推导

2.1. 卡曼滤波的目标min(T[E(e_ke_k^T)]) 

卡曼滤波其实本质上是一个均方误差减少器(mean squared error minimizer)。

让我们把我们对状态量的估计设为\widehat{x}_k,那么估计的误差:e_k = x_k - \widehat{x}_k (nx1矩阵)。

那么卡曼滤波的任务就是减少估计的误差e_k, 数学上表现为:min(E(e_1_k^2)+E(e_2_k^2)+...+E(e_n_k^2)    ... ... (3)

(1) 也等于min(E(e_1_k^2+e_2_k^2+...+e_n_k^2)) = min(T[E(

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值