Diseño de filtros

Signal processing design process

El diseño de filtros es el proceso de diseñar un filtro de procesamiento de señales que satisfaga un conjunto de requisitos, algunos de los cuales pueden ser contradictorios. El objetivo es encontrar una realización del filtro que cumpla cada uno de los requisitos en un grado aceptable.

El proceso de diseño de filtros puede describirse como un problema de optimización. Algunas partes del proceso de diseño pueden automatizarse, pero puede ser necesario un diseñador experimentado para obtener un buen resultado.

El diseño de filtros digitales es un tema complejo. [1] Aunque los filtros son fáciles de entender y calcular, los desafíos prácticos de su diseño e implementación son significativos y son objeto de investigación avanzada.

Requisitos de diseño típicos

Los requisitos típicos que pueden considerarse en el proceso de diseño son:

La función de frecuencia

La respuesta de frecuencia requerida es un parámetro importante . La pendiente y la complejidad de la curva de respuesta determinan el orden y la viabilidad del filtro.

Un filtro recursivo de primer orden solo tendrá un único componente dependiente de la frecuencia. Esto significa que la pendiente de la respuesta de frecuencia está limitada a 6 dB por octava . Para muchos propósitos, esto no es suficiente. Para lograr pendientes más pronunciadas, se requieren filtros de orden superior.

En relación con la función de frecuencia deseada, puede haber también una función de ponderación acompañante , que describe, para cada frecuencia, qué importancia tiene que la función de frecuencia resultante se aproxime a la deseada.

Ejemplos típicos de función de frecuencia son:

  • Se utiliza un filtro de paso bajo para cortar señales de alta frecuencia no deseadas.
  • Un filtro de paso alto pasa las frecuencias altas bastante bien; es útil como filtro para cortar cualquier componente de baja frecuencia no deseado.
  • Un filtro de paso de banda deja pasar un rango limitado de frecuencias.
  • Un filtro supresor de banda deja pasar frecuencias por encima y por debajo de un rango determinado. Un filtro supresor de banda muy estrecho se conoce como filtro de muesca.
  • Un filtro de paso total deja pasar todas las frecuencias por igual en ganancia. Solo se modifica el desplazamiento de fase, lo que también afecta el retardo de grupo.
  • Un diferenciador tiene una respuesta de amplitud proporcional a la frecuencia.
  • Un filtro de estante bajo pasa todas las frecuencias, pero aumenta o reduce las frecuencias por debajo de la frecuencia de estante en una cantidad especificada.
  • Un filtro de estante alto pasa todas las frecuencias, pero aumenta o reduce las frecuencias por encima de la frecuencia de estante en una cantidad especificada.
  • Un filtro ecualizador de pico crea un pico o una caída en la respuesta de frecuencia, comúnmente utilizado en ecualizadores paramétricos .

Retardo de fase y grupo

  • Un filtro de paso total pasa por todas las frecuencias sin cambios, pero cambia la fase de la señal. Los filtros de este tipo se pueden utilizar para ecualizar el retardo de grupo de los filtros recursivos. Este filtro también se utiliza en efectos de phaser .
  • Un transformador de Hilbert es un filtro pasatodo específico que deja pasar senos paranasales con amplitud sin cambios pero desplaza cada fase sinusoidal en ±90°.
  • Un filtro de retardo fraccional es un filtro de paso total que tiene un retardo de fase o grupo constante y especificado para todas las frecuencias.

La respuesta al impulso

Existe una correspondencia directa entre la función de frecuencia del filtro y su respuesta al impulso: la primera es la transformada de Fourier de la segunda. Esto significa que cualquier requisito sobre la función de frecuencia es un requisito sobre la respuesta al impulso, y viceversa.

Sin embargo, en ciertas aplicaciones puede ser la respuesta al impulso del filtro la que sea explícita y el proceso de diseño apunta entonces a producir una aproximación lo más cercana posible a la respuesta al impulso solicitada, dados todos los demás requisitos.

