|
Cyclic code - Fuhz Articles Cyclic code article, this Fuhz page will hopefully provide the answers to the who, what where and why on the Cyclic code topic. At the bottom of the page we often provide links to external documents relating to Cyclic code which may also help your research. Every effort is made to ensure the content on this page is as accurate and error free as possible, however whenever researching information that requires the utmost accuracy such as a term paper it is always best to cross reference facts with numerous sources. |
In mathematics of coding theory and digital communications, cyclic codes find an important application in error detection and correction.
Contents |
Let C be a linear code over a finite field GF(q) 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 GF(qn) obtained by a cyclic right shift of components is again a codeword.
Cyclic codes can be linked to ideals in certain rings. Let R = Ax / (xn − 1). Identify the elements of the cyclic code C with polynomials in R such that
maps to the polynomial
: 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 n − d.
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.
For example, if A=
and n=3, the codewords contained in the (1,1,0)-cyclic code are precisely
It corresponds to the ideal in
generated by (1 + x).
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.
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
- they are [2r − 1,2r − r − 2,4]-codes.4
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
over GF(l).
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
This article incorporates material from cyclic code on PlanetMath, which is licensed under the Creative Commons Attribution/Share-Alike License.
Article from Wikipedia. All text is available under the terms of the GNU Free Documentation License - Our Privacy Policy - Thanks Auto Blog Commenter