📄 gonglvpuguji.m
字号:
n=0:2*pi/500:2*pi-pi/250;
%x方向上的处理
s=cos(n);
v=normrnd(0,sqrt(0.05),1,500);
x=s+v;
N=2;
E1=4;
emin=zeros(1,N);
while (E1>1&&N<500)
rx1=xcorr(x,x); %输入的自相关函数
rx2=rx1(500:500+N); %取自相关从(0—N)的值
Rxx=toeplitz(rx2); %生成自相关矩阵
Rxd1=xcorr(x,s); %互相关
Rxd2=Rxd1(500:500+N);
Hopt=pinv(Rxx)*Rxd2';
xo1=conv(x,Hopt');
xo2=xo1(1:500);
e1=(s-xo2);
E1=norm(e1,2)^2;
emin(N)=E1;
N=N+1
end
subplot(2,2,1);plot(n,s);title('x方向的期望信号');
subplot(2,2,2);plot(n,v);title('x方向的噪声信号');
subplot(2,2,3);plot(n,x);title('x方向的实际输入信号');
subplot(2,2,4);plot(n,xo2);title('x方向的滤波输出信号');
sy=sin(n);
vy=normrnd(0,sqrt(0.06),1,500);
y=sy+vy;
M=2;
E2=4;
eminy=zeros(1,M);
while (E2>1.5&&M<500)
ry1=xcorr(y,y);
ry2=ry1(500:500+M);
Ryy=toeplitz(ry2);
Ryd1=xcorr(y,sy);
Ryd2=Ryd1(500:500+M);
Hopty=pinv(Ryy)*Ryd2';
yo1=conv(y,Hopty');
yo2=yo1(1:500);
e2=(sy-yo2);
E2=norm(e2,2)^2;
eminy(M)=E2;
M=M+1
end
figure
subplot(2,2,1);plot(n,sy);title('y方向的期望信号');
subplot(2,2,2);plot(n,vy);title('y方向的噪声信号');
subplot(2,2,3);plot(n,y);title('y方向的实际输入信号');
subplot(2,2,4);plot(n,yo2);title('y方向的滤波输出信号');
figure
plot(s,sy,'-r');title('期望信号');
figure
plot(x,y,'g');title('加入噪声后的信号');
figure
plot(xo2,yo2,'-b');title('滤波输出信号');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -