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?


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

| improve this answer | |
  • \$\begingroup\$ 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 \$\endgroup\$ – user35456 Jan 12 '14 at 13:42
  • \$\begingroup\$ I suppose you could calibrate the preamp, or even use its ideal equations as a very close estimate. \$\endgroup\$ – Scott Seidman Jan 12 '14 at 16:15
  • \$\begingroup\$ @alexan_e: Thank you very much. Just one more help in detemining the gain of my OpAmp. \$\endgroup\$ – user35456 Jan 13 '14 at 5:09
  • \$\begingroup\$ @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) \$\endgroup\$ – alexan_e Jan 13 '14 at 8:14
  • \$\begingroup\$ I also have a very similar situation. I'm using Electret Mic with Max4466 amplifier. My mic's sensitivity is -44dB @1kHz but I don't know what the Op-Amp gain is. The amplified output is 1.5V to 3V where the supply voltage is 3V. According to the datasheet, the gain can be adjusted from 25x to 125x. \$\endgroup\$ – J.Jay Jan 15 '16 at 9:10

-46dB V/Pa is how I read it and 1 Pa is the sound pressure in newtons per sq metre. 0dB SPL is 20 micro Pascal therefore, 1 Pa is 50,000 times bigger or, in dB it is 94 dB SPL.

So, if you are measuring -46 dBV then you are measuring a SPL of 94 dB. -46 dBV is near enough 5 mV RMS so, again, if you measure 5mV RMS then the SPL is 94dB.

If you have a pre-amplifier with a gain of ten, then 50mV RMS equates to 94dB SPL and 5mV would equate to a SPL of 74 dB.

This should be enough to get you started.

| improve this answer | |
  • \$\begingroup\$ So, how to convert the volts I'm getting in the RMS?? Just divide it by sqrt(2)? \$\endgroup\$ – user35456 Jan 12 '14 at 14:29
  • \$\begingroup\$ I think you need to explain what you are measuring from your ADC. If it were me I'd be sampling at 50kHz and calculating RMS by squaring each sample, averaging and then taking the sqrt of the average. I have no idea how your code works or what it does. \$\endgroup\$ – Andy aka Jan 12 '14 at 15:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.