Error-correcting code

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Michael Hardy (talk | contribs) at 18:16, 23 July 2004. 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, and others. The simplest error correcting codes can correct single-bit errors (single error correction or SEC) and detect double-bit errors (double error detection or DED). Other codes can detect or correct multi-bit errors.

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.

Note 1: If the number of errors is less than or equal to the maximum correctable threshold of the code, all errors will be corrected.

Note 2: Error-correcting codes require more signal elements than are necessary to convey the basic information.

Note 3: The two main classes of error-correcting codes are block codes and convolutional codes.

See also Hamming code and Reed-Solomon code; or, for state-of-the-art codes developed from 1993 to 2003, see sparse graph codes, specifically low-density parity-check codes, turbo codes, and digital fountain codes.

Source: from Federal Standard 1037C and from MIL-STD-188

External links