1 简介
卡尔曼滤波算法是一种线性,递归的估值方法,在多领域,尤其在导航领域得到了非常广泛的应用.本文利用MATLAB仿真软件实现卡尔曼滤波器.通过实例来验证基于MATLAB设计的卡尔曼滤波器的滤波效果良好,观察噪声越小,系统噪声越大,递推次数越多,卡尔曼滤波器校正作用越好.
2 部分代码
clear;clc;close allN=100;v=randn(1,N);a1=-1.352;a2=1.338;a3=-0.662;a4=0.240;x(1)=v(1);x(2)=-a1*x(1)+v(2);x(3)=-a1*x(2)-a2*x(1)+v(3);x(4)=-a1*x(3)-a2*x(2)-a3*x(1)+v(4);for n=1:N-4; x(n+4)=-a1*x(n+3)-a2*x(n+2)-a3*x(n+1)-a4*x(n)+v(n+4); %产生真实数据endv2=randn(1,N);%观测噪声error_px=X(1,:)-x;%x距离误差%绘图t=1:N;figure(1);plot(t,x,'k-',t,z,'g:',t,X(1,:),'r-.');legend('真实轨迹','观测样本','估计轨迹');figure(2)plot(error_px);legend('估计误差');
3 仿真结果
4 参考文献
[1]张宪, and 崔岩. "卡尔曼滤波与维纳滤波在运动模糊图像恢复中的应用." 电脑开发与应用 08(2008):19-20.
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。
部分理论引用网络文献,若有侵权联系博主删除。