A convolutional code extends the concept of a block
code to allow memory from block to block. Each encoded
symbol is therefore a linear combination of information symbols in
the current block and a selected number of preceding blocks.
Therefore, for example, if the final output is a ‘1’
followed by a ‘0’, then these two digits could only
have been arrived at by via a certain sequence of
0s and 1s preceding them. The longer the sequence, the
easier it becomes for the receiver to detect where the
received sequence deviates from a possible sequence and so correct
one or more errors. Decoding of convolutional codes is based
on the principle of the Viterbi decoding algorithm or sequential
decoding.
Other topics in our resources on Communications Systems related to Convolutional code include: