Turbo Codes and Iterative Decoding
The Turbo Principle
In 1993, Berrou, Glavieux, and Thitimajshima demonstrated a coding scheme that operated within dB of the Shannon limit at a bit-error rate of — a gap roughly three decibels better than the best practical codes known at the time. The construction is deceptively simple: two convolutional encoders separated by a pseudo-random interleaver. The decoder is similarly simple: two maximum-a-posteriori (MAP) decoders that exchange soft extrinsic information iteratively.
The principle behind this success transcends turbo codes and defines an entire class of receivers. Whenever a system can be decomposed into subsystems coupled through interleaving or permutation, one can often derive efficient SISO (soft-input soft-output) decoders for each subsystem and let them exchange extrinsic information iteratively. This is the turbo principle, and it subsumes turbo decoding, turbo equalization, iterative MIMO detection, iterative demapping, and joint source-channel decoding.
Historical Note: Berrou's Pragmatic Leap
1993–1998Claude Berrou, an engineer at ENST Bretagne, developed turbo codes while searching for practical decoders near capacity. The 1993 ICC paper "Near Shannon limit error-correcting coding and decoding: Turbo-codes" reported simulation results so close to the Shannon bound that most information theorists initially refused to believe them. Robert McEliece later described the community's reaction as disbelief giving way to astonishment. The iterative decoder was not derived from first principles but was discovered experimentally; its rigorous interpretation as the sum-product algorithm on a loopy factor graph was given by McEliece, MacKay, and Cheng in 1998. This was the event that rekindled interest in Gallager's 1962 LDPC codes, launched iterative receiver design as a discipline, and ultimately placed message passing at the centre of modern physical-layer design.
Definition: Parallel Concatenated Convolutional Code (PCCC)
Parallel Concatenated Convolutional Code (PCCC)
A parallel concatenated convolutional code with interleaver of length encodes an information sequence as follows. Let and denote two recursive systematic convolutional (RSC) component encoders.
- Pass through to obtain parity sequence .
- Pass through to obtain parity sequence .
The codeword is , giving a rate- code. Higher rates are obtained by puncturing parity bits. The encoder is systematic because the information sequence appears verbatim in the codeword.
The RSC structure is essential: it ensures that isolated weight-one input patterns generate infinite-weight parity sequences, which is what couples the two encoders through the interleaver and gives turbo codes their excellent distance spectrum.
Turbo Encoder and Iterative Decoder
Definition: A-priori, A-posteriori, and Extrinsic LLRs
A-priori, A-posteriori, and Extrinsic LLRs
Fix a binary random variable representing a coded bit. A SISO decoder receives channel observations and a-priori beliefs about supplied by another decoder. Define the three LLRs:
The extrinsic LLR is what the decoder learned beyond the channel observation of itself and beyond the a-priori input:
Only may be passed as a-priori input to a peer decoder; reusing would double-count information and destroy the iterative dynamics.
This separation is the algebraic heart of the turbo principle. When two decoders share extrinsic information through an interleaver, the interleaver decorrelates the messages so that each decoder receives information it could not have computed from its own observations.
Iterative Turbo Decoder
Complexity: where is the trellis state countEach BCJR call is a two-sweep forward-backward recursion on the component trellis. The extrinsic extraction in steps 4 and 7 subtracts the inputs that came from outside (a-priori plus channel LLR on the information bit) from the a-posteriori LLR.
Theorem: Turbo Decoding as Loopy Belief Propagation
The iterative turbo decoder of Algorithm AIterative Turbo Decoder is exactly the sum-product (belief propagation) algorithm applied to the factor graph of the PCCC, with flooding schedule and messages represented as log-likelihood ratios. The factor graph has cycles of length at least equal to the interleaver girth; turbo decoding is therefore an instance of loopy belief propagation.
Each BCJR call computes exact bitwise marginals on a tree (the trellis of one component code). The interleaver couples the trees into a single loopy graph. Passing extrinsic LLRs is precisely passing the messages that sum-product would pass between the two trees along the edges they share.
Factor graph of the PCCC
The joint posterior factors as , where is the indicator of the -th trellis constraint weighted by channel likelihoods. Drawing this gives a factor graph with two trellis sub-graphs joined at the information bits through the interleaver.
Messages along the coupling edges
In sum-product, each information-bit variable node sends to factor the product of incoming messages from every other neighbour — in this case, the channel factor and factor . On a tree, the message from to variable is exactly the extrinsic LLR output by BCJR (the sum-product algorithm on the trellis).
LLR representation and flooding schedule
Expressing messages as LLRs converts the product of messages into a sum. The flooding schedule corresponds to alternately running BCJR on and : all edges are updated in parallel, then all edges. This recovers Algorithm AIterative Turbo Decoder line-for-line.
Key Takeaway
Turbo decoding is loopy belief propagation on the PCCC factor graph with messages expressed as LLRs and updated by BCJR within each component trellis. The only information the component decoders exchange is extrinsic, so the interleaver can decorrelate successive iterations and the decoder behaves as if the graph were locally a tree.
Why EXIT Charts?
Loopy BP is not guaranteed to converge to the true posterior, and even when it does the rate of convergence can be hard to predict. Ten Brink (2001) observed that for long interleavers the distribution of extrinsic LLRs at each iteration is, to a good approximation, symmetric Gaussian. Under this assumption each SISO block is characterized by a one-dimensional transfer function mapping input mutual information to output mutual information. Composing the transfer functions of the two decoders produces the extrinsic information transfer (EXIT) chart, a graphical tool that predicts convergence thresholds within fractions of a dB.
Definition: The -Function
The -Function
Let be a real-valued LLR with distribution consistent with the symmetric Gaussian model: conditional on , , and conditional on , , with equiprobable. Define
The function is continuous, strictly increasing from to , and hence invertible. It translates a Gaussian LLR variance into the mutual information carried by the LLR.
A widely used numerical approximation of and its inverse was given by ten Brink and Ashikhmin–Kramer–ten Brink; the Hamming-distance symmetry of coded binary channels makes the consistency condition natural.
Definition: EXIT Function of a SISO Block
EXIT Function of a SISO Block
Consider a SISO block (a decoder or equalizer) that receives a-priori LLRs modelled as symmetric Gaussian with input mutual information , and observations from a channel parameterized by SNR . The EXIT transfer function is
where is the extrinsic LLR produced by the block and the mutual information is computed assuming follows the symmetric Gaussian model with standard deviation. For a convolutional decoder is typically estimated by Monte Carlo using a long random codeword.
The symmetric-Gaussian assumption on is a consistency condition that is preserved under interleaving and BCJR for long blocks. It is not exact — it is an idealization whose accuracy improves with interleaver length.
Theorem: EXIT Chart Prediction of Decoding Threshold
Let and be the EXIT transfer functions of the two component decoders at channel SNR . Under the symmetric-Gaussian message assumption, the trajectory of the turbo decoder starting from is The decoder converges to (zero BER) if and only if for all , i.e., the curve lies strictly above the mirrored curve on the EXIT diagram. The turbo cliff (waterfall SNR) is the smallest at which the two curves just separate.
The staircase trajectory visualizes the composition iterated from zero. If the EXIT curves cross (intersect) the trajectory gets stuck at the intersection — this is the pinch point that determines the threshold.
Information at iteration $t$
Define as the mutual information of the a-priori LLR input to decoder 1 at iteration . By definition of the EXIT function, after processing, decoder 1 outputs extrinsic information . This becomes the a-priori input to decoder 2 through the interleaver, which preserves mutual information.
Interleaver preserves $I$
A permutation does not alter per-bit mutual information because mutual information is symmetric in the coordinates and the symmetric-Gaussian model is i.i.d. across bits. Hence the a-priori information fed to decoder 2 equals from decoder 1.
Composition and convergence
Decoder 2 then produces , yielding . The iteration converges to iff the only fixed point of the composition in is . Equivalently, for all . At the turbo cliff the two curves touch tangentially; below it they intersect and the decoder stalls.
EXIT Chart for Rate- Turbo Code
Explore how the EXIT curves of the two RSC component decoders depend on the channel SNR. The "tunnel" between the curves determines whether the iterative decoder can reach . When the tunnel closes, the decoder stalls (this is the turbo cliff).
Parameters
Channel SNR
Component code constraint length $K = m+1$
Example: Reading the Threshold from an EXIT Chart
A turbo code uses two identical RSC encoders (memory ) at rate after puncturing. The EXIT functions at channel are denoted . At dB the curves and cross at ; at dB they just touch at ; at dB there is an open tunnel. Estimate the decoding threshold and predict the qualitative BER behaviour at these three SNRs.
Locate the threshold
The threshold is the smallest for which the EXIT tunnel is open. Because the curves just touch at dB, this is the turbo cliff: dB.
BER below the threshold
At dB the trajectory stalls at the crossing , so the extrinsic mutual information saturates well below . The residual error probability is bounded away from zero; adding more iterations does not help. BER is in the range — this is the waterfall region.
BER at the threshold
At dB the trajectory barely squeezes through the pinch point. Convergence is extremely slow: hundreds of iterations may be needed. BER transitions rapidly with SNR — a fraction-of-a-dB improvement shifts the BER by orders of magnitude.
BER above the threshold
At dB the tunnel is wide; the trajectory reaches within about iterations and BER falls to the error floor determined by the code's minimum distance (typically or lower for long interleavers).
Turbo Decoder BER vs Iteration Count
Simulated BER of a rate- turbo code versus the number of decoding iterations, at several values. Above the turbo cliff BER drops by several decades; below it BER stalls.
Parameters
EXIT Chart Staircase Trajectory
Common Mistake: Do Not Feed Back the A-Posteriori LLR
Mistake:
A common implementation bug is to feed the a-posteriori LLR back to the peer decoder instead of the extrinsic LLR .
Correction:
The peer decoder already has for the systematic bits and supplied itself in the previous iteration. Re-including these causes positive feedback that drives LLRs to unbounded magnitudes, produces overconfident wrong decisions, and breaks the EXIT analysis. Always subtract the inputs before passing to the peer: .
Common Mistake: Gaussian LLR Assumption Fails for Short Blocks
Mistake:
EXIT charts can mislead when the interleaver is short: the symmetric-Gaussian model for is violated and the predicted threshold may be 1 dB or more optimistic.
Correction:
For interleavers below roughly , validate threshold predictions with Monte Carlo simulation. For very short blocks (e.g., in 5G control channels) use the actual LLR histograms, PEXIT charts for punctured codes, or direct finite-length simulation.
Turbo Codes in LTE and the Transition to LDPC/Polar in 5G
LTE (3GPP Release 8, 2008) adopted rate- parallel turbo codes with memory- RSC components and a quadratic-polynomial-permutation (QPP) interleaver. Block lengths range from to bits. Standard decoders use max-log-MAP with scaling factor to approximate MAP while keeping hardware simple; typically – iterations.
5G NR (Release 15, 2018) replaced turbo codes with LDPC for the data channel (PDSCH/PUSCH) and polar codes for control. The reasons were primarily practical: LDPC decoders parallelize better for multi-Gbps throughput, have lower error floors at high rates, and support flexible rate-matching via HARQ. Turbo codes retain a role in earlier 3GPP releases, DVB-RCS2, and space communications (CCSDS 131.0-B).
- •
LTE turbo: , 188 distinct block sizes with QPP interleavers
- •
Max-log-MAP with scaling factor loses dB vs true MAP
- •
Typical LTE decoders: 6–8 iterations, early stopping via CRC
EXIT-Chart Design of Multi-Edge-Type Concatenated Schemes
The bit-interleaved coded modulation (BICM) analysis by Caire, Taricco and Biglieri was a forerunner of EXIT-based iterative receiver design. It demonstrated that treating the demapper and decoder as two SISO blocks separated by a bit interleaver yields a parallel-channel model whose capacity can be approached by iterative BICM-ID. The mutual-information decomposition exploited there — channel MI split into a SISO transfer function on each edge — is exactly the tool EXIT charts formalize. This work directly informs modern EXIT-chart design of concatenated codes with higher-order modulation.
Turbo Cliff
The steep drop in bit error rate that occurs near a critical channel SNR when a turbo or iterative receiver transitions from stalled iterations to convergent ones. The threshold SNR is the one at which the EXIT tunnel first opens.
Related: EXIT Chart, Extrinsic LLR
EXIT Chart
A two-dimensional plot of the extrinsic mutual information output by a SISO block against its a-priori mutual information input. Composing the EXIT curves of two SISO blocks predicts the convergence of their iterative composition.
Related: Turbo Cliff
Extrinsic LLR
The log-likelihood ratio of a coded bit obtained by subtracting a-priori and direct channel contributions from the a-posteriori LLR. Passing only extrinsic information between SISO blocks prevents double-counting and is the algebraic basis of the turbo principle.
Related: Turbo Cliff
Why This Matters: Turbo Codes and Hybrid ARQ
The rate-compatible puncturing of turbo codes is ideally matched to incremental-redundancy HARQ: the transmitter sends a high-rate punctured codeword first, and on NACK appends additional parity bits. The receiver concatenates the soft channel LLRs from all transmissions and runs one turbo decoding. This is the basis of 3GPP HSPA and LTE HARQ-IR.
See full treatment in Chapter 22
Quick Check
Suppose two EXIT curves and cross at at a given SNR. What is the predicted outcome of iterative turbo decoding?
BER drops to near-zero within a few iterations.
The trajectory is trapped at ; BER stalls well above zero.
The decoder diverges: LLR magnitudes grow without bound.
Convergence depends on the interleaver but not on the SNR.
EXIT trajectories get stuck at curve intersections. This regime is below the turbo cliff.
Quick Check
Given channel LLR , a-priori LLR , and a-posteriori LLR for a systematic bit, what is the extrinsic LLR that should be passed to the peer decoder?
.
Quick Check
The rigorous interpretation of iterative turbo decoding as loopy belief propagation on the PCCC factor graph was given by:
Berrou, Glavieux, and Thitimajshima (1993)
Gallager (1962)
McEliece, MacKay, and Cheng (1998)
ten Brink (2001)
Their paper showed turbo decoding is sum-product on the PCCC factor graph with LLR messages.