利用matlab来实现卡尔曼滤波,一个简单的例子:

clear all;clc;close all;%*************利用卡尔曼滤波算法来估计状态值**************%%定义状态转移矩阵和观测矩阵
syms x u;
h(x) = x;  %exp(x^3+2*x+2);
H_ = diff(h,x);f(x,u) = x + u;
F_ = diff(f,x);%%首先构造一些观测值
u_k = 0.015;
x_ = 0.01:u_k:1;
Q = 0.01;
R = 0.25;
nosie_Q = sqrt(Q)*randn(1,size(x_,2));%产生高斯噪音
nosie_R = sqrt(R)*randn(1,size(x_,2));%产生高斯噪音x_data = f(x_,0)+nosie_Q;
y_ = h(x_data) + nosie_R;%构造一系列观测值%初始化
x_posterior = 0.01;
P_posterior = 0.04;
x_prior = 0;
P_prior = 0;
K = 0;H = H_;
F = F_;
x_posterior_save = [];
P_posterior_save = [];%卡尔曼滤波过程
for i = 1:size(x_,2)%第一步:预测x_prior = f(x_posterior,u_k);%prior先验,posterior后验P_prior = F(x_posterior,u_k)*P_posterior*F(x_posterior,u_k)' + Q;%第二步:更新H_vpa = vpa(H(x_prior),5);%卡尔曼增益K = P_prior*H_vpa/(H_vpa*P_prior*H_vpa'+ R);K = vpa(K,5);%后验方差P_posterior = (1-K*H_vpa)*P_prior;P_posterior = vpa(P_posterior,5);%后验估计x_posterior = x_prior + K*(y_(i)-h(x_prior));x_posterior = vpa(x_posterior,5);%保存数据x_posterior_save = [x_posterior_save x_posterior];P_posterior_save = [P_posterior_save P_posterior];fprintf('后验x为:%f\n',x_posterior);
end%不经优化直接求解的数值,用于比较
x_pre = [];
for i = 1:size(y_,2)x_pre_ = solve(h==y_(i));x_pre = [x_pre x_pre_(1)];x_pre = vpa(x_pre,4);
endfigure('Name','Y');
%axis([0 1 0 120]);
hold on;
grid on;
plot(x_,y_,'black');
plot(x_,h(x_),'red');
legend('观测值','理论值');  figure('Name','x');
%axis([0 100 -30 140]);
hold on;
grid on;
plot(1:u_k*100:100,x_posterior_save*100,'red',1:u_k*100:100,1:u_k*100:100,'green',1:u_k*100:100,x_data.*100,'blue');
plot(1:u_k*100:100,x_pre*100,'-k');
legend('卡尔曼优化值','理论值','真实值','未优化值');

结果:

1.创建的数据以及理论曲线:

2.后验估计,理论值 和 真实值

通过比较估计值和真实值可以看出精度还是不错的

