solutions chapter 11 part1

6
Error Control Coding — week 2: Encoding of convolutional codes 1 Solutions to selected problems from Chapter 11 11.1 (a) The structure of the encoder realized in the controller canonical form (CCF) is shown in Figure 1. v (3) u v (1) v (2) Figure 1: Encoder in the CCF for the rate R =1/3 convolutional code. (b) The encoder has memory m = 2 and rate R =1/3. The generator matrix is G(D)=[g (0) (D) g (1) (D) g (2) (D)] = [1 + D 1+ D 2 1+ D + D 2 ]. Equivalently, we can write G(D)= G 0 + G 1 D + G 2 D 2 with G 0 = [1 1 1]; G 1 = [1 0 1]; G 2 = [0 1 1]. In time domain, the generator matrix is the semi-infinite matrix with the structure G = G 0 G 1 G 2 G 0 G 1 G 2 G 0 G 1 G 2 . . . . . . . . . which yields G = 111 101 011 111 101 011 111 101 011 . . . . . . . . . . (c) The codeword corresponding to the information sequence u = (1 1 1 0 1) is given by v = uG = (111 010 001 110 100 101 011 000 ...).

Upload: skh1987

Post on 13-Feb-2016

219 views

Category:

Documents


0 download

DESCRIPTION

chapter11

TRANSCRIPT

Page 1: Solutions Chapter 11 Part1

Error Control Coding — week 2: Encoding of convolutional codes 1

Solutions to selected problems from Chapter 11

11.1 (a) The structure of the encoder realized in the controller canonical form(CCF) is shown in Figure 1.

��

��

��

��

v(3)

u

v(1)

v(2)

Figure 1: Encoder in the CCF for the rate R = 1/3 convolutional code.

(b) The encoder has memory m = 2 and rate R = 1/3. The generator matrixis

G(D) = [g(0)(D) g(1)(D) g(2)(D)] = [1 +D 1 +D2 1 +D +D2].

Equivalently, we can write

G(D) = G0 + G1D + G2D2

withG0 = [1 1 1]; G1 = [1 0 1]; G2 = [0 1 1].

In time domain, the generator matrix is the semi-infinite matrix with thestructure

G =

G0 G1 G2

G0 G1 G2

G0 G1 G2

. . . . . . . . .

which yields

G =

1 1 1 1 0 1 0 1 1

1 1 1 1 0 1 0 1 11 1 1 1 0 1 0 1 1

. . . . . . . . .

.(c) The codeword corresponding to the information sequence u = (1 1 1 0 1)

is given by

v = uG = (111 010 001 110 100 101 011 000 ...).

Page 2: Solutions Chapter 11 Part1

Error Control Coding — week 2: Encoding of convolutional codes 2

11.2 (a) The generator sequences of the convolutional encoder in Figure 11.3 onpage 460 are given by expressions (11.21a)-(11.21c) on the same page inthe book. Thus we obtain that the generator matrix of this rate R = 3/4code is

G(D) =

g(0)1 (D) g

(1)1 (D) g

(2)1 (D) g

(3)1 (D)

g(0)2 (D) g

(1)2 (D) g

(2)2 (D) g

(3)2 (D)

g(0)3 (D) g

(1)3 (D) g

(2)3 (D) g

(3)3 (D)

=

1 1 1 10 1 +D D 10 D 1 +D2 1 +D2

.Equivalently, we can write

G(D) = G0 + G1D + G2D2

with

G0 =

1 1 1 10 1 0 10 0 1 1

; G1 =

0 0 0 00 1 1 00 1 0 0

; G2 =

0 0 0 00 0 0 00 0 1 1

.(b) The time-domain generator matrix is given by

G =

G0 G1 G2

G0 G1 G2

G0 G1 G2

. . . . . . . . .

=

1111 0000 00000101 0110 00000011 0100 0011

1111 0000 00000101 0110 00000011 0100 0011

. . . . . . . . .

.

(c) The codeword corresponding to the information sequence u = (110 011 101)is given by

v = uG = (1010 0000 1110 0111 0011 0000 ...).

11.3 (a) See solution of Problem 11.1 b).

(b) The input sequence u(D) = 1 + D2 + D3 + D4 (which corresponds tothe time domain sequence u=1111) is encoded as the codeword v(D) =(v(0)(D) v(1)(D) v(2)(D)) according to

v(D) = u(D)G(D) = (1 +D2 +D3 +D4)[1 +D 1 +D2 1 +D +D2]

= (1 +D +D2 +D5 1 +D3 +D5 +D6 1 +D +D4 +D6).

11.4 (a) The memory m = 1, rate R = 2/3 convolutional encoder shown in Figure11.2 on page 457 in the book has the generator matrix

G =

[1 +D D 1 +DD 1 1

].

The composite generator polynomials are (cf. expression (11.37) in thebook)

g1(D) = 1 +D2 +D3 +D4 +D5; g2(D) = D +D2 +D3.

Page 3: Solutions Chapter 11 Part1

Error Control Coding — week 2: Encoding of convolutional codes 3

(b) The information sequence u(D) = (u(1)(D) u(2)(D)) = (1 +D+D3 1 +D2 +D3) is encoded as the codeword v(D) = (v(0)(D) v(1)(D) v(2)(D))according to

v(D) = u(D)G(D) = (1 +D +D3 1 +D2 +D3)

