You are on page 1of 6

Chapter 7

7.1 (a) [Note typo: one parity-check bit will detect an odd number of errors, not even.]
If the k data bits sum to 1 (0), a 1 (0) is added as the priority check bit. The mod-2 sum
is then 0. If an odd number of the k + 1 bits transmitted is received in error, the mod-2
sum of these bits will be 1, denoting an error.
(b) If the k data bits sum to 1 (0), add a 0(1)- the complement. The mod-2 sum is
now 1. An odd number of bits in error results in a received mod-2 sum of 0,
denoting an error.
7.2 (a) Using (7.2), all four parity-check bits =0 for the codeword 000. For codeword
001, c4 = 0 1 = 0, c5 = 0 0 1 =1, c6 = 0 0 =1, c7 = 0 1 = 1, as shown in
Table 7.1. Same procedure for al the other codewords.
(b) Comparing (7.1) and (7.2),
h11 = 1 h21 = 1 h31 = 1 h41 = 0
h12 = 0 h22 = 1 h32 = 1 h42 = 1
h13 = 1 h23 = 1 h33 = 0 h43 = 1
Then P from (7.5), G from (7.4), and H from (7.14), result in (7.6), (7.7), and
(7.15) directly.
(c) From (7.11), or by transposing H as given by (7.15),

HT

1
0

= 1
0

0
0

1
1
1
0
1
0
0

1
1
0
0
0
1
0

0
1
1

0
0

0
1

(d) From Table 7.1, the received codewords with an error in the second digit are
given by
010 0000
011 1101
000 0111
001 1010
111 0011
100 1001
101 0100
Using (7.17), o0ne then finds, for each received codeword, the syndrome 0111, the
second column of H in (7.15).

7.3 (a)
1
1
P=
1

0
1
1
1

1
1
0

Note that this is the transpose of P in (7.6).

(b)

1 1 1 0 1 0 0

H = 0 1 1 1 0 1 0
1 1 0 1 0 0 1

1
1

HT = 0
1

0
0

0
1
1
1
0
1
0

1
1
0

1
0

0
1

(c ) k = 4; hence 16 codewords, found either from calculating the parity-check


bits using P , or from c = dG:
0000 000
0001 011
0010 110
Note that the Hamming distance is 3. Hence
0011 101
the code is single-error correcting. The Hamming
0100 110
bound, with r = 3, gives 2r = 8 = 1 + n = 8, in
0101 100
agreement with this.
0110 001
0111 010
1000 101
1001 110
1010 011
1011 000
1100 010
1101 001
1110 100
1111 111
(e) The P-matrices for the (7,3) and (7,4) codes are transpositions of one another.
7.4 {Note: Typo- The (11,5) code should read (11,4).]
For single-error correction, we have 2r 1+ n.
For double-error correction, we have 2r 1+ n + n(n-1)/2
For triple-error correction, we have 2r 1 + n + n(n-1)/2 + n (n-1)(n 2)/6
For the various codes we then have
(15,11): n = 15, r =4, 2r = 16 16 single-error correcting, efficiency = k/n = .73
(10,4): n =10, r= 6, 2r = 64 56, 2-error correcting, efficiency = .4
(11,4): n = 11, r =7, 2r = 128 67, 2-error correcting, efficiency = .36

(15,8): n = 15, r = 7, 2r = 128 121, 2-error correcting, effic. = .53


(15,5): n = 15, r = 10, 1024 576, 2-error correcting, effic. = .33
(23,12): n = 23, r = 11, 2048 2048, 2-error correcting, effic. = .52
(24,12): n = 24, r = 12, 4096 2325, 2-error correcting, effic. = .5
7.5 (a) Multiplying out the divisors, using mod-2 addition ( xi + xi = 0 ), we get
(x + 1) ( x3 + x + 1) = x4 + x2 + x +1
(x4 + x2 + x + 1) (x3 + x + 1) = x7 + 1
(b) (7,4) codes, with r =3, must have as their generator polynomials g(x) = x3 +
Hence the two possible codes must have g1(x) = x3 + x2 + 1 and g2(x) = x3 + x + 1
Starting with g1(x), we find the corresponding G by first calculating its polynomial
representation ; from this G immediately falls out. The polynomial form and the matrix G
are both shown below.
x 6 x 2 x
1 0 0 0 1 1 0

0 1 0 0 0 1 1
5
x 1
x

G=
x 4 x 2 x 1
0 0 1 0 1 1 1

x 3 x 2 1
0 0 0 1 1 0 1

