Matlab señal de audio a través de audiómetro

-1

Soy muy nuevo en el procesamiento de audio y estoy usando matlab para producir una señal que se presentará a través de un audiómetro.

La forma en que lo estoy haciendo es la siguiente:

1) Establezca el nivel de amplitud de dB en mi GUI en 0dB (se me ha dicho que use 0dB como máximo y nada más abajo para reducir los niveles y no superar los 0dB)

2) Use el audiómetro para calibrarlo de modo que el dB que leí en el medidor de dB sea 80dB

Ahora, si quiero reducir el nivel de dB en 6dB, ahora la entrada es de -6dB, la lectura en el medidor es más como 78dB ish y no de 74dB como esperaba.

¿Por qué es así?

El código que estoy usando es el siguiente:

Fs = 16000;

t = 0: 1 / Fs: handle.duration * (Fs-1) / Fs;

fa1 = 10 ^ (handle.level1 / 20);% calculando el factor para multiplicar la señal por

y1 = fa1 * sin (2 * pi * handles.freq1 * t + handles.rad1 * pi) ';% señal real

sonido (y1, Fs)

Gracias.

    
pregunta Ali P

2 respuestas

1

El problema en tu configuración es que estás confundiendo la potencia de dB y el voltaje de dB.

Tradicionalmente, el dB medido para señales de audio es dB potencia. Las escalas de potencia como el cuadrado de la tensión. Por lo tanto, la diferencia de 20 dB significa una diferencia de 10 dB en el voltaje. Cuando vea una caída de voltaje dB de 80 dB a 77 dB, eso significa que las caídas de potencia se duplicarán en dB (que es de 6 dB).

    
respondido por el Jon Watte
0

Los decibeles se pueden usar para medir la potencia o la amplitud de una señal, y sospecho que está utilizando una definición en Matlab y la otra en su audiómetro. Aumentar la potencia en un factor de 2 es un cambio de 3 dB, pero aumentar el voltaje o la amplitud de la señal en un factor de 2 es un cambio de 6 dB. Sugeriría cambiar la línea de código que calcula fa1 para que sea

fa1 = 10 ^ (handle.level1 / 10);

    
respondido por el Joe Hass

Lea otras preguntas en las etiquetas