# How to convert Volts in dB SPL

I am taking input from an electret mic amplified using LM358 amplifier from my PIC16F877A's ADC unit. I am getting the readings in Volts from the ADC which ranges from 2.5V to 5V. How can I convert these readings into dB?

-
Use the sensitivity figure given in the microphone's datasheet. –  Brian Drummond Jan 12 at 13:22
Here is the datasheet of the mic:- dlnmh9ip6v2uc.cloudfront.net/datasheets/Sensors/Sound/… –  user35456 Jan 12 at 13:32
It's sensitivity is -46±2.0,(0dB=1V/Pa) at 1K Hz. –  user35456 Jan 12 at 13:33

DB SPL is a pressure measuring unit.

You can't convert a voltage to an DB SPL reading unless you know:

• the microphone sensitivity (or simply the analog output voltage to the input pressure ratio) which tells you essentially the voltage level it will output for a given sound pressure level
• the gain that the preamp has applied

Your microphone has a sensitivity of -46dBV/Pa , this gives 0.005012 V RMS/ Pa
1 Pa (pascal) equals 94 dB sound pressure (SPL)

The dB equation for voltage is $20 \times \log \frac {V_1}{V_o}$
where V1 is the voltage being measured, and $V_0$ the reference level

If we do an example calculation for the measurement of 2.5v (assuming a unity gain for the amplifier) we get

$20 \times \log \frac {2.5}{0.005012} = 53.96dB$

so the SPL will be (-46) + 53.96 = 7.95 + 94 = 101.95 Db SPL

We assumed a unity gain for the preamplifier, if the actual gain was 20dB then the SPL becomes
101.95 - 20 = 81.95 Db SPL

if the actual gain was 10dB then the SPL becomes
101.95 - 10 = 91.95 Db SPL ...

-
I knew the mic's sensitivity: It's sensitivity is -46±2.0,(0dB=1V/Pa) at 1K Hz But nothing about gain that the preamp has applied –  user35456 Jan 12 at 13:42
I suppose you could calibrate the preamp, or even use its ideal equations as a very close estimate. –  Scott Seidman Jan 12 at 16:15
@alexan_e: Thank you very much. Just one more help in detemining the gain of my OpAmp. –  user35456 Jan 13 at 5:09
@user35456 You said you are using a LM358 preamp so the gain is set with the resistor values you have used and should be definable. For example, if it looks like this then the gain is set by R2,R1. Also check if you have applied any gain in your ADC (I'm not familiar with PIC ADC) –  alexan_e Jan 13 at 8:14