Abstract :
To satisfy the advanced forward-error-correction (FEC) standards, in which the Convolutional code and Turbo code may co-exit, a prototype design of a unified Convolutional/Turbo decoder is proposed. In this paper, we systematically analyze the timing charts of both the Viterbi algorithm and the MAP algorithm. Then, three techniques, including Distribution, Pointer, and Parallel schemes, are introduced; they can be used as flexible tools in timing-chart analysis to either reduce memory size or to increase throughput rate. Furthermore, we propose a tile-based methodology to analyze the key features of timing charts, such as computing/memory units and hardware utilization. On the basis of the timing analysis, we developed a VA/MAP timing chart that has three modes (VA mode, MAP mode, and concurrent VA/MAP mode) by complementing the idle time of both VA and MAP decoding procedures. The new combined timing analysis helps us for constructing a unified component decoder with near 100% utilization rate of the processing element (PE) in both VA/MAP decoding functions. According to the triple-mode VA/MAP timing chart, we construct a triple-mode FEC kernel that can perform both Convolutional/Turbo decoding functions seamlessly for different communication systems. By integrating the FEC kernel with different size of memory, we can construct four types of FEC decoders for different application scenarios, such as 1) standalone Convolutional decoder (VA mode); 2) standalone Turbo decoder (MAP mode); 3) dual- mode Convolutional/Turbo decoder (VA mode and MAP mode); and 4) triple-mode Convolutional/Turbo decoder (VA mode, MAP mode, and concurrent VA/MAP mode). Finally, a prototyping FEC kernel processor that is compliant to 3GPP standard is verified in TSMC 0.18-mum CMOS process in the type of triple-mode FEC decoder.
Keywords :
Viterbi decoding; convolutional codes; forward error correction; maximum likelihood estimation; turbo codes; 3GPP standard; FEC kernel processor; MAP algorithm; VA-MAP kernel; Viterbi algorithm; dual-mode convolutional-turbo decoder; forward-error-correction; size 0.18 micron; standalone convolutional decoder; standalone turbo decoder; tile-based timing analysis; timing-chart analysis; triple-mode convolutional-turbo decoder; unified convolutional-turbo decoder design; Algorithm design and analysis; Code standards; Convolutional codes; Decoding; Kernel; Prototypes; Throughput; Timing; Turbo codes; Viterbi algorithm; Convolutional code; Viterbi algorithm; forward-error-correction code; log-MAP; maximum a-posteriori probability; reconfigurable FEC architecture; turbo code;