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.
Satellite communications systems commonly use a convolutional code to
protect all data carried on the link.
Other topics in our resources on Satellite Communications related to Convolutional code include: