4 July 2026 · signals · wireless

Operating beneath the noise floor

In long-range communications, a radio receiver decodes a signal whose power sits below the thermal noise. It breaks no law: what sets the limit is not the noise floor but the interplay between the signal-to-noise ratio and the energy per bit. That interplay governs the design of a weak-signal link.


A receiver can decode a signal whose received power is weaker than the noise in the same band. Deep-space telemetry, satellite navigation, and covert tactical links all depend on it. A spectrum analyzer at the antenna shows only noise, and still the decoder recovers the data without error. The noise floor appears to be a hard limit on what can be extracted; it is not. The paradox resolves once two quantities are kept apart: the signal-to-noise ratio over the occupied band, which has no lower bound, and the energy per bit relative to the noise density, which does. The relation between them is the substance of a weak-signal link budget, and it fixes how far beneath the noise floor a receiver can operate.

The receiver noise floor and sensitivity

The noise floor of any receiver begins with the thermal noise at its input. A resistor at temperature TT delivers a noise power spectral density kT=−174kT = -174 dBm/Hz at room temperature. Raised by the front-end noise figure (NF), it becomes the input-referred noise density N0=kT+NFN_0 = kT + \text{NF}. The noise floor over a bandwidth BB is then [1]

floor=N0+10log⁡10B=kT+NF+10log⁡10B[dBm],\text{floor} = N_0 + 10\log_{10}B = kT + \text{NF} + 10\log_{10}B \quad [\text{dBm}],

with BB in hertz. A modulation and coding scheme (MCS) decodes once the SNR exceeds a minimum value SNRmin\text{SNR}_\text{min}, so the sensitivity of that MCS is

Pmin=floor+SNRmin.P_\text{min} = \text{floor} + \text{SNR}_\text{min}.

Note that nothing forces SNRmin\text{SNR}_\text{min} to be positive. A robust MCS can require a negative SNR in decibels, and then PminP_\text{min} lies below the noise floor: the receiver recovers a signal weaker than the noise sharing its band. The remainder of the article examines how far SNRmin\text{SNR}_\text{min} can be reduced, by what mechanisms, and against what limit.

Signal-to-noise ratio, energy per bit, and spectral efficiency

At the analog front end the relevant quantity is the received SNR over the occupied bandwidth, whereas the decoder operates on the energy per information bit. The two are related by a factorization of the SNR:

SNR=PN0W=EbN0 η,\text{SNR} = \frac{P}{N_0 W} = \frac{E_b}{N_0}\,\eta,

the product of a fundamental quantity, the energy per bit Eb/N0E_b/N_0, and an architectural one, the spectral efficiency η\eta. Here PP is the received signal power, Eb=P/RbE_b = P/R_b the energy per information bit, Eb/N0E_b/N_0 the detection figure of merit [2], and η=Rb/W\eta = R_b/W the bits per second carried in each hertz of occupied bandwidth WW.

For a fixed noise floor, sensitivity improves by lowering SNRmin\text{SNR}_\text{min}, which is possible in two ways:

  • Reduce the bit rate RbR_b: the required signal power drops by 10log⁡1010\log_{10} per decade of rate, the fall in η\eta a byproduct (widening WW instead would lift the floor by the same amount and cancel). Holding a low rate in a fixed channel, occupying more bandwidth than the information needs, is exactly spreading.
  • Lower the required Eb/N0E_b/N_0: by the coding gain of FEC toward the −1.59-1.59 dB wall, or by multi-antenna processing.

Spreading: processing gain at fixed bandwidth

Reducing the bit rate is the first lever, and spreading is how a low rate occupies a fixed channel. In an occupied bandwidth WW, an information rate RbR_b needs an information bandwidth of only Winfo≈RsW_\text{info} \approx R_s, far narrower than WW; direct-sequence spreading widens each symbol back to WW with a chip sequence [3], at a spreading factor equal to the ratio,

SF=WWinfo=RchipRs,processing gain=10log⁡10SF.\text{SF} = \frac{W}{W_\text{info}} = \frac{R_\text{chip}}{R_s}, \qquad \text{processing gain} = 10\log_{10}\text{SF}.

Spread across WW, the signal occupies SF\text{SF} times more bandwidth than the information requires, so its occupied-band SNR is a factor SF\text{SF} below its value in the information band at fixed Eb/N0E_b/N_0. Despreading correlates against the known chip sequence, summing the SF\text{SF} chips coherently while the uncorrelated noise adds incoherently, and the signal collapses back to WinfoW_\text{info} with its SNR lifted by SF\text{SF},

