KR20020087850A - 터보 부호화/복호기 및 그 방법 - Google Patents

터보 부호화/복호기 및 그 방법 Download PDF

Info

Publication number
KR20020087850A
KR20020087850A KR1020020024901A KR20020024901A KR20020087850A KR 20020087850 A KR20020087850 A KR 20020087850A KR 1020020024901 A KR1020020024901 A KR 1020020024901A KR 20020024901 A KR20020024901 A KR 20020024901A KR 20020087850 A KR20020087850 A KR 20020087850A
Authority
KR
South Korea
Prior art keywords
interleaver
information
decoder
turbo
interleaved
Prior art date
Application number
KR1020020024901A
Other languages
English (en)
Inventor
하덕호
이일홍
Original Assignee
대한민국(부경대학교 총장)
하덕호
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 대한민국(부경대학교 총장), 하덕호 filed Critical 대한민국(부경대학교 총장)
Priority to KR1020020024901A priority Critical patent/KR20020087850A/ko
Publication of KR20020087850A publication Critical patent/KR20020087850A/ko

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • H03M13/2771Internal interleaver for turbo codes

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

터보 부호화/복호화 방법과 터보 부호기/복호기가 개시된다. 본 발명에 따른 터보 부호화 방법은 (a)는 소정의 양의 정수라 할때 입력 정보 비트열을 제1 인터리버로 인터리빙하는 단계와, (b) 상기 (a) 단계에서 인터리빙된 비트열를 구성 부호화하여 제1 패리티 비트열을 구하는 단계와, (c) 상기 (a) 단계에서 인터리빙된 비트열를 제2 인터리버로 인터리빙하는 단계, 및 (d) 상기 (c) 단계에서 인터리빙된 비트열를 구성 부호화하여 제2 패리티 비트열을 구하는 단계를 포함하는 것을 특징으로 한다.
본 발명에 따르면, 종래의 터보 부호화 방법에 비하여 시간 다이버시티 효과를 증가시켜 시스템의 성능을 개선시킬 뿐 아니라, 종래의 터보 복호화 방법이 가지고 있는 가장 큰 문제점인 반복 복호로 인한 지연을 감소시킴으로써 시스템 동작 효율을 높일 수 있다.

Description

터보 부호화/복호기 및 그 방법{Turbo encoder/decoder and method thereof}
본 발명은 터보 부호화/복호기 및 그 방법에 관한 것으로, 더 상세하게는 무선 통신의 채널 부호화/복호화에 사용되고 있는 터보 코드를 변형하여 시스템 성능 개선과 시스템 동작 효율을 향상시키기 위한 터보 부호화/복호기 및 그 방법에 관한 것이다.
차세대 이동 통신 시스템에서는 고속의 멀티미디어 데이터의 신뢰성 있는 전송을 요구하며 고속 데이터의 신뢰성을 높이기 위해서는 강력한 채널 코딩 및 효율적인 변조 방식이 요구된다. 이동 통신의 결정판이라고 할 수 있는 IMT-2000(International Mobile Telecommunications-2000)은 현재 각 국가별로 개별적으로 운영되고 있는 다양한 이동전화 시스템의 규격을 통일함으로써 세계 어느 곳에서도 동일한 단말기로 서비스를 이용할 수 있도록 하는 차세대 이동 통신 시스템으로서, ITU를 중심으로 2Mbps급 고속 데이터통신이 가능한 사양 등을 갖추도록 제안되고 있으며 그 규격에 따라 각 국에서 도입이 진행되고 있다.
L. R. Bahl, J. Cocke, F. Jelinek, and J. Raviv에 의하여 1974년 3월에 발표된 "Optimal decoding of linear codes for minimizing symbol error rate(IEEETrans. Inform. Theory, vol. IT-20, pp. 248-287, March 1974)"라는 제목의 논문에서는 BCJR 알고리즘이 개시되어 있다. 또한, 1993년에 C. Berrou, A. Glavieux, P. Thimajshima는 길쌈 부호화의 복호화 방법으로 상기 BCJR 알고리즘을 개량하여 인터리버(interleaver)를 경유하는 특수한 형태의 연접부호(concatenated code)에 적용한 '터보 코드'를 설계하였다.
터보코드는 최근 ITU(International Telecommunication Union:국제전기통신연합) 등에서 IMT-2000 등 차세대 이동 통신에서 고속 데이터 전송용으로 채널 코드의 표준으로 채택된 상태이다. Berrou 등에 의해 제시된 터보코드는 AWGN(Additive White Gaussian Noise; 부가적인 백색 가우시안 잡음) 환경에서 비교적 간단한 복호 알고리듬을 가지면서 18번의 반복 복호시에 0.7dB 라는 낮은 신호대 잡음비에서 이라는 획기적인 성능 보임으로 써 많은 관심을 불러 일으켰으며 또한 페이딩 채널 상에서도 신뢰성 있는 강력한 코딩 기법으로 알려져 있다. 터보 코드는 반복 횟수와 인터리버 크기에 따라서 더 좋은 성능을 보이고 있으며 CDMA-2000((Code Division Multiple Access-2000) 및 ARIB(Association of Radio Industries and Business) 등에서 터보 코드의 성능에 크게 영향을 미치는 인터리버에 대한 연구가 활발히 진행중이다.
터보 코드의 우수한 성능이 처음 소개된 이후로 이에 대한 연구가 세계 각국에서 활발히 수행되어 왔다. 터보코드의 성능은 부호기에 내재하는 인터리버와 복호기에서 수행되는 반복 복호에 기인하는 것이므로 그러한 성능을 얻기 위해서는 엄청난 지연 시간이 요구된다고 할 수 있다. 따라서, 터보코드가 처음 소개되었을당시에는 이 터보 코드를 사용한 부호화 방식은 우주통신 등과 같이 실시간 처리가 요구되지 않는 분야에서만 적용 가능하다고 알려져 있었다.
하지만, 최근에 많은 연구가 수행되면서, 터보 코드의 거리 특성과 성능과의 관계 또는 이에 따른 효율적인 인터리버 설계에 대한 연구 결과가 나오고 있다. 독일의 University of Kaiserslautern을 중심으로 하여 이동 통신 시스템에서의 실시간 통신 서비스를 위한 터보 코드 부호화 방식 개발에도 많은 노력이 투자되었다. 국내에서도 이에 관한 연구가 몇몇 연구 기관과 대학에서 이루어지고 있으며 IMT(International Mobile Telecommunication)-2000 시스템의 전송 규격으로 제안하기도 하였다.
도 1에는 종래의 터보 시스템의 구조를 블록도로써 나타내었다. 상기 터보 시스템은 에스. 엘. 고프 등에 의하여 1994년에 발표된 "Turbo-Codes and high spectral efficiency modulation(Communications, 1994. ICC'94, IEEE International Conference on, pp.645-649 Vol. 2, 1994., S. L. Goff, A. Glavieux, C. Berrou)"에 개시되어 있다. 일반적인 터보 부호기(10)의 구조는 도 1에서와 같이 2 개의 RSCC (Recursive Systematic Convolutional Code)를 기반으로 하는 구성 부호기(102, 104)를 병렬로 연결하고 두 개의 구성 부호기(102, 104) 사이에 터보 인터리버(106)를 삽입한 형태로 구성된다.
이 터보 부호의 입력 정보 비트들은 첫번째 구성 부호기(102)로 입력되고, 인터리버(106)에 의해 그 순서가 뒤섞여진 후 다시 두 번째 구성 부호기(106)로 입력된다. 이로써 병렬 연접 부호의 부호어는 이 정보 비트()와 각각의부호기(102, 104)에서 생성된 패리티 검사 비트(parity check bits:,)로 구성된다.
터보 코드의 복호기(12)는 기본적으로 MAP(Maximum a posteriori) 복호기(120, 124)와 인터리버(122), 디인터리버(126, 128), 및 소프트 리미터(130)의 결합으로 구성된다. MAP 복호 알고리즘을 사용하여 재귀적 구조의 연산이 가능하고, 반복 복호 횟수의 증가에 따라 BER(Bit Error Rate) 성능을 향상시켜 BER의 관점에서 샤논한계(Shannon limit)에 가장 근접하는 성능을 보인다. 각각의 MAP 복호기(120, 124)는 정보 비트(Systematic data)와 패리티 비트(Parity bit), 부가 비트(Extrinsic bit)를 입력으로 받아들여서 각 비트에 대한 LLR(Log likelihood ratio)를 발생시킨다. 이 LLR을 구성하고 있는 부가정보는 다음 복호기 단의 사전 정보(priori information)가 되어 복호의 신뢰도를 높이게 된다. 도 1에서 전단과 후단에 위치한 복호기는 연성 입력(soft-input)/연성 출력(soft-output)복호기로 구성되며 그 출력값을 반복 복호시에 사용하게 된다. 제1 복호기(120)는 수신된 정보 비트와 패리티 비트를 사용하여 연성 판단(soft-decision) 정보를 생성하며, 이 값은 인터리버(122)를 통해 순서를 재배열한 뒤 제2 복호기(124)의 2차 복호에 사용된다. 제2 복호기(124)는 인터리버에 의해 재배열된 수신 정보 비트와 패리티 비트, 및 제1 복호기(120)에서 생성된 값을 사용하여 역시 연성 판단(soft-decision) 정보를 생성하며, 이 값은 반복 복호시에 제1 복호기(120)의 입력값으로 피드백 된다.
이러한 터보 부호의 복호는 MAP(maximum a posteriori) 알고리듬을 이용한심볼단위의 복호를 반복적으로 적용하여 이루어 진다. 부호기는 일예로 두 개의 RSC 구성 부호기를 사용할 수 있으며, 이로써, 터보 부호의 복호기는 인터리버(122)에 의해 연접된 두 개의 MAP 복호기(120, 124)로 구성된다. 제1 복호기(120)에서 생성된 부가정보(extrinsic information)는 제2 복호기(124)에서 사용되어야 하며, 이를 위해서는 각각의 복호기의 알고리듬이 연성입력/연성출력(soft-in/soft-out) 복호 알고리듬이어야 한다. 그리고, 제2 복호기(124)에서 생성된 연성출력 또한 다시 제1 복호기(120)에 재귀적으로 입력되며 이러한 과정을 반복함으로써 전체 복호과정은 반복 복호(iterative decoding)을 이루게 된다. 이와 같이 반복 복호를 수행하므로 BER을 향상시킨다.
도 1을 참조하여 보다 상세히 설명한다. 도 1에서,는 입력 정보 비트열,는 입력정보가 인터리버를 통과한 후의 비트열을 나타낸다. 터보 부호기의 정보 비트와 패리티 비트는 입력열의 순서인 [1 2 3 4 5 6 7 8 9]와 동일한 순서로 출력되어 채널을 통과하여 복호부(12)의 제1 복호기(120)에 입력된다. 두 번째 패리티 비트인는 인터리버 패턴인= [ ~5~ 6~ 9~ 1~ 4~ 2~ 8~ 3~ 7~ ]에 의해 순서가 변화되어,와는 다른 순서로 채널을 통과하여 제2 복호기(124)에 입력된다. 제1 복호기(120)에서 생성된 정보 비트에 대한 LLR(Log-Likelihood Ratio) 값은 제2 복호기(124)로 입력되기 전에 다시 인터리빙() 됨으로써와 같은 순서를 가지게 되고, 전송되는 프레임 상에서 약간의 시간 차이를 두고 전송된,가 MAP (Maximum A posteriori Probability) 알고리즘방식의 복호기에서 결합되는 형식으로 이루어짐으로써, 터보 부호부(10)에서는 시간 다이버시티 효과를 얻을 수 있다. 또한, 제2 복호기(124)에서 출력된 정보 비트에 대한 LLR 값은 디인터리빙() 되면서, 원래의 [1 2 3 4 5 6 7 8 9] 순서 열을 가지게 되어 제1 복호기(120)에서도 시간 다이버시티 효과를 얻으면서 반복 복호가 이루어진다.
터보부호는 반복 복호 방식을 통해 샤논(Shannon)의 채널용량(channel capacity)에 근접하는 오류 정정 능력을 가지며, 재귀적 구조의 연산이 가능하며 매우 높은 연산량을 가지고 있다. 이러한 터보 부호에서 반복 복호의 회수를 증가 할 수록 좋은 성능을 발휘하지만 긴 지연으로 인한 저속 동작을 야기하게 된다. 따라서 터보 부호를 실제 시스템에 적용 할 경우 시스템의 성능 증가와 지연에 대한 상호 교환적인 선택의 문제에 놓이게 된다.
또한, 반복 복호 회수가 길어지면 단말기에서의 배터리 소모가 많아지게 된다. 특히 기존의 무선통신 시스템은 물론 차세대 고속 무선 인터넷 이동통신에서는 LCD의 대형화로 인하여 배터리의 소모가 더욱 커질 것으로 예상된다.
따라서, 무선통신 채널 부호에 사용되고 있는 터보 부호는 반복 복호 회수를 감소시킴으로써 배터리의 수명을 연장시키고 시스템 동작효율을 높이도록 설계될 것이 여전히 요구되고 있다.
본 발명이 이루고자 하는 기술적 과제는 종래의 터보 부호의 문제점인 긴 지연 성분 개선, 반복 복호 회수의 감소, 시스템 성능 개선, 및 시스템 동작 효율을개선한 터보 부호화 방법 및 터보 복호화 방법을 제공하는 것이다.
본 발명이 이루고자 하는 다른 기술적 과제는 상기 터보 부호화 방법을 수행하는 터보 부호기 및 터보 복호기를 제공하는 것이다.
도 1은 종래의 터보 시스템의 구조를 나타낸 블록도.
도 2는 본 발명의 바람직한 실시예에 따른 터보 부호기의 구조를 나타낸 블록도.
도 3은 도 2의 터보 부호기에서 수행되는 본 발명의 바람직한 실시예에 따른 터보 부호화 방법의 주요 단계들을 나타낸 흐름도.
도 4는 본 발명의 바람직한 실시예에 따른 터보 복호기의 구조를 나타낸 블록도.
도 5a 및 도 5b는 도 4의 터보 복호기에서 수행되는 본 발명의 바람직한 실시예에 따른 터보 복호화 방법의 주요 단계들을 나타낸 흐름도.
도 6은 블록 인터리버를 기본으로 하고 프레임 길이를 변화하면서, 종래의 터보 부호화/복호화 방법과 본 발명에 따른 터보 부호화 방법/복호화 방법의 BER 특성을 나타낸 경우에 대한 시뮬레이션 결과를 나타낸 그래프.
도 7은 프레임 길이를 1024 비트로 고정하고 인터리버를 다양화하여 종래의 터보 부호화 방법 및 복호화 방법과 본 발명에 따른 터보 부호화 방법 및 복호화 방법의 BER 특성을 비교 도시한 그래프.
도 8은 반복 회수에 따른 종래의 터보 코드와 본 발명에 따른 터보 코드의성능을 비교 도시한 그래프.
도 9는 Turbo Coded MC-CDMA 시스템과 ETD-Turbo Coded MC-CDMA 시스템의 성능을 비교 도시한 그래프.
상기 기술적 과제를 이루기 위한 본 발명에 따른 터보 부호화 방법은 무선 통신 시스템의 채널 부호화에 사용되는 터보 부호화 방법에 있어서, (a)는 소정의 양의 정수라 할때 입력 정보 비트열을 제1 인터리버로 인터리빙하는 단계; (b) 상기 (a) 단계에서 인터리빙된 비트열를 구성 부호화하여 제1 패리티 비트열을 구하는 단계; (c) 상기 (a) 단계에서 인터리빙된 비트열를 제2 인터리버로 인터리빙하는 단계; 및 (d) 상기 (c) 단계에서 인터리빙된 비트열를 구성 부호화하여 제2 패리티 비트열을 구하는 단계;를 포함하는 것을 특징으로 한다.
또한, 상기 터보 부호화 방법은 상기 (d) 단계 이후에, 상기 (b) 단계에서 구한 제1 패리티 비트열과, 상기 (d) 단계에서 구한 제2 패리티 비트열을 다중화하여 채널을 통해 전송하는 단계;를 더 포함하는 것이 바람직하다.
또한, 상기 기술적 과제를 이루기 위한 본 발명에 따른 터보 복호화 방법은, (a)는 소정의 양의 정수라 할때 입력 정보 비트열을 제1 인터리버로 인터리빙하는 단계와, 인터리빙된 비트열를 구성 부호화하여 제1 패리티 비트열을 구하는 단계와, 인터리빙된 비트열를 제2 인터리버로 인터리빙하는 단계, 및 인터리빙된 비트열를 구성 부호화하여 제2 패리티 비트열을 구하는 단계를 포함하는 터보 부호화 방법에 의하여 부호화되어 무선 통신 채널을 통하여 전송된 정보 비트열과 패리티 비트열을 입력하는 단계; (b) 채널을 통과한 정보 비트열()을 인터리빙하여 인터리빙된 정보 비트열()을 구하는 단계; (c) 패리티 비트가 채널을 통과한 형태인를 역다중화하여로 분리하는 단계; (d) 인터리빙된 정보 비트열()과 제1 인터리버()를 거친 패리티 비트열(), 및 이하에서 설명될를 입력하여 복호화함으로써 LLR 값()을 구하는 단계; 및 (e) 복호기들 사이에 전달되는 LLR(Log-likelihood Ratio)값의 순서를 맞추는 단계;를 포함하는 것을 특징으로 한다.
또한, 상기 터보 복호화 방법은 상기 (e) 단계 이후에, (f) LLR 값()에서와 사전 정보()를 제거함으로써 순수한 외부 정보()을 구하는 단계; (g) 외부 정보()를 인터리빙함으로써 제2 복호기의 사전 정보()를 구하는 단계; (h)를 인터리빙하여 인터리빙된 비트열()을 구하는 단계; (i) 사전정보(), 두 개의 인터리버를 거친를 입력하여 복호화함으로써 사전정보()를 구하는 단계; (j) 제2 복호기에서 출력된에서를 제거함으로써 외부 정보()를 구하는 단계; 및 (k) 외부 정보()를디인터리빙함으로써 제1 복호기의 사전 정보()를 구하는 단계; (l) 충분한 반복 복호가 이루어진 다음를 제2 디인터리버()로 디인터리빙하는 단계; 및 (m) 디인터리빙된 비트열에 대한 소프트 리미팅에 의하여 정보 비트()를 결정하는 단계;를 더 포함하는 것이 바람직하다.
또한, 상기 다른 기술적 과제를 이루기 위한 본 발명에 따른 터보 부호화기는는 소정의 양의 정수라 할때 입력 정보 비트열을 인터리빙하는 제1 인터리버; 인터리빙된 비트열를 구성 부호화하여 제1 패리티 비트열을 출력하는 제1 부호기; 인터리빙된 비트열를 인터리빙하는 제2 인터리버; 및 인터리빙된 비트열를 구성 부호화하여 제2 패리티 비트열을 출력하는 제2 부호기;를 포함하는 것을 특징으로 한다.
또한, 상기 다른 기술적 과제를 이루기 위한 본 발명에 따른 터보 복호화기는는 소정의 양의 정수라 할때 입력 정보 비트열을 제1 인터리버로 인터리빙하는 단계와, 인터리빙된 비트열를 구성 부호화하여 제1 패리티 비트열을 구하는 단계와, 인터리빙된 비트열를 제2 인터리버로 인터리빙하는 단계, 및 인터리빙된 비트열를 구성 부호화하여 제2 패리티 비트열을 구하는 단계를 포함하는 터보 부호화 방법에 의하여 부호화되어 무선 통신 채널을 통하여 전송된 정보 비트열과 패리티 비트열을 입력하여, 채널을 통과한 정보 비트열()을 인터리빙하여 인터리빙된 정보 비트열()을 구하는 제3인터리버(); 패리티 비트가 채널을 통과한 형태인로 분리하는 역다중화기; 인터리빙된 정보 비트열()과 제1 인터리버(204:)를 거친 패리티 비트열(), 및 이하에서 설명될를 입력하여 복호화함으로써 LLR 값()을 구하는 제1 복호기; 상기 제1 복호기와 제2 복호기 사이에 구비되어 복호기들 사이에 전달되는 LLR(Log-likelihood Ratio)값의 순서를 맞추는 제4 인터리버()와 제1 디인터리버(); 상기 제1 복호기에서 출력된 LLR 값()에서와 사전 정보()를 제거함으로써 순수한 외부 정보()을 구하는 제1 가산기;를 인터리빙하여 인터리빙된 비트열()을 구하는 제5 인터리버(); 사전정보(), 두 개의 인터리버를 거친를 입력하여 복호화함으로써 사전정보()를 구하는 제2 복호기; 제2 복호기에서 출력된에서를 제거함으로써 외부 정보()를 구하는 제2 가산기; 충분한 반복 복호가 이루어진 다음를 디인터리빙하는 제2 디인터리버(); 및 디인터리빙된 비트열을 소프트 리미팅함으로써 정보 비트()를 결정하는 소프트 리미터;를 포함하는 것을 특징으로 한다.
이하 첨부된 도면들을 참조하여 본원 발명의 바람직한 실시예들을 보다 상세히 설명하기로 한다.
도 2에는 본 발명의 바람직한 실시예에 따른 터보 부호기의 구조를 블록도로써 나타내었으며, 도 3에는 도 2의 터보 부호기에서 수행되는 본 발명의 바람직한 실시예에 따른 터보 부호화 방법의 주요 단계들을 나타낸 흐름도로써 나타내었다. 도 3은 이하에서 수시로 참조된다.
도 2를 참조하면, 본 발명의 바람직한 실시예에 따른 터보 부호기(20)는 제1 인터리버(202), 제1 부호기(204), 제2 인터리버(206), 및 제2 부호기(208)를 구비한다. 종래의 터보 부호기와 비교하면, 본 발명에 따른 터보 부호기는 인터리버가 하나 더 삽입되어 제1 인터리버()와 제2 인터리버()의 두 개의 인터리버를 구비한다는 점이 다르다. 여기서,는 입력 비트열을 나타내고,는 인터리버를 나타내며,, 및는 각각 출력 비트열을 나타낸다.
상기와 같은 터보 부호기의 동작을 설명한다.
제1 인터리버()는 입력 정보 비트열()을 인터리빙하여 인터리빙된 정보 비트열()을 출력한다(단계 S302). 다음으로, 제1 부호기(204)는 인터리빙된 정보 비트열()을 부호화하여 제1 패리티 비트열()을 출력한다(단계 S304).
다음으로, 제2 인터리버()는 인터리빙된 정보 비트열()을 인터리빙하여 제1 인터리버()와 제2 인터리버()를 모두 거친 비트열()을 출력한다(단계 S306). 제1 인터리버()와 제2 인터리버()를 모두 거친 비트열()은 새로운 배열()을 갖는다고 정의한다.
다음으로, 제2 부호기(208)는 인터리빙된 비트열()을 부호화하여 제2 패리티 비트열()을 출력한다(단계 S308).
상기 단계(S304)에서 구한 제1 패리티 비트열과, 상기 단계(S308)에서 구한 제2 패리티 비트열은 도시하지 않은 다중화기에 의하여 다중화되어 무선 채널을 통해 전송된다.
만일,=[ 5 6 9 1 4 2 8 3 7 ],=[ 8 2 7 4 3 6 9 5 1 ]와 같은 순서를 가지는 경우라고 하면, 제1 인터리버(202:)를 통과한 정보 비트열()는과 동일한 인터리빙 패턴으로 나타나고, 제1 인터리버(202:)과 제2 인터리버(206:)를 모두 거친 입력 비트열()은 새로운 인터리빙 패턴인=[ 3 6 8 1 9 2 7 4 5 ]와 같은 순서를 가지게 된다. 상기 부호기(20)의 출력 비트 열은 표 1과 같이 나타낼 수 있다.
종래의 터보 부호기에서는는 동일한 순서를 가지며, 인터리버()를 통과한만 인터리빙 패턴의 순서를 가지고 채널을 통과하게 된다. 반면에, 표 1에서 알 수 있듯이 본 발명의 실시예에 따른 터보 부호기(20)의 출력,, 및는 도 2에서 두 개의 인터리버(,)에 의해 각각 서로 다른 순서로 출력됨으로써, 서로 다른 경로를 통하여 수신기에 도달하게 되어 디코딩 단계에서 시간다이버시티(Time Diversity) 효과를 증가시킨다.
한편, 도 4에는 본 발명의 바람직한 실시예에 따른 터보 복호기의 구조를 블록도로써 나타내었으며, 도 5a 및 도 5b에는 도 4의 터보 복호기에서 수행되는 본 발명의 바람직한 실시예에 따른 터보 복호화 방법의 주요 단계들을 흐름도로써 나타내었다.
도 4를 참조하면, 본 발명의 바람직한 실시예에 따른 터보 복호기(40)는 제3 인터리버(402:), 역다중화기(404), 제1 복호기(406), 및 제1 가산기(408)를 구비한다. 또한, 상기 터보 복호기(40)는 제4 인터리버(410:), 제5 인터리버(412:), 및 제2 복호기(414)를 구비한다. 또한, 상기 터보 복호기(40)는 제2 가산기(416), 제2 디인터리버(418), 제2 디인터리버(420), 및 소프트 리미터(422)를 구비한다.
상기 터보 복호기(40)의 동작을 설명한다. 먼저, 터보 복호기(40)에는 수신된이 입력된다. 여기서는 부호기의 정보 입력 비트열()이 채널을 통과한 형태를 나타낸다. 제3 인터리버(402:)는 채널을 통과한 정보 비트열()을 인터리빙하여 인터리빙된 정보 비트열()을 구한다(단계 S502).
역다중화기(404)는 패리티 비트가 채널을 통과한 형태인로 분리한다(단계 S504). 여기서,는 부호기(20)의 제1 인터리버(204:)를 거친 패리티 비트열을 나타내고,는 제1 인터리버(204:)와 제2 인터리버(208:)를 모두 거친, 즉를 거친, 패리티 비트열을 나타낸다.
다음으로, 제1 복호기(406)는 인터리빙된 정보 비트열()과 제1 인터리버(204:)를 거친 패리티 비트열(), 및 이하에서 설명될를 입력하여 복호화함으로써 LLR 값()을 구한다(단계 S506).
한편, 상기 터보 복호기(40)의 제1 복호기(406)과 제2 복호기(414) 사이에 구비된 제4 인터리버(410:)와 제1 디인터리버()를 이용하여 복호기들(406, 414) 사이에 전달되는 LLR(Log-likelihood Ratio)값의 순서를 맞추어 주게 된다.
표 2에는 제1 복호기(406)의 입력 순서를 나타내었다. 표 2를 참조하면,는 터보 부호기(20)에서 입력된 입력 비트열의 순서 [ 1 2 3 4 5 6 7 8 9 ]를 그대로 가지고 있지만,와 순서를 맞추어서 복호하기 위해서 제1 복호기(406)에 입력되기 전에 제3 인터리버(402:)=[ 5 6 9 1 4 2 8 3 7 ]에 의해 순서가 변환된가 제1 복호기(406)에 입력된다.
다음으로, 표 3에는 제2 복호기(414)의 입력 순서를 나타내었다. 여기에서도, 제1 복호기(406)에서와 동일하게의 입력 순서를 맞추기 위하여 제3 인터리버(402:)과 제4 인터리버(410:)를 거친=[ 3 6 8 1 9 2 7 4 5 ]의 순서로 제2 복호기(414)에 입력된다.
다음으로, 제1 가산기(408)는 제1 복호기(406)에서 출력된 LLR 값()에서와 사전 정보()를 제거함으로써 순수한 외부 정보()을 구한다(단계 S508). 다음으로, 제4 인터리버(410:)는 외부 정보()를 인터리빙함으로써 제2 복호기(414)의 사전 정보()를 구한다(단계 S510).
제5 인터리버(412:)는를 인터리빙하여 인터리빙된 비트열()을 구한다(단계 S512). 제2 복호기(414)는 사전정보(), 두 개의 인터리버를 거친를 입력하여 복호화함으로써 사전정보()를 구한다(단계 S514).
한편, 제2 가산기(416)는 제2 복호기(414)에서 출력된에서를 제거함으로써 외부 정보()를 구한다. 외부 정보()는 다시 제1 디인터리버(418:)에 의해 디인터리빙 되면서 제1 복호기(406)의 사전 정보()가 된다. 이러한 과정을 통해 충분한 반복 복호(단계 S516)가 이루어진 후에는 제2 디인터리버(420:)에 의해 디인터리빙되어의 영향을 벗어나게 된다. 다음으로, 소프트 리미터(422)에 의하여 소프트 리미팅됨으로써 정보 비트()가 결정된다.
구성상의 특징을 다시 설명하면, 부호기와 복호기 부분에 각각(인터리버)가 하나 더 첨가되었으며, 복호기에서는,의 순서를 맞추어 주기 위해 기존의 복호기 구성과는 다른 인터리버 배열()과 디인터리버 배열()을 하고 있다.
이제, 상기와 같은 본 발명에 따른 터보 부호화 방법/복호화 방법 및 터보 부호화기/복호화기의 성능 효과를 설명한다. 본 발명에 따른 터보 부호화 방법/복호화 방법 및 터보 부호화기/복호화기의 성능을 평가하기 위하여, 종래의 터보 부호 형태와 성능을 비교, 분석하였다. 본 발명에서 제시하고 있는 터보 부호기는 종래의 터보 부호기와 비교하여 하나의 인터리버를 더 사용함으로써 이하에서 설명하는 바와 같이 터보 부호의 시간 다이버시티 효과를 증가시키고 시스템 성능이 향상된다.
평가를 위하여, 서로 다른 3 개의 프레임 길이를 가지는 비트열에 대하여, 4 종류의 인터리버, 본 실시예에서는, 블록 인터리버(block interleaver), 헬리컬 인터리버(helical interleaver), 램덤 인터리버(random interleaver), 및 마더 인터리버(mother interleaver)를 조합하여 AWGN(Additive White Gaussian Noise; 부가적인 백색 가우시안 잡음)과 레일리 페이딩(Rayleigh fading)이 혼재해 있는 채널 환경에서 시뮬레이션을 수행하였다. 시뮬레이션 환경으로, 터보 부호의 코드율은 1/3로 하였고, 반복 복호 회수는 5 회로 하고, 복호에는 Log-MAP(maximum a posteriori probability) 알고리즘을 사용하였다.
도 6에는 블록 인터리버를 기본으로 하고 프레임 길이를 변화하면서, 종래의터보 부호화/복호화 방법과 본 발명에 따른 터보 부호화 방법/복호화 방법의 BER 특성을 나타낸 경우에 대한 시뮬레이션 결과를 그래프로써 나타내었다. 도 6을 참조하면, 종래기술_512, 종래기술_1024, 및 종래기술_4096은 블록 인터리버를 사용한 종래의 터보 부호화/복호화 방법의 BER 특성을 나타낸 것으로, 각각의 프레임 길이는 512 비트, 1024 비트, 및 4096 비트에 해당한다. 또한, 본원발명_512, 본원발명_1024, 본원발명_4096은 본 발명에 따른 터보 부호화/복호화 방법의 특성으로써 첫 번째 인터리버와 두 번째 인터리버 모두 블록 인터리버를 사용한 경우이며, 각각의 프레임 길이는 512 비트, 1024 비트, 및 4096 비트에 해당한다. 시뮬레이션 결과에서 알 수 있듯이 블록 인터리버를 사용하고 프레임 길이가 4096 비트인 기존의 터보 부호기보다 두 개의 블록 인터리버를 사용하고 프레임길이가 1024 비트, 4096 비트인 경우가 더 우수한 BER 특성을 나타냄을 알 수 있다. 특히 동일한 프레임 길이(4096 비트)를 가지는 경우,의 BER에서 본원발명_4096에 해당하는 터보 부호화 방법/복호화 방법이 종래기술_4096에 해당하는 종래의 터보 부호화 방법/복호화 방법보다/가 약 1dB정도 낮음을 알 수 있다.
다음으로, 도 7에는 프레임 길이를 1024 비트로 고정하고 인터리버를 다양화하여 종래의 터보 부호화 방법 및 복호화 방법과 본 발명에 따른 터보 부호화 방법 및 복호화 방법의 BER 특성을 비교 도시한 그래프를 나타내었다. 이미 많은 연구에서 알려진 바와 같이 블록 인터리버를 사용한 터보 코드보다 랜덤(random) 인터리버를 사용한 경우가 더 우수한 성능을 나타내지만, 실제적으로는 랜덤 인터리버는이상적인 것으로 실용화가 어려운 인터리버 기술로 알려져 있다.
하지만, 도 7을 참조하면, 두 개의 블록 인터리버(block_block)를 사용한 본원 발명에 따른 터보 부호화 방법 및 복호화 방법의 경우, 낮은/에서 이상적인 랜덤 인터리버를 사용한 종래의 터보 부호기와 유사한 BER을 나타내고, 본 발명에 따른 터보 부호화기에 블록(block) 인터리버와 헬리컬(helical) 인터리버를 모두 사용한 경우에는 랜덤 인터리버를 사용한 터보 코드보다 더 좋은 성능을 보여주고 있다.
다음으로, 도 8에는 반복 회수에 따른 종래의 터보 부호화 방법 및 복호화 방법과 본 발명에 따른 터보 부호화 방법 및 복호화 방법의 BER 특성을 비교 도시한 그래프를 나타내었다. 도 8을 참조하면,/=4 dB, 프레임 길이는 1024 비트로 고정하고 블록 인터리버를 사용한 종래의 터보 부호화 방법 및 복호화 방법과 두 개의 블록 인터리버를 사용한 본 발명에 따른 터보 부호화 방법 및 복호화에 대하여 반복 복호 회수에 따른 BER이 비교 도시되었다. 본 발명에 따른 터보 부호화 방법 및 복호화 방법의 경우 반복 회수가 2회 정도만 되더라도 BER이이상을 유지하고 있음을 알 수 있다. 다시 말해서 본 발명에 따른 터보 부호화 방법 및 복호화 방법이 두 개의 인터리버를 사용하므로 구성면에서 복잡할 수는 있으나 터보 코드가 갖는 단점 중의 하나인 반복 복호에 따른 지연을 급격하게 줄일 수 있으며 시스템의 성능과 동작 효율면에서 우수함을 알 수 있다.
상기 부호기와 복호기를 시스템에 적용시 성능 효과를 설명한다. 본 발명에따른 터보 부호화 방법 및 복호화 방법을 MC-CDMA 시스템에 적용하여 성능을 평가하였다. 보다 효율적인 분석을 위해 블록 인터리버를 사용한 Turbo Coded MC-CDMA 시스템과 두 개의 블록 인터리버를 사용한 Turbo Coded MC-CDMA 시스템에 대하여 반복 회수를 변화하면서/에 대한 시스템의 성능을 검토하였다.
도 9에는 종래의 터보 부호화 방법 및 복호화 방법을 적용한 Turbo Coded MC-CDMA 시스템과 본 발명에 따른 터보 부호화 방법 및 복호화 방법을 적용한 Turbo Coded MC-CDMA 시스템의 성능을 비교 도시한 그래프를 나타내었다. 도 9에서 , #1, #3, #5는 반복 복호 회수를 나타내며, 각각 1회, 3회, 5회를 나타낸다. 반복 복호 회수가 증가할수록 시스템의 오류 확률은 낮아지는 반면 그에 따르는 지연이 커지므로 적절한 반복 회수의 선택이 중요하다. 일반적인 Turbo Coded 시스템의 경우 평균 3회에서 5회 정도를 선택하고 있다.
도 9를 참조하면, 시뮬레이션 결과에서 본 발명에 따른 터보 코드 부호화 방법 및 복호화 방법을 적용한 Turbo Coded MC-CDMA system의 경우 반복 복호 회수를 3 회로 한 결과가 종래의 터보 부호화 방법 및 복호화 방법을 적용한 Turbo Coded MC-CDMA system에서 반복 복호 회수를 5 회로 한 경우보다도 더욱 우수한 성능을 나타내고 있음을 알 수 있다.
이상과 같이 본 발명에 따르면, 터보 부호화 및 복호화시 반복 복호 회수를 줄임으로써 터보 코드의 지연을 경감시킬 수 있다. 또한, MC-CDMA와 같은 시스템에 본 발명에 따른 터보 부호화 방법 및 복호화 방법을 적용하였을 경우 오류 확률을 감소시킬 수 있을 뿐만 아니라 반복 복호 회수를 줄일 수 있으므로 종래의 TurboCoded 시스템보다 본 발명에 따른 ETD-Turbo Coded 시스템이 보다 효율적임을 알 수 있다.
본 발명의 범위는 상기 실시예들에 한정되지 않으며, 첨부된 청구항들에 의하여 정의되는 본 발명의 범위내에서 당업자에 의하여 변형 또는 수정될 수 있다.
또한, 상기와 같은 본 발명에 따른 터보 부호화 방법 및 복호 방법은 개인용 또는 서버급의 컴퓨터내에서 실행되는 프로그램으로 작성 가능하다. 상기 프로그램을 구성하는 프로그램 코드들 및 코드 세그멘트들은 당해 분야의 컴퓨터 프로그래머들에 의하여 용이하게 추론될 수 있다. 또한, 상기 프로그램은 컴퓨터 독취 가능 기록 매체 또는 ASIC(Application Specific IC) 형태의 집적회로에 저장될 수 있다. 상기 컴퓨터 독취 가능 기록 매체는 자기기록매체, 광기록 매체, 및 전파 매체를 포함한다.
상술한 바와 같이, 본 발명에 따르면, 종래의 터보 부호화 방법에 비하여 시간 다이버시티 효과를 증가시켜 시스템의 성능을 개선시킬 뿐 아니라, 종래의 터보 복호화 방법이 가지고 있는 가장 큰 문제점인 반복 복호로 인한 지연을 감소시킴으로써 시스템 동작 효율을 높일 수 있다.

Claims (8)

  1. 무선 통신 시스템의 채널 부호화에 사용되는 터보 부호화 방법에 있어서,
    (a)는 소정의 양의 정수라 할때 입력 정보 비트열을 제1 인터리버로 인터리빙하는 단계;
    (b) 상기 (a) 단계에서 인터리빙된 비트열를 구성 부호화하여 제1 패리티 비트열을 구하는 단계;
    (c) 상기 (a) 단계에서 인터리빙된 비트열를 제2 인터리버로 인터리빙하는 단계; 및
    (d) 상기 (c) 단계에서 인터리빙된 비트열를 구성 부호화하여 제2 패리티 비트열을 구하는 단계;를 포함하는 것을 특징으로 하는 터보 부호화 방법.
  2. 제1항에 있어서, 상기 (d) 단계 이후에,
    상기 (b) 단계에서 구한 제1 패리티 비트열과, 상기 (d) 단계에서 구한 제2 패리티 비트열을 다중화하여 채널을 통해 전송하는 단계;를 더 포함하는 터보 부호화 방법.
  3. (a)는 소정의 양의 정수라 할때 입력 정보 비트열을 제1 인터리버로인터리빙하는 단계와, 인터리빙된 비트열를 구성 부호화하여 제1 패리티 비트열을 구하는 단계와, 인터리빙된 비트열를 제2 인터리버로 인터리빙하는 단계, 및 인터리빙된 비트열를 구성 부호화하여 제2 패리티 비트열을 구하는 단계를 포함하는 터보 부호화 방법에 의하여 부호화되어 무선 통신 채널을 통하여 전송된 정보 비트열과 패리티 비트열을 입력하는 단계;
    (b) 채널을 통과한 정보 비트열()을 인터리빙하여 인터리빙된 정보 비트열()을 구하는 단계;
    (c) 패리티 비트가 채널을 통과한 형태인를 역다중화하여로 분리하는 단계;
    (d) 인터리빙된 정보 비트열()과 제1 인터리버(204:)를 거친 패리티 비트열(), 및 이하에서 설명될를 입력하여 복호화함으로써 LLR 값()을 구하는 단계; 및
    (e) 복호기들 사이에 전달되는 LLR(Log-likelihood Ratio)값의 순서를 맞추는 단계;를 포함하는 것을 특징으로 하는 터보 복호화 방법.
  4. 제3항에 있어서, 상기 (e) 단계 이후에,
    (f) LLR 값()에서와 사전 정보()를 제거함으로써 순수한 외부 정보()을 구하는 단계;
    (g) 외부 정보()를 인터리빙함으로써 제2 복호기의 사전 정보()를 구하는 단계;
    (h)를 인터리빙하여 인터리빙된 비트열()을 구하는 단계;
    (i) 사전정보(), 두 개의 인터리버를 거친를 입력하여 복호화함으로써 사전정보()를 구하는 단계;
    (j) 제2 가산기(416)는 제2 복호기(414)에서 출력된에서를 제거함으로써 외부 정보()를 구하는 단계; 및
    (k) 외부 정보()를 디인터리빙함으로써 제1 복호기의 사전 정보()를 구하는 단계;
    (l) 충분한 반복 복호가 이루어진 다음를 제2 디인터리버()로 디인터리빙하는 단계; 및
    (m) 소프트 리미팅에 의하여 정보 비트()를 결정하는 단계;를 더 포함하는 것을 특징으로 하는 터보 복호화 방법.
  5. 무선 통신 시스템의 채널 부호화에 사용되는 터보 부호기에 있어서,
    는 소정의 양의 정수라 할때 입력 정보 비트열을 인터리빙하는 제1 인터리버;
    인터리빙된 비트열를 구성 부호화하여 제1 패리티 비트열을 출력하는 제1 부호기;
    인터리빙된 비트열를 인터리빙하는 제2 인터리버; 및
    인터리빙된 비트열를 구성 부호화하여 제2 패리티 비트열을 출력하는 제2 부호기;를 포함하는 것을 특징으로 하는 터보 부호기.
  6. 제5항에 있어서,
    제1 패리티 비트열과 제2 패리티 비트열을 다중화하는 다중화기;를 더 포함하는 터보 부호기.
  7. 는 소정의 양의 정수라 할때 입력 정보 비트열을 제1 인터리버로 인터리빙하는 단계와, 인터리빙된 비트열를 구성 부호화하여 제1 패리티 비트열을 구하는 단계와, 인터리빙된 비트열를 제2 인터리버로 인터리빙하는 단계, 및 인터리빙된 비트열를 구성 부호화하여 제2 패리티 비트열을 구하는 단계를 포함하는 터보 부호화 방법에 의하여 부호화되어 무선 통신 채널을 통하여 전송된 정보 비트열과 패리티 비트열을 입력하여,
    채널을 통과한 정보 비트열()을 인터리빙하여 인터리빙된 정보 비트열()을 구하는 제3 인터리버();
    패리티 비트가 채널을 통과한 형태인로 분리하는 역다중화기;
    인터리빙된 정보 비트열()과 제1 인터리버()를 거친 패리티 비트열(), 및 이하에서 설명될를 입력하여 복호화함으로써 LLR 값()을 구하는 제1 복호기;
    상기 제1 복호기와 제2 복호기 사이에 구비되어 복호기들 사이에 전달되는 LLR(Log-likelihood Ratio)값의 순서를 맞추는 제4 인터리버()와 제1 디인터리버();
    상기 제1 복호기에서 출력된 LLR 값()에서와 사전 정보()를 제거함으로써 순수한 외부 정보()을 구하는 제1 가산기;
    를 인터리빙하여 인터리빙된 비트열()을 구하는 제5 인터리버();
    사전정보(), 두 개의 인터리버를 거친를 입력하여 복호화함으로써 사전정보()를 구하는 제2 복호기;
    상기 제2 복호기에서 출력된에서를 제거함으로써 외부 정보()를 구하는 제2 가산기;
    충분한 반복 복호가 이루어진 다음를 디인터리빙하는 제2 디인터리버(); 및
    디인터리빙된 비트열을 소프트 리미팅함으로써 정보 비트()를 결정하는소프트 리미터;를 포함하는 것을 특징으로 하는 터보 복호기.
  8. 제7항에 있어서,
    상기 제4 인터리버()는 외부 정보()를 인터리빙함으로써 제2 복호기의 사전 정보()를 구하고,
    상기 제1 디인터리버()는 외부 정보()를 디인터리빙함으로써 상기 제1 복호기의 사전 정보()를 출력하는 것을 특징으로 하는 터보 복호기.
KR1020020024901A 2002-05-07 2002-05-07 터보 부호화/복호기 및 그 방법 KR20020087850A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020020024901A KR20020087850A (ko) 2002-05-07 2002-05-07 터보 부호화/복호기 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020020024901A KR20020087850A (ko) 2002-05-07 2002-05-07 터보 부호화/복호기 및 그 방법

Publications (1)

Publication Number Publication Date
KR20020087850A true KR20020087850A (ko) 2002-11-23

Family

ID=27726214

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020020024901A KR20020087850A (ko) 2002-05-07 2002-05-07 터보 부호화/복호기 및 그 방법

Country Status (1)

Country Link
KR (1) KR20020087850A (ko)

Similar Documents

Publication Publication Date Title
KR100356324B1 (ko) 채널 디코더 및 채널 디코딩 방법
Bauer et al. Iterative source/channel-decoding using reversible variable length codes
US6859906B2 (en) System and method employing a modular decoder for decoding turbo and turbo-like codes in a communications network
Guivarch et al. Joint source-channel soft decoding of Huffman codes with turbo-codes
US6812873B1 (en) Method for decoding data coded with an entropic code, corresponding decoding device and transmission system
KR100651847B1 (ko) 다중 순환 부호화를 이용한 터보 부호의 부호화/복호 장치및 방법
Hokfelt et al. On the theory and performance of trellis termination methods for turbo codes
Grangetto et al. Iterative decoding of serially concatenated arithmetic and channel codes with JPEG 2000 applications
Burkert et al. " Turbo" Decoding with Unequal Error Protection applied to GSM speech coding
Lin et al. Low power soft output Viterbi decoder scheme for turbo code decoding
Sreedevi et al. Design and Implementation of Interleaver in GNU Radio for short block length Turbo codes
KR20020087850A (ko) 터보 부호화/복호기 및 그 방법
Cardinal et al. Turbo decoding using convolutional self doubly orthogonal codes
Ng et al. On the union bounds of self-concatenated convolutional codes
KR100251087B1 (ko) 터보부호기의 복호기
Jaspar et al. Design and performance analysis of joint source-channel turbo schemes with variable length codes
Chemak et al. Near Shannon limit for turbo code with short frames
Chaikalis et al. Improving the reconfigurable SOVA/log-MAP turbo decoder for 3GPP
Chronopoulos et al. A Parallel turbo encoder-decoder scheme
Kadhim et al. Turbo codes with internal pilot insertion
Menezla et al. The Effect of Error Correcting Codes in the Chain of Transmission and Comparison between the Performances of these Codes
Shah et al. Performance analysis of turbo code for CDMA 2000 with convolutional coded IS-95 system in wireless communication system
KR20070112326A (ko) 고속 데이터 전송에 적합한 터보 부호화 방법 및 장치
Cheng Hyperimposed convolutional codes
Wang et al. High-performance SOVA decoding for Turbo Codes over cdma2000 mobile radio

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application