¿Filtro FIR gaussiano sin multiplicadores?

8

¿Cuál es la forma más sencilla de implementar un filtro FIR gaussiano con coeficientes de ganancia unitaria y sin multiplicadores?

Por favor, introduzca su respuesta con notación de spoiler escribiendo los siguientes dos caracteres primero ">!"

Nota: Un filtro FIR gaussiano es un filtro FIR con una respuesta de impulso que es una función gaussiana. Por "coeficientes de ganancia unitaria" quiero decir que todos los coeficientes en la estructura del filtro son 1.

Dan Boschen
fuente
2
Me pregunto dónde puedo recoger un filtro gaussiano. Tal vez en la misma tienda pueda conseguir uno de esos filtros Kalman. Los escuché filtros Kalman son muy buenos.
robert bristow-johnson
Algunas características interesantes de los filtros gaussianos: tienen el tiempo mínimo de subida y bajada sin sobrepasar a una función de paso, y tienen el retraso de grupo más bajo posible para un ancho de banda dado. Una aplicación está en la modulación GMSK mediante el uso de un filtro gaussiano a escala adecuada en la palabra de control de frecuencia de un NCO (o el voltaje de control a un VCO), con cada símbolo en el filtro representado como un impulso. Si el filtro tiene exactamente 1 período de símbolo, esto implementaría una respuesta completa de manera significativa, o si menos, implementaría una señalización de respuesta parcial (como se hace en GSM y UHF SATCOM).
Dan Boschen
Por mucho que me encante el tema dsp-puzzle, siento que la forma en que se establece aquí, aunque desafiante, es un poco contradictorio (o hay algo que no entiendo). Por un lado, se especifica un perfil de dominio de tiempo gaussiano , por otro, la respuesta aceptada apunta a algo como h = [1,1]. Un pulso rect tiene un espectro de frecuencia sinc y el promedio de un gran número de ellos PODRÍA aproximarse a un gaussiano. Pero ese sería un perfil gaussiano en el dominio de la frecuencia . ¿A dónde me estoy yendo mal?
A_A
Gracias por la respuesta, estoy corregido. (No fue un comentario sobre la respuesta aceptada por cierto, más una solicitud de aclaración)
A_A
Es un buen comentario: esperaba que mi aclaración llevara el formato de spoiler, pero no es así, así que eliminé mi respuesta que era demasiado reveladora. Solo diré que un perfil gaussiano en el dominio del tiempo también es un perfil gaussiano en el dominio de la frecuencia.
Dan Boschen

Respuestas:

5

Esta es una aproximación, pero puede hacerlo tan bien como quiera.

Simplemente use una cascada de varios filtros con respuestas de impulso rectangulares. En el caso más simple, este sería un filtro de dos toques. Esto funciona debido al teorema del límite central . Sin embargo, necesitará escalar, porque de lo contrario su respuesta al impulso resultante podría ser demasiado grande. El escalado se puede hacer cambiando ligeramente.

Matt L.
fuente
¿Cómo se aplica el CLT aquí? Todo el procedimiento es determinista.
MBaz
@MBaz: No hay necesidad de aleatoriedad aquí. Lo que dice CLT es que el pdf de un RV que es la suma de muchos RV independientes se aproxima a un gaussiano. Ese pdf es solo la convolución de los pdf de los otros RV independientes. En otras palabras, convolucione muchas funciones entre sí y terminará con un gaussiano.
Matt L.
Correcto, dado que la suma de los RV de IID se aproxima a un gaussiano usando el CLT, y dado que la distribución de una suma de RV es una convolución de sus PDF individuales; Dado que la respuesta de impulso resultante para la cascada de FIR es la convolución de sus respuestas de impulso individuales, podemos deducir que la respuesta de impulso para la cascada de FIR con respuestas de impulso idénticas también se acercará a un Gaussiano.
Dan Boschen
@DanBoschen Sí, lo que me perdí es que la respuesta al impulso se interpreta como un pdf (a escala).
MBaz
Es un gran puente entre dos disciplinas diferentes ... Las matemáticas que puedes hacer en PDF discretos se aplican a lo que puedes hacer con los coeficientes de los filtros FIR ... al final, solo las matemáticas son equivalentes, pero pueden conducir a algunas buenas ideas como esta!
Dan Boschen
4

No es tan elegante como la respuesta de Matt L., pero también parece funcionar.

En lugar de poner filtros FIR de un coeficiente en serie, póngalos en paralelo, pero ahora hágalos de diferentes longitudes y con diferentes retrasos, y luego sume todas las salidas del filtro. Al igual que con la respuesta de Matt, esto no se escalará correctamente. El gaussiano original tendrá que escalarse y hacerse valores enteros (que es donde ocurre el error). Verifique esta url para el error.

Peter K.
fuente
Sí, esto también funciona, ¡buen pensamiento!
Dan Boschen