Ejercicios - Diseño de Filtros
Ejercicios - Diseño de Filtros
Ejercicios - Diseño de Filtros
Ejercicios propuestos*
12 de febrero de 2019
Resumen
El filtro de tiempo discreto con respuesta al impulso de duración infinita es la estructura de pro-
cesamiento de señales lineal más general posible. Calcula cada punto de salida a través de la ecuación de
diferencias recursiva:
XN XM
y[n] = − ak y[n − k] + bm x[n − m] (1)
k=1 m=0
la cual supone que ak y bm no son funciones de la variable de tiempo discreto n. Note que el filtro FIR1 es un
caso especial cuando N = 0 y únicamente se utilizan entradas pasadas. El problema de diseño es tomar un
desempeño deseado en la forma de especificaciones, usualmente en el dominio de la frecuencia y encontrar
el conjunto de coeficientes ak y bm del filtro que mejor se aproximan o los satisfacen. El filtro de tiempo
discreto IIR2 es análogo al filtro de tiempo continuo de circuito RLC o al filtro activo RC. Ciertamente, uno
de los métodos estándar de diseño de filtros IIR comienza con el diseño de un prototipo de tiempo continuo
que es convertido en un filtro de tiempo discreto equivalente.
La ventaja del filtro IIR sobre el filtro FIR es su mayor eficiencia. Uno puede con frecuencia satisfacer
un conjunto de especificaciones con un filtro IIR de orden significativamente más bajo que un filtro FIR.
Las desventajas del filtro IIR son los problemas con la estabilidad y con los efectos de la cuantificación,
la imposibilidad de una respuesta en frecuencia exactamente de fase lineal y algoritmos de diseño más
complicados. La mayorı́a de las buenas y malas caracterı́sticas vienen de la retroalimentación inherente en
los filtros IIR. Es la retroalimentación de los valores pasados de la salida que pueden causar que el filtro
sea inestable o amplifique los efectos de la cuantificación numérica y es la retroalimentación la que da la
respuesta de duración infinita.
Varios métodos de diseño de filtros IIR utilizan un filtro de tiempo continuo como un prototipo el cual
es convertido en un filtro IIR (digital) de tiempo discreto. Algunos de los ejercicios se interesan por las
caracterı́sticas de filtros analógicos pero la meta es el diseño de filtros digitales. El propósito de esta sección
es familiarizarse con las caracterı́sticas de los filtros IIR y algunos de los métodos de diseño estándar. Usted no
deberı́a únicamente evaluar el desempeño de estos filtros, usted deberı́a compararlos con las alternativas, los
filtros FIR. Se acostumbra utilizar el orden en lugar de la longitud cuando se establecen las especificaciones
de los filtros IIR.
Palabras clave: filtros digitales, diseño de filtros IIR, filtros de Butterworth, filtros de Chebyshev, filtros
de Cauer o elı́pticos.
* Estos ejercicios fueron tomados del libro Computer-Based Exercises for Signal Processing Using Matlab.
1 FIR es el acrónimo de las palabras inglesas Finite Impulse Response.
2 IIR es el acrónimo de las palabras inglesas Infinite Impulse Response.
1
1. Caracterı́sticas de los Filtros IIR 2. El filtro analógico de Chebyshev tiene un error máximo
mı́nimo sobre la banda de paso y una aproximación de
Esta sección utilizará Matlab para diseñar rápidamente Taylor en Ω = ∞. Al error máximo sobre una banda
varios tipos de filtros IIR de tiempo discreto y analizar sus se le llama error de Chebyshev. Esta terminologı́a pue-
caracterı́sticas. Hay tres descripciones de un filtro que de- de ser confusa porque el filtro de Chebyshev minimiza
ben ser entendidas y relacionadas. Primero hay la respuesta el error de Chebyshev únicamente sobre una banda. Una
al impulso, la cual es la descripción más básica de entrada– de las caracterı́sticas interesantes y fácilmente observada
salida en el dominio del tiempo de un sistema lineal. Se- de una aproximación de Chebyshev es el hecho de que
gundo, hay la respuesta en frecuencia de magnitud y fase, el error oscila con ondulaciones de igual tamaño. Una
la cual es la descripción más básica de entrada–salida en el aproximación de Chebyshev es frecuentemente llamada
dominio de la frecuencia de un sistema lineal e invariante en una aproximación de igual ondulación, pero que puede
el tiempo. Tercero, hay el mapa de polos y ceros en el plano ser engañosa porque el error puede no ser sólamente la
complejo el cual es la descripción de la función de trans- ondulación igual sino que debe haber suficientes ondula-
ferencia más básica. En esta sección no consideraremos las ciones.
descripciones de espacio–estado puesto que ellas están más
relacionadas con la estructura de la implementación que con 3. El filtro analógico de Chebyshev II (algunas veces llama-
la aproximación. do el filtro de Chebyshev inverso) es una aproximación de
las series de Taylor en Ω = 0 y tiene un error de Chebys-
Descripción del proyecto hev mı́nimo en la banda de rechazo. Este es con frecuen-
cia una combinación de caracterı́sticas más práctica que
Hay cuatro filtros IIR clásicos y sus contrapartes analógicas: el usual filtro de Chebyshev.
(1) Butterworth, (2) Chebyshev, (3) Chebyshev II y (4) fun-
ción elı́ptica. Representan cuatro combinaciones diferentes 4. El filtro analógico de función elı́ptica (algunas veces lla-
de dos medidas de error de aproximación. Una medida de mado el filtro de Cauer ) utiliza una aproximación de
error usa las series de Taylor. Este método iguala tantas de- Chebyshev en las dos bandas, la banda de paso y la ban-
rivadas de la respuesta deseada como sea posible con aque- da de rechazo. Los filtros de Butterworth, Chebyshev y
llas de la respuesta real. El otro método de aproximación Chebyshev II tienen fórmulas que pueden calcular la posi-
minimiza la diferencia máxima entre las respuestas deseada ción de sus polos y ceros utilizando únicamente funciones
y real sobre una banda de frecuencias. trigonométricas; sin embargo, el filtro de función elı́ptica
Puesto que estaremos trabajando con filtros prototipo requiere evaluación de las funciones elı́pticas Jacobianas
analógicos (de tiempo continuo) junto con filtros digitales y las integrales elı́pticas completas y, por consiguiente, la
(de tiempo discreto), denotaremos la frecuencia de tiempo teorı́a es considerablemente más complicada. Afortuna-
continuo con omega mayúscula (Ω) y la frecuencia de tiempo damente, Matlab hace todo el trabajo por usted y son
discreto con la omega minúscula (ω). Todos los programas igualmente fáciles de diseñar.
de diseño de filtros analógicos de Matlab normalizan el
borde de la banda a Ω0 = 1. El concepto de amplitud no es Estos cuatro filtros analógicos óptimos pueden ser trans-
tan útil como para los filtros FIR y no será utilizado aquı́. formados en filtros digitales óptimos con la transformación
1. El filtro de Butterworth analógico está basado en una bilineal que es investigada en el siguiente proyecto. Los pro-
aproximación de series de Taylor en el dominio de la fre- gramas de diseño de filtros IIR en Matlab se encargan del
cuencia con expansiones en ω = 0 y ω = ∞. Este filtro diseño del filtro analógico y de la transformación bilineal
también es llamado como una aproximación máximamen- para la conversión a la forma digital automáticamente.
te plana puesto que es óptimo en el sentido que tantas
derivadas como sean posibles son iguales a cero en ω = 0 Sugerencias
y ω = ∞. Esta aproximación es local en que todas las
condiciones son aplicadas en únicamente dos puntos y es Uno puede calcular muestras de la respuesta en frecuencia
la suavidad de la respuesta la que influencia el comporta- de un filtro IIR a través de freqz, el cual calcula
miento en todas las demás frecuencias. La fórmula para
jωk
j2πk/L
DFT [b0 b1 · · · bM ]
la magnitud al cuadrado de la respuesta en frecuencia H e =H e = (3)
normalizada de un filtro pasa-bajos analógico de Butter- DFT [a0 a1 · · · aN ]
worth de orden N está dada por
Dibuje la posición de los polos sobre el plano complejo z
H(Ω)2 =
1 utilizando plot(roots(a),’x’), donde a es un vector de los
(2)
1 + Ω2N coeficientes del denominador; los ceros pueden ser dibujados
con plot(roots(b),’o’)3 . La respuesta al impulso puede
Esta respuesta está normalizada de manera que la mag-
generarse a través de filter y dibujarse con stem.
nitud al cuadrado es siempre 21 en Ω = 1 para cualquier
N . Reemplazando Ω por Ω/Ω0 permitirı́a un borde de 3 Vea zplane.m el cual hace todo esto y dibuja una circunferencia
2
Los comandos buttap, cheby1ap, cheby2ap y ellipap de la banda de paso de 0,5 dB. Dibuje la magnitud y la
diseñan prototipos analógicos que pueden ser transformados fase de la respuesta en frecuencia. Dibuje el diagrama de la
a una forma IIR digital utilizando el comando bilinear. localización de polos y ceros. Dibuje la parte significativa
Los comandos butter, cheby1, cheby2 y ellip diseñan fil- de la respuesta al impulso. Discuta cómo cada par de estas
tros IIR digitales (de tiempo discreto) por medio de especi- tres gráficas podrı́an ser inferidas de la tercera.
ficaciones predistorsionadas automáticamente, llamando el Repita para un filtro elı́ptico de quinto orden utilizando
programa de diseño de prototipo apropiado y luego aplican- ellip con un rizado de la banda de paso de 0,5 dB, borde
do la transformación bilineal. Usted debe leer el manual de de la banda de 0,6 Hz y rizado de la banda de rechazo que
Matlab acerca de estos comandos y también utilizando el es 30 dB menos que la respuesta de la banda de paso.
comando help. Usted debe también examinar los programas
archivos M que implementan los diseños. 1.4. Compare el orden de los 4 diseños
Todas las funciones de diseño de filtros de tiempo discre-
to en Matlab utilizan un escalamiento de frecuencia que Las especificaciones del filtrado de una tarea particular fue-
es algo no estándar. Cuando se entran las frecuencias de ron una frecuencia de muestreo de 2 Hz, rizado de la banda
corte ωp y ωs (en unidades de radianes), los valores deben de paso de 0,1, borde de la banda de paso de 0,28 Hz, bor-
ser divididos por π. Entonces, una frecuencia de corte espe- de de la banda de rechazo de 0,32 Hz y rizado de la banda
cificada como ωp = 0,22π debe ser introducida como 0.22 de rechazo por debajo de 30 dB. ¿Qué orden de los filtros
en Matlab. Este escalamiento no es la frecuencia norma- de Butterworth, Chebyshev, Chebyshev II y elı́ptico cum-
lizada usual donde la frecuencia de muestreo es uno, sino plirá estas especificaciones? Utilice los comandos buttord,
que asume una frecuencia de muestreo de dos muestras por cheb1ord, cheb2ord y ellipord. Discuta estos resultados
segundo. Por consiguiente, Si las especificaciones invocan y experimente con otras especificaciones. ¿Por qué el filtro
por una frecuencia de corte de 1000 Hz cuando la frecuen- elı́ptico siempre tiene el más bajo orden?
cia de muestreo es 5000 Hz, usted debe introducir 0.4 en
Matlab, debido a que la frecuencia de corte en radianes es 1.5. Compare los filtros IIR y FIR
ωc = 2π(1000/5000) = 2π(0,2) = 0,4π.
Muchos de los ejercicios preguntan por un diseño se- Después de trabajar el Ejercicio 1.4, diseñe un filtro FIR de
guido por dibujos de la respuesta al impulso, respuesta en Chebyshev para cumplir las mismas especificaciones. ¿Qué
frecuencia y gráficas de localización de polos y ceros. Serı́a longitud del filtro diseñado por el método de Parks-McCle-
útil escribir un archivo M para llevar a cabo este grupo de llan las cumplirá? ¿Qué longitud del filtro diseñado utilizan-
operaciones. do la ventana de Kaiser las cumplirá? Discuta estas compa-
raciones.
1.1. ¿Cómo es el filtro de Butterworth
analógico óptimo?
De (2), muestre cuántas derivadas de la magnitud al cua-
drado son cero en Ω = 0 para un filtro de Butterworth
analógico de quinto orden.