Next: Quadratic residue codes
Up: Error-correcting codes
Previous: Application: Searching with lies,
  Contents
  Index
Cyclic codes
Let
be a finite field with
elements.
Here's a constructive definition of a cyclic code of length
.
Since polynomial multiplication can be performed
quickly on a computer, this construction illustrated
one reason why cyclic codes have such fast encoding
algorithms.
The ``polynomial notation'' for the code is to
call
the code word
(instead of
).
Example 3.9.1
Let
![$ g(x)=x^3+1 \in \mathbb{F}_2[x]$](img2929.png)
. This divides

.
Let us compute the four codewords corresponding to

. The first 3 are easy:
Another way to characterize a cyclic code is as follows:
A
-ary cyclic code is a linear
code
with the following
property: if
then
, for all
.
Though the above constructive definition might be easier
to understand, this one is much simpler.
If
is a non-zero code word in
such that
the degree of
is minimum and such that
is monic then
is called a generating polynomial of
.
Remark 3.9.2
We shall not worry too much about showing that these definitions
describe the same code. However, here are some hints for the
reader who wants to prove it for him/herself.
The fact that this polynomial

satisfies the property
described in the above constructive definition requires
Lemma
3.9.4 below. You must also show that
the space

in the Lemma is a principal ideal generated by

.
Example 3.9.3
A simple example is the code
The polynomial

is a generating
polynomial.
It is easy to generate a cyclic code.
Pick a vector
.
Form
cyclically shifted vectors
These form the basis of a cyclic code
.
Let us associate to each code word
the polynomial
This correspondence is ``linear'', i.e.,
the sum of the code words is associated to the
sum of the polynomials,
for all
, and
the scalar multiple of a code word is associated to the
scalar muliple of the polynomial,
for all
and
.
Note that
since for polynomials modulo
we may
identify
with
.
In other words, we have the following result.
Lemma 3.9.4
A cyclic code

may be identified with (via

)
a

-vector space of polynomials
![$ V\subset F[x]/(x^n-1)$](img2952.png)
.
In other words, the elements of

are in 1-1 correspondence with the elements of

and this correspondence preserves the
vector space operations of addition and
scalar multiplication.
In fact, the image
of
is an ideal in the ring
. Conversely, any such ideal is the image
of some cyclic code under the map
.
Many codes we've run across already are
equivalent to a cyclic code, including the Hamming
codes and their dual codes.
Example 3.9.5
The binary code

of length

with generator polynomial

has generator matrix
Its elements, sorted according to their weight,
are
This code is equivalent to the Hamming

-code.
Let
be a cyclic code of length
with generator
.
The polynomial
is called the check polynomial of
.
This terminology is motivated by the following
property.
Proposition 3.9.6
Let

be as above. Let

.

if and only if
proof:
By the constructive definition of a cyclic code
above, we know
if and only if
, for some
polynomial
. In this case,
Conversely, if
then there is a polynomial
for which
.
By definition of
, this is equivalent to saying
.
Example 3.9.7
Let
![$ g(x)=(x-2)(x-4)=x^2+4x+3\in \mathbb{F}_5[x]$](img2967.png)
. This
polynomial divides

in
![$ \mathbb{F}_5 [x]$](img1800.png)
. Let

denote the
cyclic code of length

generated by

.
Its check polynomial is
The codeword

(note

, so

is a codeword
by the constructive definition of a cyclic code) satisfies

since
which is 0 in
![$ \mathbb{F}_5 [x]$](img1800.png)
.
Definition 3.9.8
Let

be a positive integer relatively prime
to

and let

be a primitive n-th root of unity.
Each generator polynomial g of a cyclic code C of
length n has a factorization of the form
where

. The numbers

,

, are called the
zeros of the code

.
They do not depend on the choice of

.
Definition 3.9.9
If

,

, ...,

,
then

is called a
Reed-Solomon code of
designed distance 
.
Here

is an integer (often

).
Subsections
Next: Quadratic residue codes
Up: Error-correcting codes
Previous: Application: Searching with lies,
  Contents
  Index
David Joyner
2002-08-23