📄 sigpro.m
字号:
%sigpro.m现代数字信号处理第一次上机作业.
theta=linspace(0,2*pi,500);%产生500个方位角;
Sx=cos(theta);%产生期望信号在X轴上的分量500个;
Sy=sin(theta);%产生期望信号在Y轴上的分量500个;
Nx=normrnd(0,0.05,1,500);%产生干扰为均值为0,方差为0.05的高斯噪声;
Ny=normrnd(0,0.06,1,500);%产生干扰为均值为0,方差为0.06的高斯噪声;
Xx=Sx+Nx;%构造观测信号的X分量;
Xy=Sy+Ny;%构造观测信号的Y分量;
Hx=Wiener(Xx,Sx,25);%构造X方向的维纳滤波器;
Hy=Wiener(Xy,Sy,25);%构造Y方向的维纳滤波器;
%Hx=Wiener2(Sx,0.05,25);%构造X方向的维纳滤波器;
%Hy=Wiener2(Sy,0.06,25);%构造Y方向的维纳滤波器;
Yx=conv(Xx,Hx);
Yx=Yx([1:500]);
Yy=conv(Xy,Hy);
Yy=Yy([1:500]);
ex=(Yx-Sx).^2;%X方向误差信号的平方.
ey=(Yy-Sy).^2;%X方向误差信号的平方.
%plot(Sx,Sy,'r:',Xx,Xy,'b-.',Yx,Yy,'r');title('维纳滤波器仿真结果');legend('期望信号','观测信号','输出信号');axis square;
subplot(2,2,1);
plot(theta,Sx,'r:',theta,Xx,'b-.',theta,Yx,'r');title('X方向维纳滤波器仿真结果');legend('期望信号','观测信号','输出信号');
subplot(2,2,2);
plot(theta,ex,theta,Nx,'r');title('X方向维纳滤波器仿真结果');legend('误差信号','噪声信号');
subplot(2,2,3);
plot(theta,Sy,'r:',theta,Xy,'b-.',theta,Yy,'r');title('Y方向维纳滤波器仿真结果');legend('期望信号','观测信号','输出信号');
subplot(2,2,4);
plot(theta,ey,theta,Ny,'r');title('Y方向维纳滤波器仿真结果');legend('误差信号','噪声信号');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -