Concatenated error correction codes
   HOME

TheInfoList



OR:

In
coding theory Coding theory is the study of the properties of codes and their respective fitness for specific applications. Codes are used for data compression, cryptography, error detection and correction, data transmission and data storage. Codes are studied ...
, concatenated codes form a class of
error-correcting code In computing, telecommunication, information theory, and coding theory, an error correction code, sometimes error correcting code, (ECC) is used for controlling errors in data over unreliable or noisy communication channels. The central idea i ...
s that are derived by combining an inner code and an outer code. They were conceived in 1966 by
Dave Forney George David Forney Jr. (born March 6, 1940) is an American electrical engineer who made contributions in telecommunication system theory, specifically in coding theory and information theory. Biography Forney received the B.S.E. degree in elect ...
as a solution to the problem of finding a code that has both exponentially decreasing error probability with increasing block length and
polynomial-time In computer science, the time complexity is the computational complexity that describes the amount of computer time it takes to run an algorithm. Time complexity is commonly estimated by counting the number of elementary operations performed by t ...
decoding
complexity Complexity characterises the behaviour of a system or model whose components interact in multiple ways and follow local rules, leading to nonlinearity, randomness, collective dynamics, hierarchy, and emergence. The term is generally used to ch ...
. Concatenated codes became widely used in space communications in the 1970s.


Background

The field of
channel coding In computing, telecommunication, information theory, and coding theory, an error correction code, sometimes error correcting code, (ECC) is used for controlling errors in data over unreliable or noisy communication channels. The central idea ...
is concerned with sending a stream of data at the highest possible rate over a given communications channel, and then decoding the original data reliably at the receiver, using encoding and decoding algorithms that are feasible to implement in a given technology. Shannon's channel coding theorem shows that over many common channels there exist channel coding schemes that are able to transmit data reliably at all rates R less than a certain threshold C, called the channel capacity of the given channel. In fact, the probability of decoding error can be made to decrease exponentially as the block length N of the coding scheme goes to infinity. However, the complexity of a naive optimum decoding scheme that simply computes the likelihood of every possible transmitted codeword increases exponentially with N, so such an optimum decoder rapidly becomes infeasible. In hi
doctoral thesis
Dave Forney George David Forney Jr. (born March 6, 1940) is an American electrical engineer who made contributions in telecommunication system theory, specifically in coding theory and information theory. Biography Forney received the B.S.E. degree in elect ...
showed that concatenated codes could be used to achieve exponentially decreasing error probabilities at all data rates less than capacity, with decoding complexity that increases only polynomially with the code block length.


Description

