张店免费做网站,自己接单赚钱app,网站建设规划书主题,千锋教育前端学费多少卡尔曼滤波是一种利用线性系统状态方程#xff0c;通过系统输入输出观测数据#xff0c;对系统状态进行最优估计的算法。由于观测数据中包括系统中的噪声和干扰的影响#xff0c;所以最优估计也可看作是滤波过程。上面一段话来自百度百科#xff0c;其实最核心的意思就是卡…卡尔曼滤波是一种利用线性系统状态方程通过系统输入输出观测数据对系统状态进行最优估计的算法。由于观测数据中包括系统中的噪声和干扰的影响所以最优估计也可看作是滤波过程。上面一段话来自百度百科其实最核心的意思就是卡尔曼滤波可以很好地从带有噪声的数据过程中估计状态。而且卡尔曼滤波也是阿波罗登月中使用的突破性技术之一正好我国嫦娥五号采土归来正好回顾一下卡尔曼滤波的技术细节对公式推导做一个完整的整理。1、定义状态方程观测方程符号定义首先定义状态估计误差理解卡尔曼公式推导的核心是一定要理解这里的符号标记。核心是在第k时刻对k1时刻的估计所以后面都要记住在第k时刻的时候对k1时刻的任何值都只能是估计预测未来值。具体怎么估计的如下同理我们也可以得到观测估计误差基于上面的公式我们定义两个重要的误差协方差矩阵最终目的其实卡尔曼的最终目的是得到一个基于误差能够不断修正的迭代式估计表达式其具体形式应该如下这个式子非常直观就是基于误差去修正怎么最优的去修正就是我们怎么来算这个W也就是卡尔曼增益Kalman Gain。2、推导为了得到不停的基于误差修正的一种计算模式可能要能够得到一些关键的递推形式如我之前发表过关于递推最小二乘的推导。首先我们推导关于状态误差协方差矩阵这里我们得到了P(k|k) 到P(k1|k)的一个递推形式注意这里P(k|k)的标记形式是为了更方便后面的推导为什么这么说其实是为了得到这样一种能够不停向前迭代的形式。带着这个思考继续下面的推导就会明白卡尔曼的巧妙之处。我们先总结下这里得到了P的一个递推形式同理也是可以得到观测误差协方差的一个递推形式会发现其实S(k1)和S(k)没啥直接的关系这就是为什么不把S(k1)写成像P那样S(K1|K)的形式因为没有必要只有P是需要这样来写的。这里再次思考我们的目的是求一个最优的W就是卡尔曼增益具体怎么来最优这里就用到了状态估计误差就是说我们的目的是让状态误差的平方和最小这里可以使用P的迹。具体推导如下然后使用P的迹对W求导令其为0得到最优的W得到然后再把W带回P(k1|k1)的式子中到这里推导完毕得到了W的最优表达式同时也解决了我们上面提出的问题一个完整的递推链建立完毕。那么通过这一套完整的递推链给定P的一个初始估计P(0|0)就可以按照下面的链来进行状态估计到这里卡尔曼滤波的公式推导完成了这个版本是我在看过很多其他资料反复提炼之后标记最友好推导最友好的一个版本理解卡尔曼滤波一定要首先理解符号的定义特别是下标以及怎么样构建递推链。在掌握之后可以自行通过上面的推导总结出其他教程反复提到的黄金五条公式其实这些在我看来不是重点重点是理解其本质原理。3、资料其实要弄懂卡尔曼滤波还真不简单需要一些基本矩阵、统计、自控原理以及矩阵求导的知识特别是对迹求导这里推荐Matrix CookBook里面详细列举了各种常用的求导方式。