SNRinfo=SF⋅SNRocc.\text{SNR}_\text{info} = \text{SF}\cdot\text{SNR}_\text{occ}.

Take SF=10\text{SF} = 10: a signal at −10-10 dB in the occupied band (0.10.1) despreads over ten chips to 10×0.1=1=010 \times 0.1 = 1 = 0 dB in the information band, level with the noise and decodable (Fig. 1). Because the low rate is what set the narrow information band, the 10log⁡10SF10\log_{10}\text{SF} of processing gain and the rate reduction are the same number: spreading is the mechanism, the reduced rate is the source of the sensitivity gain, and Eb/N0E_b/N_0 is unchanged. The processing gain is an integration gain. In the time domain, a lower rate lengthens the time per bit Tb=1/RbT_b = 1/R_b, so the receiver collects the energy the decoder requires from a proportionally lower received power, integrated over the longer symbol. Despreading realizes the same integration in the chip domain: it coherently sums the SF\text{SF} chips of each symbol, and a lower rate integrates over more of them.

Two power spectral density panels within a fixed channel bandwidth: a signal spread below the noise floor, and the same signal after despreading rising to the floor in the narrow information band.
Fig. 1: Despreading in the power spectral density; the channel bandwidth W is fixed. A low data rate needs only a narrow information bandwidth W/SF, and spreading fills the channel with it. Left: spread across W, the signal sits 10 dB below the noise floor N₀, an occupied-band SNR of −10 dB. Right: correlating against the code collapses it back to the information bandwidth and lifts it by the processing gain 10·log₁₀ SF = 10 dB, to 0 dB. N₀ is unchanged; only the accounting bandwidth moves.

The mechanism is not confined to deep-space links; LoRa applies it directly. Its chirp spread spectrum holds a fixed channel, typically 125125 kHz, and selects a spreading factor from SF7 to SF12, each step doubling the symbol length and adding roughly 2.52.5 dB. Its sensitivity runs from about −123-123 dBm at SF7 to −137-137 dBm at SF12 in the same channel. GPS carries it further: a 1.0231.023 Mchip/s coarse/acquisition code carrying a 5050 bit/s message has a processing gain of 10log⁡10(1.023×106/50)≈4310\log_{10}(1.023\times10^6/50) \approx 43 dB, so the signal arrives roughly 2020 dB below the thermal noise and is recovered by despreading. Both trade rate for range within a fixed band.

Processing gain places the signal at a chosen negative occupied-band SNR, and with it a sensitivity below the noise floor. It leaves Eb/N0E_b/N_0 unchanged, which the next section shows is the one quantity that is bounded.

Coding gain and the energy-per-bit wall

The Shannon capacity of an additive white Gaussian noise channel of bandwidth WW, power PP, and noise density N0N_0 is [4]

C=Wlog⁡2 ⁣(1+PN0W)[bits/s].C = W\log_2\!\Big(1 + \frac{P}{N_0 W}\Big) \quad [\text{bits/s}].

Reliable communication needs Rb≤CR_b \le C. Dividing by WW recasts this in spectral efficiency:

η=RbW≤log⁡2(1+SNR)⟹SNR≥2η−1.\eta = \frac{R_b}{W} \le \log_2(1 + \text{SNR}) \quad\Longrightarrow\quad \text{SNR} \ge 2^{\eta} - 1.

Substituting SNR=(Eb/N0) η\text{SNR} = (E_b/N_0)\,\eta gives the energy-per-bit bound,

EbN0≥2η−1η,\frac{E_b}{N_0} \ge \frac{2^{\eta} - 1}{\eta},

the least energy per bit any modulation and code can spend at spectral efficiency η\eta, the curve of Fig. 2. It rises with η\eta (η=1\eta = 1 needs 00 dB, η=2\eta = 2 needs 1.761.76 dB) and is smallest as η→0\eta \to 0. Expanding 2η=1+ηln⁡2+O(η2)2^{\eta} = 1 + \eta\ln 2 + O(\eta^2),

2η−1η=ln⁡2+O(η)  ⟶  ln⁡2≈0.693≡−1.59 dB.\frac{2^{\eta} - 1}{\eta} = \ln 2 + O(\eta) \;\longrightarrow\; \ln 2 \approx 0.693 \equiv -1.59\ \text{dB}.

