N=1000; xt=xtg(N);
% Wp=0.24*pi;Ws=0.3*pi;Rp=0.1;Rs=60;fs=1000;
% [N, Wn] = buttord(Wp, Ws, 0.1, 60, 's');
% [B,A]=butter(N, Wn,'s'); %N阶, Wn ,模拟
% [num1,den1]=impinvar(B,A,1000); % B, A, fs
% [h1,w]=freqz(num1,den1);
% f=w/pi*500;
% subplot(2,1,1)
% plot(f, abs(h1)); grid;
% xlabel('f/Hz');ylabel('H(z)');title('脉冲响应不变法设计的巴特沃斯低通滤波器')
% Results=filter(num1,den1,xt);
% subplot(2,1,2)
% plot(Results);grid;
% xlabel('f/Hz');ylabel('Yw(t)');title('噪声滤除后的信号波形')
% wc=2*1000*tan(2*pi*120/(2*1000));
% wr=2*1000*tan(2*pi*150/(2*1000));
% [n,wn]=buttord(wc,wr,0.1,60,'s');
% [B,A]=butter(n,wn,'low','s');
% [num2,den2]=bilinear(B,A,1000);
% [h2,w]=freqz(num2,den2);
% f=w/pi*500;
% % f=(2/pi)*(fs/2);
% subplot(2,1,1)
% plot(f, abs(h2)); grid;
% xlabel('f/Hz');ylabel('H(z)');title('双线性变换法设计的巴特沃斯低通滤波器')
% Results=filter(num2,den2,xt);
% subplot(2,1,2)
% plot(Results);grid;
% xlabel('f/Hz');ylabel('Yw(t)');title('噪声滤除后的信号波形')
% wc=2*1000*tan(2*pi*120/(2*1000));
% wr=2*1000*tan(2*pi*150/(2*1000));
% [n,wn]=cheb1ord(wc,wr,0.1,60,'s');
% [B,A]=cheby1(n,0.1,wn,'low','s');
% [num2,den2]=bilinear(B,A,1000);
% [h2,w]=freqz(num2,den2);
% f=w/pi*500;
% % f=(2/pi)*(fs/2);
% subplot(2,1,1)
% plot(f, abs(h2)); grid;
% xlabel('f/Hz');ylabel('H(z)');title('双线性变换法设计的切比雪夫低通滤波器')
% Results=filter(num2,den2,xt);
% subplot(2,1,2)
% plot(Results);grid;
% xlabel('f/Hz');ylabel('Yw(t)');title('噪声滤除后的信号波形')
wc=2*1000*tan(2*pi*120/(2*1000));
wr=2*1000*tan(2*pi*150/(2*1000));
[n,wn]=ellipord(wc,wr,0.1,60,'s');
[B,A]=ellip(n,0.1,60,wn,'low','s');
[num2,den2]=bilinear(B,A,1000);
[h2,w]=freqz(num2,den2);
f=w/pi*500;
% f=(2/pi)*(fs/2);
subplot(2,1,1)
plot(f, abs(h2)); grid;
xlabel('f/Hz');ylabel('H(z)');title('双线性变换法设计的椭圆低通滤波器')
Results=filter(num2,den2,xt);
subplot(2,1,2)
plot(Results);grid;
xlabel('f/Hz');ylabel('Yw(t)');title('噪声滤除后的信号波形')