In coding theory, concatenated codes form a class of error-correcting codes which are derived by combining an inner code and an outer code.
Description
Let C be a code with length N, size K and minimum distance D over an alphabet A with k symbols. Let I be another code with length n, size k and minimum distance d over an alphabet B.
The inner code I takes one of k possible inputs, encodes onto an n-tuple from B, transmits, and decodes into one of k possible outputs. We regard this as a channel which can transmit one symbol from the alphabet A, also of size k. We use this channel N times to transmit each of the N symbols in a codeword of C. The concatenation of C (as outer code) with I as (inner code) is thus a code of length Nn over the alphabet B.
In a generalisation, there are N possible inner codes Ii and the i-th symbol in a codeword of C is transmitted across the inner channel using the i-th inner code. The Justesen codes are examples of generalised concatenated codes, where the outer codes is a Reed-Solomon code.
Applications
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[citation needed]. In typical telecommunications systems before these data intensive missions—only one hard error correction layer was used.
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 codes, 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.
References
- F.J. MacWilliams (1977). The Theory of Error-Correcting Codes. North-Holland. pp. 307–316. ISBN 0-444-85193-3.
{{cite book}}
: Unknown parameter|coauthors=
ignored (|author=
suggested) (help)
External links
- Dave Forney (ed.). "Concatenated codes". Scholarpedia.