Professional Documents
Culture Documents
Solution
a. True. Since 8 = 23 , 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 a2 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 2 × 2 = (1 + 1)(1 + 1) = 1 + 1 + 1 + 1 = 0 mod 4.
Therefore this multiplication has zero divisors and cannot define a field.
c. False. The code generated by the following matrix does not have a systematic generator
matrix.
1 1 0 0
G=
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 n − k + 1, every subset of n − k
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 first 2ν partial syndromes have been used to determine the
error locator polynomial. The discrepancy is zero at subsequent steps because the error locator
polynomial coefficients satisfy the linear equations Sj Λν +Sj+1Λν−1 +· · ·+Sj+ν−1 Λ1 +Sj+ν = 0
where 2ν < j ≤ 2t.
2. Computations in GF(1009). Hint: 1009 is prime.
a. In GF(1009) find 9991012 . Hint: calculator not needed.
b. In GF(1009) find 999−1 .
c. In GF(1009) how many primitive elements are there?
Solution
Solution
a. The bits of the product are linear combinations of the input bits. Multiplication by b is
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 efficient 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 8 8 32 32 32
2 = 28 3 = 56 4 = 70 8 = 10518300 9 = 28048800 10 = 64512240
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:
Pmc = 12 84 (10−2 )4 (0.99)4 + 85 (10−2)5 (0.99)3 + · · · + 88 (10−2 )8
Solution
a. It was shown in class that over any finite field there is at least one prime quadratic polynomial;
call it x2 + ax + b. If a 6= 0 then there is nothing more to do. If a = 0, then x2 + 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 = u2 + 2u + (b + 1) with linear coefficient 2, which
is nonzero in every field of characteristic greater than 2.
Counting argument. There are (q − 1)2 polynomials of the form x2 + ax + b with a 6= 0, b 6= 0.
The number of polynomials of the form (x − β)(x − γ) with β 6= 0, γ 6= 0 is q−1
2
+ (q − 1) =
q(q − 1)/2 < q − 1.
b. By part (a) there exists a prime polynomial x2 + ax + b with a 6= 0. (Obviously, b 6= 0.) Since
6. BCH code over GF(5). Let α be a primitive element of GF(25) whose minimal polynomial over
GF(5) is p(x) = x2 + x + 2. Powers of α are given in the following table.
i αi u −(u2 + u)
0 [1 0] = 1 α0 α18
1 [0 1] = z α1 α6
2 [ 3 4 ] = 3 + 4z α2 α19
3 [ 2 4 ] = 2 + 4z α3 α17
4 [ 2 3 ] = 2 + 3z α4 α3
5 [ 4 4 ] = 4 + 4z α5 α6
6 [2 0] = 2 α6 α12
7 [ 0 2 ] = 2z α7 α16
8 [ 1 3 ] = 1 + 3z α8 α24
9 [ 4 3 ] = 4 + 3z α9 α16
10 [4 1] = 4 + z α10 α23
11 [ 3 3 ] = 3 + 3z α11 α8
12 [4 0] = 4 α12 0
13 [ 0 4 ] = 4z α13 α23
14 [2 1] = 2 + z α14 α17
15 [3 1] = 3 + z α15 α13
16 [ 3 2 ] = 3 + 2z α16 α24
17 [1 1] = 1 + z α17 α19
18 [3 0] = 3 α18 α18
19 [ 0 3 ] = 3z α19 α15
20 [ 4 2 ] = 4 + 2z α20 α15
21 [ 1 2 ] = 1 + 2z α21 α8
22 [ 1 4 ] = 1 + 4z α22 α13
23 [ 2 2 ] = 2 + 2z α23 α3
a. Let C1 be the narrow-sense (24, 20) BCH code over GF(5) based on the primitive element α.
Find the generator polynomial for C1 . (You may leave your answer as a product of minimal
polynomial factors.)
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 first 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 − a5 ) = x2 − (α + α5 )x + α6
= x2 − ([ 0 1 ] + [ 4 4 ])x + 2 = x2 − 4x + 2 = x2 + x + 2
mα2 (x) = (x − α2 )(x − a10 ) = x2 − (α2 + α12 )x + α12
= x2 − ([ 3 4 ] + [ 4 1 ])x + 4 = x2 − 2x + 4 = x2 + 3x + 4
Another method is to solve linear equations over GF(5). For mα1 (x) = x2 + b1 x + b0 :
" # " # " # " #
0 3 0 1 b0 = −3 = 2
0 = mα1 (α1 ) = α2 + b1 α + b0 ⇔ = + b1 + b0 ⇔
0 4 1 0 b1 = −4 = 1
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∗ satisfies d∗ ≥ 4 + 1 = 5. Therefore C2 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 M1 = [ S1 ] = [ 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 coefficients of Λ(x) = 1 + Λ1 x + Λ2 x2 can be found by solving the following system of
linear equations.
" # " #" # " # " #" # " # " #
Λ2 S1 S2 Λ 2 S3 0 α16 Λ2 α15 α3
M2 = =− ⇔ = − 8 = 20
Λ1 S2 S3 Λ 1 S4 α16 α15 Λ1 α α
Since det M2 = S1 S3 − S22 = −α32 = α20 6= 0, we can solve for Λ1 , Λ2 in the above set of
equations. The first row of M2 yields
α16 Λ1 = α3 ⇒ Λ1 = α3−16 = α11 .
Using this value of Λ1 , the second row of M2 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 .
7. Comparing two cyclic codes. Let C1 be the (15,5) binary linear block code formed by interleaving
five codewords of the (3,1) repetition code. Let C2 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 C1 .
b. Find the minimum distance of C1 .
c. Find the weight enumerator A1 (x) of C1 .
d. What is the burst error correcting ability of C1 ?
e. Find the uncorrectable error probability for C1 over a channel with raw error rate 10−4 .
f. Find the generator polynomial of C2 .
g. What is the rate of C2 ?
h. What is the minimum distance of C2 ?
i. What is the burst error correcting ability of C2 ?
j. Find the uncorrectable error probability for C2 over a channel with raw error rate 10−4 .
Solution
a. Each information bit is repeated twice—five and ten bits later. Therefore the generator matrix
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 k5 codewords of weight 3k . The weight enumerator is
5
X 5
A(x) = x3k = 1 + 5x3 + 10x6 + 10x9 + 5x12 + x15 .
k
k=0
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
g2 (x) = 1 + x + x2 + x4 + x5 + x8 + x10 .
(The codewords are listed in lexicographic order, so the generator polynomial is a left shift of
the first nonzero codeword in the list.)
g. The number of codewords is M = 32. Therefore the rate of C2 is R = n1 log2 M = 15 5
= 13 .
Note that the rates of C1 and C2 are both 1/3, which justifies 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 C2 can also
be found by examining each codeword.
A2 (x) = 1 + 15x7 + 15x8 + x15 .
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 C2 ,
Solution
a. Since 13 is a divisor of 4095, the order of β is 4095/13 = 315. Therefore β does not belong
to any proper subfield (GF(26 ) or GF(24 )), so its minimal polynomial over GF(2) is the
dimension over GF(2) of the field GF(212 ), 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 subfield 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 subfield, and its minimal polynomial has degree 12. However, γ 3 has
order 45/3 = 15, so γ 3 belongs to GF(24 ) 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(f1 (x), f3 (x), . . . , f2t−1 (x)) .
The factors fi (x) of g(x) are minimal polynomials over GF(2) of αi , where α is primitive.
Solution
10.Extended Reed-Solomon code. Let C be the linear block code over GF(4) with the following
parity-check matrix.
1 1 1 1 0
H= .
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 1 β δ β β −1
0 0 1 β δ 0 0 0 0 0 0 −
1 1 0 δ β 1 0 1 β δ 1 1
β β δ 0 1 β 0 β δ 1 β δ
δ δ β 1 0 δ 0 δ 1 β δ β
Solution