%% Ejemplo filtro pasoalto de chebyshev-II analógico clear all; % Especif. fp=90e3; Ap=0.5; fs=20e3; As=50; %% Convertir filtro a pasobajo wp = 2*pi*fp; ws = 2*pi*fs; wlpp = 1/wp; wlps = 1/ws; e2 = 1/(10^(0.1*As)-1); n = acosh(sqrt(1/(10^(0.1*Ap)-1)/e2))/acosh(wlps/wlpp); n = ceil(n); wc = 1/wlps; theta=(1/n)*asinh(1/sqrt(e2)); k=1:n; alpha = (2*k-1)*pi/(2*n); % Determinacion de los polos y los ceros en el prototipo pk = 1./(-sinh(theta)*sin(alpha) +j*cosh(theta)*cos(alpha)); k = 1:n/2; phi = (2*k-1)*pi/(2*n); zk = [j./cos(phi) -j./cos(phi)]; [B,A]=zp2tf(zk',pk',1); %% Ajustar ganancia K = A(length(A))/B(length(B)); % Conversión a pasoalto [B1,A1] = lp2hp(K*B,A,wc); N=500; wi=2*pi*5e3; wf=2*pi*110e3; % Respuesta Frecuencial W=wi:(wf-wi)/N:wf; H1=freqs(B1,A1,W); subplot(3,1,2); plot(W/(2*pi),unwrap(angle(H1)));grid; ylabel(['Fase H(w) (rad)']); xlabel(['Frecuencia (Hz)']); % Retraso de grupo dW=(wf-wi)/N; phase=unwrap(angle(H1)); dphase = -diff(phase)/dW; subplot(3,1,3);plot(W(1:length(W)-1)/(2*pi),dphase);grid; ylabel(['Retraso de Grupo (s)']); xlabel(['Frecuencia (Hz)']); axis([0 wf/(2*pi) 0 inf]); subplot(3,1,1); plot(W/(2*pi),20*log10(abs(H1)));grid; ylabel(['|H(w)|']); xlabel(['Frecuencia (Hz)']); print -depsc2 hp_cheb2_ej