资源简介
编的很完善的kalman滤波、平滑以及预测MATLAB程序。希望对大家有用,尤其是在校大学生。
代码片段和文件信息
%初始化
R=15; %测量噪声协方差
Q=25; %过程噪声协方差
A=randn(110) %产生10个随机数
v=sqrt(15)*randn(110) %产生测量噪声随机数
save(‘pinghua.mat‘‘A‘‘v‘)
load(‘pinghua.mat‘)
% 产生服从均匀分布的随即序列
% % A=-sqrt(75)+(2*sqrt(75))*rand(110)
% % v=-sqrt(45)+(2*sqrt(45))*rand(110)
% % save(‘junyunfenbu.mat‘‘A‘‘v‘)
% load(‘junyunfenbu‘)
%kalman滤波过程,X为kalman滤波结果,p_为一步预测协方差,p为滤波协方差
for k=1:10
%初始时刻的协方差
p(1)=100;
x(k+1)=A(k);
v(k+1)=v(k);
p_(k+1)=p(k)+Q;
%kalman滤波增益,因fai为单位阵,故一步预测值和初始值相等,即x(k+1|k)=x(k)
K(k+1)=p_(k+1)*inv(p_(k+1)+R);
y(k+1)=x(k+1)+v(k+1);
X(k+1)=x(k)+K(k+1)*(y(k+1)-x(k));
p(k+1)=(1-K(k+1))*p_(k+1);
end
%固定期间平滑过程,X1为固定期间平滑结果,p1为固定期间平滑协方差
N=length(p);
for k=N-1:-1:1
X1(N)=X(N);
p1(N)=p(N);
F(k)=p(k)*inv(p_(k+1));
p1(k)=p(k)-F(k)*(p_(k+1)-p1(k+1))*(F(k))‘;
X1(k)=X(k)+F(k)*(X1(k+1)-x(k));
end
%固定点平滑过程,Xp为固定点平滑结果,Pp为固定点平滑协方差
for k=1:N-1
Xp(1)=X(1);
Pp(1)=100;
B(1)=1;
B(k+1)=B(k)*F(k);
- 上一篇:SVPWM matlab
- 下一篇:matlab和c程序混编提示找不到mex.h
相关资源
- 基于有源阻尼法的LCL型并网逆变器S
- matlab模板实现对图像的平均滤波处理
- RLS自适应滤波器的matlab设计与仿真
- fir与irr滤波器
- LMS算法及归一化LMS算法的MATLAB代码
- 基于背景差分法和卡尔曼滤波器的追
- 维纳滤波器
- matlab制作梳状滤波器
- MATLAB高通滤波器程序
- 数字信号处理课程设计
- 三相有源电力滤波器设计
- matlab心电信号处理
- 基于matlab的傅里叶频域滤波
- MATLAB代码,用于快速平滑滤波
- 循环谱估计_时间平滑FFT积累方法
- PDM转PCM参考文献文献
- 基于MPPT的新能源逆变滤波系统
- matlab图像处理自适应中值滤波
- 高斯混合概论假设密度滤波MATLAB代码
- kalman滤波器VD、CA、CV算法实现目标跟
- 低通滤波器 MATLAB程序
- EKF扩展卡尔曼滤波程序
- 各向异性滤波的matlab程序一维、二维
- Kalman滤波S-Function程序
- sinc加窗滤波器
- FIR高通/低通/带通/带阻滤波器设计
- TDOA_AOA定位的扩展卡尔曼滤波算法MA
-
三电平SVPWM有源电力滤波器simuli
nk仿 - matlab车牌图像分割
- 多相滤波数字信道化MATLAB源码
评论
共有 条评论