KR20060071076A - A coding method of convolutional turbo code for high-speed personal internet system and apparatus thereof - Google Patents

A coding method of convolutional turbo code for high-speed personal internet system and apparatus thereof Download PDF

Info

Publication number
KR20060071076A
KR20060071076A KR1020050032379A KR20050032379A KR20060071076A KR 20060071076 A KR20060071076 A KR 20060071076A KR 1020050032379 A KR1020050032379 A KR 1020050032379A KR 20050032379 A KR20050032379 A KR 20050032379A KR 20060071076 A KR20060071076 A KR 20060071076A
Authority
KR
South Korea
Prior art keywords
convolutional
encoder
encoding
turbo code
parallel
Prior art date
Application number
KR1020050032379A
Other languages
Korean (ko)
Other versions
KR100804797B1 (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 한국전자통신연구원
Publication of KR20060071076A publication Critical patent/KR20060071076A/en
Application granted granted Critical
Publication of KR100804797B1 publication Critical patent/KR100804797B1/en

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A43FOOTWEAR
    • A43BCHARACTERISTIC FEATURES OF FOOTWEAR; PARTS OF FOOTWEAR
    • A43B7/00Footwear with health or hygienic arrangements
    • A43B7/38Elevating, i.e. height increasing
    • AHUMAN NECESSITIES
    • A43FOOTWEAR
    • A43BCHARACTERISTIC FEATURES OF FOOTWEAR; PARTS OF FOOTWEAR
    • A43B17/00Insoles for insertion, e.g. footbeds or inlays, for attachment to the shoe after the upper has been joined
    • A43B17/02Insoles for insertion, e.g. footbeds or inlays, for attachment to the shoe after the upper has been joined wedge-like or resilient

Landscapes

  • Health & Medical Sciences (AREA)
  • Epidemiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Public Health (AREA)
  • Error Detection And Correction (AREA)

Abstract

본 발명은 개인 휴대 인터넷 시스템(HPi)용 컨벌루션 터보 코드(Convolutional Turbo Code; CTC) 부호화 방법 및 그 장치에 관한 것으로, 컨벌루션 터보 코드(CTC) 부호기를 구현함에 있어서, 2개 비트 단위로 입력받아 부호화를 수행하는 직렬 길쌈 부호기; 8개 비트 단위로 입력받아 부호화를 수행하는 병렬 길쌈 부호기; 입력비트의 위치를 섞어주는 인터리버; 및 상기 직렬 길쌈 부호기 및 병렬 길쌈 부호기의 초기 상태값을 결정하는 순환 상태 찾기 블록을 포함한다. 본 발명에 따르면, 개인 휴대 인터넷 시스템 규격에 채택된 컨벌루션 터보 코드 부호화기의 초고밀도 집적회로(Very Large Scale Integration; VLSI)를 구현할 수 있고, 또한, 처리 속도 지연을 최소화하기 위해 8비트 병렬 처리 길쌈 부호기와 직렬 길쌈 부호기 및 인터리버를 효율적으로 배치하여 전체 CTC 부호기의 처리 속도를 향상시킬 수 있다.The present invention relates to a method and apparatus for encoding a convolutional turbo code (CTC) for a personal mobile Internet system (HPi). In the implementation of a convolutional turbo code (CTC) coder, the input is encoded in units of two bits. Serial convolutional encoder to perform; A parallel convolutional encoder which receives the input in units of 8 bits and performs encoding; An interleaver for mixing the positions of the input bits; And a circular state finding block for determining initial state values of the serial convolutional encoder and the parallel convolutional encoder. According to the present invention, it is possible to implement a Very Large Scale Integration (VLSI) of a convolutional turbo code encoder adopted in the personal portable Internet system standard, and also to implement an 8-bit parallel processing convolutional encoder to minimize processing speed delay. And serial convolutional encoder and interleaver can be efficiently arranged to improve the processing speed of the entire CTC encoder.

CTC 부호기, 길쌈 부호기, 인터리버, 휴대 인터넷, 테일 바이팅 CTC Encoder, Weaving Encoder, Interleaver, Mobile Internet, Tail Biting

Description

개인 휴대 인터넷 시스템용 컨벌루션 터보 코드 부호화 방법 및 그 장치 {A Coding Method of Convolutional Turbo Code for High-speed Personal Internet System and Apparatus thereof}{A Coding Method of Convolutional Turbo Code for High-speed Personal Internet System and Apparatus}

도 1은 부호율 1/3인 컨벌루션 터보 코드(CTC) 부호기를 나타내는 도면이다.1 is a diagram illustrating a convolutional turbo code (CTC) coder having a code rate of 1/3.

도 2는 본 발명의 실시예에 따른 8비트 병렬 길쌈 부호기의 구조도이다.2 is a structural diagram of an 8-bit parallel convolutional encoder according to an embodiment of the present invention.

도 3은 본 발명의 실시예에 따른 인터리버 구조도이다.3 is an interleaver structure diagram according to an embodiment of the present invention.

도 4는 본 발명의 실시예에 따른 CTC 부호기의 구조도이다.4 is a structural diagram of a CTC encoder according to an embodiment of the present invention.

본 발명은 개인 휴대 인터넷 시스템(HPi)용 컨벌루션 터보 코드(CTC) 부호화 방법 및 그 장치에 관한 것으로, 더욱 상세하게는, 컨벌루션 터보 코드 부호 속도를 향상시키고 하드웨어 구현에 있어서, 면적 소모를 최소화하기 위한 컨벌루션 터보 코드 부호화 방법 및 그 장치에 관한 것이다.The present invention relates to a method and apparatus for encoding a convolutional turbo code (CTC) for a personal mobile Internet system (HPi), and more particularly, to improve the convolutional turbo code code rate and to minimize the area consumption in hardware implementation. The present invention relates to a convolutional turbo code encoding method and an apparatus thereof.

일반적으로, 유무선 디지털 통신 시스템에서는 전송로 상의 오류를 보정하기 위해 송신단에서 정보 비트에 부가 비트를 첨부하고, 수신단에서는 오류 정정 알고리즘을 이용하여 오류를 보정한다. 이러한 오류 정정 알고리즘의 하나로 터보 코 드(Turbo Code)를 사용한다. 일반적인 터보 코드에서 부호기가 매 클럭(Clock)마다 하나의 비트 입력을 받아 처리하는 반면에, 컨벌루션 터보 코드(Convolutional Turbo Code, CTC)에서는 매 클럭마다 2개의 비트를 입력받아 처리한다.In general, in a wired / wireless digital communication system, an additional bit is added to an information bit at a transmitting end to correct an error on a transmission path, and a receiving end is corrected using an error correction algorithm. One of such error correction algorithms uses turbo code. In a typical turbo code, the encoder receives and processes one bit input every clock, while in a convolutional turbo code (CTC), two bits are input and processed every clock.

컨벌루션 터보 코드(CTC)는 최근 연구가 진행되고 있는 802.16e의 채널 코덱(CODEC)으로 채택되어 있고, 개인 휴대 인터넷(High speed Personal Internet, HPi) 무선 통신 시스템에도 채택되고 있다.Convolutional Turbo Code (CTC) has been adopted as a channel codec of 802.16e, which is being studied recently, and has also been adopted in a high speed personal Internet (HPi) wireless communication system.

컨벌루션 터보 코드(CTC)는 주로 패킷 전송 시스템에 적용되므로 부호화 단위가 터보 코드에 비해 매우 작다. 그러므로 터미네이션을 위하여 테일 비트(Tail Bit)를 추가하게 되면 상대적으로 전송 효율이 떨어지는 문제점이 있다. 이를 보완하기 위해 개인 휴대 인터넷(HPi) 시스템에서는 테일 바이팅 기법을 적용한다. 테일 바이팅 기법을 적용함으로써 추가적인 비트 없이 터미네이션이 가능하므로 전송 효율이 좋아지는 반면에, 길쌈 부호기의 초기 상태값을 찾기 위한 부호화 과정이 추가되므로 처리 속도가 지연되는 문제가 발생한다.The convolutional turbo code (CTC) is mainly applied to a packet transmission system, so the coding unit is very small compared to the turbo code. Therefore, when a tail bit is added for termination, there is a problem in that the transmission efficiency is relatively low. To compensate for this, the tail biting technique is applied to the HPi system. By applying the tail biting technique, termination can be performed without additional bits, thereby improving transmission efficiency, while adding a coding process for finding an initial state value of the convolutional encoder, which causes a delay in processing speed.

컨벌루션 터보 코드(CTC) 부호기 입력 비트 크기가 2×N이라 가정했을 때, 일반적인 구조를 갖는 컨벌루션 터보 코드(CTC) 부호기는 길쌈 부호기 1에 대한 초기 상태값을 찾기 위해 N 클럭, 길쌈 부호기 2에 대한 초기 상태값을 찾기 위해 N 클럭, 실제 부호화 수행을 위해 N 클럭 등으로 총 3×N 이 소요된다.Assuming that the convolutional turbo code (CTC) encoder input bit size is 2 × N, the convolutional turbo code (CTC) encoder with the general structure is used for N clock, convolutional encoder 2 to find the initial state value for convolutional encoder 1. A total of 3 x N is required, such as N clock to find the initial state value and N clock to perform the actual encoding.

한편, 종래 기술로서, 대한민국 특허출원 제2002-7003287호에는 "병렬 터보 부호기 구현"이라는 명칭의 발명이 개시되어 있는데, 직렬 터보 부호기에 대한 2비트 입력 길쌈 부호기 설계에 대한 방법을 제시하고 있다. 기본적으로 하나의 비트 만을 입력받아 직렬 형태로 부호화를 수행하는 터보 부호기에 대해 한 클럭에 n비트 씩 입력받아 지연 소자에 병렬로 공급하여 부호화를 수행한다. 터보 부호기 내 길쌈 부호기의 병렬화를 위한 하나의 방법을 제시한 것이다. 상기 특허는 터보 부호기 내 길쌈 부호기의 n비트 입력 병렬 부호화 구조를 제시하고 있다.On the other hand, as a prior art, Korean Patent Application No. 2002-7003287 discloses an invention named "implementation of a parallel turbo encoder", and proposes a method for designing a 2-bit input convolutional encoder for a serial turbo encoder. Basically, a turbo encoder that receives only one bit and encodes in serial form receives n bits per clock and supplies them in parallel to a delay element to perform encoding. One method for parallelizing convolutional encoders in a turbo encoder is presented. The patent proposes an n-bit input parallel encoding structure of a convolutional encoder in a turbo encoder.

상기 문제점을 해결하기 위한 본 발명의 목적은 처리 속도가 지연되는 문제를 해결하고, 개인 휴대 인터넷(HPi) 시스템의 컨벌루션 터보 코드(CTC) 부호기의 효율적인 하드웨어 구조 및 설계 방법을 제공하기 위한 것이다.An object of the present invention for solving the above problems is to solve the problem of delayed processing speed, and to provide an efficient hardware structure and design method of a convolutional turbo code (CTC) coder of a personal portable Internet (HPi) system.

또한, 본 발명의 다른 목적은, n비트 입력을 갖는 것을 특징으로 하는 컨벌루션 터보 코드(CTC) 부호기에 대해 내부 길쌈 부호기를 n비트 입력 직렬 길쌈 부호기와 8비트 입력 병렬 길쌈 부호기를 구현하고, 이들과 내부 인터리버 및 메모리를 이용하여 전체 컨벌루션 터보 코드(CTC) 부호기를 고속화하기 위한 효율적인 구조를 제공하기 위한 것이다.Another object of the present invention is to implement an internal convolutional encoder and an n-bit input serial convolutional encoder and an 8-bit input parallel convolutional encoder for a convolutional turbo code (CTC) encoder characterized by having n-bit input, It is to provide an efficient structure for speeding up the entire convolutional turbo code (CTC) encoder using an internal interleaver and memory.

상기 목적을 달성하기 위한 수단으로서, 본 발명에 따른 개인 휴대 인터넷 시스템용 컨벌루션 터보 코드 부호화 방법은,As a means for achieving the above object, the convolutional turbo code encoding method for a personal portable Internet system according to the present invention,

a) 인터리버의 동작으로 인터리빙 주소를 획득하는 단계;a) obtaining an interleaving address in operation of the interleaver;

