Escolar Documentos
Profissional Documentos
Cultura Documentos
Digital, Entrada,
Tiempo, Proceso,
I. INTRODUCCIN
Filtros IIR
Los conceptos utilizados en el estudio de los filtros FIR
pueden ser aprovechados para los filtros IIR. El punto de
partida nuevamente es la ecuacin de diferencias lineal de
coeficientes constantes:
n=-M:M;
h=2*(Fc/Fsamp)*sinc(2*(Fc/Fsamp)*n);
figure; stem(n,h); grid on;
Donde M es el orden del filtro, y se grafica la respuesta
ideal del filtro en el dominio temporal n. El siguiente paso es
generar la respuesta en frecuencia ideal H:
F=-Fsamp/2:Fsamp/4999:Fsamp/2;
H=h*exp(-1j*2*pi*n'*F/Fsamp);
figure; plot(F,20*log10(abs(H)));grid on;
F es la frecuencia contra la cual se grafica nuestra respuesta
ideal. Seguido de esto definimos la ecuacin de nuestra
ventana, que para este ejemplo en particular usaremos una
ventana del tipo Hamming, pero tambin son definidas en la
toolbox las ventanas rectangular y Hanning.
w=0.54+0.46*cos(2*pi*n/(2*M+1));
figure; stem(n,w);
hw=h.*w;
figure; stem(n,hw);grid on;
La ecuacion de la ventana w es graficada contra el dominio
del tiempo, despus se obtiene el producto de nuestra h, que es
nuestra ecuacin del filtro y w, que es nuestra ventana, as
obtenemos la respuesta al impulso ideal. Finalmente
generamos nuestra respuesta en frecuencia de nuestro filtro y
graficamos:
Hw=hw*exp(-1j*2*pi*n'*F/Fsamp);
figure; plot(F,20*log10(abs(Hw))); grid on;
As es como queda finalizado nuestro cdigo para la
generacin de un filtro pasa-bajo por medio de una ventana
Hammig; El mtodo a seguir con los diversos tipos de filtros
(HPF, BPF, RBF) y las diferentes ventanas es muy similar al
seguido en este cdigo, con la excepcin del cambio de las
diferentes ecuaciones correspondientes a cada filtro y ventana.
La invarianza al impulso
La transformacin bilineal
2.
Predeformado de frecuencias
3.
4.
Calculo de la aproximacin
5.
Desnormalizacin
6.
Transformacin bilineal
Fs2=(Fsamp/pi)*tan(fs2*pi/Fsamp);
Fc2=(Fsamp/pi)*tan(fc2*pi/Fsamp);
Una vez optenidas estas frecuncias ahora se contina con la
normalizacin, donde nuestros filtros son convertidos a un
filtro pasa-bajas analgico. A continuacin se mostrara el
extracto de cdigo en con el cual se pasa de un paso de banda
al pasa-bajas analgico:
if strcmp(TipoFiltro,'BPF')==1;
Apn=Ap1;
Asn=max(As1,As2);
B=Fc1/Fs1;
C=Fs2/Fc2;
if B>C;
Fs11=(Fc1*Fc2)/Fs2;
Fs22=Fs2;
else
Fs11=Fs1;
Fs22=(Fc1*Fc2)/Fs1;
end
Fsn=(Fs22-Fs11)/(Fc2-Fc1);
End
Terminado esto y obtenindo los valores de Apn, Asn y Fsn se
continua con el calculo de la aproximacin, que como se haba
ya hablado anteriormente puede ser del tipo Butterworth,
Chebyshev, Bessel o Elptico, que para este caso se calculara
una Butterworth:
function [Nu,D]=AproxButter(Apn,Asn,Fsn)
E=sqrt((10^(Apn/10))-1);
alpha=sqrt((10^(Asn/10))-1);
n=log(alpha/E)/log(Fsn);
N=round(n);
Fa=E^(1/N);
k=Fa^-N;
if rem(N,2)==0
i=(N/2)+1;
a=(2/Fa)*abs(cos((2*i-1)*pi/(2*N)));
b=Fa^-2;
Nu=k;
D=[1, a, b];
else
i=(N+3)/2;
a=(2/Fa)*abs(cos((i-1)*pi/N));
b=Fa^-2;
Nu=k;
D=[1, (a+1/Fa), (b+a/Fa), b/Fa];
End
end
freqs(Nu,D);
end
Esta funcin entregara los valores de los coeficientes del
denominador y numerador de la funcin de transferencia del
filtro en el dominio de S. el siguiente paso consiste en la
desnormalizacin, que bsicamente es convertir nuestra
funcin de un filtro pasa-bajos en una funcin de nuestro filtro
original. El codigo para la conversin a un BPF es el
siguiente:
if strcmp(TipoFiltro,'BPF')==1;
U=size(D,2);
a=4*(pi^2)*Fc1*Fc2;
b=2*pi*(Fc2-Fc1);
III. CONCLUSIONES
Existen dos maneras de implementar filtros digitales: mediante
software y mediante hardware. La implementacin mediante
hardware tiene como ventaja principal la rpida velocidad con
que se ejecuta la etapa de filtrado y como principal desventaja
el costo alto que implica. En cambio para la implementacin
mediante software sucede lo contrario: el costo es menor pero
el tiempo que toma en realizar la etapa de filtrado es
relativamente mayor.
El filtraje digital constituye una herramienta muy importante
para el tratamiento de una seal analgica, porque se pueden
variar los parmetros del filtro digital (frecuencia de corte,
ancho de banda, etc.), lo cual no puede hacerse con un filtro
activo (analgico) donde hay que variar parmetros
(condensadores, resistencias, etc.).
if rem(U,2)==0;
n=[N*b^3,0,0,0];
d=[1, b*D(1,2), (3*a+D(1,3)*b^2),
(2*b*a*D(1,2)+D(1,4)*b^3), 3*a^2+a*D(1,3)*b^2,
b*D(1,2)*a^2, a^3];
else
n=[N*b^2, 0, 0];
d=[1, D(1,2)*b^2, 2*a+D(1,3)*b^2, D(1,2)*a*b^2, a^2];
end
end
Y ya finalmente se realiza el ltimo paso que es el mapeo por
medio de la transformacin binomial, para pasar del dominio
de S al dominio de Z con este simple cdigo:
function [Nz,Dz]=ApliBiline(Ns,Ds,Fsamp)
IV. REFERENCIAS
[1] Hamming, R.W; Editorial Prentince Hall, 1977
[2] Hovanessian, S.A;Pipes, Luis A.; Digital Computer
Methods in Engineering.
[3] McClelan, James H.; Computer-Based Excercises for
signal processing; Editorial Prentice Hall, 1990.