sy3_fft_bp.m
来自「现有一个信号:x(n)=1+cos(π*n/4)+ cos(2*π*n/3)设计」· M 代码 · 共 30 行
M
30 行
%滤除1+cos((2*pi*n)/3),保留cos((pi*n)/4)
omegap1=(3*pi)/16;omegap2=(5*pi)/16;Apmax=1;
omegar1=(1*pi)/16;omegar2=(5*pi)/9;Armin=50;
T=5*pi*10^(-6);
wp=[omegap1/pi,omegap2/pi];wr=[omegar1/pi,omegar2/pi];
[N,wc]=buttord(wp,wr,Apmax,Armin);
[b,a]=butter(N,wc,'bandpass');
sysl=tf(b,a)
w=linspace(0,2*pi,500);
h=freqz(b,a,w);
length(h)
mag=fftshift(20*log10(abs(h)));
n=0:23;
x=1+cos(pi/4*n)+cos(2*pi/3*n);
X=fft(x,500);
X1=fftshift(X);
omega=2*pi/500*([0:499]);
Y=fftshift(X.*h);
title('原信号');
ylabel('幅度');xlabel('频率');
subplot(3,1,1);plot(omega,abs(X1));axis([0,2*pi,0,35]);
title('滤波器幅频响应');
ylabel('Gain(dB)');xlabel('Frequency(rad)');
subplot(3,1,2);plot(w,mag);axis([0,2*pi,-100,5]);
subplot(3,1,3);
plot(omega,abs(Y));axis([0,2*pi,0,25]);
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?