b) 상기 획득된 인터리빙 주소로 초기 레지스터 상태값이 모두 0인 직렬 길쌈 부호화기를 이용하여 인터리빙 된 데이터에 대한 부호화를 수행하는 단계;b) encoding the interleaved data using a serial convolutional encoder having an initial register state value of all zeros to the obtained interleaving address;

c) 상기 수행된 부호화로 얻어지는 최종 레지스터 값을 이용하여 초기 레지 스터 값을 결정하는 단계;c) determining an initial register value using a final register value obtained by the performed encoding;

d) 상기 부호화를 수행하면서 다음 번의 인터리빙 데이터는 메모리에 8비트 단위로 저장하는 단계;d) storing the next interleaving data in 8 bit units while performing the encoding;

e) 병렬 길쌈 부호기 2를 이용하여 순차적인 데이터 시퀀스에 대한 부호화를 수행하여 실제 부호화 수행 때에 적용할 초기 레지스터 값을 결정하는 단계; 및e) encoding an sequential data sequence using a parallel convolutional encoder 2 to determine an initial register value to be applied when performing actual encoding; And

f) 상기 얻어진 초기 레지스터 값으로 두 개 병렬 길쌈 부호기 1 및 2를 초기화 한 후, 순차적인 데이터 시퀀스와 인터리빙 된 데이터 시퀀스에 대한 부호화를 동시에 수행하는 단계f) initializing two parallel convolutional encoders 1 and 2 with the obtained initial register value, and then simultaneously performing encoding on the sequential data sequence and the interleaved data sequence

