You are on page 1of 11

Ass.Prof.Dr.

Thamer Information Theory 4th Class in Communications

Convolution Codes

Convolution codes were first introduced by Elias [1] in 1955 as an


alternative to block codes.
Convolution codes differ from block codes in that the encoder
contains memory and the n encoder outputs at any given time
unit depend not only on the k inputs at that time unit but also on
m previous input blocks. An (n, k, m) convolutional code can
be implemented with a k-input, n-output linear sequential circuit
with input memory m. Typically, n and k are small integers with
k < n, but the memory order m must be made large to achieve
low error probabilities.
The encoder of convolution code for a binary (2, l, 3) code is
shown in Figure (1). Note that the encoder consists of an m = 3-
stage shift register together with n = 2 modulo-2 adders and a
multiplexer for serializing the encoder outputs. The mod-2 adders
can be implemented as EXCLUSIVE-OR gates. Since mod-2
addition is a linear operation, the encoder is a linear feedforward
shift register All convolutional encoders can be implemented using
a linear feedforward shift register of this type.

Fig. 1

1
Ass.Prof.Dr.Thamer Information Theory 4th Class in Communications

The informa tion sequence u = (u 0 , u 1 , u 2 ,. . .) enters the


encoder one bit at a time. Since the encoder is a linear system,
( ) ( ) ( )
the two encoder output seq ue nces v(1) = ( , , ,….)
( ) ( ) ( )
and v(2) = ( , , ,….) can be obtained as the
convolution of the input sequence u with the two encoder
"impulse responses." The impulse responses are obtained by
letting u = (1 0 0 • • •) and observing the two output sequences.
Since the encoder has an w-time unit memory, the impulse
responses can last at most m + 1 time units, and are written g(1)
( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )
=( , , ,…., ) and g(2) = ( , , ,…., )
For the encoder of Figure 1

The impulse responses g(I) and g(2) are called the genera tor
seque nces of the code. The e nc oding equa tions can now be
written as

…………….(1)

Where * denotes discrete convolution and all operations are


modulo-2. The convolution operation implies that for all l ≥ 0,

2
Ass.Prof.Dr.Thamer Information Theory 4th Class in Communications

…..(2)
Hence, for the encoder of Figure 1,

As can easily be verified by direct inspection of the encoding


circuit. After encoding, the two output sequences are multiplexed
into a single sequence, called the code wor d, for transmission
over the channel. The code word is given by

Example 1: Let the information sequence u = (1 0 1 1 1). Then


the output sequences are

and the code word is

3
Ass.Prof.Dr.Thamer Information Theory 4th Class in Communications

If the generator sequences g(1) and g(2) are interlaced and then
arranged in the matrix

….(3)
Where the blank areas are all zeros, the encoding equations can
be rewritten in matrix form as

……….(4)
Where all operations are modulo-2. G is called the genera tor
matr ix of the code. Note that each row of G is identical to the
preceding row but shifted n = 2 places to the right, and that G is
a semi-infinite matrix, corresponding to the fact that the
information sequence u is of arbitrary length. If u has finite
length L, then G has L rows and 2(m + L) columns, and v has
length 2(m + L).

Example 2: If u ( 1 0 1 1 1 ) , then

4
Ass.Prof.Dr.Thamer Information Theory 4th Class in Communications

As a second example of a convolutional encoder, consider the (3,


2, 1) code shown in Figure 2.

Fig .2
Since k = 2, the encoder consists of two m = 1-stage shift
registers together with n = 3 mod-2 adders and two

5
Ass.Prof.Dr.Thamer Information Theory 4th Class in Communications

multiplexers. The information sequence enters the encoder k —


2 bits at a time, and can be written as
( ) ( ) ( ) ( ) ( ) ( )
u = ( , , ,……..),OR as the two input
( ) ( ) ( ) ( )
sequences =( , , ,…….) and
( ) ( ) ( ) ( )
=( , , , … … . ) . There are three generator
sequences corresponding to each input sequence. Letting
= ( , , , , , , … … , , ) represent the generator sequence
corresponding to input i and output j, the generator sequences
for the encoder of Figure 2 are

And the encoding equations can be written as

….(5)
The convolution operation implies that

6
Ass.Prof.Dr.Thamer Information Theory 4th Class in Communications

As can be seen from the encoding circuit. After multiplexing, the


code word is given by

EXAMPLE 3:

…..(6)
And the encoding equations in matrix form are again given by
v = uG. Note that each set of k = 2 rows of G is identical to the
preceding set of rows but shifted n = 3 places to the right.

7
Ass.Prof.Dr.Thamer Information Theory 4th Class in Communications

EXAMPLE 4:

GENERATOR POLYNOMIAL OF CONVOULATION CODES


Each path connecting the output to the input of a convolutional
encoder may be characterized in terms of its impulse response,
defined as the response of that path to a symbol 1 applied to its
input, with each flip-flop in the encoder set initially in the zero
state. Equivalently, we may characterize each path in terms of a
generator polynomial, defined as the unit-delay transform of the
impulse response. To be specific, the generator polynomial of the
ith path is defined by

…..(7)

Where D denotes the unit-delay variable . and M is number of


stages of shift register.
EXAMPLE 5: Consider the convolutional encoder (2,1,2) of
Figure 3, which has two paths numbered 1 and 2 for convenience
8
Ass.Prof.Dr.Thamer Information Theory 4th Class in Communications

of reference. The impulse response of path 1 (i.e., upper path) is


(1, 1, 1). Hence, the corresponding generator polynomial is given
by

Fig. 3

The impulse response of path 2 (i.e., lower path) is (1, 0, 1).


Hence, the corresponding generator polynomials given by

For the message sequence (10011), say, we have the polynomial


representation

9
Ass.Prof.Dr.Thamer Information Theory 4th Class in Communications

Hence, the output polynomial of path 1 is given by

From this we immediately deduce that the output sequence of


path 1 is (1111001). Similarly, the output polynomial of path 2 is
given by

The output sequence of path 2 is therefore (1011111). Finally,


multiplexing the two output sequences of paths 1 and 2, we get
the encoded sequence

Note that the message sequence of length L = 5 bits produces an


encoded sequence of length n(L + K- 1) = 14 bits. Where L
represents number of bits in the input message , and M-shift
register requires k=M+1 shifts for a message bit to enter the shift
register and finally come out. In this example M=2 ,k=3, and
n=2.

10
Ass.Prof.Dr.Thamer Information Theory 4th Class in Communications

EXAMPLE 6: For the (2, 1, 3) code of Figure 1, the generator


polynomials are g(1)(D) = 1 + D 2 + D 3 and g(2)(D) = 1 + D +
D 2 + D 3 . For the information sequence u(D) = 1 + D 2 + D 3 +
D 4 , the encoding equations are

And the code word is

11

You might also like