You are on page 1of 16

Practica 7

Diseo de Filtros Digitales


Reyes Lpez Misael, Gonzlez Arevalo Elfrich, Ruiz Prez Christian (christianjord@hotmail.com).

Resumen
En esta prctica se realizaron varios tipos de filtros con funciones de Matlab especficas para ello, como por ejemplo, el "butter" que es un filtro Butterworth y la funcin "cheby1" que implementa un filtro Chebyshev en configuracin de pasa altas, pasa bajas y pasabanda en ambos filtros obteniendo su respuesta al impulso y su diagrama de polos.

Introduccin
El trmino filtro digital lo entenderemos como cualquier procesamiento realizado en una seal de entrada digital. Un filtro digital es la implementacion en hardware o software de una ecuacion en diferencia. Ventajas de los filtros digitales Alta inmunidad al ruido Alta precisin Fcil modificacin de las caracteristicas del filtro Muy bajo coste

[B,A]butter(N,Wn) B y A son los coeficientes del numerador y del denominador respectivamente, en orden decreciente de un filtro de Butterworth digital. N es el orden del filtro y Wn es la frecuencia de corte. El valor de Wn debe estar normalizado con la frecuencia de Nyquist. Para disear un filtro paso bajo Wn es un escalar entre (0,1). El pasa banda es (0,Wn). [B,A]cheby1(N,R,Wn) Diseo de filtros digitales de Chebyshev I. Se deben especificar el orden del filtro N, el rizado de pasabanda permitido R y la frecuencia de corte normalizada con respecto a la frecuencia de Nyquist.

H  freqz(B,A,F,Fs) Devuelve el vector H de nmeros complejos, que es la respuesta frecuencial al filtro cuya funcin de transferencia en z viene dada por B y A. La respuesta frecuencial se evala en los puntos especificados por el vector F en Hz, siendo la frecucuencia de muestreo Fs en Hz.

Problema 1
Ralice un programa en Matlab para un filtro Butterworth pasabajas,pasa altas y pasa banda.

Cdigo
function yfiltros(N,R,Wn,Wn1,Wn2,F) [Bb,Ab]  butter(N,Wn,high); [Bb1,Ab1]  butter(N,Wn1,low); [Bb2,Ab2]  butter(N,Wn2,bandpass); [Hb,Wb]  FREQZ(Bb,Ab,F,N); [Hb1,Wb1]  FREQZ(Bb1,Ab1,F,N); [Hb2,Wb2]  FREQZ(Bb2,Ab2,F,N); figure FREQZ(Bb,Ab,F,N) title(Butterworth Pasa Altas) figure FREQZ(Bb1,Ab1,F,N) title(Butterworth Pasa Bajas) figure FREQZ(Bb2,Ab2,F,N) title(Butterworth Pasa Banda)

Ejemplos
Para el filtro butterworth con entrada filtros(1,.5,.7,.7,[.5 .9],50) tenemos:

Pasa bajas.

Figura 1. Respuesta en magnitud y fase del filtro pasa bajas butterworth.

Pasa altas.

Figura 2. Respuesta en magnitud y fase del filtro pasa altas butterworth.

Pasa banda.

Figura 3. Respuesta en magnitud y fase del filtro pasa banda butterworth.

Problema 2
Ralice un programa en Matlab para un filtro Chebyshev pasabajas,pasa altas y pasa banda.

Cdigo
[B,A]  CHEBY1(N,R,Wn,high); [B1,A1]  CHEBY1(N,R,Wn1,low); [B2,A2]  CHEBY1(N,R,Wn2,bandpass); [H,W]  FREQZ(B,A,F,N); [H1,W1]  FREQZ(B1,A1,F,N); [H2,W2]  FREQZ(B2,A2,F,N); figure FREQZ(B,A,F,N) title(Chebyshev Pasa Altas) figure FREQZ(B1,A1,F,N) title(Chebyshev Pasa Bajas) figure FREQZ(B2,A2,F,N) title(Chebyshev Pasa Banda) figure H  tf(1,A2) % Transfer function h  impulse(1,A2,F); % Impulse Response s  step(1,A2,F); % Step Response t  linspace(0,F,length(h)); plot(t,h)

