46.08.04 · information-theory / 08-modern-codes

Capacity-Achieving Code Families: A Unified View Through Polarization and LDPC

shipped3 tiersLean: nonepending prereqs

Anchor (Master): Arkan 2009; Richardson-Shokrollahi-Urbanke 2001 Design of Capacity-Approaching Irregular LDPC Codes; Berrou-Glavieux-Thitimajshima 1993; Korada-Sason 2010 On the Capacity-Achieving Property of Various Coding Schemes

Intuition Beginner

Shannon proved in 1948 that reliable communication is possible at any rate below the channel capacity. But he did not say how to build the codes. For fifty years, engineers tried to get close to the Shannon limit with practical codes. Reed-Solomon codes, convolutional codes, and algebraic geometry codes all fell short.

Then in 1993, a team of French engineers surprised everyone. Claude Berrou, Alain Glavieux, and Punya Thitimajshima presented "turbo codes" that came within half a decibel of the Shannon limit. Their idea was simple: chain two simple encoders together with a scrambler (interleaver) between them, and let the two decoders exchange information back and forth until they agree. The iterative exchange amplified the reliability of each bit.

Around the same time, researchers rediscovered LDPC codes, invented by Robert Gallager in 1962 but forgotten for decades. LDPC codes use sparse parity-check matrices (each check involves only a few bits) and decode by passing messages along the edges of a graph. David MacKay showed in 1999 that irregular LDPC codes can approach the Shannon limit even more closely than turbo codes.

In 2009, Erdal Arikan introduced polar codes, which were the first provably capacity-achieving codes with low-complexity decoding. The idea is to take many copies of the channel and transform them into a set of "perfect" channels (that never make errors) and "useless" channels (that convey no information). You send data on the perfect channels and freeze the useless ones. The transformation is a simple recursive matrix operation.

All three families share a common thread: they use iterative or recursive processing to extract the full capacity of the channel.

Visual Beginner

Code family Year introduced Decoding method Gap to capacity Complexity
Turbo codes 1993 Iterative (BCJR exchange) ~0.5 dB per iteration
LDPC codes 1962/1999 Belief propagation ~0.005 dB per iteration
Polar codes 2009 Successive cancellation 0 dB (proven)
Expander codes 1996 GMD (flip worst bit) Positive gap

Figure: the performance of different code families on the AWGN channel, rate 1/2. The x-axis is in dB; the y-axis is bit-error rate. The Shannon limit is at 0.19 dB. Turbo codes (1993) reach at about 0.7 dB. Optimised LDPC codes (2001) reach at about 0.2 dB. Polar codes reach at about 0.19 dB (the limit) for large enough block length.

Worked example Beginner

Consider the simplest polar code for a binary erasure channel with erasure probability 0.5. The channel capacity is bits per use. We want to send 1 bit of information using 2 channel uses.

The polar transform takes two copies of the channel and creates two synthetic channels. The "good" synthetic channel combines the information from both uses: it sends through the first channel and through the second. If the second channel is not erased, the receiver learns directly and then computes from the first channel output.

The "bad" synthetic channel is alone. If both channels are erased, we learn nothing about , so this synthetic channel has zero capacity.

For erasure probability 0.5, the good channel has erasure probability (both must be erased), and the bad channel has erasure probability (at least one must not be erased).

We send data on the good channel (capacity 0.75) and freeze the bad channel. Rate matches the channel capacity.

Check your understanding Beginner

Formal definition Intermediate+

Let be a binary-input memoryless channel (BMS) with transition probabilities and mutual information (the symmetric capacity).

Definition (Polar transform). The polar transform for block length is defined recursively. For : the transform maps to (where is XOR). For : apply the -length polar transform to the first and second halves, then combine via the kernel.

In matrix form, where is the -th Kronecker power of .

Definition (Synthetic channels). The polar transform creates synthetic channels for , where is the effective channel seen by bit given the previous bits .

