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 = 3stage 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,

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

Hence, for the encoder of Figure 1,

..(2)

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

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

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

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 ( ) ( ) ( ) ( ) ( ) ( ) ,..),OR as the two input , , u = ( ( ) ( ) ( ) ( ) ,.) and , , sequences =( ( ) ( ) ( ) ( ) , . ) . 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

The convolution operation implies that

.(5)

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.

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

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