MATLAB--卡尔曼滤波相关推荐

  1. 【路径规划】基于matlab卡尔曼滤波、三次插值极速赛道赛车路径规划【含Matlab源码 2158期】

    一.卡尔曼滤波路径追踪优化简介 割草机器人通过比对当前t时刻位置.导航方程之间偏移角度θ和偏移距离d,确定t+1时刻的运动方向属于递推型路径追踪.割草机器人工作过程中受到地面起伏等环境因素影响,在采用 ...

  2. MATLAB卡尔曼滤波-实例

    来源于B站老师:DR_CAN 卡尔曼滤波(Kalman filtering)是一种利用线性系统状态方程,通过系统输入输出观测数据,对系统状态进行最优估计的算法.由于观测数据中包括系统中的噪声和干扰的影 ...

  3. 卡尔曼滤波预测matlab,卡尔曼滤波Matlab示例

    % 在二维空间,假设运动物体的一组运动数据,用卡尔曼滤波方法进行处理,两点起始法 % 实验室的博客 clear; % 1.1. 实际和测量的运动数据,线性运动 % rx = 0:0.1:10; %x方 ...

  4. matlab做卡尔曼滤波预测,求Matlab卡尔曼滤波预测股票价格的程序

    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%% ...

  5. 无人机matlab程序,无人机高度基于matlab卡尔曼滤波程序 数据融合

    altitude Kalman计算 kalman1 Debug Test1.dsp Test1.dsw Test1.ncb Test1.opt Test1.plg dataK.h kalman.c k ...

  6. 【老生谈算法】基于matlab的运动目标识别与跟踪系统设计与算法原理及程序源码——目标识别算法

    基于matlab的运动目标识别与跟踪系统设计与算法原理 大家好,今天给大家介绍基于matlab的运动目标的监测与跟踪系统设计与原理. 视频图像分析主要是对运动图像序列进行分析处理,它通常涉及到运动检测 ...

  7. matlab 输出字母,MATLAB里面的legend函数输出希腊字母

    视觉引导系统在机器人拾取方面的应用 视觉引导系统在机器人拾取方面的应用 当将自动化组件放置在具有X,Y特征的计划上时,高性能视觉系统就变得至关重要.照亮产品后,视觉引导系统会拾取每个微小的组件,找到其 ...

  8. GNSS/INS组合导航学习-GINAV(一)

    从今天开始整理一下,最近半年学习的组合导航算法 目前开源程序 1.严老师PSINS工具箱 (MATLAB--卡尔曼滤波算法) 2.GINAV (MATLAB--卡尔曼滤波算法 ) 3.KF-GINS ...

  9. matlab中卡尔曼滤波,卡尔曼滤波器和matlab代码.doc

    完美WORD格式 专业整理分享 信息融合大作业 --维纳最速下降法滤波器,卡尔曼滤波器设计及Matlab仿真 时间:2010-12-6 专业:信息工程 班级学号:2007302171 姓名:马志强 滤 ...

  10. matlab温度数据怎么滤波_卡尔曼滤波算法思想理解 Kalman filter 第一篇

    卡尔曼滤波算法思想理解 Kalman filter 第一篇 最近在初步的理解目标跟踪的领域, 其中一个非常经典的算法卡尔曼滤波Kalman filter是需要有很好的理解才行, 由于已经脱离了学校,懂 ...

最新文章

  1. Mustache初识
  2. vue是什么_什么是VUE?vue有什么作用?
  3. 利用shell脚本统计代码行数
  4. 第5章 Python 数字图像处理(DIP) - 图像复原与重建10 - 空间滤波 - 统计排序滤波器 - 中值、最大值、最小值、中点、修正阿尔法均值滤波器
  5. 项目总结1:微信扫码自动识别设备类型并跳转到相应的应用下载页面(apk或App Store)之解决方案
  6. Table of Delphi data types and C++ types
  7. PostgreSQL中定时job执行(pgAgent)
  8. junit5 动态测试_JUnit 5动态测试– @ TestFactory,DynamicTest
  9. 系统科学专业 计算机,2018年北京市培养单位数学与系统科学研究院863计算机学科综合(专业)之计算机操作系统考研核心题库...
  10. php循环,die/exit脚本执行控制,文件载入及错误控制
  11. 《深入解析Windows操作系统第4版》随笔记录02
  12. adb与java端口冲突,如何解决adb devices 端口被占用的问题zz
  13. DirectX9学习(四)装载位图
  14. 从头再学java系列之char和Character的区别及Character的源码分析
  15. 最新电销语音机器人完整版源码+含安装教程
  16. oracle收款凭证做错月份,上个月的银行凭证做错了怎么办
  17. 怎么找回xmind意外关机的文件_Xmind 导图保存丢失怎么找回?
  18. 无线传感器网络期末复习知识点总结资料
  19. OpenGL使用FBO与PBO上行纹理 (YUYV)
  20. Solaris 10u11 安装python2.7.10

热门文章

  1. [Unity][摄像机]动态代码设置Camera的CullingMask遮罩
  2. 调用shell jenkins不能自动结束
  3. 计算机组成原理学习-哈工大《计算机组成原理》第二章
  4. API章节--第四节包装类总结
  5. imu 里程计融合_MSCKF那些事(十一)算法改进4:融合直接观测
  6. Asp.Net细节性问题精萃[转]
  7. POJ 3070 Fibonacci 矩阵快速幂模板
  8. 张高兴的 Windows 10 IoT 开发笔记:部署 ASP.NET Core 2 应用
  9. Windows 2012 R2 操作系统搭建DHCP-HA集群
  10. 初学者指南:为开源做贡献