Implementation of Channel Coding System using Viterbi Decoder of Pipeline-based Multi-Window

파이프라인 기반 다중윈도방식의 비터비 디코더를 이용한 채널 코딩 시스템의 구현

  • 서영호 (유한대학교 전자정보과) ;
  • 김동욱 (광운대학교 전자재료공학과 디지털설계 및 테스트 연구실)
  • Published : 2005.06.01

Abstract

In the paper, after we propose a viterbi decoder which has multiple buffering and parallel processing decoding scheme through expanding time-divided imput signal, and map a FPGA, we implement a channel coding system together with PC-based software. Continuous input signal is buffered as order of decoding length and is parallel decoded using a high speed cell for viterbi decoding. Output data rate increases linearly with the cell formed the viterbi decoder, and flexible operation can be satisfied by programming controller and modifying input buffer. The tell for viterbi decoder consists of HD block for calculating hamming distance, CM block for calculating value in each state, TB block for trace-back operation, and LIFO. The implemented cell of viterbi decoder used 351 LAB(Logic Arrary Block) and stably operated in maximum 139MHz in APEX20KC EP20K600CB652-7 FPGA of ALTERA. The whole viterbi decoder including viterbi decoding cells, input/output buffers, and a controller occupied the hardware resource of $23\%$ and has the output data rate of 1Gbps.

본 논문에서는 시분할 방식을 확장하여 윈도를 통해 비터비 복호화 되는 단위를 다중으로 버퍼링하고 병렬적으로 처리하는 비터비 복호화기를 구현한다. 연속적으로 입력되는 신호를 복호화 길이의 배수로 버퍼링한 후 이를 고속의 비터비 복호화기 셀을 이용하여 병렬적으로 복호화를 수행한다. 비터비 복호화기 셀의 사용수에 비례하여 데이터 출력율을 얻을 수 있는데 입력 버퍼의 프로그래밍 및 수정에 따라서 이러한 동작을 만족시킬 수 있다. 구현된 비터비 복호화기 셀은 해밍 거리 계산을 위한 HD 블록, 각 상태의 계산을 위한 CM 블록, 비교를 위한 CS 블록, 그리고 trace-back을 위한 TB 블록 및 LIFO 등으로 구성된다. 비터비 복호화기 셀은 ALTERA의 APEX20KC EP20K600CB652-7 FPGA에서 $1\%(351;cell)$의 LAB(Logic a..ay block)를 사용하여 최대 139MHz에서 안정적으로 동작할 수 있었다. 또한 비터비 복호화기 셀과 입출력 버퍼링을 위한 회로를 포함한 전체 비터비 복호화기는 약 $23\%$의 자원을 사용하면서 최대 1Gbps의 데이터 출력율을 가질 수 있도록 설계하였다.

Keywords

References

  1. G. D. Forney, Jr., 'The Viterbi algorithm,' Proc. IEEE, Vol. 61, No.3, pp. 268-278, Mar. 1973
  2. A. J. Viterbi, 'Error bounds for convolutional codes and an asymptotically optimum decoding algorithm,' IEEE Trans. Inform. Theory, vol. IT-13, pp. 260 - 269, Apr. 1967
  3. A. K. Yeung and J. Rabaey, 'A 210-Mb/s, radix-4 bit-level pipelined Viterbi decoder,' ISSCC Dig. Tech. Papers, pp. 88 - 89, Feb. 1995
  4. J. K. Hinderling et al., 'CDMA mobile station modem ASIC,' IEEE J. Solid-State Circuits, vol. 28, pp. 253 - 260, Mar. 1993 https://doi.org/10.1109/4.209991
  5. Y. N. Chang, H. Suzuki, and K. K. Parhi, 'A 2-Mb/s 256-State 10-mW Rate-1/3 Veterbi Decoder', IEEE Journal of Solid-State Circuits, Vol. 35, No.6, June. 2000
  6. H. Dawid, S. Bitterlich, and H. Meyr, 'Trellis pipeline-interleaving: A novel method for efficient Viterbi decoder implementation,' in Proc IEEE Int. Symp. Circuits and Systems, vol. 4, San Diego, CA, May 1992, pp. 1875-1878
  7. J. Sparso, H. N. Jorgensen, E. Paaske, S. Pedersen, and T. Rubner-Petersen, 'An areaefficient topology for VLSI implementation of Viterbi decoders and other shuffle-exchange type structures,' IEEE J. Solid-State Circuits, vol. 26, pp. 90 - 96, Feb. 1991 https://doi.org/10.1109/4.68122
  8. C. M. Rader, 'Memory management in a Viterbi decoder,' IEEE Trans. Commun., vol. 29, pp. 1399 - 1401, Sept. 1981 https://doi.org/10.1109/TCOM.1981.1095146
  9. R. Cyper and C. B. Shung, 'Generalized trace-back techniques for survivor memory management in the Viterbi algorithm,' Proc. GLOBECOM, vol. 2, pp. 1318 - 1322, Dec. 1990
  10. IEEE Std. 1076-1993, 'VHDL language reference manual', IEEE Press, New Jersey 1994