KNL 3503
Information Theory and Error Coding
Prepared by
KHO LEE CHIN
Part II – Topic
1. Cyclic Block Codes (WK8-10)
2. Convolution Codes (WK 11-12)
3. Coded Modulation (WK13)
4. Trellis Coded Modulation (WK
14)
Cyclic Block Code
Cyclic codes form an important subclass of linear
block codes.
Attractive due to:
Encoding and syndrome computation can be
implemented easily by employing shift registers with
feedback connections.
Considerable inherent algebraic structure, it is possible
to diverse various practical methods for decoding them.
Widely used in communication system error control.
Efficient for error detection
Cyclic Block Code
Cyclic codes have many advantages.
Elegant algebraic descriptions:
c(x) = m(x)g(x) , where g(x) is generator polynomial
c(x)h(x) = 0 mod (xn − 1) , where h(x) is parity-check
polynomial
c(1) = 0, . . . , c(t) = 0 , where i 2 GF(qm)
Shift register encoders and syndrome units
Simple burst error correction (error trapping)
Random error correction by solving polynomial
equations
Cyclic Block Code
Error Detection Techniques
Linear (N,K) Block Codes
1.Definition
The (7,4) linear code given in Table 5.1 is a cyclic code
To develop the algebraic properties of cyclic code, we treat
the components of a codeword as the
coefficients of a polynomial as follows:
Thus, each codeword corresponds to a polynomial of degree
n-1 or less. If the degree of v(X)is less than n-1.
The correspondence between the codeword v and the
polynomial v(X) is one to one.
Call v(X) the code polynomial of v.
Table 5.1. A (7,4) cyclic code generated by g(X)=1+X+X^3
The term codeword and code polynomial is interchangeably.
The code polynomial that corresponds to codeword is
There exist an interesting algebraic between v(X) and (X)
Multiplying v(X) by , we obtain
The preceding equation can manipulated into following form
The code polynomial (X) is simply the reminder resulting
from dividing the polynomial
Theorem
1. The nonzero code polynomial of minimum degree in a cyclic code C is
unique.
2. Let be the nonzero code polynomial of
minimum degree in an (n,k) cyclic code C. Then, the constant term must be
equal to 1.
3. Let be the nonzero code polynomial of
minimum degree in an (n,k) cyclic code C. A binary polynomial of degree n-
1 or less is a code polynomial if and only if it is a multiple of g(X).
4. In an (n,k) cyclic code, there exists one and only one code polynomial of
degree n-k.
Every code polynomial is a multiple of g(X), and every binary polynomial of
degree n-1 or less that is a multiple of g(X) is a code polynomial.
5. The generator polynomial g(X) of an (n,k) cyclic code is a factor of
6. If g(X) is a polynomial of degree n-k and is a factor of ,then g(X)
generates an (n,k) cyclic code.
Example 1
The polynomial can be factored as follows:
In summary, encoding in systematic form consists of
three steps:
1. Premultiply the message
2. Obtain the remainder b(X) (the parity check digits)
from dividing by generator polynomial g(X)
3. Combine b(X) and to obtain the code
polynomial b(X)+
Example 2
Consider the (7,4) cyclic code generated by
g(X)=1+X+X^3. Let u(X)=1+X^3 be the message to
be encoded. Dividing x^3 u(x)=x^3+X^6 by g(x)
Exercise
1. Cyclic code of blocklength 8. Find the generator
polynomial and the minimum distance for each binary
cyclic code of blocklength 8.
Exercise
Let g(X) be the generator polynomial of a binary cyclic
code of
length n.
a) Show that if g(X) has X+1 as a factor, the code
contains no codewords of odd weight.
b) If n is odd and X+1 is not a factor of g(X), show that
the code contains a codeword consisting of all 1’s.
c) Show that the code has minimum weight of at least 3
if n is the smallest integer such that g(X) divides X^n
+1