Viterbidecoding
Viterbi decoding, named after Andrew J. Viterbi, is a maximum likelihood sequence estimation algorithm used to decode convolutional codes and to perform decoding in certain hidden Markov model applications. It operates on a trellis diagram representing the encoder's finite-state machine, and finds the most probable path through the trellis that could have produced the observed sequence.
For a convolutional encoder with memory m = K-1, the trellis has 2^m states. At each time step,
Hard decision uses simple mismatch counts; soft decision uses Euclidean distances for additive white Gaussian noise
Applications include decoding convolutional codes in many communication standards; variants such as tail-biting trellises, and soft-output