How do I calculate the SPL from a .wav file with a calibrated value?

11 views (last 30 days)
I have a signal that I need to calculate the SPL for.
I have a calibrated signal recording a 1kHz tone at 94dB SPL.
I've found that the Fs=44100.
Both are a wav file and I don't know where to start, I'd really appreciate a push in the right direction.

Answers (1)

Mathieu NOE
Mathieu NOE on 10 Dec 2020
hello
you can simply compare the rms value of the two wav files
to know the SPL of the signal vs the calibrated signal :
SPL = SPL(signal_cal) + 20*log10(rms(signal) / rms(signal_cal))
  2 Comments
Md Saiful Islam
Md Saiful Islam on 7 Apr 2022
Hello Mathieu,
Thanks a lot for your response. However, the amplitude of the wav file is not in pressure. Can you suggest an way how can I find the pressure value from the wav file. Consider I have both the signals from calibrator and noise measurement.
Mathieu NOE
Mathieu NOE on 7 Apr 2022
hello
look at the fft dB amplitude you get with the wav file from the calibrator
so for example, assuming the calibrator genrates 94 dB SPL et the fft plot shows -20 dB , then your dB shift fatcor is 94 +20 = 114 dB. You have to add this factor to all fft plots (in dB) when running the code on wav files.

Sign in to comment.

Categories

Find more on Measurements and Spatial Audio 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!