卡尔曼滤波(KF)与扩展卡尔曼滤波(EKF)的一种理解思路及相应推导(1)

2023-05-16

前言:

从上个世纪卡尔曼滤波理论被提出,卡尔曼滤波在控制论与信息论的连接上做出了卓越的贡献。为了得出准确的下一时刻状态真值,我们常常使用卡尔曼滤波、扩展卡尔曼滤波、无迹卡尔曼滤波、粒子滤波等等方法,这些方法在姿态解算、轨迹规划等方面有着很多用途。卡尔曼滤波的本质是参数化的贝叶斯模型,通过对下一时刻系统的初步状态估计(即状态的先验估计)以及测量得出的反馈相结合,最终得到改时刻较为准确的的状态估计(即状态的后验估计),其核心思想即为预测+测量反馈,而这两者是通过一个变化的权值相联系使得最后的状态后验估计无限逼近系统准确的状态真值,这个权值即为大名鼎鼎的卡尔曼增益。可以说,卡尔曼滤波并不与传统的在频域的滤波相似,而是一种在时域的状态预测器,这就省去了时域频域的变换的步骤,而这种状态预测器不仅仅在工程上有很广的应用,在金融方面例如股票的走势等等方面也可以有很多的应用。

一直以来,卡尔曼滤波相关的资料较少,很多人觉得很难,因此写下这篇博客来帮助大家更好的理解卡尔曼滤波的运作原理。

2017年2月11日  by 回忆不能已  转载请声明出处 谢谢合作

————————————————————————————————————————————————————————————————————————————————————

一、卡尔曼滤波的定义

卡尔曼滤波的定义:

种利用线性系统状态方程,通过系统输入输出观测数据,对系统状态进行最优估计的算法。由于观测数据中包括系统中的噪声和干扰的影响,所以最优估计也可看作是滤波过程。

1.1  线性系统状态方程

首先我们来看什么是线性系统状态方程,这个名词包含线性系统、状态这两个特征。

线性系统

状态空间描述(内部描述):基于系统内部结构,是对系统的一种完整的描述。

状态方程

      描述系统状态变量间或状态变量与系统输入变量间关系的一个一阶微分方程组(连续系统)或一阶差分方程组(离散系统),称为状态方程

1.2  观测数据

观测数据代表传感器采集的实际数据,可能存在着或多或少的误差,例如陀螺仪的积分误差等。

1.3  最优估计

最优估计指的是使经过KF算法解算的数据无限接近于真实值的估计,用数学表述即为后验概率估计无限接近于真实值。

二、卡尔曼滤波算法流程

卡尔曼滤波算法核心思想在于预测+测量反馈,它由两部分组成,第一部分是 线性系统状态预测方程,第二部分是 线性系统观测方程。

2.1  线性系统状态预测方程

A :表示状态转移系数矩阵,n×n

B :表示可选的控制输入的增益矩阵

Q :表示过程激励噪声的协方差矩阵

上图为线性系统状态预测方程的表达式,假设过程激励噪声满足高斯分布。

2.2  线性系统观测方程

H :表示量测系数矩阵,m×n 阶矩阵

R :表示测量噪声协方差矩阵

上图为线性系统观测方程表达式,假设测量噪声矩阵满足高斯分布

随机信号 wkvk分别表示过程激励噪声和观测噪声。Kf算法中假设它们为相互独立,正态分布的白色噪声。

预测+测量反馈进行后续的估计,那kf算法到底是如何利用预测状态与测量的反馈进行最优估计的呢?这部分我们将在后续的模型及数学推导来详细讲解

2.3  扩展卡尔曼滤波EKF流程

EKF的基本思想是将非线性系统线性化然后进行卡尔曼滤波,因此EKF是一种伪非线性的卡尔曼滤波。实际中一EKF应用广泛

但EKF存在一定的局限性:

其一是当强非线性时EKF违背局部线性假设,Taylor展开式中被忽略的高阶项带来大的误差时,EKF算法可能会使滤波发散;

另外,由于EKF在线性化处理时需要用雅克比(Jacobian)矩阵,其繁琐的计算过程导致该方法实现相对困难。所以,在满足线性系统、高斯白噪声、所有随机变量服从高斯(Gaussian)分布这3个假设条件时,EKF是最小方差准则下的次优滤波器,其性能依赖于局部非线性度。