를 포함하는 것을 특징으로 한다.Characterized in that it comprises a.

또한, 본 발명에 따른 개인 휴대 인터넷 시스템용 컨벌루션 터보 코드 부호화 장치는,In addition, the convolutional turbo code encoding apparatus for a personal portable Internet system according to the present invention,

2개 비트 단위로 입력받아 부호화를 수행하는 직렬 길쌈 부호기;A serial convolutional encoder which receives the input in units of two bits and performs encoding;

8개 비트 단위로 입력받아 부호화를 수행하는 병렬 길쌈 부호기;A parallel convolutional encoder which receives the input in units of 8 bits and performs encoding;

상기 입력비트의 위치를 섞어주는 인터리버; 및An interleaver for mixing the positions of the input bits; And

상기 직렬 길쌈 부호기 및 병렬 길쌈 부호기의 초기 상태값을 결정하는 순환 상태 찾기 블록A cyclic state search block for determining initial state values of the serial convolutional encoder and the parallel convolutional encoder

을 포함하는 것을 특징으로 한다.Characterized in that it comprises a.

본 발명에 따르면, 개인 휴대 인터넷 시스템 규격에 채택된 컨벌루션 터보 코드 부호화기의 초고밀도 집적회로(Very Large Scale Integration; VLSI)를 구현할 수 있고, 또한, 처리 속도 지연을 최소화하기 위해 8비트 병렬 처리 길쌈 부호 기와 직렬 길쌈 부호기 및 인터리버를 효율적으로 배치하여 전체 CTC 부호기의 처리 속도를 향상시킬 수 있다.According to the present invention, it is possible to implement a Very Large Scale Integration (VLSI) of a convolutional turbo code encoder adopted in the personal portable Internet system standard, and also to implement an 8-bit parallel processing convolutional code to minimize processing speed delay. By effectively arranging the serial convolutional encoder and the interleaver, the processing speed of the entire CTC encoder can be improved.

이하, 첨부된 도면을 참조하여, 본 발명의 실시예에 따른 개인 휴대 인터넷 시스템용 컨벌루션 터보 코드 부호화 방법 및 그 장치에 관하여 상세하게 설명한다.Hereinafter, with reference to the accompanying drawings, a convolutional turbo code encoding method and apparatus for a personal portable Internet system according to an embodiment of the present invention will be described in detail.

도 1은 부호율 1/3인 컨벌루션 터보 코드(CTC) 부호기를 나타내는 도면이고, 도 2는 본 발명의 실시예에 따른 8비트 병렬 길쌈 부호기의 구조도이다.1 is a diagram illustrating a convolutional turbo code (CTC) coder having a code rate 1/3, and FIG. 2 is a structural diagram of an 8-bit parallel convolutional coder according to an embodiment of the present invention.

본 발명의 실시예는 병렬 길쌈 부호기는 직렬 길쌈 부호기가 2비트 입력을 받아 처리하는 것과는 달리, 8비트 단위로 입력을 받아 부호화를 수행한다. 8비트 병렬 길쌈 부호기를 설계하기 위하여 도 1의 컨벌루션 터보 코드(CTC) 부호기 상태를 4클럭 주기 동안 관찰해야 한다.In the embodiment of the present invention, the parallel convolutional coder receives an input in 8-bit units and performs encoding, unlike the serial convolutional coder receiving a 2-bit input and processing the same. In order to design an 8-bit parallel convolutional encoder, the convolutional turbo code (CTC) encoder state of FIG. 1 should be observed for 4 clock periods.

더욱이 본 발명의 실시예에 따르면, 상기 직렬 길쌈 부호기는 3개의 레지스터와 Exclusive-OR 연산기들로 구성된다.Furthermore, according to an embodiment of the present invention, the serial convolutional encoder consists of three registers and an exclusive-OR operator.

먼저, 도 1에서 입력 비트를 각각 A, B 지연 소자 값을 S1, S2, S3라 가정하고, 데이터가 M0에서부터 M3까지 총 4주기에 대해 각 지연소자 및 패리티 출력 비트 값을 살펴본다. 여기서, +연산자는 Exclusive-OR를 의미한다.First, in FIG. 1, it is assumed that the A and B delay element values are S1, S2, and S3, respectively, and the delay and parity output bit values are examined for a total of four cycles of data from M0 to M3. Here, the + operator means Exclusive-OR.

Y1Y1 A1+B1+S1+S2 A1 + B1 + S1 + S2 W1W1 A1+B1+S1 A1 + B1 + S1 S1S1 A1+B1+S1+S3 A1 + B1 + S1 + S3 S2S2 S1+B1 S1 + B1 S3S3 S2+B1 S2 + B1

Y2Y2 A2+B2+A1+S3 A2 + B2 + A1 + S3 W2W2 A2+B2+A1+B1+S1+S3 A2 + B2 + A1 + B1 + S1 + S3 S1S1 A2+B2+A1+S1+S3+S2 A2 + B2 + A1 + S1 + S3 + S2 S2S2 B2+A1+B1+S1+S3 B2 + A1 + B1 + S1 + S3 S3S3 B2+S1+B1 B2 + S1 + B1

Y3Y3 A3+B3+A2+S2+B1 A3 + B3 + A2 + S2 + B1 W3W3 A3+B3+A2+A1+S3+S2+B2+S1 A3 + B3 + A2 + A1 + S3 + S2 + B2 + S1 S1S1 A3+B3+A2+A1+S3+S2+B1 A3 + B3 + A2 + A1 + S3 + S2 + B1 S2S2 B3+A2+B2+A1+S1+S3+S2 B3 + A2 + B2 + A1 + S1 + S3 + S2 S3S3 B3+B2+A1+B1+S1+S3 B3 + B2 + A1 + B1 + S1 + S3

Y4Y4 A4+B4+A3+B1+B2+S1 A4 + B4 + A3 + B1 + B2 + S1 W4W4 A4+B4+A3+A2+B1+B3+A1+S3+S2 A4 + B4 + A3 + A2 + B1 + B3 + A1 + S3 + S2 S1S1 A4+B4+A3+A2+S2+B2+S1 A4 + B4 + A3 + A2 + S2 + B2 + S1 S2S2 B4+A3+B3+A2+A1+S3+S2+B1 B4 + A3 + B3 + A2 + A1 + S3 + S2 + B1 S3S3 B4+B3+A2+B2+A1+S1+S3+S2 B4 + B3 + A2 + B2 + A1 + S1 + S3 + S2

상기 표 1은 M0 입력 사이클이고, 표 2는 M1 입력 사이클이며, 표 3은 M2 입력 사이클이고, 표 4는 M3 입력 사이클이다.Table 1 is the M0 input cycle, Table 2 is the M1 input cycle, Table 3 is the M2 input cycle, and Table 4 is the M3 input cycle.

상기 표를 이용하여 8비트가 입력될 때, 4주기 동안의 부호화 비트 Y1, W1, Y2, W2, Y3, W3, Y4, W4를 얻을 수 있다. 지연 소자의 상태값은 마지막 주기인 M3 주기의 S1, S2, S3이 된다. 이에 대한 하드웨어 구조는 도 2와 같다.When 8 bits are input using the table, encoding bits Y1, W1, Y2, W2, Y3, W3, Y4, and W4 for four periods can be obtained. The state value of the delay element is S1, S2, S3 of the last period M3. The hardware structure thereof is shown in FIG. 2.

그리고 상기 인터리버 블록은 개인 휴대 인터넷(HPi) 시스템에서 컨벌루션 터보 코드(CTC) 내부 인터리빙 알고리즘을 수학식 1과 같이 제시하고 있다.In addition, the interleaver block proposes a convolutional turbo code (CTC) internal interleaving algorithm as shown in Equation 1 in a personal portable Internet (HPi) system.

Step 1 : for j = 0...N-1Step 1: for j = 0 ... N-1

If (jmod2 == 0) let(B, A) = (A, B)If (jmod2 == 0) let (B, A) = (A, B)

Step 2 : Pi(j)Step 2: Pi (j)

for j = 0...N-1for j = 0 ... N-1

switch j mod 4 :switch j mod 4:

case 0 : I = (P0*j+1)mod Ncase 0: I = (P0 * j + 1) mod N

case 1 : I = (P0*j+1+N/2+P1)mod Ncase 1: I = (P0 * j + 1 + N / 2 + P1) mod N

case 2 : I = (P0*j+1+P2)mod Ncase 2: I = (P0 * j + 1 + P2) mod N

case 3 : I = (P0*j+1+N/2+P3)mod N.case 3: I = (P0 * j + 1 + N / 2 + P3) mod N.

Step 1 : for j = 0:N-1 Step 1: for j = 0: N-1

if (j(0) == '0') let(B, A) = (A, B)if (j (0) == '0') let (B, A) = (A, B)

Step 2 : D(-1) = 0Step 2: D (-1) = 0

for j = 0:N-1for j = 0: N-1

if D(j-1) + P0 N >= 0, if D (j-1) + P0 N> = 0,

D(j) = D(j-1) + P0 N;D (j) = D (j-1) + P0 N;

else, D(j) = D(j-1) + P0;else, D (j) = D (j-1) + P0;

switch j(1:0)switch j (1: 0)

case "00" : const = 1;case "00": const = 1;

case "01" : const = N/2+1+P1(=P4);case "01": const = N / 2 + 1 + P1 (= P4);

case "10": const =P2+1(=P5);case "10": const = P2 + 1 (= P5);

case '11" : const = N/2+1+P3(P6);case '11 ": const = N / 2 + 1 + P3 (P6);

if Pi(j) + D(j) N >= 0, Y = Pi(j) + D(j) N;if Pi (j) + D (j) N> = 0, Y = Pi (j) + D (j) N;

else, Y = Pi(j) + D(j);else, Y = Pi (j) + D (j);

if Y N >= 0, out(j-1) = Y N; if Y N> = 0, out (j-1) = Y N;

else, out(j-1) = Y; else, out (j-1) = Y;

상기 수학식 1이 모듈로 연산과 곱셈에 의해 기술되어진 데 비해서, 수학식 2를 보면, 덧셈 연산으로만 모든 과정이 이루어진다. 따라서 인터리빙 알고리즘에 따른 하드웨어 구현이 용이하다. 이에 대한 인터리버의 구조는 도 3에 나타나 있다.While Equation 1 is described by modulo operation and multiplication, Equation 2 shows that all processes are performed by addition operation only. Therefore, hardware implementation according to the interleaving algorithm is easy. The structure of the interleaver is shown in FIG. 3.

이상의 요소 블록들을 통합하여 하나의 컨벌루션 터보 코드 부호화기를 도 4와 같이 구성한다. CTC 부호화기 동작은 크게 2단계로 나누어 설명할 수 있는데, 첫 번째 단계는 실제 부호화를 수행할 때 레지스터 초기 값을 결정하는 것이고, 두 번째 단계는 실제 부호화를 수행하는 것이다.The convolutional turbo code encoder is configured as shown in FIG. 4 by integrating the above element blocks. The operation of the CTC encoder can be largely divided into two steps. The first step is to determine the register initial value when performing the actual encoding, and the second step is to perform the actual encoding.

