资源简介
本程序是仿真了一个卡尔曼滤波进行系统辨识的实验,把卡尔曼的递推过程写的很清晰,便于大家更好的理解卡尔曼滤波
代码片段和文件信息
clear all;clc;close all;
N = 10000;
h = [0.04-0.050.07-0.21-0.50.720.3600.210.030.07];
x = normrnd(011N);
d = conv(xh);
N1 = 25;
F = eye(N1);
K = eye(N1);
P = eye(N1);
W = zeros(N1N);
a = zeros(1N);
y = zeros(1N);
Q2 = 1e-4;
for n = N1:N
xn = x(n:-1:n-N1+1).‘;
a(n) = d(n) - xn.‘*W(:n-1);
Gn = K*conj(xn)/(xn.‘*K*conj(xn)+Q2);
W(:n) = W(:n-1) + Gn*a(n);
P = K - Gn*xn.‘*K;
K = P;
end
MSE = a;
J = a.*a;
for i = 1:length(a)
MSE(i) = mean(a(1:i));
end
figure(1);
subplot(221);
stem(h); title(‘未知的系统响应‘);
subplot(222);
stem(W(:N)); title(‘自适应滤波器‘)
subplot(223);
h(length(h)+1:length(W(:N))) = 0;
stem(h-W(:N).‘); title(‘h-W‘);
subplot(224);
plot(10*log10(abs(J(1:2000)))); title(‘学习曲线‘);
X0 = [x zeros(125)];
for n = 2:N
xn = X0(n+N1-1:-1:n).‘;
a(n) = d(n) - xn.‘*W(:n-1);
Gn = K*conj(xn)/(xn.‘*K*conj(xn)+Q2);
W(:n) = W(:n-1) + Gn*a(n);
P = K - Gn*xn.‘*K;
K = P;
end
MSE = a;
J = a.*a;
for i = 1:length(a)
MSE(i) = mean(a(1:i));
end
figure(2);
subplot(221);
stem(h); title(‘未知的系统响应‘);
subplot(222);
stem(W(:N)); title(‘自适应滤波器‘)
subplot(223);
h(length(h)+1:length(W(:N))) = 0;
stem(h-W(:N).‘); title(‘h-W‘);
subplot(224);
plot(10*log10(abs(J(1:2000)))); title(‘学习曲线‘);
% Q2 = exp(-(1:0.2:10));
% for i = 1:length(Q2)
% F = eye(N1);
% K = eye(N1);
% P = eye(N1);
% W = zeros(N1N);
% a = zeros(1N);
% y = zeros(1N);
% for n = N1:N
% xn = x(n:-1:n-N1+1).‘;
% a(n) = d(n) - xn.‘*W(:n-1);
% Gn = K*conj(xn)/(xn.‘*K*conj(xn)+Q2(i));
% W(:n) = W(:n-1) + Gn*a(n);
% P = K - Gn*xn.‘*K;
% K = P;
% end
% WW(i:) = W(:N).‘;
% ee(i:) = a;
% end
% MSE = ee;
% for j = 1:length(Q2)
% for i = 1:length(MSE(j:))
% MSE(ji) = mean(ee(j1:i));
% end
% end
% for n = 1:length(Q2)
% figure(3);
% subplot(221);
% stem(h); title(‘未知的系统响应‘);
% subplot(222);
% stem(WW(n:)); title(‘自适应滤波器‘)
% h(length(h)+1:length(W(:N))) = 0;
% subplot(223);
% stem(h-WW(n:)); title(‘h-W‘);
% subplot(224);
% plot(20*log10(abs(MSE(n:)))); title(‘遗忘因子对学习曲线的影响‘);
%
% end
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2394 2019-01-16 20:07 kalman_xitongbianshi.m
----------- --------- ---------- ----- ----
2394 1
- 上一篇:多普勒脉冲雷达回波仿真
- 下一篇:sharding-db按月分表分库
相关资源
- 多普勒脉冲雷达回波仿真
- 高通MSM8625救黑砖MPRG8625.hex 8625_msima
- MAX31855库
- kpca lda mds降维 人脸数据
- GA-BP遗传算法优化神经网络
- 光伏在MPPT下的boost电路
- Mahony和DCM理论
- ReimageRepair
- GMA302KU Datasheet
- pure_mathmodel_origin.slx
- PCL1.8 vs2013 CMAKE源码编译教程
- 射线追踪法
- workerman_gameMatch.zip
- 计算机视觉视差图SGBM算法
- 批量处理labelme生成的json工具
- BIGEMAP地图器_18@209548.exe.zip
- 随机梯度下降算法
- MPU6050用卡尔曼滤波解算姿态
- ISLR和Hands-On Machine Learning with Scikit-L
-
masm.exeli
nk.exedebug.exe - 烟花算法FWA
- 粒子群法经济调度
- 基础差分进化算法Rastrigin测试
- MATPOWER 潮流计算总结
- imagenet-vgg-m-2048
- 对bitmap的压缩设置32k以内,随意设置
- kalman-BP神经网络
- SSM完整框架
- SMART200程序
- ABC带约束优化算法
评论
共有 条评论