以PIXHAWK飞控代码为例说明:

1、非线性系统线性化

EKF对非线性函数的Taylor展开式进行一阶线性化截断,忽略其余高阶项,从而将非线性问题转化为线性,可以将卡尔曼线性滤波算法应用于非线性系统中多种二阶广义卡尔曼滤波方法的提出及应用进一步提高了卡尔曼滤波对非线性系统的估计性能

2、二阶滤波方法考虑了Taylor级数展开的二次项,因此减少了由于线性化所引起的估计误差,但大大增加了运算量

3pixhawk开源项目使用的是一阶EKF滤波,因为二到三阶滤波计算量较大如果飞行器的处理速度能跟上,可以考虑2-3阶滤波。

扩展卡尔曼滤波的状态预测方程以及观测方程与一般的卡尔曼滤波略有不同:

KF与EKF的联系如下图所示:

三、卡尔曼滤波算法模型


3.1  卡尔曼滤波算法应用前提

(1)系统是可 观测
(2)系统为线性系统,能够写出下一时刻的 状态预测方程

(3)假设系统的噪声统计特性可观测

应用中大多数情况下并不知道建模噪声和观测噪声的统计特性,一般假定为零均值,方差的值通过测试或是经验丰富的开发人员设置得到,噪声一般直接简化假设为高斯白噪声

3.2  预先的一些数学知识准备

先验估计:先验状态估计是根据系统过程原理或者经验得到的估计值,实际应用中可以通过传感器数据去预测下一时刻的数据

后验估计:验状态估计是结合之前的先验状态估计值,再加权测量值得到一个理论上最接近真实值的结果

协方差:协方差用于衡量两个变量的总体误差。而方差是协方差的一种特殊情况,即当两个变量是相同的情况

均方差:它是“误差”的平方期望值

矩阵的迹:矩阵对角线上的所有元素之和称之为矩阵的迹


协方差矩阵的主对角线元素分别为两个变量的方差

最小均方差估计就是指估计参数时要使得估计出来的模型和真实值之间的误差平方期望值最小。

3.3  模型讲解

实际的状态模型如下所示:

随机信号wv分别表示过程激励噪声和观测噪声

假设它们为相互独立,正态分布的白色噪声

图片中蓝色标记的为已知的矩阵和信息,卡尔曼滤波的目的就是利用这些已知的信息估计离散时间过程的状态变量。为什么是估计呢?因为有噪声、 存在。而信息就这么多,我们要做的就是利用这手头的信息尽量准确的估计出离散过程的状态变量,从而随时掌握系统的运行状态和变化。

举个日常生活的例子:

假设你有两个传感器,测的是同一个信号。可是它们每次的读数都不太一样,怎么办?取平均。

再假设你知道其中贵的那个传感器应该准一些,便宜的那个应该差一些。那有比取平均更好的办法吗?加权平均。

怎么加权?假设两个传感器的误差都符合正态分布,假设你知道这两个正态分布的方差,用这两个方差值,(此处省略若干数学公式),你可以得到一个“最优”的权重。

接下来,重点来了:

假设你只有一个传感器,但是你还有一个数学模型。模型可以帮你算出一个值,但也不是那么准。怎么办?把模型算出来的值,和传感器测出的值,(就像两个传感器那样),取加权平均。OK,最后一点说明:你的模型其实只是一个步长的,也就是说,知道x(k),我可以求x(k+1)。问题是x(k)是多少呢?答案:x(k)就是你上一步卡尔曼滤波得到的、所谓加权平均之后的那个、对x在k时刻的最佳估计值。于是迭代也有了。

卡尔曼滤波的模型:

带卡尔曼滤波器的系统方框图,图中的上半部分是实际的离散时间过程(有噪声的存在),下面部分是卡尔曼滤波器。卡尔曼滤波器通过利用蓝色标记的可用信息对系统的状态变量进行估计,得出粉色标记的方框,而这个得以实现的关键就是红色标记出的反馈信息的利用,即设置怎样的反馈增益矩阵K使状态变量在某种意义下最准确,最接近真实系统状态。

我们认定是预测(先验)值,是估计值,为测量值的预测,在下面的推导中,请注意估计和预测两者的区别,不混为一谈。由一般的反馈思想我们得到估计值:

其中括号里面的公式称之为残差,也就是预测的和你实际测量值之间的差距。如果这项等于0,说明预测和测量出的完全吻合。

