¿Cómo puedo diseñar un filtro muy estrecho?

15

Supongamos que tengo una señal de audio muestreada a Hz, y me gustaría diseñar un filtro de paso bajo que aísle todo por debajo de ~ Hz. En el mundo digital, este es un filtro de paso bajo con la banda de paso en . Además, la banda de transición también debe ser razonable. La construcción de un filtro FIR para esto puede tener muchos toques que a la larga afectan la precisión. Un filtro IIR tampoco es ideal porque el audio sufre por una respuesta de fase no lineal en los filtros, por lo que, a menos que la señal se filtre, luego se invierta y se filtre nuevamente, no es realmente una opción.4800060 60[-π400,π400]

¿Podría una transformada wavelet ser mejor en esto que el filtrado regular de una vez?

Phonon
fuente
¿Hay alguna razón por la que no quieres diezmar?
Lorem Ipsum
No, diezmar está bien siempre que obtenga lo que quiero.
Phonon
1
¿Qué es una banda de transición "razonable"? Eso va a determinar el orden de su filtro. Si su banda de detención comienza a 300 Hz, por ejemplo, probablemente esté en muy buena forma. Si desea una alta atenuación a algo así como 60.1 Hz, entonces será larga. Los filtros FIR larga no son necesariamente malas, sin embargo,
Jason R
55
Necesita una especificación de filtro real; de lo contrario, la pregunta no tiene sentido. Indique la ondulación aceptable de la banda de paso, el rechazo de la banda de detención, el ancho de la banda de transición, etc.
Paul R
Tiene sentido. Lo haré
Phonon

Respuestas:

20

Si está optimizando el tiempo de ingeniería y se encuentra en una plataforma que admite bien grandes FFT (es decir, no es un punto fijo), entonces tome el consejo de hotpaw2 y use una convolución rápida . Funcionará mucho mejor que una implementación FIR ingenua y debería ser relativamente fácil de implementar.

Por otro lado, si tiene algo de tiempo para gastar en esto para obtener la mejor implementación o está en una plataforma de punto fijo, debe usar una estructura multirrate hacia abajo, hacia arriba y hacia abajo. Pero es un poco más complicado hacer todo bien.

Tengo acceso a implementaciones confiables y altamente optimizadas de herramientas de filtrado de convolución rápida y multirate. La convolución rápida tarda aproximadamente 3 veces más para obtener un rendimiento de señal equivalente en comparación con la estructura multirate. Además, eso es incluso en una plataforma de punto flotante. La brecha se ampliaría considerablemente en un punto fijo dsp.

En términos generales:

Conversión descendente:

Use 8 etapas de media banda, filtros diezmado por 2 para transformar su señal de 48 kHz en una señal de 187.5 Hz. La primera etapa de este muestreo descendente puede tener una banda de transición muy amplia, lo que permite que la energía se alias siempre que no se vuelva a alias en el rango inferior a 60 Hz. A medida que avanzan las etapas, el número de tomas debe aumentar, pero se aplicarán a tasas de muestreo progresivamente más bajas, por lo que el costo total de cada etapa sigue siendo pequeño.

Filtración:

Realice su filtrado ajustado alrededor de los 60 Hz bw para mantener la energía que eventualmente querrá restar. Hay una doble ventaja en hacer un filtrado ajustado a una velocidad baja:

  1. 1Hz de ancho de banda de transición es 256 veces mayor en términos de frecuencia digital a una velocidad baja frente a la velocidad original. Por lo tanto, cada toque de su filtro es 256 veces más potente.
  2. La señal en sí está a una velocidad menor, por lo que el filtro solo necesita procesar 1/256 de los datos.

Conversión ascendente:

Esencialmente, este es el reverso de las etapas de diezmado. Cada una de las 8 etapas del interpolador duplica la velocidad estimando la muestra que va entre muestras de entrada consecutivas. La banda de transición se ensancha a medida que aumenta la frecuencia de muestreo.

Sustraer:

Reste su señal filtrada de paso bajo de velocidad completa de la señal original. Si ha ajustado correctamente todos los retrasos del grupo, la estructura general será un filtro de paso alto con un ancho de banda de transición estrecho.

Mark Borgerding
fuente
Esta es una respuesta fantástica. ¿Puedo tener sus comentarios en esta publicación? dsp.stackexchange.com/questions/29655/…
richieqianle el
6

Pruebe un filtro de convolución de adición / guardado superpuesto con el FFT / IFFT más largo que se ajuste a sus restricciones de latencia y rendimiento computacional. Puede diseñar filtros FIR extremadamente largos cuando utilice este método con FFT aún más largos.

Si puede FFT toda la canción, o todo su archivo de señal de audio, en un FFT + IFFT muy largo (hay algoritmos FFT especiales para vectores largos que no caben en dcache o RAM), no necesitará hacer nada se superpone el proceso de agregar / guardar, y puede obtener una banda de transición muy estrecha.

hotpaw2
fuente
4

Claramente hay dos opciones: FIR y IIR. Como ya se dijo, FIR requiere una respuesta de impulso MUY larga (1000s de tomas) y es costoso en términos de memoria, MIPS y latencia con superposición de agregar / guardar siendo la opción más eficiente. Sin embargo, la latencia puede ser un problema real. Si desea usar eso como un paso alto para un subwoofer de cine en casa, la latencia será tan alta que perderá la sincronización de los labios con el video.

IIR es varios órdenes de magnitud menos costoso y, por lo tanto, se usa con frecuencia. De hecho, tiene una respuesta de fase no plana, pero en muchos casos esto no es un problema o puede solucionarse. Por ejemplo, si necesita un filtro de paso alto para proteger los controladores en una caja de graves, la respuesta de fase no es muy importante ya que la respuesta general de fase del sistema está dominada por el controlador, el gabinete y la acústica en la sala. El filtro solo juega un papel menor aquí. En muchos casos, también necesita mantener la fase "relativa", no la fase absoluta. Digamos que desea aplicar el paso alto en la señal A pero no en la señal B, simplemente puede poner un paso total coincidente en la señal B para que la fase relativa de A y B permanezca igual. La latencia general y la demora grupal de este enfoque es aún mucho menor que la del método FIR.

Hilmar
fuente