Jump to content

Error-correcting code

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Mimithebrain (talk | contribs) at 17:52, 19 October 2006 (See also). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

In information theory and coding, an error-correcting code or ECC is a code in which each data signal conforms to specific rules of construction so that departures from this construction in the received signal can generally be automatically detected and corrected. It is used in computer data storage, for example in dynamic RAM, and in data transmission. Examples include Hamming code, Reed-Solomon code, Reed-Muller code, Binary Golay code, convolutional code, turbo code and others. The simplest error correcting codes can correct single-bit errors (single error correction) and detect double-bit errors (double error detection). Other codes can detect or correct multi-bit errors. ECC memory provides greater data accuracy and system uptime by protecting against soft errors in computer memory.

Shannon's theorem is an important theory in error correction which describes the maximum attainable efficiency of an error-correcting scheme versus the levels of noise interference expected.


Principle

In general, these methods put redundant information into the data stream following certain algebraic or geometric relations so that the decoded stream, if damaged in transmission, can be corrected.

The effectiveness of the coding scheme is measured in terms of the Coding gain, which is the difference of the SNR levels of the uncoded and coded systems required to reach the same BER levels.

Notes

  1. If the number of errors is less than or equal to the maximum correctable threshold of the code, all errors will be corrected.
  2. Error-correcting codes require more signal elements than are necessary to convey the basic information.
  3. The two main classes of error-correcting codes are block codes and convolutional codes.

See also

Sources

Template:Com-stub