Clear Filters
Clear Filters

How to compute Sound Pressure Level?

72 views (last 30 days)
sangwoo ha
sangwoo ha on 7 Jun 2022
Answered: Sarthak on 15 Sep 2023
I have to Plot SPL(Sound Pressure Level)
SPL = 20log10(P1/P_ref), where P_ref = 2upa.
the outcome is scalar.
i want to plot SPL Gragh in frequency domain. SPL = 20log10(abs(P1)/abs(P_ref))
when i have P1 FFT data, that is the value of P_ref ??
Thank you

Answers (1)

Sarthak
Sarthak on 15 Sep 2023
Hi Sangwoo,
I understand you want to plot the SPL Graph in frequency domain and want to know the value of “P_ref”.
In the formula for Sound Pressure Level (SPL), “P_ref” is the reference pressure level. It is a fixed reference value used to calculate the SPL in decibels (dB). The commonly used reference pressure level in acoustics is 20 micropascals (uPa), which corresponds to the threshold of hearing for the average human ear at a frequency of 1 kHz.
So, when you have FFT data for P1 and want to calculate SPL in the frequency domain, you should use “P_ref” as 20 uPa for all frequency components. This is because the reference level for SPL remains constant across different frequencies.
Here's how you can calculate SPL in the frequency domain using FFT data:
1. Compute the FFT of the sound signal to obtain the frequency domain representation of P1.
2. For each frequency component in the FFT data, calculate the magnitude (absolute value) of P1 at that frequency.
3. Use the formula for SPL:
SPL(f) = 20 * log10(|P1(f)| / P_ref)
Where:
- “SPL(f)” is the SPL at frequency “f”.
- “|P1(f)|” is the magnitude of P1 at frequency “f”.
- “P_ref” is the reference pressure level (20 uPa).
4. Plot the calculated SPL values against the corresponding frequency components.
You can try writing the code using the above steps. Hope this solves your query.

Categories

Find more on Audio I/O and Waveform Generation in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!