xlabel(Tiempo) ylabel(Amplitud) title(Respuesta al impulso normalizada (Chevyshev))

Ejemplos
Para el filtro chebyshev con entrada filtros(1,.5,.7,.7,[.5 .9],50) tenemos:

Pasa bajas.

Figura 4. Respuesta en magnitud y fase del filtro pasa bajas chebyshev.

Pasa altas.

Figura 5. Respuesta en magnitud y fase del filtro pasa altas chebyshev.

Pasa banda.

Figura 6. Respuesta en magnitud y fase del filtro pasa banda chebyshev.

Problema 3.
Tomando el ejemplo anterios la respuesta al impulso para el filtro Butterworth se describe como:

Pasa bajas.
Codigo: Hb  tf(1,Ab1) % Transfer function hb  impulse(1,Ab1,F); % Impulse Response sb  step(1,Ab1,F); % Step Response tb  linspace(0,F,length(hb)); plot(tb,hb) xlabel(Tiempo) ylabel(Amplitud) title(Respuesta al impulso normalizada (Butterworth))

Figura 7. Respuesta impulsional del filtro butterworth pasa bajas

Pasa Altas.
Codigo: Hb  tf(1,Ab) % Transfer function hb  impulse(1,Ab,F); % Impulse Response sb  step(1,Ab,F); % Step Response

Figura 8. Respuesta impulsional del filtro butterworth pasa altas.

Pasa Banda.
Codigo: Hb  tf(1,Ab2) % Transfer function hb  impulse(1,Ab2,F); % Impulse Response

sb  step(1,Ab2,F); % Step Response

Figura 9. Respuesta impulsional del filtro butterworth pasa banda.

Problema 4.
Respuesta al impulso para el filtro Chebyshev

Pasa Bajas
Cdigo H  tf(1,A1) % Transfer function h  impulse(1,A1,F); % Impulse Response s  step(1,A1,F); % Step Response t  linspace(0,F,length(h)); plot(t,h) xlabel(Tiempo) ylabel(Amplitud) title(Respuesta al impulso normalizada (Chevyshev))

Figura 10. Respuesta impulsional del filtro chebyshev pasa bajas.

Pasa Altas
Cdigo H  tf(1,A) % Transfer function h  impulse(1,A,F); % Impulse Response s  step(1,A,F); % Step Response

Figura 11. Respuesta impulsional del filtro chebyshev pasa altas.

Pasa Banda
Cdigo H  tf(1,A2) % Transfer function

h  impulse(1,A2,F); % Impulse Response s  step(1,A2,F); % Step Response

Figura 12. Respuesta impulsional del filtro chebyshev pasa banda.

Problema 4.
*Respuesta al impulso para el filtro Butterworth

Pasa Bajas,Pasa Altas y Pasa Banda.


Cdigo figure zplane(Bb1,Ab1) title(Diagrama de polos y ceros (Pasa-Bajas)) figure zplane(Bb,Ab) title(Diagrama de polos y ceros (Pasa-Bajas)) figure zplane(Bb2,Ab2) title(Diagrama de polos y ceros (Pasa-Bajas))

Figura 13. Diagrama de polos y ceros del filtro Butterworth (Pasa-bajas).

Figura 14. Diagrama de polos y ceros del filtro Butterworth (Pasa-altas).

Figura 15. Diagrama de polos y ceros del filtro Butterworth (Pasa-altas).

*Respuesta al impulso para el filtro Chevyshev

Pasa Bajas,Pasa Altas y Pasa Banda.


