卡尔曼滤波的原理、理解与仿真
转载 : https://zhuanlan.zhihu.com/p/49298236 卡尔曼滤波器是一种利用线性系统状态方程,通过系统输入输出观测数据,对系统状态进行最优估计的算法。而且由于观测包含系统的噪声和干扰的影响,所以最优估计也可看做是滤波过程。 1 卡尔曼滤波的原理与理解 1.1 预测 假设有一辆小车,其在t时刻的位置为 P t P_t P t (假设其在一维直线上运动,则位置可以用数轴上的点表示),速度为 v t v_t v t 。 因此在t时刻小车的状态可用向量表示为 x t = [ p t , v t ] T x_t=\left[ p_t ,v_t\right]^T x t = [ p t , v t ] T 。 但是我们并没有捕捉到一切信息,可能存在外部因素会对系统进行控制,带来一些与系统自身状态没有相关性的改变。如汽车司机可能会操纵油门,让汽车加速。 假设由于油门的设置或控制命令,我们知道了期望的加速度为 u t u_t u t (加速度理解为外部的控制量),则可由运动学公式从t-1时刻推出其在t时刻的速度与位置如下: 进一步的可以将其写成向量形式: 即: 令 则通过变量代换可以得到状态转移公式: 其中: 矩阵 F t F_t F t 为状态转移矩阵,表示如何从上一状态来推测当前时刻的状态; B t B_t B t 为控制矩阵,表示控制量 u t u_t u t