Module 5 Convolutional Codes
Module 5 Convolutional Codes
A convolutional coder generates redundant bits by using modulo-2 convolutions; hence the name
convolutional codes.
The encoder of a binary convolutional consists of a finite-state machine that consists of an M-stage
shift register with prescribed connections to n modulo-2 adders and a multiplexer. A sequence of message
bits produces a coded output sequence of length n(L + M ) bits, where L is the length of the message
sequence. The code rate is given by
L
r =
n(L + M )
L
= bits/symbol
n(1 + M/L)
1
r = bits/symbol
n
Constraint length:
defined as follows:
The constraint length of a convolutional code, expressed in terms of message bits, is the
number of shifts over which a single incoming message bit can influence the encoder output.
In an encoder with an M-stage shift register, the constraint length, denoted by ν, equals M + 1 shifts
that are required for a message bit to enter the shift register and finally come out.
The block diagram of convolutional encoder with constraint length = 3 is as shown in Figure 1. In
this example, the code rate of the encoder is 21 . The encoder operates on the incoming message sequence,
one bit at a time, through a convolution process; it is therefore said to be a nonsystematic code.
Path 1
V (0)
Input
Output
Flip-flop
V (1)
Modulo 2
adder Path 2
Dr. Manjunatha P Prof., Dept of ECE, JNN College of Engg Shimoga [email protected] 1
0.1. Module 5 Convolutional Codes (Chapter 10)
where D denotes the unit-delay variable. The complete convolutional encoder is described by the set of
generator polynomials
The impulse response of path 1 (upper path) is (1, 1, 1). The generator polynomial of this path is
g (1) (D) = 1 + D + D2
The impulse response of path 2 (lower path) is (1, 0, 1). The generator polynomial of this path is
g (2) (D) = 1 + D2
m(D) = 1 + D3 + D4
The convolution in the time domain is transformed into multiplication (with Fourier transformation) in
the D-domain. The output polynomial of path 1 is given by
Multiplexing the two output sequences of paths 1 and 2, we get the encoded sequence is
The message sequence of length L = 5 bits produces an encoded sequence of length n(L + ν − 1) =
2(5 + 3 − 1) = 14 bits. Note also that for the shift register to be restored to its initial all-zero state, a
terminating sequence of nu − 1 = 3 − 1 = 2 zeros is appended to the last input bit of the message sequence.
The terminating sequence of +nu − 1 zeros is called the tail of the message.
Matrix method
• L Number of message bits
• If the generator sequence g (0) and g (1) are interlaced and then arranged in the matrix
Dr. Manjunatha P Prof., Dept of ECE, JNN College of Engg Shimoga [email protected] 2
0.1. Module 5 Convolutional Codes (Chapter 10)
• where the blank areas are all zeros, the encoding equations can be rewritten in matrix form as v =
uG.
• Note that each row of G is identical to the preceding row but shifted n = 2 places to right, and the
G is a semi-infinite matrix, corresponding to the fact that the information sequence u is of arbitrary
length.
Example 2
g (1) = (1, 0, 1) g (2) = (1, 1, 1)
The input sequence (10111)
The order of the matrix is L × [n(L + m)] = 5 × [2(5 + 2)] = 5 × 14
No of rows for G are 5. The code word corresponding to the information sequence u = (1 0 1 1 1 ) is:
11 01 11 00 00 00 00
00 11 01 11 00 00 00
G= 00 00 11 01 11 00 00
00 00 00 11 01 11 00
00 00 00 00 11 01 11
11 01 11 00 00 00 00
00 11 01 11 00 00 00
V = UG = (1 0 1 1 1)
00 00 11 01 11 00 00 = (11, 01, 00, 10, 01, 10, 11)
00 00 00 11 01 11 00
00 00 00 00 11 01 11
g (1) (D) = 1 + D2
Dr. Manjunatha P Prof., Dept of ECE, JNN College of Engg Shimoga [email protected] 3
0.1. Module 5 Convolutional Codes (Chapter 10)
g (2) (D) = 1 + D + D2
The polynomial representation for an incoming message sequence of (1 0 0 1 1) is
m(D) = 1 + D3 + D4
The convolution in the time domain is transformed into multiplication (with Fourier transformation)
in the D-domain. The output polynomial of path 1 is given by
Problem 11.1 Consider the (3,1,2) nonsystematic feed forward convolutional encoder with
Solution:
n = 3, k = 1, m = 2
a.
V (0)
Input U
SR SR V (1)
Output
V (2)
b.
The order of the matrix is L × [n(L + m)] = 5 × [3(5 + 2)] = 5 × 21
Dr. Manjunatha P Prof., Dept of ECE, JNN College of Engg Shimoga [email protected] 4
0.1. Module 5 Convolutional Codes (Chapter 10)
111 101 011 000 000 000 000
000 111 101 011 000 000 000
G=
000 000 111 101 011 000 000
000 000 000 111 101 011 000
000 000 000 000 111 101 011
c. No of rows for G are 5. The code word corresponding to the information sequence u = (1 1 1 0 1)
is:
111 101 011 000 000 000 000
000 111 101 011 000 000 000
V = UG = (1 1 1 0 1)
000 000 111 101 011 000 000 = (111 010 001 110 100 101 011)
000 000 000 111 101 011 000
000 000 000 000 111 101 011
The impulse response of path 1 is (1, 1, 0). The generator polynomial of this path is
g (1) (D) = 1 + D
The impulse response of path 2 is (1, 0, 1). The generator polynomial of this path is
g (2) (D) = 1 + D2
The impulse response of path 3 is (1, 1, 1). The generator polynomial of this path is
g (3) (D) = 1 + D + D2
m(D) = 1 + D + D2 + D4
The convolution in the time domain is transformed into multiplication (with Fourier transformation) in
the D-domain. The output polynomial of path 1 is given by
Dr. Manjunatha P Prof., Dept of ECE, JNN College of Engg Shimoga [email protected] 5
0.1. Module 5 Convolutional Codes (Chapter 10)
Multiplexing the two output sequences of paths 1 and 2, we get the encoded sequence is
Also
c(1) (D3 ) = 1 + D3 + D4 + D5
Dc(2) (D3 ) = D + D4 + D10 + D5
D2 c(3) (D3 ) = 1 + D3 + D4 + D5
g (1) = [1 0 1 1] g (2) = [1 1 1 1]
Find the codeword V corresponding to the information sequence u=(1 0 1 1 1) using the two following
approaches
Solution:
g (1) = [1 0 1 1] g (2) = [1 1 1 1]
The order of the matrix for the input message u = (1 0 1 1 1 ) is: L × [n(L + m)] = 5 × [2(5 + 3)] = 5 × 16
No of rows for G are 5.
11 01 11 11 00 00 00 00
00 11 01 11 11 00 00 00
G= 00 00 11 01 11 11 00 00
00 00 00 11 01 11 11 00
00 00 00 00 11 01 11 11
11 01 11 11 00 00 00 00
00 11 01 11 11 00 00 00
V = UG = (1 0 1 1 1)
00 00 11 01 11 11 00 00 = (11, 01, 00, 01, 01, 01, 00, 11)
00 00 00 11 01 11 11 00
00 00 00 00 11 01 11 11
The code word corresponding to the information sequence u = (1 0 1 1 1 ) is: [11, 01, 00, 01, 01, 01, 00, 11]
ii.] Transform domain approach
• For (2,1,3) convolutional code,g (0) = [1 0 1 1] and g (1) = [1 1 1 1] the generator polynomials are
g (0) (D) = 1 + D2 + D3
g (1) (D) = 1 + D + D2 + D3
Dr. Manjunatha P Prof., Dept of ECE, JNN College of Engg Shimoga [email protected] 6
0.1. Module 5 Convolutional Codes (Chapter 10)
V (0)
Input U
SR SR SR Output
V (1)
Dr. Manjunatha P Prof., Dept of ECE, JNN College of Engg Shimoga [email protected] 7
0.2. Module 5 Convolutional Codes (Chapter 10)
The block diagram of convolutional encoder with constraint length = 3 is as shown in Figure 1. In
this example, the code rate of the encoder is 21 . The encoder operates on the incoming message sequence,
one bit at a time, through a convolution process; it is therefore said to be a nonsystematic code.
Path 1
V (0)
Input
Output
Flip-flop
V (1)
Modulo 2
adder Path 2
where D denotes the unit-delay variable. The complete convolutional encoder is described by the set of
generator polynomials
The impulse response of path 1 (upper path) is (1, 1, 1). The generator polynomial of this path is
g (1) (D) = 1 + D + D2
The impulse response of path 2 (lower path) is (1, 0, 1). The generator polynomial of this path is
g (2) (D) = 1 + D2
The convolutional encoder consists of 2 Flip-flops. The content of the Flip-flops are 00 01 10 11.
Dr. Manjunatha P Prof., Dept of ECE, JNN College of Engg Shimoga [email protected] 8
0.2. Module 5 Convolutional Codes (Chapter 10)
Table 1: State transition table for the g (1) (D) = 1 + D + D2 g (2) (D) = 1 + D2
State b 0(10)
10
1(11)
1(00)
1(01)
0(01)
State d
1(10) 11
00 00 00 00 00 00 00 00
a
11
11 11 11 11 11
b 11 11 11 11 11 11
00 00 00
10
c
01 01 01 01 01
01 01 01 01 01 01
d 10 10 10 10 10
Level J= 0 1 2 3 4 5 L-1 L L+1 L+2
Dr. Manjunatha P Prof., Dept of ECE, JNN College of Engg Shimoga [email protected] 9
0.2. Module 5 Convolutional Codes (Chapter 10)
00
00 a
11
00 a
10
11 b
01
00 a
11
10 c
11 00
b
01
01 d
10
00 a
00
11 a
11
10 c
10
00 b
01
11 b
11
01 c
00
0 01
d
01
10 d
10
00
00 a
11
11 a
1 10
11 b
01
10 c
11
10 c
00
00
b
01
01 d
10
11
b
00
11 a
11
01 c
10
00 b
01
01
d 11
01 c
00
10
d
01
10 d
10
Dr. Manjunatha P Prof., Dept of ECE, JNN College of Engg Shimoga [email protected] 10
0.2. Module 5 Convolutional Codes (Chapter 10)
1
2021 Feb 10 a) Consider the rate 2 and constraint length K=2 convolutional encoder as shown in
Figure
iii. Find the encoder output produced using sequence 10111 verify using time domain approach.
Solution:
Table 2: State transition table for the g (1) (D) = 1 + D g (2) (D) = 1
1(11)
1(01)
0(00) S0 S1
0(10)
Dr. Manjunatha P Prof., Dept of ECE, JNN College of Engg Shimoga [email protected] 11
0.2. Module 5 Convolutional Codes (Chapter 10)
00
00
S0 11
00
S0
10
11
S1 01
00
S0 00
10 S
0 11
11
S1
10
01
S1 01
00 S0
00
00 S
0 11
10 S
0
10
11 S
1 01
11
S1 00
10 S
0 11
0 01
S1
10
01 S
1 01
S0 00
00
S0 11
00
1 S0 10
11
S1 01
10
S0 00
10 S
0 11
11
S1
10
01 S
1 01
11
S1 00
11 S
0 11
10
S0 10
00 S
1 01
01
S1 00
10 S
0 11
01
S1
10
01 S
1 01
Dr. Manjunatha P Prof., Dept of ECE, JNN College of Engg Shimoga [email protected] 12