
Wp = 40/500; Ws = 150/500; %归一化频率计算
[n,Wn] = buttord(Wp,Ws,3,60); %计算butterworth滤波器的阶数n和截止频率wn
% Returns n = 5; Wn=0.0810;
[b,a] = butter(n,Wn); %设计butterworth滤波器,返回滤波器系数
freqz(b,a,512,1000); %画出幅频特性
title('n=5 Butterworth Lowpass Filter')
[n,Wn] = buttord(Wp,Ws,3,60); %计算butterworth滤波器的阶数n和截止频率wn
% Returns n = 5; Wn=0.0810;
[b,a] = butter(n,Wn); %设计butterworth滤波器,返回滤波器系数
freqz(b,a,512,1000); %画出幅频特性
title('n=5 Butterworth Lowpass Filter')
%%butterworth
[nb,wnb]=buttord(0.3,0.4,1,50);
[bb,ab]=butter(nb,wnb);
fvtool(bb,ab)
%%Elliptic
[nb,wnb]=ellipord(0.3,0.4,1,50);
[bb,ab]=ellip(nb,1,50,wnb);
fvtool(bb,ab)
[nb,wnb]=buttord(0.3,0.4,1,50);
[bb,ab]=butter(nb,wnb);
fvtool(bb,ab)
%%Elliptic
[nb,wnb]=ellipord(0.3,0.4,1,50);
[bb,ab]=ellip(nb,1,50,wnb);
fvtool(bb,ab)

Wp = [60 200]/500; Ws = [10 250]/500;
Rp = 3; Rs = 40;
[n,Wn] = buttord(Wp,Ws,Rp,Rs);
% Returns n =16; Wn =[0.1198 0.4005];
[b,a] = butter(n,Wn);
freqz(b,a,128,1000)
title('n=16 Butterworth Bandpass Filter')
Rp = 3; Rs = 40;
[n,Wn] = buttord(Wp,Ws,Rp,Rs);
% Returns n =16; Wn =[0.1198 0.4005];
[b,a] = butter(n,Wn);
freqz(b,a,128,1000)
title('n=16 Butterworth Bandpass Filter')