RLS算法到卡尔曼滤波 II
接着上一篇文章:https://blog.csdn.net/ZLH_HHHH/article/details/90515377
卡尔曼滤波在原本的RLSRLSRLS基础上增加了一个线性系统。
卡尔曼滤波应用于下面的系统:
(1)x(k)=F(k−1)x(k−1)+G(k−1)u(k−1)+w(k−1)x(k)=F(k-1)x(k-1)+G(k-1)u(k-1)+w(k-1)\tag{1}x(k)=F(k−1)x(k−1)+G(k−1)u(k−1)+w(k−1)(1)
(2)y(k)=h(k)x(k)+v(k)y(k)=h(k)x(k)+v(k)\tag{2}y(k)=h(k)x(k)+v(k)(2)
其中w,vw,vw,v是零均值,不相关白噪音。即协方差为000.
这里,xxx 就是当前系统的状态,比如速度,位置,温度,等等。
(1)(1)(1)式可以理解为,上一个时刻,系统的一个输入,对系统产生的影响。系统的状态改变。比如突然有外力做工,从新更新状态。但是这个更新是有误差的。
(2)(2)(2)式子,可以认为是测量,h(k)h(k)h(k)对应的在x(k)x(k)x(k)状态下的输出y(k)y(k)y(k)被我们测量出来,有一个不可观测的随机误差v(k)v(k)v(k),h,yh,yh,y都是已知的。
经过(1)(1)(1)的计算,对xxx状态进行了一次转移。并被(2)(2)(2)式纠正。
动态的系统,之前的RLSRLSRLS已经不再适用,x(k−1)x(k-1)x(k−1)的状态在不停改变的。或者说需要修改RLSRLSRLS算法。
RLSRLSRLS算法关键的一点就是:
P(k)=(HT(k)H(k))−=E((x^(k)−x(k))(x^(k)−x(k))T)P(k)=(H^T(k)H(k))^-=E\Big((\hat x(k) - x(k))(\hat x(k) - x(k))^T\Big)P(k)=(HT(k)H(k))−=E((x^(k)−x(k))(x^(k)−x(k))T)
即,P(k)P(k)P(k)是估计x^\hat xx^的协方差。而协防差在(1)(1)(1)式状态改变的过程中也被传递了。
这里,由于误差是无偏的,一般认为E(x^)=xE(\hat x)=xE(x^)=x
这也就是说:
E(F(k−1)x^(k−1)+G(k−1)u(k−1)+w(k−1))=F(k−1)x(k−1)+G(k−1)u(k−1)=x(k)=E(x^(k))E\Big(F(k-1)\hat x(k-1)+G(k-1)u(k-1)+w(k-1)\Big)\\=F(k-1)x(k-1)+G(k-1)u(k-1)=x(k)=E(\hat x(k))E(F(k−1)x^(k−1)+G(k−1)u(k−1)+w(k−1))=F(k−1)x(k−1)+G(k−1)u(k−1)=x(k)=E(x^(k))
则:E(x^(k)−x(k))=F(k−1)E(x^(k−1)−x(k−1))+E(w(k−1))E(\hat x(k)-x(k))=F(k-1)E(\hat x(k-1)-x(k-1))+E(w(k-1))E(x^(k)−x(k))=F(k−1)E(x^(k−1)−x(k−1))+E(w(k−1))
那么我们可以根据k−1k-1k−1时刻以及此时状态转移来估计新的协方差:
P(k)=E((x^(k)−x(k)(x^(k)−x(k)T)=E([F(k−1)(x^(k−1)−x(k−1))+w(k−1)][F(k−1)(x^(k−1)−x(k−1))+w(k−1)]T)=F(k−1)P(k−1)FT(k−1)+Q(k−1)P(k)=E\Big((\hat x(k)-x(k)(\hat x(k)-x(k)^T\Big)\\ =E\Big ([F(k-1)(\hat x(k-1)-x(k-1))+w(k-1)][F(k-1)(\hat x(k-1)-x(k-1))+w(k-1)]^T\Big)\\ =F(k-1)P(k-1)F^T(k-1)+Q(k-1)P(k)=E((x^(k)−x(k)(x^(k)−x(k)T)=E([F(k−1)(x^(k−1)−x(k−1))+w(k−1)][F(k−1)(x^(k−1)−x(k−1))+w(k−1)]T)=F(k−1)P(k−1)FT(k−1)+Q(k−1)
其中:Q(k)=E(w(k)wT(k))Q(k)=E(w(k)w^T(k))Q(k)=E(w(k)wT(k))
当我们没有新的观测数据时,利用旧的观测来做一个先验估计 x(k)−x(k)^-x(k)−
而通过新的观测纠正后的数据为后验:x(k)+x(k)^+x(k)+
结合RLSRLSRLS, 得出卡尔曼滤波:
x(k)−=F(k−1)x(k−1)++G(k−1)u(k−1)P(k)−=F(k−1)P(k−1)+FT(k−1)+Q(k−1)x(k)^-=F(k-1)x(k-1)^++G(k-1)u(k-1)\\ P(k)^-=F(k-1)P(k-1)^+F^T(k-1)+Q(k-1)x(k)−=F(k−1)x(k−1)++G(k−1)u(k−1)P(k)−=F(k−1)P(k−1)+FT(k−1)+Q(k−1)
(RLS)K(k)=P(k)−hT(k)R(k)+h(k)P(k)−hT(k)K(k)=\frac{P(k)^-h^T(k)}{R(k)+h(k)P(k)^-h^T(k)}\tag{RLS}K(k)=R(k)+h(k)P(k)−hT(k)P(k)−hT(k)(RLS)
(RLS)P(k)+=(I−K(k)h(k))P(k)−P(k)^+=(I-K(k)h(k))P(k)^-\tag{RLS}P(k)+=(I−K(k)h(k))P(k)−(RLS)
(RLS)x^(k)+=x^(k)−+K(k)(y(k)−h(k)x^(k)−)\hat x(k)^+ =\hat x(k)^-+K(k)\Big(y(k)-h(k)\hat x(k)^-\Big) \tag{RLS}x^(k)+=x^(k)−+K(k)(y(k)−h(k)x^(k)−)(RLS)
卡尔曼滤波其实就是通过系统状态转移,跟踪了协方差的状态转移。然后从新带入到RLSRLSRLS更新中.
最关键的还是P(k)P(k)P(k)的属性:
P(k)=(HT(k)H(k))−=E((x^−x)(x^−x)T)P(k)=\Big(H^T(k)H(k)\Big)^-=E((\hat x -x)(\hat x - x)^T)P(k)=(HT(k)H(k))−=E((x^−x)(x^−x)T)
PPP的这一属性使得参考系改变时得以根据状态转移矩阵同时被转移。
怎么说呢, 比如,两架飞机,A,BA,BA,B,当AAA匀加速速运动时,观察到匀加速运动的BBB。
当AAA在处理上一时刻状态时,其实自身的状态,也改变了,速度啊,速率,位置什么的,都改变。这个时候使用(1)(1)(1)式,进行状态转移,由于PPP的关键属性,即使HTHH^THHTH的逆,又是xxx的协方差。如此甚好。对PPP进行一次状态转移。这次转移,是为了使用新的观测数据。来调用RLSRLSRLS的三段更新。
到这里,对卡尔曼滤波有了一个浅显的认识,嘿嘿。
RLS算法到卡尔曼滤波 II相关推荐
- 浅谈自适应滤波器---(快速RLS算法)
在上一篇博客中(浅谈自适应滤波器)我给大家介绍了关于自适应滤波器的一些入门级的知识,并分析了常规RLS算法单次迭代的计算量级为O[N2],当阶数N增大时相应的计算量显著增大,为了将计算量级降低到O[N ...
- RLS算法-公式初探
RLS算法-公式推导 不带遗忘因子的推导:递推最小二乘法推导(RLS)--全网最简单易懂的推导过程 - 阿Q在江湖的文章 - 知乎 https://zhuanlan.zhihu.com/p/11175 ...
- matlab adaptfilt.rls,基于RLS算法的多麦克风降噪
<信息处理课群综合训练与设计> 课程设计任务书 学生姓名: 专业班级: 指导教师: 工作单位: 题 目: 基于RLS算法的多麦克风降噪 设计任务: 给定主麦克风录制的受噪声污染的语音信号和 ...
- 5)自适应滤波(二)[RLS算法]
目录 一.递推最小二乘法(RLS)算法 1.1 以N阶线性系统起点, 1.2 动机: 1.3 目标函数的定义: 1.3.1 基于指数加权定义目标函数: 1.3.2 后验与先验误差对比: 1.3.2 最 ...
- 比较LMS和RLS算法的性能
1.仿真模型 水声通信模型 图源:网络 2.调制方式及信道设置 要求:调制方式QPSK.序列长度2048.训练序列长度1024.信噪比范围5-20dB,比较LMS和RLS算法的 ...
- rls算法matlab实现,第5章基于RLS算法的数据预测与MATLAB实现MATLAB实现.PDF
第5章基于RLS算法的数据预测与MATLAB实现MATLAB实现 第 5章 基于 RLS算法的数据预测与 第5章 基于RLS算法的数据预测与MATLAB实现 MATLAB实现 RLS 1795 递归最 ...
- qr-rls算法matlab实现,【预测模型】基于RLS算法进行预测matlab源码
一.简介 1 概述 递归最小二乘(RLS)算法是一种典型的数据处理方法,由著名学者高斯在1795年提出,高斯认为,根据所获得的观测数据来推断未知参数时,未知参数最可能的值是这样一个数据,即它使各项实际 ...
- 递归最小二乘(RLS)算法详解
本文首发在我的个人博客:宅到没朋友,欢迎大家来玩! 代码下载链接在最下方! 1.最小二乘算法简介 最小二乘算法基于确定性思想,该算法讨论怎样根据有限个观测数据来寻找滤波器的最优解,即求如下图这样具有M ...
- 【老生谈算法】matlab实现RLS算法自适应均衡器——RLS算法
用RLS算法实现自适应均衡器的MATLAB程序 1.文档下载: 本算法已经整理成文档如下,有需要的朋友可以点击进行下载 序号 文档(点击下载) 本项目文档 [老生谈算法]用RLS算法实现自适应均衡器的 ...
最新文章
- 《实施Cisco统一通信管理器(CIPT1)》一2.4 使用分布式呼叫处理的多站点WAN部署模型...
- jedis_通过Jedis API使用排序集
- unity3d Update()和FixedUpdate()的区别
- slim android7 nexus7,【畅玩7.0】加一直升pure nexus 7.0系统简单教程(1106更新)
- 网站建设技术方案_企业网站建设解决方案
- c++算术溢出_二进制安全之堆溢出(系列)——CTF环境配置
- 10.18 nslookup:域名查询工具
- totolink 异地组网
- 环状进度条progress bar circle
- sql server 模糊查询
- IOS – OpenGL ES 调节图像阴影 GPUImageHighlightShadowFilter
- 电脑亮度多少对眼睛好_激光治疗近视眼大概要多少费用,保护好眼睛要做到哪几点...
- windows 下安装redis
- Android隐藏应用桌面图标/动态修改桌面图标
- 通达信标记符号_通达信49个图标,高手指教,通达信软件里的股票标记符号,能增加吗...
- xampp套件使用php,php集成套件服务器xampp安装使用教程(适合第一次玩PHP的新手),xampp安装使用...
- 计算机网络周志500字,计算机网络实习周记.doc
- php 微信公号授权登入,laravel实现微信公众号授权登录实战
- 树莓派摄像头远程和本地观看视频
- 实现类似于目录的虚线填充样式