도 4를 이용하여 부호화 과정을 설명하면, 인터리버를 동작시키면서, 여기에서 얻어지는 인터리빙 주소를 가지고, 초기 레지스터 상태값이 모두 '0'인 직렬 길쌈 부호화기를 이용하여 인터리빙이 이루어진 데이터에 대한 부호화를 수행한다. 여기에서 얻어지는 최종 레지스터 값을 이용하여 초기 레지스터 값을 결정한다. 부호화를 수행하면서 다음 번의 인터리빙 데이터는 메모리에 8비트 단위로 저장한 다. 이러한 일련의 과정에는 약 N(입력비트시퀀스 길이의 1/2) 클럭이 소요된다. Referring to FIG. 4, an encoding process is performed on an interleaved data using a serial convolutional encoder having an interleaving address obtained from the interleaver while operating the interleaver and having initial register state values of all zeros. . The final register value obtained here is used to determine the initial register value. While performing encoding, the next interleaving data is stored in memory in units of 8 bits. This series of steps takes about N (1/2 of the input bit sequence length) clock.

다음으로, 병렬 길쌈 부호기 2를 이용하여 순차적인 데이터 시퀀스에 대한 부호화를 수행하여 위에서와 마찬가지로 실제 부호화를 수행할 때 적용할 초기 레지스터 값을 결정한다. 이 경우에는 병렬 부호기를 이용하므로 약 N/4 클럭이 소요된다.Next, by performing the encoding on the sequential data sequence using the parallel convolutional encoder 2 to determine the initial register value to be applied when performing the actual encoding as above. In this case, because the parallel encoder is used, it takes about N / 4 clock.

다음으로, 앞서 얻어진 초기 레지스터 값으로 두 개 병렬 길쌈 부호기 1, 2를 초기화한 후에 순차적인 데이터 시퀀스와 인터리빙이 이루어진 데이터 시퀀스에 대한 부호화를 동시에 수행한다.Next, after the two parallel convolutional encoders 1 and 2 are initialized with the initial register values obtained above, encoding for the sequential data sequence and the data sequence in which the interleaving is performed is performed simultaneously.

이와 같이 종래에는 터보 부호기 내 길쌈 부호기의 n비트 입력 병렬 부호화 구조를 제시하였지만, 본 발명의 실시예는 컨벌루션 터보 코드(CTC) 부호기 내 길쌈 부호기의 병렬화뿐만 아니라, 고속화를 위한 전체 구조를 제시하였다.As described above, the n-bit input parallel encoding structure of the convolutional encoder in the turbo encoder has been proposed. However, the embodiment of the present invention has proposed not only the parallelization of the convolutional encoder in the convolutional turbo code (CTC) encoder but also the entire structure for the higher speed.

이상의 설명에서 본 발명은 특정의 실시예와 관련하여 도시 및 설명하였지만, 특허청구범위에 의해 나타난 발명의 사상 및 영역으로부터 벗어나지 않는 한도 내에서 다양한 개조 및 변화가 가능하다는 것을 당업계에서 통상의 지식을 가진 자라면 누구나 쉽게 알 수 있을 것이다.While the invention has been shown and described in connection with specific embodiments thereof, it will be appreciated that various modifications and changes can be made without departing from the spirit and scope of the invention as indicated by the claims. Anyone who owns it can easily find out.

본 발명에 따르면, n비트 입력을 갖는 컨벌루션 터보 코드(CTC) 부호기에 대해 내부 길쌈 부호기를 n비트 입력 직렬 길쌈 부호기와 8비트 입력 병렬 길쌈 부호기를 구현하고, 이들과 내부 인터리버 및 메모리를 이용하여 전체 컨벌루션 터보 코드(CTC) 부호기를 고속화하기 위한 효율적인 구조를 제시할 수 있다.According to the present invention, an internal convolutional encoder for an convolutional turbo code (CTC) encoder with n-bit input is implemented by implementing an n-bit input serial convolutional encoder and an 8-bit input parallel convolutional encoder. An efficient structure for speeding up a convolutional turbo code (CTC) encoder can be presented.

또한, 본 발명에 따르면, 개인 휴대 인터넷(HPi) 시스템에 채택된 컨벌루션 터보 코드(CTC) 부호기의 내부 길쌈 부호기의 병렬화뿐만 아니라, 인터리버 구조와 전체 CTC 부호기의 고속화 구조를 제공함으로서, 효율적인 부호기 설계 및 제어 방법을 제공함과 동시에, 컨벌루션 터보 코드(CTC) 인터리버를 덧셈기와 다중화기 만으로 간단하게 구현할 수 있는 방법을 제공하고, 컨벌루션 터보 코드 부호 속도를 향상시키고 하드웨어 구현에 있어서, 면적 소모를 최소화할 수 있다.In addition, according to the present invention, by providing not only the parallelization of the internal convolutional encoder of the convolutional turbo code (CTC) coder adopted in the personal mobile Internet (HPi) system, but also by providing an interleaver structure and a high speed structure of the entire CTC coder, In addition to providing a control method, a convolutional turbo code (CTC) interleaver can be implemented simply by an adder and a multiplexer, and the convolutional turbo code code speed can be improved and the area consumption of hardware can be minimized. .

