• 大小: 7KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-01-08
  • 语言: Matlab
  • 标签: CKF  UKF  EKF  

资源简介

这是我自己编写的关于三种滤波器对于状态估计的应用,并对三种滤波器的性能进行了比较。本程序已经过调试,切实可行,适合初学者。

资源截图

代码片段和文件信息

% EKF UKF CKF 的三个算法
clear;
x=1;% 初始状态 
x_estimate = 0.5;%初始状态的估计
xpre=x_estimate ;
e_x_estimate = x_estimate;  %EKF的初始估计
u_x_estimate = x_estimate;  %UKF的初始估计
c_x_estimate = x_estimate;  %CKF的初始估计



Q = 10 ;% 过程状态协方差 
R = 0.01 ;% 测量噪声协方差 
P =1000;%初始估计方差

n=1;     %%%%% 系统的维数
m=2*n;   %%%%% CKF容积点数
w=1/m;   %%%%%% 权值
kesi=[1-1];%%%%% CKF容积点

e_P = P; %EKF方差
u_P = P;%UKF方差
Ppost=P;%CKF方差
tf = 100; % 模拟长度 
x_array = [x];%真实值数组
e_x_estimate_array = [e_x_estimate];%EKF最优估计值数组
u_x_estimate_array = [u_x_estimate];%UKF最优估计值数组
c_x_estimate_array = [c_x_estimate];%CKF最优估计值数组

u_k = 1; %微调参数
u_symmetry_number = 4; % 对称的点的个数
u_total_number = 2 * u_symmetry_number + 1; %总的采样点的个数
linear = 0.5;
close all;

for k = 1 : tf 
    % 模拟系统 
%     x = linear * x + (25 * x 

评论

共有 条评论