List Output and Soft Symbol Output Viterbi Algorithms: Extensions and Connections

The Viterbi Algorithm (VA) is the optimum decoding algorithm for a convolutional code. Improvements in the performance of a concatenated coding system that uses VA decoding (inner decoder) can be obtained when, in addition to the stanard output, an indicator of the reliability of the VA decision is delivered to the outer stage of processing. Two different approaches of extending the VA are considered. In the first approach, the VA is extended with a Soft Output unit (SOVA) that calculates, based on the difference between the cumulative metrics of the two paths merging at each time instant and state, reliability values for each of the decoded information symbols. In the second approach, coding gains are obtained by delivering, in addition to the best path, the next L - 1 best estimates of the transmitted data sequence. Here, the output format is a list of size L. This is a List VA (LVA). In this work, we evaluate LVA and SOVA in comparison to each other and attain extended versions of LVA and SOVA with low complexity that implement the other algorithm. We construct and evaluate a List-SOVA using the reliability information of the SOVA to generate a list of size L and that also has a lower complexity than the LVA for a long list size. Further, we introduce a low complexity algorithm that accepts the list output of the LVA and calculates for each of the decoded information bits a reliability value. The complexity and the performance of this Soft-LVA is a function of the list size L. The performances of Soft-LVA and SOVA are compared in concatenated coding systems.