Convolutional codes
In convolutional codes, each block of
kk bits is mapped into a block of
nn bits but these
nn bits are not only determined
by the present kk information
bits but also by the previous information bits. This
dependence can be captured by a finite state machine.
Example 1
A rate
12
1
2
convolutional coder
k=1
k
1
,
n=2
n
2
with memory length 2 and constraint length 3.
Since the length of the shift register is 2, there are 4
different rates. The behavior of the convolutional coder
can be captured by a 4 state machine. States: 00,
01, 10, 11,
For example, arrival of information bit
0 transitions from state
10 to state 01.
The encoding and the decoding process can be realized in
trellis structure.
If the input sequence is
1 1 0 0
the output sequence would be
11 10 10 11
The transmitted codeword is then 11 10 10
11. If there is one error on the channel
11 00 10 11
Starting from state 00 the Hamming
distance between the possible paths and the received
sequence is measured. At the end, the path with minimum
distance to the received sequence is chosen as the correct
trellis path. The information sequence will then be
determined.
Convolutional coding lends itself to very efficient trellis
based encoding and decoding. They are very practical and
powerful codes.