Turbo Codes
Definition: Turbo Code (Parallel Concatenated Convolutional Code)
Turbo Code (Parallel Concatenated Convolutional Code)
A turbo code consists of two (or more) constituent convolutional encoders operating in parallel on the same information sequence, but with different interleaved versions of the input:
- Encoder 1 encodes the original information bits .
- Encoder 2 encodes an interleaved version .
The transmitted codeword consists of the systematic bits plus the parity bits from both encoders:
For rate-1/2 constituent codes, the overall rate is before puncturing. Puncturing (deleting selected parity bits) raises the rate to or higher.
The key innovation is not the constituent codes (which are simple) but the iterative decoding that exchanges soft information between the two decoders.
Iterative Turbo Decoding
Definition: EXIT Chart
EXIT Chart
An extrinsic information transfer (EXIT) chart is a tool for analysing the convergence of iterative decoding. For each constituent decoder, it plots the output extrinsic mutual information as a function of the input a priori mutual information :
The EXIT chart for the turbo decoder overlays the transfer functions of both decoders (with axes swapped for decoder 2). Convergence requires an open tunnel between the two curves. As increases, the tunnel widens. The threshold is the minimum SNR at which the tunnel just opens, allowing convergence to the point.
EXIT charts provide a semi-analytical tool to predict the convergence threshold without running Monte Carlo simulations.
EXIT Chart for Turbo Decoding
Visualise the EXIT chart for a turbo code. Observe how the tunnel between the two decoder transfer curves opens as SNR increases. The decoding trajectory shows the iterative exchange of mutual information.
Parameters
Example: Turbo Decoder Convergence
A rate-1/3 turbo code uses two identical rate-1/2 recursive systematic convolutional (RSC) codes with generators (constraint length ) and a random interleaver of length .
At dB, trace the iterative decoding convergence and estimate the number of iterations needed to achieve .
Iteration-by-iteration BER
Typical behaviour for this code at dB:
| Iteration | BER |
|---|---|
| 1 | |
| 2 | |
| 4 | |
| 6 | |
| 8 |
After about 8 iterations, the BER falls below .
EXIT chart interpretation
At 1.0 dB, the EXIT chart shows a narrow but open tunnel. The decoding trajectory snakes through this tunnel, with each iteration corresponding to one "bounce" between the two decoder curves. The narrow tunnel means slow convergence (many iterations needed).
Distance to capacity
The AWGN capacity at rate 1/3 requires dB. This turbo code operates within about 0.8 dB of the Shannon limit β a remarkable achievement.
BER Curves: Comparing Channel Codes
Compare BER performance of different channel coding schemes on the AWGN channel. Toggle individual codes on/off and change the code rate to see how each family performs relative to the uncoded baseline and the Shannon limit.
Parameters
Common Mistake: Error Floor in Turbo Codes
Mistake:
Assuming that turbo codes maintain their steep waterfall BER improvement at all error rates.
Correction:
Turbo codes exhibit an error floor at BER around to , where the BER curve flattens and decreases much more slowly. This is caused by low-weight codewords in the code's distance spectrum. The error floor depends on the interleaver design and code structure.
For applications requiring very low BER (e.g., for storage), LDPC codes with carefully optimised degree distributions or polar codes with CRC-aided list decoding are preferred.
Historical Note: The Turbo Code Revolution (1993)
1993Claude Berrou, Alain Glavieux, and Punya Thitimajshima presented turbo codes at the 1993 IEEE International Conference on Communications in Geneva. Their results β BER of at dB with a rate-1/2 code (only 0.7 dB from the Shannon limit) β were initially met with disbelief. The paper sparked an intense research effort that transformed coding theory, revived interest in LDPC codes, and ultimately led to the adoption of turbo codes in 3G (UMTS/WCDMA) and 4G (LTE) standards.
Why This Matters: Turbo Codes in 3G and 4G
Turbo codes are used in the following cellular standards:
-
3G (UMTS/WCDMA): Rate-1/3 turbo code with constituent generators , constraint length , and QPP (quadratic permutation polynomial) interleaver.
-
4G (LTE): The same turbo code structure with interleaver lengths up to 6144 bits, supporting data rates up to hundreds of Mbps.
In 5G NR, turbo codes were replaced by LDPC codes for data channels and polar codes for control channels, reflecting the superior performance and parallelisability of these newer codes at the block lengths and throughputs required by 5G.
Connection to Information-Theoretic Coding Theorems
The near-capacity performance of turbo and LDPC codes can be understood through Shannon's channel coding theorem (covered in depth in the ITA book, Chapters 5-7). The coding theorem guarantees the existence of capacity-achieving codes but uses a random coding argument that is not constructive. Turbo codes (1993) and re-discovered LDPC codes (1996) provided the first practical codes approaching this theoretical limit, while polar codes (2009) gave the first provably capacity-achieving construction with explicit, polynomial-complexity encoding and decoding. The CC (Channel Coding) book covers these constructions in full mathematical detail.
Turbo Code
A parallel concatenation of two or more convolutional codes separated by an interleaver, decoded iteratively by exchanging extrinsic soft information between constituent decoders.
Related: Iterative Decoding, Interleaver, BCJR/MAP Decoding for Soft Outputs
EXIT Chart
Extrinsic information transfer chart: a graphical tool that plots the input-output mutual information relationship of constituent decoders in an iterative system, used to predict convergence thresholds.
Related: Turbo Code (Parallel Concatenated Convolutional Code), Iterative Decoding, Mutual Information
Iterative Decoding
A decoding strategy where two or more component decoders exchange soft (probabilistic) information in multiple rounds, progressively refining their estimates. Used in turbo codes, LDPC codes, and BICM-ID systems.
Related: Turbo Code (Parallel Concatenated Convolutional Code), Low-Density Parity-Check (LDPC) Code, Belief Propagation (Message Passing) Decoding