3.1- CHARACTERISTICS
OF CYCLIC CODES
In dealing with cyclic codes, it
is convenient to associate with a code word C = [cn-1 cn-2
. . . c1 c0] a polynomial C(x) of degree ≤ n-1,
defined as
C(x) = cn-1 x n-1 + cn-2 x
n-2 + . . . +c1 x
+ c0 (3.1)
For a binary
code, each of the coefficients of the polynomial is either zero or one.
Now suppose
we form the polynomial
x C(x) = cn-1 x n +
cn-2 x n-1 + . . . + c1 x 2 + c0
x (3.2)
This polynomial cannot represent a code word, since its
degree may be equal to n (when cn-1 = 1). However, if
we divide x C(x) by x n +
1, we obtain
x C(x) / ( x n
+ 1) = cn-1 + C1(x) / (x n + 1) (3.3)
where
C1(x)
= cn-2 x n-1 + cn-3 x n-2
+ . . . + c0 x+ cn-1 (3.4)
Which represents
the code word C1= [cn-2 cn-3 . . . c0
cn-1], which is just the code word C shifted cyclicly by one
position.
Since C1(x)
is the remainder obtained by dividing x C(x) by xn + 1,
we say that
C1(x)
= x C(x) mod (x n + l) (3.5)
In a similar
manner, if C(x) represents a code word in a cyclic code, then
x i
C(x) mod (x n
+ 1) is also a code word of the cyclic code. Thus we may write.
x i C(x) = Q(x) (x n +1)
+Ci(x) (3.6)
Where the
remainder polynomial Ci(x) represents a code word of the
cyclic code and Q(x) is the quotient.
We can
generate a cyclic code by using a generator polynomial g(x) of degree n
- k. The generator polynomial of an (n, k) cyclic code is a factor of
x n + 1 and has the general form
g(x) = x
n-k + gn-k-1 x n-k-1 + . . . + g1 x+ 1 (3.7)
We also
define a message polynomial D(x) as
D
(x) = dk-1 x k-1 + dk-2 x k-2 + . . . + d1 x + d0
(3.8)
Where [dk-1
dk-2 . . . d1 d0]
represent the k information bits. Clearly, the product D(x) g(x)
is a polynomial of degree less than or equal to n - 1, which may
represent a code word. We note that there are 2 k polynomials
and, hence, there are 2 k possible code words that can be
formed from a given g(x).
Suppose we
denote these code words as
Cm(x)
=Dm(x) g(x). m= 1, 2,
. . . , 2 k (3.9)
To show that the
code words in above Equation satisfy the cyclic property, consider any code word
C(x) in above Equation. A cyclic shift of C(x) produces
C1(x)
= x C (x) + cn-1(x n
+1) (3.10)
and, since g(x) divides both x n
+ 1 and C(x). It also divides C1(x);
i.e., C1(x)
can be represented as
C1(x) = x1(x)
g(x) (3.11)
Therefore, a
cyclic shift of any code word C(x) generated by Equation (3.9) yields
another code word.
From the
above, we see that code words possessing the cyclic property can be generated
by multiplying the 2k message polynomials with a unique
polynomial g(x), called the generator polynomial of the (n, k)
cyclic code, which divides x n+ 1 and has degree (n- k).
ليست هناك تعليقات:
إرسال تعليق