Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Tarea 6. Diseño de Filtros Digitales
Tarea 6. Diseño de Filtros Digitales
Resumen— Este documento pretende dar a conocer los conceptos Inversión de la transformada Z:
básicos del manejo de filtros, en especial los llamados filtros de
respuesta finita al impulso (FIR) y filtros de respuesta infinita al definida como:
impulso(IIR), permitiendo una mayor comprensión de las
características, capacidades y aplicaciones de los mismos , al
implementar simulaciones de filtrado de señales en Matlab.
Dado que es necesario comprender el comportamiento de la entrada En el aula virtual existe una presentación (archivo pdf) sobre el tema
y la salida de un sistema, la relación de estas funciones se conoce de diseño de filtros digitales. Utilícela como guía para abordar el tema.
como la función de transferencia.
✓ ¿Qué significa la sigla FIR?
Significa Respuesta finita al impulso, obteniendo valores en la señal
reales, es decir no nulos
Página 1 de 13
INFORME TAREAS SEÑALES Periodo 2019-2
DEPARTAMENTO DE INGENIERÍA MECATRÓNICA
• Función de transferencia
En el caso de la función de transferencia la sumatoria toma como Al usar coeficientes con simetría par o impar, se evita la distorsión de
valores: fase gracias a la linealidad de la misma. Obteniendo fases con valores
𝑀−1 de π/2 o 0, y al volver las muestras causales se usan los retardos
𝐻(𝑧) = ∑ ℎ(𝑘)𝑧 −𝑘 adecuados.
𝑘=0
Página 2 de 13
INFORME TAREAS SEÑALES Periodo 2019-2
DEPARTAMENTO DE INGENIERÍA MECATRÓNICA
verifican las especificaciones con 2. Los filtros IIR producen en general distorsión de fase.
menor orden. Se plantea el diseño del filtro como un problema de 3. La posibilidad de desbordamiento de los resultados en
aproximación de Chebyshev, en que el error de aproximación entre la las operaciones realizadas debe ser consideradas ya
respuesta en frecuencia ideal y la real se reparten uniformemente en que un filtro IIR se implementa mediante sumas de
cada banda, pasante y atenuada, minimizando el error máximo en cada productos que están basadas en una suma infinita.
una de ellas. Obteniendo un filtro con rizado en ambas bandas
En Matlab se usa la función remez(...), o aun mejor firpm(...)
sin embargo, los filtros IIR no pueden diseñarse para tener fase
lineal, No obstante, Existen técnicas de compensación de fase
FILTRO IIR
mediante la utilización de filtros pasa todo, al precio de
▪ ¿Qué significa la sigla IIR? aumentar la longitud total del filtro.
Significa Respuesta infinita al impulso, en los cuales la salida Teniendo en cuenta todo lo anterior y las características previas
de los filtros FIR, se puede resumir sus datos mas relevantes en
es función no sólo de la entrada actual y de las precedentes, sino
la siguiente tabla
también de las salidas anteriores.
FIR IIR
Cuando se aplica a filtros digitales, que implica en cuanto a: Son siempre estables Aun cuando los polos estén
▪ Ecuación en diferencias situados dentro del círculo
de radio unidad, pueden
presentar inestabilidades si
se implementan en sistemas
con aritmética de coma fija.
▪ Función de transferencia Pueden diseñarse para que Presentan mayor error de
presente fase lineal, no cuantización en función del
distorsionando las número de bits empleado
características de fase y el para almacenar los
retardo de grupo coeficientes y las variables
intermedias.
Requieren un mayor orden Son más apropiados cuando
▪ Ubicación de polos y ceros del filtro
para valores de la atenuación deseamos obtener regiones
Los filtros IIR más generales (ARMA) contienen solo polos. Si
y zonas de transición de transición estrechas.
los coeficientes del filtro son reales, si los polos son complejos
siempre aparecen como pares complejos conjugados.
similares lo que supone un
▪ Estabilidad mayor retardo en la
La condición de estabilidad, para sistemas causales implica que obtención de la respuesta y
los POLOS se encuentran en el interior de la circunferencia mayor consumo de memoria.
unidad.
▪ ¿Qué diferencias encuentra entre este tipo de filtros Es importante añadir, que los filtros IIR son usualmente mucho
con los anteriormente vistos (FIR)? más eficientes que los FIR, en términos de conseguir ciertas
Los filtros IIR, a pesar de consumir generalmente más recursos características de calidad para un mismo orden de filtro dado.
que las estructuras FIR recursivas, son con frecuencia la mejor Ello es debido a que un filtro IIR incorpora realimentación, por
opción cuando se necesitan las mayores velocidades de lo que es capaz de realizar los ceros y los polos de la función de
procesamiento. transferencia de un sistema, mientras que un filtro FIR
únicamente posee ceros. En determinadas aplicaciones este
Dentro de las ventajas que ofrecen los filtros IIR sobre los tipos hecho se traduce en que, para conseguir similares características
FIR encontramos: que un filtro IIR de 4º orden, por ejemplo, sea necesario un filtro
1. Los filtros IIR requieren menos memoria y menos FIR de varios cientos de etapas.
instrucciones para implementar su función de
transferencia. ✓ En la presentación se mencionan tres diferentes
2. Un filtro IIR se diseña mediante el cálculo de polos y estrategias para realizar el mapeo desde el plano S al
ceros en el plano complejo. El uso de polos confiere a plano Z.
un filtro IIR la capacidad de implementar funciones de
transferencia que es imposible de realizar mediante • Aproximación de derivadas.
filtros FIR.
3. Es posible trasladar un filtro IIR a un modelo analítico. -Método más sencillo.
-Aproximar una eq. diferencial por medio de una eq. en
Sin embargo, algunas consideraciones que se deben tener en diferencias.
cuenta en la implementación de filtros IIR son las siguientes: -frecuentemente utilizado para resolver numéricamente las eq.
diferenciales.
1. Los filtros IIR no son necesariamente estables, es tarea
del diseñador buscar la estabilidad del sistema.
Página 3 de 13
INFORME TAREAS SEÑALES Periodo 2019-2
DEPARTAMENTO DE INGENIERÍA MECATRÓNICA
1 − 𝑧 −1
𝑠≈
𝑇
𝑘 Es decir, se lleva a cabo una compresión de las frecuencias
1 − 𝑧 −1
𝑘
𝑠 ≈( ) analógicas. Este proceso de “Deformación” es lo que se
𝑇 denomina warping. de manera que al realizar la transformación
bilineal la frecuencia de corte sea la correcta. El proceso de
obtención de las frecuencias analógicas adecuadas se denomina
partiendo de filtros analógicos estables, no pueden diseñarse prewarping.
filtros pasa alta, al no poder ubicar polos fuera del círculo
sombreado. La transformación bilineal realiza un “mapeado”, entre los
dominios de Laplace y Z con una correspondencia 1 a 1 debido
• Invariancia al impulso. a la compresión de frecuencias (prewarping), por esta razón no
se produce aliasing como ocurre con el método del impulso
𝑧 ≈ 𝑒 𝑠𝑇 invariante.
𝑟𝑒 ≈ 𝑒 𝜎𝑇 𝑒 𝑗Ω𝑇
𝑗𝜔
Es por estas características que las funciones de discretización
y filtros de Matlab usan esta estrategia por defecto en sus
-Se mantiene la respuesta impulsional de ambos filtros. cálculos y aproximaciones.
-La estabilidad se mantiene (Filtros analógicos estables dan
lugar a filtros digitales estables) B. PARTE 2
-Dado que este método produce un “mapeado muchos a uno”; En el aula virtual existe un archivo .m con un ejemplo de diseño de
se va a producir aliasing. filtros FIR. Revíselo, entiéndalo, ejecútelo, observe los resultados (hay
pausas en el programa, presione enter para seguir ejecutando el
Si la frecuencia de muestreo es Ω = 2πFs , todas las frecuencia programa). El ejemplo toma como base el diseño de un filtro FIR pasa-
analógicas por encima de Ωs/2 producirán aliasing. Para que el bajos con las directrices enunciadas en la presentación.
método funcione adecuadamente el filtro analógico debe Consulte la ayuda de Matlab sobre el uso de las funciones FIR1,
Ω FIR2, FIRPM.
verificar 𝐻( Ω) ≅ 0 |Ω| > s Por esta razón este método no es
2
adecuado para el diseño de filtros pasa-alta ni elimina-banda
• Transformación bilineal.
2 1−𝑧 −1
𝑠≈ ( )
𝑇 1 + 𝑧 −1
Página 4 de 13
INFORME TAREAS SEÑALES Periodo 2019-2
DEPARTAMENTO DE INGENIERÍA MECATRÓNICA
%muestreo en frecuencia
Figura No. 2 Pasa bajas FIR enventanado %frec corte = 1/32
R=63;
%enventanado E=4;
%frec corte = 1/32 F=[0:R]/R;
h1n=fir1(50,1/16); A=[ones(1,E),zeros(1,R-E+1)];
y1n=filter(h1n,1,xn); h2n=fir2(50,F,A);
y1k=abs(fft(y1n)); y2n=filter(h2n,1,xn);
figure('name','enventanado'); y2k=abs(fft(y2n));
freqz(h1n,1); figure('name','muestreo en frecuencia');
freqz(h2n,1);
figure('name','enventanado');
subplot(2,1,1) figure('name','muestreo en frecuencia');
stem(n,y1n); subplot(2,1,1);
title('Señal filtrada con FIR1'); stem(n,y2n);
subplot(2,1,2); title('Señal filtrada con FIR2');
stem(k,y1k); subplot(2,1,2);
title('Espectro de frecuencia'); stem(k,y2k);
title('Espectro de frecuencia');
Página 5 de 13
INFORME TAREAS SEÑALES Periodo 2019-2
DEPARTAMENTO DE INGENIERÍA MECATRÓNICA
%enventanado
Figura No. 4 Pasa bajas FIR Parks-McClellan %frec corte = 1/32
h1n=fir1(50,1/16,'high');
%Parks-McClellan y1n=filter(h1n,1,xn);
y1k=abs(fft(y1n));
R=63; figure('name','enventanado');
E=4; freqz(h1n,1);
F=[0:R]/R;
A=[ones(1,E),zeros(1,R-E+1)]; figure('name','enventanado');
h3n=firpm(50,F,A); subplot(2,1,1)
y3n=filter(h3n,1,xn); stem(n,y1n);
y3k=abs(fft(y3n)); title('Señal filtrada con FIR1');
figure('name','Parks-McClellan'); subplot(2,1,2);
freqz(h3n,1); stem(k,y1k);
title('Espectro de frecuencia');
figure('name','Parks-McClellan');
subplot(2,1,1) title('Espectro de frecuencia');
stem(n,y3n);
title('Señal filtrada con FIRPM');
subplot(2,1,2);
stem(k,y3k);
title('Espectro de frecuencia');
Página 6 de 13
INFORME TAREAS SEÑALES Periodo 2019-2
DEPARTAMENTO DE INGENIERÍA MECATRÓNICA
Página 7 de 13
INFORME TAREAS SEÑALES Periodo 2019-2
DEPARTAMENTO DE INGENIERÍA MECATRÓNICA
figure('name','enventanado');
subplot(2,1,1)
stem(n,y1n);
title('Señal filtrada con FIR1');
subplot(2,1,2);
stem(k,y1k);
title('Espectro de frecuencia');
title('Espectro de frecuencia');
%muestreo en frecuencia
%frec corte = 1/32
R=63;
E=4;
F=[0:R]/R;
A=[zeros(1,64)];% Banda
A(E)=1;
h2n=fir2(50,F,A);
Figura No. 8 Pasa Banda enventanado y2n=filter(h2n,1,xn);
y2k=abs(fft(y2n));
%enventanado figure('name','muestreo en frecuencia');
%frec corte = 1/32 freqz(h2n,1);
h1n=fir1(50,[0.0624 0.0626]); figure('name','muestreo en frecuencia');
y1n=filter(h1n,1,xn); subplot(2,1,1);
y1k=abs(fft(y1n)); stem(n,y2n);
figure('name','enventanado'); title('Señal filtrada con FIR2');
freqz(h1n,1); subplot(2,1,2);
Página 8 de 13
INFORME TAREAS SEÑALES Periodo 2019-2
DEPARTAMENTO DE INGENIERÍA MECATRÓNICA
FILTROS IRR
Revise el ejemplo hecho en matlab que está disponible en el aula
virtual, recuerde que tiene pausas.
%Parks-McClellan
R=63;
E=4;
F=[0:R]/R;
A=[zeros(1,64)];% Banda
A(E)=1;
h3n=firpm(50,F,A);
y3n=filter(h3n,1,xn);
y3k=abs(fft(y3n));
figure('name','Parks-McClellan');
freqz(h3n,1);
figure('name','Parks-McClellan');
subplot(2,1,1)
stem(n,y3n);
title('Señal filtrada con FIRPM');
subplot(2,1,2); Figura No. 112 Señal de Prueba
stem(k,y3k);
title('Espectro de frecuencia'); ✓ ¿Cuál es la principal diferencia en el proceso de diseño de
los dos tipos de filtro (FIR, IIR)?
Página 9 de 13
INFORME TAREAS SEÑALES Periodo 2019-2
DEPARTAMENTO DE INGENIERÍA MECATRÓNICA
%Filtro Butterworth
%frec corte = 1/32
[b1,a1]=butter(3,1/16);
y1n=filter(b1,a1,xn);
y1k=abs(fft(y1n));
figure(2);
freqz(b1,a1);
figure()
subplot(2,1,1)
stem(n,y1n);
title('Señal filtrada');
subplot(2,1,2);
Página 10 de 13
INFORME TAREAS SEÑALES Periodo 2019-2
DEPARTAMENTO DE INGENIERÍA MECATRÓNICA
Página 11 de 13
INFORME TAREAS SEÑALES Periodo 2019-2
DEPARTAMENTO DE INGENIERÍA MECATRÓNICA
figure()
subplot(2,1,1);
stem(n,y2n);
title('Señal filtrada Filtro Chebyshev
tipo 1 BP');
subplot(2,1,2);
stem(k,y2k);
title('Espectro de frecuencia'); Figura No. 15 Filtro Chebyshev tipo 1 BP
figure()
subplot(2,1,1)
stem(n,y3n);
title('Señal filtrada Filtro Chebyshev
BP tipo 2');
subplot(2,1,2);
stem(k,y3k);
title('Espectro de frecuencia');
Página 12 de 13
INFORME TAREAS SEÑALES Periodo 2019-2
DEPARTAMENTO DE INGENIERÍA MECATRÓNICA
IV. CONCLUSIONES
1. Los filtros IIR son mucho más eficientes que los FIR,
en cuanto a conseguir ciertas características de calidad
para un mismo orden de filtro dado.
2. Para algunas aplicaciones conseguir caracteristicas
similares de un filtro IIR de 4to orden se requeriria el
uso de varios filtros FIR de muchas etapas, lo cual lo
haria muy ineficiente por lineas de codigo.
3. Por ultimo el filtro IIR contiene una realimentacion
que le permite ser capaz de realizar polos y ceros de
una function de trasnferencia de un sistema, algo que
no puede realizar el filtro FIR ya que este en solamente
posee zeros.
V. REFERENCIAS
Página 13 de 13