Filtro digital
En el procesamiento de señales, un filtro digital es un sistema que realiza operaciones matemáticas en una señal muestreada en tiempo discreto para reducir o mejorar ciertos aspectos de esa señal. Esto contrasta con el otro tipo importante de filtro electrónico, el filtro analógico, que suele ser un circuito electrónico que funciona con señales analógicas de tiempo continuo.
Un sistema de filtro digital generalmente consta de un convertidor de analógico a digital (ADC) para muestrear la señal de entrada, seguido de un microprocesador y algunos componentes periféricos como la memoria para almacenar datos y filtrar coeficientes, etc. Instrucciones del programa (software) ejecutándose en el microprocesador implemente el filtro digital realizando las operaciones matemáticas necesarias en los números recibidos del ADC. En algunas aplicaciones de alto rendimiento, se utiliza un FPGA o ASIC en lugar de un microprocesador de uso general o un procesador de señal digital (DSP) especializado con una arquitectura paralela específica para acelerar operaciones como el filtrado.
Los filtros digitales pueden ser más costosos que un filtro analógico equivalente debido a su mayor complejidad, pero hacen prácticos muchos diseños que son poco prácticos o imposibles como filtros analógicos. Los filtros digitales a menudo se pueden hacer de orden muy alto y, a menudo, son filtros de respuesta de impulso finitos, lo que permite una respuesta de fase lineal. Cuando se usan en el contexto de sistemas analógicos en tiempo real, los filtros digitales a veces tienen una latencia problemática (la diferencia de tiempo entre la entrada y la respuesta) debido a las conversiones de analógico a digital y de digital a analógico asociadas y al suavizado. filtros, o por otros retrasos en su implementación.
Los filtros digitales son comunes y un elemento esencial de los dispositivos electrónicos cotidianos, como radios, teléfonos celulares y receptores AV.
Caracterización
Un filtro digital se caracteriza por su función de transferencia o, de manera equivalente, su ecuación de diferencia. El análisis matemático de la función de transferencia puede describir cómo responderá a cualquier entrada. Como tal, diseñar un filtro consiste en desarrollar especificaciones apropiadas para el problema (por ejemplo, un filtro de paso bajo de segundo orden con una frecuencia de corte específica) y luego producir una función de transferencia que cumpla con las especificaciones.
La función de transferencia para un filtro digital lineal e invariable en el tiempo se puede expresar como una función de transferencia en el dominio Z; si es causal, entonces tiene la forma:
- H()z)=B()z)A()z)=b0+b1z− − 1+b2z− − 2+⋯ ⋯ +bNz− − N1+a1z− − 1+a2z− − 2+⋯ ⋯ +aMz− − M{displaystyle H(z)={frac {B(z)}{A(z)}={frac {b_{0}+b_{1}z^{-1}+b_{2}z^{-2}+cdots +b_{N}z^{-N}{1+a_{1}+a_{2}z^{-2}+cdots #
donde el orden del filtro es el mayor de N o M. Consulte la ecuación LCCD de la transformada Z para obtener más información sobre esta función de transferencia.
Esta es la forma de un filtro recursivo, que normalmente conduce a un comportamiento de respuesta de impulso infinito (IIR), pero si el denominador se hace igual a la unidad, es decir, sin retroalimentación, entonces se convierte en un filtro de respuesta de impulso finito (FIR)..
Técnicas de análisis
Se puede emplear una variedad de técnicas matemáticas para analizar el comportamiento de un filtro digital dado. Muchas de estas técnicas de análisis también se pueden emplear en diseños y, a menudo, forman la base de una especificación de filtro.
Normalmente, uno caracteriza los filtros calculando cómo responderán a una entrada simple como un impulso. Luego, se puede ampliar esta información para calcular la respuesta del filtro a señales más complejas.
Respuesta de impulso
La respuesta del impulso, a menudo denotada h[k]{displaystyle h[k]} o hk{displaystyle H_{k}, es una medición de cómo un filtro responderá a la función Kronecker delta. Por ejemplo, dada una ecuación de diferencia, se establecería uno x0=1{displaystyle x_{0}=1} y xk=0{displaystyle x_{k}=0} para kل ل 0{displaystyle kneq 0} y evaluar. La respuesta del impulso es una caracterización del comportamiento del filtro. Los filtros digitales se consideran típicamente en dos categorías: respuesta de impulso infinito (IIR) y respuesta de impulso finito (FIR). En el caso de filtros FIR lineales de tiempo invariable, la respuesta de impulso es exactamente igual a la secuencia de coeficientes de filtro, y por lo tanto:
- Sí.n=.. k=0Nbkxn− − k=.. k=0Nhkxn− − k{displaystyle Y... ¿Qué? ¿Qué?
Los filtros IIR, por otro lado, son recursivos, y la salida depende de las entradas actuales y anteriores, así como de las salidas anteriores. La forma general de un filtro IIR es así:
- .. m=0MamSí.n− − m=.. k=0Nbkxn− − k{displaystyle sum ¿Qué? ¿Qué?
La representación gráfica de la respuesta de impulso revela cómo responde un filtro a una perturbación repentina y momentánea. Un filtro IIR siempre es recursivo. Si bien es posible que un filtro recursivo tenga una respuesta de impulso finita, un filtro no recursivo siempre tiene una respuesta de impulso finita. Un ejemplo es el filtro de promedio móvil (MA), que se puede implementar de forma recursiva y no recursiva.
Ecuación de diferencias
En los sistemas de tiempo discreto, el filtro digital a menudo se implementa convirtiendo la función de transferencia en una ecuación diferencial lineal de coeficiente constante (LCCD) a través de la transformada Z. La función de transferencia discreta en el dominio de la frecuencia se escribe como el cociente de dos polinomios. Por ejemplo:
- H()z)=()z+1)2()z− − 12)()z+34){displaystyle H(z)={frac {(z+1)}{2}{(z-{frac {1}{2}})(z+{frac {3}{4}}}}}}
Esto se expande:
- H()z)=z2+2z+1z2+14z− − 38{displaystyle H(z)={2}+2z+1}{2}+{frac {1}{4}z-{frac} {3} {}}}} {}} {}}} {}}} {}}}}}} {}}} {}}}} {}}} {}}}} {}}}}} {}}}}} {}}}}} {}}}}}} {}}}}}}} {}}}}} {}}}}}} {}}}}}}} {}}}}}}}}}}}}}}} {}}}}}}}}}}}}}}}}}}} {}}}}}}}}}}}}}}} {}}}}}}}}}}}}}}}}}} {}}}}}}}}}}}}}}}}}}}} {}}}}}}}}}}}}}}}}}}}}}} {}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
y para hacer el filtro causal correspondiente, el numerador y el denominador se dividen por el orden más alto z{displaystyle z}:
- H()z)=1+2z− − 1+z− − 21+14z− − 1− − 38z− − 2=Y()z)X()z){displaystyle H(z)={frac {1+2z^{-1}+z^{-2}{1+{frac} {1}{-1}-{frac} {3} {8} z}}={frac {Y(z)}{X(z)}}}}} {fnuncio de que se trata de una persona de una mujer.
Los coeficientes del denominador, ak{displaystyle A_{k}, son los coeficientes "feed-backward" y los coeficientes del numerador son los coeficientes "feed-forward", bk{displaystyle B_{k}. La ecuación de diferencia lineal resultante es:
- Sí.[n]=− − .. k=1MakSí.[n− − k]+.. k=0Nbkx[n− − k]{displaystyle y[n]=-sum ¿Por qué? ¿Qué?
o, para el ejemplo anterior:
- Y()z)X()z)=1+2z− − 1+z− − 21+14z− − 1− − 38z− − 2{displaystyle {frac {Y(z)}{X(z)}={frac {1+2z^{-1}+z^{-2}{1+{frac} {1}{-1}-{frac} {3} {8}z^{-2}}}}
reordenando términos:
- ⇒ ⇒ ()1+14z− − 1− − 38z− − 2)Y()z)=()1+2z− − 1+z− − 2)X()z){displaystyle Rightarrow (1+{frac {1}{4}}z^{-1}-{frac {3}{8} {-2})Y(z)=(1+2z^{-1}+z^{-2})X(z)}
luego tomando la transformada inversa z:
- ⇒ ⇒ Sí.[n]+14Sí.[n− − 1]− − 38Sí.[n− − 2]=x[n]+2x[n− − 1]+x[n− − 2]{displaystyle Rightarrow y[n]+{4}y[n-1]-{3}{8}y[n-2]=x[n]+2x[n-1]+x[n-2]}
y finalmente, por resolver Sí.[n]{displaystyle y[n]}:
- Sí.[n]=− − 14Sí.[n− − 1]+38Sí.[n− − 2]+x[n]+2x[n− − 1]+x[n− − 2]{displaystyle y[n]=-{1}{4}y[n-1]+{frac {3}{8}y[n-2]+x[n]+2x[n-1]+x[n-2]}
Esta ecuación muestra cómo calcular la siguiente muestra de salida, Sí.[n]{displaystyle y[n]}, en términos de los productos anteriores, Sí.[n− − p]{displaystyle y[n-p]}, la presente entrada, x[n]{displaystyle x[n]}, y las entradas anteriores, x[n− − p]{displaystyle x[n-p]}. Aplicar el filtro a una entrada en este formulario es equivalente a una realización Directa I o II (ver abajo), dependiendo del orden exacto de evaluación.
En términos sencillos, por ejemplo, como lo usa un programador de computadoras que implementa la ecuación anterior en el código, se puede describir de la siguiente manera:
Sí.{displaystyle y} = la salida, o el valor filtrado
x{displaystyle x} = la entrada, o la entrada de valor bruto
n{displaystyle n} = número de muestra, número de iteración o número de período
y por lo tanto:
Sí.[n]{displaystyle y[n]} = el valor filtrado (salida) actual
Sí.[n− − 1]{displaystyle y[n-1]} = el último valor filtrado (salida)
Sí.[n− − 2]{displaystyle y[n-2]} = 2o al último valor filtrado (salida)
x[n]{displaystyle x[n]} = el valor de entrada bruto actual
x[n− − 1]{displaystyle x[n-1]} = el último valor de entrada cruda
x[n− − 2]{displaystyle x[n-2]} = 2o al último valor de entrada en bruto
Diseño de filtros
Aunque los filtros se entienden y calculan fácilmente, los desafíos prácticos de su diseño e implementación son significativos y son objeto de mucha investigación avanzada.
Hay dos categorías de filtro digital: el filtro recursivo y el filtro no recursivo. Estos a menudo se denominan filtros de respuesta de impulso infinito (IIR) y filtros de respuesta de impulso finito (FIR), respectivamente.
Realización de filtros
Después de diseñar un filtro, debe realizarse desarrollando un diagrama de flujo de señales que describa el filtro en términos de operaciones en secuencias de muestra.
Una función de transferencia determinada puede realizarse de muchas maneras. Considerar cómo una expresión simple como ax+bx+c{displaystyle ax+bx+c} podría ser evaluado – uno también podría calcular el equivalente x()a+b)+c{displaystyle x(a+b)+c}. De la misma manera, todas las realizaciones pueden verse como "factorizaciones" de la misma función de transferencia, pero diferentes realizaciones tendrán diferentes propiedades numéricas. Concretamente, algunas realizaciones son más eficientes en cuanto al número de operaciones o elementos de almacenamiento necesarios para su aplicación, y otras ofrecen ventajas como la mejora de la estabilidad numérica y la reducción del error de compensación. Algunas estructuras son mejores para la aritmética de punto fijo y otras pueden ser mejores para la aritmética de punto flotante.
Forma directa I
Un enfoque sencillo para la realización del filtro IIR es la forma directa I, donde la ecuación de diferencias se evalúa directamente. Esta forma es práctica para filtros pequeños, pero puede ser ineficiente y poco práctica (numéricamente inestable) para diseños complejos. En general, esta forma requiere 2N elementos de retardo (tanto para señales de entrada como de salida) para un filtro de orden N.
Forma directa II
La forma directa alternativa II sólo necesita N Unidades de demora, donde N es el orden del filtro – potencialmente la mitad tanto como la forma directa I. Esta estructura se obtiene revirtiendo el orden de las secciones numeradora y denominadora de la Forma Directa I, ya que son de hecho dos sistemas lineales, y la propiedad de la conmutación se aplica. Entonces, uno notará que hay dos columnas de retrasos (z− − 1{displaystyle z^{-1}) que desconecta la red central, y estos pueden combinarse ya que son redundantes, dando la implementación como se muestra a continuación.
La desventaja es que la forma directa II aumenta la posibilidad de desbordamiento aritmético para filtros de alta Q o resonancia. Se ha demostrado que a medida que aumenta Q, el ruido de redondeo de ambas topologías de forma directa aumenta sin límites. Esto se debe a que, conceptualmente, la señal primero pasa a través de un filtro de todos los polos (que normalmente aumenta la ganancia en las frecuencias resonantes) antes de que el resultado se sature, luego pasa a través de un filtro de todos cero (que a menudo atenúa gran parte de lo que la mitad de todos los polos amplifica).
Secciones de segundo orden en cascada
Una estrategia común es realizar un filtro digital de orden superior (mayor que 2) como una serie en cascada de filtros "bicuadrátricos" (o "biquad") secciones (ver filtro biquad digital). La ventaja de esta estrategia es que el rango del coeficiente es limitado. Las secciones de forma directa en cascada II dan como resultado N elementos de retardo para filtros de orden N. La conexión en cascada de secciones directas de forma I da como resultado N + 2 elementos de retardo, ya que los elementos de retardo de la entrada de cualquier sección (excepto la primera sección) son redundantes con los elementos de retardo de la salida de la sección anterior.
Otras formas
Otras formas incluyen:
- Forma directa Transposeo I y II
- Serie/cascada inferior (típico segundo) subsecciones de orden
- Subsecciones de orden inferior (típica segunda)
- Continuación de la expansión de la fracción
- Lattice y la escalera
- Formas de una, dos y tres capas
- Tres y cuatro formas normalizadas de escalera
- Estructuras ARMA
- Estructuras estatales y espaciales:
- óptima (en el sentido mínimo del ruido): ()N+1)2{displaystyle (N+1)^{2} parámetros
- block-optimal and section-optimal: 4N− − 1{displaystyle 4N-1} parámetros
- entrada equilibrada con la rotación de Givens: 4N− − 1{displaystyle 4N-1} parámetros
- Formularios acoplados: Gold Rader (normal), State Variable (Chamberlin), Kingsbury, Modified State Variable, Zölzer, Modified Zölzer
- Filtros digitales de onda (WDF)
- Agarwal–Burrus (1AB y 2AB)
- Harris-Brooking
- ND-TDL
- Multifeedback
- Formas de inspiración analógica tales como filtros de tecla Sallen y variables estatales
- arrays sistólicos
Comparación de filtros analógicos y digitales
Los filtros digitales no están sujetos a las no linealidades de los componentes que complican enormemente el diseño de los filtros analógicos. Los filtros analógicos consisten en componentes electrónicos imperfectos, cuyos valores se especifican con una tolerancia límite (p. ej., los valores de las resistencias suelen tener una tolerancia de ±5 %) y que también pueden cambiar con la temperatura y variar con el tiempo. A medida que aumenta el orden de un filtro analógico y, por lo tanto, su recuento de componentes, el efecto de los errores de componentes variables se magnifica considerablemente. En los filtros digitales, los valores de los coeficientes se almacenan en la memoria de la computadora, lo que los hace mucho más estables y predecibles.
Debido a que los coeficientes de los filtros digitales son definidos, se pueden usar para lograr diseños mucho más complejos y selectivos; específicamente con filtros digitales, se puede lograr una ondulación de banda de paso más baja, una transición más rápida y una atenuación de banda de parada más alta que la práctica con filtros analógicos. filtros Incluso si el diseño pudiera lograrse utilizando filtros analógicos, el costo de ingeniería de diseñar un filtro digital equivalente probablemente sería mucho menor. Además, uno puede modificar fácilmente los coeficientes de un filtro digital para hacer un filtro adaptativo o un filtro paramétrico controlable por el usuario. Si bien estas técnicas son posibles en un filtro analógico, nuevamente son considerablemente más difíciles.
Los filtros digitales se pueden utilizar en el diseño de filtros de respuesta de impulso finitos. Los filtros analógicos equivalentes suelen ser más complicados, ya que requieren elementos de retardo.
Los filtros digitales dependen menos de los circuitos analógicos, lo que podría permitir una mejor relación señal-ruido. Un filtro digital introducirá ruido en una señal durante el filtrado de paso bajo analógico, la conversión de analógico a digital, la conversión de digital a analógico y puede introducir ruido digital debido a la cuantificación. Con los filtros analógicos, cada componente es una fuente de ruido térmico (como el ruido de Johnson), por lo que a medida que crece la complejidad del filtro, también crece el ruido.
Sin embargo, los filtros digitales introducen una latencia fundamental más alta en el sistema. En un filtro analógico, la latencia suele ser insignificante; estrictamente hablando, es el momento de que una señal eléctrica se propague a través del circuito del filtro. En los sistemas digitales, la latencia la introducen los elementos de retardo en la ruta de la señal digital y los convertidores de analógico a digital y de digital a analógico que permiten que el sistema procese señales analógicas.
En casos muy simples, es más rentable usar un filtro analógico. La introducción de un filtro digital requiere una cantidad considerable de circuitos de sobrecarga, como se mencionó anteriormente, incluidos dos filtros analógicos de paso bajo.
Otro argumento a favor de los filtros analógicos es el bajo consumo de energía. Los filtros analógicos requieren sustancialmente menos energía y, por lo tanto, son la única solución cuando los requisitos de energía son ajustados.
Cuando se hace un circuito eléctrico en una PCB, generalmente es más fácil usar una solución digital, porque las unidades de procesamiento se optimizan mucho con el paso de los años. Hacer el mismo circuito con componentes analógicos ocuparía mucho más espacio cuando se usan componentes discretos. Dos alternativas son los FPAA y los ASIC, pero son caros para pequeñas cantidades.
Tipos de filtros digitales
Hay varias formas de caracterizar los filtros; por ejemplo:
- A lineal filtro es una transformación lineal de muestras de entrada; otros filtros son no linear. Los filtros lineales satisfacen el principio de superposición, es decir, si una entrada es una combinación lineal ponderada de diferentes señales, la salida es una combinación lineal de peso similar de las señales de salida correspondientes.
- A causal filtro utiliza sólo muestras anteriores de las señales de entrada o salida; mientras que un non-causal filtro utiliza futuras muestras de entrada. Un filtro no-causal se puede cambiar generalmente en un filtro causal añadiendo un retraso a él.
- A tiempo invariable filtro tiene propiedades constantes a lo largo del tiempo; otros filtros como filtros adaptables cambian en el tiempo.
- A estable filtro produce una salida que converge a un valor constante con el tiempo, o permanece ligado dentro de un intervalo finito. An inestable filtro puede producir una salida que crece sin límites, con entrada fija o incluso cero.
- Un filtro de respuesta de impulso finito (FIR) utiliza sólo las señales de entrada, mientras que un filtro de respuesta de impulso infinito (IIR) utiliza tanto la señal de entrada como las muestras anteriores de la señal de salida. Los filtros FIR siempre son estables, mientras que los filtros IIR pueden ser inestables.
Un filtro se puede representar mediante un diagrama de bloques, que luego se puede usar para derivar un algoritmo de procesamiento de muestra para implementar el filtro con instrucciones de hardware. Un filtro también se puede describir como una ecuación de diferencia, una colección de ceros y polos o una respuesta de impulso o respuesta de paso.
Algunos filtros digitales se basan en la transformada rápida de Fourier, un algoritmo matemático que extrae rápidamente el espectro de frecuencia de una señal, lo que permite manipular el espectro (por ejemplo, para crear filtros de paso de banda de orden muy alto) antes de convertir el modificado espectro de nuevo en una señal de serie temporal con una operación FFT inversa. Estos filtros dan costos computacionales O(n log n), mientras que los filtros digitales convencionales tienden a ser O(n2).
Otra forma de filtro digital es el modelo de espacio de estado. Un filtro de espacio de estado muy utilizado es el filtro de Kalman publicado por Rudolf Kálmán en 1960.
Los filtros lineales tradicionales generalmente se basan en la atenuación. Alternativamente, se pueden diseñar filtros no lineales, incluidos los filtros de transferencia de energía, que permiten al usuario mover la energía de una manera diseñada para que el ruido o los efectos no deseados se puedan mover a nuevas bandas de frecuencia, ya sea de menor o mayor frecuencia, distribuidos en un rango de frecuencias. dividida o enfocada. Los filtros de transferencia de energía complementan los diseños de filtros tradicionales e introducen muchos más grados de libertad en el diseño de filtros. Los filtros de transferencia de energía digital son relativamente fáciles de diseñar e implementar y explotar la dinámica no lineal.
Contenido relacionado
Acoplamiento
AGM-65 Inconformista
Submarino clase Gato