No se puede entender la atenuación en la señal de la PC al microcontrolador (NI myRIO)

0

Estoy trabajando en el Proyecto de cancelación activa de ruido. Me encontré con un problema, donde la señal se atenúa a medida que la profundidad de bits de audio cambia de los datos de la PC al 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 mediante un cable AUX (cable de jack de 3.5mm de dos vías). Tengo una señal pregrabada (.wav) de forma de onda sinusoidal con amplitud 1, frecuencia 2kHz, frecuencia de muestreo 40000, 80 número de muestras, profundidad de bits (bits por muestra) = 16.
Ahora, simplemente reproduje el archivo .wav con Windows Media Player y traté de grabar la forma de onda en el módulo NI myRIO. Sorprendentemente, estoy recibiendo 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) tiene datos de 16 bits. Espero que no tenga que importar, excepto en los errores de cuantificación, ya que en la salida de audio de la PC, los datos de audio deben convertirse a analógicos y, una vez más, en la 'Entrada de audio NI myRIO', se tomará una muestra de esta señal analógica. (Por favor, corríjame si me equivoco!)
Otra pregunta es, he intentado lo mismo con el sonido sinusoidal de Amplitude 2.5, ahora la señal de audio se recorta 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 debido a 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 reproduje esto a través de Windows Media Player se convertirá a señal analógica en el terminal de auriculares, y estoy transmitiendo esta señal ANALÓGICA a un ADC de NI myRIO, que tiene una resolución de 12 bits.

    
pregunta charansai

3 respuestas

0

Después de haber agregado más información a su pregunta, parece que la causa es menos relacionada con la profundidad de muestreo (bit) y más con la conexión analógica entre dos sistemas.

Parece que estás llegando a los límites 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 el myRUI 1900: tiene un gráfico que muestra la señal en el rango de 1V a -1V, lo que se espera.

La señal se recorta porque su PC está recortando su señal. Si intentas enviar una señal desde la PC con una amplitud demasiado alta, se recortará.

Puede estar saturando el software antes de que llegue al hardware, o puede estar saturando el software. 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 en que el amplificador de salida se engancha.

En resumen:

  1. No puede generar una señal con una PC que causará una entrada de escala completa en el myRUI 1900. La PC simplemente no puede generar una señal con el rango de voltaje necesario.
  2. Subir el volumen en la PC para tratar de forzar un nivel más alto solo provocará recorte, lo que resulta en la señal que ha capturado con el myRUI 1900.
respondido por el JRE
1
Sorprendentemente, recibo 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 de forma lineal, sino logarítmicamente. Para una serie de duplicaciones en la potencia de 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 realmente variar el voltaje de manera exponencial. Esta es la razón por la que el voltaje cae rápidamente desde el máximo, ya que el volumen se reduce solo un poco.

    
respondido por el Olin Lathrop
0
  

Me encontré con este extraño problema, donde la señal está recibiendo   atenuado a medida que cambia la profundidad de los bits de audio y no puedo entenderlo.

Tiene una señal de resolución de 12 bits y la convierte a 16 bits. Una de las dos cosas suceden. O bien: -

  1. Los 12 bits originales se asignan a los top 12 bits del número de 16 bits y los 4 bits más bajos del nuevo número de 16 bits se establecen en 0 o,
  2. Los 12 bits originales se asignan a los inferiores 12 bits del número de 16 bits y los 4 bits superiores se ponen a cero.

El número 1 no hará ninguna diferencia en el volumen de su señal y el # 2 reducirá significativamente la amplitud en 16: 1 al tiempo que conserva la misma relación señal / ruido (no es algo malo).

Entonces, ¿por qué se prefiere el # 2? Un ejemplo sería al mezclar sonidos digitalmente. Ahora puede agregar 16 formas de onda convertidas y evitar el recorte. Realmente no puedes hacer nada con el # 1 que ya no podías hacer cuando tenía un formato de 12 bits.

    
respondido por el Andy aka

Lea otras preguntas en las etiquetas