Confidence Value
How Soft Information Drives Iterative Decoders
The shift from hard-decision to soft-decision receivers was one of the practical breakthroughs that let coded systems approach the Shannon capacity limit. A hard decision throws away everything except the sign of each received sample, so a bit that just barely crossed the decision threshold is treated identically to one that landed far from it. A confidence value preserves that distance. The decoder can then trust unambiguous bits, discount marginal ones, and reconcile conflicting evidence from the channel and from the code's parity structure. This weighted reasoning is exactly what message-passing decoders for LDPC codes and the BCJR-based component decoders inside turbo codes rely on.
Concretely, the confidence value is almost always represented as a log-likelihood ratio. The LLR for a bit is the natural log of the ratio of the probability the bit is 0 to the probability it is 1, conditioned on the observation. A value of +5 means the bit is about e5, or roughly 148 times, more likely to be 0 than 1; a value near 0 means the receiver has essentially no information. Working in the log domain turns probability products into sums, which keeps the arithmetic numerically stable and lets hardware replace multipliers with adders and a simple correction term.
An iterative decoder updates these values rather than the bits themselves. Each iteration produces extrinsic confidence, the new belief about a bit derived from everything except that bit's own channel input, and feeds it forward as a priori information to the next stage. Over 8 to 20 iterations the magnitudes typically grow as the decoder gains certainty, and decoding stops when all parity checks are satisfied or an iteration cap is reached. Tracking how the average confidence magnitude evolves is the basis of EXIT-chart analysis used to design the codes themselves.
Channel LLR and the Box-Plus Update
L(b) = ln[ P(b = 0 | y) / P(b = 1 | y) ]
Channel LLR, BPSK in AWGN:
L(y) = 2y / σ2 with reliability factor Lc = 4 × (Es/N0) = 4 × R × (Eb/N0)
Combining two independent confidences (box-plus):
L1 ⊞ L2 = 2·tanh-1[ tanh(L1/2) × tanh(L2/2) ]
≈ sign(L1)·sign(L2) × min(|L1|, |L2|)
Where y = matched-filter sample, σ2 = noise variance per dimension, Es/N0 = SNR per coded symbol, Eb/N0 = SNR per information bit, R = code rate (so Es = R·Eb). The min approximation is the min-sum rule used in hardware LDPC decoders, typically with a scaling factor of 0.75 to 0.875.
Hard Decision vs. Soft Confidence Values
| Attribute | Hard Decision | 2-bit Soft | 3-bit Confidence | 6-bit Confidence | Float LLR |
|---|---|---|---|---|---|
| Info retained | Bit only | Sign + 1 mag | Sign + 2 mag | Sign + 5 mag | Full |
| Coding gain vs. hard | 0 dB (ref) | ~1.0 dB | ~1.5 dB | ~1.9 dB | ~2.0 dB |
| Loss vs. float | ~2.0 dB | ~1.0 dB | 0.4 to 0.6 dB | 0.1 to 0.2 dB | 0 dB (ref) |
| Decoder memory | Lowest | Very low | Low | Moderate | Impractical |
| Typical use | Legacy BCH | Coarse soft | Low-area IoT | 5G NR, DVB-S2 | Simulation |
Frequently Asked Questions
How does a confidence value differ from a hard decision?
A hard decision collapses each sample to a single bit before decoding, discarding how reliable that choice was. A confidence value keeps both the favored bit and a magnitude of certainty, usually an LLR: large positive votes for 0, large negative for 1, near zero is a coin flip. Decoders using confidence values gain roughly 2 dB over hard decisions at a BER of 1×10-5, which is why turbo and LDPC systems carry soft information end to end.
How many bits are needed to quantize a confidence value?
Most LDPC and turbo decoders use 4 to 6 bits per LLR, typically 1 sign bit plus 3 to 5 magnitude bits. A 5-bit (1 sign, 4 magnitude) representation with a well-chosen saturation level loses only about 0.1 to 0.2 dB versus floating point, while 3-bit can cost 0.5 dB. The clipping threshold matters as much as bit width: clip too hard and convergence slows; set it too high and resolution is wasted. 5G NR and DVB-S2 typically settle on 6-bit LLRs.
How is the channel LLR computed for a BPSK signal in AWGN?
For BPSK in AWGN with 0 to +1 and 1 to -1, the channel confidence value is L(y) = 2y / σ2, where y is the matched-filter sample and σ2 is the noise variance per dimension. The LLR scales with received amplitude and inversely with noise power. The factor 2/σ2 is the reliability factor Lc. An SNR estimate off by 1 to 2 dB scales every LLR wrong and can cost several tenths of a dB in iterative decoding.