<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://en.zaoniao.it/index.php?action=history&amp;feed=atom&amp;title=Concatenated_error_correction_code</id>
	<title>Concatenated error correction code - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://en.zaoniao.it/index.php?action=history&amp;feed=atom&amp;title=Concatenated_error_correction_code"/>
	<link rel="alternate" type="text/html" href="http://en.zaoniao.it/index.php?title=Concatenated_error_correction_code&amp;action=history"/>
	<updated>2026-05-15T10:19:09Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.32.0</generator>
	<entry>
		<id>http://en.zaoniao.it/index.php?title=Concatenated_error_correction_code&amp;diff=4163&amp;oldid=prev</id>
		<title>Admin: Created page with &quot;In coding theory, '''concatenated codes''' form a class of error-correcting codes that are derived by combining an '''inner code''' and an '''outer code'''. They were...&quot;</title>
		<link rel="alternate" type="text/html" href="http://en.zaoniao.it/index.php?title=Concatenated_error_correction_code&amp;diff=4163&amp;oldid=prev"/>
		<updated>2019-05-04T02:36:16Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;In &lt;a href=&quot;/Coding_theory&quot; title=&quot;Coding theory&quot;&gt;coding theory&lt;/a&gt;, &amp;#039;&amp;#039;&amp;#039;concatenated codes&amp;#039;&amp;#039;&amp;#039; form a class of &lt;a href=&quot;/index.php?title=Error-correcting_code&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Error-correcting code (page does not exist)&quot;&gt;error-correcting codes&lt;/a&gt; that are derived by combining an &amp;#039;&amp;#039;&amp;#039;inner code&amp;#039;&amp;#039;&amp;#039; and an &amp;#039;&amp;#039;&amp;#039;outer code&amp;#039;&amp;#039;&amp;#039;. They were...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;In [[coding theory]], '''concatenated codes''' form a class of [[error-correcting code]]s that are derived by combining an '''inner code''' and an '''outer code'''. They were conceived in 1966 by [[Dave Forney]] as a solution to the problem of finding a code that has both exponentially decreasing error probability with increasing block length and [[polynomial-time]] decoding [[Computational complexity theory|complexity]].&lt;br /&gt;
Concatenated codes became widely used in space communications in the 1970s.&lt;br /&gt;
&lt;br /&gt;
==Background==&lt;br /&gt;
The field of [[channel coding]] 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.&lt;br /&gt;
&lt;br /&gt;
[[Noisy-channel coding theorem|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 &amp;lt;math&amp;gt;R&amp;lt;/math&amp;gt; less than a certain threshold &amp;lt;math&amp;gt;C&amp;lt;/math&amp;gt;, 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 &amp;lt;math&amp;gt;N&amp;lt;/math&amp;gt; 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 &amp;lt;math&amp;gt;N&amp;lt;/math&amp;gt;, so such an optimum decoder rapidly becomes infeasible.&lt;br /&gt;
&lt;br /&gt;
In his [http://mitpress.mit.edu/catalog/item/default.asp?tid=5813&amp;amp;ttype=2 doctoral thesis], [[Dave Forney]] 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.&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
Let ''C''&amp;lt;sub&amp;gt;''in''&amp;lt;/sub&amp;gt; be a [''n'', ''k'', ''d''] code, that is, a [[block code]] of length ''n'', [[dimension (vector space)|dimension]] ''k'', minimum [[Hamming distance]] ''d'', and [[code rate|rate]] ''r'' = ''k''/''n'', over an alphabet ''A'':&lt;br /&gt;
:&amp;lt;math&amp;gt;C_{in}: A^k \rightarrow A^n&amp;lt;/math&amp;gt;&lt;br /&gt;
Let ''C''&amp;lt;sub&amp;gt;''out''&amp;lt;/sub&amp;gt; be a [''N'', ''K'', ''D''] code over an alphabet ''B'' with |''B''| = |''A''|&amp;lt;sup&amp;gt;''k''&amp;lt;/sup&amp;gt; symbols:&lt;br /&gt;
:&amp;lt;math&amp;gt;C_{out}: B^K \rightarrow B^N&amp;lt;/math&amp;gt;&lt;br /&gt;
The inner code ''C''&amp;lt;sub&amp;gt;''in''&amp;lt;/sub&amp;gt; takes one of |''A''|&amp;lt;sup&amp;gt;''k''&amp;lt;/sup&amp;gt; = |''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''&amp;lt;sub&amp;gt;''out''&amp;lt;/sub&amp;gt;. The ''concatenation'' of ''C''&amp;lt;sub&amp;gt;''out''&amp;lt;/sub&amp;gt; (as outer code) with ''C''&amp;lt;sub&amp;gt;''in''&amp;lt;/sub&amp;gt; (as inner code), denoted ''C''&amp;lt;sub&amp;gt;''out''&amp;lt;/sub&amp;gt;∘''C''&amp;lt;sub&amp;gt;''in''&amp;lt;/sub&amp;gt;, is thus a code of length ''Nn'' over the alphabet ''A'':&lt;br /&gt;
It uses [[erasure code|erasure]] information from the inner code to improve performance of the outer code, and was the first example of an algorithm using [[soft-decision decoding]].&lt;br /&gt;
&lt;br /&gt;
==Applications==&lt;br /&gt;
Although a simple concatenation scheme was implemented already for the 1971 [[Mariner]] Mars orbiter mission, 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]].&lt;br /&gt;
For the outer code, a longer hard-decision block code, frequently a [[Reed-Solomon code]] with eight-bit symbols, is used.&lt;br /&gt;
The larger symbol size makes the outer code more robust to [[error burst]]s that can occur due to channel impairments, and also because erroneous output of the convolutional code itself is bursty. and it became a popular construction both within and outside of the space sector. It is still notably used today for [[satellite communication]]s, such as the [[DVB-S]] [[digital television]] broadcast standard.&lt;br /&gt;
&lt;br /&gt;
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]] standard, a highly efficient [[LDPC code]] 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]].&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
== Turbo codes: A parallel concatenation approach ==&lt;br /&gt;
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 passes information forth and back between the codes. This design has a better performance than any previously conceived concatenated codes.&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;Galileo code&amp;quot; of the [[Galileo (spacecraft)|Galileo space probe]].&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[[Justesen code]]&lt;br /&gt;
*[[Zyablov bound]]&lt;br /&gt;
&lt;br /&gt;
==Source==&lt;br /&gt;
[http://wikipedia.org/ http://wikipedia.org/]&lt;br /&gt;
&lt;br /&gt;
[[Category:Error-correcting codes]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
</feed>