Ecualizador digital continuo en el dominio de la frecuencia

1

Estoy frente a un caso real de aplicación DSP. Tengo un conocimiento básico de filtrado digital y temas de telecomunicaciones.

La entrada de mi "caja negra" es una señal de audio digital (por ejemplo, un archivo WAV común, estéreo a 44100 Hz, 16 bits). Necesito desarrollar un ecualizador digital y crear las muestras de audio de salida.

El cálculo se debe realizar en tiempo real, es decir, con una transmisión en vivo. Soy consciente de que significa que tengo que definir un búfer lo suficientemente grande para alimentar los filtros.

El enfoque básico es crear varios filtros digitales de banda de paso para cambiar la ganancia de las frecuencias en cada banda. Debido a que las bandas solicitadas son muchas (> 16), voy a trabajar en el dominio de frecuencia.

Mi pensamiento:

  1. convertir la señal en el dominio de frecuencia (DFT)
  2. define una forma de la respuesta deseada
  3. procesar las muestras de entrada con esta forma
  4. volver al dominio del tiempo para recuperar las muestras de audio reales

Preguntas:

  1. ¿cuál es el nombre técnico de este método?
  2. ¿Crees que este enfoque es mejor (*) que usar muchos filtros de banda de paso empinados?

(*) mejor aquí no es solo una opinión: estoy hablando de la complejidad, la latencia y la precisión del código

    
pregunta Mark

1 respuesta

2

Su pregunta es más adecuada para el intercambio de pila de procesamiento de señales, y esta es quizás la respuesta que está buscando. Sin embargo, los problemas básicos son:

  • Las FFT / DFT son filtros, sin embargo (1) su respuesta de frecuencia no es ideal ya que se superponen entre sí en el dominio continuo, (2) no están espaciadas de la manera que mejor se adapte a nuestra respuesta auditiva, lo que genera desperdicio procesamiento, y (3) son convoluciones circulares que pueden conducir a discontinuidades de muestra a muestra.

  • Lo que está buscando es un banco de filtros ortogonales eficiente que esté espaciado logarítmicamente en el dominio de la frecuencia. Existen varios enfoques para estos.

  • Una transformada de wavelet apropiada podría ser más eficiente, ya que se introduce la anulación en cada paso que pasa por alto la resolución de la bandeja fija de FFT.

  • En particular, la Transformada de constante-Q invertible fue diseñado con estos problemas en mente.

Aunque no estoy muy familiarizado con esto, puedo encontrar una metodología que pueda servirle a usted con base en el enfoque de wavelet.

  1. Diseñe un filtro que extraiga la mitad superior del dominio de frecuencia al orden deseado.
  2. Divida el dominio en dos secciones ortogonales, aplicando el filtro y restando la salida del filtro de la entrada.
  3. Mantenga el componente superior para su procesamiento. Este es el coeficiente de detalle.
  4. Disminuya el componente de frecuencia inferior desechando la mitad de las muestras. Este es el coeficiente de aproximación.
  5. Vuelve a aplicar el filtro a la mitad diezmada.
  6. Repita el proceso, dividiendo sucesivamente el espectro en bandas que están espaciadas logarítmicamente.
  7. Aplicar la escala deseada.
  8. Realice una ampliación de la muestra (que incluye el filtrado de paso bajo) en cada banda baja y agréguela a su banda alta correspondiente para reconstruir la señal filtrada.
  9. Como los coeficientes de detalle también están limitados por la banda, estos también pueden ser diezmados y procesados de la misma manera para proporcionar una resolución de frecuencia más alta.

Tenga en cuenta que cada banda inferior toma el doble del número de muestras que se procesan, por lo que esta es una instancia de la característica de filtrado de velocidad variable de las transformadas de wavelet. Sin embargo, la tasa de muestreo total se mantiene constante debido al submuestreo intermedio.

Hay algunos problemas de fase que deberían abordarse y conducirían a limitaciones prácticas en los filtros. Wikipedia se extiende extensamente en la Transformada de Wavelet discreta.

    
respondido por el Edgar Brown

Lea otras preguntas en las etiquetas