The Viterbi algorithm is the same as the binary case with one main difference: The survivor sequences include the uncoded bits, which are decided at each trellis stage when selecting one of two parallel branches with the largest correlation metric. Presently, only 8-PSK modulation is considered. Extensions to higher-order modulations can be implemented following a similar procedure.