|
In contrast to block codes, a convolutional code
is implemented on a bit-by-bit (serial) basis for the incoming source data stream. The
encoder has memory and executes an algorithm using a predefined number of the most recent
bits to yield the new coded output sequence. The decoding process is also usually a serial process based on present and previous received data bits (or symbols). Both the encoder and decoder can be implemented using recursive engines, with one of the most efficient and well known being the Viterbi convolutional decoder, named after Andrew Viterbi, the inventor Viterbi (1967). |