Cyclic code

From Wikipedia, the free encyclopedia

In mathematics of coding theory and digital communications, cyclic codes find an important application in error detection and correction.

Contents

[edit] Definition

Let C be a linear code over a finite field A of block length n. C is called a cyclic code, if for every codeword c=(c1,...,cn) from C, the word (cn,c1,...,cn-1) in An obtained by a cyclic right shift of components is also a codeword from C.

Sometimes, C is called the c-cyclic code, if C is the smallest cyclic code containing c, or, in other words, C is the linear code generated by c and all codewords obtained by cyclic shifts of its components.

[edit] Algebraic structure

Cyclic codes can be linked to ideals in certain rings. Let R = A[x] / (xn − 1). Identify the elements of the cyclic code C with polynomials in R such that  ( c_0, \ldots, c_{n-1} ) maps to the polynomial  c_0 + x c_1+\cdots+c_{n-1} x^{n-1} : thus multiplication by x corresponds to a cyclic shift. Then C is an ideal in R, and hence principal, since R is a principal ideal ring. The ideal is generated by the unique element in C of minimum degree, the generator polynomial g. [1] This must be a divisor of xn − 1. It follows that every cyclic code is a polynomial code. If the generator polynomial g has degree d then the rank of the code C is nd.

[edit] Examples

For example, if A=\mathbb{F}_2 and n=3, the codewords contained in the (1,1,0)-cyclic code are precisely

(0,0,0),(1,1,0),(0,1,1) and (1,0,1).

It corresponds to the ideal in \mathbb{F}_2[x]/(x^3-1) generated by (1 + x).

[edit] Trivial examples

Trivial examples of cyclic codes are An itself and the code containing only the zero codeword. These correspond to generators 1 and xn − 1 respectively: these two polynomials must always be factors of xn − 1.

Over GF(2) the parity bit code, consisting of all words of even weight, corresponds to generator x + 1. Again over GF(2) this must always be a factor of xn − 1.

[edit] Hamming code

The Hamming(7,4) code may be written as a cyclic code over GF(2) with generator 1 + x + x3. In fact, any binary Hamming code of the form Ham(2,q) is equivalent to a cyclic code when q is even (Raymond, 1988:141,163). Hamming codes of the form Ham(r,2) are also cyclic when r \ge 3 - they are [2r − 1,2rr − 2,4]-codes (Raymond, 1988:1163).

[edit] Quadratic residue codes

When the prime l is a quadratic residue modulo the prime p there is a quadratic residue code which is a cyclic code of length p, dimension (p + 1) / 2 and minimum weight at least \sqrt{p} over GF(l).

[edit] See also

[edit] References

[edit] External links

This article incorporates material from cyclic code on PlanetMath, which is licensed under the GFDL.