Reed–Solomon codes | |
---|---|
Named after | Irving S. Reed and Gustave Solomon |
Classification | |
Hierarchy |
Linear block code Polynomial code Cyclic code BCH code Reed–Solomon code |
Block length | n |
Message length | k |
Distance | n − k + 1 |
Alphabet size |
q = pm ≥ n (p prime) Often n = q − 1. |
Notation | [n, k, n − k + 1]q-code |
Algorithms | |
Berlekamp–Massey Euclidean et al. |
|
Properties | |
Maximum-distance separable code | |
Reed–Solomon codes are a group of error-correcting codes that were introduced by Irving S. Reed and Gustave Solomon in 1960. They have many applications, the most prominent of which include consumer technologies such as CDs, DVDs, Blu-ray Discs, QR Codes, data transmission technologies such as DSL and WiMAX, broadcast systems such as DVB and ATSC, and storage systems such as RAID 6. They are also used in satellite communication.
In coding theory, the Reed–Solomon code belongs to the class of non-binary cyclic error-correcting codes. The Reed–Solomon code is based on univariate polynomials over finite fields.
It is able to detect and correct multiple symbol errors. By adding t check symbols to the data, a Reed–Solomon code can detect any combination of up to t erroneous symbols, or correct up to ⌊t/2⌋ symbols. As an erasure code, it can correct up to t known erasures, or it can detect and correct combinations of errors and erasures. Reed–Solomon codes are also suitable as multiple-burst bit-error correcting codes, since a sequence of b + 1 consecutive bit errors can affect at most two symbols of size b. The choice of t is up to the designer of the code, and may be selected within wide limits.