Electronic – How to convert volts to dB SPL


I am taking input from an electret microphone 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?

Best Answer

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 ...