Professional Documents
Culture Documents
+S
j+1
1
+ +S
j+1
1
+S
j+
= 0
where 2 < j 2t.
2. Computations in GF(1009). Hint: 1009 is prime.
a. In GF(1009) nd 999
1012
. Hint: calculator not needed.
b. In GF(1009) nd 999
1
.
c. In GF(1009) how many primitive elements are there?
Solution
a. Since
1008
= 1 for every nonzero element of GF(1009),
999
1012
= (10)
10121008
= (10)
4
= 1000 10 = 9 10 = 90 = 919 .
b. Use the extended Euclidean algorithm.
r
i
Q
i
a
i
b
i
1009 0 1
999 1 0
10 1 1 1
9 99 100 99
1 1 101 100
Therefore 999
1
= 101 = 908.
c. The multiplicative group of GF(1009) is cyclic of order 1008. For any xed primitive ele-
ment , every primitive element is of the form
i
where gcd(i, 1009) = 1. Thus the number
of primitive elements is given by the Euler phi function.
(1008) = (16 63) = (2
4
3
2
7) =
1
2
2
3
6
7
1008 =
8
16
6
9
6
7
1008 = 288 .
3. Computations in GF(2
6
). The nite eld GF(2
6
) can be dened by the primitive polynomial
p(x) = x
6
+ x
5
+ 1. Let be a primitive element of GF(2
6
) such that p() = 0.
a. Write Boolean equations or draw a logic circuit for the components (y
0
, y
1
, . . . , y
5
) of the
product y = a b, where b is the constant +
4
= (0, 1, 0, 0, 1, 0) .
b. Find the reciprocal in GF(2
6
) of 1 +
2
+
4
= (1, 0, 1, 0, 1, 0) .
c. Using the following incomplete table of powers of , nd the logarithm of (1, 0, 0, 1, 0, 1), that
is, the integer k such that
k
= (1, 0, 0, 1, 0, 1).
Selected powers of
i
in GF(2
6
)
i 0 8 16 24 32 40 48 56 64
i
100000 111001 010101 101101 010110 011100 111100 000101 010000
Solution
a. The bits of the product are linear combinations of the input bits. Multiplication by b is
Page 2 of 13 EE 387, Autumn 2012
described by the following matrix over GF(2) and the corresponding Boolean equations.
M
b
=
_
_
0 1 0 0 1 0
0 0 1 0 0 1
1 0 0 1 0 1
1 1 0 0 1 1
1 1 1 0 0 0
0 1 1 1 0 0
_
y
0
= a
2
a
3
a
4
y
1
= a
0
a
3
a
4
a
5
y
2
= a
1
a
4
a
5
y
3
= a
2
a
5
y
4
= a
0
a
3
y
5
= a
1
a
2
a
3
Each row of M
b
is obtained from the previous row by shifting once with feedback.
b. The extended Euclidean algorithm for gcd(1 + x
2
+ x
4
, x
6
+ x
5
+ 1) yields the reciprocal.
r
i
(x) Q
i
(x) a
i
(x)
110001 0
10101 1
1010 111 111
1 10 1111
Therefore (1 +
2
+
4
)
1
= 1 + +
2
+
3
= (1, 1, 1, 1, 0, 0) .
c. Let = (1, 0, 0, 1, 0, 1). To nd k such that
k
= , we multiply by
j
for j = 0, 1, 2, . . .
until we nd
j
in the powers of table. The successive products are obtained by shifting
the previous result one bit with feedback corresponding to x
6
+ x
5
+ 1 .
0
= 100101
1
= 110011
2
= 111000
3
= 011100 =
40
Since
3
=
40
, we conclude that =
40
3
=
403
=
37
, that is, log
= 37.
At most 7 scaler multiplications are needed. Alternatively, 7 scaler multiplications could be
performed in parallel and 8 results searched for in an associative memory.
4. Repetition codes vs. Reed-Muller codes. Consider a binary communication channel with a low
signal-to-noise ratio and corresponding raw error rate 10
2
.
a. A very cautious engineer proposes to reduce the error rate by transmitting each bit 8 times.
A complete decoder for the (8,1) repetition code must make an arbitrary decision when the
received sequence has 4 ones and 4 zeroes. Suppose the decoder outputs a random bit in this
situation. Find the bit error rate after decoding.
b. A more knowledgeable engineer proposes a more ecient coding scheme, the Reed-Muller
code R(1, 5), which is a (32,6) binary linear block code with minimum distance 16. This code
has 62 codewords of weight 16 and two other codewords, the zero vector and the all ones
vector. Estimate the bit error rate after decoding. Assume a systematic encoder. State any
simplifying assumptions.
_
8
2
_
= 28
_
8
3
_
= 56
_
8
4
_
= 70
_
32
8
_
= 10518300
_
32
9
_
= 28048800
_
32
10
_
= 64512240
Sample Final Examination Solutions Page 3 of 13
Solution
a. When there are 5 errors, miscorrection occurs. When there are 4 errors, any decision by the
decoder will be correct exactly half the time (assuming the information bit is equally likely
to be 0 and 1.) The probability of miscorrection equals the bit error rate after decoding:
P
mc
=
1
2
_
8
4
_
(10
2
)
4
(0.99)
4
+
_
8
5
_
(10
2
)
5
(0.99)
3
+ +
_
8
8
_
(10
2
)
8
35 10
8
0.9606 + 56 10
10
0.9703 + 28 10
12
0.9801 = 3.42 10
7
,
since the probability of 7 or 8 errors is negligible.
b. The cooked error rate depends on both the encodersystematic vs. nonsystematicand the
decodercomplete vs. incomplete or bounded distance. If the encoder is nonsystematic, then
any miscorrection results in a wrong codeword, which causes on average half of the decoded
information bits to be wrong. If the encoder is systematic, then decoder failure introduces no
additional errors.
A bounded-distance decoder will fail when there are 8 errors and fail or miscorrect when
there are 9 or more errors. For a nonsystematic encoder, 8 or more errors result in incorrectly
decoding on average 3 of the 6 information bits, so the error rate after decoding is
P
e
=
1
2
__
32
8
_
(10
2
)
8
(0.99)
24
+
_
32
9
_
(10
2
)
9
(0.99)
25
+ +
_
32
32
_
(10
2
)
32
_
1
2
(8.2640 10
10
+ 2.2260 10
11
) = 4.24 10
10
A complete decoder can correct most errors of weight 8. The probability of miscorrecting
8 errors is the probabilty that the error pattern distance 8 from a codeword of weight 16:
62
_
16
8
_
(10
2
)
8
(0.99)
24
= 62 12870 10
16
0.7857 = 6.27 10
11
For this more powerful (but in general not feasible) decoder, half the message bits are wrong
with probability about 6 10
11
, so the bit error rate after decoding is around 3 10
11
.
5. Prime quadratic polynomials. Let GF(q) be a nite eld of characteristic p > 2.
a. Show that there exists a prime polynomial over GF(q) of the form x
2
+ ax + b with a = 0.
b. Show that there exists a prime polynomial over GF(q) of the form x
2
+ x + b.
c. Show that there exists a prime polynomial over GF(q) of the form x
2
+ ax + 1.
Hint: in GF(p
m
) where p > 2, every square a
2
has two square roots, a and a.
Solution
a. It was shown in class that over any nite eld there is at least one prime quadratic polynomial;
call it x
2
+ ax + b. If a = 0 then there is nothing more to do. If a = 0, then x
2
+ b is prime
(that is, b does not have a square root in GF(q)). Using the change of variables x = u+1, we
obtain the prime polynomial (u + 1)
2
+ b = u
2
+ 2u + (b + 1) with linear coecient 2, which
is nonzero in every eld of characteristic greater than 2.
Counting argument. There are (q 1)
2
polynomials of the form x
2
+ax+b with a = 0, b = 0.
The number of polynomials of the form (x )(x ) with = 0, = 0 is
_
q1
2
_
+(q 1) =
q(q 1)/2 < q 1.
b. By part (a) there exists a prime polynomial x
2
+ax+b with a = 0. (Obviously, b = 0.) Since
Page 4 of 13 EE 387, Autumn 2012
a = 0, the change of variables x = au gives the irreducible polynomial
(au)
2
+ a(au) + b = a
2
u
2
+ a
2
u + b = a
2
(u
2
+ u + b/a
2
) ,
hence u
2
+ u + b/a
2
is prime.
Another solution uses a counting method. The polynomial f(x) = x
2
+x has a multiple zero
only if f(z) = 0 and f
(z) = 0.
c. The case q = 3 is special. Since 1 = 2 does not have a square root in GF(3), the polynomial
x
2
2 = x
2
+ 1 is prime. For q > 3 we use a counting argument. If x
2
+ ax + 1 is not prime,
then it has two zeroes that are reciprocals. For a = 2ora = 2 the zeroes are 1 and 1,
respectively, with multiplicity 2. The remaining q 3 nonzero values of GF(q) are paired with
their reciprocals, and each pair (,
1
) corresponds to a polynomial of the form x
2
+ax +1,
where a = ( +
1
). Therefore the number of reducible polynomials of the form x
2
+ax+1
is at most 3 + (q 3)/2 = (q + 3)/2. Thus if q > 3 then the number of prime polynomials is
at least (q 3)/2 > 0.
6. BCH code over GF(5). Let be a primitive element of GF(25) whose minimal polynomial over
GF(5) is p(x) = x
2
+ x + 2. Powers of are given in the following table.
i
i
0 [ 1 0 ] = 1
1 [ 0 1 ] = z
2 [ 3 4 ] = 3 + 4z
3 [ 2 4 ] = 2 + 4z
4 [ 2 3 ] = 2 + 3z
5 [ 4 4 ] = 4 + 4z
6 [ 2 0 ] = 2
7 [ 0 2 ] = 2z
8 [ 1 3 ] = 1 + 3z
9 [ 4 3 ] = 4 + 3z
10 [ 4 1 ] = 4 + z
11 [ 3 3 ] = 3 + 3z
12 [ 4 0 ] = 4
13 [ 0 4 ] = 4z
14 [ 2 1 ] = 2 + z
15 [ 3 1 ] = 3 + z
16 [ 3 2 ] = 3 + 2z
17 [ 1 1 ] = 1 + z
18 [ 3 0 ] = 3
19 [ 0 3 ] = 3z
20 [ 4 2 ] = 4 + 2z
21 [ 1 2 ] = 1 + 2z
22 [ 1 4 ] = 1 + 4z
23 [ 2 2 ] = 2 + 2z
u (u
2
+ u)
18
19
17
12
16
24
16
10
23
11
12
0
13
23
14
17
15
13
16
24
17
19
18
18
19
15
20
15
21
22
13
23
3
a. Let C
1
be the narrow-sense (24, 20) BCH code over GF(5) based on the primitive element .
Find the generator polynomial for C
1
. (You may leave your answer as a product of minimal
polynomial factors.)
Sample Final Examination Solutions Page 5 of 13
b. What is the guaranteed minimum distance of the code C
1
? How many errors can C
1
correct?
c. Let C
2
be the narrow-sense (24, 20) BCH code over GF(25) based on the primitive element .
Find the generator polynomial for C
2
. (You may leave your answer as a product of minimal
polynomial factors.)
d. What is the guaranteed minimum distance of the code C
2
? How many errors can C
2
correct?
e. The partial syndromes of a senseword over GF(25) using code C
2
are S
1
= 0, S
2
=
16
,
S
3
=
15
, and S
4
=
8
. Find the error-locator polynomial (x).
f. (Bonus) Find the error locations and error magnitudes for the partial syndromes of part (e).
Solution
a. Since is a primitive element of GF(25), it can be used to construct a code of blocklength 24.
The generator polynomial of degree 24 20 = 4 for a narrow-sense BCH code is the least
common multiple of the minimal polynomials over GF(5) of the rst two powers of , i.e.,
m
1 (x) and m
1 (x) = (x )(x a
5
) = x
2
( +
5
)x +
6
= x
2
([ 0 1 ] + [ 4 4 ])x + 2 = x
2
4x + 2 = x
2
+ x + 2
m
2 (x) = (x
2
)(x a
10
) = x
2
(
2
+
12
)x +
12
= x
2
([ 3 4 ] + [ 4 1 ])x + 4 = x
2
2x + 4 = x
2
+ 3x + 4
Another method is to solve linear equations over GF(5). For m
1 (x) = x
2
+ b
1
x + b
0
:
0 = m
1(
1
) =
2
+ b
1
+ b
0
_
0
0
_
=
_
3
4
_
+ b
1
_
0
1
_
+ b
0
_
1
0
_
b
0
= 3 = 2
b
1
= 4 = 1
The solution is b
1
= 1 and b
0
= 2, or m
1(x) = x
2
+ x + 2.
For m
2(x) = x
2
+ c
1
x + c
0
, we obtain another system of linear equations:
0 = m
2 (
2
) =
2
+ c
1
+ c
0
_
0
0
_
=
_
2
3
_
+ c
1
_
3
4
_
+ c
0
_
1
0
_
3c
1
+ c
0
= 2 = 3
4c
1
= 3 = 2
The solution is c
1
= 3 and c
0
= 4, or m
2(x) = x
2
+ 3x + 4.
The generator polynomial is the product of the minimal polynomials.
g(x) = m
1 (x)m
2(x) = (x
2
+ x + 2)(x
2
+ 3x + 4) = x
4
+ 4x
3
+ 4x
2
+ 3.
We can use the table of powers of to verify that and
2
are zeroes of g(x).
b. Because and
2
are zeroes of the generator polynomial, by the BCH bound, the minimum
distance is at least d = 2 + 1 = 3. Thus C
1
can correct at least (d 1)/2 = 1 error.
c. The channel alphabet is the same as the decoder alphabet, so the BCH code is a Reed-Solomon
code. The generator polynomial is the product of minimal polynomials over GF(25) of the
Page 6 of 13 EE 387, Autumn 2012
rst 4 powers of . These minimal polynomials are linear. Therefore
g(x) = (x )(x
2
)(x
3
)(x
4
)
= (x +
13
)(x +
14
)(x +
15
)(x +
16
) (using
12
= 1)
= x
4
+
11
x
3
+
20
x
2
+
16
x +
10
(tedious computation)
d. Four consecutive powers of (i.e., ,
2
,
3
, and
4
) are zeroes of the generator polynomial.
By the BCH bound, the minimum distance d
satises d
4 + 1 = 5. Therefore C
2
can
correct at least (d
1
_
=
_
S
1
S
2
S
2
S
3
__
1
_
=
_
S
3
S
4
_
_
0
16
16
15
__
1
_
=
_
15
8
_
=
_
20
_
Since det M
2
= S
1
S
3
S
2
2
=
32
=
20
= 0, we can solve for
1
,
2
in the above set of
equations. The rst row of M
2
yields
16
1
=
3
1
=
316
=
11
.
Using this value of
1
, the second row of M
2
gives
20
=
16
2
+
15
1
=
16
2
+
15
11
=
16
2
+
26
=
16
2
+
2
,
and we can solve for
2
:
2
=
16
_
20
2
_
=
8
_
[ 4 2 ] [ 3 4 ]
_
=
8
([ 1 3 ]) =
8
8
=
16
.
The error locator polynomial is (x) = 1 +
11
x +
16
x
2
.
f. We solve the quadratic equation by a change of variables. Let x = (
1
/
2
)u =
5
u =
19
u.
Then
(x) =
16
x
2
+
11
x + 1
=
16
(
19
u)
2
+
11
(
19
u) + 1
=
6
u
2
+
6
u + 1 =
6
(u
2
+ u +
18
) .
The zeroes can be found by looking for elements u such that (u
2
+ u) =
18
. From the
table, we nd that u
1
=
0
and u
2
=
18
, so x
1
=
19
0
=
19
and x
2
=
19
18
=
13
. From
X
1
=
19
=
5
and X
2
=
13
=
11
, we see that the error locations are i
1
= 5 and i
2
= 11.
We can solve the 2 2 linear system of equations directly.
_
Y
1
Y
2
_
=
_
X
1
X
2
X
2
1
X
2
2
_
1
_
S
1
S
2
_
=
_
11
10
22
_
1
_
0
16
_
=
21
_
22
23
22
5
__
0
16
_
=
_
18
0
_
.
Sample Final Examination Solutions Page 7 of 13
This gives us Y
1
=
18
= [ 3 0 ] = 3 and Y
2
=
0
= [ 1 0 ] = 1.
Or we can use Forneys formula. First we compute the coecients of the error evaluator
polynomial.
0
= S
1
= 0
1
= S
2
+ S
1
1
=
16
Thus (x) =
16
x. We also calculate the derivative of the error locator polynomial.
(x) = 2
16
x +
11
= (
16
+
16
)x +
11
=
22
x +
11
.
Then we use Forneys algorithm.
Y
1
=
(X
1
1
)
(X
1
1
)
=
16
22
+
11
5
=
11
5
=
6
=
18
= [ 3 0 ]
Y
2
=
(X
1
2
)
(X
1
2
)
=
16
11
22
+
11
11
=
5
17
=
12
=
0
= [ 1 0 ]
We get the same answer: Y
1
= [ 3 0 ] = 3 and Y
2
= [ 1 0 ] = 1.
7. Comparing two cyclic codes. Let C
1
be the (15,5) binary linear block code formed by interleaving
ve codewords of the (3,1) repetition code. Let C
2
be the binary cyclic code whose codewords
are listed in the following table.
000000000000000 010000111011001 100001110110010 110001001101011
000011101100101 010011010111100 100010011010111 110010100001110
000100110101111 010100001110110 100101000011101 110101111000100
000111011001010 010111100010011 100110101111000 110110010100001
001001101011110 011001010000111 101000011101100 111000100110101
001010000111011 011010111100010 101011110001001 111011001010000
001101011110001 011101100101000 101100101000011 111100010011010
001110110010100 011110001001101 101111000100110 111111111111111
a. Describe the systematic generator matrix of C
1
.
b. Find the minimum distance of C
1
.
c. Find the weight enumerator A
1
(x) of C
1
.
d. What is the burst error correcting ability of C
1
?
e. Find the uncorrectable error probability for C
1
over a channel with raw error rate 10
4
.
f. Find the generator polynomial of C
2
.
g. What is the rate of C
2
?
h. What is the minimum distance of C
2
?
i. What is the burst error correcting ability of C
2
?
j. Find the uncorrectable error probability for C
2
over a channel with raw error rate 10
4
.
Solution
a. Each information bit is repeated twiceve and ten bits later. Therefore the generator matrix
Page 8 of 13 EE 387, Autumn 2012
consists of three copies of the 5 5 identity matrix.
G = [ I
5
I
5
| I
5
] =
_
_
1 0 0 0 0 1 0 0 0 0 1 0 0 0 0
0 1 0 0 0 0 1 0 0 0 0 1 0 0 0
0 0 1 0 0 0 0 1 0 0 0 0 1 0 0
0 0 0 1 0 0 0 0 1 0 0 0 0 1 0
0 0 0 0 1 0 0 0 0 1 0 0 0 0 1
_
_
.
b. Each nonzero information bit results in two nonzero check bits, so the minimum distance is at
least three. On the other hand, each row of the systematic generator matrix found in part (a)
has weight 3. Therefore d
= 3.
c. Each nonzero bit results in two nonzero check bits. If the number of information bits is k,
then the weight of the codeword is 3k . The weight distribution for the information bits is
binomial. Thus there are
_
5
k
_
codewords of weight 3k . The weight enumerator is
A(x) =
5
k=0
_
5
k
_
x
3k
= 1 + 5x
3
+ 10x
6
+ 10x
9
+ 5x
12
+ x
15
.
The weight enumerator conrms that the minimum distance of C
1
is 3.
d. The (3, 1) repetition code can correct single errors. The interleaved code can correct bursts of
length 5 because each error in such a burst aects only one of the ve interleaved codewords.
On the other hand, a burst of length 6 that ips the rst and sixth bits will be miscorrected
because both of those bits are in the same codeword. Therefore the burst error correcting
ability of C
1
is exactly 5.
e. An interleaved 3-bit codeword is miscorrected if 2 errors occur in those 3 bits. From the
binomial distribution we obtain the following probability p of an incorrect 3-bit codeword.
p =
_
3
2
_
(10
4
)
2
(1 10
4
) +
_
3
3
_
(10
4
)
3
= 3(10
4
)
2
(0.9999) + 10
12
= 3.0000 10
8
.
The probability that at least one inner codeword is miscorrected is
1 (1 p)
5
=
5
i=1
_
5
i
_
p
i
(1 p)
5i
5p(1 p)
4
= 1.50 10
7
.
f. The generator polynomial is the code polynomial of smallest degree, which is the codeword
with the largest number of zeroes at the right. By inspection, this is 111011001010000, hence
g
2
(x) = 1 + x + x
2
+ x
4
+ x
5
+ x
8
+ x
10
.
(The codewords are listed in lexicographic order, so the generator polynomial is a left shift of
the rst nonzero codeword in the list.)
g. The number of codewords is M = 32. Therefore the rate of C
2
is R =
1
n
log
2
M =
5
15
=
1
3
.
Note that the rates of C
1
and C
2
are both 1/3, which justies comparing these codes.
h. By inspection, the minimum weight is 7. Therefore d
i=4
_
15
i
_
(10
4
)
i
(1 10
4
)
15i
_
15
4
_
10
16
(1 10
4
)
11
= 1365 10
16
0.9989 = 1.36 10
13
.
8. Decoder alphabet GF(2
12
). Let be a primitive element of GF(4096).
a. Let =
13
. What is the degree of the minimal polynomial over GF(2) of ?
b. Find the parameters n and k for the narrow-sense triple error correcting binary BCH code
based on powers of . Hint: 4095 = 315 13 = 65 63.
c. Find the number of check symbols nk used by a narrow-sense double error correcting binary
BCH code with blocklength n = 45. Hint: 4095 = 45 91 = 15 273.
Solution
a. Since 13 is a divisor of 4095, the order of is 4095/13 = 315. Therefore does not belong
to any proper subeld (GF(2
6
) or GF(2
4
)), so its minimal polynomial over GF(2) is the
dimension over GF(2) of the eld GF(2
12
), namely, 12.
b. The generator polynomial of a narrow-sense triple error correcting BCH code is the least com-
mon multiple of the minimal polynomials over GF(2) of ,
2
,
3
,
4
,
5
,
6
. Since
2
,
4
,
6
are conjugates of ,
2
,
3
, respectively, we need only consider the minimal polynomials of
,
3
,
5
. In part (a) we found the degree of the minimal polynomial of . In the same way,
the order of
3
=
39
is 4095/39 = 105, so
3
does not belong to a proper subeld and thus
has a minimal polynomial of degree 12. However,
5
=
65
has order 4095/65 = 63, so
5
belongs to GF(64) and has a minimal polynomial of degree 6. The degree of the generator
polynomial is the sum of the degrees of its factors, namely, 12 +12 +6 = 30. The blocklength
of the code is the order of , which is 315. The parameters of the code are (n, k) = (315, 285).
c. An element of GF(4096) of order 45 is =
4095/45
=
91
. The generator polynomial of a
double error correcting BCH code is the product of the minimal polynomials of and
3
,
since
2
and
4
are conjugates of . The order of is not a divisor of 63 or of 15, so does
not belong to a proper subeld, and its minimal polynomial has degree 12. However,
3
has
order 45/3 = 15, so
3
belongs to GF(2
4
) and its minimal polynomial is of degree 4. The
degree of the generator polynomial is n k = 12 + 4 = 16, and the code has parameters
(n, k) = (45, 29).
9. BCH codes of blocklength 31. The design minimum distance of a t-error-correcting binary BCH
code is 2t + 1, where t is the number of factors of the generator polynomial
g(x) = lcm(f
1
(x), f
3
(x), . . . , f
2t1
(x)) .
The factors f
i
(x) of g(x) are minimal polynomials over GF(2) of
i
, where is primitive.
Page 10 of 13 EE 387, Autumn 2012
a. List the conjugacy classes of the powers of , represented by exponents. For example, the
conjugacy class of 1 =
0
is {0} and the conjugacy class of is {1, 2, 4, 8, 16}.
b. Find the number of check bits used by the narrow-sense binary primitive BCH codes of
blocklength 31 and design minimum distance 2t + 1 for t = 1, . . . , 6.
c. The generator polynomials of these BCH codes have zeroes other than , . . . ,
2t
. List the
minimum distances guaranteed by the BCH bound for these six codes.
Solution
a. The conjugacy class of 1 =
0
is represented by {0}. The exponents of the elements of
conjugacy classes of the positive powers of are listed below.
{1, 2, 4, 8, 16} {7, 14, 28, 25, 19}
{3, 6, 12, 24, 17} {11, 22, 13, 26, 21}
{5, 10, 20, 9, 18} {15, 30, 29, 27, 23}
All conjugacy classes have ve elements because GF(32) has no nontrivial subeld. All ele-
ments of GF(32) GF(2) are primitive because the multiplicative group has order 31, which
is prime. In general, if p is prime then GF(2
p
) has no subeld except GF(2). However, not
every element of GF(2
p
) GF(2) need be primitive; e.g., GF(2
11
) has elements of orders 23
and 89.
b. Using the conjugacy classes found in part (a), we list the exponents of the zeroes of the factors
of the generator polynomials of narrow-sense t-error-correcting codes for t = 1, . . . , 8.
t Conjugacy class n k
1 {1, 2, 4, 8, 16} 5
2 {3, 6, 12, 24, 17} 10
3 {5, 10, 20, 9, 18} 15
4 {7, 14, 28, 25, 19} 20
5 20
6 {11, 22, 13, 26, 21} 25
7 25
8 {15, 30, 29, 27, 23} 30
Rows 5 and 7 are empty because the corresponding conjugacy classes were listed in rows 3
and 4. For t = 1, . . . , 4, the BCH bound guarantees that 5t check bits are sucient to correct
t errors. But for t = 5, no additional check bits are needed because the
9
and
10
are
conjugates of
5
. Similarly,
13
is a conjugate of
11
, so the narrow-sense BCH code for t = 6
is guaranteed to correct 7 errors.
c. The BCH bound says that the minimum distance of a BCH code is at least one more than
the number of consecutive powers of that are zeroes of the generator polynomial g(x) =
lcm(f
1
(x), . . . , f
2t1
(x)). The following table lists the conjugacy classes of odd powers of ,
from which we can determine the number of consecutive powers of that are zeroes of g(x).
Sample Final Examination Solutions Page 11 of 13
t Conjugacy Consecutive Minimum
class powers distance
1 {1, 2, 4, 8, 16} 2 3
2 {3, 6, 12, 24, 17} 4 5
3 {5, 10, 20, 9, 18} 6 7
4 {7, 14, 28, 25, 19} 10 11
5 10 11
6 {11, 22, 13, 26, 21} 14 15
7 14 15
8 {15, 30, 29, 27, 23} 30 31
The Hamming bound can be used to show that the error correcting ability is t for t = 1, 2, 3.
It can also be shown that the codes with t = 6 and t = 8 have minimum distances equal to
the BCH bound.
10.Extended Reed-Solomon code. Let C be the linear block code over GF(4) with the following
parity-check matrix.
H =
_
1 1 1 1 0
0 1 1
_
.
(Operation tables for GF(4) are provided below.)
a. Find the rate and minimum distance of C.
b. Find a systematic generator matrix for C of the form G = [ P | I ].
c. Decode the received sequence r = [ 1 1 1 1 1 ].
d. Show that this code is not cyclic. Hint: consider G found in part (b).
GF(4) operation tables
+ 0 0
0 0 1
1 1 0
0 1
1 0
0 1
0 0 0 0 0
1 0 1
0 1
0 1
1
0
1 1
Solution
a. Obviously, n = 5 and n k = 2, so k = 3. The rate is k/n = 3/5.
All columns of H are nonzero and no column is a scalar multiple of another column. Therefore
the smallest number of linearly dependent columns is 3, hence d
=
_
1 0 1
0 1 1
_
G =
_
_
1 0 0
0 1 0
1 1 0 0 1
_
_
Page 12 of 13 EE 387, Autumn 2012
c. The syndrome of r using the check matrix H is
[ 1 1 1 1 1 ] H
T
= [ 1+1+1+1+0 0+1+++1 ] = [ 0 1 ] .
The syndrome equals the last column of H, so we conclude that the error location is the last
column and that the error magnitude is 1, that is, e = [ 0 0 0 0 1 ]. The resulting codeword
estimate is
c = r e = [ 1 1 1 1 1 ] [ 0 0 0 0 1 ] = [ 1 1 1 1 0 ] .
Note that c is the sum of the rst two rows of G, that is, c = [ 1 1 ] G.
d. If C were cyclic, then its generator polynomial must be of degree 2, and the rst row of
the systematic generator matrix G of part (b) must be the generator polynomial. But
[, , 1, 0, 0] x
2
+ x + is not a divisor of x
5
+ 1, which can be veried by division.
Another proof. The right cyclic shift of the codeword [ 1 1 1 1 0 ] is [ 0 1 1 1 1 ], which is not
a codeword; it fails both equations of the original H.
Another proof:
A more general argument. Over GF(4) the prime factorization of x
5
+ 1 is (x + 1)(x
4
+ x
3
+
x
2
+ x + 1). (The zeroes of the second term belong to GF(16) because their multiplicative
order is 5.) Thus there is no generator polynomial over GF(4) of blocklength 5 and degree 2.
Sample Final Examination Solutions Page 13 of 13