Filtros digitales IIR y FIR
Un promedio de ocho muestras y un exponencial con α = 0,22 reducen el ruido lo mismo. El primero necesita ocho muestras en memoria; el segundo, una sola variable.
01Dos familias de filtros digitales
Un filtro digital es una ecuación en diferencias que un procesador calcula en cada muestra. Si solo usa entradas, su respuesta al impulso es finita (FIR); si realimenta salidas anteriores, es infinita (IIR). La elección entre los dos es la primera decisión de diseño:
| FIR | IIR | |
|---|---|---|
| Estabilidad | Siempre estable: no tiene polos fuera del origen | Hay que asegurarla: los polos dentro del círculo unitario |
| Fase | Puede tener fase exactamente lineal | Fase no lineal, como los filtros analógicos |
| Orden para una transición abrupta | Alto: decenas o cientos de coeficientes | Bajo: pocos polos bastan |
| Costo por muestra | Una multiplicación por coeficiente | Pocas multiplicaciones |
| Sensibilidad a la cuantización | Baja | Alta: redondear un coeficiente mueve los polos |
02Fase lineal y retardo de grupo
El retardo de grupo \( \tau(\Omega) = -d\varphi/d\Omega \) dice cuántas muestras tarda en pasar cada frecuencia. Si es el mismo para todas, la forma de onda sale intacta, solo demorada. Un FIR con coeficientes simétricos tiene fase exactamente lineal:
Por eso los FIR dominan en comunicaciones digitales, audio profesional e instrumentación, donde la forma de los pulsos importa, y los IIR donde importa el costo o la latencia: control, detección de tonos, ecualizadores de bajo consumo.
03Los dos filtros más simples
El promedio móvil necesita guardar \( M \) muestras y, calculado de forma recursiva, dos sumas por muestra; el exponencial, una sola variable y una multiplicación. Son los filtros de casi todo firmware de medición.
Arriba, el módulo de la respuesta en frecuencia de los dos filtros de 0 a π. Abajo, su respuesta a un escalón con ruido blanco (la misma secuencia de ruido para los dos). Ajustás el largo del promedio y el coeficiente del exponencial.
04Estructuras e implementación
La misma función de transferencia se puede calcular con distintas estructuras: forma directa, forma directa transpuesta, cascada de secciones de segundo orden (biquads) o celosía. Matemáticamente son equivalentes; numéricamente no. Un IIR de orden alto en forma directa es muy sensible al redondeo de sus coeficientes, y en la práctica siempre se implementa como una cascada de biquads, igual que los filtros activos se arman con secciones de segundo orden.
En un microcontrolador sin punto flotante se trabaja en punto fijo, con números enteros escalados. Hay que cuidar el desborde de las sumas, el redondeo, que agrega ruido, y los ciclos límite: oscilaciones pequeñas que un IIR mantiene por el redondeo aunque la entrada sea cero. Los procesadores de señales multiplican y acumulan en un ciclo, con acumuladores anchos para no desbordar, como se vio en arquitectura de procesadores.
05En el laboratorio
Leer un sensor ruidoso con un microcontrolador, aplicar un promedio móvil y un exponencial con la misma reducción de ruido, y comparar su respuesta a un cambio brusco.
Filtrar una onda cuadrada con un FIR simétrico y con un IIR de la misma frecuencia de corte, y comparar la forma de los flancos en el osciloscopio.
Implementar el exponencial en punto fijo con 16 bits y encontrar el menor α que todavía converge al valor final.
06Errores frecuentes
- Olvidar el retardo del filtro. Un promedio de 32 muestras demora 15,5 muestras: en un lazo de control puede desestabilizarlo.
- Implementar un IIR de orden alto en forma directa. El redondeo de los coeficientes lo vuelve inestable.
- Usar α muy chico en punto fijo. El producto se redondea a cero y la salida se queda antes del valor final.
- Creer que el promedio móvil es un buen pasabajos. Sus lóbulos laterales dejan pasar bastante; es bueno contra el ruido, no para separar frecuencias.
07Autoevaluación
¿Cuánto demora un FIR simétrico de 31 coeficientes a 48 kHz?
15 muestras: 0,31 ms.
¿Qué α da la misma reducción de ruido que un promedio de 8 muestras?
\( \alpha/(2-\alpha) = 1/8 \Rightarrow \alpha = 2/9 \approx 0{,}22 \).
¿Dónde está el polo del exponencial con α = 0,1?
En \( z = 0{,}9 \): dentro del círculo, estable.
¿Por qué un FIR siempre es estable?
Porque todos sus polos están en el origen: la salida es una suma finita de entradas acotadas.
08Para ampliar
- Richard G. Lyons. Understanding Digital Signal Processing. 3.ª ed., Prentice Hall, 2010. Los filtros FIR e IIR explicados con intuición, incluidas las estructuras y el punto fijo.
- Alan V. Oppenheim y Ronald W. Schafer. Discrete-Time Signal Processing. 3.ª ed., Pearson, 2010. La teoría completa de las estructuras y de los efectos de la cuantización.
- Steven W. Smith. The Scientist and Engineer's Guide to Digital Signal Processing. California Technical Publishing, 1997. El capítulo del promedio móvil es el mejor análisis de por qué es tan útil contra el ruido.