Turbo Codes

What Are Turbo Codes?

Turbo codes are a class of high-performance forward error-correcting codes based on the parallel concatenation of two or more recursive systematic convolutional encoders, combined with an iterative probabilistic decoding algorithm. They were introduced by Claude Berrou, Alain Glavieux, and Punya Thitimajshima in their landmark 1993 paper presented at the IEEE International Communications Conference, published in IEEE Xplore as "Near Shannon Limit Error-Correcting Coding and Decoding: Turbo-Codes". In that paper, the authors demonstrated error-correction performance within 0.5 decibels of the Shannon capacity limit for a bit-error rate of one in 100,000, a result so far beyond what the coding community had thought achievable that many experts initially doubted it.

Turbo codes draw on convolutional coding theory, information theory, and Bayesian probability estimation. Their practical significance lies in approaching the theoretical maximum channel efficiency with manageable decoder complexity, enabling reliable communication at signal levels previously impractical for operational systems.

Parallel Concatenated Convolutional Encoding

A turbo encoder connects two recursive systematic convolutional (RSC) encoders in parallel. The information bits enter the first RSC encoder directly, and the same bits pass through a pseudo-random interleaver before entering the second RSC encoder. The interleaver permutes the input sequence so that burst errors that confuse one encoder are spread into isolated, easily corrected errors for the other. The encoded output consists of the original systematic bits along with the parity streams from each component encoder, punctured to achieve the desired code rate. Common code rates are 1/2 and 1/3. The recursive feedback structure in each RSC encoder is essential: it creates long-range dependencies in the code that give the iterative decoder something to resolve over successive passes. As described in IEEE Spectrum's account of the discovery of turbo codes, this parallel structure was itself a departure from the concatenated serial codes that dominated the field at the time.

Iterative Decoding

The turbo decoder operates by passing soft information, expressed as log-likelihood ratios, between two component decoders, one for each RSC code. Each component decoder is a soft-input, soft-output algorithm, typically the BCJR algorithm (named for Bahl, Cocke, Jelinek, and Raviv), which computes the probability that each received bit is a zero or a one given the entire received sequence and the current estimates from the other decoder. The output of the first decoder, after de-interleaving, becomes the a-priori information for the second decoder. The second decoder's output, after interleaving, feeds back to the first. After four to ten such iterations, the two decoders converge to a consistent estimate of the transmitted sequence. This feedback process, which inspired the word "turbo" as an analogy to a turbocharger recycling exhaust energy, is what allows performance close to the Shannon limit to emerge from moderate-complexity component codes.

Performance and Standardization

Turbo codes were adopted in a wide range of wireless communication standards following the 1993 publication. The third-generation (3G) mobile standard UMTS (WCDMA) uses a rate-1/3 turbo code for data channels, and CDMA2000 also standardized turbo coding. NASA adopted turbo codes for deep-space telemetry, replacing the previous Viterbi-decoded convolutional codes and recovering several decibels of link margin. The codes face diminishing decoder-iteration returns and error floors at very low bit-error rates, limitations that led to the parallel development of low-density parity-check (LDPC) codes; the two families now coexist in the 4G LTE (turbo codes for data) and 5G NR (LDPC for data, polar codes for control) standard suites. The Semantic Scholar preprint of the original Berrou 1993 paper remains one of the most cited papers in communications engineering.

Applications

Turbo codes have applications across a wide range of communications and data systems, including:

  • Third-generation (3G) cellular networks in UMTS and CDMA2000
  • Fourth-generation (4G) LTE data channels
  • Deep-space telemetry links in NASA missions
  • Satellite broadband communications
  • Digital subscriber line (DSL) variants using turbo-coded modulation
  • Storage systems requiring reliable error correction at high data densities

Related Topics

Loading…