This is the wall: no bandwidth, coding, or spreading beats Eb/N0=−1.59E_b/N_0 = -1.59 dB, approached only as η→0\eta \to 0, that is with infinite bandwidth [5].

Spectral efficiency versus the minimum required Eb/N0 in dB, with the achievable region to the right of the bound curve and a vertical asymptote at minus 1.59 dB.
Fig. 2: The energy-per-bit bound in the spectral-efficiency plane. Reliable communication at spectral efficiency η needs an energy per bit of at least Eb/N0 = (2η − 1)/η (red curve); the region to its right is achievable, the left is not. The requirement climbs steeply as bits are packed more densely, and falls to the wall at −1.59 dB (dashed) as η → 0, the infinite-bandwidth limit. The line η = 1 (0 dB) separates the bandwidth-limited regime above, where hertz are the scarce resource, from the power-limited regime below, where energy per bit is scarce and low-rate coding and spreading operate.

Lowering η\eta walks the operating point down the curve toward the wall, which infinite bandwidth reaches and nothing passes. Coding gain is what walks a finite-bandwidth system toward it, and how close it gets, against what it costs, is the next section.

Coding gain versus processing gain

Two mechanisms expand the bandwidth, serving different purposes. Coding gain, from forward error correction (FEC), lowers the required Eb/N0E_b/N_0 toward the −1.59-1.59 dB wall, the only lever that moves the fundamental requirement. Processing gain, from spreading, lowers the occupied-band SNR at fixed Eb/N0E_b/N_0: it provides robustness rather than range, since a spreading code is only a repetition code and adds no coding gain in a Gaussian channel. In fading it earns more, its independently faded copies giving diversity, a steepening of the error-rate curve that coding alone does not provide [6].

The same 10log⁡10SF10\log_{10}\text{SF} reads as robustness or as range depending on what is held fixed. Hold the information rate and widen the band: the occupied-band SNR falls, Eb/N0E_b/N_0 does not, and the gain is robustness with no added range. Hold the band and take the expansion from a lower rate, as with GPS and LoRa: each bit carries more energy, Eb/N0E_b/N_0 rises, and the same factor is range.

A real link spends its bandwidth budget on both,

Wexpansion=1Rc⏟FEC×SF⏟spreading,W_\text{expansion} = \underbrace{\tfrac{1}{R_c}}_{\text{FEC}} \times \underbrace{\text{SF}}_{\text{spreading}},

giving FEC as much as the decoder complexity allows, since only FEC reduces the required Eb/N0E_b/N_0, and the rest to spreading for the robustness FEC cannot provide: interference rejection, multipath resolution, multiple access, and low probability of intercept. Satellite navigation is the canonical balance, heavy spreading for jam resistance and multiple access alongside FEC for the coding gain that approaches the wall. The split is an implementation-complexity trade-off, not a fundamental one.

These results combine into a design procedure. Consider a telemetry link that must close over a long range within a fixed channel of W=400W = 400 kHz, with noise figure NF=3\text{NF} = 3 dB, so the input noise density is N0=−174+3=−171N_0 = -174 + 3 = -171 dBm/Hz. Take BPSK with a rate-1/21/2 low-density parity-check (LDPC) code, decoding at (Eb/N0)req≈1.5(E_b/N_0)_\text{req} \approx 1.5 dB.

Range follows from sensitivity, and sensitivity from a low rate. At the required Eb/N0E_b/N_0, the minimum received power is the energy per bit the decoder needs, spent at the bit rate:

Pmin=(EbN0)reqN0 Rb.P_\text{min} = \left(\frac{E_b}{N_0}\right)_\text{req} N_0\, R_b .

A lower rate lengthens the time per bit Tb=1/RbT_b = 1/R_b, so the receiver collects the energy the decoder requires from a proportionally lower received power, integrated over the longer symbol. This is the mechanism behind the whole article. Taking 10log⁡1010\log_{10} of this, writing the noise density as N0=kT+NF=−174+NFN_0 = kT + \text{NF} = -174 + \text{NF} dBm/Hz, and adding an implementation loss LimplL_\text{impl} for the gap from the ideal (carrier and timing synchronization error, phase noise, channel-estimation error, filter and pulse-shaping mismatch, and quantization, typically 11 to 33 dB), the sensitivity, with RbR_b in bit/s, is

