Estoy trabajando en el proyecto de cancelación activa de ruido. Encontré un problema, donde la señal se atenúa a medida que la profundidad de bits de audio cambia de datos de PC a microcontrolador y no puedo entenderlo.
Mi circuito: conecté la salida de audio (auriculares) de la PC [que se supone que es una señal analógica] a la ENTRADA de audio del dispositivo NI myRIO 1900 usando un cable AUX (cable jack de 3,5 mm de dos vías). Tengo una señal pregrabada (.wav) de forma de onda sinusoidal con Amplitud 1, Frecuencia 2kHz, Frecuencia de muestreo 40000, Número de muestras 80, Profundidad de bits (bits por muestra) = 16.
Ahora, acabo de reproducir el archivo .wav usando Windows Media Player y traté de grabar la forma de onda en el módulo NI myRIO. Sorprendentemente, obtengo una atenuación de la señal correspondiente a la reducción de volumen en PC (¡¡no lineal!!). Solo puedo ver la forma de onda en el microcontrolador cerca de la amplitud 1, cuando aumenté el volumen del sistema al 100%. Por favor explique esto!!
El ADC de NI myRIO tiene una resolución de 12 bits, pero la salida de audio (archivo .wav) son datos de 16 bits. Espero que no tenga que importar excepto en los errores de cuantización, ya que en la salida de audio de la PC, los datos de audio deben convertirse a analógicos y nuevamente en 'NI myRIO Audio In', ¡esta señal analógica será muestreada! (¡corríjame si me equivoco!)
Otra pregunta es, he intentado lo mismo con un sonido sinusoidal de Amplitud 2.5, ahora la señal de audio se corta a 1V por encima y por debajo de -1V. ¡El rango nominal de ADC (NI myRIO) es de 2,499 V a -2,5 V! ¿Es por la conversión de profundidad de bits? ¡Por favor explique estas cosas! TQ
EDITAR: ¡No estoy convirtiendo datos digitales de 16 bits a datos digitales de 12 bits ni 12 a 16! Resulta que tengo datos de audio de 16 bits, cuando los reproduje a través de Windows Media Player se convertirán a una señal analógica en la terminal de auriculares, y estoy alimentando esta señal ANALÓGICA a un ADC de NI myRIO, que tiene una resolución de 12 bits.
Después de haber agregado más información a su pregunta, parecería que la causa tiene menos que ver con la profundidad de muestreo (bit) y más con la conexión analógica entre dos sistemas.
Parece que está llegando al límite de la salida de audio de la PC. Las PC usan salida de nivel de línea, que varía de +1V a -1Volt. Eso se alinea con el nivel que está viendo en myRUI 1900: tiene un gráfico que muestra la señal en un rango de 1V a -1V, lo cual es de esperar.
La señal está recortada porque la PC está recortando su señal. Si intenta enviar una señal fuera de la PC con una amplitud demasiado alta, se recortará.
Podría estar recortando el software antes de que llegue al hardware, o podría estar recortando el hardware. Algunas partes de los controles de volumen están en el hardware, algunas partes están en el software.
Las partes del control de volumen en el software pueden amplificar una señal hasta el punto de que ya no se puede representar en 16 bits y se recorta.
Las partes del control de volumen en el hardware pueden amplificar la señal hasta el punto de que el propio amplificador de salida se corta.
En resumen:
Sorprendentemente, obtengo una atenuación de la señal correspondiente a la reducción de volumen en PC (¡¡no lineal!!). Solo puedo ver la forma de onda en el microcontrolador cerca de la amplitud 1, cuando aumenté el volumen del sistema al 100%. Por favor explique esto!!
Los humanos no perciben la intensidad del sonido linealmente, sino logarítmicamente. Porque una serie de duplicaciones en la potencia del sonido se percibe como una serie de volumen lineal. Esto ha sido bien conocido durante más de un siglo, por lo que las personas que diseñaron el control de volumen en el software de su PC también lo saben. Darle lo que percibirá como un control de volumen lineal significa variar el voltaje exponencialmente. Esta es la razón por la cual el voltaje cae rápidamente desde el máximo cuando el volumen se baja solo un poco.
Me encontré con este extraño problema, donde la señal se atenúa a medida que cambia la profundidad de bits de audio y no puedo entenderlo.
Tiene una señal de resolución de 12 bits y la convierte a 16 bits. Ocurre una de dos cosas. Cualquiera: -
El número 1 no hará ninguna diferencia en el volumen de su señal y el n. ° 2 reducirá significativamente la amplitud en 16: 1 mientras conserva la misma relación señal / ruido (no es algo malo).
Entonces, ¿por qué se prefiere el número 2? Un ejemplo sería al mezclar sonidos digitalmente. Ahora puede agregar 16 de estas formas de onda convertidas y evitar el recorte. Realmente no puedes hacer nada con el n. ° 1 que ya no podías hacer cuando tenía un formato de 12 bits.
keith
Daniel
charansái