原标题:卡尔曼滤波基础及Matlab代码
上面视频为中文视频,来源网络,详细讲述了卡尔曼滤波原理在小车运行速度估计中的应用。以下为仿真程序中使用到的公式,具体分析和介绍请看上面视频。
仿真代码的m文件以及更多丰富的卡尔曼滤波相关参考资料的的可直接给“雷达通信电子战”发送“190714”查看。仿真运行结果如下:
%% 卡尔曼滤波器
clc;close all;clear;
Z = 1:100; % 位置观测值
noise = randn(1,100); % 方差为1的高斯噪声
Z = Z + noise;
X = [0;0]; %初始状态
P = [1 0; 0 1]; %状态协方差矩阵
F = [1 1; 0 1]; % 状态转移矩阵
Q = [0.0001,0; 0, 0.0001]; % 状态转移协方差矩阵
H = [1 0]; %观测矩阵
R = 1; % 观测噪声方差
figure;
hold on; grid on;
xlabel('位置');ylabel(''速度);
title(''卡尔曼滤波仿真);
for i=1:100
X_ = F*X;
P_ = F*P*F'+Q;
K = P_*H'/(H*P_*H'+R);
X = X_+K*(Z(i)-H*X_);
P = (eye(2)-K*H)*P_;
plot(X(1),X(2),'r*'); %横轴表示位置,纵轴表示速度
end
hold off;
这个视频来源Mathworks,长度超过50分钟,内容详细,生动利于理解,英文讲解,含英文字幕。
仿真代码的m文件以及更多丰富的卡尔曼滤波相关参考资料的的可直接给“雷达通信电子战”发送“190714”查看。仿真运行结果如下:返回搜狐,查看更多
责任编辑: