Library
Back to reading

What Are Turbo Codes?

How Do Turbo Codes Correct Transmission Errors?

Preview: Learn more about Turbo Codes and how iterative decoding enables reliable communication close to Shannon's theoretical limit.

Turbo Codes are a family of powerful forward error correction (FEC) codes that provide exceptionally reliable communication by combining two or more simple error-correcting codes with an interleaver and an iterative decoding process. Introduced in 1993 by the French researchers Claude Berrou, Alain Glavieux, and Punya Thitimajshima, Turbo Codes were the first practical coding technique to operate remarkably close to the theoretical limits predicted by Claude Shannon's Channel Coding Theorem.

The basic principle is straightforward. Instead of relying on a single encoder, Turbo Codes employ two (or sometimes more) convolutional encoders connected in parallel. One encoder processes the original data directly, while the other processes an interleaved version of the same data. The resulting parity information from both encoders is transmitted together with the original information bits.

A useful analogy is asking two proofreaders to examine the same document, with one reading the pages in their original order and the other reading them in a rearranged order. Each proofreader detects different mistakes, and by combining their observations a much more accurate result is obtained. Turbo decoding works in a similar way, with two decoders repeatedly exchanging information until they converge on the most likely transmitted message.

The decoder is the defining feature of Turbo Codes. Rather than making a single decoding decision, the two constituent decoders exchange soft-decision reliability information through an iterative process. Each decoder refines its estimate using the information provided by the other, progressively improving the probability of recovering the correct data. After several iterations, the decoder usually converges on the correct codeword, even when the received signal is heavily corrupted by noise.

One of the principal advantages of Turbo Codes is their outstanding coding gain. They can achieve very low bit error rates (BERs) while operating only a fraction of a decibel above the theoretical Shannon limit. This allows communication systems to achieve greater range, lower transmitter power, or higher data throughput than was previously possible.

Turbo Codes have been widely used in 3G and 4G cellular systems, satellite communications, deep-space missions, and digital broadcasting. For many years they represented the state of the art in practical error correction and significantly improved the performance of wireless and satellite communication systems.

It is important to distinguish Turbo Codes from Low-Density Parity-Check (LDPC) Codes. Both employ iterative soft-decision decoding and operate close to the Shannon limit. However, Turbo Codes are based on parallel concatenated convolutional codes, whereas LDPC Codes employ sparse parity-check matrices. Today, LDPC Codes are generally preferred for very high-speed applications because they are more easily implemented using highly parallel hardware architectures, while Turbo Codes remain important in many existing communication standards.

Today, Turbo Codes are regarded as one of the greatest breakthroughs in the history of error-control coding. Their introduction transformed digital communications by demonstrating that practical coding systems could operate extremely close to Shannon's theoretical capacity limit. Although newer coding techniques such as LDPC and Polar Codes now dominate many applications, Turbo Codes remain a milestone in communications engineering and continue to be used in numerous wireless, satellite, and space communication systems.

Back to reading