0% found this document useful (0 votes)
13 views16 pages

Detail Sol Prob Ch6

The document provides detailed solutions to problems related to convolutional codes, including state diagrams, trellis representations, and calculations of minimum Hamming distances. It discusses various encoder configurations, their generator polynomials, and the implications of catastrophic codes. Additionally, it illustrates decoding processes using examples of received sequences and their corresponding Hamming distances.

Uploaded by

VIAN ADNAN
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views16 pages

Detail Sol Prob Ch6

The document provides detailed solutions to problems related to convolutional codes, including state diagrams, trellis representations, and calculations of minimum Hamming distances. It discusses various encoder configurations, their generator polynomials, and the implications of catastrophic codes. Additionally, it illustrates decoding processes using examples of received sequences and their corresponding Hamming distances.

Uploaded by

VIAN ADNAN
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 16

Convolutional Codes.

Detailed solutions to problems

6.1)
The following figure corresponds to the convolutional encoder with generator
polynomials g ( 1 ) ( D ) = D + D 2 , g ( 2 ) ( D ) = 1 + D and g ( 3 ) ( D ) = 1 + D + D 2 .

c (1 )

c( 2 )
m

c(3 )

The corresponding state diagram is the following:


0/000

1/011 0/101
Sa = 00

1/110

Sb = 10 Sc = 01
0/111

1/100 Sd = 11 0/010

And the trellis is: 1/001

t1 t2 t3 t4
0/000 0/000 0/000
Sa = 00
1/011 1/011 1/011 0/101

Sb = 10
1/110
0/111 0/111

Sc = 01

1/100 0/010 1/100

Sd = 11
1/001
Convolutional Codes. Detailed solutions to problems

The following figure shows the path that determines the minimum Hamming free
distance of this code, which is equal to d f = 6 . Transitions of the trellis are denoted by
its Hamming weight with respect to the all-zero sequence.
t1 t2 t3 t4 t5
0/000 0/000 0/000 0/000
Sa = 00 df = 6
2 2 2 2 2 2

Sb = 10
2 2
3
3 3

Sc = 01
1 1
1 1 1

Sd = 11
1 1

For the message sequence m = ( 000 ) the code sequence is c = (000 000 000 ) . If
the received sequence is s r = (001 001 000 ) , then the decoding performs as
follows:

001 001 000


t1 t2 t3 t4
1 1 0
Sa = 00 d acc = 2
1 2 2
1

Sb = 10 d acc = 4
2
2
3
Sc = 01 d acc = 4

2 1 1
d acc = 3
Sd = 11
1

At the time instant t 4 a decision is taken. The discarded paths are in doted lines.
Transitions of the trellis are denoted by its Hamming weight with respect to the
received sequence. The minimum accumulated Hamming distance at that point is
d acc = 2 , and the decoded path is the code sequence c = (000 000 000 ) . Thus, the
decoding was successful, and two errors were corrected.

The code is not catastrophic because there are no loops of zero weight at states
different form the all-zero state Sa = ( 00 ) .
Another way of determining this condition is by verifying if the generator polynomials
have some common factor different from D l .
Convolutional Codes. Detailed solutions to problems

6.2)

k = 1 , n = 3 , K = 2 , g (1 ) ( D ) = 1 + D 2 , g ( 2 ) ( D ) = D and g ( 3 ) ( D ) = D + D 2

c (1 )

m c( 2 )

c(3 )

The following table describes the transitions of the corresponding trellis.

Input m i State at t i State at t i +1 c (1 ) c(2 ) c(3)


- 00 00 - - -
0 00 00 0 0 0
1 00 10 1 0 0
0 01 00 1 0 1
1 01 10 0 0 1
0 10 01 0 1 1
1 10 11 1 1 1
0 11 01 1 1 0
1 11 11 0 1 0

The trellis is the following:


t1 t2 t3 t4
0/000 0/000 0/000
Sa = 00
1/100 1/100 1/100 0/101

