Belief Propagation
Understanding Belief Propagation
Belief propagation is the engine inside every modern channel decoder. When a 5G phone receives data, the demodulator produces soft information (LLRs) for each bit, indicating both the estimated value and the confidence level. BP takes these noisy estimates and iteratively refines them using the code's parity structure, converging on the most likely transmitted codeword.
The algorithm works because parity check equations create dependencies between code bits: if a check node knows that all but one of its connected bits are correct, it can infer the remaining bit. By iterating these local inferences across the entire code graph, global consistency emerges, correcting bit errors far beyond what any single parity check could achieve alone.
BP Message Equations
L(c→v) = 2·arctanh(∏v'≠v tanh(L(v'→c)/2))
Check-to-Variable (min-sum):
L(c→v) = (∏ sign(Li)) × min(|Li|)
NMS: × α (α ≈ 0.75–0.85)
OMS: max(min − β, 0) (β ≈ 0.15–0.5)
Variable-to-Check:
L(v→c) = Lch(v) + ∑c'≠c L(c'→v)
Decision:
Ltotal(v) = Lch(v) + ∑c L(c→v)
Decode: bit = 0 if Ltotal > 0, else 1
Decoder Algorithm Comparison
| Algorithm | Complexity | Gap to SP | Hardware |
|---|---|---|---|
| Sum-product (SP) | High (tanh LUT) | 0 dB (reference) | Large area/power |
| Min-sum (MS) | Low (comparators) | 0.2–0.5 dB | 3–5x smaller |
| Normalized MS | Low + multiply | 0.05–0.3 dB | ~3x smaller |
| Offset MS | Low + subtract | 0.05–0.3 dB | ~3x smaller |
Frequently Asked Questions
How does BP decode LDPC?
Iterates on Tanner graph: check nodes send parity beliefs via tanh product, variable nodes sum channel LLR + all check messages. Hard decision each iteration; stop when syndrome = 0 or max iterations reached.
Sum-product vs. min-sum?
SP: exact but expensive (tanh/arctanh). MS: comparators only, 3 to 5x fewer gates, 0.2 to 0.5 dB worse. NMS/OMS recover 0.1 to 0.2 dB with scaling/offset. All commercial ASICs use MS variants.
Iterations needed?
Low SNR: 20 to 50. High SNR: 5 to 10. Early termination (syndrome check) saves 30 to 60% of iterations at operating SNR. Min girth ≥6 prevents oscillation from short cycles.