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 implementación del filtro que cumpla con cada uno de los requisitos en un grado aceptable.
El proceso de diseño de filtros puede describirse como un problema de optimización. Si bien algunas partes del proceso pueden automatizarse, es posible que se necesite 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 tenerse en cuenta en el proceso de diseño son:
- Respuesta en frecuencia
- Desfase o retardo de grupo
- Respuesta impulsional
- Requisito de filtro causal posible
- Posible requisito de filtro estable
- Requisito de respuesta de impulso finito posible
- Complejidad computacional
- Tecnología requerida
La función de frecuencia
La respuesta en 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 componente dependiente de la frecuencia. Esto significa que la pendiente de la respuesta en frecuencia está limitada a 6 dB por octava . Para muchos fines, 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, también puede existir una función de ponderación que la acompañe , la cual describe, para cada frecuencia, la importancia de 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 eliminar las señales de alta frecuencia no deseadas.
- Un filtro de paso alto deja pasar bastante bien las frecuencias altas; resulta útil como filtro para eliminar cualquier componente de baja frecuencia no deseado.
- Un filtro de paso de banda deja pasar un rango limitado de frecuencias.
- Un filtro de rechazo de banda permite el paso de frecuencias por encima y por debajo de un determinado rango. Un filtro de rechazo de banda muy estrecho se conoce como filtro de muesca.
- Un filtro paso todo deja pasar todas las frecuencias con la misma ganancia. Solo se modifica el desfase, lo que también afecta al retardo de grupo.
- Un diferenciador tiene una respuesta de amplitud proporcional a la frecuencia.
- Un filtro de estantería baja deja pasar todas las frecuencias, pero aumenta o reduce las frecuencias que están por debajo de la frecuencia de estantería en una cantidad específica.
- Un filtro de estantería alta deja pasar todas las frecuencias, pero aumenta o reduce las frecuencias que están por encima de la frecuencia de estantería en una cantidad específica.
- Un filtro EQ de pico crea un pico o una caída en la respuesta de frecuencia, y se utiliza comúnmente en ecualizadores paramétricos .
Retraso de fase y de grupo
- Un filtro paso todo deja pasar todas las frecuencias sin cambios, pero modifica la fase de la señal. Este tipo de filtros se puede utilizar para ecualizar el retardo de grupo de los filtros recursivos. También se emplea en efectos de fase .
- Un transformador de Hilbert es un filtro paso todo específico que deja pasar las señales sinusoidales con amplitud inalterada, pero desplaza la fase de cada señal sinusoidal en ±90°.
- Un filtro de retardo fraccional es un filtro paso todo que tiene un retardo de grupo o de fase especificado y constante para todas las frecuencias.
La respuesta impulsional
Existe una correspondencia directa entre la función de frecuencia del filtro y su respuesta impulsional: la primera es la transformada de Fourier de la segunda. Esto significa que cualquier requisito sobre la función de frecuencia implica un requisito sobre la respuesta impulsional, y viceversa.
Sin embargo, en ciertas aplicaciones, la respuesta impulsional del filtro puede ser explícita, y el proceso de diseño entonces busca producir una aproximación lo más cercana posible a la respuesta impulsional solicitada, teniendo en cuenta todos los demás requisitos.
En algunos casos, incluso puede ser relevante considerar una función de frecuencia y una respuesta impulsional del filtro, elegidas independientemente una de la otra. Por ejemplo, podríamos desear tanto una función de frecuencia específica del filtro como que el filtro resultante tenga el menor ancho efectivo posible en el dominio de la señal. Esta última condición se puede lograr considerando una función muy estrecha como la respuesta impulsional 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 crear un filtro que intente satisfacer ambos objetivos de diseño, aparentemente contradictorios, en la medida de lo posible. Un ejemplo es el audio de alta resolución, donde la respuesta en frecuencia (magnitud y fase) para señales de estado estacionario (suma de sinusoides) es el requisito principal del filtro, mientras que una respuesta impulsional 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 opere en tiempo real (cuya respuesta dependa únicamente de las entradas actuales y pasadas) debe ser causal . Si el proceso de diseño produce un filtro no causal, este puede convertirse en causal introduciendo un desfase temporal (o retardo) adecuado.
Los filtros que no operan en tiempo real (por ejemplo, para el procesamiento de imágenes) pueden ser no causales. Los filtros no causales pueden diseñarse 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, en algunas situaciones, resultar inútil o incluso perjudicial. Ciertos enfoques de diseño pueden garantizar la estabilidad, por ejemplo, mediante el uso exclusivo de circuitos de alimentación directa, como un filtro FIR. Por otro lado, los filtros basados en circuitos de realimentación presentan otras ventajas y, por lo tanto, pueden ser preferibles, aunque esta clase de filtros incluya filtros inestables. En este caso, los filtros deben diseñarse cuidadosamente para evitar la inestabilidad.
Localidad
En ciertas aplicaciones, debemos trabajar con señales que contienen componentes que pueden describirse como fenómenos locales, por ejemplo, pulsos o escalones, con una duración determinada. Intuitivamente, al aplicar un filtro a una señal, la duración de los fenómenos locales se extiende en la medida del ancho del filtro. Esto implica que, en ocasiones, es importante mantener el ancho de la función de respuesta impulsional 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 impulsional 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 para el ancho de su función de frecuencia. Por consiguiente, puede resultar imposible cumplir simultáneamente los requisitos sobre la localidad de la función de respuesta impulsional del filtro y sobre su función de frecuencia. Este es un ejemplo típico de requisitos contradictorios.
Complejidad computacional
En cualquier diseño, se busca minimizar el número de operaciones (sumas y multiplicaciones) necesarias para calcular la respuesta del filtro. En ciertas aplicaciones, este objetivo se convierte en un requisito indispensable, por ejemplo, debido a la limitación de recursos computacionales, energéticos o de tiempo. Esta última limitación es típica en aplicaciones en tiempo real.
Existen diversas maneras en que un filtro puede tener diferente 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.
Para 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 filtros multivelocidad, el número de coeficientes se reduce aprovechando sus límites de ancho de banda, donde la señal de entrada se submuestrea (por ejemplo, a su frecuencia crítica) y se sobremuestrea después del filtrado.
Otro aspecto relacionado con la complejidad computacional es la separabilidad, es decir, si un filtro puede expresarse como la convolución de dos o más filtros más simples, y cómo hacerlo. Este aspecto es especialmente importante para los filtros multidimensionales, como los filtros 2D utilizados en el procesamiento de imágenes. En este caso, se puede lograr una reducción significativa de la complejidad computacional si el filtro puede separarse como la convolución de un filtro 1D en la dirección horizontal y otro en la dirección vertical. El proceso de diseño del filtro puede, por ejemplo, permitir aproximar un filtro deseado como un filtro separable o como la suma de varios filtros separables.
Otras consideraciones
También debe decidirse cómo se va a implementar el filtro:
Filtros analógicos
El diseño de filtros analógicos lineales se trata en su mayor parte en la sección de filtros lineales .
Filtros digitales
Los filtros digitales se clasifican en dos formas básicas, según cómo responden a un impulso unitario :
- Los filtros de respuesta de impulso finito ( 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 suelen ser no recursivos, lo que significa que no utilizan retroalimentación y, por lo tanto, son inherentemente estables. Un filtro de media móvil o un filtro CIC son ejemplos de filtros FIR que suelen ser recursivos (que utilizan retroalimentación). Si los coeficientes FIR son simétricos (lo cual es frecuente), dicho filtro es de fase lineal , por lo que retrasa las señales de todas las frecuencias por igual, lo cual es importante en muchas aplicaciones. También es sencillo evitar el desbordamiento en un filtro FIR. La principal desventaja es que pueden requerir muchos más recursos de procesamiento y memoria que las variantes IIR bien diseñadas. Los filtros FIR son generalmente más fáciles de diseñar que los filtros IIR; el algoritmo de diseño de filtros de Parks-McClellan (basado en el algoritmo de Remez ) es un método adecuado para diseñar filtros bastante buenos de forma semiautomática. (Véase Metodología ).
- Los filtros de respuesta impulsional infinita ( IIR ) son la contraparte digital de los filtros analógicos. Este tipo de filtro contiene un estado interno, y la salida y el siguiente estado interno se determinan mediante una combinación lineal de las entradas y salidas anteriores (es decir, utilizan retroalimentación , algo que los filtros FIR normalmente no hacen). En teoría, la respuesta impulsional de este filtro nunca se extingue por completo, de ahí su nombre IIR, aunque en la práctica esto no se cumple debido a la resolución finita de la aritmética computacional . Los filtros IIR suelen requerir menos recursos computacionales que un filtro FIR de rendimiento similar. Sin embargo, debido a la retroalimentación, los filtros IIR de alto orden pueden presentar problemas de inestabilidad , desbordamiento aritmético y ciclos límite , y requieren un diseño cuidadoso para evitar estos inconvenientes. Además, dado que el desfase es inherentemente una función no lineal de la frecuencia, el retardo de tiempo a través de este filtro 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 común de filtros de orden superior consiste en conectar biquads en cascada. Una referencia útil para calcular los coeficientes de los biquads es el libro RBJ Audio EQ Cookbook .
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 el batido con otras señales en el sistema también pueden ser un problema.
Suavizado de bordes
En el diseño de cualquier filtro digital, es fundamental analizar y evitar los efectos de aliasing . A menudo, esto se logra añadiendo filtros analógicos anti-aliasing a la entrada y a la salida, evitando así cualquier componente de frecuencia superior a la frecuencia de Nyquist . La complejidad (es decir, la pendiente) 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
Parte del problema de diseño se relaciona 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 impulsional arbitraria y una función de frecuencia arbitraria. Otros efectos que se refieren a las relaciones entre el dominio del tiempo y el dominio de 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 las discontinuidades en el otro.
El principio de incertidumbre
Como establece el límite de Gabor , un principio de incertidumbre, el producto del ancho de la función de frecuencia y el ancho de la respuesta impulsional no puede ser menor que una constante específica. Esto implica que si se requiere una función de frecuencia específica, correspondiente a un ancho de frecuencia determinado, se establece el ancho mínimo del filtro en el dominio de la señal. Por el contrario, si se especifica el ancho máximo de la respuesta, este determina el ancho mínimo posible en el dominio de la frecuencia. Este es un ejemplo típico de requisitos contradictorios, donde el proceso de diseño del filtro puede intentar encontrar una solución de compromiso útil.
El teorema de extensión de la varianza
Dejarsea la varianza de la señal de entrada y seasea la varianza del filtro. La varianza de la respuesta del filtro,, entonces viene dado por
- =+
Esto significa queEsto implica que la localización de diversas características, como pulsos o escalones, en la respuesta del filtro está limitada por el ancho del filtro en el dominio de la señal. Si se requiere una localización precisa, necesitamos un filtro de ancho reducido en el dominio de la señal y, según el principio de incertidumbre, su ancho en el dominio de la frecuencia no puede ser arbitrariamente pequeño.
Discontinuidades frente a comportamiento asintótico
Sea f(t) una función y seasea su transformada de Fourier. Hay un teorema que establece que si la primera derivada de F que es discontinua tiene orden, entonces f tiene una disminución asintótica como.
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 impulsional tenga una caída rápida y, por lo tanto, un ancho reducido.
Metodología
Un método común para diseñar filtros FIR es el algoritmo de diseño de filtros de Parks-McClellan , basado en el algoritmo de intercambio de Remez . En este método , el usuario especifica una respuesta en frecuencia deseada, una función de ponderación para los errores de dicha respuesta y un orden de filtro N. [ 4 ] El algoritmo encuentra entonces el conjunto de N coeficientes que minimizan la desviación máxima respecto al ideal. Intuitivamente, esto encuentra el filtro que se aproxima lo máximo posible a la respuesta deseada, dado que solo se pueden usar N coeficientes. Este método es particularmente sencillo en la práctica y al menos un texto [ 5 ] 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 dicho filtro minimiza el error máximo.
Otro método para encontrar un filtro FIR discreto es la optimización de filtros 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 exista una función de frecuencia ideal del filtro.se especifica junto con una función de ponderación de frecuenciay conjunto de coordenadasen el dominio de la señal donde se ubican los coeficientes del filtro.
Una función de errorse define como
dóndees el filtro discreto yes la transformada de Fourier de tiempo discreto definida en el conjunto de coordenadas especificado. La norma utilizada aquí es, formalmente, la norma usual enespacios. Esto significa quemide 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.
Una vez establecida la función de error, el filtro óptimo viene dado por los coeficientes.que minimizanEsto se puede hacer resolviendo el problema de mínimos cuadrados correspondiente. En la práctica, elLa norma debe aproximarse mediante una suma adecuada sobre puntos discretos en el dominio de la frecuencia. Sin embargo, en general, estos puntos deben ser significativamente más numerosos que el número de coeficientes en el dominio de la señal para obtener una aproximación útil.
Optimización simultánea en ambos dominios
El método anterior puede extenderse para incluir un término de error adicional relacionado con la respuesta impulsional deseada del filtro en el dominio de la señal, con una función de ponderación correspondiente. La respuesta impulsional ideal puede elegirse independientemente de la función de frecuencia ideal y, en la práctica, se utiliza para limitar el ancho efectivo y eliminar los efectos de oscilación del filtro resultante en el dominio de la señal. Esto se logra eligiendo una función de respuesta impulsional del filtro ideal estrecha, por ejemplo, un impulso, y una función de ponderación que crece rápidamente con la distancia al origen, por ejemplo, el cuadrado de la distancia. El filtro óptimo aún puede calcularse resolviendo un problema simple de mínimos cuadrados, y el filtro resultante es entonces un "compromiso" que presenta 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 con respecto a la función ideal.
Véase también
Referencias
- ↑ Valdez, ME "Filtros digitales" . GRM Networks . Consultado el 13 de julio de 2020 .
- ↑ Story, Mike (septiembre de 1997). "Una explicación sugerida para (algunas de) las diferencias audibles entre el material de audio con alta frecuencia de muestreo y el material de audio con frecuencia de muestreo convencional" (PDF) . dCS Ltd. Archivado (PDF) del original el 28 de noviembre de 2009.
- ↑ Robjohns, Hugh (agosto de 2016). "Precisión en el dominio del tiempo de MQA y calidad de audio digital" . soundonsound.com . Sound On Sound. Archivado del original el 10 de marzo de 2023.
- ↑ Proakis, John G.; Manolakis, Dimitris G. (2007). Procesamiento digital de señales (4.ª ed.). Upper Saddle River, NJ: Pearson Prentice Hall. pp. 678–699 . ISBN 978-0-13-187374-2.
- ↑ Rabiner, Lawrence R., y Gold, Bernard, 1975: Teoría y aplicación del procesamiento digital de señales (Englewood Cliffs, Nueva Jersey: Prentice-Hall, Inc.) ISBN 0-13-914101-4
Bibliografía
- A. Antoniou (1993). Filtros digitales: análisis, diseño y aplicaciones (2.ª ed.). McGraw-Hill, Nueva York, NY. ISBN 978-0-07-002117-4.
- A. Antoniou (2006). Procesamiento digital de señales: 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" . EURASIP Journal on Applied Signal Processing . 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 Transactions on Audio and Electroacoustics . 20 (4): 257– 263. Bibcode : 1972ITAuE..20..257D . doi : 10.1109/TAU.1972.1162392 .
- JK Kaiser (1974). "Diseño de filtros digitales no recursivos utilizando la función de ventana I 0 -sinh". Actas del Simposio Internacional de Teoría de Circuitos de la IEEE de 1974 (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 digital de señales: 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 Transactions on Circuit Theory . 19 (2): 189– 194. Bibcode : 1972ITCT...19..189P . doi : 10.1109/TCT.1972.1083419 .
- LR Rabiner; JH McClellan; TW Parks (abril de 1975). "Técnicas de diseño de filtros digitales FIR mediante aproximación ponderada de Chebyshev". Actas del IEEE . 63 (4): 595– 610. Bibcode : 1975IEEEP..63..595R . doi : 10.1109/PROC.1975.9794 . S2CID 12579115 .
Enlaces externos
- Una extensa lista de artículos y software sobre diseño de filtros en Circuit Sage.
- Lista de software de diseño de filtros digitales en dspGuru
- El diseño de filtros analógicos explicado de forma sencilla.
- ¡Tutorial de procesamiento de sonido digital de Yehar para principiantes! Este documento explica de forma sencilla (entre otros temas) la teoría del diseño de filtros y ofrece algunos ejemplos.
- Procesamiento digital de señales
- teoría de filtros
- Filtro de procesamiento de señales