En algunos casos, puede ser incluso relevante considerar una función de frecuencia y una respuesta de impulso del filtro que se eligen independientemente una de la otra. Por ejemplo, podemos querer tanto una función de frecuencia específica del filtro como que el filtro resultante tenga un ancho efectivo lo más pequeño posible en el dominio de la señal. La última condición se puede lograr considerando una función muy estrecha como la respuesta de impulso deseada del filtro, aunque esta función no tenga relación con la función de frecuencia deseada. El objetivo del proceso de diseño es entonces realizar un filtro que intente cumplir con estos dos objetivos de diseño contradictorios tanto como sea posible. Un ejemplo es el audio de alta resolución en el que la respuesta de frecuencia (magnitud y fase) para señales de estado estable (suma de sinusoides) es el requisito principal del filtro, mientras que una respuesta de impulso sin restricciones puede causar una degradación inesperada debido a la dispersión temporal de las señales transitorias . [2] [3]

Causalidad

Cualquier filtro que funcione en tiempo real (la respuesta del filtro depende únicamente de las entradas actuales y pasadas) debe ser causal . Si el proceso de diseño produce un filtro no causal, el filtro resultante puede volverse causal introduciendo un desfase temporal (o retraso) apropiado.

Los filtros que no funcionan en tiempo real (por ejemplo, para el procesamiento de imágenes) pueden ser no causales. Los filtros no causales pueden estar diseñados para tener un retardo cero.

Estabilidad

Un filtro estable garantiza que cada señal de entrada limitada produzca una respuesta de filtro limitada. Un filtro que no cumpla este requisito puede resultar inútil o incluso perjudicial en algunas situaciones. Ciertos enfoques de diseño pueden garantizar la estabilidad, por ejemplo, utilizando únicamente circuitos de retroalimentación, como un filtro FIR. Por otro lado, los filtros basados ​​en circuitos de retroalimentación tienen otras ventajas y, por lo tanto, pueden ser preferibles, incluso si esta clase de filtros incluye filtros inestables. En este caso, los filtros deben diseñarse con cuidado para evitar la inestabilidad.

Localidad

En ciertas aplicaciones, tenemos que trabajar con señales que contienen componentes que pueden describirse como fenómenos locales, por ejemplo, pulsos o pasos, que tienen una duración determinada. Una consecuencia de aplicar un filtro a una señal es, en términos intuitivos, que la duración de los fenómenos locales se amplía por el ancho del filtro. Esto implica que, a veces, es importante mantener el ancho de la función de respuesta al impulso del filtro lo más corto posible.

Según la relación de incertidumbre de la transformada de Fourier, el producto del ancho de la función de respuesta al impulso del filtro y el ancho de su función de frecuencia debe superar una constante determinada. Esto significa que cualquier requisito sobre la localidad del filtro también implica un límite en el ancho de su función de frecuencia. En consecuencia, puede que no sea posible cumplir simultáneamente los requisitos sobre la localidad de la función de respuesta al impulso del filtro y sobre su función de frecuencia. Este es un ejemplo típico de requisitos contradictorios.

Complejidad computacional

Un deseo general en cualquier diseño es que el número de operaciones (sumas y multiplicaciones) necesarias para calcular la respuesta del filtro sea el menor posible. En ciertas aplicaciones, este deseo es un requisito estricto, por ejemplo, debido a recursos computacionales limitados, recursos de energía limitados o tiempo limitado. La última limitación es típica en aplicaciones en tiempo real.

Existen varias formas en las que un filtro puede tener distinta complejidad computacional. Por ejemplo, el orden de un filtro es más o menos proporcional al número de operaciones. Esto significa que al elegir un filtro de orden bajo, se puede reducir el tiempo de cálculo.

