Detail Sol Prob Ch6
Detail Sol Prob Ch6
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 )
1/011 0/101
Sa = 00
1/110
Sb = 10 Sc = 01
0/111
1/100 Sd = 11 0/010
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
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:
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 )
Sb = 10
1/001
0/011 0/011
Sc = 01
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 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
2 2
Convolutional Codes. Detailed solutions to problems
0/000
1/101 1/101
6.5)
c(2 )
Sb = 10
1/01
0/11 0/11
Sc = 01
Sd = 11
1/10
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 ....
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
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
6.7)
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
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
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
C ( 2 ) ( D ) a0 + a1 D + a2 D 2
G (2) ( D ) = =
M( D ) 1 + f1 D + f2 D 2
a0 + a1 D + a2 D 2
G( D ) = 1
1 + f1 D + f2 D 2
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
following figure:
c (1 )
c(2 )
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
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
c (1 )
c(2 )
Sb = 10
1/01
0/11 0/11
Sc = 01
Sd = 11
1/10
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.
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 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