您好,欢迎来到华佗小知识。
搜索
您的当前位置:首页维纳滤波

维纳滤波

来源:华佗小知识
clear; clf;

sita=0:pi/249.5:2*pi;

xnoise=sqrt(0.05)*randn(1,500);%产生x轴方向噪声 ynoise=sqrt(0.06)*randn(1,500);%产生y轴方向噪声 x=cos(sita)+xnoise;

y=sin(sita)+ynoise;%产生x轴和y轴方向观测信号 %产生维纳滤波中x方向上观测信号的自相关矩阵 rxx=xcorr(x); for i=1:100 for j=1:100

mrxx(i,j)=rxx(500-i+j); end end

xd=cos(sita);

%产生维纳滤波中x方向上观测信号与期望信号的互相关矩阵 rxd=xcorr(x,xd); for i=1:100

mrxd(i)=rxd(499+i); end

hoptx=inv(mrxx)*mrxd';%由维纳-霍夫方程得到的x方向上的滤波器最优解 fx=conv(x,hoptx);%滤波后x方向上的输出 nx=sum(abs(xd).^2);

eminx=nx-mrxd*hoptx;%x方向上最小均方误差 %产生维纳滤波中y方向上观测信号的自相关矩阵 ryy=xcorr(y); for i=1:100 for j=1:100

mryy(i,j)=ryy(500-i+j); end end

yd=sin(sita);

%产生维纳滤波中y方向上观测信号与期望信号的互相关矩阵 ryd=xcorr(y,yd); for i=1:100

mryd(i)=ryd(499+i); end

hopty=inv(mryy)*mryd';%由维纳-霍夫方程得到的y方向上的滤波器最优解 fy=conv(y,hopty);%滤波后y方向上的输出 ny=sum(abs(yd).^2);

eminy=ny-mryd*hopty;%y方向上最小均方误差 subplot(2,5,1) plot(xd);

title('x方向期望信号');

subplot(2,5,2) plot(xnoise);

title('x方向噪声信号'); subplot(2,5,3) plot(x);

title('x方向观测信号'); subplot(2,5,4) n=0:500;

plot(n,eminx);

title('x方向最小均方误差'); subplot(2,5,5) n=0:598; plot(n,fx);

title('x方向滤波后信号'); subplot(2,5,6) plot(yd);

title('y方向期望信号'); subplot(2,5,7) plot(ynoise);

title('y方向噪声信号'); subplot(2,5,8) plot(y);

title('y方向观测信号'); subplot(2,5,9) n=0:500;

plot(n,eminy);

title('y方向最小均方误差'); subplot(2,5,10) n=0:598; plot(n,fy);

title('y方向滤波后信号'); figure;

plot(xd,yd,'k');%期望信号 hold on ;

plot(x,y,'b:');%观测信号 hold on;

plot(fx,fy,'g-'); title('最终结果') >> clear; clf;

sita=0:pi/249.5:2*pi;

xnoise=sqrt(0.05)*randn(1,500);%产生x轴方向噪声 ynoise=sqrt(0.06)*randn(1,500);%产生y轴方向噪声 x=cos(sita)+xnoise;

y=sin(sita)+ynoise;%产生x轴和y轴方向观测信号 %产生维纳滤波中x方向上观测信号的自相关矩阵 rxx=xcorr(x); for i=1:100 for j=1:100

mrxx(i,j)=rxx(500-i+j); end end

xd=cos(sita);

%产生维纳滤波中x方向上观测信号与期望信号的互相关矩阵 rxd=xcorr(x,xd); for i=1:100

mrxd(i)=rxd(499+i); end

hoptx=inv(mrxx)*mrxd';%由维纳-霍夫方程得到的x方向上的滤波器最优解 fx=conv(x,hoptx);%滤波后x方向上的输出 nx=sum(abs(xd).^2);

eminx=nx-mrxd*hoptx;%x方向上最小均方误差 %产生维纳滤波中y方向上观测信号的自相关矩阵 ryy=xcorr(y); for i=1:100 for j=1:100

mryy(i,j)=ryy(500-i+j); end end

yd=sin(sita);

%产生维纳滤波中y方向上观测信号与期望信号的互相关矩阵 ryd=xcorr(y,yd); for i=1:100

mryd(i)=ryd(499+i); end

hopty=inv(mryy)*mryd';%由维纳-霍夫方程得到的y方向上的滤波器最优解 fy=conv(y,hopty);%滤波后y方向上的输出 ny=sum(abs(yd).^2);

eminy=ny-mryd*hopty;%y方向上最小均方误差 subplot(2,5,1) plot(xd);

title('x方向期望信号'); subplot(2,5,2) plot(xnoise);

title('x方向噪声信号'); subplot(2,5,3) plot(x);

title('x方向观测信号');

subplot(2,5,4) n=0:500;

plot(n,eminx);

title('x方向最小均方误差'); subplot(2,5,5) n=0:598; plot(n,fx);

title('x方向滤波后信号'); subplot(2,5,6) plot(yd);

title('y方向期望信号'); subplot(2,5,7) plot(ynoise);

title('y方向噪声信号'); subplot(2,5,8) plot(y);

title('y方向观测信号'); subplot(2,5,9) n=0:500;

plot(n,eminy);

title('y方向最小均方误差'); subplot(2,5,10) n=0:598; plot(n,fy);

title('y方向滤波后信号'); figure;

plot(xd,yd,'k');%期望信号 hold on ;

plot(x,y,'b:');%观测信号 hold on;

plot(fx,fy,'g-'); title('最终结果');

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo0.cn 版权所有 湘ICP备2023017654号-2

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务