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 **x _{1}** and

**x**are generated depending upon

_{2}**m**,

**m**and

_{1}**m**.

_{2}**m**and

_{1 }**m**store the previous two message bits. The current bit is present in

_{2}**m**. Thus we can write,

**x _{1} = m ⊕ m_{1} ⊕ m_{2}**

and

**x**

_{2}= m ⊕ m_{2}The output switch first samples **x _{1}** and then

**x**. The shift register then shifts contents of

_{2}**m**to

_{1}**m**and contents of

_{2}**m**to

**m**. Next input bit is then taken and stored in

_{1}**m**. Again

**x**and

_{1}**x**are generated according to this new combination of

_{2}**m**,

**m**and

_{1}**m**. The output switch then samples

_{2}**x**then

_{1}**x**. Thus the output bit stream for successive input bits will be,

_{2}**X** = **x _{1}**

**x**

_{2}**x**

_{1}**x**

_{2}**x**

_{1}**x**…. and so on

_{2}Here note that for every input message bit two encoded output bits **x _{1}** and

**x**are transmitted. In other words, for a single message bit, the encoded code word is two bits i.e. for this convolutional encoder,

_{2}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 **m _{1}**.

Third shift → Message bit is shifted in position

**m**.

_{2}And at the fourth shift the message bit is discarded or simply lost by overwriting. We know that **x _{1}** and

**x**are combinations of

_{2}**m**,

**m**,

_{1}**m**Since a single message bit remains in

_{2 }**m**during first shift, in

**m**during second shift and in

_{1}**m**during third shift; it influences output

_{2}**x**and

_{1}**x**for ‘three’ successive shifts.

_{2}#### 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).

- See More : Adaptive delta modulation
- See More : Line coding in communication
- See More : Automatic frequency correction