Concatenated codes
What Are Concatenated Codes?
Concatenated codes are a class of error-correcting codes formed by combining two or more simpler component codes in sequence, so that the output of one encoder serves as the input to the next. The concept was introduced by G. David Forney Jr. in his 1966 doctoral dissertation as a solution to a fundamental challenge in coding theory: how to construct a code that achieves exponentially decreasing error probability with increasing block length while keeping the decoding complexity manageable. By nesting a powerful outer code around a shorter, efficiently decodable inner code, the concatenated architecture achieves performance levels that neither component could reach individually. The IEEE Transactions on Information Theory has published the foundational literature on both the theoretical bounds and practical implementations of concatenated coding.
Concatenated codes draw from the mathematical framework of abstract algebra and information theory. Their development in the 1960s and 1970s responded to the practical demands of deep-space communication, where the distance between transmitter and receiver imposes severe signal-to-noise constraints that single-stage codes could not adequately address.
Serial Concatenation
In the classical serial, or Forney, concatenated architecture, an outer block code operates over a large alphabet, typically a Reed-Solomon code, while an inner code operates over a binary or small alphabet and handles the channel directly. The inner decoder first processes the received sequence and passes soft or hard decisions to the outer decoder, which corrects any residual errors the inner stage could not resolve. Reed-Solomon plus convolutional codes became the standard concatenation used by NASA missions from the 1970s onward, including Voyager, because this combination achieved coding gains within a few decibels of the theoretical channel capacity limit using hardware available at the time.
The Reed-Solomon outer code is particularly well suited to this role because it corrects burst errors, including entire inner-code block failures, whereas the convolutional inner code handles random bit errors efficiently. Interleaving, the permutation of symbols between the two stages, breaks up burst error patterns and allows the outer decoder to treat residual errors as statistically independent.
Parallel Concatenation and Turbo Codes
In 1993, Claude Berrou, Alain Glavieux, and Punya Thitimajshima introduced turbo codes, a parallel concatenated scheme in which two recursive systematic convolutional encoders process the same information sequence, the second encoder operating on an interleaved version. Their paper demonstrated that iterative decoding of the two component codes could approach the Shannon capacity limit to within a fraction of a decibel, a result that surprised the coding community and triggered a decade of intensive research. Turbo codes are used in 3G and 4G mobile communications, including UMTS and LTE standards, and in satellite telemetry links.
The interleaver between the two encoders is critical to performance: it diversifies the error patterns seen by each component decoder, which prevents the iterative algorithm from converging to incorrect codewords.
Iterative Decoding Algorithms
The key to turbo codes is the soft-input soft-output MAP (maximum a posteriori) decoder, which computes not just a hard bit decision but a reliability estimate for each decoded bit. Two such decoders, one for each component code, exchange reliability information in alternating iterations. Each decoder refines its estimates using the output of the other, and after typically 8 to 18 iterations the decisions converge. The BCJR algorithm, developed by Bahl, Cocke, Jelinek, and Raviv in 1974, provides the mathematical basis for this exchange. NIST and standards organizations reference iterative decoding in the context of forward error correction specifications for communications and storage systems.
Applications
Concatenated codes have applications across many high-reliability communication and storage domains, including:
- Deep-space telemetry and NASA planetary mission data links
- Third-generation and fourth-generation mobile communications (UMTS, LTE)
- Digital video broadcasting via satellite and terrestrial links
- Magnetic and optical data storage error correction
- Undersea fiber-optic cable transmission systems