Also known as: Viterbi algorithm, Viterbi
The Viterbi algorithm efficiently finds the most likely sequence of states through a trellis, given noisy observations.1 It is the standard way to decode convolutional codes, named for Andrew Viterbi.
How it works
By keeping only the best path into each trellis state at each step, it avoids an exponential search while achieving maximum-likelihood decoding — recovering the transmitted bits even with errors.
Relevance to SDR
Viterbi decoding is used in error-corrected digital systems such as M17 and various trunked-radio components to drive down the error rate.
Sources
-
Viterbi algorithm — Wikipedia, for the maximum-likelihood trellis decoder and its origin. ↩