Sb = 10
1/001
0/011 0/011

Sc = 01

1/111 0/110 1/111

Sd = 11
1/010

The minimum Hamming free distance is calculated considering the path that emerges
from and arrives at the all-zero state that has the minimum Hamming weight.
Convolutional Codes. Detailed solutions to problems

df = 5
t1 t2 t3 t4 t5
0/000 0/000 0/000 0/000
Sa = 00
1 1 1 2 2

Sb = 10
1

2 2 2
Sc = 01

3 2 3 2 3

Sd = 11
1 1

The code is systematic, because a delayed version of the message sequence is equal
to the sequence generated at output c ( 2 ) .

6.3) For the convolutional encoder seen in the following figure, the generator
polynomials are:

c (1 )

c(2 )

g (1 ) ( D ) = 1 + D 2
g(2)(D ) = D + D2
Since:
g (1 ) ( D ) = 1 + D 2 = (1 + D )(1 + D )
and
g ( 2 ) ( D ) = D + D 2 = D (1 + D ) ,
then the MCD is MCD = 1 + D ≠ D l , and the code is catastrophic.

The following table describes the transitions of the corresponding trellis.


Convolutional Codes. Detailed solutions to problems

Input m i State at t i State at t i +1 c (1 ) c(2 )


- 00 00 - -
0 00 00 0 0
1 00 10 1 0
0 01 00 1 1
1 01 10 0 1
0 10 01 0 1
1 10 11 1 0
0 11 01 1 0
1 11 11 0 0

The loop at state Sd (11 ) has zero weight, and the code is catastrophic.

For the input sequence m = (101) , the output sequence is c = (10 01 01)
(Please see in answers to problems in the book that there is a typing error for this
solution).

6.4) The convolutional encoder seen in the following figure has the following trellis:

c (1 )

c(2 )

m c(3 )

0/000

0/011

1/110

1/101

The constraint length is equal to K + 1 = 2


and the minimum Hamming distance is equal to d f = 4 and it is evaluated as seen in
the following figure:
0/000 0/000

2 2
Convolutional Codes. Detailed solutions to problems

The output sequence for the input sequence m = (1110100 ) is


c = (110 101 101 011 110 011 000 )

0/000

1/110 0/011 1/110 0/011

1/101 1/101

6.5)

For the convolutional encoder seen in the following figure:


c (1 )

c(2 )

The trellis is:


t1 t2 t3 t4
0/00 0/00 0/00
Sa = 00
1/10 1/10 1/10 0/11

Sb = 10
1/01
0/11 0/11

Sc = 01

1/01 0/00 1/01

Sd = 11
1/10

And the minimum Hamming distance is equal to d f = 4 :


Convolutional Codes. Detailed solutions to problems

t1 t2 t3 t4 t5
0/00 0/00 0/00 0/00
Sa = 00 df = 4
1 1 1 2 2

Sb = 10
1 1

2 2 2
Sc = 01

1 0 1 0 1

Sd = 11
1 1

The impulse response is the output for the input sequence m = (10000 ...) . This can be
determined in different ways. One of them is by means of the trellis representation.
Another way is obtained by inspection of the generator polynomials, which are
essentially defined as the impulse responses of the FSSM:

g (1 ) ( D ) = 1 + D + D 2
g(2)(D ) = D + D2
if m( D ) = 1 , then:

c IR = (10 11 11)

The generating function is obtained using the modified state diagram seen in the
following figure:

X
S3 = 11 1

X X2

S0 = 00 S1 = 10 S2 = 01 S0 = 00
2
X

X
S0 = 1 , S1 = X + XS2
Convolutional Codes. Detailed solutions to problems

S2 = X 2 S1 + S3 ,
S3 = XS1 + XS3 ,
T ( X ) = X 2 S2

