A1=10;
A2=1;
fs1=20;
fs2=50;
Fs=200;
N=200;
t=(0:N-1)/Fs;
y1=A1*sin(2*pi*fs1*t);
y2=A2*sin(2*pi*fs2*t);
y=y1+y2;
f=(0:N-1)*Fs./N;
Y=fft(y,N); %fft变换
Y=abs(Y)./N; %幅值变换
%Delta = 0.005;
fp=fs1;
fs=fs2;
ap=1;
as=35;
wp=2*pi*fp/Fs;%数字滤波器参数
ws=2*pi*fs/Fs;
Fs1=Fs/Fs;
T=1/Fs1;
Op=2/T*tan(wp/2);%转化为模拟滤波器参数
Os=2/T*tan(ws/2);
[N_1,Wn]=buttord(Op,Os,ap,as,'s');
[z,p,k]=buttap(N_1);%设计模拟低通的原型滤波器G(p)
[b,a]=zp2tf(z,p,k);
[B,A]=lp2lp(b,a,Op);
[Bz,Az]=bilinear(B,A,Fs1*T/2);
[H,w]=freqz(Bz,Az,256,Fs*Fs1);%IIR双线性变换法
figure
plot(w,abs(H))
title('IIR低通滤波器的幅频特性')
xlabel('频率(HZ)')
ylabel('幅值')
yy=filter(Bz,Az,y);
figure
subplot(2,1,1),plot(t,y)
title('滤波前的时域信号')
xlabel('时间(t)')
ylabel('幅值')
subplot(2,1,2),plot(t,yy);
title('滤波后的时域信号')
xlabel('时间(t)')
ylabel('幅值')
Y1=fft(yy,N); %fft变换
Y1=abs(Y1)./N; %幅值变换
figure
subplot(2,1,1),plot(f(1:N/2),Y(1:N/2));
title('滤波前的频率响应')
xlabel('频率(HZ)')
ylabel('幅值')
subplot(2,1,2),plot(f(1:N/2),Y1(1:N/2));
title('滤波后的频率响应')
xlabel('频率(HZ)')
ylabel('幅值')