Вы находитесь на странице: 1из 3

TSDT16 Felrttande koder a

Solutions to the exam 2008-03-07


Danyo Danev, danyo@isy.liu.se

ter each step are as follows i s0 s1 0 1 0 0 0 1 0 1 1 s2 0 0 1 0 0 0 1 0 1 s3 0 0 0 1 0 0 0 0 1 s4 0 0 0 0 1 0 0 1 1 s5 0 0 0 0 0 1 0 0 1 s6 0 0 0 0 0 0 1 1 1

First we have to calculate the generator polynomial g(X). Since the code is binary and its length is 9 this polynomialis obtained as g(X) = X9 + 1 = X 7 + X 6 + X 4 + X 3 + X + 1. h(X)

1 2 3 4 5 6

1 0 0 0 1 0 0 0 1

The encoding circuit as given in Figure 5.1 (page 147 in Lin-Costello) is in this case as follows.

7 8 9

X u(X)

This shows that the syndrom polynomial s(X) of the received polynomial r(X) is
v(X)

s(X) = X 6 + X 5 + X 4 + X 3 + X 2 + X + 1. The syndrom computation circuit as given in Figure 5.5 (page 150 in Lin-Costello) is in this case as follows. 2

r(X)

The received vector r corresponding to the received polynomial r(X) = X + X 4 + X 8 is r = (0, 1, 0, 0, 1, 0, 0, 0, 1). The contents of the syndrom calculation shift register af1

According to equation (5.15) in Lin-Costello, the systematic for of the generator matrix is obtained from the polynomials bi (X), i = 0, 1, . . . , k 1. These polynomials are obtained as the remainders from the polynomial division of X nk+i by g(X). Alternatively, bi+1 (X), i = 0, 1, . . . , k 2 is obtained as the remainder from the polynomial division of Xbi (X) by g(X). The systematic parity-check matrix is obtained by the standard correspondence given by equations (3.4) and (3.7). The matrices G and H are given below.

TSDT16 Felrttande koder a

Solutions to the exam 2008-03-07

G=

1 0 1 1 0 0 1 1 0

0 1 0 1 1 0 0 1 1

1 1 0 1 0 1 1 1 1 1 1 1 1 0 1 0 1 1

1 0 1 1 0 1 0 0 1 0 1 1 0 1 1 0 0 1

1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0

0 0 0 0 0 0 and 0 1

If n = 3s we have that the last n d = s positions of c(3) have to be ones. This must be valid for any codeword in C dierent from c(1) and c(2) . Since dH (c(i) , c(j) ) d for any 3 i < j M we must have that c(i) and c(j) ) dier in all rst d positions for arbitrary i and j, 3 i < j M . Since C is binary code, this is only possible if M 4. Obviously if M = 4 we can choose the codewords c(3) and c(4) as c(3) = (1, 1, . . . , 1, 0, 0, . . . , 0, 1, 1, . . . , 1)
s s s

c(4) = (0, 0, . . . , 0, 1, 1, . . . , 1, 1, 1, . . . , 1).


s s s

This shows that A(n, 2s) = 4 for n = 3s. 4

H= 3

1 0 0 0 0 0

0 0 1 0 0 1 0 0 0 0 0 0

0 0 0 0 0 0 1 0 0 1 0 0

0 1 0 0 0 1 0 1 0 1 1 0

0 1 1 0 0 0 1 1 1 0 1 1

1 0 1 1 1 1 1 1 0 1 0 0

0 0 1 1 1 1

1 1 0 1 1 1 0 0 0 1 1 0

1 For calculations in GF(23 ) genearted by the primitive 1 polynomial 1 + X + X 3 the following table can be eas ily created. 1 0 Vector Polynomial Vector 1 repr. 0 1
2

repr. 0 1
2

repr.

(000) (100) (010) (001) (110) (011) (111) (101)


2

