Filtros Digitales Un filtro general de respuesta al impulso finita con n etapas, cada una con un retardo independiente di y ganancia ai. En electrónica, ciencias computacionales y matemáticas, un filtro digital es un sistema que realiza operaciones matemáticas sobre una señal de tiempo discreto (secuencia) para reducir o aumentar ciertos aspectos de la señal. Esto contrasta con el otro tipo importante de filtros electrónicos, el filtro análogo, que es un circuito electrónico que opera sobre señales de análogas de tiempo continuo. Una señal análoga puede ser procesada por un filtro digital si ésta es primeramente discretizada en el tiempo y representada como una secuencia de números, después manipulada matemáticamente, y entonces reconstruida como una nueva señal análoga. En un filtro análogo, la señal de entrada es “directamente” manipulada por el circuito. Un sistema de filtro digital usualmente consiste de un convertidor A/D (C/D) para muestrear la señal de entrada de tiempo continuo, seguido por un microprocesador y algunos componentes periféficos, tales como memoria para almacenar información, los coeficientes del filtro, etc. Finalmente un convertidor D/A (D/C) para completar la etapa de salida. Las instrucciones de un programa (software) ejecutadas por un microprocesador implementan el filtro digital por medio de operaciones matemáticas en los números recibidos del convertidor convertidor A/D. En algunas aplicaciones de alto desempeño, se puede utilizar en lugar de un microprocesador de uso general un FPGA (Field Programmable Gate Array) o un ASIC (Application-Specific Integrated Circuit), o, bien, un procesador especializado de DSP con una arquitectura paralela específica para acelerar las operaciones tales como el filtrado. Los filtros digitales pueden ser más caros que sus filtros digitales equivalentes dada su alta complejidad, pero éstos hacen prácticos muchos diseños que son imprácticos o imposibles en la forma de filtros análogos. Ya que los filtros digitales usan un proceso de muestreo y procesamiento de tiempo discreto, estos experimentan cierto retardo entre la entrada y la salida, lo cual es casi irrelevante en los filtros análogos. Los filtros digitales son muy comunes y constituyen un elemento esencial en los dispositivos electrónicos cotidianos, tales como teléfonos celulares, radios, televisiones, etc. Caracterización de Filtros Digitales Un filtro digital es caracterizado por su función de transferencia, o equivalentemente, por su ecuación diferencia. El análisis matemático de la función de transferencia puede describir cómo responderá a cualquier entrada. Como tal, el diseño de un filtro consiste en el desarrollo de las especificaciones apropiada al problema (por ejemplo, un filtro pasa bajas de segundo orden con una frecuencia específica de corte), y posteriormente reproducir un función de transferencia que cumpla con las especificaciones. La función de transferencia para un filtro digital lineal e invariante en el tiempo (LTI), puede expresarse como la función de transferencia en el dominio Z; si es causal, tendrá la forma: donde el órden del filtro es el mayor entre N o M. Esta es la forma correspondiente de un filtro recursivo tanto para las entradas (numerador) como salidas (denominador), lo cual típicamente resulta en un filtro con comportamiento de Respuesta al Impulso Infinita (IIR); pero si el denominador se hace igual a la unidad (sin retroalimentación), entonces se convierte en un filtro con respuesta al impulso finita (FIR). Técnicas de Análisis Existe una variedad de técnicas que pueden ser empleadas para analizar el comportamiento de cierto filtro digital. Muchas de estas técnicas de análisis también pueden ser usadas en diseños, y frecuentemente conforman la bases de la especificación de un filtro. Típicamente, los filtros se analizan calculando cómo responderá el filtro a una entrada simple tal como es el caso de la respuesta al impulso. Entonces se puede extender esta información para visualizar la respuesta del filtro a señales más complejas. Respuesta al Impulso La respuesta al impulso, comúnmente denotada h[n], es una medida de cómo un filtro responde a la función impulso unitario (delta de Kronecker). Por ejemplo, dada una ecuación diferencia, se podría hacer x[0] = 1 y x[n] = 0 para n ≠ 0 y evaluar. La respuesta al impulso es la caracterización del comportamiento del filtro. Los filtros digitales se clasifican en dos categorías: Respuesta al Impulso Infinita (IIR) y Respuesta al Impulso Finita (FIR). En el caso de los filtros FIR que son LTI, la respuesta al impulso es exactamente igual a la secuencia de los coeficientes del filtro: [ ] ∑ [ ] ∑ [ ] [ ] Los filtros IIR, por otra parte, son recursivos, la salida depende tanto de los valores presentes y anteriores de las entradas y también de salidas anteriores. La forma general de un filtro IIR es, entonces: ∑ [ ] ∑ [ ] Si se grafica la respuesta al impulso se puede apreciar cómo un filtro responderá a un repentino y momentáneo estímulo . Ecuación Diferencia En sistemas de tiempo discreto, los filtros digitales se implementan frecuentemente convirtiendo la función de transferencia a una ecuación diferencia lineal con coeficientes constantes mediante la transformada Z. La función de transferencia discreta en el dominio de la frecuencia se escribe como la razón de dos polinomios, por ejemplo: La cual se expande a: Y dividida por la z de mayor órden: Los coeficientes de denominador, , son los coeficientes de alimentación en reversa y los coeficientes del numerador son los coeficientes de alimentación hacia adelante, . La ecuación diferencia resultante es: O, para el ejemplo anterior, Rearreglando los términos: Y obteniendo la transformada z inversa: Finalmente, resolviendo para : Esta ecuación muestra cómo calcular la siguiente muestra de la salida, y[n], en términos de salidas anteriores, y[n – p] (donde p ≥ 1), la entrada presente x[n] y entradas anteriores x[n – p] (donde p ≥ 1). Si se aplica el filtro a una entrada de esta manera resulta ser equivalente a las implementaciones directas de la Forma I y II que se muestran a continuación, dependiendo del órden exacto de la evaluación. Diseño de un Filtro El diseño de filtros digitales es un tema complejo. A pesar de que los filtros son fácilmente entendidos y calculados, los retos prácticos de su diseño e implementación son significativos y sujetos de mucha investigación avanzada. Hay dos categorías de filtros digitales: filtros recursivos y filtros no recursivos. Estos son comúnmente referidos como filtros IIR y filtros FIR, respectivamente. Implementación de Filtros Después que un filtro es diseñado, este debe ser implementado desarrollando un diagrama de flujo de señal que describe al filtro en términos de operaciones realizadas sobre secuencias de muestras. Una función de transferencia dada puede implementarse de muchas formas. Considere como una expresión tan simple como ax + bx + c puede ser evaluada y calculada usando el equivalente x(a + b) + c. En la misma manera, todas las implementaciones de un filtro pueden ser vistas como “factorizaciones” de la misma función de transferencia, pero diferentes implementaciones tendrán diferentes propiedades numéricas. Específicamente, algunas realizaciones son más eficientes en términos del número de operaciones o elementos de almacenamiento requeridos para su implementación, y otras proveen ventajas tales como una estabilidad numérica mejorada y errores de redondeo menores. Algunas estructuras son mejores para aritmética de punto fijo y otras son mejores para aritmética de punto flotante. Forma Directa I Una técnica directa para la implementación de filtros IIR es la conocida como Forma Directa I, en la que la ecuación diferencia es evaluada directamente. Esta forma es práctica para filtros pequeños, pero puede resultar ser ineficiente e impráctica (numéricamente inestable) para diseños complejos. En general, esta técnica requiere 2N elementos de retardo (tanto para las señales de entrada como para las señales de salida) para un filtro de órden N. Forma Directa II La técnica alternativa conocida como Forma Directa II solo requiere de N unidades de retardo, donde N representa el órden del filtro, y lo cual es potencialmente la mitad de lo requerido por la Forma Direct I. Esta estructura se obtiene invirtiendo el orden las secciones del numerador y denominador de la Forma Directa I, ya que de hecho se trata de dos sistemas lineales, y se aplica la propiedad conmutativa. Entonces, se notará que hay dos columnas de retardos (z-1) que conforman la red central, y estas pueden ser combinadas ya que son redundantes, produciendo la implementación que se muestra a continuación. La desventaja consiste en que la Forma Directa II incrementa la posibilidad de un sobreflujo aritmético para filtros de alta Q o resonancia. Se ha demostrado que cuando se incrementa Q, el ruido del redondeo de las topologías de ambas formas directas se incrementa si límite. Esto se debe a que, conceptualmente, la señal es primeramente pasada a través de un filtro con solo polos (el cual normalmente incrementa la ganancia de frecuencias resonantes) antes de que el resultado de ello sea saturado, y posteriormente es pasada a través de un filtro con solo ceros (el cual atenúa mucho de lo que el filtro solo polos amplifico).