¿Existe una regla empírica para calcular el orden de filtrado aproximado de una FIR / IIR en función de la banda de paso frente a la frecuencia de muestreo? Creo recordar haber leído sobre eso una vez en la licenciatura. Creo que podría hacer una estimación aproximada como escalador * banda de paso / banda de detención.
He estado trabajando en la implementación de diferentes filtros FIR / IIR y me gustaría una fórmula aproximada que diga si se cambia una variable, esto es aproximadamente cuántos toques más necesitarías para obtener un rendimiento similar.
Comentarios
- Para los filtros FIR, hay ' una fórmula dada en esta respuesta .
Respuesta
Mi " regla general " favorita para el orden de un filtro FIR de paso bajo es " regla empírica de fred harris ":
$$ N = \ frac {f_s} {\ Delta f} \ cdot \ frac {\ rm atten_ {dB}} {22} $$
donde
- $ \ Delta f $ es la banda de transición, en las mismas unidades de $ f_s $
-
$ f_s $ es la frecuencia de muestreo del filtro - $ \ rm atten_ {dB} $ es el rechazo del objetivo en dB
Por ejemplo, si tiene una banda de transición de 100 Hz en un sistema muestreado a 1 kHz, y su requisito de rechazo es 50 dB en la banda de parada, entonces el el orden se puede aproximar mediante:
$$ N = \ frac {1 \ \ rm kHz} {100 \ \ rm Hz} \ cdot \ frac {50} {22} = 23 \ \ rm taps \ tag {redondeando} $$
¡Gracias Fred Harris!
Tenga en cuenta otra fórmula más detallada que tiene en cuenta la banda de paso ripple es la fórmula de Kaiser gracias a James Kaiser de Bell Labs, que incluí en mi gráfico a continuación.
Para la mayoría de las aplicaciones que he realizado, el enfoque de Fred Harris ha estado bien, dado un cierto rechazo , los filtros resultantes que utilizan algoritmos de diseño de filtros tradicionales como Parks-McClellan y Remez han superado mis requisitos de ondulación de banda de paso al cumplir con el requisito de rechazo. (Lo que suelo hacer es estimar el orden, diseñar el filtro con ese orden, inspeccionar el resultado y aumentar o disminuir el orden a partir de ahí para afinar). Los resultados de las estimaciones son solo eso: estimaciones y pueden variar ampliamente según los parámetros generales de diseño y no se debe suponer que sean una solución exacta.
Para aquellos que estén familiarizados con el diseño de filtros usando enfoques de ventana, revisión del vagón o ventana rectangular (que es un simple truncamiento) revela por qué se necesitan $ f_s / \ Delta f $ toques (que es lo mismo que $ 2 \ pi / \ Delta \ omega $ si las unidades para la frecuencia normalizada son radianes / muestra como se hace a menudo) para completar la banda de transición. Vea las imágenes a continuación que ayudan a explicar esto.
La imagen superior a continuación muestra el Sinc esperado en la frecuencia para una ventana rectangular en el tiempo, en este caso como un pulso rectangular no causal centrado en $ t = 0 $ . Esto luego se repite en formas discretas como una forma de onda causal que comienza en $ t = 0 $ , tanto con la Transformada de Fourier de tiempo discreto (DTFT) como con la Transformada de Fourier discreta (DFT) donde la diferencia es que las muestras en el tiempo se extienden hasta $ \ pm \ infty $ para la DTFT, lo que da como resultado una forma de onda continua en el dominio de la frecuencia. En ambos casos, el resultado es una función Sinc con alias que es periódica en el intervalo $ f = [0, f_s) $ , con el punto clave de que para $ N $ muestras en el tiempo de la función rectangular, la respuesta de frecuencia tendrá su primer nulo en $ f = 1 / N $ (Donde $ f $ es la frecuencia normalizada, siendo 1 la frecuencia de muestreo).
La siguiente imagen a continuación muestra el enfoque de la ventana rectangular para el diseño de filtros (que nunca recomendaría pero es informativo). El primer gráfico en la esquina superior izquierda muestra la respuesta de frecuencia objetivo para nuestro filtro como una respuesta ideal de " pared de ladrillos ". No confunda eso con la " ventana del vagón " (o " ventana rectangular ") que también es una forma rectangular, ¡la ventana está en el dominio del tiempo!
Para realizar tal filtro, usaríamos la respuesta al impulso de la respuesta de frecuencia deseada como los coeficientes en nuestro filtro FIR (los coeficientes del filtro son la respuesta al impulso — ponga un impulso en ¡Y salen todos los coeficientes!). La respuesta al impulso para una respuesta de frecuencia rectangular (pared de ladrillo) es la FT inversa, que es una función Sinc, en el dominio del tiempo, que se muestra en la esquina inferior izquierda como " Respuesta de impulso requerida ". Una función Sinc se extiende a más y menos infinito, por lo que para realizar dicho filtro necesitaríamos un filtro infinitamente largo y tendría un retraso infinitamente largo. Obviamente no podemos hacer eso, por lo que truncamos los coeficientes a algo realizable. Cuanto más largo sea el filtro, más nos aproximamos a la respuesta ideal de la pared de ladrillos, pero también más largo será el retraso (y más recursos necesitaríamos en términos de la construcción del filtro; más toques).
Truncar la respuesta al impulso en el dominio del tiempo es matemáticamente idéntico a multiplicar por una ventana rectangular en el dominio del tiempo. (Tenga en cuenta que la respuesta al impulso también se retrasa a la mitad de la duración de la ventana para que el sistema sea causal). Multiplicar en el dominio del tiempo es equivalente a la convolución en el dominio de la frecuencia. El dominio de la frecuencia (FT) de la respuesta al impulso antes del truncamiento es nuestra respuesta de frecuencia de pared de ladrillo deseada original. La frecuencia La respuesta para la ventana rectangular es una función Sinc en el dominio de la frecuencia.
Entonces, cuando truncamos la respuesta de impulso deseada (multiplicamos en el tiempo por una ventana rectangular), convertimos la respuesta de frecuencia deseada e con una función Sinc, lo que resulta en una aproximación de nuestra respuesta de frecuencia objetivo como se muestra en la esquina superior derecha de la imagen a continuación.
Una conclusión clave para las funciones Sinc en general es que el primer nulo es $ 1 / T $ donde $ T $ es la duración de la función rectangular. Para un sistema de muestra, el primer nulo estaría en $ 2 \ pi / N $ donde $ N $ representa el número de muestras durante la duración de la función rectangular. En las imágenes, se usa una frecuencia en radianes normalizada para el eje de frecuencia (si eso confunde, simplemente sepa que $ 2 \ pi $ es la frecuencia en radianes para la frecuencia de muestreo). Entonces, en el proceso de la convolución, la transición nítida de la pared de ladrillos se extiende y, en este caso, va a 0 (nuestro $ \ Delta \ omega $ ) en una frecuencia de $ 2 \ pi / N $ ! Así que aquí $$ N = 2 \ pi / \ Delta \ omega $$ y, por supuesto, el filtro es deficiente con lóbulos laterales, etc. Tenga en cuenta esto: esta transición de la función Sinc es el más nítido disponible para un número determinado de toques; tiene la mejor resolución en frecuencia pero el rango dinámico más pobre (rechazo). Otras tipologías de ventanas (Blackman, Blackman-harris, Kaiser (mi favorita), etc.) mejorarán significativamente el rango dinámico pero siempre a expensas de la transición.
Entonces, de lo anterior, vemos el origen del $ 2 \ pi / \ Delta \ omega $ que se usa en las fórmulas de aproximación, y también vemos por qué hay un factor de multiplicación adicional que aumenta el número de taps por encima de este para diseños de filtros típicos; la ventana rectangular nos daría la mejor transición posible con $ N $ toques donde $ N = 2 \ pi / \ Delta \ omega $ pero tienen un rechazo muy pobre. Se utilizan más toques para suavizar la transición de tiempo más allá de la transición brusca de la ventana rectangular, lo que proporciona un mayor rechazo a expensas del ancho de banda de transición.
Comentarios
- Solo para evitar confusiones, la fórmula que llama " Kaiser ' s formula " es en realidad la fórmula para los filtros óptimos de Parks McClellan (de hecho, los encontró Kaiser), pero no para el método de ventana de Kaiser. Este último no ' no tiene dos valores $ \ delta $ diferentes, pero solo uno.
- De hecho, buena aclaración Matt, ya que hay un método de ventana de Kaiser. Sin embargo, esta fórmula se denomina " Kaiser ' s Formula " en la literatura, sólo para que los lectores ' no crean que fue mi propio uso de ese término. engold.ui.ac.ir/~sabahi/Advanced%20digital%20communication/…
- ¡Impresionante!Parece que proviene de la página 48 de Fred Harris ' libro: " Procesamiento de señales de velocidad múltiple para sistemas de comunicación "?
- ¿La regla general o las imágenes? Las fotos son mías para una clase que hago. No ' no tengo el libro de fred ', pero soy un gran admirador y conocí su " regla general " por él en una presentación de DSP World que hizo alrededor de 1996. (Tenga en cuenta que insiste en que su nombre se deletree en minúsculas).
- @DanBoschen ¿La fórmula de Parks McClellan también es válida al diseñar filtros FIR de paso de banda? Si no es así, ¿hay otra " regla general " que pueda aplicarse?
Respuesta
La longitud de un filtro FIR o el orden de un filtro IIR es muy aproximadamente inversamente proporcional a la relación del ancho de la banda de transición (el más estrecho , si muchos) a la frecuencia de muestreo, otras cosas son algo equivalentes, excepto para filtros de orden muy corto o muy bajo.
Comentarios
- no sé por qué alguien votó negativamente. Lo arreglé de nuevo a cero.
- ¿Hay otras cosas que son algo equivalentes?
- La ondulación de la banda de paso y la atenuación de la banda de parada también son otros factores principales que afectan la longitud del filtro. li>