2022-02-10 06:41 AM
Hello all,
I have a question regarding the MEMS audio sensor MP23DB01HP. I managed to read out the Soundlevel of the sensor. But I don't know how to interpret this value. My question is, how can I convert the soundlevel to obtain a corresponding value in dB? Is the datasheet needed for that conversion?
Thank you in advance for your replies
2022-02-11 07:44 AM
Hi @riyolu , usually the microphone full scale is calculated starting from the AOP (acoustic overload point). Ideally, it refers to a saturated (square) wave. For the MP23DB01HP the value is 135dBSPL, so the PCM value you get from the PDM has to be scaled according to this value.
This documentation might help you:
https://www.youtube.com/watch?v=_YQSJJQUp-g
AG
2022-03-03 01:39 AM
Hi @AG.8 , thank you for your answer. I recently found out, that I can calculate the dBFS value with the formula:
20 * log10 (x / fs)
with 'x' being the measured soundlevel and 'fs' being the maximal possible soundlevel, i.e. 20 * log10(fs) = AOP. Hence, the formula given above returns the difference of the AOP to the currently measured soundlevel. My question is, how can I find out 'fs'? With that knowledge, it should be possible to calculate the current soundlevel in dBSPL.
2025-02-18 07:50 AM
Hi @riyolu
Did you discovered how to do it?
2025-02-19 09:05 AM
The information you need is here: dBFS - Wikipedia
dBFS means deciBel relative to Full Scale level, which means 20*log10( PeakLevel / FullScale)
When PCM words have 16bit then Full Scale is 32768LSB
Peak level is the maximum absolute value observed in the PCM stream BUT it may not be as useful as its RMS value (root-mean-square) which is instead the loudness or the energy
therefore 20*log10( AudioRMS / FullScale) is the formula you want to use
for a sine wave RMS is 0.707*Peak, a sine wave with maximum representable amplitude (+/-32768 for a 16bit PCM) would give you -3dBFS according to the formula above
audio standards use that maximum amplitude sine wave (full scale sine wave) as unit of measurement, and they define 0dBFS to be the level for that max amplitude sine wave, therefore the formula becomes 20*log10(AudioRMS / FSSineRMS) = 20*log10( AudioRMS / 0.707 / 32768) - I would call that deciBel relative to FSsine rather than relative to FS :)
the physical audio level of the largest dBFS corresponds to sensor saturation aka overload point as mentioned above