Let C = {c
(1)

,c
(2)

,...c

(M)

3
4

1+ + 1 + + 2 1+
2

be an arbitrary binary error-correcting code of length n, cardinality M and minimum distance d = 2s n. Without lost of generality we can assume that the all-zero vector 0 = (0, 0, . . . , 0) is a codeword, i.e. c(1) = (0, 0, . . . , 0). If M 2 without any restrictions we can assume that c(2) = (1, 1, . . . , 1, 0, 0, . . . , 0).
d nd n n

5
6

The syndrome components of the received vector r = (0, 3 , , 0, 2 , 5 , 0), which corresponds to the polynomial r(X) = 3 X + X 2 + 2 X 4 + 5 X 5 are S1 = r() = 4 + 3 + 6 + 3 = 3 , S2 = r(2 ) = 5 + 5 + 3 + = 1, S3 = r(3 ) = 6 + 1 + 1 + 6 = 0, S4 = r(4 ) = 1 + 2 + 4 + 4 = 6 , The iterative procedure for nding the error location polynomial is shown in the following table.

Let us assume that M 3. For the codeword c(3) we have that its Hamming weight wH (c(3) ) is at least d since dH (c(1) , c(3) ) d and also that its Hamming weight wH (c(3) ) is at most n d/2 = n s, since dH (c(2) , c(3) ) d. Thus we must have d = 2s n s, which is equivalent to n 3s. This shows that A(n, 2s) = 2 for 2s n < 3s.

TSDT16 Felrttande koder a

Solutions to the exam 2008-03-07

1 0 1 2 3 4

() (X) 1 1 1 + 3 X 1 + 4 X 1 + X + X
4 2

d 1 3 2 4
5

l 0 0 1 1 2 2

l 1 0 0 1 1 2

01

S3

1/10

S3

1/10

S3

0/0
S2

1
S2

0/0

1
S2

0/0

1
S2

1 0 0 2
S0 S1

01

1/

1/

1/

01

0/1

0 0/1 1/0

0
S1

0 0/1 1/0

0/1

0/

0/

0/

0/

S1

S1

11
1

11
1

11

11

1/1

1/1
S0

1/1
S0

1/1
S0

0/00

0/00

0/00

0/00 S0

0/00 S0

0/00 S0

1 + 2 X + 6 X 2

The error location polynomial is (X) = 1+2 X +6 X 2 . The roots of this polynomial are 1 = 0 , . Hence the error location numbers are 0 , 6 . From the syndrome components of the received polynomial and the coecients of the error location polynomial, we nd the error value evaluator, Z0 (X) = S1 + (S2 + 1 S1 )X = 3 + (1 + 2 3 )X = + X.
3 4

The path that maximizes the path-metric is given in the gure below. The metric value and the surviving path for the corresponding node are also given. The received vector is given at the bottom of the gure.

20
S3 1/10

37
S3 1/10

53
S3

0/0

0/0

0/0

4
01
0/1 0
S2

34
01
0 0/1 1/0
S2

50
01
0 0/1 1/0
S2

65
0/1 0
S2

1/

1/

1/

4
S1

23
S1

34
S1

42
0/ 0/
S1

0/ 11
1

0/ 11
1

11

11

0
S0

1/1

15
S0

1/1

23
S0

1/1

34
S0

1/1

42
0/00 S0

57
0/00 S0 01 02 11 11

81
S0

0/00 01 02

0/00 01 11

0/00 02 12

0/00 11 01

Thus the maximum-likelihood message is m = (0111). For the derivative (X) of the error location polynomial we have (X) = 2 . The error values at the positions X 0 and X 6 are e0 = Z0 (1) 3 + 4 = 4 , = (1) 2 3 + 5 Z0 (6 ) = 1. e6 = 6 = ( ) 2

Consequently, the error pattern is e(X) = 4 + X 6 and the decoded codeword polynomial is c(X) = r(X)e(X) = 4 +3 X+X 2 +2 X 4 +5 X 5 +X 6 , which corresponds to the codeword c = (4 , 3 , , 0, 2 , 5 , 1). 5

The trellis for the rate one-half convolutional code used is given in the following gure.

Вам также может понравиться