Also known as: LLR, log-likelihood ratio, soft-bit metric
A log-likelihood ratio (LLR) is the natural logarithm of the probability that a received bit is a 0 divided by the probability it is a 1 — the calibrated soft-decision metric that modern forward-error-correction decoders consume.1 Its sign is the hard decision (positive favors 0, negative favors 1) and its magnitude is the reliability: an LLR near zero is a coin toss, while a large-magnitude LLR is a near-certain bit. Packing both the decision and its confidence into one signed number is what makes LLRs the lingua franca of iterative decoding.
How it works
For a bit b and an observation y, the LLR is L(b) = ln[ P(b=0 | y) / P(b=1 | y) ]. The log
turns a probability ratio into a signed additive quantity, which is the property that makes it
so convenient: independent pieces of evidence about the same bit simply add in the LLR domain,
so a decoder combines the channel observation with parity-check evidence by summation rather than
by multiplying probabilities.
For the common case of BPSK-like symbols in additive white Gaussian noise, the math collapses to
a strikingly simple result: the channel LLR is L = 2·y / σ², i.e. the matched-filter output y
scaled by twice the inverse noise variance. Two consequences follow. First, the LLR is just the
raw soft value with a known scale factor — which is why a coarse soft metric already works.
Second, the scale depends on the noise power, so estimating the channel SNR correctly sets the
LLR magnitudes; get it wrong and a decoder becomes over- or under-confident, which especially
hurts iterative codes.
Decoders come in flavors named for what they compute. A BCJR (MAP) decoder computes the exact a posteriori LLR for every bit; the practical max-log-MAP approximation replaces the log-sum-exp with a max, trading a fraction of a dB for a big drop in complexity. Iterative decoders pass extrinsic LLRs — the new information a check node produces about a bit, excluding what it was already told — back and forth, refining the estimates each round.
In practice
- Clipping — LLRs are stored in fixed point and clamped to a maximum magnitude; too small a clip discards confident bits, too large wastes dynamic range. A few integer bits usually suffice.
- Approximate demappers — for higher-order QAM the exact per-bit LLR needs all constellation points, so implementations use the “min” (nearest-symbol) approximation per bit.
- Sign-magnitude view — many hardware decoders store an LLR as a sign bit plus a small magnitude, mirroring the intuition of a soft bit.
The additive property is worth dwelling on because it is what makes iterative decoding tractable. In the probability domain, combining independent evidence about a bit means multiplying likelihoods and renormalizing — awkward and numerically unstable. Taking the log converts those products into sums, so a check node in an LDPC decoder or a component decoder in a turbo decoder simply adds and subtracts LLRs. It also keeps the arithmetic well conditioned: a probability near 0 or 1, which would underflow in fixed point, maps to a large but finite LLR magnitude that clips gracefully. This is the same reason statisticians and machine-learning systems work in log-probabilities, and it is why the LLR, not the raw probability, is the number that actually flows through a decoder.
Relevance to SDR
LLRs are the input format of every high-performance FEC in use today: LDPC codes in Wi-Fi, DVB-S2, and 5G data channels; turbo codes in LTE and UMTS; and polar codes in 5G control. Any SDR receiver decoding these standards computes LLRs at the demapper. In land-mobile digital voice the FEC is simpler (convolutional/trellis and block codes), so full LLR machinery is less central, but the same principle — carry a signed reliability, not just a bit — underlies the soft-decision Viterbi paths that GopherTrunk and similar decoders use to pull frames out of marginal signals.
Sources
-
Log probability — Wikipedia, on log-domain probability ratios and their additive combination, the basis of the LLR. ↩