An Efficient Viterbi Decoder Implementation for the ZSP 500 DSP Core

This paper describes an efficient implementation of the Viterbi decoding algorithm on the ZSP500 digital signal processor (DSP) core. It starts with an introduction to convolutional coding and Viterbi decoding as a method of forward error correction in communication systems. An introduction to the ZSP500 architecture is followed by a description of special instructions for performing the Trellis butterfly. Examples of branch metrics calculation, Trellis butterfly, and trace-back are given. Performance benchmarks for the Viterbi algorithm running on ZSP500 are presented. Finally, the use of a Viterbi coprocessor for the task of state metric update and trace-back is discussed.

[1]  Axthonv G. Oettinger,et al.  IEEE Transactions on Information Theory , 1998 .

[2]  Andrew J. Viterbi,et al.  Error bounds for convolutional codes and an asymptotically optimum decoding algorithm , 1967, IEEE Trans. Inf. Theory.

[3]  H. Lou Viterbi decoder design for the IS-95 CDMA forward link , 1996, Proceedings of Vehicular Technology Conference - VTC.

[4]  Miodrag Potkonjak,et al.  MetaCores: design and optimization techniques , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).