병렬 터보 디코더를 위한 인터리버 회로 설계 : Interleaver Circuit Design for Parallel Turbo Decoder
- 발행기관 서강대학교 대학원
- 지도교수 임종석
- 발행년도 2008
- 학위수여년월 2008. 2
- 학위명 석사
- 학과 및 전공 컴퓨터학
- 식별자(기타) 000000107512
- 본문언어 한국어
목차
터보 코드는 IMT-2000 사양에서 고속 데이터 전송에 사용되는 채널 코드의 표준으로 채택되었다. 터보 코드의 구성 요소 중 하나인 인터리버는 심벌의 처리 순서를 뒤섞어 줌으로써 에러의 상관성을 제거하여 이웃해서 발생하는 에러(burst error)를 감소시키는 역할을 한다.
터보 코드의 핵심은 부호기에서 코드 워드의 자유 거리를 높여주는 인터리버와 복호기에서 수행하는 반복 복호에 있다. 자유 거리와 복호 성능에 관한 끊임없는 연구를 통해 점점 좋은 성능을 가져다주는 인터리버가 개발되고 있으며, 최근 터보 복호기는 반복 복호로 인한 지연 시간을 줄이기 위해 병렬 터보 복호 방식이 많이 사용되는 추세이다.
3GPP의 표준 인터리버는 복호 성능 면에서는 매우 우수한 것으로 평가받고 있으나 주소 발생 연산이 복잡하여 구현이 까다롭다. 3GPP 인터리버 주소 발생기는 실시간 주소 발생을 위해 듀얼 아키텍처가 사용되는데 데이터 패스에 피드백이 있어 고속 동작을 위한 파이프라인 설계가 어렵다. 본 논문에서는 피드백이 있어 파이프라인 설계가 쉽지 않은 3GPP 인터리버 주소 발생기 데이터 패스에 파이프라인을 삽입함으로써 고속 동작을 가능하게 하였다.
또한 3GPP용 병렬 터보 복호기는 인터리빙과 디인터리빙으로 인해 뱅크 메모리에서 쓰기 충돌 문제가 있어 스위치드 버퍼의 사용이 불가피하다. 본 논문에서는 스위치드 버퍼에서 데이터를 읽어갈 때 최대 버퍼에서 데이터를 가져가는 방식을 사용함으로써 필요로 하는 버퍼의 크기를 줄였다.
구현 결과 인터리버 주소 발생기는 Xilinx ISE 8.2i에서 테스팅 시 약 75MHz에서 동작이 가능하며, 스위치드 버퍼에서 사용하는 FIFO의 크기는 기존의 방법을 사용했을 때 보다 약 36%를 절감할 수 있다.
목차
Turbo codes were adopted as a channel coding method which is used in high speed data transmission in the IMT-2000 specifications. One important component in turbo code is the interleaver, which shuffles the sequence of symbol processing, removes the correlation between errors and consequently reduces burst errors.
The core of Turbo code lies in the iterative decoding which is performed in the decoder and the interleaver, which increases the free distance between code words. Researches on free distance and decoding performance have helped develop interleavers with improved performance, and parallel Turbo decoding has been popularly used in order to reduce the latency time caused by iterative decoding.
The standard interleaver of 3GPP is evaluated to have great decoding performance but its implementation is difficult due to the complexity of address generation. The interleaver address generator in 3GPP employs a dual architecture for real time address generation and there is a feedback in the data path, which complicates the design of pipeline for high-speed operation. In this paper, we show how to insert pipelines in the data path of interleaver address generator in 3GPP, despite the presence of feedback that complicates pipeline designing.
In a parallel turbo decoder for 3GPP, there is write-conflict problem in the bank memory due to interleaveing and de-interleaving, therefore, a switched buffer must be used. In our implementation, we reduced the size of needed buffer by fetching data from the maximum buffer when reading data from switched buffer.
Our interleaver address generator was operational in 75MHz approximately when tested in Xilinx ISE 8.2i, and the size of FIFO in the switched buffer was reduced by 36% approximately.

