Nivelación de volumen de audio / AGC para analizador de espectro

1

Estoy ocupado creando un preamplificador, y quiero incluir un analizador de espectro de matriz LED en el panel frontal (por estética, no por precisión)

He configurado un circuito que utiliza un par de chips MSGEQ7 para analizar ambos canales de una señal de audio de entrada, alimentando a un Arduino con valores de amplitud para 7 bandas de frecuencia casi en tiempo real. Esto se está convirtiendo en un número crujiente, limitado y usado para conducir los LED en mi matriz, y los resultados son impresionantes. Hasta ahora todo bien.

Sin embargo, la efectividad de la visualización del espectro varía enormemente dependiendo del nivel de volumen de entrada, e incluso de una canción a otra. Si el volumen de entrada es demasiado bajo, casi no hay actividad en los LEDS, y si el volumen es demasiado alto, todos están en el momento. Hay un "punto álgido" en el volumen donde la pantalla es ideal (las bandas bailan bien con la música) y, como tal, quiero crear un circuito de nivelador de audio / VCA / AGC para normalizar el audio entrante a un volumen constante (algo) constante para conducir el analizador de espectro, que garantiza imágenes visuales atractivas independientemente del volumen de entrada o cómo se grabó la canción.

Tengo tanto el THAT 2162 IC como un par de SA575 IC de compandor, ambos creo que pueden hacer el trabajo.

Sin embargo, en ambos casos no puedo entender cómo configurar los chips para que se ajusten a mis necesidades:

QUE 2162:

...NoestoysegurodecómodeterminarlosvaloresdelosterminalesEC-(pines4y13),loscualesasumoestablecenelnivelenelcuallaseñalsecomprimirá/expandirá.

SA575:

... igualmente para el SA575, asumo que el terminal VREF (pin 8) también se usa para determinar el nivel objetivo, pero nuevamente no estoy seguro de cómo calcular su valor.

Preguntas:

  1. En cada caso, ¿cómo configuraré estos ICs para que acepten una entrada de audio de nivel de línea y los normalizaré constantemente para obtener una señal de salida que sea (aproximadamente) siempre el mismo volumen?
  2. ¿Estoy ladrando el árbol equivocado, y si es así, hay una mejor manera de hacer lo que necesito?
pregunta abza

1 respuesta

0

Mi sugerencia es abandonar el costoso front-end analógico en favor de una implementación de software del analizador de espectro. Adafruit tiene un proyecto, y hay muchos que esperan en tu motor de búsqueda favorito.

Ya que está creando todo el preamplificador, asumo que tiene acceso a un suministro de voltaje dual (\ $ + V_ {cc} \ $ y \ $ - V_ {ee} \ $). Por lo tanto, puede seleccionar el audio, enviarlo a través de un búfer de amplificador operacional, agregar un offset de CC y enviar la señal al ADC de Arduino.

simular este circuito : esquema creado usando CircuitLab

Aquí todavía estás usando un pin de Arduino para la entrada, pero estás ahorrando varios dólares (y días de envío) desde el elegante front-end. Cualquier amplificación puede ocurrir a nivel de software si es necesario; A pesar de que la FFT y otras matemáticas pueden ser computacionalmente caras, el analizador no necesita ser (y no debería) actualizarse más rápido que unos 10 Hz.

    
respondido por el calcium3000

Lea otras preguntas en las etiquetas