Safekipedia
Capacity-approaching codesError detection and correctionFrench inventions

Turbo code

Adapted from Wikipedia · Adventurer experience

Turbo codes are a special kind of code used in information theory to make sure information gets through even when there is noise or interference. They were developed around 1990–91 and first shared with the world in 1993.

These powerful codes are used in many places where clear communication is important. You can find them in 3G and 4G mobile networks, like in UMTS and LTE, as well as in deep space satellite communications. They help make sure that data reaches its destination without errors.

Turbo codes work by using a method similar to how a car’s engine can be boosted with extra air, which is called turbocharging. These codes are often compared to another type of code called low-density parity-check (LDPC) codes.

History

The idea for turbo codes was shared in 1991 by Claude Berrou, who created them. His work led to important patents. The first paper about turbo codes was published in 1993.

Turbo codes were a surprise when they were introduced because they worked very well. After this, many new types of similar codes were made. These codes help make sure information travels safely, even when there is noise or interference.

An example encoder

Turbo codes can work in many ways, but this section explains a classic example. This encoder sends three parts of data: the original message, and two extra sets of bits made from the message using special math rules. These extra bits help make sure the data can still be understood even if some of it gets mixed up while traveling.

The encoder uses two identical parts called RSC coders, linked together in a special way. This setup helps organize the data bits so they are sent out in different orders, making it easier to fix mistakes when the data arrives.

The decoder

The decoder for turbo codes is made like the encoder. It has two parts called DEC₁ and DEC₂. They work together to fix mistakes in the data.

DEC₁ works slowly and looks at one part of the data. DEC₂ looks at the other part. Between them, something called an interleaver helps spread out mistakes.

The decoder uses special steps to guess the original data, even if some information got mixed up when it was sent. One step in DEC₁ cannot use all the information, so another step helps make the results better.

Soft decision approach

The decoder front-end gives a number for each bit in the data stream. This number shows how likely it is that the bit is a 0 or a 1. It is called a soft bit. The number can be between -127 and 127. For example, -127 means “certainly 0”, -100 means “very likely 0”, 0 means “it could be either 0 or 1”, 100 means “very likely 1”, and 127 means “certainly 1”. This way, more information about each bit is shared than just saying it is a 0 or a 1.

For each bit, a regular wireless receiver decides if a voltage is above or below a certain level. But for a turbo code decoder, the front end gives a number showing how far the voltage is from that level. To decode the data, the decoder makes a list of these numbers for each bit. There are two decoders working together, each handling part of the data.

Solving hypotheses to find bits

Turbo codes solve a puzzle using two special tools called decoders. Each decoder guesses a set of bits. They share their guesses and how sure they are about each bit. By comparing and sharing, the decoders keep getting better until they both agree on the right answer.

This process is like solving a tricky puzzle, such as a crossword or sudoku. Imagine two friends solving different parts of the puzzle, sharing their ideas, and working together until they finish.

Performance

Turbo codes work well because they look random on the communication channel. This helps them fix mistakes in messages. But they can have a problem called an error floor. At very low mistake rates, fixing errors becomes harder.

Practical applications using turbo codes

Turbo codes are used in many types of wireless communication. They help make sure information gets through even when there is noise or interference. For example, they are used in 3G and 4G mobile phone networks like HSPA, EV-DO, and LTE. They are also used in systems like MediaFLO for mobile TV and in satellite communications such as DVB-RCS and DVB-RCS2. Space missions, including recent ones by NASA like the Mars Reconnaissance Orbiter, use turbo codes to protect data. Even wireless networks like IEEE 802.16 (WiMAX) use turbo codes to keep information safe during transmission.

Bayesian formulation

From an artificial intelligence viewpoint, turbo codes work like a special kind of message-passing process in Bayesian networks. This connects them to a method called loopy belief propagation, which helps explain how these codes fix errors when data is sent.

This article is a child-friendly adaptation of the Wikipedia article on Turbo code, available under CC BY-SA 4.0.

Turbo code — Safekipedia Adventurer