El problema que tengo es así: Estoy utilizando una salida de nivel de línea de cable auxiliar de un teléfono inteligente a un chip MSGEQ7 que muestrea las frecuencias y las divide en 7 canales que pueden verse como una tensión analógica de 0 V a Vin en función de la intensidad de las frecuencias. 63Hz, 160Hz, 400Hz, 1kHz, 2.5kHz, 6.25kHz y 16kHz. (información de Sparkfun) Estoy usando un Arduino para tomar la salida y mostrarla en gráficos de 7 barras.
Ahora el problema ... A menos que la salida tenga un volumen de alrededor del 80%, cualquier canción que se reproduzca no será lo suficientemente fuerte como para mostrarla, o estará demasiado lejos y estará saturando la parte superior de cada gráfico de barras. Desafortunadamente, no tengo un osciloscopio, así que no puedo dar el pico al voltaje máximo. Esto estaría bien si siempre pudiera dejar el volumen al 80%, pero en este caso es mucho más fácil bajar el voltaje de mi teléfono en lugar de pasar por los altavoces y bajar o subir la perilla del preamplificador. Idealmente, en cualquier volumen de entrada, la señal sería aumentada o disminuida al punto dulce.
He investigado un montón de soluciones diferentes desde circuitos de diodo / npn a circuitos de múltiples amplificadores operacionales, hasta chips Compandor (compresor / expansor) como el NE570 (pero demasiado caro), pero no estoy seguro de qué Realmente funciona para mi solución. No necesito alta fidelidad, pero tampoco quiero perder sensibilidad para frecuencias altas y bajas. (¿Es esta normalización o compresión de rango dinámico?) He usado el micrófono de ganancia automática Adafruit que usa un MAX9814 que ofrece un La salida de 2V pico a pico y una compensación de CC de 1.25V funciona muy bien, pero también me gustaría poder usar un cable auxiliar.
Gracias por tu respuesta