Let ''C''''in'' be a 'n'', ''k'', ''d''code, that is, a
block code In coding theory, block codes are a large and important family of error-correcting codes that encode data in blocks. There is a vast number of examples for block codes, many of which have a wide range of practical applications. The abstract defini ...
of length ''n'',
dimension In physics and mathematics, the dimension of a mathematical space (or object) is informally defined as the minimum number of coordinates needed to specify any point within it. Thus, a line has a dimension of one (1D) because only one coord ...
''k'', minimum
Hamming distance In information theory, the Hamming distance between two strings of equal length is the number of positions at which the corresponding symbols are different. In other words, it measures the minimum number of ''substitutions'' required to chan ...
''d'', and rate ''r'' = ''k''/''n'', over an alphabet ''A'': :C_: A^k \rightarrow A^n Let ''C''''out'' be a 'N'', ''K'', ''D''code over an alphabet ''B'' with , ''B'', = , ''A'', ''k'' symbols: :C_: B^K \rightarrow B^N The inner code ''C''''in'' takes one of , ''A'', ''k'' = , ''B'', possible inputs, encodes into an ''n''-tuple over ''A'', transmits, and decodes into one of , ''B'', possible outputs. We regard this as a (super) channel which can transmit one symbol from the alphabet ''B''. We use this channel ''N'' times to transmit each of the ''N'' symbols in a codeword of ''C''''out''. The ''concatenation'' of ''C''''out'' (as outer code) with ''C''''in'' (as inner code), denoted ''C''''out''∘''C''''in'', is thus a code of length ''Nn'' over the alphabet ''A'': :C_ \circ C_: A^ \rightarrow A^ It maps each input message ''m'' = (''m''1, ''m''2, ..., ''m''K) to a codeword (''C''''in''(''m'''1), ''C''''in''(''m'''2), ..., ''C''''in''(''m'''N)), where (''m'''1, ''m'''2, ..., ''m'''N) = ''C''''out''(''m''1, ''m''2, ..., ''m''K). The ''key insight'' in this approach is that if ''C''''in'' is decoded using a maximum-likelihood approach (thus showing an exponentially decreasing error probability with increasing length), and ''C''''out'' is a code with length ''N'' = 2''nr'' that can be decoded in polynomial time of ''N'', then the concatenated code can be decoded in polynomial time of its combined length ''n''2''nr'' = ''O''(''N''⋅log(''N'')) and shows an exponentially decreasing error probability, even if ''C''''in'' has exponential decoding complexity. This is discussed in more detail in section Decoding concatenated codes. In a generalization of above concatenation, there are ''N'' possible inner codes ''C''''in'',''i'' and the ''i''-th symbol in a codeword of ''C''''out'' is transmitted across the inner channel using the ''i''-th inner code. The
Justesen code In coding theory, Justesen codes form a class of error-correcting codes that have a constant rate, constant relative distance, and a constant alphabet size. Before the Justesen error correction code was discovered, no error correction code was kno ...
s are examples of generalized concatenated codes, where the outer code is a Reed–Solomon code.


Properties

1. The distance of the concatenated code ''C''''out''∘''C''''in'' is at least ''dD'', that is, it is a 'nN'', ''kK'', ''D'''code with ''D''' ≥ ''dD''. ''Proof:'' Consider two different messages ''m''1 ≠ ''m''2 ∈ ''B''''K''. Let Δ denote the distance between two codewords. Then :\Delta(C_(m^1), C_(m^2)) \ge D. Thus, there are at least ''D'' positions in which the sequence of ''N'' symbols of the codewords ''C''''out''(''m''1) and ''C''''out''(''m''2) differ. For these positions, denoted ''i'', we have :\Delta(C_(C_(m^1)_i), C_(C_(m^2)_i)) \ge d. Consequently, there are at least ''d''⋅''D'' positions in the sequence of ''n''⋅''N'' symbols taken from the alphabet ''A'' in which the two codewords differ, and hence :\Delta(C_(C_(m^1)), C_(C_(m^2))) \ge dD. 2. If ''C''''out'' and ''C''''in'' are linear block codes, then ''C''''out''∘''C''''in'' is also a linear block code. This property can be easily shown based on the idea of defining a
generator matrix In coding theory, a generator matrix is a matrix whose rows form a basis for a linear code. The codewords are all of the linear combinations of the rows of this matrix, that is, the linear code is the row space of its generator matrix. Terminolo ...
for the concatenated code in terms of the generator matrices of ''C''''out'' and ''C''''in''.


Decoding concatenated codes

A natural concept for a decoding algorithm for concatenated codes is to first decode the inner code and then the outer code. For the algorithm to be practical it must be
polynomial-time In computer science, the time complexity is the computational complexity that describes the amount of computer time it takes to run an algorithm. Time complexity is commonly estimated by counting the number of elementary operations performed by t ...
in the final block length. Consider that there is a polynomial-time unique decoding algorithm for the outer code. Now we have to find a polynomial-time decoding algorithm for the inner code. It is understood that polynomial running time here means that running time is polynomial in the final block length. The main idea is that if the inner block length is selected to be logarithmic in the size of the outer code then the decoding algorithm for the inner code may run in
exponential time In computer science, the time complexity is the computational complexity that describes the amount of computer time it takes to run an algorithm. Time complexity is commonly estimated by counting the number of elementary operations performed by t ...
of the inner block length, and we can thus use an exponential-time but optimal maximum likelihood decoder (MLD) for the inner code. In detail, let the input to the decoder be the vector ''y'' = (''y''1, ..., ''y''''N'') ∈ (''A''''n'')''N''. Then the decoding algorithm is a two-step process: # Use the MLD of the inner code ''C''in to reconstruct a set of inner code words ''y''' = (''y'''1, ..., ''y'''''N''), with ''y'''''i'' = MLD''C''in(''y''i), 1 ≤ ''i'' ≤ ''N''. # Run the unique decoding algorithm for ''C''out on ''y'''. Now, the time complexity of the first step is ''O''(''N''⋅exp(''n'')), where ''n'' = ''O''(log(''N'')) is the inner block length. In other words, it is ''N''''O''(1) (i.e., polynomial-time) in terms of the outer block length ''N''. As the outer decoding algorithm in step two is assumed to run in polynomial time the complexity of the overall decoding algorithm is polynomial-time as well.


Remarks

The decoding algorithm described above can be used to correct all errors up to less than ''dD''/4 in number. Using minimum distance decoding, the outer decoder can correct all inputs ''y''' with less than ''D''/2 symbols ''y'''''i'' in error. Similarly, the inner code can reliably correct an input ''y''''i'' if less than ''d''/2 inner symbols are erroneous. Thus, for an outer symbol ''y'''''i'' to be incorrect after inner decoding at least ''d''/2 inner symbols must have been in error, and for the outer code to fail this must have happened for at least ''D''/2 outer symbols. Consequently, the total number of inner symbols that must be received incorrectly for the concatenated code to fail must be at least ''d''/2⋅''D''/2 = ''dD''/4. The algorithm also works if the inner codes are different, e.g., for
Justesen code In coding theory, Justesen codes form a class of error-correcting codes that have a constant rate, constant relative distance, and a constant alphabet size. Before the Justesen error correction code was discovered, no error correction code was kno ...
s. The generalized minimum distance algorithm, developed by Forney, can be used to correct up to ''dD''/2 errors. It uses
erasure Erasure () is an English synth-pop duo formed in London in 1985, consisting of lead vocalist and songwriter Andy Bell with songwriter, producer and keyboardist Vince Clarke, previously known as co-founder of the band Depeche Mode and a membe ...
information from the inner code to improve performance of the outer code, and was the first example of an algorithm using soft-decision decoding.


Applications

Although a simple concatenation scheme was implemented already for the 1971
Mariner A sailor, seaman, mariner, or seafarer is a person who works aboard a watercraft as part of its crew, and may work in any one of a number of different fields that are related to the operation and maintenance of a ship. The profession of the ...
Mars orbiter mission, concatenated codes were starting to be regularly used for deep space communication with the
Voyager program The Voyager program is an American scientific program that employs two robotic interstellar probes, ''Voyager 1'' and ''Voyager 2''. They were launched in 1977 to take advantage of a favorable alignment of Jupiter and Saturn, to fly near t ...
, which launched two
space probe A space probe is an artificial satellite that travels through space to collect scientific data. A space probe may orbit Earth; approach the Moon; travel through interplanetary space; flyby, orbit, or land or fly on other planetary bodies; o ...
s in 1977.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. 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 In information theory, a low-density parity-check (LDPC) code is a linear error correcting code, a method of transmitting a message over a noisy transmission channel. An LDPC code is constructed using a sparse Tanner graph (subclass of the bip ...
. Typically, the inner code is not a block code but a soft-decision convolutional Viterbi-decoded code with a short constraint length. For the outer code, a longer hard-decision block code, frequently a Reed-Solomon code with eight-bit symbols, is used. The larger symbol size makes the outer code more robust to
error burst In telecommunication, a burst error or error burst is a contiguous sequence of symbols, received over a communication channel, such that the first and last symbols are in error and there exists no contiguous subsequence of ''m'' correctly receive ...
s that can occur due to channel impairments, and also because erroneous output of the convolutional code itself is bursty. An interleaving layer is usually added between the two codes to spread error bursts across a wider range. The combination of an inner Viterbi convolutional code with an outer Reed–Solomon code (known as an RSV code) was first used in ''
Voyager 2 ''Voyager 2'' is a space probe launched by NASA on August 20, 1977, to study the outer planets and interstellar space beyond the Sun's heliosphere. As a part of the Voyager program, it was launched 16 days before its twin, '' Voyager 1'', ...
'', and it became a popular construction both within and outside of the space sector. It is still notably used today for
satellite communication A communications satellite is an artificial satellite that relays and amplifies radio telecommunication signals via a transponder; it creates a communication channel between a source transmitter and a receiver at different locations on Earth. C ...
s, such as the
DVB-S Digital Video Broadcasting – Satellite (DVB-S) is the original DVB standard for Satellite Television and dates from 1995, in its first release, while development lasted from 1993 to 1997. The first commercial applications was by Star TV in Asia ...
digital television Digital television (DTV) is the transmission of television signals using digital encoding, in contrast to the earlier analog television technology which used analog signals. At the time of its development it was considered an innovative adva ...
broadcast standard. In a looser sense, any (serial) combination of two or more codes may be referred to as a concatenated code. For example, within the
DVB-S2 Digital Video Broadcasting - Satellite - Second Generation (DVB-S2) is a digital television broadcast standard that has been designed as a successor for the popular DVB-S system. It was developed in 2003 by the Digital Video Broadcasting Projec ...
standard, a highly efficient
LDPC code In information theory, a low-density parity-check (LDPC) code is a linear error correcting code, a method of transmitting a message over a noisy transmission channel. An LDPC code is constructed using a sparse Tanner graph (subclass of the b ...
is combined with an algebraic outer code in order to remove any resilient errors left over from the inner LDPC code due to its inherent
error floor The error floor is a phenomenon encountered in modern iterated sparse graph-based error correcting codes like LDPC codes and turbo codes. When the bit error ratio (BER) is plotted for conventional codes like Reed–Solomon codes under algebraic ...
.Digital Video Broadcasting (DVB); Second generation framing structure, channel coding and modulation systems for Broadcasting, Interactive Services, News Gathering and other broadband satellite applications (DVB-S2)
ETSI The European Telecommunications Standards Institute (ETSI) is an independent, not-for-profit, standardization organization in the field of information and communications. ETSI supports the development and testing of global technical standard ...
EN 302 307, V1.2.1, April 2009.
A simple concatenation scheme is also used on the compact disc (CD), where an interleaving layer between two Reed–Solomon codes of different sizes spreads errors across various blocks.


Turbo codes: A parallel concatenation approach

The description above is given for what is now called a serially concatenated code.
Turbo code In information theory, turbo codes (originally in French ''Turbocodes'') are a class of high-performance forward error correction (FEC) codes developed around 1990–91, but first published in 1993. They were the first practical codes to closel ...
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 passes information forth and back between the codes. This design has a better performance than any previously conceived 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, such as within serially concatenated convolutional codes (SCCCs). An early form of iterated decoding was implemented with two to five iterations in the "Galileo code" of the
Galileo space probe ''Galileo'' was an American robotic space probe that studied the planet Jupiter and its moons, as well as the asteroids Gaspra and Ida. Named after the Italian astronomer Galileo Galilei, it consisted of an orbiter and an entry probe. It was ...
.


See also

*
Justesen code In coding theory, Justesen codes form a class of error-correcting codes that have a constant rate, constant relative distance, and a constant alphabet size. Before the Justesen error correction code was discovered, no error correction code was kno ...
*
Zyablov bound In coding theory, the Zyablov bound is a lower bound on the rate r and relative distance \delta that are achievable by concatenated codes. Statement of the bound The bound states that there exists a family of q-ary (concatenated, linear) codes wit ...
*
Singleton bound In coding theory, the Singleton bound, named after Richard Collom Singleton, is a relatively crude upper bound on the size of an arbitrary block code C with block length n, size M and minimum distance d. It is also known as the Joshibound. proved b ...
*
Gilbert–Varshamov bound In coding theory, the Gilbert–Varshamov bound (due to Edgar Gilbert and independently Rom Varshamov.) is a limit on the parameters of a (not necessarily linear) code. It is occasionally known as the Gilbert– Shannon–Varshamov bound (or the GS ...


References


Further reading

* *


External links

*
University at Buffalo Lecture Notes on Coding Theory – Dr. Atri Rudra
{{DEFAULTSORT:Concatenated Error Correction Codes Error detection and correction Coding theory Finite fields Information theory