Theorem (Arkan's polarization theorem). For any BMS channel and any :

The synthetic channels polarise to either capacity 1 (good) or capacity 0 (bad), and the fraction of good channels approaches .

Definition (Polar code). The polar code of block length and rate selects the synthetic channels with the highest mutual information as information bits. The remaining channels are frozen to known values.

Definition (LDPC code). An LDPC code is defined by a sparse parity-check matrix with rows and columns, where each row has at most ones and each column has at most ones (both ). The Tanner graph 46.08.01 is bipartite with variable nodes and check nodes. An irregular LDPC code has variable nodes and check nodes of varying degrees, specified by degree distribution polynomials (fraction of edges connected to degree- variable nodes) and (check nodes).

Key theorem with proof Intermediate+

Theorem (Polar codes achieve capacity). For any BMS channel with symmetric capacity , the polar code of block length and rate , decoded by successive cancellation, has block error probability satisfying:

for any and sufficiently large .

Proof sketch. The proof uses the following steps:

  1. Polarization: By the polarization theorem, a fraction of the synthetic channels have mutual information close to 1.

  2. Bhattacharyya parameter: The error probability of the worst selected channel is bounded by the Bhattacharyya parameter , which satisfies for some for all selected channels.

  3. Union bound: The block error probability under successive cancellation decoding is at most the sum of the Bhattacharyya parameters of the selected channels:

where is the set of selected channel indices.

  1. Rate achievability: Since as , any rate is achievable with vanishing error probability.

Theorem (LDPC codes approach capacity). For any BMS channel with capacity , there exist irregular LDPC codes of rate approaching that decode reliably under belief propagation.

Proof sketch. Density evolution 46.08.01 tracks the probability density of the messages passed during belief propagation. The decoding threshold of an LDPC ensemble with degree distributions is the maximum channel parameter for which density evolution converges to a perfect decoding. Richardson, Shokrollahi, and Urbanke (2001) showed that optimised degree distributions can make the threshold arbitrarily close to capacity. The existence of capacity-achieving sequences follows by solving a linear programming problem over the space of degree distributions.

Bridge. The capacity-achieving property of polar codes builds toward practical implementations in 5G NR where polar codes replace turbo codes for control channels; this appears again in the Gaussian channel 46.03.05 where the capacity formula sets the target; the foundational reason polar codes achieve capacity is the polarization phenomenon that separates good and bad channels with exponential sharpness; the central insight is that all three families (LDPC, turbo, polar) use iterative or recursive processing to close the gap to capacity, and putting these together reveals that the Shannon limit is achievable with practical complexity.

Exercises Intermediate+

Lean formalization Intermediate+

Mathlib has no formalisation of polar codes, the polar transform, or successive cancellation decoding. The channel polarization phenomenon requires analysing the mutual information of synthetic channels, which depends on the information-theoretic quantities absent from Mathlib. The LDPC degree distribution optimisation and density evolution are also unformalised. The Kronecker product structure of the polar transform matrix could in principle be defined in Mathlib's linear algebra library, but the information-theoretic analysis (Bhattacharyya parameter bounds, polarization rate) is far beyond current formalisation capabilities. This unit ships without a lean_module.

Advanced results Master

The scaling exponent of polar codes

The speed at which polar codes approach capacity is governed by the scaling exponent . For a BMS channel with capacity , the block error probability of a polar code at rate satisfies:

where depends on the channel. For the binary erasure channel, . For the binary symmetric channel, . The scaling exponent determines the required block length for a given target error probability: achieving at rate within 0.01 of capacity requires for the BEC.

This finite-length analysis, due to Hassani, Alishahi, and Urbanke (2014), complements the asymptotic polarization theorem by providing concrete performance predictions. The result shows that polar codes are practical for moderate block lengths () but less competitive at very short lengths.

Spatial coupling and the threshold saturation phenomenon

Spatially coupled LDPC codes, introduced by Felstrom and Zigangirov (1999) and analysed by Kudekar, Richardson, and Urbanke (2013), achieve capacity on BMS channels with belief propagation decoding. The construction arranges the variable and check nodes in a chain, with local connectivity within each position and a seed region at the boundaries.

The key phenomenon is threshold saturation: the belief propagation threshold of the spatially coupled ensemble equals the maximum a posteriori (MAP) threshold of the underlying ensemble. This means that belief propagation decoding on the coupled code achieves the same performance as optimal MAP decoding on the uncoupled code, closing the gap between BP and MAP performance.

Spatial coupling unifies the capacity-achieving property: it applies to LDPC codes, compressive sensing, and constraint satisfaction problems. The underlying principle is that the coupling introduces a wave of correctness that propagates from the seed region through the chain, similar to the wave effect in irregular LDPC codes.

Reed-Muller codes and the connection to polar codes

Reed-Muller codes, introduced by Muller (1954) and Reed (1954), are closely related to polar codes. Both use the same generating matrix structure (rows of the Kronecker power ). The difference is in row selection: polar codes select rows based on the channel (highest mutual information), while Reed-Muller codes select rows based on Hamming weight (highest weight).

Abbe, Shpilka, and Wigderson (2015) showed that Reed-Muller codes achieve capacity on the BEC, and subsequent work by Reeves and Pfister (2021) showed they achieve capacity on all BMS channels. This was a surprising result: a code family from 1954 turns out to be capacity-achieving. The connection to polar codes is that both are subcodes of the same universal code (the full code generated by ), differing only in the selection rule.

Synthesis. All capacity-achieving code families share the principle that iterative or recursive processing extracts the full mutual information available in the channel; the central insight is that polarization, message passing, and turbo equalisation are different mechanisms for the same goal — approaching the Shannon limit with polynomial complexity; this builds toward practical system design where the choice between LDPC, turbo, and polar codes depends on block length, latency constraints, and implementation platform; the foundational reason these codes work is that the channel capacity 46.03.01 sets a reachable target, and the code structure provides a computationally tractable path to it; putting these together, the story of modern coding theory is the story of closing the gap between what Shannon proved was possible and what engineers could build.

Full proof set Master

Proposition (Polarization for the BEC). For the binary erasure channel with erasure probability , the Bhattacharyya parameters of the synthetic channels after steps of polarization satisfy:

where .

Proof. For the BEC, the Bhattacharyya parameter equals the erasure probability. The polar transform , creates two synthetic channels. The good channel for (decoded given ) is erased only if both and are erased (if is not erased, we recover , then ). Erasure probability: .

The bad channel for is erased unless at least one of the observations is non-erased: .

Proposition (Rate of polarization). The fraction of synthetic channels with Bhattacharyya parameter in (not yet polarized) after steps is at most .

Proof. Define the process tracking a randomly chosen synthetic channel. The recursion is:

Let be a potential function. One can verify that for some constant when . By the martingale convergence theorem, converges to or almost surely, and the fraction of channels not yet converged vanishes as . The rate gives the result.

Connections Master

  • 46.08.01 — LDPC codes, Tanner graphs, and belief propagation are the foundation on which the LDPC capacity-approaching results are built.
  • 46.08.03 — Polar codes are defined and analysed in detail; this unit places them in the comparative framework.
  • 46.03.01 — Channel capacity is the target that all capacity-achieving code families aim to reach.
  • 46.03.05 — The Gaussian channel capacity is the primary benchmark for comparing code families in practice (AWGN performance curves).
  • 46.07.04 — Expander codes provide the graph-theoretic perspective on capacity-achieving codes; linear-time decoding via expansion complements the decoding of polar codes.

Historical & philosophical context Master

The story of capacity-achieving codes is one of the great sagas of engineering. Shannon proved in 1948 that codes exist achieving the channel capacity (via random coding), but finding explicit constructions took over sixty years.

Robert Gallager's 1962 PhD thesis at MIT introduced LDPC codes with sparse parity-check matrices and iterative decoding. The thesis was ahead of its time: the decoding algorithm required computational resources unavailable in the 1960s, and the work was largely forgotten for three decades. Gallager himself moved on to other topics.

The field was revolutionised in 1993 when Claude Berrou, Alain Glavieux, and Punya Thitimajshima presented turbo codes at the IEEE International Conference on Communications in Geneva. Their paper "Near Shannon Limit Error-Correcting Coding and Decoding: Turbo-Codes" reported performance within 0.5 dB of the Shannon limit — a result many in the audience initially doubted. The key innovation was the iterative exchange of "extrinsic information" between two soft-output decoders.

David MacKay's 1999 paper "Good Error-Correcting Codes Based on Very Sparse Matrices" (IEEE Trans. IT 45(2):399-431) revived LDPC codes by showing that irregular degree distributions could push LDPC performance even closer to capacity than turbo codes. MacKay also made the connection to statistical physics (belief propagation as a message-passing algorithm on graphical models).

The capacity-achieving crown was claimed by Erdal Arikan in 2009 with polar codes ("Channel Polarization: A Method for Constructing Capacity-Achieving Codes for Symmetric Binary-Input Memoryless Channels," IEEE Trans. IT 55(7):3051-3073). Arikan's insight was that a simple recursive transform (the Kronecker power of the matrix ) polarises channels into perfect and useless ones. The construction is explicit, the encoding is , and the decoding (successive cancellation) is .

In 2016, 3GPP selected polar codes for the control channel of 5G New Radio, replacing turbo codes. LDPC codes were selected for the data channel. This choice reflects the trade-off: polar codes have better short-block performance with CRC-aided list decoding (useful for control information), while LDPC codes have better long-block throughput (useful for data).

Bibliography Master

@article{arikan2009,
  author  = {Ar{\i}kan, E.},
  title   = {Channel Polarization: A Method for Constructing Capacity-Achieving Codes for Symmetric Binary-Input Memoryless Channels},
  journal = {IEEE Transactions on Information Theory},
  volume  = {55},
  number  = {7},
  pages   = {3051--3073},
  year    = {2009},
}
@article{richardson-shokrollahi-urbanke2001,
  author  = {Richardson, T. and Shokrollahi, M. A. and Urbanke, R.},
  title   = {Design of Capacity-Approaching Irregular Low-Density Parity-Check Codes},
  journal = {IEEE Transactions on Information Theory},
  volume  = {47},
  number  = {2},
  pages   = {619--637},
  year    = {2001},
}
@inproceedings{berrou-glavieux-thitimajshima1993,
  author    = {Berrou, C. and Glavieux, A. and Thitimajshima, P.},
  title     = {Near {Shannon} Limit Error-Correcting Coding and Decoding: Turbo-Codes},
  booktitle = {Proceedings of the IEEE International Conference on Communications (ICC)},
  pages     = {1064--1070},
  year      = {1993},
}
@article{mackay1999,
  author  = {MacKay, D. J. C.},
  title   = {Good Error-Correcting Codes Based on Very Sparse Matrices},
  journal = {IEEE Transactions on Information Theory},
  volume  = {45},
  number  = {2},
  pages   = {399--431},
  year    = {1999},
}
@article{korada-sason2010,
  author  = {Korada, S. B. and Sason, I.},
  title   = {On the Capacity-Achieving Property of Various Coding Schemes},
  journal = {Foundations and Trends in Communications and Information Theory},
  volume  = {7},
  number  = {1},
  pages   = {1--126},
  year    = {2010},
}
@book{richardson-urbanke2008,
  author    = {Richardson, T. and Urbanke, R.},
  title     = {Modern Coding Theory},
  publisher = {Cambridge University Press},
  year      = {2008},
}
@article{kudekar-richardson-urbanke2013,
  author  = {Kudekar, S. and Richardson, T. and Urbanke, R.},
  title   = {Threshold Saturation via Spatial Coupling: Why Convolutional {LDPC} Ensembles Perform so Well over the {BEC}},
  journal = {IEEE Transactions on Information Theory},
  volume  = {59},
  number  = {12},
  pages   = {7761--7813},
  year    = {2013},
}