Pmin=−174+NF⏟noise density+10log⁡10Rb⏟data rate+(Eb/N0)req⏟required Eb/N0+Limpl⏟implementation[dBm].P_\text{min} = \underbrace{-174 + \text{NF}}_{\text{noise density}} + \underbrace{10\log_{10} R_b}_{\text{data rate}} + \underbrace{(E_b/N_0)_\text{req}}_{\text{required } E_b/N_0} + \underbrace{L_\text{impl}}_{\text{implementation}} \quad [\text{dBm}].

Every term is a design lever, and bandwidth is not among them. The only ways to improve sensitivity are a lower noise figure, a lower bit rate (10log⁡1010\log_{10} per decade, unbounded), a lower required Eb/N0E_b/N_0 from coding gain toward the wall, an array gain of 10log⁡10M10\log_{10}M from multi-antenna processing (maximum-ratio combining of MM antennas sums the branch SNRs), or less implementation loss. In summary:

LeverSensitivity term it movesBandwidth costCeiling
Lower noise figureNFnonehardware
Reduce bit rate10log⁡10Rb10\log_{10} R_bnone (spread to fill W)unbounded
Coding gain (FEC)(Eb/N0)required(E_b/N_0)_\text{required}expands W−1.59 dB wall
Multi-antenna processingarray gainnone10log⁡10M10\log_{10} M, plus diversity
Spreading at fixed Rbin-band SNR onlyexpands W0 dB (robustness only)

Consider two rates in the same 400400 kHz channel with Limpl=0L_\text{impl} = 0. Filling the channel with data at Rb=200R_b = 200 kbit/s gives Pmin=−174+3+53.0+1.5=−116.5P_\text{min} = -174 + 3 + 53.0 + 1.5 = -116.5 dBm. Dropping the rate a hundredfold, to Rb=2R_b = 2 kbit/s, gives −174+3+33.0+1.5=−136.5-174 + 3 + 33.0 + 1.5 = -136.5 dBm, 2020 dB better, purely through the 10log⁡1010\log_{10} of the rate. The low-rate signal now occupies an information bandwidth of only 44 kHz, so filling the 400400 kHz channel spreads it by SF=W/Rs=100\text{SF} = W/R_s = 100; the 2020 dB of sensitivity and the 2020 dB of processing gain are the same number.

Suppose the geometry delivers a received power Pr=−133P_r = -133 dBm at the design range. The received energy per bit is

EbN0=Pr−N0−10log⁡10Rb=−133+171−33.0=5.0 dB,\begin{aligned} \frac{E_b}{N_0} &= P_r - N_0 - 10\log_{10} R_b \\ &= -133 + 171 - 33.0 = 5.0\ \text{dB}, \end{aligned}

so the low-rate link closes with 3.53.5 dB of margin, while the high-rate one, at Eb/N0=−15E_b/N_0 = -15 dB, falls far short of the requirement. Over the 400400 kHz channel the noise floor is N0+10log⁡10W=−115.0N_0 + 10\log_{10}W = -115.0 dBm, so the received signal at −133-133 dBm sits 1818 dB beneath it: a spectrum analyzer shows only noise. Despreading recovers the 2020 dB of processing gain, lifting the information-band SNR from −18-18 dB to +2+2 dB, and the rate-1/21/2 code supplies the last 33 dB (its two coded symbols per bit), for Eb/N0=5E_b/N_0 = 5 dB. An occupied-band SNR of −18-18 dB and an energy per bit of +5+5 dB coexist without contradiction; the analyzer reading is an artifact of the spread, and the decoder responds only to Eb/N0E_b/N_0.

The reverse case is instructive. Had the rate stayed fixed and the bandwidth been expanded by spreading, rather than the rate lowered inside a fixed band, sensitivity would not have moved at all: at fixed RbR_b the 10log⁡10Rb10\log_{10}R_b term is fixed, and spreading then provides only robustness. The two cases differ only in whether the bandwidth or the rate is held fixed, and the sensitivity depends entirely on the rate. Charging the spreading bandwidth to the link budget or reading the buried SNR as a shortfall is the most common error in weak-signal design.

The budget closes, but a digital receiver adds one more noise floor, set by the analog-to-digital converter (ADC) and the gain ahead of it. With the automatic gain control (AGC) applying a gain GAGCG_\text{AGC} and the ADC full scale taken as 00 dBm, the thermal noise referred to the converter is

