Viterbi decoder design for the IS-95 CDMA forward link

The IS-95 code division multiple access (CDMA) system uses a rate 1/2 256-state convolutional code for error control in the forward link (from the base station to the mobiles). This paper describes the implementation of the Viterbi decoder for the rate-1/2 256-state convolutional code. We first discussed the effects of quantization of the input symbols on the Viterbi decoder performance. We determined that, with the proper placement of coded symbols, 4 bits of uniform quantization will result in about 0.05 dB loss in performance compared to that of using infinite precisions in Gaussian channels. We showed that only negation operations are required to compute the branch metrics, and path metrics can be updated with a straight-forward 2's complement subtraction without any normalization. We also derived that 5 bits and 8 bits are sufficient to store the branch metrics and the path metrics, respectively, in the decoder. In the control, sync and signaling channels, the convolutional encoder encodes the data continuously. Thus, decoding has to be done continuously. Therefore, we studied the effects of using a different number of latency stages before the survivor path can be traced and a data symbol can be decoded with high confidence.