الخميس، 14 مارس 2013

CYCLIC CODE

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

ليست هناك تعليقات:

إرسال تعليق