Viterbi Convolutional Decoding
Trace minimum-distance decoding through a finite-state convolutional-code trellis.
Free theory articleTrace minimum-distance decoding through a finite-state convolutional-code trellis.
Concept & interpretation
Let's trace the Viterbi algorithm for decoding a rate 1/2, memory 2 convolutional code with generator polynomials (111, 101) in binary. Assume the input message is "101" and we use "Zero tail" termination (appending two zeros). The initial state is always 00.
Experiment
You can interact with the Viterbi Convolutional Decoding module to observe how the trellis updates.
- Select Message to "101".
- Set Termination to "Zero tail".
- Change Flip position to "3" and observe the "Best Hamming metric" becomes 1 because the 3rd bit of the encoded string was flipped.
- Set Termination to "Unterminated" and notice how the trellis stages decrease because no zero tail bits are appended. The final state is no longer forced to be 00.