En el caso de los filtros discretos, la complejidad computacional es más o menos proporcional al número de coeficientes del filtro. Si el filtro tiene muchos coeficientes, por ejemplo en el caso de señales multidimensionales como los datos de tomografía, puede ser relevante reducir el número de coeficientes eliminando aquellos que estén suficientemente cerca de cero. En los filtros multifrecuencia, el número de coeficientes se reduce aprovechando sus límites de ancho de banda, donde la señal de entrada se reduce de frecuencia (por ejemplo, hasta su frecuencia crítica) y se aumenta de frecuencia después del filtrado.

Otra cuestión relacionada con la complejidad computacional es la separabilidad, es decir, si un filtro puede escribirse como una convolución de dos o más filtros más simples y cómo hacerlo. En particular, esta cuestión es importante para los filtros multidimensionales, por ejemplo, los filtros 2D que se utilizan en el procesamiento de imágenes. En este caso, se puede obtener una reducción significativa de la complejidad computacional si el filtro se puede separar como la convolución de un filtro 1D en la dirección horizontal y un filtro 1D en la dirección vertical. Un resultado del proceso de diseño de filtros puede ser, por ejemplo, aproximar algún filtro deseado como un filtro separable o como una suma de filtros separables.

Otras consideraciones

También hay que decidir cómo se va a implementar el filtro:

Filtros analógicos

El diseño de filtros analógicos lineales se cubre en su mayor parte en la sección de filtros lineales .

Filtros digitales

Los filtros digitales se clasifican en una de dos formas básicas, según cómo responden a un impulso unitario :

  • Los filtros de respuesta de impulso finito , o FIR , expresan cada muestra de salida como una suma ponderada de las últimas N muestras de entrada, donde N es el orden del filtro. Los filtros FIR normalmente no son recursivos, lo que significa que no utilizan retroalimentación y, como tales, son inherentemente estables. Un filtro de promedio móvil o un filtro CIC son ejemplos de filtros FIR que normalmente son recursivos (que utilizan retroalimentación). Si los coeficientes FIR son simétricos (a menudo el caso), entonces dicho filtro es de fase lineal , por lo que retrasa las señales de todas las frecuencias por igual, lo que es importante en muchas aplicaciones. También es sencillo evitar el desbordamiento en un filtro FIR. La principal desventaja es que pueden requerir significativamente más recursos de procesamiento y memoria que las variantes IIR diseñadas inteligentemente. Los filtros FIR son generalmente más fáciles de diseñar que los filtros IIR: el algoritmo de diseño de filtros Parks-McClellan (basado en el algoritmo Remez ) es un método adecuado para diseñar filtros bastante buenos de forma semiautomática. (Ver Metodología).
  • Los filtros de respuesta al impulso infinito , o IIR , son la contraparte digital de los filtros analógicos. Un filtro de este tipo contiene un estado interno, y la salida y el siguiente estado interno están determinados por una combinación lineal de las entradas y salidas anteriores (en otras palabras, utilizan retroalimentación , que los filtros FIR normalmente no hacen). En teoría, la respuesta al impulso de un filtro de este tipo nunca se extingue por completo, de ahí el nombre IIR, aunque en la práctica, esto no es cierto dada la resolución finita de la aritmética informática. Los filtros IIR normalmente requieren menos recursos informáticos que un filtro FIR de rendimiento similar. Sin embargo, debido a la retroalimentación, los filtros IIR de orden superior pueden tener problemas con la inestabilidad , el desbordamiento aritmético y los ciclos límite , y requieren un diseño cuidadoso para evitar tales dificultades. Además, dado que el cambio de fase es inherentemente una función no lineal de la frecuencia, el retardo de tiempo a través de un filtro de este tipo depende de la frecuencia, lo que puede ser un problema en muchas situaciones. Los filtros IIR de segundo orden suelen denominarse " biquads " y una implementación habitual de filtros de orden superior es la de los biquads en cascada. Una referencia útil para calcular los coeficientes de los biquads es el libro de recetas de ecualización de audio de RBJ.

