Concatenated error correction code: Difference between revisions

Content deleted Content added
explain *why* concatenated codes
major rework of Applications section
Line 11:
 
==Applications==
Concatenated codes were first implemented for [[deep space]] communication in the [[Voyager program]], which launched their first probe in 1977.<ref name="deep-space-codes">K. Andrews et al., ''The Development of Turbo and LDPC Codes for Deep-Space Applications'', Proceedings of the IEEE, Vol. 95, No. 11, Nov. 2007.</ref> Since then, concatenated codes became the workhorse for efficient error correction coding, and stayed so at least until the invention of [[turbo codes]] and [[LDPC codes]].
 
Typically, the inner code is not a block code but a soft-decision [[convolutional code|convolutional]] [[Viterbi decoder|Viterbi-decoded]] code with a short constraint length. For the outer code, a hard-decision block code, most frequently [[Reed Solomon]] with 8-bit symbols, is selected. The larger symbol size makes the outer code more robust to [[error burst|burst error]]s that may occur due to channel impairments, and because erroneous output of the convolutional code itself is bursty. Additionally, an [[interleaving]] layer may be used that spreads burst errors across a wider range.
The [[Compact Disc]] and [[Voyager Program]] spacecraft use concatenated error correction technologies. Concatenated error codes may have been introduced with spacecraft missions that were involved with mapping the Moon and Mars{{Fact|date=July 2008}}. In typical telecommunications systems before these data intensive missions—only one hard error correction layer was used.
 
The combination of an inner Viterbi convolutional code with an outer Reed-Solomon code, known as an RSV code, became the most popular construction, and was already used on the Voyager probes. It is still in use today for deep-space and [[satellite communication]], notably the [[DVB-S]] [[digital television]] broadcast standard.
Concatenating [[error correction]] methods is useful in cases where the telecommunications link may be problematical. Typically a soft inner code (Viterbi) is used concatenated to a hard outer code (Reed-Solomon).
 
== How it works ==
Inner code vs outer code performance
* typically the inner code is a weaker (and simpler) error correction code
* the outer correction code may not be in the same family of codes as the inner codes—this is true for [[Voyager Program]] codes
 
== Turbo codes: A parallel concatenation approach ==
The description above is given for what is now called a serially concatenated code. [[Turbo code]]s, as described first in 1993, implemented a parallel concatenation of two convolutional codes, with an interleaver between the two codes and an iterative decoder that would pass information forth and back between the codes. This construction had much higher performance than all previously conveived concatenated codes. However, a key aspect of turbo codes is their iterated decoding approach. Iterated decoding is now also applied to serial concatenations in order to achieve higher coding gains.
 
== References ==
<references/>
* {{cite book | author=F.J. MacWilliams | authorlink=Jessie MacWilliams | coauthors=N.J.A. Sloane | title=The Theory of Error-Correcting Codes | publisher=North-Holland | date=1977 | isbn=0-444-85193-3 | pages=307-316 }}
 
Line 30 ⟶ 27:
 
* {{scholarpedia|title=Concatenated codes|urlname=Concatenated_codes|curator=[[Dave Forney]]}}
 
{{Error correction}}
 
{{DEFAULTSORT:Concatenated Error Correction Codes}}