Definition of Convolutional Coding – theteche.com

A convolutional coding is done by combining the fixed number of input bits. The input bits are stored in the fixed length shift register and they are combined with the help of mod-2 adders. This operation is equivalent to binary convolution and hence it is called convolutional coding. This concept is illustrated with the help of simple example given below.

The above convolutional encoder operates as follows.

Operation:

Whenever the message bit is shifted to position ‘m’, the new values of x1 and x2 are generated depending upon m, m1 and m2. m1 and m2 store the previous two message bits. The current bit is present in m. Thus we can write,

x1 = m ⊕ m1 ⊕ m2
and
x2 = m ⊕ m2

The output switch first samples x1 and then x2. The shift register then shifts contents of m1 to m2 and contents of m to m1. Next input bit is then taken and stored in m. Again x1 and x2 are generated according to this new combination of m,m1 and m2. The output switch then samples x1 then x2. Thus the output bit stream for successive input bits will be,

X = x1 x2 x1 x2 x1 x2 …. and so on

Here note that for every input message bit two encoded output bits x1 and x2 are transmitted. In other words, for a single message bit, the encoded code word is two bits i.e. for this convolutional encoder,

Number of message bits, k =1
Number of encoded output bits for one message bit, n = 2

Code Rate of Convolutional Encoder

The code rate of this encoder is, $r=\frac{k}{n}=\frac{1}{2}$

In the encoder of Fig. observe that whenever a particular message bit enters a shift register, it remains in the shift register for three shifts.

First shift → Message bit is entered in position ‘m’.
Second shift → Message bit is shifted in position m1.
Third shift → Message bit is shifted in position m2.

And at the fourth shift the message bit is discarded or simply lost by overwriting. We know that x1 and x2 are combinations of m, m1 , m2 Since a single message bit remains in m during first shift, in m1  during second shift and in m2 during third shift; it influences output x1 and x2 for ‘three’ successive shifts.

Constraint Length (K)

The constraint length of a Convolutional Coding is defined as the number of shifts over which a single message bit can influence the encoder output. It is expressed in terms of message bits.

For the encoder of Fig. constraint length K = 3 bits. This is because in this encoder, a single message bit influences encoder output for three successive shifts. At the fourth shift, the message bit is lost and it has no effect on the output.

Dimension of the Code

The dimension of the code is given by n and k. We know that ‘k’ is the number of message bits taken at a time by the encoder. And ‘n’ is the encoded output bits for one message bits. Hence the dimension of the code is (n, k). And such encoder is called (n, k) convolutional encoder. For example, the encoder of Fig has the dimension of (2,1).