A path metric used in Viterbi decoding can be calculated by adding a slightly attenuated value of a previously calculated path metric to a current branch metric value. The attenuation of the previous path metric may be implemented by multiplying the previous path metric by a constant, where the constant is typically greater than 0.9 and is less than 1. Thus, the maximum path metric value is inherently bounded and is an exponentially-weighted approximation of a moving average of selected previous branch metrics. This eliminates the need for a normalization function to prevent overflow and simplifies the hardware necessary for calculating the path metric.
展开▼