Claims (7)

개인 휴대 인터넷 시스템용 컨벌루션 터보 코드 부호화 방법에 있어서,In the convolutional turbo code encoding method for a personal portable internet system, a) 인터리버의 동작으로 인터리빙 주소를 획득하는 단계;a) obtaining an interleaving address in operation of the interleaver; b) 상기 획득된 인터리빙 주소로 초기 레지스터 상태값이 모두 0인 직렬 길쌈 부호화기를 이용하여 인터리빙 된 데이터에 대한 부호화를 수행하는 단계;b) encoding the interleaved data using a serial convolutional encoder having an initial register state value of all zeros to the obtained interleaving address; c) 상기 수행된 부호화로 얻어지는 최종 레지스터 값을 이용하여 초기 레지스터 값을 결정하는 단계;c) determining an initial register value using the last register value obtained by the performed encoding; d) 상기 부호화를 수행하면서 다음 번의 인터리빙 데이터는 메모리에 8비트 단위로 저장하는 단계;d) storing the next interleaving data in 8 bit units while performing the encoding; e) 병렬 길쌈 부호기 2를 이용하여 순차적인 데이터 시퀀스에 대한 부호화를 수행하여 실제 부호화 수행 때에 적용할 초기 레지스터 값을 결정하는 단계; 및e) encoding an sequential data sequence using a parallel convolutional encoder 2 to determine an initial register value to be applied when performing actual encoding; And f) 상기 얻어진 초기 레지스터 값으로 두 개 병렬 길쌈 부호기 1 및 2를 초기화 한 후, 순차적인 데이터 시퀀스와 인터리빙 된 데이터 시퀀스에 대한 부호화를 동시에 수행하는 단계;f) initializing two parallel convolutional encoders 1 and 2 with the obtained initial register value, and then simultaneously performing encoding on sequential data sequences and interleaved data sequences; 를 포함하는 개인 휴대 인터넷 시스템용 컨벌루션 터보 코드 부호화 방법.A convolutional turbo code encoding method for a personal mobile internet system comprising a. 제1항에 있어서, The method of claim 1, 상기 d) 단계에서 일련의 과정에는 N(입력비트 시퀀스 길이의 1/2)클럭이 소요되는 것을 특징으로 하는 개인 휴대 인터넷 시스템용 컨벌루션 터보 코드 부호화 방법.The convolutional turbo code encoding method of the personal portable Internet system, characterized in that N (1/2 of the input bit sequence length) clock is required in the series of steps d). 제1항에 있어서, The method of claim 1, 상기 e) 단계에서 병렬 부호기의 이용으로 N/4 클럭이 소요되는 것을 특징으로 하는 개인 휴대 인터넷 시스템용 컨벌루션 터보 코드 부호화 방법.Convolutional turbo code encoding method for a personal portable Internet system, characterized in that N / 4 clock is required by the use of a parallel encoder in step e). 컨벌루션 터보 코드(CTC) 부호화 장치에 있어서, In a convolutional turbo code (CTC) encoding apparatus, 2개 비트 단위로 입력받아 부호화를 수행하는 직렬 길쌈 부호기;A serial convolutional encoder which receives the input in units of two bits and performs encoding; 8개 비트 단위로 입력받아 부호화를 수행하는 병렬 길쌈 부호기;A parallel convolutional encoder which receives the input in units of 8 bits and performs encoding; 상기 입력비트의 위치를 섞어주는 인터리버; 및An interleaver for mixing the positions of the input bits; And 상기 직렬 길쌈 부호기 및 병렬 길쌈 부호기의 초기 상태값을 결정하는 순환 상태 찾기 블록A cyclic state search block for determining initial state values of the serial convolutional encoder and the parallel convolutional encoder 을 포함하는 개인 휴대 인터넷 시스템용 컨벌루션 터보 코드 부호화 장치.Convolutional turbo code encoding device for a personal mobile Internet system comprising a. 제4항에 있어서, The method of claim 4, wherein 상기 직렬 길쌈 부호기는 복수의 레지스터 및 Exclusive-OR 연산기를 포함하는 것을 특징으로 하는 개인 휴대 인터넷 시스템용 컨벌루션 터보 코드 부호화 장치.And a serial convolutional encoder comprises a plurality of registers and an Exclusive-OR operator. 제4항에 있어서, The method of claim 4, wherein 상기 병렬 길쌈 부호기는 8비트 단위로 입력받아 부호화하기 위하여 컨벌루션 터보 코드 부호화 장치의 상태를 4클럭 주기 동안 관찰하는 것을 특징으로 하는 개인 휴대 인터넷 시스템용 컨벌루션 터보 코드 부호화 장치.The parallel convolutional encoder is a convolutional turbo code encoding apparatus for a personal portable Internet system, characterized in that for monitoring the state of the convolutional turbo code encoding apparatus for 4 clock periods to receive and encode in 8-bit units. 제4항 또는 제6항에 있어서,The method according to claim 4 or 6, 상기 8비트 병렬 길쌈 부호화기를 설계하기 위하여, 입력 비트로서 8비트 병렬 데이터(A1-A4, B1-B4)와 지연 소자 값(S1, S2, S3)이 데이터가 M0에서부터 M3까지 총 4주기에 대해 각 지연소자 및 패리티 출력 비트 값으로 8비트가 입력될 때, 4주기 동안의 부호화 비트(Y1, W1, Y2, W2, Y3, W3, Y4, W4)를 얻을 수 있도록 구성된 것을 특징으로 하는 개인 휴대 인터넷 시스템용 컨벌루션 터보 코드 부호화 장치.In order to design the 8-bit parallel convolutional encoder, 8-bit parallel data (A1-A4, B1-B4) and delay element values (S1, S2, S3) as input bits are used for a total of 4 cycles of data from M0 to M3. When 8 bits are input as the delay element and the parity output bit value, the personalized portable device is configured to obtain encoding bits (Y1, W1, Y2, W2, Y3, W3, Y4, W4) for 4 cycles. Convolutional Turbo Code Encoding Device for Internet Systems.
KR1020050032379A 2004-12-21 2005-04-19 A Coding Method of Convolutional Turbo Code for High-speed Personal Internet System and Apparatus thereof KR100804797B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020040109425 2004-12-21
KR20040109425 2004-12-21

