Cyclic Codes: Review: EE 387, October 28, 2015 Notes 15, Page 1
Cyclic Codes: Review: EE 387, October 28, 2015 Notes 15, Page 1
Cyclic Codes: Review: EE 387, October 28, 2015 Notes 15, Page 1
The “dual” code has generator matrix H, the (7, 3) maximum-length code.
All nonzero codewords have the same weight, 2m−1 = 4.
EE 387, October 28, 2015 Notes 15, Page 2
Cyclic codes of blocklength 15
Over GF(2) the cyclic polynomial x15 − 1 has five distinct prime factors:
x15 − 1 = (x + 1)(x2 + x + 1) ·
(x4 + x + 1)(x4 + x3 + 1)(x4 + x3 + x2 + x + 1)
There are 25 cyclic codes. Some of the more useful generator polynomials:
Definition: Two block codes that are the same except for a permutation of
the symbol positions are called equivalent.
◮ Equivalent codes have same weight distribution and minimum weight.
◮ Not every linear block code is systematic. Consider this generator matrix:
1 1 0 0
G=
0 0 1 1
◮ Every linear block code is equivalent to a linear block code that has a
systematic generator matrix G = [ P | I ] (or G = [ I | P ]).
This matrix has the same form as the nonsystematic generator matrix.
The rows of H1 are shifts of the reverse of h(x).
hR (x) = hk + hk−1 x + · · · + h1 xk−1 + h0 xk .
Since h(x) is also a divisor of xn − 1, it generates an (n, n − k) cyclic code.
EE 387, October 28, 2015 Notes 15, Page 6
Parity-check matrix: nonsystematic (cont.)
Since hR (x) = xk h(x−1 ), zeroes of hR (x) are reciprocals of zeroes of h(x).
Thus hR (x) is also called the reciprocal polynomial.
The equation
gR (x)hR (x) = (g(x)h(x))R
h4 h3 h2 h1 h0
r(x)
g0 g1 g2 g3 −1
(The “if” holds when g(x) has no repeated zeroes, i.e., repeated factors.)
The zeroes of g(x) belong to extension field GF(q m ) of GF(q).
Let {β1 , . . . , βt } include at least one zero of each prime factor of g(x) .
The partial syndromes S1 , . . . , St of r(x) are defined to be
Si = r(βi ) = r0 + r1 βi + · · · + rn−1 βin−1 (i = 1, . . . , t)
The partial syndromes belong to the same extension field as β1 , . . . , βt .
Syndrome component Si corresponds to m linear equations over GF(q).
The equations are linearly dependent if βi is in a proper subfield of GF(q m ).
and g(x) is the minimal polynomial over GF(q) of β. (Fact: deg g(x) = m)
Columns of H are LI over GF(q) if and only if β j /β i = β l is not in GF(q).
Fact: There exists a cyclic Hamming code of blocklength n if and only if n
and q − 1 are coprime, which is true if and only if m and q − 1 are coprime.
Example: If q = 3 then q − 1 = 2, so odd values of m are required.
Let GF(33 ) be defined by primitive polynomial x3 + 2x + 1, and β = α2 .
1 0 0 1 2 0 2 0 1 1 1 2 1
H = 1 α2 . . . α22 α24 = 0 0 2 1 0 1 0 2 2 2 1 2 2 .
0 1 1 1 2 1 1 0 0 1 2 0 2
The generator polynomial x3 + x2 + x + 2 can be found by several
methods, then used to construct a systematic parity-check matrix.
EE 387, October 28, 2015 Notes 15, Page 15
Cyclic binary Golay code
Multiplicative orders of elements of GF(211 ) divide 211 − 1 = 23 · 89.
There are φ(23) = 22 elements of order 23. Conjugates of any such β are
β, β 2 , β 4 , β 8 , β 16 , β 9 , β 18 , β 13 , β 3 , β 6 , β 12
The minimal polynomial has degree 11. Prime polynomials of degree 11 are
g(x) = x11 + x10 + x6 + x5 + x4 + x2 + 1
g̃(x) = x11 + x9 + x7 + x6 + x5 + x + 1
These polynomials are mirror images; their zeroes are reciprocals.
Consecutive powers β, β 2 , β 3 , β 4 among the conjugates guarantee d∗ ≥ 5.
Lemma: Golay codewords of even weight have weight a multiple of 4.
Theorem: The cyclic Golay codes has d∗ = 7 and in fact are perfect codes.