Also known as: dBFS
dBFS (decibels relative to full scale) measures level inside the digital domain of an SDR. Here 0 dBFS is the ceiling — the largest value the ADC can represent — and all real samples sit below it as negative numbers.1 Unlike dBm, it describes a digital code range, not a physical power.
How it works
Full scale is fixed by the converter’s bit depth: an N-bit ADC has a largest representable magnitude, and 0 dBFS is defined as exactly that. Every actual sample is a fraction of full scale, so its level in dBFS is negative — a sample at half of full scale is −6 dBFS, at one tenth is −20 dBFS. Because it is a level referenced to a maximum, dBFS values cannot be positive; a real converter simply cannot output more than full scale.
The importance of the ceiling is what happens at it. If the analog input drives the ADC past full scale, the converter clips: peaks are flattened to the maximum code, and that flat-topping is a hard nonlinearity.2 Clipping does not just distort the one strong signal — it generates harmonics and intermodulation products that spray across the whole captured spectrum, creating spurs and raising the apparent noise floor. A single overloading pager or FM broadcast carrier can wipe out weak signals many megahertz away.
The bottom of the scale is set by quantization noise — the rounding error of representing a continuous voltage in finite bits. The distance from 0 dBFS down to that quantization floor is the converter’s dynamic range, roughly 6 dB per bit. An 8-bit RTL-SDR therefore has far less digital headroom than a 12- or 14-bit receiver, which is why gain staging matters more on cheap hardware.
In practice
The goal of setting front-end gain is to place the strongest signal in the passband a comfortable margin below 0 dBFS — often 6 to 12 dB of headroom — so momentary peaks do not clip, while still lifting the weakest signal well above the quantization floor. Too little gain buries weak signals in quantization noise; too much gain clips on strong ones. Software overload or “ADC clip” indicators watch for samples reaching full scale.
dBFS and dBm describe two different worlds. dBm is the physical power arriving at the antenna; dBFS is the code level after the analog gain chain and the ADC. There is no universal offset between them — the same −80 dBm signal can land at −40 dBFS or −10 dBFS depending on how much gain precedes the converter. Only a calibrated receiver ties the two scales together.
Relevance to SDR
Overload is one of the most common causes of a receiver that “hears nothing” despite a strong antenna: a nearby transmitter drives the ADC into clipping and the whole band degrades. GopherTrunk’s DSP operates on the sample stream well after the ADC, so it cannot undo clipping that already happened in hardware — the fix is gain, attenuation, or filtering ahead of the converter, keeping peaks under 0 dBFS. This is exactly the gain-staging distinction noted in GopherTrunk’s DSP notes: a symptom baked into captured samples cannot be recovered by downstream processing.