-3db and -10db Bandwidth Calculations

I’ve been struggling with this for months: I am trying to calculate the equivalent of the -3db and -10db bandwidths for the spectral analysis with Audacity. The big problem is that peak amplitude in the spectral analysis isn’t set at 0db so the standard equations won’t work.

I’ve looked up papers and tutorials on calculations for the values, but can’t find anything relevant to a situation when the baseline isn’t 0dB (or at least I didn’t understand it). Is there a built-in function for finding this, or at least an equation I can use to calculate the values and process with a Python script after exporting the data?

Thanks. It’s for my MSc. and is now causing me significant problems.

If you generate a pure 1kHz sine wave at an amplitude of 1.0 (=100% = 0dB) it will hit 0dB. A square wave will also hit 0dB at the fundamental frequency.

Normal program material has many simultaneous frequencies that can potentially sum-up to 0dB total.

Of course the frequency content of program material changes moment-to-moment so I’m not sure if the -3 and -10dB cutoffs are meaningful.

You could subtract from the peak to find the -3 and -10dB points relative to the peak.

Thanks! I don’t think I was clear enough: I have an audio file that I’m taking random frequency samples of for further analysis. The issue I’ve been having is that the peak amplitude in those clips is anywhere from -20 to -40dB. Is the answer for finding the -3db bandwidth below peak frequency as simple as just finding the frequency that is exactly 3db below the peak? I’m going to feel exceptionally dumb if so.

I thought there had to be a correction since the peak amplitude isn’t 0?

If I understand your question, yes…

You can add & subtract decibels. If you lower the volume by 3dB, everything is lowed by 3dB. All of the frequency components are lowered by 3dB, loud parts and quiet parts (including any background noise) are lowered by 3dB, the peak, RMS, LUFS loudness, and the SPL loudness in the room, are all lowered by 3dB etc.

And if you lower it again by 3dB that’s the same as lowering by 6dB.

And decibels are always relative… (Or if there’s no absolute reference you can have a dB difference.) With digital, the 0dBFS (zero decibels full scale) reference is the highest you can “count to” with a given number of bits. 16-bit signed integers can hold values between −32,768 and +32,767. A 16-bit file that hits those positive & negative peaks has 0dB peaks. That’s why digital dB levels are usually negative. With floating-point audio, a value of 1.0 represents 0dB, and for practical-audio purposes there are no upper or lower . (When you play a file, the data is scaled to match your DAC, so a 0dB 24-bit file isn’t louder than a 0dB 8-bit file.)

The acoustic dB reference is 0dB SPL (sound pressure level) which is approximately the quietest sound humans can hear, and SPL levels are positive.

There are also various 0dB electrical references, and for audio signals dB levels are usually negative.

So this would be equivalent to the -3db bandwidth used to compute the Q value of resonance?

-3d db = 1/(sqrt(2) of the peak amplitude? and Q = F/-3dB bandwidth?
^That is where I am getting tripped up: what would -3dB be, for instance, if F0 was 10kHz and the peak amplitude was -26dB rather than 0.

Or am I still missing something?

I really appreciate the help. This part of things has been a bit of a nightmare.

-3dB down from -26dB is simply -29dB.

But if you are testing a filter you’d use a frequency sweep, measuring one frequency at a time, rather than looking at the spectrum.

Voxengo SPAN is a free spectrogram plugin that works in Audacity3 (&2).
It can be set at 0dB …
Voxengo SPAN 0dB
[ Not to be confused with “Voxengo SPAN Plus” which is the paid-for version ].

This topic was automatically closed after 30 days. New replies are no longer allowed.