<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://tcs.nju.edu.cn/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=203.6.146.34</id>
	<title>TCS Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://tcs.nju.edu.cn/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=203.6.146.34"/>
	<link rel="alternate" type="text/html" href="https://tcs.nju.edu.cn/wiki/index.php?title=Special:Contributions/203.6.146.34"/>
	<updated>2026-05-16T18:34:06Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://tcs.nju.edu.cn/wiki/index.php?title=Reed-Solomon_error_correction&amp;diff=7657</id>
		<title>Reed-Solomon error correction</title>
		<link rel="alternate" type="text/html" href="https://tcs.nju.edu.cn/wiki/index.php?title=Reed-Solomon_error_correction&amp;diff=7657"/>
		<updated>2017-06-13T06:46:04Z</updated>

		<summary type="html">&lt;p&gt;203.6.146.34: /* Basic idea */ &amp;quot;sufficient&amp;quot;→&amp;quot;enough&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{complex|date=September 2011}}&lt;br /&gt;
&#039;&#039;&#039;Reed-Solomon error correction&#039;&#039;&#039; is an [[error-correcting code]]. It works by  [[oversampling]] a [[polynomial]] constructed from the [[Information|data]]. The polynomial is evaluated at several points, and these values are sent or recorded. Sampling the polynomial more often than is necessary makes the polynomial over-determined. As long as it receives &amp;quot;many&amp;quot; of the points correctly, the receiver can recover the original polynomial even in the presence of a &amp;quot;few&amp;quot; bad points. &lt;br /&gt;
&lt;br /&gt;
Reed-Solomon codes are used in many different kinds of commercial applications, for example in [[Compact disc|CDs]], [[DVD]]s and [[Blu-ray Disc]]s, in data transmission technologies such as [[DSL]] &amp;amp; [[WiMAX]], and broadcast systems such as [[Digital Video Broadcasting|DVB]] and [[ATSC Standards|ATSC]].&lt;br /&gt;
== Overview ==&lt;br /&gt;
Reed-Solomon codes are [[block code]]s. This means that a fixed block of input data is processed&lt;br /&gt;
into a fixed block of output data. In the case of the most commonly used R-S code (255, 223) – 223 Reed-Solomon input symbols (each eight bits long) are encoded into 255 output symbols.&lt;br /&gt;
* Most R-S ECC schemes are systematic. This means that some portion of the output codeword contains the input data in its original form.&lt;br /&gt;
* A Reed-Solomon symbol size of eight bits was chosen because the decoders for larger symbol sizes would be difficult to implement with current technology. This design choice forces the longest codeword length to be 255 symbols.&lt;br /&gt;
* The standard (255, 223) Reed-Solomon code is capable of correcting up to 16 Reed-Solomon symbol errors in each codeword. Since each symbol is actually eight bits, this means that the code can correct up to 16 short bursts of error due to the inner convolutional decoder.&lt;br /&gt;
&lt;br /&gt;
The Reed-Solomon code, like the [[convolutional code]], is a transparent code. This means that if&lt;br /&gt;
the channel symbols have been inverted somewhere along the line, the decoders will still&lt;br /&gt;
operate. The result will be the complement of the original data. However, the Reed-Solomon&lt;br /&gt;
code loses its transparency if virtual zero fill is used. For this reason it is mandatory that the&lt;br /&gt;
sense of the data (i.e., true or complemented) be resolved before Reed-Solomon decoding.&lt;br /&gt;
&lt;br /&gt;
In the case of the [[Voyager program]] R-S codes reach near optimal performance when concatenated with the (7, 1/2) convolutional (Viterbi) inner code. Since two check symbols are required for each error to be corrected, this results in a total of 32 check symbols and 223 information symbols per codeword.&lt;br /&gt;
&lt;br /&gt;
In addition, the Reed-Solomon codewords can be interleaved on a symbol basis before being&lt;br /&gt;
convolutionally encoded. Since this separates the symbols in a codeword, it becomes less likely&lt;br /&gt;
that a burst from the Viterbi decoder disturbs more than one Reed-Solomon symbol in any one&lt;br /&gt;
codeword.&lt;br /&gt;
&lt;br /&gt;
== Basic idea ==&lt;br /&gt;
The key idea behind a Reed-Solomon code is that the data encoded is first visualized as a [[polynomial]]. The code relies on a [[theorem]] from [[algebra]] that states that any &#039;&#039;k&#039;&#039; distinct points &#039;&#039;uniquely&#039;&#039; determine a polynomial of [[degree of a polynomial|degree]] at most &#039;&#039;k&#039;&#039;-1. &lt;br /&gt;
&lt;br /&gt;
The sender determines a degree &amp;lt;math&amp;gt;k-1&amp;lt;/math&amp;gt; polynomial, over a [[finite field]], that represents the &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; data points. The polynomial is then &amp;quot;encoded&amp;quot; by its evaluation at various points, and these values are what is actually sent. During transmission, some of these values may become corrupted. Therefore, more than &#039;&#039;k&#039;&#039; points are actually sent. As long as enough values are received correctly, the receiver can deduce what the original polynomial was, and decode the original data.&lt;br /&gt;
&lt;br /&gt;
In the same sense that one can correct a curve by [[interpolation|interpolating]] past a gap, a Reed-Solomon code can bridge a series of errors in a block of data to recover the coefficients of the polynomial that drew the original curve.&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
The code was invented in 1960 by [[Irving S. Reed]] and [[Gustave Solomon]], who were then members of [[MIT]] [[Lincoln Laboratory]]. Their seminal article was entitled &amp;quot;Polynomial Codes over Certain Finite Fields.&amp;quot;  When it was written, digital technology was not advanced enough to implement the concept. The first application, in 1982, of RS codes in mass-produced products was the [[compact disc]], where two interleaved RS codes are used. An efficient [[Berlekamp-Massey algorithm|decoding algorithm]] for large-distance RS codes was developed by [[Elwyn Berlekamp]] and [[James Massey]] in 1969. Today RS codes are used in [[hard disk drive]], [[DVD]], telecommunication, and digital broadcast protocols.&lt;br /&gt;
&lt;br /&gt;
[[Category:Computer science]]&lt;br /&gt;
[[Category:Mathematics]]&lt;/div&gt;</summary>
		<author><name>203.6.146.34</name></author>
	</entry>
</feed>