X  X  X2 − X3 + X 
S3 = S1 , S2 = S1  X 2 + = S  ,
1 − X 
1
1− X   1−X 
1− X 1− X
S1 = S2 , S2 = X + XS2 ,
X + X2 − X3 X + X2 − X3
S2 − XS2 = X 2 + X 3 − X 4 + X 2 S2 + X 3 S2 − X 4S2 ,
(1 − X − X 2
− X 3 + X 4 )S2 = X 2 + X 3 − X 4 ,
X2 + X3 − X4
S2 = ,
1− X − X2 − X3 + X4

X2 + X3 − X4 X4 + X5 − X6
T ( X ) = X 2 S2 = X 2 2 3 4
=
1−X −X −X + X 1− X − X2 − X3 + X4

X4 + X5 − X6 /1 − X − X 2 − X 3 + X 4
− (X 4 − X 5 − X6 − X7 + X8 ) X 4 + 2 X 5 + 2 X 6 + ...
−−−−−−−−−−−−−−
2X 5 + X 7 − X 8
− (2X 5 − 2X 6 − 2X 7 − 2X 8 + 2X 9 )
--------------------------
2 X 6 + 3 X 7 + X 8 − 2 X 9 ....

The minimum Hamming free distance is therefore d f = 4 .

Since p = 10 −3 and:
Pe < Adf 2 df p df / 2 = 1x 2 4 x(10 −3 ) 2 = 16 x10 −6

6.6) The convolutional encoder seen in the following figure has a trellis of the form:

c (1 )

c(2 )
Convolutional Codes. Detailed solutions to problems

t1 t2 t3 t4
0/00 0/00 0/00
Sa = 00
1/11 1/11 1/11 0/11

Sb = 10
1/00
0/01 0/01
Sc = 01
1/10 0/10
1/10

Sd = 11
1/01

For the received sequence s r = (01 11 00 01 11 00 00...) , the decoding proceeds as


follows:

Hamming distances from the received sequence to the transitions outputs for each
transition, are seen in the following figure:

01 11 00 01 11 00
t1 t2 t3 t4 t5 t6 0 t7
1 2 0 1 2
Sa = 00
1 0 2 1 0 2 2

Sb = 10 2 1 0
0 1 2 0
1
1 0 1 1
Sc = 01

1 1 1 2 1 1 1 1 1

Sd = 11
1 0 1 1

The decoding at the different time instants is shown in the following figure and the
accumulative minimum Hamming distances are determined in each step:
01 11 00 01 11 00
t1 t2 t3 t4 t5 t6 t7
1 2 0 0
1 2
Sa = 00
1 0 2 3 1 3 0 2 2 2 2

Sb = 10 2 1 0
0 1 2 0 3
1 2 3 3
1 0 1 1
Sc = 01
2 2 3 4
1 1 1 2 2 1 1 1 1

Sd = 11 4
1 0 1 1
2 2 3
Convolutional Codes. Detailed solutions to problems

The decoded sequence is then d = (11 01 00 01 11 00 ...) , and the corresponding


message sequence is m = (1 0 1 0 0 0 0...) . The decoding was able to correct two errors
in the received sequence.

6.7)

The trellis diagram of a binary error correcting convolutional encoder is:

0 / 00 0
0

1 / 11 0 / 01

1 1
1 / 10
The received sequence is:
s r = (11 10 11 00 11...) .
The following figure shows the decoding of this received sequence:

11 10 11 00 11

0 2 1 2 0 2

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

The decoded sequence is then:


d = (11 10 01 00 11...) and an error present at the fourth bit of the received sequence
is corrected. The message sequence is m = (1 1 0 0 1) .

A sequence from the encoder of item a) is transmitted over a AWGN channel and is
received as the sequence s r = (33 10 23 00 33 ) after soft decision detection with four
levels.
The trellis can be described in terms of the output of the soft decision detection with
four levels, and it looks as in the following figure:
Convolutional Codes. Detailed solutions to problems

0 / 00 0
0

1 / 33 0 / 03

1 1
1 / 30
The following figure shows the decoding of the received sequence:

33 10 23 00 33

0 6 1 5 0 6

