Estoy tratando de calcular 2 cosas y las respuestas que encontré aquí para preguntas similares no me dieron suficiente información.
Tengo una señal en mV de sonido que grabé con un micrófono con sensibilidad de 500mV / pascal, una ganancia de 30db del preamp, nivel de ruido propio aproximado referido a la entrada (ancho de banda: 30-50 kHz): 26 dB SPL y una curva de atenuación conocida para el ancho de banda.
Estoy tratando de transformar los datos en mV a dbSPL.
Mi código toma los puntos de datos de la grabación y realiza los siguientes cálculos (matlab):
-
Señal / 10 ^ (30/20) (para la compensación de ganancia)
-
Una función rms en movimiento en los datos
-
Señal / 500 (conversión de mV a pascal)
20*log(10)(signal/2*10^-5)
Los resultados que obtuve no parecen precisos.
Quiero hacer 2 cosas:
-
Obtenga la señal continua en dbSPL, que es lo que intenté hacer en el código. No entiendo si la referencia de ruido propio de 26db entra en los cálculos.
-
Obtenga el espectro de potencia convertido en dbSPL teniendo en cuenta la atenuación en diferentes frecuencias.
Estoy perdido en algo que me parece que debería ser trivial.