在matlab中实现二维卡尔曼滤波

  • h1_940720
    了解作者
  • matlab
    开发工具
  • 721B
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • VIP专享
    资源类型
  • 0
    下载次数
  • 2022-02-21 16:53
    上传日期
在matlab中实现二维卡尔曼滤波,模型采用简单的恒速模型。能够准确预测运动中船舶的准确位置,对于实现更复杂的模拟运动场景,提供一定的基础
在matlab中实现二维卡尔曼滤波.rar
  • kalman.m
    1.4KB
内容介绍
N = 20; x = zeros(1,N); y = zeros(1,N); xv = zeros(1,N); yv = zeros(1,N); xa = zeros(1,N); ya = zeros(1,N); x(1) = 15; y(1) = 15; xv(1) = 5; yv(1) = 0; xa(1) = 1; ya(1) = 0.5; X = [x; y; xv; yv; xa; ya]; T = 1; %测量周期为1 A = [1 0 T 0 T^2/2 0;0 1 0 T 0 T^2/2;0 0 1 0 T 0;0 0 0 1 0 T;0 0 0 0 1 0;0 0 0 0 0 1]; Z = [x; y]; H = [1 0 0 0 0 0;0 1 0 0 0 0]; w_sigma = 10.0; %w为过程激励噪声,是正态分布的白噪声,期望为0,标准偏移为w_sigma; v_sigma = 10.0; %v为观测噪声,也是正态分布的白噪声,期望为0,标准偏移为v_sigma; for k = 2:N; W = normrnd(0,w_sigma,6,N); V = normrnd(0,v_sigma,2,N); X(:,k) = A*X(:,k-1)+W(:,k-1); %真实值 Z(:,k) = H*X(:, k)+V(:,k); %位移观测值 end Q = w_sigma^2*eye(6); %系统误差高斯分布的方差矩阵 R = v_sigma^2*eye(2); %观测误差高斯分布的方差矩阵 P = 8*eye(6); %初始协方差矩阵 Xk = [x; y; xv; yv; xa; ya]; for k = 2:N; Xk(:,k) = A*Xk(:,k-1); P = A*P*A'+Q; Kg = P*H'/(H*P*H'+R); Xk(:,k) = Xk(:,k) + Kg*(Z(:,k)-H*Xk(:,k)); P = P - Kg*H*P; end t = 1:N; plot(t,X(1,t),'r',t,Z(1,t),'gs',t,Xk(1,t),'b+'); xlabel('t');ylabel('x位移'); title('x方向位置估计'); legend('true','observed','kalman filtered'); figure; plot(t,X(2,t),'r',t,Z(2,t),'gs',t,Xk(2,t),'b+'); xlabel('t');ylabel('y位移'); title('y方向位置估计'); legend('true','observed','kalman filtered');
评论
    相关推荐
    • Matlab合集
      冈萨雷斯数字图像处理MATLAB版.中文版+数字图像处理第二版中文版(冈萨雷斯)+MATLAB-R2014a完全自学一本通+MATLAB R2016a完全自学一本通 素材文件+[模式识别与智能计算:MATLAB技术实现(第2版)].杨淑莹.扫描版
    • MATLAB教程
      MATLAB教程MATLAB教程MATLAB教程MATLAB教程MATLAB教程MATLAB教程
    • MATLAB
      MATLAB 该项目是在matlab上完成的,涉及创建和移动宇宙飞船和机器人。 太空飞船和机器人是使用Matlab中的简单几何形状创建的,并通过连续变换矩阵进行移动。 这个项目教我如何使用变换矩阵(旋转,平移等)的概念...
    • MATLAB基础
      一本学习matlab的一本好书
    • MATLAB编译器
      基于MATLAB 2018b版本介绍MATLAB编译器。介绍如何利用编译器将MATLAB代码编译为独立应用程序或组件,并在没有安装MATLAB的计算机上进行部署。
    • matlabruntime
      通过奇点容器运行您的matlab项目 可以在没有MATLAB的容器中运行matlab代码。 为此,我们首先需要通过Matlab编译器在本地构建相应的Matlab代码的独立应用程序,然后使用具有Matlab运行时( 的容器)运行该应用程序 )...
    • matlab实现
      matlab实现 matlab实现matlab实现matlab实现matlab实现
    • matlab 教程
      matlab 信号处理资料,里面包含信号处理pdf文档,一些杂乱的程序和命令等
    • matlab教程
      matlab教程,PPT格式,包含 matlab基本知识、matlab入门、matlab作图、线性规划、无约束优化、非线性规划、统计工具箱、差值、微分方程等多项知识点,并且每个知识点独立成为PPT,内还含有matlab信号处理详解等文档...
    • matlab简介
      1.MATLAB 开发环境 1.1 MATLAB 的视窗环境 进入MATLAB之后,会看到一个视窗MATLAB Command Window称为指令视窗,它是你键入指令的地方同时 MATLAB也将计算结果显示在此。 1.2 简易计算 我们先从MATLAB的...