4 2 4 3 4 3 10
4
0
5 1 0
6
2 4 3 3
1
2 5 8 4

The decoded sequence is d = (33 30 03 00 33 ) and the error sequence is


e = (00 20 20 00 00 ) .

6.8)

For the convolutional encoder of IIR structure, the transfer function is determined by
stating equations in the time domain, and then transform them into the D domain.
In this FSSM:

s0 ( k ) = m( k ) + f2 s0 ( k − 2 ) + f1 s0 ( k − 1 )
c ( 2 ) ( k ) = a0 s0 ( k ) + a1 s0 ( k − 1 ) + a2 s0 ( k − 2 )

s1 ( k ) = s 0 ( k − 1 )
s2 ( k ) = s0 ( k − 2 )

In the D domain:

S1 ( D ) = DS0 ( D )
S 2 ( D ) = D 2 S0 ( D )
S0 ( D ) = M ( D ) + f1S1 ( D ) + f2 S2 ( D ) = M ( D ) + f1 DS0 ( D ) + f2 D 2 S0 ( D )
S0 ( D ) + f1 DS0 ( D ) + f2 D 2 S0 ( D ) = M ( D )
Convolutional Codes. Detailed solutions to problems

M( D )
S0 ( D ) =
1 + f1 D + f2 D 2
M( D )
C ( 2 ) ( D ) = a0 S0 ( D ) + a1 DS0 ( D ) + a2 D 2 S0 ( D ) = ( a0 + a1 D + a2 D 2 )S0 ( D ) = (1 + D + D 2 )
1 + f1 D + f2 D 2
c (1 )
c(2 )

a0 a1 a2

m S0
S1 S2

f1 f2

The transfer function is:

C ( 2 ) ( D ) a0 + a1 D + a2 D 2
G (2) ( D ) = =
M( D ) 1 + f1 D + f2 D 2

Since the code is systematic:

 a0 + a1 D + a2 D 2 
G( D ) = 1
 1 + f1 D + f2 D 2 

The state transfer function is determined by obtaining the transfer functions:

S0 ( D ) 1 S1 ( D ) D S2 ( D ) D2
= , = , =
M ( D ) 1 + f1 D + f2 D 2 M ( D ) 1 + f1D + f2 D 2 M ( D ) 1 + f1D + f2 D 2

Then:

 1 D D2 
S( D ) =  2 2 
1 + f1 D + f2 D 1 + f1 D + f2 D 2 1 + f1 D + f2 D 

6.9) In this problem there is a typing mistake that results into a difference in the solution
of this, and also of the following problem. Solution of the problems 6.9) and 6.10) in the
book correspond to a binary convolutional error correcting code with k = 1 , n = 2 ,
Convolutional Codes. Detailed solutions to problems

K = 2 , g (1 ) ( D ) = 1 + D + D 2 , and g ( 2 ) ( D ) = 1 + D 2 . The problem statement says that


g ( 2 ) ( D ) = D + D 2 . We will however solve these two cases as an exercise. On the other
hand, this problem is the same as the problem 6.5) when g ( 2 ) ( D ) = D + D 2 .

a) A binary convolutional error correcting code with k = 1 , n = 2 , K = 2 ,


g ( D ) = 1 + D + D 2 , and g ( 2 ) ( D ) = 1 + D 2 has an encoder as the one seen in the
(1 )

following figure:
c (1 )

c(2 )

The code is non systematic, and of rate ½.


The following figure shows the corresponding trellis:

t1 t2 t3 t4
0/00 0/00 0/00
Sa = 00
1/11 1/11 1/11 0/11

Sb = 10
1/00
0/10 0/10
Sc = 01
1/01 0/01
1/01

Sd = 11
1/10

And the minimum Hamming distance is equal to d f = 5 :

t1 t2 t3 t4 t5
0/00 0/00 0/00 0/00
Sa = 00 df = 5
2 2 2 2 2

Sb = 10
0 0

1 1 1
Sc = 01

1 1 1 1 1

