Share on Facebook Share on Twitter Email
Answers.com

Cyclic code

 
Sci-Tech Dictionary: cyclic code
(′sīk·lik ′kōd)

(computer science) A code, such as a binary code, that changes only in one digit when going from one number to the number immediately following, and in that digit by only one unit.


Search unanswered questions...
Enter a question here...
Search: All sources Community Q&A Reference topics
Wikipedia: Cyclic code
Top

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

Contents

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 again a codeword.

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 monic 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.

The idempotent of C is a codeword e such that e2 = e (that is, e is an idempotent element of C) and e is an identity for the code, that is e c = c for every codeword c. Such a word always exists and is unique;[2] it is a generator of the code.

An irreducible code is a cyclic code in which the code, as an ideal, is minimal in R, so that its generator is an irreducible polynomial.

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).

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.

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.[3] Hamming codes of the form Ham(r,2) are also cyclic when r \ge 3 - they are [2r − 1,2rr − 2,4]-codes.[4]

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).

Generalizations

A constacyclic code is a linear code with the property that for some constant λ if (c1,c2,...,cn) is a codeword then so is (λcn,c1,...,cn-1). A negacyclic code is a constacyclic code with λ=-1.[5] A quasi-cyclic code has the property that for some s, any cyclic shift of a codeword by s places is again a codeword.[6] A double circulant code is a quasi-cyclic code of even length with s=2.[6]

See also

Notes

  1. ^ van Lint, p.76
  2. ^ van Lint, p.80
  3. ^ Hill, 1988, pp.141,163
  4. ^ Hill, 1988 p.163
  5. ^ van Lint, p.75
  6. ^ a b MacWilliams and Sloane, p.506

References

External links

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


 
 

 

Copyrights:

Sci-Tech Dictionary. McGraw-Hill Dictionary of Scientific and Technical Terms. Copyright © 2003, 1994, 1989, 1984, 1978, 1976, 1974 by McGraw-Hill Companies, Inc. All rights reserved.  Read more
Wikipedia. This article is licensed under the Creative Commons Attribution/Share-Alike License. It uses material from the Wikipedia article "Cyclic code" Read more