[1 +D D 1 +DD 1 1

]= (1 +D +D2 1 +D +D3 +D4 D4),

which corresponds to time-domain sequence of 3-tuples

v = (110 110 100 010 011),

and, which, equivalently, can be written as a polynomial

1 +D +D3 +D4 +D6 +D10 +D13 +D14.

11.5 (a) The generator polynomials of this memory m = 5, rate R = 1/3 system-atic encoder are, in D-domain,

g(0)(D) = 1; g(1)(D) = 1+D2 +D3 +D5; g(2)(D) = 1+D+D4 +D5,

which yields

G(D) = G0 + G1D + G2D2 + G3D

3 + G4D4 + G5D

5

with

G0 = [1 1 1]; G1 = [0 0 1]; G2 = [0 1 0]; G3 = [0 1 0]; G4 = [0 0 1]; G5 = [0 1 1].

Thus, the time-domain generator matrix is

G =

111 001 010 010 001 011

111 001 010 010 001 011111 001 010 010 001 011

. . . . . . . . . . . .

.(b) The parity sequences corresponding to the input sequence u = (1 1 0 1),

that is, u(D) = 1 +D +D3, are

v(1)(D) = u(D)g(1)(D) = 1 +D +D2 +D3 +D4 +D8

v(2)(D) = u(D)g(2)(D) = 1 +D2 +D3 +D6 +D7 +D8

or, in time-domain,

v(1) = (1 1 1 1 1 0 0 0 1)

v(2) = (1 0 1 1 0 0 1 1 1).

Page 4: Solutions Chapter 11 Part1

Error Control Coding — week 2: Encoding of convolutional codes 4

��

�� ��

���

v(2)

u(1)

u(2)

v(0)

v(1)

Figure 2: CCF realization of the rate R = 2/3 convolutional encoder.

��

�� �� ��

��

v(2)

u(1)

u(2)

v(0)

v(1)

Figure 3: OCF realization of the rate R = 2/3 convolutional encoder.

11.6 The generator matrix of this memory m = 3, rate R = 2/3 systematic encoderis given by

G(D) =

[g

(0)1 (D) g

(1)1 (D) g

(2)1 (D)

g(0)2 (D) g

(1)2 (D) g

(2)2 (D)

]=

[1 0 1 +D2 +D3

0 1 1 +D +D3

].

(a) The controller canonical form (CCF) realization of the encoder requires6 memory elements and it is shown in Figure 2.

(b) The observer canonical form (OCF) realization of the encoder requiresonly 3 memory elements and it is shown in Figure 3.

11.8 The OCF realization of the systematic generator matrix

G(D) =[1 1+D2

1+D+D21+D

1+D+D2

]is shown in Figure 4. The overall constraint length of G(D) is ν = 2. Notethat this is the number of memory elements required for the CCF, not for theOCF!

11.14 (a) The generator polynomials are relatively prime, that is, their greatestcommon divisor is GCD = 1.

(b) Since the GCD = 1, the right inverse G−1(D) must satisfy

G(D)G−1(D) = I,

that is,[1 +D2 1 +D +D2] G−1(D) = 1.

Page 5: Solutions Chapter 11 Part1

Error Control Coding — week 2: Encoding of convolutional codes 5

����

��

��

��

u v(0)

v(1)

v(2)

Figure 4: OCF realization of the rate R = 1/3 systematic convolutional encoder.

By inspection, we easily find

G−1(D) =

[1 +DD

].

11.15 (a) The generator polynomials are not relatively prime. Their greatest com-mon divisor is GCD = 1 +D2. Thus, the encoder is catastrophic and thepolynomial right inverse of the generator matrix does not exist.

(b) The encoder’s state diagram is shown in Figure 5.

0/11

000

100

001

010 101

110

011

1110/00

1/11

0/01

1/10

1/10

0/01

0/11

1/00

0/00

1/11

1/01

0/10

0/10

1/01

1/00

Figure 5: State transition diagram of a catastrophic encoder.

(c) The cycles through the states 2 − 5 − 2 and 7 − 7 both produce zerooutput weight, while the corresponding input is non-zero.

(d)+(e) The encoder is catastrophic, hence, there exists an infinite-weight inputsequence that produces finite-weight output code sequence. In our case,input sequences that bring the encoder in one of the two zero-weightcycles we found in part c) result in finite-weight output sequences. Forexample, infinite weight sequence

u = 1010101010...

Page 6: Solutions Chapter 11 Part1

Error Control Coding — week 2: Encoding of convolutional codes 6

that is,u(D) = 1 +D2 +D4 +D6 +D8 +D10 + ...

yields the state sequence 0−4−2−5−2−5−2−.... and the correspondingoutput code sequence has only weight 3:

v = (11 01 00 00 00 ...)

that is,v(D) = (v(0)(D) v(1)(D)) = (1 1 +D).

11.16 For a systematic (n, k, ν) encoder, the k × n generator matrix is of the form

G(D) = [Ik | P (D)]

where Ik is the k×k identity matrix corresponding to the systematic symbolsand P (D) is a k× (n−k), in general rational, matrix corresponding to paritysymbols. The polynomial (feedforward) right inverse G−1(D) with delay l = 0must be such that

G(D)G−1(D) = Ik.

Clearly, the matrix satisfying this condition is given by

G−1(D) =

[Ik

0(n−k)×k

],

where 0(n−k)×k is the all-zero matrix of size (n− k)× k.