卡尔曼与扩展卡尔曼的区别与推导

news2024/11/23 6:34:36

1.卡尔曼的推导:

1)先看系统随机系统状态空间模型:(线性)
所谓线性是指递推或者状态转移方程是线性的在这里插入图片描述在这里插入图片描述
至于参数解释自己去看书,本文旨在捋顺推导思路。
2)k-1时刻值减去k-1的状态最优估计=k-1时刻状态估计误差。首先计算k-1时刻状态估计误差(参考值与估计值之间偏差):
在这里插入图片描述
3)根据k-1时刻最优状态估计和系统状态方程可对k时刻(当前时刻)的状态做最优估计(最优一步预测):
在这里插入图片描述
4)计算状态一步预测误差为:
在这里插入图片描述
5)把1)式和3)式带入4)式,结合2)式得:
在这里插入图片描述
此刻状态一步预测误差计算好了,那么可以计算状态一步预测均方误差阵:
在这里插入图片描述
而k-1时刻状态估计误差阵为:
在这里插入图片描述
同理计算量测:
1)通过状态一步预测和系统的量测方程可对时刻的量测作一步预测:
在这里插入图片描述
2)量测一步预测误差公式为:
在这里插入图片描述
3)将系统式和1)式带入2)得量测一步预测误差:
在这里插入图片描述量4)计算量测一步预测均方误差阵、状态一步预测与量测一步预测之间的协均方误差阵:
在这里插入图片描述
至此可以做到利用系统状态方程的状态一步预测去估计当前时刻的值,但由于没有用到量测方程的任何信息,会导致估计精度不高。又因为量测一步预测误差中包含状态一步预测的信息,因此综合考虑,利用量测一步预测误差修正当前状态估计作为最终的最优状态估计:
在这里插入图片描述
5)对上式进行化简:
在这里插入图片描述
可以看到当前状态估计是前一时刻状态估计和当前量测的线性组合(加权估计),利用量测误差对先验估计进行修正得到后验估计。
接下来求取K以使得后验估计误差(当前时刻状态估计误差)最小:
6)当前k时刻状态估计误差为:
在这里插入图片描述
7)将上面5)式带入6)得:
在这里插入图片描述
8)同理求k时刻(当前时刻)状态估计的均方误差阵:
在这里插入图片描述
9)估计误差是一随机向量,使其“误差最小”的含义规定为使各分量的均方误差之和最小,即
在这里插入图片描述
等价于:
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
10)因为均方误差阵必定是对称阵,因此8)式可展开为:
在这里插入图片描述
11)对10)式两边同时求迹运算,得:
在这里插入图片描述
上式是关于待定参数矩阵K的二次函数,所以tr§必定存在极值(按概率含义这里应当是极小值)。
为了便于利用求导方法求取上式的极值,引入方阵的迹对矩阵求导的两个等式,分别如下:
在这里插入图片描述
在这里插入图片描述
两边同时对K求导:
在这里插入图片描述
根据函数极值解得:
在这里插入图片描述在这里插入图片描述
也就是当K等于以上取值时,当前状态估计误差最小。此时,将上式带入10)式得k时刻均方根误差阵为:
在这里插入图片描述
至此推导出卡尔曼滤波五个公式:
在这里插入图片描述

2.扩展卡尔曼推导:

1)先看系统随机系统状态空间模型:(非线性)
在这里插入图片描述
在这里插入图片描述
与卡尔曼唯一不同就是扩展卡尔曼是处理非线性模型,因此需要对状态转移方程(无论预测还是量测)都需要进行一节泰勒展开得到雅可比矩阵,以此来进行线性化。
1)同理求k-1时刻状态估计:
在这里插入图片描述
2)根据k-1时刻最优状态估计和系统状态方程可对k时刻(当前时刻)的状态做最优估计(最优一步预测):
在这里插入图片描述
3)计算状态一步预测误差为:
在这里插入图片描述
在卡尔曼推导中,这一步是直接带入系统方程,但在这里需要先进行线性化:
在这里插入图片描述
同理求量测:
在这里插入图片描述
在这里插入图片描述
因此可以改写原非线性系统为线性系统:
在这里插入图片描述
改写5个公式:
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/767299.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Vscode设置忽略文件,忽略node-modules、dist

####看图 files.exclude 设置排除和显示的文件夹 search.exclude 设置搜索时忽略的文件夹

WEB:Cat

背景知识 命令执行漏洞 Django框架 题目 先ping一下,输入127.0.0.1 这个输入可能存在命令执行的操作,但是经过尝试之后并不能正常执行 127.0.0.1&&dir、127.0.0.1&&ls、127.0.0.1|ls均被屏蔽,但经过尝试可知,网…

matplotlib笔记:qbstyle设置matplotlib 主题

0 原始matplotlib import numpy as np import matplotlib.pyplot as pltxnp.linspace(0,100) ynp.sin(100*x)plt.plot(x,y); 1 light from qbstyles import mpl_style mpl_style(darkFalse) #开启light主题 plt.plot(x,y); 2 dark from qbstyles import mpl_style mpl_styl…

实现大文件传输的几种方法,并实现不同电脑间大文件传输

随着网络技术的快速发展,大文件的传输需求越来越多,如何在不同的电脑之间实现大文件的快速传输,是一个挑战,下面介绍几种常用的方法可以解决这个问题。 1、利用局域网传输:把两台电脑接入同一个网络环境,通…

关于硬件加速器FPGA的异构加速流程龙蜥CI框架及实践介绍 | 第 87-88 期

