Clear Filters
Clear Filters

How to calculate the sound pressure (Pa) of an audio signal ?

34 views (last 30 days)
Hi, I need your help. I have an audio signal y that I obtained using the function:
[y,fs] = audioread("audio.wav");
and I wanted to understand how it is possible to calculate the sound pressure (Pa) of this audio. I need Pa of the audio to calculate the sound pressure level (SPL). Thanks for your help.
Antonio.
  16 Comments
Md Saiful Islam
Md Saiful Islam on 7 Apr 2022
Edited: Md Saiful Islam on 7 Apr 2022
You are absolutely right. The calibration factor is non-linear. It needs a calibration over a range of dB level. I followed your suggestion. However, I have a calibrator only for 94 dB and 114 dB. For both cases, I found the measured sound level from the wav file as 73 dB and 92.3 dB which means I need to add a gain of 20 dB, i.e., calibration factor around 12.1. How can I be so sure about the measurement below 50dB or any other values except 94 and 114 dB?
Mathieu NOE
Mathieu NOE on 8 Apr 2022
hello
I don't find that there is a lot of non linearity in your calibration
94 dB / 114 dB at the calibrator gives you a reading of 73 / 92.3 dB so the 20 dB increase at the calibrator translates into a 19.3 dB delta at the "recorder" side which I personnaly find not too bad (0.7 dB non linearity is in many acoustic measurements a non event).
If you have the possibility to compare your microphone to a high quality "lab" certified mic then you should be fine.
otherwise you can use a good loudspeaker and simply start with a 94 dB tone, then go down in signal input amplitude to check the linearity at lower levels.
all the best

Sign in to comment.

Answers (1)

jibrahim
jibrahim on 22 Feb 2024
Here are relevant functions available with Audio Toolbox that are related to measuring loudness of an audio signal:

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!