Frecuencia de muestreo

A menos que la frecuencia de muestreo esté determinada por alguna restricción externa, seleccionar una frecuencia de muestreo adecuada es una decisión de diseño importante. Una frecuencia alta requerirá más recursos computacionales, pero menos filtros anti-aliasing . La interferencia y la vibración con otras señales en el sistema también pueden ser un problema.

Anti-aliasing

Para cualquier diseño de filtro digital, es crucial analizar y evitar los efectos de aliasing . A menudo, esto se hace agregando filtros anti-aliasing analógicos en la entrada y la salida, evitando así cualquier componente de frecuencia por encima de la frecuencia de Nyquist . La complejidad (es decir, la inclinación) de dichos filtros depende de la relación señal-ruido requerida y de la relación entre la frecuencia de muestreo y la frecuencia más alta de la señal.

Fundamento teórico

Algunas partes del problema de diseño se relacionan con el hecho de que ciertos requisitos se describen en el dominio de la frecuencia, mientras que otros se expresan en el dominio del tiempo y que estos pueden entrar en conflicto. Por ejemplo, no es posible obtener un filtro que tenga una respuesta de impulso arbitraria y una función de frecuencia arbitraria. Otros efectos que se refieren a las relaciones entre el dominio del tiempo y la frecuencia son:

  • El principio de incertidumbre entre los dominios del tiempo y la frecuencia
  • El teorema de extensión de la varianza
  • El comportamiento asintótico de un dominio frente a discontinuidades en el otro

El principio de incertidumbre

Como se indica en el límite de Gabor , un principio de incertidumbre, el producto del ancho de la función de frecuencia por el ancho de la respuesta al impulso no puede ser menor que una constante específica. Esto implica que si se solicita una función de frecuencia específica, correspondiente a un ancho de frecuencia específico, se establece el ancho mínimo del filtro en el dominio de la señal. Viceversa, si se proporciona el ancho máximo de la respuesta, esto determina el ancho más pequeño posible en la frecuencia. Este es un ejemplo típico de requisitos contradictorios en los que el proceso de diseño del filtro puede intentar encontrar un compromiso útil.

El teorema de extensión de la varianza

Sea la varianza de la señal de entrada y sea la varianza del filtro. La varianza de la respuesta del filtro, , está dada por σ s 2 {\displaystyle \sigma _{s}^{2}} σ f 2 {\displaystyle \sigma _{f}^{2}} σ r 2 {\displaystyle \sigma _{r}^{2}}

σ r 2 {\displaystyle \sigma _{r}^{2}} = + σ s 2 {\displaystyle \sigma _{s}^{2}} σ f 2 {\displaystyle \sigma _{f}^{2}}

Esto significa que la localización de diversas características, como pulsos o pasos, en la respuesta del filtro está limitada por el ancho del filtro en el dominio de la señal. Si se solicita una localización precisa, necesitamos un filtro de ancho pequeño en el dominio de la señal y, a través del principio de incertidumbre, su ancho en el dominio de la frecuencia no puede ser arbitrariamente pequeño. σ r > σ f {\displaystyle \sigma _{r}>\sigma _{f}}

Discontinuidades versus comportamiento asintótico

Sea f(t) una función y sea su transformada de Fourier. Existe un teorema que establece que si la primera derivada de F que es discontinua tiene orden , entonces f tiene un decaimiento asintótico como . F ( ω ) {\displaystyle F(\omega )} n 0 {\displaystyle n\geq 0} t n 1 {\displaystyle t^{-n-1}}

Una consecuencia de este teorema es que la función de frecuencia de un filtro debe ser lo más suave posible para permitir que su respuesta al impulso tenga una caída rápida y, por lo tanto, un ancho corto.

Metodología