本周「龙蜥大讲堂」预告来啦!我们邀请了浪潮信息异构加速软件工程师刘科分享《基于 FPGA 的数据库硬件加速研究》、 CICD SIG Maintainer 李晔做《龙蜥社区 CI 框架及实践》主题演讲,精彩多多,快入群,预定前排小板凳观看直播&…

项目名称:无源在线词典项目

一,概述 基于C语言的网络电子词典项目,使用到了tcp协议的并发服务器设计、网络编程、文件I/O、数据库等多方面的知识。可以满足多用户同时登陆,用户登陆后可以查询单词及历史记录,具有查找快速,保密性好等优点。 开…

19.删除链表的倒数第N个节点

19.删除链表的倒数第N个节点 这道题是链表问题中双指针的一个经典应用 如果要删除倒数第n个节点,那么我们让fast快指针移动n步,然后让fast和慢指针slow同时开始移动,当fast指针指向链表末尾的时候,删掉slow指针指向的节点即可。 …

ai绘画工具哪个好用?这几款好用的ai绘画生成器安利给你

嘿,小伙伴们!你是否曾经想过创作一幅酷炫的人物插画,但由于缺乏绘画技巧而放弃这个想法?别担心,现在有了ai绘画工具,让你轻松成为艺术家的潜力无限!今天我就来给大家介绍几个用ai绘画工具生成好…

【iOS】ARC实现

ARC由以下工具来实现: clang(LLVM编译器)3.0以上objc4 Objective-C运行时库493.9以上 下面我们,我们将围绕clang汇编输出和objc4库的源代码探究ARC实现 1. __strong修饰符 1.1 赋值给附有__strong修饰符的变量 看下面代码 {…

Android TextView 在最后一行末尾加图标

当前有个需求.显示一段文本,文本最多显示两行,点击展开后才显示完全。当没有显示完全的时候,需要在文本的第二行末尾显示图标,点击图标和文本,文本展开。难点在于图标需要和第二行文本显示在同一行,高度和文…

JavaScript的WebAPI

这里写目录标题 DOM 基本概念获取元素事件概念事件的三要素操作元素获取/修改表单元素属性行内样式操作类名样式操作操作节点 DOM 基本概念 DOM 全称为 Document Object Model. W3C 标准给我们提供了一系列的函数, 让我们可以操作: 网页内容 ,网页结构, 网页样式 DOM数的结构如…

【PDFBox】PDFBox操作PDF文档之读取指定页面文本内容、读取所有页面文本内容、根据模板文件生成PDF文档

这篇文章,主要介绍PDFBox操作PDF文档之读取指定页面文本内容、读取所有页面文本内容、根据模板文件生成PDF文档。 目录 一、PDFBox操作文本 1.1、读取所有页面文本内容 1.2、读取指定页面文本内容 1.3、写入文本内容 1.4、替换文本内容 (1&#xf…

【C++】STL之list容器的模拟实现

个人主页:🍝在肯德基吃麻辣烫 分享一句喜欢的话:热烈的火焰,冰封在最沉默的火山深处。 文章目录 前言一、list的三个类的关系分析图vector和list的区别1.节点的成员变量以及构造函数2.list的迭代器 二、list的增删查改工作2.1inse…

【数据结构】24王道考研笔记——图

六、图 目录 六、图定义及基本术语图的定义有向图以及无向图简单图以及多重图度顶点-顶点间关系连通图、强连通图子图连通分量强连通分量生成树生成森林边的权、带权网/图特殊形态的图 图的存储及基本操作邻接矩阵邻接表法十字链表邻接多重表分析对比图的基本操作 图的遍历广度…

# Linux下替换文件中的颜色等控制字符的方法

Linux下替换文件中的颜色等控制字符的方法 文章目录 Linux下替换文件中的颜色等控制字符的方法1 Linux下的控制字符(显示的文字并不是他本身):2 颜色字符范例:3 替换4 最后 我们在shell编程显示输出时,会定义文字颜色&…

ESD放电模式以及电源箝位 (power clamp )电路

目录 1.ESD的基本概念 2.ESD放电模式与泄放路径 2.1 I/O端与 Vcc或者 I/O端与 Vss 2.2 I/O端与 I/O端 2.3 Vcc(电源端)与Vss(地端) 2.4不同类型电压源 3. 电源箝位 (power clamp )电路 4.全芯片ESD保护电路系统框图 参考…

wsl2 kali linux install android studio Android SDK platforms

studio下载网址为 https://developer.android.google.cn/ 解压后在bin目录下运行studio.sh提示错误: unable to access android sdk add-on list 选择“setup proxy” 选择Manual proxy configuration 设置 Host name 为:mirrors.neusoft.edu.cn 设置…

从零开发短视频电商 单元测试(TestNG)

文章目录 简介简单示例执行测试并查看测试报告方式一 在IDEA中运行testng.xml文件方式二 在IDEA中运行测试类或者package方式三 在Maven中运行测试 统计测试覆盖率方式一 IDEA 支持详细的代码测试覆盖率统计方式二 Maven支持测试覆盖率 在IDEA中创建测试用例使用 IDEA 快速创建…

LLaMA微调记录

本文基于开源代码https://github.com/Lightning-AI/lit-llama/tree/main执行微调 其他参考链接: Accelerating LLaMA with Fabric: A Comprehensive Guide to Training and Fine-Tuning LLaMA - Lightning AI 结构化数据示例: BelleGroup/train_0.5M_…

动态sql语句

1.1 动态sql语句概述 Mybatis 的映射文件中&#xff0c;业务逻辑复杂时&#xff0c; SQL是动态变化的&#xff0c;此时在前面的学习中 SQL 就不能满足要求了。 参考的官方文档&#xff1a; 1.2 动态 SQL 之<if> 根据实体类的不同取值&#xff0c;使用不同的 SQL语句…