当前位置: 首页 > news >正文

卡尔曼Kalman滤波|基础学习(二)

【1】引言

前序学习进程中,已经了解了状态方程的基本概念。
第一部分是状态转移方程:
yk+1=Akyk+Bkuk+Γkξky_{k+1}=A_{k}y_{k}+B_{k}u_{k}+\Gamma_{k}\xi_{k}yk+1=Akyk+Bkuk+Γkξk
yky_{k}ykkkk时刻的系统状态量;
AkA_{k}Ak是状态转移矩阵,体现了状态自身随时间的变化规律;
BkB_{k}Bk与确定性输入uku_{k}uk结合,描述外界已知控制输入对系统状态的影响;
Γkξk\Gamma_{k}\xi_{k}Γkξk表示系统过程噪声,Γk\Gamma_{k}Γk是噪声作用矩阵,ξk\xi_{k}ξk是噪声向量,它们一起体现了系统内外不可控的随机干扰。
第二部分是观测方程:
wk=Ckyk+dkuk+ηkw_{k}=C_{k}y_{k}+d_{k}u_{k}+\eta_{k}wk=Ckyk+dkuk+ηk
wkw_{k}wk是观测矩阵,体现了系统状态到观测值的映射关系;
DkD_{k}Dk与确定性输入uku_{k}uk结合,描述已知控制输入对观测值的影响;
ηk\eta_{k}ηk是观测噪声,体现观测过程的随机干扰。
更具体一些,ξk\xi_{k}ξk是系统固有的内部噪声,无论是否测量,这个噪声总是会存在;ηk\eta_{k}ηk是测量过程产生的噪声,只有测量的时候才会被发现和捕捉到。

【2】公式转化

如果:yk=zk+xky_{k}=z_{k}+x_{k}yk=zk+xk
来转化一下两个状态方程。
第一部分,状态转移方程:
yk+1=Akyk+Bkuk+Γkξk=Ak(zk+xk)+Bkuk+Γkξky_{k+1}=A_{k}y_{k}+B_{k}u_{k}+\Gamma_{k}\xi_{k}\\=A_{k}(z_{k}+x_{k})+B_{k}u_{k}+\Gamma_{k}\xi_{k}yk+1=Akyk+Bkuk+Γkξk=Ak(zk+xk)+Bkuk+Γkξk
第二部分,观测方程:
wk=Ckyk+dkuk+ηk=Ck(zk+xk)+dkuk+ηkw_{k}=C_{k}y_{k}+d_{k}u_{k}+\eta_{k}\\=C_{k}(z_{k}+x_{k})+d_{k}u_{k}+\eta_{k} wk=Ckyk+dkuk+ηk=Ck(zk+xk)+dkuk+ηk
令:
zk+1=Akzk+Bkukz_{k+1}=A_{k}z_{k}+B_{k}u_{k}zk+1=Akzk+Bkuk
sk=Ckzk+dkuks_{k}=C_{k}z_{k}+d_{k}u_{k}sk=Ckzk+dkuk

此时就会获得另外两个式子:
xk+1=Akxk+Γkξkx_{k+1}=A_{k}x_{k}+\Gamma_{k}\xi_{k}xk+1=Akxk+Γkξk
vk=Ckxk+dkukv_{k}=C_{k}x_{k}+d_{k}u_{k}vk=Ckxk+dkuk
这里zkz_{k}zk代表线性确定系统的解,根据上述对zk+1z_{k+1}zk+1的计算可看到zk+1z_{k+1}zk+1只和系数Ak/BkA_{k}/B_{k}Ak/Bk有关,所以zk+1z_{k+1}zk+1是个确定值,同时sks_{k}sk也是确定值。
同时xk+1x_{k+1}xk+1就显得非常复杂,因为ξk\xi_{k}ξk这个系统固有噪声被引入了,所以xk+1x_{k+1}xk+1是个不确定值;因为这一层关系,vkv_{k}vk也成了不确定值。
所以这次分解获得的zk+1z_{k+1}zk+1sks_{k}sk是确定值,xk+1x_{k+1}xk+1vkv_{k}vk是不确定值。

【3】总结

初步将卡尔曼滤波的状态方程转换为确定方程和随机方程。

http://www.dtcms.com/a/391851.html

相关文章:

  • 《2511系统分析师第二遍阅读总结2》
  • FramePack
  • 自注意力机制Self-Attention (三)
  • Vue中窗口拉伸效果实现(Vue2版)
  • idea学习日记1:String的构造方法和内存分析
  • MaxMind DB原理与使用详解
  • TC260-《政务大模型应用安全规范》要点总结
  • 大模型学习:使用FastText工具训练词向量
  • 用html5写一个王者荣耀英雄技能,出装计算模拟器
  • ROS2 使用功能包组织Python节点
  • LibreCAD-2.2.1.2+QT5.15.17
  • 4G、5G
  • 向华为学习——解读华为:2025年AI可信数据空间白皮书【附全文阅读】
  • 2.14composition Api
  • LVGL将本地推送至远程空仓库
  • C++——内存管理
  • EasyClick JavaScript 错误处理机制
  • 六应用层-思考题
  • 多实例部署mysql
  • 信创国产化改造(改成人大金仓)
  • 远程修改的烦恼FacePoke和cpolar联手已帮您解决
  • 基于MCP的README生成协议
  • (1)什么是机器学习?
  • 【数据结构——邻接表】
  • RNA-seq分析之单基因Wilcoxon秩和检验
  • 四网络层IP-子网掩码ARP CIDR RIP OSPF BGP 路由算法-思考题
  • [重学Rust]之智能指针
  • 团体程序设计天梯赛-练习集 L1-036 A乘以B
  • H2数据库(tcp 服务器模式)调优
  • C# 面试记录