Elementos de los sistemas e implementación
Sumador, ganancia y memoria: con esas tres piezas se arma cualquier sistema. Cómo se las acomoda no es indiferente, y de ahí sale que ningún filtro digital de orden alto se implemente en forma directa.
01Tres piezas y nada más
Cualquier sistema LTI, por complicado que sea, se arma con tres elementos. No hay un cuarto:
| Elemento | Qué hace | En continuo | En discreto |
|---|---|---|---|
| Sumador | \( y = x_1 + x_2 \) | Un nodo, o un amplificador sumador | Una suma |
| Ganancia | \( y = a\,x \) | Un divisor resistivo, una etapa | Una multiplicación |
| Memoria | Guarda el pasado | Un integrador: capacitor o bobina | Un retardo \( z^{-1} \): un registro |
La fila de la memoria es la importante. Sin ella, un sistema sólo puede responder al valor presente —sería estático— y no habría ni filtros ni dinámica. En un circuito analógico esa memoria es la energía guardada en un capacitor; en un procesador, una posición de memoria que guarda la muestra anterior.
02Del diagrama al filtro
La misma función de transferencia se puede armar de varias maneras, y no dan lo mismo en cantidad de componentes ni en comportamiento numérico. El laboratorio dibuja la estructura, cuenta las piezas y muestra qué filtro resulta.
Elegí la estructura y mirá el diagrama: los cuadrados son retardos, los triángulos ganancias y los círculos sumadores. Abajo, la respuesta al impulso y el módulo que resultan.
03Las estructuras, y por qué hay más de una
| Estructura | Retardos | Ventaja | Problema |
|---|---|---|---|
| Directa I | \( M + N \) | Sale directo de la ecuación | Usa el doble de memoria |
| Directa II | \( \max(M,N) \) | La mínima cantidad de retardos | Sensible a la cuantización si el orden es alto |
| Cascada | Igual que la II | Robusta: cada sección tiene sus propios polos | Hay que factorizar y ordenar las secciones |
| Paralelo | Igual | Los errores no se acumulan entre ramas | Requiere fracciones simples |
La forma directa II se llama también canónica porque usa la menor cantidad posible de elementos de memoria, y es la que implementan casi todas las bibliotecas. Su problema aparece con órdenes altos.
Los coeficientes de un filtro real se guardan con una cantidad finita de bits. En forma directa, los coeficientes del denominador son los del polinomio completo, y redondearlos mueve todas las raíces a la vez: en un filtro de orden ocho, un error mínimo en un coeficiente puede empujar un polo fuera del círculo unitario y volverlo inestable.
En cascada, en cambio, el filtro se arma con secciones de segundo orden, cada una con sus dos polos. Redondear los coeficientes de una sección mueve sólo esos dos, y poco. Por eso ningún filtro digital de orden alto se implementa en forma directa: se factoriza en secciones de segundo orden, que en la jerga se llaman biquads.
04FIR e IIR
| FIR | IIR | |
|---|---|---|
| Realimentación | No tiene: \( a_k = 0 \) | Sí |
| Respuesta al impulso | Finita: se apaga sola | Infinita |
| Estabilidad | Siempre estable | Hay que verificar los polos |
| Fase lineal | Se consigue con coeficientes simétricos | No, salvo que se agregue un pasatodo |
| Orden para la misma selectividad | Alto: decenas o cientos | Bajo: unos pocos |
| Equivalente analógico | No tiene | Se parece a un RLC |
El compromiso es directo: un FIR es más seguro y puede tener fase lineal, pero necesita muchos más coeficientes; un IIR consigue lo mismo con orden bajo, a cambio de vigilar la estabilidad y de no poder tener fase lineal. Para audio en tiempo real, donde la latencia importa, suele ganar el IIR; para procesamiento por bloques donde la fase importa, el FIR.
Un FIR de 200 coeficientes necesita guardar 200 muestras pasadas y hacer 200 multiplicaciones por cada muestra de salida. Un IIR de orden 4 que haga algo parecido necesita 4. En un microcontrolador chico esa diferencia decide si el filtro entra o no, y es la razón de que los filtros de instrumentación embebida sean casi siempre biquads en cascada.
05En el laboratorio
Para \( H(z) = \dfrac{1 + 2z^{-1} + z^{-2}}{1 - 0{,}5z^{-1} + 0{,}3z^{-2}} \), dibujar las formas directa I y II, y contar retardos, multiplicadores y sumadores de cada una.
Programar una sección de segundo orden en forma directa II en un microcontrolador, medir cuántos ciclos tarda por muestra y calcular la frecuencia de muestreo máxima que soporta.
Diseñar un pasabajos IIR de orden 8, redondear sus coeficientes a 8 bits en forma directa y calcular dónde quedan los polos. Repetir factorizando en cuatro biquads y comparar cuánto se movieron en cada caso.
06Errores frecuentes
- Implementar un orden alto en forma directa. La cuantización de los coeficientes puede volverlo inestable.
- Olvidar el signo de la realimentación. Los \( a_k \) entran restando en la ecuación en diferencias.
- Confundir orden con cantidad de coeficientes. Un FIR de orden \( M \) tiene \( M+1 \) coeficientes.
- Esperar fase lineal de un IIR. No la tiene, salvo que se agregue un pasatodo que la corrija.
- No inicializar los registros de retardo. Al arrancar, un filtro con basura adentro entrega un transitorio que puede durar mucho.
07Autoevaluación
¿Cuáles son los tres elementos de un sistema LTI?
Sumador, ganancia y memoria: un integrador en continuo, un retardo en discreto.
¿Por qué la forma directa II se llama canónica?
Porque usa la menor cantidad posible de elementos de memoria: \( \max(M,N) \).
¿Por qué los filtros de orden alto se implementan en cascada?
Porque redondear los coeficientes en forma directa mueve todas las raíces a la vez; en cascada cada sección tiene sus propios polos y el error queda acotado.
¿Qué es un biquad?
Una sección de segundo orden. Los filtros de orden alto se arman encadenando varias.
¿Por qué un FIR es siempre estable?
Porque no tiene realimentación: su respuesta al impulso tiene una cantidad finita de términos.
¿Cuándo conviene un IIR?
Cuando hace falta selectividad con pocos recursos y la fase no es crítica. Consigue con orden 4 lo que un FIR necesitaría decenas de coeficientes.
08Para ampliar
- John G. Proakis y Dimitris G. Manolakis. Tratamiento digital de señales. 4.ª ed., Pearson, 2007. Todas las estructuras con sus diagramas, y el análisis de los efectos de la aritmética finita.
- Alan V. Oppenheim y Ronald W. Schafer. Tratamiento de señales en tiempo discreto. 3.ª ed., Prentice Hall, 2011. El capítulo de estructuras y el de efectos de cuantización de coeficientes.
- Richard G. Lyons. Understanding Digital Signal Processing. 3.ª ed., Prentice Hall, 2010. El más claro para implementar de verdad: biquads, escalado y errores de redondeo.