Ptherm=kT+NF+10log⁡10B+GAGC[dBFS],P_\text{therm} = kT + \text{NF} + 10\log_{10}B + G_\text{AGC} \quad [\text{dBFS}],

so the AGC gain lifts the thermal floor to a usable level inside the converter’s range. Quantization is the second floor. With complex I/Q sampling the Nyquist rate equals the channel bandwidth, so no oversampling gain spreads the quantization noise, and the signal-to-quantization-noise ratio (SQNR) of an NN-bit converter is

SQNR=6.02 N+1.76 dB,Pquant=−SQNR[dBFS],\text{SQNR} = 6.02\,N + 1.76\ \text{dB}, \qquad P_\text{quant} = -\text{SQNR}\quad [\text{dBFS}],

bandwidth-independent, at −74.0-74.0 dBFS for 1212 bits and −98.1-98.1 dBFS for 1616. The two add in power to give the digital noise floor the decoder sees,

Ptotal=10log⁡10 ⁣(10Ptherm/10+10Pquant/10)[dBFS].P_\text{total} = 10\log_{10}\!\big(10^{P_\text{therm}/10} + 10^{P_\text{quant}/10}\big) \quad [\text{dBFS}].

Whether PtotalP_\text{total} collapses onto PthermP_\text{therm} depends on the margin between the two floors, which the ADC resolution and the AGC gain set together. A wide margin leaves the receiver thermal-limited. For a representative front end, NF=3\text{NF} = 3 dB and GAGC=40G_\text{AGC} = 40 dB:

BW (MHz)BitsThermal (dBFS)Quant. (dBFS)Margin (dB)Combined (dBFS)
2.512−67.0−74.07.0−66.2
2.516−67.0−98.131.1−67.0
512−64.0−74.010.0−63.6
516−64.0−98.134.1−64.0
1012−61.0−74.013.0−60.8
1016−61.0−98.137.1−61.0

At 1616 bits the quantization floor sits 3131 dB or more below thermal, the combined floor equals the thermal one, and the receiver is thermal-limited at every bandwidth. At 1212 bits the margin narrows to 77 dB at 2.52.5 MHz, where quantization lifts the floor by nearly a decibel, a direct loss of sensitivity that eases at wider bandwidth only because the thermal floor itself rises. The design goal is simple: enough AGC gain to lift the thermal floor clear of quantization, and enough resolution to keep it there. The digital floor then falls back onto the analog one the rest of the article assumed [1].

Digitization is only half of realizing the processing gain; the other half is synchronization, since the receiver must acquire and track the code and carrier at the operating SNR, and any residual misalignment is the implementation loss LimplL_\text{impl} of the sensitivity equation, paid straight onto the required Eb/N0E_b/N_0.

The two things that never move

A weak-signal receiver decodes beneath the noise floor because the occupied-band SNR has no lower bound: spreading drives it as negative as SF\text{SF} allows, and despreading recovers the loss coherently. Two quantities do not move. The noise floor over the true detection bandwidth is set by temperature, bandwidth, and noise figure. The energy-per-bit wall sits at Eb/N0=−1.59E_b/N_0 = -1.59 dB, the η→0\eta \to 0 limit of the Shannon bound, and no bandwidth expansion crosses it. Operating below the noise floor is a statement about power and SNR, always achievable; operating below −1.59-1.59 dB of energy per bit is a statement about information, never achievable. Keeping the two apart, a low rate and coding for sensitivity, spreading for robustness, is the discipline of weak-signal design. The same accounting decides whether a waveform can be hidden under the noise while still being read, where a later post on low-probability-of-intercept design will begin.

References

[1] B. Razavi, RF Microelectronics, 2nd ed. Prentice Hall, 2011.

[2] J. G. Proakis and M. Salehi, Digital Communications, 5th ed. McGraw-Hill, 2008.

[3] R. L. Pickholtz, D. L. Schilling, and L. B. Milstein, “Theory of spread-spectrum communications: a tutorial,” IEEE Transactions on Communications, vol. 30, no. 5, pp. 855–884, 1982.

[4] C. E. Shannon, “A mathematical theory of communication,” The Bell System Technical Journal, vol. 27, no. 3, pp. 379–423, 1948.

[5] S. Verdú, “Spectral efficiency in the wideband regime,” IEEE Transactions on Information Theory, vol. 48, no. 6, pp. 1319–1343, 2002.

[6] D. Tse and P. Viswanath, Fundamentals of Wireless Communication. Cambridge University Press, 2005.