Un método común para diseñar filtros FIR es el algoritmo de diseño de filtros Parks-McClellan , basado en el algoritmo de intercambio Remez . Aquí el usuario especifica una respuesta de frecuencia deseada, una función de ponderación para los errores de esta respuesta y un orden de filtro N. Luego, el algoritmo encuentra el conjunto de N coeficientes que minimizan la desviación máxima del ideal. Intuitivamente, esto encuentra el filtro que está lo más cerca posible de la respuesta deseada dado que puede usar solo N coeficientes. Este método es particularmente fácil en la práctica y al menos un texto [4] incluye un programa que toma el filtro deseado y N y devuelve los coeficientes óptimos. Una posible desventaja de los filtros diseñados de esta manera es que contienen muchas pequeñas ondulaciones en la(s) banda(s) de paso, ya que un filtro de este tipo minimiza el error de pico.

Otro método para encontrar un filtro FIR discreto es la optimización del filtro descrita en Knutsson et al., que minimiza la integral del cuadrado del error, en lugar de su valor máximo. En su forma básica, este enfoque requiere que se especifique una función de frecuencia ideal del filtro junto con una función de ponderación de frecuencia y un conjunto de coordenadas en el dominio de la señal donde se ubican los coeficientes del filtro. F I ( ω ) {\displaystyle F_{I}(\omega )} W ( ω ) {\displaystyle W(\omega )} x k {\displaystyle x_{k}}

Una función de error se define como ε {\displaystyle \varepsilon }

ε = W ( F I F { f } ) 2 {\displaystyle \varepsilon =\|W\cdot (F_{I}-{\mathcal {F}}\{f\})\|^{2}}

donde es el filtro discreto y es la transformada de Fourier de tiempo discreto definida en el conjunto especificado de coordenadas. La norma utilizada aquí es, formalmente, la norma habitual en espacios. Esto significa que mide la desviación entre la función de frecuencia solicitada del filtro, , y la función de frecuencia real del filtro realizado, . Sin embargo, la desviación también está sujeta a la función de ponderación antes de que se calcule la función de error. f ( x ) {\displaystyle f(x)} F {\displaystyle {\mathcal {F}}} L 2 {\displaystyle L^{2}} ε {\displaystyle \varepsilon } F I {\displaystyle F_{I}} F { f } {\displaystyle {\mathcal {F}}\{f\}} W {\displaystyle W}

Una vez establecida la función de error, el filtro óptimo viene dado por los coeficientes que minimizan . Esto se puede hacer resolviendo el problema de mínimos cuadrados correspondiente. En la práctica, la norma debe aproximarse mediante una suma adecuada sobre puntos discretos en el dominio de la frecuencia. En general, sin embargo, estos puntos deben ser significativamente más que el número de coeficientes en el dominio de la señal para obtener una aproximación útil. f ( x ) {\displaystyle f(x)} ε {\displaystyle \varepsilon } L 2 {\displaystyle L^{2}}

Optimización simultánea en ambos dominios

El método anterior se puede ampliar para incluir un término de error adicional relacionado con una respuesta de impulso de filtro deseada en el dominio de la señal, con una función de ponderación correspondiente. La respuesta de impulso ideal se puede elegir independientemente de la función de frecuencia ideal y se utiliza en la práctica para limitar el ancho efectivo y eliminar los efectos de zumbido del filtro resultante en el dominio de la señal. Esto se hace eligiendo una función de respuesta de impulso de filtro ideal estrecha, por ejemplo, un impulso, y una función de ponderación que crece rápidamente con la distancia desde el origen, por ejemplo, la distancia al cuadrado. El filtro óptimo todavía se puede calcular resolviendo un problema de mínimos cuadrados simple y el filtro resultante es entonces un "compromiso" que tiene un ajuste óptimo total a las funciones ideales en ambos dominios. Un parámetro importante es la fuerza relativa de las dos funciones de ponderación que determina en qué dominio es más importante tener un buen ajuste en relación con la función ideal.