Cdigo figure zplane(B1,A1) title(Diagrama de polos y ceros (Pasa-Bajas)) figure zplane(B,A) title(Diagrama de polos y ceros (Pasa-Altas)) figure zplane(B2,A2) title(Diagrama de polos y ceros (Pasa-Bandas))

Figura 16. Diagrama de polos y ceros del filtro chevyshev (Pasa-bajas).

Figura 17. Diagrama de polos y ceros del filtro chevyshev (Pasa-altas).

Figura 17. Diagrama de polos y ceros del filtro chevyshev (Pasa-bandas).

Conclusiones.
El uso de filtros en seales discretas proporciona diferentes tipos de respuestas dependiendo del tipo de filtro y caractersticas del mismo, como la ubiccin de sus polos y ceros por lo que tener conocimiento de ellos y sus comportamientos ayuda en buena medida en el diseo de sistemas y su implementacin. As mismo observamos que aunque las frecuencias de corte en un filtro Chebyshev y en un Butterworth aunque sean iguales tienen comportamientos diferentes en el rizo de la banda de paso y en la banda transicin.

Bilbliografa.
TRATAMIENTO DIGITAL DE SEALES PROAKIS, JOHN G. \ MANOLAKIS DIMITRIS G. 1998

Anexos
Programa principal de los filtros. function yfiltros(N,R,Wn,Wn1,Wn2,F) [B,A]  CHEBY1(N,R,Wn,high); [B1,A1]  CHEBY1(N,R,Wn1,low); [B2,A2]  CHEBY1(N,R,Wn2,bandpass);

[H,W]  FREQZ(B,A,F,N); [H1,W1]  FREQZ(B1,A1,F,N); [H2,W2]  FREQZ(B2,A2,F,N); figure FREQZ(B,A,F,N) title(Chebyshev Pasa Altas) figure FREQZ(B1,A1,F,N) title(Chebyshev Pasa Bajas) figure FREQZ(B2,A2,F,N) title(Chebyshev Pasa Banda) figure zplane(B1,A1) title(Diagrama de polos y ceros (Pasa-Bajas)) figure zplane(B,A) title(Diagrama de polos y ceros (Pasa-Altas)) figure zplane(B2,A2) title(Diagrama de polos y ceros (Pasa-Bandas)) figure H  tf(1,A2) % Transfer function h  impulse(1,A2,F); % Impulse Response s  step(1,A2,F); % Step Response t  linspace(0,F,length(h)); plot(t,h) xlabel(Tiempo) ylabel(Amplitud) title(Respuesta al impulso normalizada (Chevyshev)) %/Butterworth [Bb,Ab]  butter(N,Wn,high); [Bb1,Ab1]  butter(N,Wn1,low); [Bb2,Ab2]  butter(N,Wn2,bandpass); [Hb,Wb]  FREQZ(Bb,Ab,F,N); [Hb1,Wb1]  FREQZ(Bb1,Ab1,F,N); [Hb2,Wb2]  FREQZ(Bb2,Ab2,F,N); figure FREQZ(Bb,Ab,F,N) title(Butterworth Pasa Altas)

figure FREQZ(Bb1,Ab1,F,N) title(Butterworth Pasa Bajas) figure FREQZ(Bb2,Ab2,F,N) title(Butterworth Pasa Banda) figure zplane(Bb1,Ab1) title(Diagrama de polos y ceros (Pasa-Bajas)) figure zplane(Bb,Ab) title(Diagrama de polos y ceros (Pasa-Altas)) figure zplane(Bb2,Ab2) title(Diagrama de polos y ceros (Pasa-Bandas)) figure Hb  tf(1,Ab2) % Transfer function hb  impulse(1,Ab2,F); % Impulse Response sb  step(1,Ab2,F); % Step Response tb  linspace(0,F,length(hb)); plot(tb,hb) xlabel(Tiempo) ylabel(Amplitud) title(Respuesta al impulso normalizada (Butterworth))

You might also like