关键就是求取这个K。这时最小均方差就起到了作用。

顺便在这里回答为什么噪声必须服从高斯分布,在进行参数估计的时候,估计的一种标准叫最大似然估计,它的核心思想就是你手里的这些相互间独立的样本既然出现了,那就说明这些样本概率的乘积应该最大(概率大才出现嘛)。如果样本服从概率高斯分布,对他们的概率乘积取对数ln后,你会发现函数形式将会变成一个常数加上样本最小均方差的形式。因此,看似直观上很容易理解的最小均方差理论上来源就出于那里。


我们想得到最优的估计,那么必须知道k时刻的后验估计协方差与k时刻的先验估计协方差。

k时刻的后验估计协方差表达式为

红色方框里面表达式在前面提过,即

k时刻的先验估计协方差表达式为

我们把k时刻的后验估计协方差矩阵的迹即为T[Pk]

Pk对角线元素的和即为均方差。

x^k¯:表示k时刻先验状态估计值,这是算法根据前次迭代结果(就是上一次循环的后验估计值)做出的不可靠估计。x^k、x^k1:分别表示k时刻、k-1时刻后验状态估计值,也就是要输出的该时刻最优估计值,这个值是卡尔曼滤波的结果。 A 表示状态转移矩阵,是n×n阶方阵,它是算法对状态变量进行预测的依据,状态转移矩阵如果不符合目标模型有可能导致滤波发散,它的确定请参看第二节中的举例

 B 表示可选的控制输入u∈Rl的增益,在大多数实际情况下并没有控制增益

uk1:表示k-1时刻的控制增益,一般没有这个变量,可以设为0。

P^k¯ :表示k时刻的先验估计协方差,这个协方差矩阵只要确定了一开始的P^0,后面都可以递推出来,而且初始协方差矩阵P^0只要不是为0,它的取值对滤波效果影响很小,都能很快收敛。

 P^k P^k1 :分别表示k时刻、k-1时刻的后验估计协方差,是滤波结果之一。

Q:表示过程激励噪声的协方差,它是状态转移矩阵与实际过程之间的误差。这个矩阵是卡尔曼滤波中比较难确定的一个量,一般有两种思路:一是在某些稳定的过程可以假定它是固定的矩阵,通过寻找最优的Q值使滤波器获得更好的性能,这是调整滤波器参数的主要手段,Q一般是对角阵,且对角线上的值很小,便于快速收敛;二是在自适应卡尔曼滤波(AKF)中Q矩阵是随时间变化的。

Kk 表示卡尔曼增益,是滤波的中间结果

zk 表示测量值,是m阶向量

H表示量测矩阵,是m×n阶矩阵,它把m维测量值转换到n维与状态变量相对应

R:表示测量噪声协方差,它是一个数值,这是和仪器相关的一个特性,作为已知条件输入滤波器。需要注意的是这个值过大过小都会使滤波效果变差,且R取值越小收敛越快,所以可以通过实验手段寻找合适的R值再利用它进行真实的滤波。

最小均方差求解

均方差对未知量K求导,令导函数等于0,就能确定卡尔曼增益K的值,完成模型的最小均方差估计,从而使后验估计的误差很小,更加逼近状态的真值

最小均方差确定卡尔曼增益的表达式

H:表示量测矩阵

R:表示测量噪声协方差,和仪器相关

3.4  卡尔曼增益的分析

先验估计误差较大,我们需要更加信任测量反馈,模型自动加大卡尔曼增益来进行更准确的估计

先验估计没有任何误差,我们只需要通过预测就能够得到准确的后验估计,无需测量的反馈,模型自动将测量反馈的权值设为0

3.5模型的迭代过程


3.5.1时间更新方程

A :表示状态转移矩阵,n×n

B :表示可选的控制输入的增益矩阵

Q :表示过程激励噪声的协方差矩阵

3.5.2 状态更新方程

H :表示量测矩阵,m×n 阶矩阵

R :表示测量噪声协方差矩阵

3.5.3  迭代示意图


下篇博客会详细分析EKF的模型,对其非线性系统的建模进行讲解,欢迎大家指出博客中的错误!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