Véase también

Referencias

  1. ^ Valdez, ME "Filtros digitales". GRM Networks . Consultado el 13 de julio de 2020 .
  2. ^ Story, Mike (septiembre de 1997). "Una explicación sugerida para (algunas de) las diferencias audibles entre el material de audio de frecuencia de muestreo alta y el de frecuencia de muestreo convencional" (PDF) . dCS Ltd. Archivado (PDF) del original el 28 de noviembre de 2009.
  3. ^ Robjohns, Hugh (agosto de 2016). "Precisión en el dominio del tiempo y calidad de audio digital de MQA". soundonsound.com . Sound On Sound. Archivado desde el original el 10 de marzo de 2023.
  4. ^ Rabiner, Lawrence R., y Gold, Bernard, 1975: Teoría y aplicación del procesamiento de señales digitales (Englewood Cliffs, Nueva Jersey: Prentice-Hall, Inc.) ISBN 0-13-914101-4 
  • A. Antoniou (1993). Filtros digitales: análisis, diseño y aplicaciones (2.ª edición). McGraw-Hill, Nueva York, NY. ISBN 978-0-07-002117-4.
  • A. Antoniou (2006). Procesamiento de señales digitales: señales, sistemas y filtros . McGraw-Hill, Nueva York, NY. ISBN 978-0-07-145424-7.
  • SWA Bergen; A. Antoniou (2005). "Diseño de filtros digitales no recursivos utilizando la función de ventana ultraesférica". Revista EURASIP sobre procesamiento de señales aplicado . 2005 (12): 1910. Bibcode :2005EJASP2005...44B. doi : 10.1155/ASP.2005.1910 .
  • AG Deczky (octubre de 1972). "Síntesis de filtros digitales recursivos utilizando el criterio de error p mínimo". IEEE Trans. Audio Electroacoustics . AU-20 (4): 257–263. doi :10.1109/TAU.1972.1162392.
  • JK Kaiser (1974). "Diseño de filtro digital no recursivo utilizando la función de ventana I 0 -sinh". Proc. 1974 IEEE Int. Symp. Circuit Theory (ISCAS74) . San Francisco, CA. págs. 20–23.
  • H. Knutsson; M.Andersson; J. Wiklund (junio de 1999). "Diseño de filtro avanzado". Proc. Simposio escandinavo sobre análisis de imágenes, Kangerlussuaq, Groenlandia .
  • SK Mitra (1998). Procesamiento de señales digitales: un enfoque basado en computadora . McGraw-Hill, Nueva York, NY. ISBN 978-0-07-286546-2.
  • AV Oppenheim; RW Schafer; JR Buck (1999). Procesamiento de señales en tiempo discreto. Prentice-Hall, Upper Saddle River, NJ. ISBN 978-0-13-754920-7.
  • TW Parks; JH McClellan (marzo de 1972). "Aproximación de Chebyshev para filtros digitales no recursivos con fase lineal". IEEE Trans. Circuit Theory . CT-19 (2): 189–194. doi :10.1109/TCT.1972.1083419.
  • LR Rabiner; JH McClellan; TW Parks (abril de 1975). "Técnicas de diseño de filtros digitales FIR utilizando la aproximación de Chebyshev ponderada". Proc. IEEE . 63 (4): 595–610. doi :10.1109/PROC.1975.9794. S2CID  12579115.
  • Una extensa lista de artículos y software de diseño de filtros en Circuit Sage
  • Una lista de software de diseño de filtros digitales en dspGuru
  • Desmitificación del diseño de filtros analógicos
  • ¡El tutorial de procesamiento de sonido digital de Yehar para los que no tienen cerebro! Este artículo explica de forma sencilla (entre otros temas) la teoría del diseño de filtros y ofrece algunos ejemplos.
Retrieved from "https://en.wikipedia.org/w/index.php?title=Filter_design&oldid=1222075921"