You are on page 1of 13

EE 387 December 10, 2012

Algebraic Error-Control Codes Handout #30


Sample Final Examination Solutions
1. True/false questions. Briey justify each answer.
a. Every group of order 8 has a subgroup of order 4.
b. There is no way to dene to make {0, 1, 2, 3} with modulo 4 addition into a eld.
c. Every linear block code has at least one systematic generator matrix G = [ P | I ] .
d. Every systematic linear block code has exactly one systematic generator matrix.
e. The (n, k) cyclic code generated by g(x) = g
0
+ g
1
x + g
2
x
2
+ + g
nk
x
nk
and the (n, k)
cyclic code generated by the reciprocal polynomial g(x) = x
nk
g
1
0
g(x
1
) have the same
weight distribution.
f. Every (n, k) Reed-Solomon code can correct burst erasures of length n k.
g. Consider a t-error-correcting BCH code, and a received senseword with < t errors. The
Berlekamp-Massey algorithm at step k 2 + 1 will always have discrepancy
(k)
= 0.
Solution
a. True. Since 8 = 2
3
, the order of every element of the group is a power of 2. Let m be
the largest order. If m = 8 then the group is cyclic with generator a, hence the subgroup
generated by a
2
has order 4. If m = 2 then the group is commutative, and the subgroup
generated by any two nonidentity elements a and b is {e, a, b, ab}, which has order 4. Finally,
if m = 4 then there exists an element of order 4, which generates a subgroup of order 4.
b. True. Since 2 = 1+1, by the distributive law 22 = (1+1)(1+1) = 1+1+1+1 = 0 mod 4.
Therefore this multiplication has zero divisors and cannot dene a eld.
c. False. The code generated by the following matrix does not have a systematic generator
matrix.
G =
_
1 1 0 0
0 0 1 1
_
However, the equivalent code obtained by exchanging the two inner columns is systematic.
d. True. A systematic generator matrix of the form G = [ P | I ] is unique because each row
determines the check bits corresponding to a single nonzero message bit.
e. True. Since the minimum distance of a Reed-Solomon code is nk +1, every subset of nk
columns of its check matrix is nonsingular, so n k erasures can be corrected by solving a
linear system of equations. Burst erasures are merely a special case of random erasures.
f. True. The reciprocal polynomial is the mirror image of the generator polynomial, and the
codewords generated by g(x) are reversals of corresponding codewords generated by g(x).
Since mirror images have the same Hamming weight, the two codes have the same weight
distribution.
g. True. By the end of step 2 the rst 2 partial syndromes have been used to determine the
error locator polynomial. The discrepancy is zero at subsequent steps because the error locator
polynomial coecients satisfy the linear equations S
j

+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

2 (x). Both minimal polynomials have degree 2.


The minimal polynomials can be computed in several ways. The direct method is to multiply
the linear factors using GF(25) arithmetic.
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)/2 = (5 1)/2 = 2 errors.


e. Since other partial syndromes are nonzero, we know that the number of errors is not zero.
Since M
1
= [ S
1
] = [ 0 ] is a singular matrix, we know that the number of errors is not one.
Thus we assume that there are two errors and that the error locator polynomial has degree 2.
The coecients of (x) = 1 +
1
x +
2
x
2
can be found by solving the following system of
linear equations.
M
2
_

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

= 7. In fact, one codeword of minimum


weight is 111011001010000, the generator polynomial. The weight enumerator of C
2
can also
be found by examining each codeword.
A
2
(x) = 1 + 15x
7
+ 15x
8
+ x
15
.
i. A linear block code can correct all bursts of length l if and only if no nonzero codeword is
the sum of two bursts of length l. By examining each of the 31 nonzero codewords of C
2
,
Sample Final Examination Solutions Page 9 of 13
we can verify that no codeword is the sum of two burst of length 5. On the other hand, by
the Rieger bound, the burst error correcting ability is at most (n k)/2 = 5. Therefore the
burst error correcting ability is 5, the same as C
1
.
j. An uncorrectable error occurs when there are four or more bit errors. The probability of an
uncorrectable error is
P
ue
=
15

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

3. On the other hand,


by the Singleton bound, d

n k + 1 = 3. Thus the minimum distance is 3. Note: C is a


Hamming code over GF(4).
b. We obtain a systematic parity-check matrix of the form [ I | P
T
] by adding the second row
of H to the rst row.
H

=
_
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

You might also like