卡尔曼滤波(KF)与扩展卡尔曼滤波(EKF)的一种理解思路及相应推导(1) 的相关文章

  • Linux平台设备和驱动

    一 platform总线 一个现实的linux设备驱动通常需要挂接在一种总线上 xff0c 对于本身依附于PCI xff0c USB xff0c IIC xff0c SPI等的设备而言 xff0c 这自然不是问题 xff0c 但是在嵌入式系
  • 2019年终总结&小半年流媒体服务器开发经验总结

    2019年终总结 amp 小半年流媒体服务器开发经验总结 文章目录 2019年终总结 amp 小半年流媒体服务器开发经验总结19年开发小结流媒体服务框架设计登录服开发ffmpeg音视频合成服务开发 流媒体服务开发小结rtp处理视频的合成 a
  • 设备接入ONENET(3)STM32 + ESP8266(MQTT协议)接入云 :官方例程移植笔记(HAL+LL库)

    重要提示 xff1a 由于OneNET版本迭代 xff0c 导致鉴权方式可能变更 xff0c 若程序无法连接 xff0c 请参考官方手册或再OneNET论坛搜索相关内容 移植本意应该是指通过修改 使得运行原先在另一个平台可运行的程序 STM
  • pygame 学习笔记(4)推荐一本python入门游戏书籍《PYTHON游戏编程入门》

    简介 PYTHON游戏编程入门 xff08 More Python Programming for the Absolute Beginner xff09 是 S Harbour写的一本入门书籍 xff0c 基于pygame库 本书每一个章
  • VLC加载插件失败原因及解决

    最近做视频播放的程序 xff0c 找到了VLC开源库 在windows 43 vs2013 43 QT5 3环境下进行调试 出现了在调用libvlc new时提示不能找到插件 加载libvlc失败的问题 原因及解决方法如下 xff1a 1
  • logcat的使用

    参考链接 log信息级别 以下优先级从上往下排序 xff1a V xff1a verbose 显示全部信息 最低优先级 xff0c 对应Log v String tag String msg D xff1a debug 显示调试信息 xff
  • 物联网架构实例—解决Linux(Ubuntu)服务器最大TCP连接数限制

    1 前言 xff1a 在对物联网网关进行压测的时候 xff0c 发现在腾讯云部署网关程序 xff0c 设备接入数量只能达到4000多个长连接 xff0c 之后就再也无法接入终端了 之前在阿里云部署的时候明明可以到达2万左右 xff0c 而且
  • Prometheus从入门到跑路

    1 prometheus框架结构 2 prometheus组件介绍 2 1 Prometheus Server 这是Prometheus的服务端 xff0c 也就是核心 Prometheus本身是一个以进程方式启动 xff0c 之后以多进程
  • ucos-ii学习笔记1 创建任务&&任务调度

    span style font family none font size 12px background color rgb 255 255 255 span span 最近在学习嵌入式系统 xff0c 听说ucos ii是使用最广 xf
  • ucos ii学习笔记2 邮箱&&信息量

    上一篇说了ucos ii的大致运行原理 xff0c 这一篇主要用来说明不同任务之间的数据传递的 有人会说 xff1a 不同任务间的数据传递直接用全局变量不就好了 xff0c 我一开始也有这种疑惑 xff0c 也在简单程序中实验过没什么问题
  • ucos ii学习笔记4 软件定时器

    span span p span style font size 18px span span ucos ii从V2 83版本以后加入了软件定时器 xff0c 软件定时器的最快时钟节拍就等于ucos ii的系统时钟节拍 xff0c 由一个单
  • 时钟源关系初解

    最近发现自己对时钟的各种关系不是很清晰 xff0c 所以在这里初步的顺一下 以STM32F4为例 xff0c 大概都差不多 STM32F4有5个时钟源 xff0c 分别是HSI HSE LSI LSE PLL 从名字上看出HSI和HSE是高
  • up-board

    安装ubuntu16 04 安装board内核 http www eeboard com bbs thread 59222 1 1 html 对管脚的控制 http www eeboard com bbs thread 59257 1 1
  • 【嵌入式软件实习】找实习和电话面试记录与总结

    前言 前一段时间就是非常想找实习 xff0c 这次是接到了一家还算是比较大的公司的面试通知和实习offer 做一下简单的记录给在找实习的大家一个参考吧 主要内容为 xff1a 三连即可提高学习效率0 0 x1f9d1 x1f3fb 作者简介
  • Ubuntu更换apt镜像源

    原文 xff1a Ubuntu更换apt镜像源 在ubuntu中 xff0c 默认使用 ubuntu 的官方源http archive ubuntu com xff0c 但是这个官方源在国内下载的速度太慢 xff0c 甚至只有几十k 于是考
  • JS 闭包 详细说明(教程)

    首先 xff0c 闭包是一个高阶函数 xff0c 高阶函数除了可以接受函数作为参数外 xff0c 还可以把函数作为结果值返回 xff08 不知道高阶函数是啥 xff0c 点击链接 xff09 先通过一个例子来了解一下如何把函数作为结果值返回
  • STVP烧录程序

    STVP介绍 STVD xff1a ST Visual Develop xff0c 可视化开发工具STVP xff1a ST Visual Programmer xff0c 可视化编程工具 xff0c stvp主要打开一些固件 hex s1
  • 传感器标定系列——Kalibr工具

    文章目录 Kalibr介绍安装资源 Kalibr介绍 Kalibr is a toolbox that solves the following calibration problems 多相机标定 Multi Camera Calibra
  • TCP传输图片及多线程

    最终效果图 xff1a 注意 xff1a 图片发送大体流程同 Qt网络编程 TCP IP 一 只是在发送时这里采用 的 数据流QDataStream形式 因为使用摄像进行监控时也是对一帧一帧的图片进 行处理 xff0c 因此掌握了如何用Qt
  • GCC编译过程及基本命令总结

    一 GCC简介 GCC即GNU Compiler Collection xff0c 原本只是针对C语言的编译工具 xff0c 现在已经变成了一个工具集 xff0c 包含了C C 43 43 JAVA等语言的集合体 管理和维护 xff1a 由

