Field Guide · algorithm

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.

most-likely path through the trellis
The Viterbi algorithm finds the most-likely sequence through a trellis, decoding convolutional codes.

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

  1. Viterbi algorithm — Wikipedia, for the maximum-likelihood trellis decoder and its origin. 

See also