Viterbi Decoder

Telecommunications Engineering

How It Works

The Viterbi decoding algorithm implements maximum-likelihood sequence detection (MLSD) for convolutional error-correcting codes. By evaluating paths across a state trellis diagram, the algorithm calculates accumulated path metrics using the Add-Compare-Select (ACS) recursion. At each stage, suboptimal paths are pruned, preserving only survivor paths to trace back and reconstruct the most likely transmitted bit sequence.

Governing Equation
Γ_{k+1}(s') = min_{s} [ Γ_k(s) + λ(s → s') ]   |   P(r | c_{ML}) = max_c P(r | c)