随机推荐

  • 第一章 PX4-Pixhawk-程序编译过程解析

    第一章 PX4程序编译过程解析 PX4 是一款软硬件开源的项目 xff0c 目的在于学习和研究 其中也有比较好的编程习惯 xff0c 大家不妨可以学习一下国外牛人的编程习惯 这个项目是苏黎世联邦理工大学的一个实验室搞出来的 该方案是基于 N
  • 第二章 PX4-Pixhawk-RCS启动文件解析

    第二章 PX4 RCS 启动文件解析 RCS 的启动类似于 linux 的 shell 文件 xff0c 如果不知道 shell 文件是什么东西可以理解成是为程序的流程框 xff0c 它是告诉处理器应该怎么样去运行 xff0c 前一章介绍的
  • 第三章 PX4-Pixhawk-SPI底层驱动解析

    第三章 PX4 SPI 底层驱动解析 这一章节我们会对 PX4 的底层驱动进行解析 xff0c 我们这里主要解析的是 SPI 协议 xff0c 因为这个协议是所有传感器的一个协议 xff0c 至于 IIC 和串口就可以类似的读写一下 xff
  • 第四章 PX4-Pixhawk-MPU6000传感器驱动解析

    第四章MPU6000传感器驱动解析 Mpu6000 是一个 3 轴加速度和 3 轴陀螺仪传感器 xff0c 这一章节我们将对 MPU6000 这个传感器进行解析 xff0c 依照这个解析步骤同样可以对 L3GD20 xff08 3 轴陀螺仪
  • 第五章 PX4-Pixhawk-GPS解析

    第五章 PX4 GPS解析 在上一章节我们对传感器MPU6000做了一个解析 xff0c MPU6000所支持的协议是SPI 这一章节我们来解析GPS xff0c GPS使用的是串口通信 这里我们着重讲解UBLOX的解析过程 xff0c 并
  • 第六章 PX4-Pixhawk-Sensors解析

    xfeff xfeff 第六章 PX4 Sensors 解析 这一章节并不难 xff0c 也很容易理解 xff0c 但是这一章节有几个函数需要我们去理解一下 xff0c 所以这里我们这里写一章来说明一下 Sensors 是所有传感器进行数据
  • 第七章 PX4-Pixhawk-Mavlink解析

    xfeff xfeff 第七章 PX4 Mavlink 解析 首先我们是还是来说一说 mavlink 吧 Mavlink 协议是无人机的一种开源通信协议 可以理解就是按照一定的格式来发送数据 这一章节涉及到了消息的打包发送和接收解析 首先我
  • STM8S 低功耗模式

    功耗控制的概念调整 功耗控制之硬件调整 在硬件体系中可以有以下优化手段 xff1a 优化电路设计优化电源供电效率 xff08 减少用于发热的能源 xff09 调节单片机时钟频率 xff08 频率越高功耗越高 xff09 选择单片机或者外围的
  • 第八章 PX4-Pixhawk-SDlog解析

    xfeff xfeff 第八章 PX4 SDlog 解析 这一章节我们对 SD 存储卡来进行解析 SD 卡涉及到 log 日志 xff0c 在很多飞行中 log 文件非常重要的 xff0c 尤其是新手在炸机过程中有了这些数据我们基本上就能分
  • 第九章 PX4-pixhawk-姿态估计解析

    第九章 PX4 pixhawk 姿态估计解析 这一章节我们对姿态估计进行解析 xff0c 这一章节涉及到算法 xff0c 主要涉及到的还是DCM 方向余弦 算法 首先我们还从启动文件开始进行讲解 我们找到rc mc apps中 xff0c
  • 第十章 PX4-Pixhawk-姿态控制

    第十章 PX4 Pixhawk 姿态控制 这一章节我们对姿态控制进行解析 xff0c 姿态解算我们还是从启动文件开始 xff0c 找到姿态解算的启动文件rc mc app 这里面找到姿态解算的启动项为mc att control start
  • 第十一章 PX4-Pixhawk-LPE位置估计

    xfeff xfeff 位置估计的解析我们还是遵循源代码的规则 xff0c 至于组合惯导和扩展卡尔曼我们以后慢慢分析 xff0c 这里主要还是对源代码来进行解析 在前一章节我们找到SYS MC EST GROUP参数设置的是1 xff0c
  • Prometheus + Grafana 接入实践

    文章目录 Prometheus 系统监控数据模型jobs安装 Grafana 可视化应用监控接入exporter 接入应用中集成 prometheus client 告警 Alertmanager参考 Prometheus 系统监控 Pro
  • docker 使用实践

    文章目录 准备环境安装运行配置环境使用镜像加速器修改 docker 目录翻墙设置代理限制容器 log 大小 操作命令基本命令容器网络网络模式容器连接外部外部连接容器容器互联 数据管理数据卷数据卷容器 挂载本机目录 镜像构建使用 docker
  • FreeRTOS 软定时器实现

    64 嵌入式 简述使用定时器 配置定时器服务任务创建 启动 停止定时器修改定时器获取定时器状态 定时器实现 数据结构 定时器控制块定时器管理链表命令队列 定时器服务任务 回调定时器处理节拍计数器溢出命令处理 参考 FreeRtos 简述 考
  • FreeRTOS 消息队列

    64 嵌入式 简述Queue 使用 创建一个消息队列发送消息 接受消息 Queue 实现 数据结构队列创建发送消息 任务中调用发送函数中断中调用发送函数 接收消息 参考 FreeRtos 简述 FreeRTOS 任务间通信方式有 消息通知
  • shell 当前工作目录的绝对路径

    64 Linux 命令脚本 编写脚本中 xff0c 需要获取执行脚本的绝对路径 xff0c 今天写脚本的时候不小心踩了个坑 xff0c 记录下 那个坑的脚本大概是这样的 xff1a span class hljs shebang bin b
  • 基于opentracing + jaeger 实现全链路追踪

    文章目录 链路追踪OpenTracingTrace 和 sapn Inject 和 Extract 操作 Sampling 采样 OpenTracing 多语言支持 链路追踪 当代互联网服务 xff0c 通常都是用复杂 xff0c 大规模分
  • STM32G030F6P6 CubeMX和keil5开发环境的搭建

    规格了解 封装 xff1a TSSOP 20内核 xff1a Arm 32 位 Cortex M0 43 CPU工作电源电压 xff1a 2 V to 3 6 VCPU频率 xff1a 64 MHzFlash存储器 xff1a 32KBRA
  • 卡尔曼滤波(KF)与扩展卡尔曼滤波(EKF)的一种理解思路及相应推导(1)

    前言 xff1a 从上个世纪卡尔曼滤波理论被提出 xff0c 卡尔曼滤波在控制论与信息论的连接上做出了卓越的贡献 为了得出准确的下一时刻状态真值 xff0c 我们常常使用卡尔曼滤波 扩展卡尔曼滤波 无迹卡尔曼滤波 粒子滤波等等方法 xff0