KR101049947B1 - 컨볼루셔널 터보 코드 부호화 장치 및 컨볼루셔널 터보 코드를 사용하는 부호화 방법 - Google Patents

컨볼루셔널 터보 코드 부호화 장치 및 컨볼루셔널 터보 코드를 사용하는 부호화 방법 Download PDF

Info

Publication number
KR101049947B1
KR101049947B1 KR1020090011494A KR20090011494A KR101049947B1 KR 101049947 B1 KR101049947 B1 KR 101049947B1 KR 1020090011494 A KR1020090011494 A KR 1020090011494A KR 20090011494 A KR20090011494 A KR 20090011494A KR 101049947 B1 KR101049947 B1 KR 101049947B1
Authority
KR
South Korea
Prior art keywords
data
encoding
interleaved
ctc
encoded
Prior art date
Application number
KR1020090011494A
Other languages
English (en)
Other versions
KR20100092215A (ko
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 KR1020090011494A priority Critical patent/KR101049947B1/ko
Publication of KR20100092215A publication Critical patent/KR20100092215A/ko
Application granted granted Critical
Publication of KR101049947B1 publication Critical patent/KR101049947B1/ko

Links

Images

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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/23Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using convolutional codes, e.g. unit memory codes
    • 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
    • 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/65Purpose and implementation aspects
    • H03M13/6522Intended application, e.g. transmission or communication standard
    • H03M13/6544IEEE 802.16 (WIMAX and broadband wireless access)
    • 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/65Purpose and implementation aspects
    • H03M13/6561Parallelized implementations

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

고속화 및 병렬화를 위하여 입력버퍼, 제1 인터리버, 인코딩부, 제2 인터리버 및 출력버퍼를 포함하는 CTC(Convolutional Turbo Code) 부호화 장치가 개시된다. 입력버퍼는 입력되는 데이터를 순차적으로 저장한다. 제1 인터리버는 입력버퍼에 저장된 저장 데이터를 인터리빙하고 제1 인터리브드 데이터로 제공한다. 인코딩부는 저장 데이터 및 제1 인터리브드 데이터를 입력 받아 각각 CTC 부호화를 수행한다. 제2 인터리버는 저장 데이터, 저장 데이터가 인코딩부에서 부호화된 제1 부호화 데이터 및 제1 인터리브드 데이터가 인코딩부에서 부호화된 제2 부호화 데이터를 순차적으로 제공 받아 각각 인터리빙하고 제2 인터리브드 데이터로 제공한다. 출력버퍼는 제2 인터리브드 데이터를 순차적으로 저장하고 출력한다.

Description

컨볼루셔널 터보 코드 부호화 장치 및 컨볼루셔널 터보 코드를 사용하는 부호화 방법{Convolutional turbo code encoding apparatus and encoding method using convolutional turbo code}
본 발명은 CTC(Convolutional turbo code) 부호화 장치에 관한 것으로, 보다 상세하게는 출력버퍼의 입력단에 인터리버가 결합된 CTC 부호화 장치에 관한 것이다.
터보 코드는 무선 통신 분야에서 가장 강력한 채널 코딩 방법들 중 하나로 새논(Shannon)의 한계에 거의 근접하는 성능을 보여준다. 오늘날 집적회로(Integrated Circuit)의 지속적인 소형화로 인하여 터보 부호화 방법은 모바일 장치에도 적용 가능하게 되었으며, W-CDMA(Wideband Code Division Multiple Access), CDMA-2000등에 이어서 최근 WiBro(Wireless Broadband Internet), WIMAX 등에 채택되었다. 또한, 상기 무선 통신 시스템에 대한 통신 규격이 IEEE(Institute of Electrical and Electronics Engineers) 802.16e 통신 규격이다.
상기 IEEE 802.16e 통신 규격에 정의된 통신 시스템은 무선 통신 시스템의 물리 채널(Physical Channel)에 광대역(Broadband) 전송 네트워크를 지원하기 위하여 직교 주파수 분할 다중(OFDM: Orthogonal Frequency Division Multiplexing)/직교 주파수 분할 다중 접속(OFDMA: Orthogonal Frequency Division Multiple Access) 방식을 적용한 통신 시스템이다.
OFDM 방식은 직렬로 입력되는 심벌(symbol) 열을 병렬 변환하여 이들 각각을 상호 직교성을 갖는 다수의 부반송파를 통하여 변조하는 방식으로 디지털 오디오 방송(Digital Audio Broadcasting: DAB)과 디지털 텔레비전, 무선랜 및 무선 ATM(Wireless Asynchronous Transfer Mode) 등의 디지털 전송 기술에 광범위하게 적용될 수 있다.
이러한 IEEE 802.16e 규격에 정의된 CTC 부호화 장치는 기능적으로 부호화를 수행하는 인코딩부와 서브패킷(sub-packet)을 생성하는 서브패킷 생성기(sub-packet generator)로 구분할 수 있다.
도 1은 종래의 광대역 무선접속 통신 시스템에서 CTC 부호화 장치를 나타내는 블록도이다.
도 1을 참조하면 CTC 부호화 장치(100)는 입력버퍼(110), 인코딩부(120), 서브패킷 생성기(130)를 포함하여 구성된다. 인코딩부(120)는 내부 인터리버(122) 및 부호화부(124)를 포함하여 구성되며, 서브패킷 생성기(130)는 출력버퍼(132), 서브블록 인터리버(134), 심볼 그룹화기(136) 및 심볼 선택기(138)를 포함하여 구성된다.
먼저 입력버퍼(110)는 CTC 부호화 장치에 입력되는 데이터를 순차적으로 저 장한다. 이 경우 상기 입력되는 데이터는 IEEE 802.16e에서 규정하는 일정한 크기의 FEC 블록(block)으로 가정한다.
인코딩부(120)는 상기 입력버퍼(110)에 저장된 저장 데이터를 입력 받아 3부분으로 부호화 과정을 수행하여 데이터를 출력한다. 첫째는 상기 내부 인터리버(122)를 통해 상기 저장 데이터가 인터리빙된 제1 인터리브드 데이터가 상기 부호화부(124)를 거쳐 부호화되어 출력되는 제1 부호화 데이터로서 이를 패리티(parity) 부분이라 한다. 둘째는 상기 저장 데이터가 상기 내부 인터리버(122)를 거치지 않고 상기 부호화부(124)를 거쳐 부호화되어 출력되는 제2 부호화 데이터로서 이 또한 패리티 부분이라 한다. 마지막으로 부호화되지 않은 상기 저장 데이터 자체가 출력되는 원본 데이터로서 이를 시스터매틱(systematic) 부분이라 한다. 여기서 상기 인코딩부(120)로 입력되는 데이터는 2 bit 단위로 입력되고, 상기 부호화부(124)는 이중 이진(double binary) CRSC(circular recursive systematic convolution) 부호기를 포함하는 것으로 가정한다.
서브패킷 생성기(130)는 상기 인코딩부(120)에서 출력된 상기 제1 및 제2 부호화 데이터와 상기 저장 데이터들에 대해 서브패킷을 생성하여 출력한다. 상기 제1 및 제2 부호화 데이터와 상기 저장 데이터들은 일정한 서브블록(subblock) 단위로 상기 출력버퍼(132)에 저장된 후, 시리얼(serial) 형태로 출력된다. 상기 서브블록 인터리버(134)는 상기 출력버퍼(132)에서 출력된 상기 서브블록(subblock)들을 입력 받고 각각 인터리빙하여 제2 인터리브드 데이터를 출력한다. 이 경우 인터리빙 알고리즘은 IEEE 802.16e에 정의된 인터리빙 함수를 따르는 것으로 가정한다. 상기 심볼 그룹화기(136)는 상기 제2 인터리브드 데이터 중 상기 패리티 부분을 입력 받아 심볼(symbol) 단위로 다중화(multiplexing)한다. 최종적으로 심볼 선택기(138)는 상기 심볼 그룹화기를 거친 데이터를 천공(puncturing)하여 부호화 과정을 마치고 천공된 데이터를 출력한다.
상기 설명한 종래의 CTC 부호화 장치는 상기 IEEE 802.16e 통신 규격에서 정의하는 입력 데이터의 크기를 모두 지원하도록 하드웨어를 설계할 경우 많은 하드웨어 자원이 필요하다. 또한, 병렬 형태의 연산을 수행할 수 없으며, 출력버퍼 이후에 인터리빙(subblock interleaving)을 수행하므로 출력 버퍼에서 데이터를 시리얼 형태로 출력해야 한다. 즉 CTC 부호화 장치의 고속화 실현에 어려움이 있다.
따라서 이러한 종래의 CTC 부호화 장치의 문제점을 해결하고 성능을 높이기 위한 CTC 부호화 장치 및 인터리버가 필요하게 되었다.
이에 따라, 본 발명의 일 목적은 인터리버의 위치를 변경하여 성능이 향상된 CTC 부호화 장치 및 CTC를 이용하는 부호화 방법을 제공하는 데 있다.
또한 본 발명의 일 목적은 CTC 부호화 장치에서 사용하는 인터리버를 제공하는 데 있다.
상술한 본 발명의 일 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 광대역 무선접속 통신 시스템에서 CTC(Convolutional Turbo Code) 부호화 장치는 입력버퍼, 제1 인터리버, 인코딩부, 제2 인터리버 및 출력버퍼를 포함한다. 상기 입력버퍼는 입력되는 데이터를 순차적으로 저장한다. 상기 제1 인터리버는 상기 입력버퍼에 저장된 저장 데이터를 인터리빙하고 제1 인터리브드 데이터로 제공한다. 상기 인코딩부는 상기 저장 데이터 및 상기 제1 인터리브드 데이터를 입력 받아 각각 CTC 부호화를 수행한다. 상기 제2 인터리버는 상기 저장 데이터, 상기 저장 데이터가 상기 인코딩부에서 부호화된 제1 부호화 데이터 및 상기 제1 인터리브드 데이터가 상기 인코딩부에서 부호화된 제2 부호화 데이터를 순차적으로 제공 받아 각각 인터리빙하고 제2 인터리브드 데이터로 제공한다. 출력버퍼는 상기 제2 인터리브드 데이터를 순차적으로 저장하고 출력한다.
실시예에 있어서, 상기 제2 인터리버는 IEEE 802.16e 표준을 따르는 서브블록 인터리빙 함수의 역함수를 통해 상기 출력버퍼에 상기 제2 인터리브드 데이터를 저장하도록 인터리빙하는 구조를 가질 수 있다.
실시예에 있어서, 상기 인코딩부는 상기 저장 데이터 및 상기 제1 인터리브드 데이터에 대하여 각각 CTC 부호화를 수행하는 이중 이진(double binary) CRSC(circular recursive systematic convolution) 부호기를 포함하는 이중 이진 CRSC 부호화부 및 상기 이중 이진 CRSC 부호기로부터 부호화된 데이터를 서브블록(subblock) 단위로 상기 제1 부호화 데이터와 상기 제2 부호화 데이터를 생성하는 심볼 분리기(symbol separator)를 포함할 수 있다. 상기 이중 이진 CRSC 부호화부는 상기 이중 이진 CRSC 부호기 2개가 병렬로 연결될 수 있다.
실시예에 있어서, 상기 출력 버퍼는 저장된 상기 제2 인터리브드 데이터의 출력 시 2개 이상의 비트를 동시에 출력할 수 있다.
실시예에 있어서, 상기 CTC 부호화 장치는 IEEE 802.16e 표준을 따를 수 있다. 상기 CTC 부호화 장치는 입력되는 데이터에 대해 chase HARQ(Hybrid Automatic Repeat reQuest)를 지원할 수 있다.
상술한 본 발명의 일 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 광대역 무선접속 통신 시스템에서 CTC 부호화 장치의 인터리버는 IEEE 802.16e 표준에 정의된 서브블록 인터리빙 함수의 역함수를 통해 출력버퍼에 출력데이터를 저장하도록 인터리빙하는 구조를 가진다.
상술한 본 발명의 일 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 광대역 무선접속 통신 시스템에서 CTC(Convolutional Turbo Code)를 사용한 부호화 방법에서는 입력되는 데이터가 순차적으로 저장된다. 상기 저장된 저장 데이터는 그대로 제공된다. 상기 저장 데이터는 CTC 부호화되어 제1 부호화 데이터로 제공된다. 상기 저장 데이터는 인터리빙되어 제1 인터리브드 데이터로 제공된 후 상기 제1 인터리브드 데이터는 CTC 부호화되어 제2 부호화 데이터로 제공된다. 순차적으로 제공된 상기 저장 데이터, 상기 제1 부호화 데이터 및 상기 제2 부호화 데이터는 각각 인터리빙되어 제2 인터리브드 데이터로 제공된다. 상기 제2 인터리브드 데이터는 순차적으로 저장되고 출력된다.
실시예에 있어서, 상기 제2 인터리브드 데이터가 제공되는 제2 인터리빙 단계는 IEEE 802.16e 표준을 따르는 서브블록 인터리빙 함수의 역함수를 통해 상기 제2 인터리브드 데이터를 제공하도록 인터리빙하는 구조를 가질 수 있다.
실시예에 있어서, 상기 CTC 부호화를 수행하는 단계는 상기 저장 데이터 및 상기 제1 인터리브드 데이터에 대하여 이중 이진 CRSC 부호화 방법으로 각각 CTC 부호화를 수행할 수 있다. 상기 이중 이진 CRSC 부호화 단계로부터 부호화된 데이터를 서브블록(subblock) 단위로 상기 제1 부호화 데이터와 상기 제2 부호화 데이터를 생성할 수 있다. 상기 이중 이진 CRSC 부호화 방법으로 CTC 부호화를 수행하는 이중 이진 CRSC 부호화 단계는 상기 이중 이진 CRSC 부호화 방법을 병렬로 수행할 수 있다.
실시예에 있어서, 상기 제2 인터리브드 데이터를 저장하고 출력하는 단계는 저장된 상기 제2 인터리브드 데이터의 출력 시 2개 이상의 비트를 동시에 출력할 수 있다.
본 발명에 따르면, 인터리버가 출력버퍼의 입력단에 위치하여 부호화된 데이터를 출력버퍼에 저장하기 전에 인터리빙하고, 이중 이진 CRSC 부호기 2개를 병렬로 연결함으로써 연산 시간이 줄어드는 효과가 있어 이러한 CTC 부호화 장치를 포함하는 통신 시스템의 성능 향상을 가져온다.
이하, 첨부된 도면들을 참조하여 본 발명의 실시예들에 따른 CTC 부호화 장치의 동작에 대하여 상세하게 설명하지만, 본 발명이 하기의 실시예들에 제한되는 것은 아니며, 해당 분야에서 통상의 지식을 가진 자라면 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 본 발명을 다양한 다른 형태로 구현할 수 있을 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석 되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
한편, 어떤 실시예가 달리 구현 가능한 경우에 특정 블록 내에 명기된 기능 또는 동작이 순서도에 명기된 순서와 다르게 일어날 수도 있다. 예를 들어, 연속하는 두 블록이 실제로는 실질적으로 동시에 수행될 수도 있고, 관련된 기능 또는 동작에 따라서는 상기 블록들이 거꾸로 수행될 수도 있다. 각 도면에 제시된 동일한 참조부호는 동일한 구성요소를 나타낸다.
상기한 바대로 터보 코드는 강력한 채널 코팅 방법으로 모바일 장치에 적용 가능하며, CTC(convolutional turbo code)는 IEEE 802.16e 통신 규격에 채택되었다. 이러한 IEEE 802.16e 규격에 정의된 CTC 부호화 장치는 기능적으로 부호화를 수행하는 인코딩부와 서브패킷(sub-packet)을 생성하는 서브패킷 생성기(sub-packet generator)로 구분할 수 있으며, 본 발명의 일 실시예에 따른 CTC 부호화 장치는 서브패킷 생성기의 구성요소를 변경하여 CTC 부호화 장치의 성능을 향상시킬 수 있다.
도 2는 본 발명의 일 실시예에 따른 광대역 무선통신 시스템에서 CTC 부호화 장치를 나타내는 블록도이다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 CTC 부호화 장치(200)는 입력버퍼(210), 제1 인터리버(220), 인코딩부(230), 제2 인터리버(240) 및 출력버퍼(250)를 포함하여 구성된다.
입력버퍼(210)는 상기 CTC 부호화 장치(200)에 byte 단위로 입력되는 데이터를 순차적으로 저장한다. 이 때 MSB(most significant bit)가 먼저 저장된다. 실시예에 따라서 LSB가 먼저 저장될 수도 있다. 이 경우 상기 입력되는 데이터는 IEEE 802.16e에서 규정하는 일정한 크기의 FEC 블록(block)일 수 있다.
입력버퍼(210)에 입력되는 데이터에 대해 IEEE 802.16e에서 규정하는 chase HARQ(hybrid automatic repeat request)를 지원할 수 있다. 이 경우 입력되는 FEC 블록의 크기는 모두 12 종류이고, 입력되는 FEC 블록의 최대 크기는 60 byte이며, 입력버퍼의 크기는 480 bit이다. 또한 CTC 부호화 장치의 부호율(code rate)은 1/2이다.
제1 인터리버(220)는 상기 입력버퍼(210)에 저장된 저장 데이터(SD)를 인터리빙한 제1 인터리브드 데이터(ID1)를 상기 인코딩부(230)로 전송한다. 이 경우 제1 인터리버(220)는 저장 데이터(SD) 중 2개의 비트(bit)를 하나의 쌍으로 입력 받을 수 있다. 또한 상기 입력된 데이터 중 짝수 번째로 입력되는 데이터 쌍에 대해 두 비트의 순서를 바꾸고, IEEE 802.16e에서 제공하는 P(j) 함수에 의해서 인터리빙하는 알고리즘을 가질 수 있다. 하기의 [수학식 1]은 IEEE 802.16e에서 제공하는 내부 인터리버의 인터리빙 알고리즘이다.
[수학식 1]
U2(j) = U1(P(j))
For j=0, ,N-1
switch mod(j,4):
case 0: P(j)=mod[(P0j+1),N]
case 1: P(j)=mod[(P0j+1+N/2+P1),N]
case 2: P(j)=mod[(P0j+1+P2),N]
case 3: P(j)=mod[(P0j+1+N/2+P3),N]
상기 [수학식 1]에서 U2는 제1 인터리버의 출력이며, U1은 제1 인터리버의 입력이다. 또한 P0 내지 P3은 FEC 블록의 크기에 따라 IEEE 802.16e에 규정되어 있다. 입력버퍼(210)에 입력되는 데이터에 대해 IEEE 802.16e에서 규정하는 chase HARQ(hybrid automatic repeat request)를 지원하는 경우, FEC 블록의 최대 크기는 60 byte이다.
인코딩부(230)는 먼저 저장 데이터(SD)가 입력되어 CTC 부호화를 통해 부호화된 제1 부호화 데이터(ED1)를 제공하고, 다음에 제1 인터리브드 데이터(ID1)가 입력되어 CTC 부호화를 통해 부호화된 제2 부호화 데이터(ED2)를 제공한다. 심볼 그룹화(symbol grouping)를 수행하도록 저장 데이터(SD) 및 제1 인터리브드 데이터(ID1) 각각에 대해 부호화를 수행한다. 이 경우 저장 데이터(SD) 및 제1 인터리브드 데이터(ID1)는 2개의 비트를 하나의 쌍으로 하여 입력될 수 있으며, 심볼 선택(symbol selection)을 수행하도록 상기 인코딩부(230)의 두 개의 출력 비트 중 상위 하나의 비트만을 사용할 수 있다. 즉 천공(puncturing)되는 부분을 인코딩 부(230)에서 미리 제거할 수 있다. 또한 상기 제1 및 제2 부호화 데이터(ED1, ED2)는 서브블록(subblock) 단위로 생성될 수 있다.
제2 인터리버(240)는 먼저 저장 데이터(SD)를 제공받고, 다음에 제1 부호화 데이터(ED1)를 제공받으며, 그 다음에 제2 부호화 데이터를 제공받아 각각 인터리빙을 수행하여 제2 인터리브드 데이터(ID2)를 제공한다. 이 경우 제1 및 제2 부호화 데이터(ED1, ED2)와 저장 데이터(SD)는 서브블록 단위로 입력될 수 있다.
제2 인터리버(240)의 인터리빙 알고리즘은 IEEE 802.16e 표준을 따르는 서브블록 인터리빙 함수의 역함수를 사용할 수 있다. 하기의 [수학식 2]는 IEEE 802.16e 표준에 정의된 서브블록 인터리빙 함수이다.
[수학식 2]
Tk = 2m * mod(k,J) + BROm(k/J)
여기서 m과 J는 IEEE 802.16e에서 규정하는 FEC 블록의 크기에 따라 주어지는 값이며, k는 입력되는 데이터의 인덱스(index)이다. 또한 BROm(y)는 y값에 대한 bit-reversed m bit 값이다. 즉 BRO3(6)=3 이다. Tk는 인터리빙을 위한 출력버퍼의 읽기주소(read address)이다. 하기의 [수학식 3]은 상기 [수학식 2]의 역함수인 출력버퍼의 쓰기주소(write address)를 나타낸다.
[수학식 3]
Address = BROm[mod(k,2m)] * Cn + Tn(floor(k/2m))
여기서 m과 n은 FEC 블록의 크기에 따라 주어지며 Cn과 Tn은 n값에 따라 결정된다. floor(x) 함수는 x보다 작은 자연수 중 최대값을 의미한다.
제1 및 제2 부호화 데이터(ED1, ED2)와 저장 데이터(SD)에 대해 IEEE 802.16e에서 규정하는 chase HARQ(hybrid automatic repeat request)를 지원할 수 있다. 이 경우 상기 [수학식 3]의 파라미터(parameter) m, n, Cn, Tn은 도 3 및 도 4에 나타난 표와 같다. 이를 하드웨어로 구현할 경우 IEEE 802.16e에서 규정하고 chase HARQ를 지원하는 모든 FEC 블록에 대해 적용할 수 있다.
출력버퍼(250)는 상기 제2 인터리브드 데이터(ID2)를 순차적으로 저장하고 출력한다. 이 경우 제2 인터리브드 데이터(ID2)는 IEEE 802.16e에서 규정하는 모든 동작이 수행된 데이터일 수 있다. 또한 제2 인터리브드 데이터(ID2)에 대해 IEEE 802.16e에서 규정하는 chase HARQ(hybrid automatic repeat request)를 지원할 수 있다. 이 경우 출력버퍼의 크기는 최대 부호율(code rate)인 1/2을 만족하는 120 byte, 즉 960 bit이다.
실시예에 따라서, 출력버퍼(250)에 저장된 데이터는 2개 이상의 비트가 동시에 출력될 수 있다. 특히 커플 단위로 입력되는 데이터를 제2 인터리버(240)에서 생성된 어드레스에 맞추어 출력버퍼(250)에 저장시킨 후 하나의 주어진 FEC 블록이 모두 저장되면 12 비트씩 병렬로 출력될 수 있다. 이는 CTC 부호화 장치(200)의 다음 단계에 신호처리부가 위치할 수 있는데 일반적으로 상기 신호처리부는 2개 이상의 멀티비트(multi-bit)를 처리하기 때문이다. 제2 인터리버(240)를 출력버퍼(250) 의 전단에 배치하여 출력버퍼(250)에서 직접 데이터를 출력하여 CTC 부호화 장치(200)에서 복수개의 비트를 한꺼번에 전송하는 것이 가능하고, 이는 CTC 부호화 장치(200)의 입장에서 볼 때 고속화가 실현된 것이다.
도 5는 본 발명의 일 실시예에 따른 CTC 부호화 장치에 포함된 인코딩부를 나타내는 블록도이다.
도 5를 참조하면, 인코딩부(230)는 이중 이진 CRSC 부호화부(232)와 심볼 분리기(238)를 포함하여 구성된다.
이중 이진 CRSC 부호화부(232)는 먼저 저장 데이터(SD)를 입력 받아 부호화를 수행하고, 다음에 제1 인터리브드 데이터(ID1)를 입력 받아 부호화를 수행한다. 이중 이진 CRSC 부호화부(232)는 이중 이진 CRSC 부호기를 포함할 수 있고, 상기 이중 이진 CRSC 부호기는 부호화를 위해 테일바이팅(tail-biting) 기법을 사용할 수 있다. 테일바이팅은 데이터가 부호기에 처음 입력될 때의 메모리 상태(state)와 데이터가 모두 부호화 된 후의 메모리 상태가 같도록 하는 기술이다. 상기 테일바이팅 기술을 사용하는 경우 초기 메모리 값이 모두 0인 상태에서 상기 이중 이진 CRSC 부호기에 입력된 입력 데이터를 부호화시키고 부호화 후 마지막 상태를 바탕으로 초기 상태와 마지막 상태가 같아지도록 하는 상태 값을 찾아내어 다시 상기 입력 데이터를 부호화한다. 즉 동일한 데이터를 두 번 입력하여야 한다.
심볼 분리기(238)는 상기 이중 이진 CRSC 부호기로부터 부호화된 데이터를 서브블록(subblock) 단위로 생성하여 제1 부호화 데이터(ED1) 및 제2 부호화 데이터(ED2)로 제공한다.
도 6은 본 발명의 일 실시예에 따른 CTC 부호화 장치의 인코딩부에 포함된 이중 이진 CRSC 부호화부를 나타내는 블록도이다.
도 6을 참조하면, 이중 이진 CRSC 부호화부(232)는 병렬로 연결된 제1 이중 이진 CRSC 부호기(234)와 제2 이중 이진 CRSC 부호기(236)를 포함하여 구성된다.
제1 이중 이진 CRSC 부호기(234)는 저장 데이터(SD)에 대해 CTC 부호화를 수행하고, 제2 이중 이진 CRSC 부호기(236)는 제1 인터리브드 데이터(ID1)에 대해 CTC 부호화를 수행한다. 제1 인터리브드 데이터(ID)와 저장 데이터(SD)에 대해 동시에 부호화를 수행함으로써 CTC 부호화 장치의 고속화를 실현할 수 있다.
이하 도 2, 도 5 및 도 6을 참조하여 본 발명의 일 실시예에 따른 광대역 무선통신 시스템에서 CTC를 사용한 부호화 방법을 설명한다.
먼저 입력되는 데이터가 순차적으로 입력버퍼(210)에 저장된다. 다음에 입력 버퍼에 저장된 저장 데이터(SD)가 제2 인터리버(240)로 제공된다. 다음에 저장 데이터(SD)가 제1 인터리버(220)를 거치지 않고 인코딩부(230)를 거쳐 부호화된 제1 부호화 데이터(ED1)가 제2 인터리버(240)로 제공된다. 다음에 저장 데이터(SD)가 제1 인터리버(220)에서 인터리빙되어 제1 인터리브드 데이터(ID1)로 제공되고, 제1 인터리브드 데이터(ID1)가 인코딩부(230)에서 부호화된 제2 부호화 데이터(ED2)가 제2 인터리버(240)로 제공된다. 인코딩부(230)에서는 먼저 저장 데이터(SD)에 대해 이중 이진 CRSC 부호화가 수행되고 다음에 제1 인터리브드 데이터(ID1)에 대해 이중 이진CRSC 부호화가 수행되며,(도 5의 이중 이진 CRSC 부호화부(232)에서), 상기 부호화된 데이터를 서브블록 단위로 제1 및 제2 부호화 데이터(ED1, ED2)로 제공된 다(도 5의 심볼 분리기(238)에서). 상기 이중 이진 CRSC 부호화부(232)는 저장 데이터(SD) 및 제1 인터리브드 데이터(ID1)에 대해 이중 이진 CRSC 부호화를 병렬로 수행한다(도 6의 제1 및 제2 이중 이진 CRSC 부호기(234, 236)에서). 다음에 제2 인터리버(240)에서는 순차적으로 제공받은 상기 저장 데이터(SD), 제1 부호화 데이터(ED1) 및 제2 부호화 데이터(ED2)를 각각 인터리빙하여 제2 인터리브드 데이터(ID2)로 제공한다. 제2 인터리버(240)에서는 IEEE 802.16e 표준을 따르는 서브블록 인터리빙 함수의 역함수를 통해 제2 인터리브드 데이터(ID2)를 제공한다. 다음에 출력버퍼(250)에서 상기 제2 인터리브드 데이터(ID2)를 순차적으로 저장하고 출력한다. 출력버퍼(250)에서는 저장된 상기 제2 인터리브드 데이터(ID2)의 출력 시 2개 이상의 비트를 동시에 출력한다.
한편, 어떤 실시예가 달리 구현 가능한 경우에 특정 블록 내에 명기된 기능 또는 동작이 순서도에 명기된 순서와 다르게 일어날 수도 있다. 예를 들어, 연속하는 두 블록이 실제로는 실질적으로 동시에 수행될 수도 있고, 관련된 기능 또는 동작에 따라서는 상기 블록들이 거꾸로 수행될 수도 있다. 각 도면에 제시된 동일한 참조부호는 동일한 구성요소를 나타낸다.
본 발명의 실시예들에 따르면, 인터리버가 출력버퍼의 입력단에 위치하여 부호화된 데이터를 출력버퍼에 저장하기 전에 인터리빙하고, 이중 이진 CRSC 부호기 2개를 병렬로 연결함으로써 연산 시간이 줄어드는 효과가 있어 이러한 CTC 부호화 장치를 포함하는 통신 시스템의 성능 향상을 가져오며, 모바일 WiMAX 및 WiBro의 단말기 및 기지국 장비에 적용할 수 있다.
상술한 바와 같이, 본 발명의 바람직한 실시예를 참조하여 설명하였지만 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
도 1은 종래의 광대역 무선접속 통신 시스템에서 CTC 부호화 장치를 나타내는 블록도이다.
도 2는 본 발명의 일 실시예에 따른 광대역 무선통신 시스템에서 CTC 부호화 장치를 나타내는 블록도이다.
도 3 및 도 4는 본 발명의 일 실시예에 따른 광대역 무선통신 시스템에서 CTC 부호화 장치의 인터리빙 알고리즘에 대한 파라미터의 값을 나타낸 표이다.
도 5는 본 발명의 일 실시예에 따른 CTC 부호화 장치에 포함된 인코딩부를 나타내는 블록도이다.
도 6은 본 발명의 일 실시예에 따른 CTC 부호화 장치의 인코딩부에 포함된 이중 이진 CRSC 부호화부를 나타내는 블록도이다.

Claims (13)

  1. 광대역 무선접속 통신 시스템에서 CTC(Convolutional Turbo Code) 부호화 장치에 있어서,
    입력되는 데이터를 순차적으로 저장하는 입력버퍼;
    상기 입력버퍼에 저장된 저장 데이터를 인터리빙하고 제1 인터리브드 데이터로 제공하는 제1 인터리버;
    상기 저장 데이터 및 상기 제1 인터리브드 데이터를 입력 받아 각각 CTC 부호화를 수행하는 인코딩부;
    상기 저장 데이터, 상기 저장 데이터가 상기 인코딩부에서 부호화된 제1 부호화 데이터 및 상기 제1 인터리브드 데이터가 상기 인코딩부에서 부호화된 제2 부호화 데이터를 순차적으로 제공 받아 각각 인터리빙하고 제2 인터리브드 데이터로 제공하는 제2 인터리버; 및
    상기 제2 인터리브드 데이터를 순차적으로 저장하고 출력하는 출력버퍼를 포함하는 CTC 부호화 장치.
  2. 제1항에 있어서, 상기 제2 인터리버는, IEEE 802.16e 표준을 따르는 서브블록 인터리빙 함수의 역함수를 통해 상기 출력버퍼에 상기 제2 인터리브드 데이터를 저장하도록 인터리빙하는 구조를 가지는 것을 특징으로 하는 CTC 부호화 장치.
  3. 제1항에 있어서, 상기 인코딩부는,
    상기 저장 데이터 및 상기 제1 인터리브드 데이터에 대하여 각각 CTC 부호화를 수행하는 이중 이진(double binary) CRSC(circular recursive systematic convolution) 부호기를 포함하는 이중 이진 CRSC 부호화부; 및
    상기 이중 이진 CRSC 부호기로부터 부호화된 데이터를 서브블록(subblock) 단위로 상기 제1 부호화 데이터와 상기 제2 부호화 데이터를 생성하는 심볼 분리기(symbol separator)를 포함하는 것을 특징으로 하는 CTC 부호화 장치.
  4. 제3항에 있어서, 상기 이중 이진 CRSC 부호화부는 상기 이중 이진 CRSC 부호기 2개가 병렬로 연결된 것을 특징으로 하는 CTC 부호화 장치.
  5. 제1항에 있어서, 상기 출력버퍼는,
    저장된 상기 제2 인터리브드 데이터의 출력 시 2개 이상의 비트를 동시에 출력하는 것을 특징으로 하는 CTC 부호화 장치.
  6. 제1항에 있어서, 상기 CTC 부호화 장치는 IEEE 802.16e 표준을 따르는 것을 특징으로 하는 CTC 부호화 장치.
  7. 제6항에 있어서, 상기 CTC 부호화 장치는 입력되는 데이터에 대해 chase HARQ(Hybrid Automatic Repeat reQuest)를 지원하는 것을 특징으로 하는 CTC 부호 화 장치.
  8. 삭제
  9. 광대역 무선접속 통신 시스템에서 CTC(Convolutional Turbo Code)를 사용한 부호화 방법으로서,
    입력되는 데이터를 순차적으로 저장하는 단계;
    상기 저장된 저장 데이터를 그대로 제공하는 단계;
    상기 저장 데이터에 대해 CTC 부호화가 수행된 제1 부호화 데이터를 제공하는 단계;
    상기 저장 데이터가 인터리빙되어 제1 인터리브드 데이터로 제공된 후 상기 제1 인터리브드 데이터에 대해 CTC 부호화가 수행된 제2 부호화 데이터를 제공하는 단계;
    순차적으로 제공된 상기 저장 데이터, 상기 제1 부호화 데이터 및 상기 제2 부호화 데이터를 각각 인터리빙하고 제2 인터리브드 데이터로 제공하는 제2 인터리빙 단계; 및
    상기 제2 인터리브드 데이터를 순차적으로 저장하고 출력하는 단계를 포함하 는 CTC를 사용한 부호화 방법.
  10. 제9항에 있어서, 상기 제2 인터리빙 단계는, IEEE 802.16e 표준을 따르는 서브블록 인터리빙 함수의 역함수를 통해 상기 제2 인터리브드 데이터를 제공하도록 인터리빙하는 것을 특징으로 하는 CTC를 사용한 부호화 방법.
  11. 제9항에 있어서, 상기 CTC 부호화를 수행하는 단계는,
    상기 저장 데이터 및 상기 제1 인터리브드 데이터에 대하여 이중 이진(double binary) CRSC(circular recursive systematic convolution) 부호화 방법으로 각각 CTC 부호화를 수행하는 이중 이진 CRSC 부호화 단계; 및
    상기 이중 이진 CRSC 부호화 단계로부터 부호화된 데이터를 서브블록(subblock) 단위로 상기 제1 부호화 데이터와 상기 제2 부호화 데이터를 생성하는 단계를 포함하는 것을 특징으로 하는 CTC를 사용한 부호화 방법.
  12. 제11항에 있어서, 상기 이중 이진 CRSC 부호화 단계는 상기 이중 이진 CRSC 부호화 방법을 병렬로 수행하는 것을 특징으로 하는 CTC를 사용한 부호화 방법.
  13. 제9항에 있어서, 상기 제2 인터리브드 데이터를 저장하고 출력하는 단계는,
    저장된 상기 제2 인터리브드 데이터의 출력 시 2개 이상의 비트를 동시에 출력하는 것을 특징으로 하는 CTC를 사용한 부호화 방법.
KR1020090011494A 2009-02-12 2009-02-12 컨볼루셔널 터보 코드 부호화 장치 및 컨볼루셔널 터보 코드를 사용하는 부호화 방법 KR101049947B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090011494A KR101049947B1 (ko) 2009-02-12 2009-02-12 컨볼루셔널 터보 코드 부호화 장치 및 컨볼루셔널 터보 코드를 사용하는 부호화 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090011494A KR101049947B1 (ko) 2009-02-12 2009-02-12 컨볼루셔널 터보 코드 부호화 장치 및 컨볼루셔널 터보 코드를 사용하는 부호화 방법

Publications (2)

Publication Number Publication Date
KR20100092215A KR20100092215A (ko) 2010-08-20
KR101049947B1 true KR101049947B1 (ko) 2011-07-15

Family

ID=42757147

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090011494A KR101049947B1 (ko) 2009-02-12 2009-02-12 컨볼루셔널 터보 코드 부호화 장치 및 컨볼루셔널 터보 코드를 사용하는 부호화 방법

Country Status (1)

Country Link
KR (1) KR101049947B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9577677B2 (en) 2011-12-01 2017-02-21 Lg Electronics Inc. Device and method for transmitting data using convolutional turbo code (CTC) encoder in mobile communication system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6903665B2 (en) * 2002-10-30 2005-06-07 Spacebridge Semiconductor Corporation Method and apparatus for error control coding in communication systems using an outer interleaver
KR20060071076A (ko) * 2004-12-21 2006-06-26 한국전자통신연구원 개인 휴대 인터넷 시스템용 컨벌루션 터보 코드 부호화방법 및 그 장치
KR20060121312A (ko) * 2005-05-24 2006-11-29 엘지전자 주식회사 컨볼루션 터보 부호 인터리버
KR20070112326A (ko) * 2006-05-20 2007-11-23 삼성전자주식회사 고속 데이터 전송에 적합한 터보 부호화 방법 및 장치

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6903665B2 (en) * 2002-10-30 2005-06-07 Spacebridge Semiconductor Corporation Method and apparatus for error control coding in communication systems using an outer interleaver
KR20060071076A (ko) * 2004-12-21 2006-06-26 한국전자통신연구원 개인 휴대 인터넷 시스템용 컨벌루션 터보 코드 부호화방법 및 그 장치
KR20060121312A (ko) * 2005-05-24 2006-11-29 엘지전자 주식회사 컨볼루션 터보 부호 인터리버
KR20070112326A (ko) * 2006-05-20 2007-11-23 삼성전자주식회사 고속 데이터 전송에 적합한 터보 부호화 방법 및 장치

Also Published As

Publication number Publication date
KR20100092215A (ko) 2010-08-20

Similar Documents

Publication Publication Date Title
US11165537B2 (en) Method for encoding information bit sequence in communication network
JP3546063B2 (ja) 通信システムのチャネル符号化装置及び方法
RU2309538C2 (ru) Устройство и способ для формирования и декодирования кодов с прямым исправлением ошибок, имеющих переменную скорость передачи в высокоскоростной беспроводной системе передачи данных
US8316286B2 (en) System and method for rate matching to enhance system throughput based on packet size
CA2689587C (en) An apparatus comprising a circular buffer and method for assigning redundancy versions to a circular buffer
US8443265B2 (en) Method and apparatus for map decoding and turbo decoder using the same
US8788919B2 (en) Convolutional turbo coding method and device for implementing the coding method
CN103414478A (zh) 具有速率匹配的高计算效率的卷积编码
KR20020067382A (ko) 통신시스템에서 부호 생성 및 복호 장치 및 방법
US10666389B2 (en) Method and device for polar code rate matching
EP1095461A1 (en) Segmentation mechanism for a block encoder
KR101611631B1 (ko) 데이터 복호화 방법, 데이터 인터리브 방법, 데이터 복호화 장치, 인터리버 테이블 생성 장치 및 데이터 인터리브 장치
US7873897B2 (en) Devices and methods for bit-level coding and decoding of turbo codes
KR100912600B1 (ko) 임의 개수의 정보 비트들을 위한 테일바이팅 터보 코드
KR101049947B1 (ko) 컨볼루셔널 터보 코드 부호화 장치 및 컨볼루셔널 터보 코드를 사용하는 부호화 방법
KR20060121312A (ko) 컨볼루션 터보 부호 인터리버
WO2005031982A1 (ja) 入力制御装置及び入力制御方法
KR20080010736A (ko) 광대역 무선접속 통신시스템에서 길쌈 터보 부호의 부호화장치 및 방법
CN117118562A (zh) 编码方法及装置
KR20100027631A (ko) 무선통신 시스템에서 데이터 복호 방법
KR101200073B1 (ko) 무선 통신 시스템의 채널 부호기
JP4991481B2 (ja) 反復復号装置及び反復復号方法
WO2009095978A1 (ja) 符号化処理装置
JP2001326577A (ja) 直接連接畳込み符号器、及び、直接連接畳込み符号化方法
KR19990081745A (ko) 통신시스템의 채널 부호 및 복호장치 및 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20140710

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee