What is dBFS in the Impulse Response Measurer App?

20 views (last 30 days)
Recently I performed some IR measurement with the Impulse Response Measurer App. A problem arises when I want to also measure the SPL at the microphone, because the output from the App is only the impulse response, the recorded signal is not saved. Therefore, I try to measure the SPL by calibrating the microphone with MATLAB calibrateMicrophone function. Then, I can play the sine sweep, record it (I'm using audioPlayerRecorder) and use the microphone's calibration factor to compute the SPL.
My question is, how can I controll, in MATLAB, the level of the input signal when I use audioPlayerRecorder to make the recording, so the loudspeaker produces the same volume as when I use the Impulse Response Measurer App? I keep the gain of my amplifier constant, but I put the "Excitation Level" in the App to -6 dBFS. What does it do to the input signal? I learn from Wikepedia that "The level of 0dBFS is assigned to the maximum possible digital level. For example, a signal that reaches 50% of the maximum level has a level of −6dBFS, which is 6dB below full scale." Does that mean a sine sweep signal at -6 dBFS will have 0.5 as the maximum amplitude in MATLAB?
Thanks in advance for any kind explanation!

Accepted Answer

Jimmy Lapierre
Jimmy Lapierre on 25 Aug 2022
Edited: Jimmy Lapierre on 25 Aug 2022
Hi Yuqing,
If you use the Export button, you will get a table of your measurements including the recording.
You can get an excitation that matches the level of the app using the ExcitationLevel property:
outputLevelInDBFS = -6;
exc = sweeptone(sweepDur, irDur, FS, 'ExcitationLevel', outputLevelInDBFS )
Full scale in MATLAB is +/- 1, so -6 dBFS level is: 0.5012 = db2mag(-6) = 10^(-6/20)

More Answers (0)


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!