Publications (2)

Publication Number Publication Date
KR20060071076A true KR20060071076A (en) 2006-06-26
KR100804797B1 KR100804797B1 (en) 2008-02-20

Family

ID=37164627

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050032379A KR100804797B1 (en) 2004-12-21 2005-04-19 A Coding Method of Convolutional Turbo Code for High-speed Personal Internet System and Apparatus thereof

Country Status (1)

Country Link
KR (1) KR100804797B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101049947B1 (en) * 2009-02-12 2011-07-15 (주)카이로넷 Convolutional Turbo Code Coding Device and Coding Method Using Convolutional Turbo Code
KR101200073B1 (en) * 2005-12-08 2012-11-12 한국전자통신연구원 A channel encoder of wireless communication system

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100351146B1 (en) * 2000-02-29 2002-09-05 엘지전자 주식회사 Concatenated convolutional coder and decoder for international mobile telecommunication system
KR100320221B1 (en) * 2000-02-29 2002-01-10 구자홍 Serially concatenated convolution encoding apparatus and method
KR100392638B1 (en) * 2000-12-08 2003-07-23 에스케이 텔레콤주식회사 Apparatus for transmitting and receiving a signal in OFDM system
JP3628013B2 (en) 2004-05-24 2005-03-09 富士通株式会社 Signal transmitting apparatus and encoding apparatus

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101200073B1 (en) * 2005-12-08 2012-11-12 한국전자통신연구원 A channel encoder of wireless communication system
KR101049947B1 (en) * 2009-02-12 2011-07-15 (주)카이로넷 Convolutional Turbo Code Coding Device and Coding Method Using Convolutional Turbo Code

Also Published As

Publication number Publication date
KR100804797B1 (en) 2008-02-20

Similar Documents

Publication Publication Date Title
KR100912156B1 (en) Parallel interleaver, parallel deinterleaver, and interleave method
US6854077B2 (en) Apparatus and method for providing turbo code interleaving in a communications system
JP2013055688A (en) Data interleaving circuit and method for vectorized turbo decoder
WO2003044965A1 (en) Interleaving order generator, interleaver, turbo encoder, and turbo decoder
US8638244B2 (en) Encoding module, apparatus and method for determining a position of a data bit within an interleaved data stream
JP4976397B2 (en) Parallel residue computing unit and parallel residue computing method
US7734989B2 (en) Multi-standard turbo interleaver using tables
US8448033B2 (en) Interleaving/de-interleaving method, soft-in/soft-out decoding method and error correction code encoder and decoder utilizing the same
KR100804797B1 (en) A Coding Method of Convolutional Turbo Code for High-speed Personal Internet System and Apparatus thereof
KR100628201B1 (en) Method for Turbo Decoding
CN100350751C (en) Turbo decoding device
CN101350626B (en) Apparatus for encoding Turbo code and method thereof
KR20060121312A (en) Convolutional turbo code interleaver
JP2009246474A (en) Turbo decoder
US7594156B2 (en) High-efficiency compact turbo-decoder
CN1330467A (en) Maximum-likelihood decode method f serial backtracking and decoder using said method
WO2009093099A1 (en) A contention free parallel access system and a method for contention free parallel access to a group of memory banks
US8200733B1 (en) Device having interleaving capabilities and a method for applying an interleaving function
CN101373977A (en) Apparatus and method for removing interleave of parallel maximum posteriori probability decoding interleave
JP2003188737A (en) Interleave processing method and interleave processor
Lee et al. Memory-reduced turbo decoding architecture using NII metric compression
CN110034846B (en) Coding method and device
TWI572148B (en) Optimized interleaved sequence generation method and interleaver for turbo code interleaver
KR101200073B1 (en) A channel encoder of wireless communication system
KR20040061283A (en) A method of generating interleaver address for turbor decoding

Legal Events

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

Payment date: 20130118

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140117

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20150119

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20160119

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee