clear; % Especificaciones wp = 5000; ws = 8000; Ap = 1;As = 60; % Paso a especificaciones de pasobajo % Tablas 1 y 2 Wp = wp; Ws = ws; k1 = 10^(0.1*Ap)-1; k2 = 10^(0.1*As)-1; % Filtro de Butterworth e2b = k1; nb = ceil((log10(sqrt(k2/k1)))/log10(Ws/Wp)); v3 = (1/k1)^(1/(2*nb)); % Filtro de Chebyshev I e2c1 = k1; nc1 = ceil((acosh(sqrt(k2/k1)))/acosh(Ws/Wp)); % Filtro de Chebyshev II e2c2 = 1/k2; nc2 = ceil((acosh(sqrt(k2/k1)))/(acosh(Ws/Wp))); %Filtro elíptico [ne, Wn]=ellipord(wp, ws, Ap, As,'s'); % Diseńo del prototipo de filtro filtro pasobajo % Filtro de Butterworth [Z,P,K] = buttap(nb); [Bbp,Abp] = zp2tf(Z,P,K); % Filtro de Chebyshev I [Z,P,K] = cheb1ap(nc1,Ap); [Bc1p,Ac1p] = zp2tf(Z,P,K); % Filtro de Chebyshev II [Z,P,K] = cheb2ap(nc2,As); [Bc2p,Ac2p] = zp2tf(Z,P,K); %Filtro elíptico [Z,P,K] = ellipap(ne,Ap,As); [Be,Ae] = zp2tf(Z,P,K); % Convertir a Pasabajo % Filtro de Butterworth [Bb,Ab] = lp2lp(Bbp,Abp,Wp*v3); % Filtro de Chebyshev I [Bc1,Ac1] = lp2lp(Bc1p,Ac1p,Wp); % Filtro de Chebyshev II [Bc2,Ac2] = lp2lp(Bc2p,Ac2p,Ws); %Filtro elíptico [Be,Ae] = lp2lp(Be,Ae,Wp); fprintf(1,'Orden del filtro de Butterworth = %d\n',nb); fprintf(1,'Orden del filtro de Chebyshev I = %d\n',nc1); fprintf(1,'Orden del filtro de Chebyshev II = %d\n',nc2); fprintf(1,'Orden del filtro elíptico = %d\n',ne); % Respuestas frecuenciales de los tres filtros obtenidos W = 1:10:10000; [Hb]=freqs(Bb,Ab,W); Hb = 20*log10(abs(Hb)); [Hc1]=freqs(Bc1,Ac1,W); Hc1 = 20*log10(abs(Hc1)); [Hc2]=freqs(Bc2,Ac2,W); Hc2 = 20*log10(abs(Hc2)); [He]=freqs(Be,Ae,W); He = 20*log10(abs(He)); plot(W,Hb,'r',W,Hc1,'g',W,Hc2,'m',W,He,'b');hold; plot([wp ws],-[Ap As],'*y');grid;zoom;