卡尔曼滤波报告

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

卡尔曼滤波实验报告一、实验任务产生含噪声信号X(n)=sin(2*pi*f*n)+w(n),f=0.05,w(n)~N(0,1.2)。编写程序运用卡尔曼滤波进行去噪处理,要求画出去噪前和去噪后图形,滤波误差及收敛过程。二、实验程序clc;clear;N=256;%信号与噪声的长度离散信号个数w=randn(1.2,N);%产生高斯白噪声,令方差为1.2f=0.05;%实正弦信号频率s=sin(2*pi*f*(0:N-1));%产生正弦信号subplot(311);plot(s);title('有用信号s(n)')gridon;x=s+w;subplot(312);plot(x);title('加噪信号x(n)')gridon;c=[1];%观测矩阵a=[1];%状态转移矩阵b=[1];%输入矩阵H=[1];R=std(w);%R是观测白噪声v(k)的方差Y(1)=20;P(1)=10;fori=1:1:N-1Y(i+1)=a*Y(i)+b*s(i);P(i+1)=a*P(i);Kg(i)=P(i+1)*H'*inv(H*P(i+1)*H'+R);Y(i+1)=Y(i+1)+Kg(i)*(x(i)-H*Y(i+1));P(i+1)=P(i+1)-Kg(i)*H*P(i+1);end;subplot(313);t=1:N;plot(t,Y);title('通过卡尔曼滤波后的估计信号y(n)')gridon;三、实验结果四、实验总结与维纳滤波器实验结果相比,卡尔曼滤波器的输出更加平滑,但是仍没有去除掉曲线中的椒盐噪声点,这一点需要继续改进。卡尔曼滤波就是根据前一个估计值x^k-1和当前的观测值yk来对信号作递推估计,得到x^k。首先建立卡尔曼滤波器的模型,由状态方程和观测方程xk=Akxk-1+wk-1,yk=Ckxk+vk,由此可得到k时刻的预测值x^k’=Ak-1x^k-1与估计值y^k’=Ckx^k’=CkAkx^k-1,定义新息y~k=yk-y^k’,由于wk-1和vk的影响才产生了y~k,为了得到最有估计值,有必要利用一系列矩阵Hk来校正预测值y^k’,此时x^k=Ak-1x^k-1+Hk(yk-CkAkx^k-1)上式为卡尔曼滤波器的递推方程,这样就可以根据前一个估计值x^k-1和当前观测值yk对信号作递推估计,得到x^k。

1 / 3
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功