Note, as explained in the text, we begin by writing g((x) in the last row, as shown here.
The row above is obtained by calculating xg1(x), i.e., shifting it one column to the left.
But the first four columns of G in this case must be given by the identity matrix. The
upward shift to the left in this case results, however, in x3 in the third and fourth rows. As
explained in the text, we get rid of the x3 term in the third row by adding g1(x) modulo 2
to the shifted term xg1(x). The resultant polynomial appears above in the third row. This
procedure is again repeated, shifting the third row polynomial up and to the left, by
multiplying by x. There is again a term x3 appearing in the forbidden place. We therefore
must again add g1(x) mod 2. Repeating this left and upward shift once more, we are left
with the polynomial shown above on the left.
A similar procedure using g2(x) results in G of problem 7.3.
7.6 (a) g(x) = x4 + x3 + x2 + 1 xr = x4 in this case.
For d = 001
d = 010

d(x) =1 x4 d(x) = x4 Dividing this term through by g(x), one gets


rem(x4/g(x)) = x3 + x2 + 1
c = 1101
d(x) = x

x4d(x) = x5 rem(x5/g(x)) = x2 + x + 1 c = 0111

d = 011 d(x) = x + 1

rem((x5 + x4)/ g(x)) = x3 + x

c = 1010

d = 111 d(x) = x2 + x + 1 rem((x6 + x5 + x4)/g(x)) = x2 c = 0100

7.8 (a) From (7.32) Pbl np2-r For various values of n, p, r one gets the following
table of Pbl
n(bits)
p= 10-5
p= 10-4
r =16 bits
250
3.8 x 10-8
3.7 x 10-7
-8
500
7.6 x 10
7.6 x 10-7
-7
1000
1.52 x 10
1.52 x 10-6
r = 12 bits

250
500
1000

6.1 x 10-7
1.2 x 10-6
2.4 x 10-6

r = 8 bits

250
500
1000

10-4
2 x 10-4
4 x 10-4

6.1 x 10-6
1.2 x 10-5
2.4 x 10-5
10-3
2 x 10-3
4 x 10-3

7.9 (a)

Input bits: 1 1
0
0
1
0
1
1
Output bits: 1 1 0 1 0 1 1 1 1 1 1 0 0 0 0 1
(b) Start in state a
Input New state Output
1
b
11
1
d
01
0
c
01
0
a
11
These all agree with (a) above.
1
b
11
0
c
10
1
b
00
1
d
01

7.10

(b) Grouping the nine digits three at a time to get octal numbers,
g1 = [ 111 101 011] = 7 5 3
g2 = [ 101 110 001] = 5 6 1

7.11

(a) Diagram same as Fig. 7.7, except that there are 3 outputs:, first two same as
Fig. 7.7, third output the mod-2 sum of stages 2 and 3.
(b) Same state diagram as Fig. 7.9,except that there are now 3 output bits on state
transitions:
State transition
output bits
a-a
000
a-b
110
b-c
101
b-d
011
c-a
111
c-b
001
d-c
010
d-d
100

Input: 1
1
0
0
1
0
1
1
Output: 1 1 0 0 1 1 0 1 0 1 1 1 1 1 0 1 0 1 0 0 1 0 1 1
7.12 (a) Note that the four survivors from the previous interval 4 are, one from each
state,
from state a: 11 01 01 11
c: 11 01 10 01
b: 00 00 00 11
d:
11 01 10 10
Comparing with the received set of bits over the four intervals, the difference is, for each
of these four survivors, respectively, 2,3,2,3. Moving to each of the 4 possible states in
interval 5 produces the total Hamming distances shown. The four survivors with the total
Hamming distances are those starred. Now tracing back on the sequence of bit pairs of
the survivor with the minimum distance 2, (one can use the encoder of Fig. 7.9, or Figs.
7.10 or 7.11), one finds the path back is cbaaa. Hence the most-likely bit
transmitted was a 0.
7.14 (a) (1) Using Figs. 7.9 or 7.10, the shortest path leaving and then returning to the
all-0 sequence of bits assumed the correct one, is a-b-c-a, with the bit sequence along this
path given by 11-10-11, for a total Hamming distance of 5 away from the all-0 sequence.
(2) Two paths with distance of 6: a-b-d-c-a
a-b-c-b-c-a
(3) Four paths with distance of 7:
a-b-d-d-c-a
a-b-c-b-c-b-c-a
a-b-d-c-b-c-a
a-b-c-d-c-a
Note: From the state diagram or the trellis representation of this encoder, it is apparent
that with an all-0 bit sequence transmitted, one must leave the correct sequence by way of
state b, and return by way of c, accounting for 4 units of the total Hamming distance.
(b) Focus on the bracket part of (7.34).
(1) Encoder of (a) above:
2l 1

(2 l )2
Bracket = l
2 1

Scanning through l: l =1, bracket = 6;


l = 2, bracket integer = 5;
l = 3, bracket integer = 6
Hence minimum free distance is upper-bounded by 5, the distance found in (a) above.
(2) Problem 7.10 encoder, with K = 9, = 2
2l 1

(8 l )2
Bracket = l
2 1

Scanning through l, the bracket integers are


l = 1, 18; l = 2, 13; l = 3, 12; l = 4, 12; l = 5, 13 The upper bound is now 12
(3) Problem 7.11 encoder, with K = 3, = 3
One now finds the free distance upper-bounded by 8
Note that the minimum free distance increase with both K and . Convolutional encoders
with larger K or , or both , thus provide better error performance.

7.15 (a) Consider (7.39). Wideband case: R << W


loge ( 1 + x ) x, x < < 1 loge 2 = 0.69 Then log2 ( 1 + x ) x/0.69
For R << W, C/W (R/W) (Eb/.N0)/0.69 But R < C and approaches C.
Hence, in the limit Eb/N0 > 0.69 or, indB measure, -1.6 dB
(b) Consider (7.39) again, but now for case R W . Since R C, we also have
C = W. Then, from (7.39) or (7.40), Eb min/W =1, or 0 dB as the limiting ratio in this case
of finite bandwidth.

You might also like