Also known as: receiver dynamic range
Dynamic range is the span, in decibels, between the weakest signal a receiver can usefully detect — its noise floor — and the strongest it can handle before distortion or overload makes it useless.1 It measures the receiver’s ability to hear a faint signal while a much stronger one is present, which is the real test in a crowded band. A radio can have superb sensitivity yet poor dynamic range, collapsing into a mess of spurious products the moment a strong nearby transmitter appears. Two figures pin down the top end: the spurious-free dynamic range (SFDR), set by intermodulation, and the blocking dynamic range, set by gain compression and desensitization.
How it works
The bottom of the window is fixed by physics: the noise floor is kTB raised by the receiver’s noise figure over the measurement bandwidth. The top is set by nonlinearity. As input power rises, an ideal receiver would keep amplifying linearly, but every real amplifier and mixer eventually saturates. Two distinct ceilings result:
- Spurious-free dynamic range (SFDR). As two or more strong signals mix in the non-linear front end they create intermodulation products — most damaging the third-order ones that fall in-band. SFDR is the range from the noise floor up to the input level at which those spurs just rise above the floor. It is governed by the third-order intercept (IP3).
- Blocking dynamic range. A single very strong signal can compress the gain and raise the noise floor (reciprocal mixing through phase noise), desensitizing the receiver to the wanted signal. This ceiling is tied to the 1 dB compression point and shows up as desensitization.
Because a two-tone third-order spur grows three times faster (in dB) than the tones that create it, SFDR relates to IP3 by the compact rule SFDR = ⅔·(IP3 − noise floor). SFDR is usually the narrower, more limiting number in a busy spectrum.
In practice
For an analog receiver the front-end amplifier and mixer set dynamic range. For a digital or software-defined receiver the analog-to-digital converter is often the bottleneck: its dynamic range is bounded by quantization noise at the bottom and full-scale clipping at the top, roughly 6.02·N + 1.76 dB for N effective bits, and in practice by ENOB and available headroom. Gain staging is the art of positioning the whole chain inside this window — enough gain that the wanted signal clears the noise floor, not so much that a strong neighbour drives the ADC or front end into overload.
Relevance to SDR
Dynamic range is where cheap SDRs struggle most. An RTL-SDR’s 8-bit ADC gives only about 48 dB of raw quantization-limited range, so a strong FM broadcast or pager transmitter a few hundred kHz away can generate intermod spurs and desensitization that bury a weak trunking control channel — a classic SFDR-limited failure that no amount of software can undo once the samples are corrupted. Higher-end receivers (Airspy, SDRplay, USRP) with 12–16-bit ADCs and better front ends buy tens of dB more range, and external front-end filters (a cavity or bandpass filter ahead of the radio) attack the problem directly by removing the strong out-of-band signals before they reach the non-linear stages.
For GopherTrunk this is a capture-side concern: the decoder can only work with the dynamic range the front end preserved. If a control channel decodes cleanly in isolation but falls apart when a strong local signal is on, the culprit is dynamic range in the RF chain — add front-end filtering or reduce gain — not the DSP.
Sources
-
Dynamic range — Wikipedia, definition of dynamic range and its receiver-specific SFDR and blocking variants. ↩