Sd = 11
1 1
Convolutional Codes. Detailed solutions to problems

b) A binary convolutional error correcting code has k = 1 , n = 2 , K = 2 ,


g (1 ) ( D ) = 1 + D + D 2 ,
and g ( 2 ) ( D ) = D + D 2 . The corresponding convolutional
encoder scheme is seen in the following figure:

c (1 )

c(2 )

The trellis is:


t1 t2 t3 t4
0/00 0/00 0/00
Sa = 00
1/10 1/10 1/10 0/11

Sb = 10
1/01
0/11 0/11

Sc = 01

1/01 0/00 1/01

Sd = 11
1/10

And the minimum Hamming distance is equal to d f = 4 :

t1 t2 t3 t4 t5
0/00 0/00 0/00 0/00
Sa = 00 df = 4
1 1 1 2 2

Sb = 10
1 1

2 2 2
Sc = 01

1 0 1 0 1

Sd = 11
1 1
Convolutional Codes. Detailed solutions to problems

As it is seen, this code is the same as the one proposed in problem 6.5). The mistake
is in the statement of problem 6.9), a typing error in g ( 2 ) ( D ) = D + D 2 , which should be
g ( 2 ) ( D ) = 1 + D 2 , in order to agree with the solutions given in the book.

6.10) This problem suffers from the same typing mistake produced in problem 6.9). We
will however give the detailed solutions for both cases.

a) Decoding of the sequence s r = (10 01 00 01 11 11 10 ) when the binary


convolutional error correcting code has k = 1 , n = 2 , K = 2 , g ( 1 ) ( D ) = 1 + D + D 2 ,
and g ( 2 ) ( D ) = 1 + D 2 .

The decoding at the different time instants is shown in the following figure and the
accumulative Hamming distances are determined in each step:

10 01 00 01 11 11 10
t1 t2 t3 t4 t5 t6 tt7 1 t8
1 1 0 2
1 2
Sa = 00
0 0 0 2 1 1
1 1 2 2 1 3 2 4 5

Sb = 10 2 1 0
0 1 2 2 1
3 3 3 2 5
2
1 2 1 1 0
Sc = 01
2 2 4 4 2
0 1 1 0 0 1 1 1 1 2 2

Sd = 11 0
1 2 1 1
2 3 4 4 4

The decoded sequence is then d = (11 01 10 01 11 11 10 ) , and the decoded message


is m = (1 1 1 0 0 1 0 ) . This is the answer given in the book, which as you can
see, corresponds to the case g ( 2 ) ( D ) = 1 + D 2 . The proposed received sequence
contained errors, which were corrected.

b) Decoding of the sequence s r = (10 01 00 01 11 11 10 ) when the binary


convolutional error correcting code has k = 1 , n = 2 , K = 2 , g ( 1 ) ( D ) = 1 + D + D 2 ,
and g ( 2 ) ( D ) = D + D 2 .

The trellis is now different with respect to the case a). The decoding at the different
time instants is shown in the following figure and the accumulative minimum Hamming
distances are determined in each step:
Convolutional Codes. Detailed solutions to problems

10 01 00 01 11 11 10
t1 t2 t3 t4 t5 t6 t7
t t8
1 1 0 1 2 2 1
Sa = 00
1 2 2 1 1 2 1 20 0 1
0 2 1

Sb = 10 2 1 0 0
1 0 1 1 2
2 0 2 1 0
1
2 1 0 0 1
Sc = 01
0 2 0 2 2
0 0 1 1 0 2 1 2 1 2
1

Sd = 11 0
1 2 1 1
1 2 1 2 2

The decoded sequence is then d = (10 01 00 01 11 11 10 ) , that is, it is the received


sequence, and the decoded message is m = (1 1 0 1 0 0 1) . In other words,
the received sequence is a code sequence.
This answer is not given in the book, which as you can see, corresponds to the case
g(2 )( D ) = D + D2 .
We apologize about this mistake that could lead you to some confusion.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy