Cómo utilizar un códec de audio para optimizar más fácilmente el rendimiento de audio en sistemas integrados

Actualización: 8 de diciembre de 2023

Muchos diseñadores están incluyendo códecs de audio en sus diseños de sistemas integrados basados ​​en microcontroladores en un esfuerzo por agregar audio de alta fidelidad. Al hacerlo, tienen que descubrir cómo ajustar el códec de audio para su aplicación. Sin sintonizar, la aplicación puede dejar un sonido plano o de mala calidad, incluso con un buen códec y altavoz. El problema es que cada altavoz tiene su propia respuesta de frecuencia, por lo que el códec debe ajustarse a las características del altavoz teniendo en cuenta el tipo de audio que se reproducirá y la respuesta requerida.

La solución para sintonizar el sistema de reproducción de audio no es utilizar filtrado de hardware, sino aprovechar los propios bloques de filtrado digital del códec de audio. Cada códec tiene este bloque para permitir que un desarrollador filtre la salida utilizando filtros de paso alto, paso bajo y paso de banda. Esto permite que la respuesta del altavoz se sintonice cuidadosamente e incluso se ajuste, según sea necesario.

Este artículo discutirá los bloques de audio digital internos que se incluyen en los códecs, utilizando un códec de AKM Semiconductores como ejemplo. También discutirá varios consejos y trucos sobre cómo ajustar el códec que ayudarán a los desarrolladores a acelerar el desarrollo de su reproducción de audio mientras mejoran la calidad de sonido de un sistema.

Comprender las características de respuesta de frecuencia de los altavoces

El artículo "Cómo seleccionar y utilizar un códec de audio y un microcontrolador para archivos de retroalimentación de audio integrados" trataba los fundamentos de la selección y la adición de un códec a un sistema. El siguiente paso es usar ese códec para obtener la mejor salida de audio posible.

Hay varios factores diferentes que contribuyen a cómo sonará el audio que sale de un sistema. Estos factores incluyen:

  • El recinto del hablante
  • Cómo se monta el altavoz
  • Las frecuencias de audio que se están reproduciendo.
  • La respuesta de frecuencia del altavoz.

Después de una cuidadosa consideración de estos factores, un desarrollador pronto se dará cuenta de que ajustar un sistema de audio es útil solo cuando está en su estado de producción final. Claro, el sistema se puede sintonizar con una placa de circuito impreso (placa de pc) y el altavoz fuera de una carcasa, pero no se debe esperar que se apliquen esos mismos parámetros de ajuste cuando el altavoz está montado y dentro de su caja.

Si el equipo mecánico ha diseñado correctamente la carcasa y el montaje del sistema, la característica principal que el desarrollador debe vigilar de cerca es la respuesta de frecuencia del altavoz. Cada altavoz tiene diferentes características y curvas de respuesta. Incluso los altavoces con el mismo número de pieza suelen tener ligeras variaciones en la respuesta de frecuencia, pero el fabricante suele proporcionar una curva de respuesta de frecuencia típica. Por ejemplo, la Figura 1 muestra la curva de respuesta de frecuencia para un altavoz CUI Devices GC0401K de 8 ohmios (Ω) y 1 vatio. El GC0401K está clasificado para frecuencias entre 390 hercios (Hz) y 20 kilohercios (kHz).

Figura 1: El altavoz de 0401 vatio y 8 Ω GC1K de CUI Devices está clasificado para frecuencias entre 390 Hz y 20 kHz. (Fuente de la imagen: dispositivos CUI)

Los oradores generalmente se clasifican para la región de su curva de respuesta donde la respuesta es relativamente plana. Una mirada de cerca a la Figura 1 muestra que la respuesta de frecuencia para el GC0401K comienza a aplanarse a ~ 350 Hz y permanece relativamente plana al menos hasta 9 kHz. Las frecuencias de gama alta tienen cierta caída, pero siguen siendo estables hasta 20 kHz.

Se puede ver una respuesta de frecuencia de altavoz diferente en el GF0668 de CUI Devices (Figura 2). Este altavoz es un poco más grande y puede generar 3 vatios. La clasificación de respuesta de frecuencia está entre 240 Hz y 20 kHz. Este altavoz puede alcanzar frecuencias ligeramente más bajas que el GC0401K, pero tenga en cuenta nuevamente que dentro del rango especificado la curva es relativamente plana con algunos valles y picos en todas partes.

Figura 2: La respuesta de frecuencia del altavoz GF0668 de 8 Ω y 3 vatios de CUI Devices muestra por qué está clasificado para el rango de 240 Hz a 30 kHz. (Fuente de la imagen: dispositivos CUI)

Una última respuesta de los oradores que vale la pena considerar es el SP-2804Y de Soberton Inc. (Figura 3). El SP-2804Y es un altavoz de 500 milivatios (mW) con un rango de respuesta de frecuencia de 600 Hz a 8 kHz. Las leyes de la física aseguran que cuanto más pequeño sea el altavoz, más difícil será el tiempo que tenga para responder a las frecuencias más bajas. Esto significa que si los desarrolladores no filtran las frecuencias más bajas y, en su lugar, intentan conducir el altavoz a esas frecuencias, el resultado puede ser un audio con un sonido retorcido o defectos en los tonos que de otro modo sonarían muy claros.

Observe que también hay una caída significativa en la respuesta de frecuencia alrededor de 10 kHz. Por lo tanto, el altavoz solo tiene una clasificación de 8 kHz, aunque probablemente podría usarse hasta 20 kHz para algunas aplicaciones.

Figura 3: La respuesta de frecuencia del altavoz SP-2804Y de 8 Ω y 0.5 vatios de Soberton Inc. muestra que es adecuado para frecuencias de 600 Hz a 8 kHz. Tiene una caída después de 10 kHz, pero aún se puede usar hasta 20 kHz para algunas aplicaciones. (Fuente de la imagen: dispositivos CUI)

Al observar la respuesta de frecuencia de cada altavoz, está claro que se debe realizar algún tipo de filtrado y ajuste, ya que hay algunas frecuencias en las que no se debe activar un altavoz. Por ejemplo, intentar generar un tono de graves de 4 Hz en estos altavoces podría provocar vibraciones duraderas en las que se inyectan frecuencias más altas, lo que da como resultado una gran distorsión del sonido.

Disección de un bloque de filtro digital de audio

Un método que se ha utilizado en el pasado para sintonizar frecuencias no deseadas es construir filtros de hardware que conduzcan al altavoz. Por ejemplo, un filtro de paso alto a 500 Hz puede evitar que las frecuencias por debajo de 500 Hz lleguen al altavoz. En el otro extremo, se puede usar un filtro de paso bajo para eliminar cualquier tono de audio por encima de 15 kHz. La experiencia personal ha demostrado que, a veces, si se utiliza la voz de una mujer con un altavoz pequeño que es eficiente en frecuencias más altas, el hablante puede exhibir un acento agudo. La selección cuidadosa de las frecuencias puede eliminar estas distorsiones y crear un audio con un sonido más limpio.

Si bien los filtros de hardware externos pueden hacer el trabajo, agregan costos y ocupan espacio adicional. Por estas razones, es más práctico y eficiente sintonizar el audio utilizando el bloque de filtro digital integrado en un códec de audio.

Por ejemplo, el diagrama de bloques del AKM. Semiconductores El códec de audio de 4637 bits AK24 tiene el bloque de filtro digital resaltado (Figura 4).

Figura 4: El AK4637 es un códec de audio con una salida de altavoz mono que tiene capacidad de reproducción y grabación de audio. También contiene un bloque de audio interno que se puede utilizar para filtrar el audio entrante y saliente para mejorar la fidelidad del audio. (Fuente de la imagen: AKM Semiconductor)

El bloque de filtro digital en este caso contiene varias capacidades de filtrado diferentes que incluyen:

  • Un filtro de paso alto (HPF2)
  • Un filtro de paso bajo (LPF)
  • Un ecualizador de cuatro bandas (ecualizador de 4 bandas)
  • Control de nivelación automático (ALC)
  • Un ecualizador de una banda (ecualizador de 1 banda)

No es necesario habilitar todas estas funciones. Los desarrolladores pueden seleccionar qué funciones necesitan y habilitar y deshabilitar el bloqueo o enrutar el micrófono o reproducir audio a través de ellos. La verdadera pregunta en este momento es cómo calcular y programar el códec de audio.

Cómo calcular y programar parámetros de filtros digitales

En la mayoría de las aplicaciones de audio, se utiliza un filtro de paso alto para eliminar las frecuencias más bajas y un filtro de paso bajo para excluir las frecuencias más altas. Se puede usar un ecualizador para suavizar la curva de respuesta de frecuencia o para enfatizar ciertos tonos. Cómo se deben seleccionar exactamente estas configuraciones está fuera del alcance de este artículo. En su lugar, verá cómo calcular y programar los valores asociados con estos parámetros utilizando el AKM AK4637 como ejemplo.

Primero, siempre es una buena idea revisar la hoja de datos. Las páginas 7 y 8 en este caso muestran el mapa de registro más importante para el códec. Una primera mirada puede resultar intimidante dado que la pieza tiene 63 registros. Sin embargo, muchos de estos registros controlan el bloque de audio digital. Por ejemplo, los registros 0x22 a 0x3F controlan el ecualizador. Los registros 0x19 a 0x1C controlan el filtro de paso alto, mientras que 0x1D a 0x20 controlan el filtro de paso bajo.

Los desarrolladores generalmente no pueden simplemente especificar una frecuencia para ingresar en el códec. En cambio, hay una ecuación de filtro que se utiliza para calcular los coeficientes de filtro, que luego se programan en los registros del códec para crear el filtro a la frecuencia deseada. Por ejemplo, para usar el bloque de filtro digital para crear un filtro de paso alto a 600 Hz, use la Ecuación 1:

Figura 5: Se muestran las ecuaciones necesarias para calcular los coeficientes de un filtro de paso alto para el bloque de filtro digital AK4637. (Fuente de la imagen: AKM Semiconductor)

Un desarrollador identificaría la frecuencia de corte deseada, fc, que en este caso es 600 Hz. La frecuencia de muestreo de audio, fs, suele ser de 48 kHz, pero puede variar según la aplicación. Estos valores se colocarían luego en las ecuaciones para calcular los coeficientes A y B. Estos valores se escriben luego en los registros del códec sobre I2C durante la puesta en marcha. El mismo proceso se usaría para los filtros de paso bajo y otras características de bloques digitales, aunque las funciones de transferencia a menudo son diferentes, lo que requiere su propio conjunto de ecuaciones (consulte la hoja de datos).

Consejos y trucos para ajustar un códec de audio

Los bloques de filtros digitales incluidos en un códec de audio suelen ser bastante flexibles y potentes. Incluso un códec de audio de bajo costo proporciona a los desarrolladores las herramientas necesarias para generar audio de alta fidelidad. Sin embargo, al final del día, el códec de audio es solo una pieza del rompecabezas. Para sintonizar correctamente un códec de audio, hay varios "consejos y trucos" que los desarrolladores deben tener en cuenta, como:

  • Asegúrese de que el altavoz esté montado en una caja adecuada para la aplicación. Una caja de altavoz diseñada incorrectamente puede arruinar fácilmente un sistema de reproducción que de otro modo sería perfecto.
  • No sintonice los bloques de filtro de audio del códec hasta que el sistema esté completamente ensamblado en su configuración de intención de producción. De lo contrario, los parámetros de ajuste podrían cambiar.
  • Seleccione el rango de frecuencia según el audio que se reproducirá. Por ejemplo, los ajustes de frecuencia para la música de una guitarra, piano o alguien hablando serán todos diferentes.
  • Utilice el bloque de equilibrio digital para compensar la respuesta de frecuencia del altavoz. Algunas frecuencias sonarán naturalmente más fuertes y claras y pueden necesitar atenuarse, mientras que otras pueden necesitar amplificarse.
  • Utilice tonos de prueba para evaluar la respuesta de frecuencia del sistema. Una simple búsqueda en Internet proporcionará archivos mp3 para una amplia gama de tonos de audio que se pueden usar para comprender la respuesta de frecuencia del sistema de reproducción de audio y cómo está funcionando el bloque de filtro digital.
  • Almacene los ajustes de configuración del bloque de filtro en flash o EEPROM para que puedan establecerse durante la fabricación para tener en cuenta las variaciones de sistema a sistema (si eso es motivo de preocupación).

Los desarrolladores que sigan estos “consejos y trucos” encontrarán que se ahorran bastante tiempo y dolor al intentar sintonizar su sistema de reproducción de audio, y se aseguran de que llegue al mercado con las características de audio deseadas.

Conclusión

Agregar un códec de audio a un sistema integrado no garantiza que suene bien para el usuario final. Cada sistema de reproducción de audio debe ajustarse cuidadosamente. Es posible usar filtros externos para lograr esta sintonía, pero los códecs de audio vienen con funciones de balance y filtrado digital integradas. Como se muestra, estos pueden usarse para alimentar al altavoz solo las frecuencias para las que es más adecuado. Con un análisis cuidadoso y la aplicación de la configuración del filtro, los desarrolladores pueden crear el audio de sonido limpio que los usuarios finales esperan de sus dispositivos.