channel coding
LDPC Codes, Belief Propagation, and Tanner Graphs
You should know: error correcting codes, channel capacity, hamming codes
Overview
Low-Density Parity-Check (LDPC) codes are a class of linear block codes defined by a sparse parity-check matrix H. Introduced by Gallager in 1963 and rediscovered by MacKay and Neal in 1996, they achieve near-Shannon-limit performance on a wide variety of channels. Decoding uses belief propagation (sum-product algorithm) on the Tanner graph — a bipartite factor graph with variable nodes (bits) and check nodes (parity constraints). LDPC codes are used in 5G NR data channels, Wi-Fi (802.11n/ac/ax), DVB-S2 satellite television, and 10 Gigabit Ethernet.
Intuition
An LDPC code is defined by a sparse parity-check matrix H where most entries are 0. Think of H as a set of parity constraints on the codeword bits. The Tanner graph makes these constraints visual: variable nodes (one per bit) on the left, check nodes (one per parity equation) on the right, connected by edges where H has a 1. Belief propagation decodes by passing probability messages along edges: variable nodes aggregate channel evidence and incoming check messages; check nodes aggregate parity constraint information from neighboring variable nodes. After many rounds, the messages converge to reliable bit estimates.
Formal Definition
A (N, K) LDPC code is defined by an M x N sparse parity-check matrix H over GF(2). The Tanner graph G = (V union C, E) has variable nodes V = {v_1,...,v_N}, check nodes C = {c_1,...,c_M}, and edge (v_i, c_j) iff H_{ji} = 1. The sum-product algorithm computes:
Notation
| Notation | Meaning |
|---|---|
| Sparse M x N parity-check matrix over GF(2) | |
| Variable node degree and check node degree | |
| Channel log-likelihood ratio for variable v | |
| Variable/check node degree distribution polynomials |
Theorems
Worked Examples
- 1
A check node c connected to variable nodes v1, v2, v3. We compute the message from c to v1.
- 2
Gather incoming LLRs from the other variables: L_{v2->c} and L_{v3->c}.
- 3
Apply the check-to-variable formula using the tanh product rule.
- 4
Compute: tanh(1.05) approx 0.781, tanh(-0.4) approx -0.380. Product = -0.297.
✓ Answer
The check-to-variable message is approximately -0.608, indicating the parity constraint pushes v1 slightly toward 1.
Practice Problems
What is a Tanner graph and how does it represent an LDPC code?
Explain what an 'error floor' is in LDPC decoding and how it arises.
Common Mistakes
LDPC codes were a recent invention from the 1990s.
LDPC codes were invented by Robert Gallager in his 1963 MIT doctoral thesis, predating turbo codes by 30 years. They were independently rediscovered by MacKay and Neal in 1996.
Belief propagation on LDPC gives exact MAP decoding.
Belief propagation is exact only on cycle-free (tree) graphs. Real Tanner graphs have cycles, so BP is an approximation. However, for long codes with large girth, BP closely approximates MAP decoding.
Quiz
Historical Background
Robert Gallager introduced LDPC codes in his 1963 MIT doctoral thesis under Robert Fano. The computational demands of belief propagation decoding made them impractical on the hardware of the time, and they were largely forgotten. In 1996, David MacKay and Radford Neal independently rediscovered them and showed, using modern probabilistic inference techniques, that LDPC codes rival turbo codes in performance. Their rediscovery coincided with the turbo codes revolution, and the two families have since been the dominant practical near-capacity codes.
- 1963
Gallager introduces LDPC codes in his MIT doctoral thesis.
Robert Gallager
- 1996
MacKay and Neal rediscover LDPC codes and demonstrate near-capacity performance.
David MacKay, Radford Neal
- 2001
Richardson and Urbanke develop density evolution for rigorous LDPC code design.
Tom Richardson, Ruediger Urbanke
- 2003
DVB-S2 satellite standard adopts LDPC codes.
- 2009
IEEE 802.11n Wi-Fi standard adopts LDPC codes.
- 2017
3GPP selects LDPC for 5G NR data channels.
Summary
- LDPC codes are linear block codes defined by a sparse parity-check matrix H, introduced by Gallager (1963) and rediscovered by MacKay and Neal (1996).
- The Tanner graph is a bipartite factor graph with variable nodes (bits) and check nodes (parity constraints); edges correspond to 1s in H.
- Belief propagation (sum-product algorithm) iteratively passes LLR messages between variable and check nodes, achieving near-Shannon-limit performance.
- LDPC codes are used in 5G NR data channels, Wi-Fi, DVB-S2 satellite TV; they exhibit an error floor at high SNR due to trapping sets.
References
- PaperGallager, R.G. (1963). Low-Density Parity-Check Codes. MIT Press (doctoral thesis).
- PaperMacKay, D.J.C., Neal, R.M. (1996). Near Shannon Limit Performance of Low Density Parity Check Codes. Electronics Letters, 32(18), 1645-1646.
Mathematics