Concatenated error correction code: Difference between revisions

Content deleted Content added
Rescuing 2 sources and tagging 0 as dead. #IABot (v2.0beta15)
m MOS:MATHSPECIAL / convert special characters found by Wikipedia:Typo Team/moss (via WP:JWB)
 
(8 intermediate revisions by 6 users not shown)
Line 27:
Let ''C''<sub>''out''</sub> be a [''N'', ''K'', ''D''] code over an alphabet ''B'' with |''B''| = |''A''|<sup>''k''</sup> symbols:
:<math>C_{out}: B^K \rightarrow B^N</math>
The inner code ''C''<sub>''in''</sub> takes one of |''A''|<sup>''k''</sup> = |''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''<sub>''out''</sub>. The ''concatenation'' of ''C''<sub>''out''</sub> (as outer code) with ''C''<sub>''in''</sub> (as inner code), denoted ''C''<sub>''out''</sub><math>\circ</math>''C''<sub>''in''</sub>, is thus a code of length ''Nn'' over the alphabet ''A'':<ref name="Forney"/>
:<math>C_{out} \circ C_{in}: A^{kK} \rightarrow A^{nN}</math>
It maps each input message ''m'' = (''m''<sub>1</sub>, ''m''<sub>2</sub>, ..., ''m''<sub>K</sub>) to a codeword (''C''<sub>''in''</sub>(''m''<nowiki>'</nowiki><sub>1</sub>), ''C''<sub>''in''</sub>(''m''<nowiki>'</nowiki><sub>2</sub>), ..., ''C''<sub>''in''</sub>(''m''<nowiki>'</nowiki><sub>N</sub>)),
Line 37:
 
==Properties==
'''1.''' The distance of the concatenated code ''C''<sub>''out''</sub><math>\circ</math>''C''<sub>''in''</sub> is at least ''dD'', that is, it is a [''nN'', ''kK'', ''D''<nowiki>'</nowiki>] code with ''D''<nowiki>'</nowiki> ≥ ''dD''.
 
''Proof:''
Line 49:
:<math>\Delta(C_{in}(C_{out}(m^1)), C_{in}(C_{out}(m^2))) \ge dD.</math>
 
'''2.''' If ''C''<sub>''out''</sub> and ''C''<sub>''in''</sub> are [[linear block code]]s, then ''C''<sub>''out''</sub><math>\circ</math>''C''<sub>''in''</sub> is also a linear block code.
 
This property can be easily shown based on the idea of defining a [[generator matrix]] for the concatenated code in terms of the generator matrices of ''C''<sub>''out''</sub> and ''C''<sub>''in''</sub>.
Line 102:
|pages=387–393
|date=January 2007
|doi=10.1109/tit.2006.887478
|s2cid=8338433
}}</ref>
 
==Applications==
Although a simple concatenation scheme was implemented already for the 1971 [[Mariner 8|Mariner]] Mars orbiter mission,<ref name="McEliece"/> concatenated codes were starting to be regularly used for [[Deep Space Network|deep space]] communication with the [[Voyager program]], which launched two [[space probe]]s 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]].<ref name="McEliece"/><ref name="deep-space-codes"/>
 
Typically, the inner code is not a block code but a [[soft-decision decoder|soft-decision]] [[convolutional code|convolutional]] [[Viterbi decoder|Viterbi-decoded]] code with a short constraint length.<ref name="Odenwalder">
Line 111 ⟶ 113:
|author=J. P. Odenwalder
|title=Optimal decoding of convolutional codes
|publisher=[[U.C.L.A.]], Systems Science Dept. ''(dissertation)''
|year=1970
}}
Line 139 ⟶ 141:
 
==See also==
*[[Gilbert–Varshamov bound]]
*[[Justesen code]]
*[[Zyablov bound]]
*[[Singleton bound]]
*[[Gilbert–VarshamovZyablov bound]]
 
== References ==
Line 148 ⟶ 150:
 
== Further reading ==
* {{cite book |author1=Shu Lin |author2=Daniel J. Costello Jr. | title=Error Control Coding: Fundamentals and Applications |url=https://archive.org/details/errorcontrolcodi00lins_044 |url-access=limited | publisher=[[Prentice Hall]] | year=1983 | isbn=978-0-13-283796-5 | pages=278–280[https://archive.org/details/errorcontrolcodi00lins_044/page/n296 278]–280}}
* {{cite book | author=F.J. MacWilliams | authorlink=Jessie MacWilliams |author2=N.J.A. Sloane | title=The Theory of Error-Correcting Codes | url=https://archive.org/details/theoryoferrorcor0000macw | url-access=registration | publisher=North-Holland | year=1977 | isbn=978-0-444-85193-2 | pages=[https://archive.org/details/theoryoferrorcor0000macw/page/307 307–316] }}
 
== External links ==