KR20060121312A - Convolutional turbo code interleaver - Google Patents

Convolutional turbo code interleaver Download PDF

Info

Publication number
KR20060121312A
KR20060121312A KR1020050043389A KR20050043389A KR20060121312A KR 20060121312 A KR20060121312 A KR 20060121312A KR 1020050043389 A KR1020050043389 A KR 1020050043389A KR 20050043389 A KR20050043389 A KR 20050043389A KR 20060121312 A KR20060121312 A KR 20060121312A
Authority
KR
South Korea
Prior art keywords
ctc
interleaving
interleaver
address generator
data
Prior art date
Application number
KR1020050043389A
Other languages
Korean (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 KR1020050043389A priority Critical patent/KR20060121312A/en
Publication of KR20060121312A publication Critical patent/KR20060121312A/en

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/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/2732Convolutional interleaver; Interleavers using shift-registers or delay lines like, e.g. Ramsey type interleaver
    • 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/276Interleaving address generation
    • 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
    • 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/6502Reduction of hardware complexity or efficient processing

Abstract

A CTC(Convolutional Turbo Code) interleaver is provided to make the output of a CTC interleaving read address generator simply become a value increased in order, so as to simultaneously transmit many data in the next stage, thereby overcoming a data bottleneck during CTC interleaving. A bit pair exchange(100) exchanges bit pairs of even-numbered input data bits. An interleaving write address generator(110) generates an interleaving write address. A CTC interleaver memory(120) stores CTC interleaving-processed data. A read address generator(130) delivers data for CTC encoding.

Description

컨볼루션 터보 부호 인터리버{convolutional turbo code interleaver}Convolutional turbo code interleaver

도 1은 종래의 컨볼루션 터보 코드(CTC: convolutional turbo code)를 이용한 부호기(encoder)의 개략적인 구성을 나타내는 블록도.1 is a block diagram illustrating a schematic configuration of an encoder using a conventional convolutional turbo code (CTC).

도 2는 종래의 CTC 인터리버 매개 변수를 나타내는 표.2 is a table showing conventional CTC interleaver parameters.

도 3은 본 발명의 실시예에 의한 CTC 인터리버가 포함되는 CTC 부호기(encoder)의 개략적인 구성을 나타내는 블록도.3 is a block diagram illustrating a schematic configuration of a CTC encoder including a CTC interleaver according to an embodiment of the present invention.

도 4는 본 발명의 실시예에 의한 CTC 인터리버의 구조를 나타내는 블록도.4 is a block diagram showing the structure of a CTC interleaver according to an embodiment of the present invention.

도 5는 본 발명의 실시예에 의한 CTC 인터리버 매개 변수를 나타내는 표.5 is a table showing CTC interleaver parameters according to an embodiment of the present invention.

<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for the main parts of the drawings>

100 : 비트쌍 교환기 110 : 쓰기 주소 발생기100: bit pair exchange 110: write address generator

120 : CTC 인터리버 메모리 130 : 읽기 주소 발생기120: CTC interleaver memory 130: read address generator

본 발명은 컨볼루션 터보 부호 인터리버 장치 및 방법에 관한 것으로, 특히 휴대인터넷(Wibro) 등에서 사용하고 있는 컨볼루션 터보 부호기에 구비된 컨볼루션 터보 부호 인터리버에 관한 것이다. BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a convolutional turbo code interleaver device and method, and more particularly, to a convolutional turbo code interleaver provided in a convolutional turbo coder used in the portable Internet (Wibro).

알려진 바와 같이 차세대 이동통신 시스템에서는 고속의 멀티미디어 데이터의 신뢰성 있는 전송을 요구하며 고속의 데이터의 신뢰성을 높이기 위해서는 강력한 채널 코딩 및 효율적인 변조방식이 요구된다.As is known, next-generation mobile communication systems require reliable transmission of high-speed multimedia data, and strong channel coding and efficient modulation schemes are required to increase reliability of high-speed data.

따라서, ITU를 중심으로 2Mpbs급 고속 데이터통신이 가능한 사양 등을 갖추도록 제안되고 있으며 그 규격에 따라 각 국에서 도입이 진행되고 있으며, 그 결과 컨볼루션 코드 또는 터보 코드와 같은 채널 코딩 기법이 다양하게 제시되고 있다. Therefore, it is proposed to have a specification capable of 2Mpbs-class high-speed data communication around the ITU, and it is being introduced in each country according to the standard, and as a result, various channel coding techniques such as convolutional code or turbo code Is being presented.

이러한 채널 코딩 기법은 반복 회수와 인터리버 크기에 따라서 더 좋은 성능을 보이고 있으며 cdma2000 및 ARIB 등에서 터보 코드의 성능에 크게 영향을 미치는 인터리버에 대한 연구가 활발히 진행중이다.The channel coding technique shows better performance according to the number of iterations and the size of the interleaver, and the research on the interleaver which greatly affects the performance of the turbo code in cdma2000 and ARIB is being actively conducted.

상기 인터리버는 일반적인 채널 환경에서 연집 에러를 랜덤 에러로 전환하여 주는 역할을 하는 것이다. The interleaver converts a concatenation error into a random error in a general channel environment.

또한, 최근 들어서는 기존의 컨볼루션 코드 및 터보 코드의 장점을 병합한 컨볼루션 터보 코드과 같은 채널 코딩 기법도 사용되고 있다.Recently, channel coding techniques such as convolutional turbo codes, which combine the advantages of conventional convolutional codes and turbo codes, have also been used.

도 1은 종래의 컨볼루션 터보 코드(CTC: convolutional turbo code)를 이용한 부호기(encoder)의 개략적인 구성을 나타내는 블록도이다. 1 is a block diagram illustrating a schematic configuration of an encoder using a conventional convolutional turbo code (CTC).

도 1을 참조하면, 종래의 컨볼루션 터보 코드 부호기는 부호화될 데이터의 비트(A, B)가 교대로 입력되어 이를 부호화하는 시스템으로서, 내부에 구비된 구성 부호기(constituent encoder)(10)는 이중 이진 CRSC(dual binary circular recursive systematic convolutional) 부호를 이용한다.Referring to FIG. 1, a conventional convolutional turbo code encoder is a system in which bits A and B of data to be encoded are alternately input and encoded, and a constituent encoder 10 provided therein is doubled. Dual binary circular recursive systematic convolutional (CRSC) codes are used.

또한, 상기 컨볼루션 터보 코드 부호기는 상기 구성 부호기(10) 전에 내부 CTC 인터리버(12)를 구비하고 있다. The convolutional turbo code encoder is provided with an internal CTC interleaver 12 before the component coder 10.

상기 입력되는 데이터 비트열의 최상위 비트(MSB : Most Significant Bit)가 A로 입력되면, 그 다음 비트가 B로 입력되는 것으로, 입력되는 전체 비트열에 대해 상기 과정이 반복되며, 상기 부호기에는 NEP 비트(NEP=2*N 비트) 또는 N 비트쌍 단위로 입력된다.When the most significant bit (MSB: MSB) of the input data bit string is input as A, the next bit is input as B. The above process is repeated for the entire input bit string, and the NEP bit (NEP) is input to the encoder. = 2 * N bits) or N bit pairs.

또한, 상기 부호기에 의한 부호화는 두 단계를 거쳐 이루어지는데, 먼저 순환상태에 의한 초기화 과정 후, 상기 부호기에 구비된 스위치가 1의 위치에 있게 되어 상기 구성 부호기에 부호화될 데이터의 비트(A, B)가 입력되는 것이 첫번째 부호화 단계이고, 순환 상태에 의한 초기화 과정 후, 상기 부호기에 구비된 스위치가 2의 위치에 있어 상기 인터리버(12)에 의해 인터리빙된 데이터 비트(A, B)가 상기 구성 부호기에 입력되는 것이 두번째 부호화 단계이다.In addition, the encoding by the encoder is performed in two steps. First, after the initialization process by the cyclic state, the switch provided in the encoder is in the position 1 so that the bits (A, B) of the data to be encoded in the component encoder ) Is input to the first encoding step, and after the initialization process based on the cyclic state, the data bits A and B interleaved by the interleaver 12 are located in the position of the switch provided in the encoder at the position 2. Input to is the second encoding step.

또한, 상기 과정을 거쳐 부호화된 비트가 상기 인터리버(12)에 입력되는 순서는 다음과 같다.In addition, the order in which the bits encoded through the above process are input to the interleaver 12 is as follows.

Figure 112005027052533-PAT00001
Figure 112005027052533-PAT00001

상기 인터리버(12)는 일정크기(프레임) 단위로 입력되는 데이터 비트열을 랜덤화(randomization)하고, 코드워드(Code word)의 디스턴스 성질(distance property)을 개선하고자 사용된다.The interleaver 12 is used to randomize the data bit string input in units of a predetermined size (frame) and to improve the distance property of the code word.

상기 도 1에 도시된 종래의 CTC 인터리버의 동작을 간략하게 설명하면 다음과 같다. The operation of the conventional CTC interleaver shown in FIG. 1 will be briefly described as follows.

종래의 CTC 인터리버는 도 2에 도시된 종래의 CTC 인터리버 매개변수 P0, P1, P2, P3 에 따라 두 단계의 과정을 거쳐 인터리빙을 수행한다. The conventional CTC interleaver performs interleaving through two steps according to the conventional CTC interleaver parameters P0, P1, P2, and P3 shown in FIG.

먼저 1단계로써 입력되는 한 쌍의 부호화될 데이터의 비트(A, B) 간의 비트쌍 교환이 수행된다. First, bit pair exchange between the bits A and B of a pair of data to be encoded input as a first step is performed.

즉, j= 0, 1, 2, ..., N-1에 대하여

Figure 112005027052533-PAT00002
가 되는 것으로, 비트쌍의 위치를 바꾸는 단계가 먼저 수행된다.That is, for j = 0, 1, 2, ..., N-1
Figure 112005027052533-PAT00002
In this case, the step of changing the position of the bit pair is performed first.

다음으로는 함수

Figure 112005027052533-PAT00003
가 j 번째 비트 쌍에 대하여 인터리빙될 주소 i를 생성함으로써 상기 종래의 CTC 인터리버에 의한 인터리빙 수행이 완료된다. Next is the function
Figure 112005027052533-PAT00003
Interleaving by the conventional CTC interleaver is completed by generating an address i to be interleaved for the j th bit pair.

즉, j= 0, 1, 2, ..., N-1에 대하여, That is, for j = 0, 1, 2, ..., N-1,

switch jmod4: switch j mod4 :

case 0 : i=(P0·j+1)modN: case 0: i = (P 0 · j + 1) modN:

case 1 : i=(P0·j+1+N/2+P1)modN: case 1: i = (P 0 · j + 1 + N / 2 + P 1) modN:

case 2 : i=(P0·j+1+P2)modN: case 2: i = (P 0 · j + 1 + P 2) modN:

case 3 : i=(P0·j+1+N/2+P3)modN: 가 된다. case 3: i = (P 0 j + 1 + N / 2 + P 3 ) modN :

이와 같은 종래의 CTC 인터리버에 의한 인터리빙은 상기 1단계에서 짝수번째 순열의 심벌이 비트쌍 교환을 하고, 2단계에서 상기 수식에 의해 j 번째 비트쌍에 대하여 인터리빙될 주소를 생성하게 되는 것이다. In the conventional CTC interleaver, the interleaving of the even-numbered permutation symbols is performed in the first step, and in step 2, the address to be interleaved for the j-th pair is generated by the equation.

그러나, 이 경우 상기 2단계에서 실행하게 되는 상기 수식에 맞는 알고리즘 은 하드웨어나 소프트웨어로 구현 시에 상당히 큰 아키텍쳐를 차지하게 되는 단점이 있다. However, in this case, the algorithm matching the equation to be executed in the second step has a disadvantage in that it takes up a very large architecture when implemented in hardware or software.

그에 따라 상기 종래의 CTC 인터리버의 출력 주소 값들은 연속적인 출력이 아니라 임의의 위치를 번갈아 가게되어, 결과적으로 고속 회로를 구현하기가 어렵다는 문제가 있게 된다.As a result, the output address values of the conventional CTC interleaver are alternately positioned instead of continuous output, resulting in a difficulty in implementing a high speed circuit.

본 발명은 컨볼루션 터보 코드(CTC) 부호기에 구비되는 CTC 인터리버에 있어서, CTC 인터리빙 읽기 주소 발생기의 출력이 단순히 순서대로 증가되는 값이 됨으로써, 다음단에 동시에 많은 데이터를 전송할 수 있게 되어 CTC 인터리빙의 데이터 병목 현상을 극복할 수 있는 컨볼루션 터보 부호 인터리버를 제공함에 그 목적이 있다.The present invention is a CTC interleaver provided in a convolutional turbo code (CTC) encoder, the output of the CTC interleaving read address generator is simply increased in order, so that a large amount of data can be simultaneously transmitted to the next stage. It is an object of the present invention to provide a convolutional turbo code interleaver that can overcome data bottlenecks.

상기 목적을 달성하기 위하여 본 발명의 실시예에 의한 컨볼루션 터보 부호 인터리버는, 짝수번째의 입력 데이터 비트의 비트쌍을 교환하는 비트쌍 교환기와; 인터리빙 쓰기 주소를 발생시키는 인터리빙 쓰기 주소 발생기와; 컨볼루션 터보 코드(CTC) 인터리빙 처리된 데이터를 저장하는 CTC 인터리버 메모리와; CTC 부호화를 위해 데이터를 전달하는 읽기 주소 발생기가 포함되어 구성됨을 특징으로 한다.In order to achieve the above object, a convolutional turbo code interleaver according to an embodiment of the present invention includes: a bit pair exchanger for exchanging bit pairs of even-numbered input data bits; An interleaving write address generator for generating an interleaving write address; A CTC interleaver memory for storing convolutional turbo code (CTC) interleaved data; A read address generator for transmitting data for CTC encoding is included.

또한, 상기 쓰기 주소 발생기는 특정 함수(P(j))에 의한 연산을 통해 입력되는 데이터 비트의 비트쌍에 대하여 쓰기 주소를 갖는 인터리빙 값을 생성하며, 상 기 특정 함수(P(j))는

Figure 112005027052533-PAT00004
이며, 상기 x mod 4는 변수 x에 대해 modulo 4한 함수이고,
Figure 112005027052533-PAT00005
x보다 크지 않는 최대의 정수값을 갖는 함수임을 특징으로 한다. In addition, the write address generator generates an interleaving value having a write address for a bit pair of data bits input through an operation by a specific function P (j), and the specific function P (j)
Figure 112005027052533-PAT00004
X mod 4 is a modulo 4 function for the variable x ,
Figure 112005027052533-PAT00005
Is a function having a maximum integer value not greater than x .

또한, 상기 읽기 주소 발생기는 읽기 주소가 0부터 차례대로 순차적으로 증가하도록 출력하고, 소프트웨어 또는 하드웨어 구현 시 단순한 카운터로 대체될 수 있음을 특징으로 한다. In addition, the read address generator outputs the read address sequentially increasing from 0 in order, and may be replaced by a simple counter when implementing software or hardware.

이하, 첨부된 도면을 참조하여 본 발명의 실시예를 보다 상세히 설명하도록 한다. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 3은 본 발명의 실시예에 의한 CTC 인터리버가 포함되는 컨볼루션 터보 코드(CTC: convolutional turbo code)를 이용한 부호기(encoder)의 개략적인 구성을 나타내는 블록도이다. FIG. 3 is a block diagram illustrating a schematic configuration of an encoder using a convolutional turbo code (CTC) including a CTC interleaver according to an embodiment of the present invention.

도 3을 참조하면, 본 발명의 실시예에 의한 컨볼루션 터보 코드 부호기는 이중 이진 CRSC(dual binary circular recursive systematic convolutional) 부호를 이용하는 구성 부호기(constituent encoder)(30)와, 상기 구성 부호기 전에 구비된 내부 CTC 인터리버(32)가 포함되어 구성된다.3, a convolutional turbo code encoder according to an embodiment of the present invention includes a constituent encoder 30 using a dual binary CRSC (dual binary circular recursive systematic convolutional) code, and is provided before the constituent encoder. An internal CTC interleaver 32 is included and configured.

특히 본 발명은 상기 CTC 인터리버(32)가 비트쌍 교환기, 쓰기 주소 발생기, CTC 인터리버 메모리 및 읽기 주소 발생기가 포함되어 구성되고, CTC 인터리빙 읽기 주소 발생기의 출력이 단순히 순서대로 증가되는 값이 됨으로써, 다음단에 동시에 많은 데이터를 전송할 수 있게 되어 CTC 인터리빙의 데이터 병목 현상을 극복할 수 있으며, 종래의 CTC 인터리버에 비해 상대적으로 간단한 회로로 구성되어 있어 하드웨어/소프트웨어 구성 시 보다 고속으로 인터리빙을 수행할 수 있다는 점에 그 특징이 있다. In particular, in the present invention, the CTC interleaver 32 includes a bit pair exchanger, a write address generator, a CTC interleaver memory, and a read address generator, and the output of the CTC interleaving read address generator is simply increased in order, thereby However, it is possible to transmit a lot of data at the same time to overcome the data bottleneck of CTC interleaving, and because it is composed of a relatively simple circuit compared to the conventional CTC interleaver, it is possible to perform interleaving at higher speed in hardware / software configuration It has that feature.

상기 CTC 부호기(30)에 입력되는 데이터 비트열의 최상위 비트(MSB : Most Significant Bit)가 A이면, 그 다음 비트는 B로 입력되며, 입력되는 전체 비트열에 대해 상기 과정이 반복되고, 상기 부호기에는 NEP 비트(NEP=2*N 비트) 또는 N 비트쌍 단위로 입력된다.If the most significant bit (MSB: MSB) of the data bit string input to the CTC encoder 30 is A, the next bit is input as B, and the process is repeated for the entire input bit string, and the NEP is included in the encoder. It is input in units of bits (NEP = 2 * N bits) or N bit pairs.

또한, 상기 부호기에 의한 부호화는 두 단계를 거쳐 이루어지는데, 먼저 순환상태에 의한 초기화 과정 후, 상기 부호기에 구비된 스위치가 1의 위치에 있게 되어 상기 구성 부호기에 부호화될 데이터의 비트(A, B)가 입력되는 것이 첫번째 부호화 단계이고, 순환 상태에 의한 초기화 과정 후, 상기 부호기에 구비된 스위치가 2의 위치에 있어 상기 인터리버에 의해 인터리빙된 데이터 비트(A, B)가 상기 구성 부호기에 입력되는 것이 두번째 부호화 단계이다.In addition, the encoding by the encoder is performed in two steps. First, after the initialization process by the cyclic state, the switch provided in the encoder is in the position 1 so that the bits (A, B) of the data to be encoded in the component encoder ) Is input to the first encoding step, and after the initialization process by the cyclic state, the data bits A and B interleaved by the interleaver are input to the constituent encoder because the switch provided in the encoder is at the position 2. This is the second encoding step.

도 4는 본 발명의 실시예에 의한 CTC 인터리버의 구조를 나타내는 블록도이다. 4 is a block diagram showing the structure of a CTC interleaver according to an embodiment of the present invention.

도 4를 참조하면, 본 발명의 실시예에 의한 CTC 인터리버는, 짝수번째의 입력 데이터 비트의 비트쌍을 교환하는 비트쌍 교환기(100)와; 인터리빙 쓰기 주소를 발생시키는 인터리빙 쓰기 주소 발생기(110)와; CTC 인터리빙 처리된 데이터를 저장하는 CTC 인터리버 메모리(120)와; CTC 부호화를 위해 데이터를 전달하는 읽기 주소 발생기(130)가 포함되어 구성된다. 4, a CTC interleaver according to an embodiment of the present invention includes a bit pair exchanger (100) for exchanging bit pairs of even-numbered input data bits; An interleaving write address generator 110 for generating an interleaving write address; A CTC interleaver memory 120 for storing CTC interleaved data; A read address generator 130 for transmitting data for CTC encoding is included.

이하 상기 구성을 갖는 본 발명의 실시예에 의한 CTC 인터리버의 동작을 설명하도록 한다. Hereinafter, the operation of the CTC interleaver according to the embodiment of the present invention having the above configuration will be described.

먼저 비트쌍 교환기(100)는 순서에 따라 CTC 부호기에 입력되는 2비트 크기의 비트쌍(A, B) 중에서 짝수번째로 입력되는 입력 비트 위치를 서로 변경하는 기능을 수행한다. First, the bit pair exchanger 100 performs a function of changing the input bit positions of even-numbered input pairs among the 2-bit bit pairs A and B input to the CTC encoder in order.

즉, 상기 비트쌍 교환기(100)는 종래의 CTC 인터리빙 1단계에서 수행되는 동작과 같은 기능을 수행한다. That is, the bit pair exchange 100 performs the same function as the operation performed in the first step of conventional CTC interleaving.

다음으로 상기 쓰기 주소 발생기(110)는 CTC 인터리빙을 위한 쓰기 주소를 발생하는 역할을 수행하는 것이다. Next, the write address generator 110 serves to generate a write address for CTC interleaving.

종래의 경우 상기 비트쌍 교환이 수행된 비트열에 대해 이를 순서대로 저장한 후에 앞서 설명한 종래의 CTC 인터리빙 2단계의 수식을 통해 연산하여 CTC 인터리빙을 수행하였으나, 이는 상기 수식에 맞는 알고리즘은 하드웨어나 소프트웨어로 구현 시에 상당히 큰 아키텍쳐를 차지하게 되고, 그에 따라 상기 종래의 CTC 인터리버의 출력 주소 값들은 연속적인 출력이 아니라 임의의 위치를 번갈아 가게되어, 결과적으로 고속 회로를 구현하기가 어려웠다.In the related art, CTC interleaving was performed by storing the bit strings in which the bit pair exchange was performed in order, and then calculating them using the above-described equation of the conventional CTC interleaving step 2. The implementation occupies a fairly large architecture, whereby the output address values of the conventional CTC interleaver alternate between arbitrary positions instead of continuous output, resulting in difficult high speed circuitry.

이에 대해 본 발명은 상기 쓰기 주소 발생기(110)에서 다음과 같은 수식에 의한 인터리빙이 수행됨을 그 특징으로 한다.In contrast, the present invention is characterized in that interleaving is performed in the write address generator 110 by the following equation.

즉, 함수

Figure 112005027052533-PAT00006
j 번째 비트쌍에 대하여 쓰기 주소를 갖는 인터리빙 값을 생성하도록 하는 것으로, 상기 함수
Figure 112005027052533-PAT00007
이다.That is, a function
Figure 112005027052533-PAT00006
Is to generate an interleaving value having a write address for the j- th pair of bits.
Figure 112005027052533-PAT00007
to be.

여기에서, x mod 4는 변수 x에 대해 modulo 4한 함수이고,

Figure 112005027052533-PAT00008
x보다 크지 않는 최대의 정수값을 갖는 함수를 의미하며, 상기 두 함수는 실제 임의의 크기를 갖는 카운터에서 일부 비트열만 선택함으로 얻을 수 있는 간단한 함수이다. Where x mod 4 is the function modulo 4 for the variable x ,
Figure 112005027052533-PAT00008
Denotes a function having a maximum integer value not greater than x , and the two functions are simple functions obtained by selecting only some bit strings from a counter having an arbitrary size.

또한, 상기 함수

Figure 112005027052533-PAT00009
에 적용되는 매개변수 initVal 및 stepVal는 도 5에 나타나 있다. Also, the function
Figure 112005027052533-PAT00009
The parameters initVal and stepVal applied to are shown in FIG. 5.

그리고, 상기 CTC 인터리버 메모리(120)는 주어진 CTC 인터리빙 가운데 최대한 데이터를 저장할 수 있는 공간을 갖는 일반적인 메모리로서, 일 예로 6 바이트에서 600 바이트로 지정될 경우에 상기 CTC 인터리버 메모리(120)의 저장 공간의 크기는 600 바이트가 된다.The CTC interleaver memory 120 is a general memory having a space capable of storing the maximum data among the given CTC interleaving. For example, when the CTC interleaver memory 120 is designated as 6 bytes to 600 bytes, The size is 600 bytes.

마지막으로 상기 읽기 주소 발생기(130)는 종래의 CTC 인터리버와는 달리 상기 쓰기 주소 발생기(110)에서 미리 CTC 인터리빙을 수행하였기 때문에 주소 0부터 차례대로 증가하는 순서적인 읽기 주소 발생기이다. Lastly, unlike the conventional CTC interleaver, the read address generator 130 is a sequential read address generator sequentially increasing from address 0 because the write address generator 110 previously performed CTC interleaving.

즉, 상기 읽기 주소 발생기는 읽기 주소가 0부터 차례대로 순차적으로 증가하도록 출력함을 특징으로 한다. That is, the read address generator is characterized in that the read address sequentially outputs from 0 in order.

따라서, 실제로 소프트웨어나 하드웨어로 구현 시에 단순한 카운터로 대체될 수 있게 되며, 이를 통해 하드웨어/소프트웨어 구성 시 보다 고속으로 인터리빙을 수행할 수 있게 되는 것이다.Therefore, it can be replaced by a simple counter when actually implemented in software or hardware, through which it is possible to perform interleaving at a higher speed in hardware / software configuration.

이와 같은 본 발명에 의하면, 기존의 CTC 인터리버에 비해 상대적으로 간단 한 회로로 구성되어 있어 하드웨어/소프트웨어 구성 시 보다 고속으로 인터리빙을 수행할 수 있다는 장점이 있다.According to the present invention, it is composed of a relatively simple circuit compared to the existing CTC interleaver has the advantage that the interleaving can be performed at a higher speed when the hardware / software configuration.

또한, CTC 인터리버에 구비되는 CTC 인터리빙 읽기 주소 발생기의 출력이 단순히 순서대로 증가되는 값이 됨으로써, 다음단에 동시에 많은 데이터를 전송할 수 있게 되어 CTC 인터리빙의 데이터 병목 현상을 극복할 수 있다는 장점이 있다.In addition, since the output of the CTC interleaving read address generator included in the CTC interleaver is simply increased in order, it is possible to simultaneously transmit a large amount of data to the next stage, thereby overcoming the data bottleneck of the CTC interleaving.

Claims (5)

짝수번째의 입력 데이터 비트의 비트쌍을 교환하는 비트쌍 교환기와; A bit pair exchanger for exchanging bit pairs of even-numbered input data bits; 인터리빙 쓰기 주소를 발생시키는 인터리빙 쓰기 주소 발생기와; An interleaving write address generator for generating an interleaving write address; 컨볼루션 터보 코드(CTC) 인터리빙 처리된 데이터를 저장하는 CTC 인터리버 메모리와; A CTC interleaver memory for storing convolutional turbo code (CTC) interleaved data; CTC 부호화를 위해 데이터를 전달하는 읽기 주소 발생기가 포함되어 구성됨을 특징으로 하는 컨볼루션 터보 부호 인터리버.A convolutional turbo code interleaver, comprising a read address generator for transferring data for CTC encoding. 제 1항에 있어서,The method of claim 1, 상기 쓰기 주소 발생기는 특정 함수(P(j))에 의한 연산을 통해 입력되는 데이터 비트의 비트쌍에 대하여 쓰기 주소를 갖는 인터리빙 값을 생성함을 특징으로 하는 컨볼루션 터보 부호 인터리버.And the write address generator generates an interleaving value having a write address for a bit pair of data bits inputted through an operation by a specific function (P (j)). 제 2항에 있어서,The method of claim 2, 상기 특정 함수(P(j))는
Figure 112005027052533-PAT00010
이며, 상기 x mod 4는 변수 x에 대해 modulo 4한 함수이고,
Figure 112005027052533-PAT00011
x보다 크지 않는 최대의 정수값을 갖는 함수임을 특징으로 하는 컨볼루션 터보 부호 인터리버.
The specific function P (j) is
Figure 112005027052533-PAT00010
X mod 4 is a modulo 4 function for the variable x ,
Figure 112005027052533-PAT00011
Is a function with a maximum integer value not greater than x .
제 1항에 있어서,The method of claim 1, 상기 읽기 주소 발생기는 읽기 주소가 0부터 차례대로 순차적으로 증가하도록 출력함을 특징으로 하는 컨볼루션 터보 부호 인터리버.The read address generator outputs a convolutional turbo code interleaver so that the read address sequentially increases from 0 in order. 제 4항에 있어서,The method of claim 4, wherein 상기 읽기 주소 발생기는 소프트웨어 또는 하드웨어 구현 시 단순한 카운터로 대체될 수 있음을 특징으로 하는 컨볼루션 터보 부호 인터리버.The read address generator is a convolutional turbo code interleaver, characterized in that it can be replaced by a simple counter in software or hardware implementation.
KR1020050043389A 2005-05-24 2005-05-24 Convolutional turbo code interleaver KR20060121312A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050043389A KR20060121312A (en) 2005-05-24 2005-05-24 Convolutional turbo code interleaver

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050043389A KR20060121312A (en) 2005-05-24 2005-05-24 Convolutional turbo code interleaver

Publications (1)

Publication Number Publication Date
KR20060121312A true KR20060121312A (en) 2006-11-29

Family

ID=37707062

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050043389A KR20060121312A (en) 2005-05-24 2005-05-24 Convolutional turbo code interleaver

Country Status (1)

Country Link
KR (1) KR20060121312A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008082430A1 (en) * 2006-12-28 2008-07-10 Intel Corporation Efficient ctc encoders and methods
KR101049947B1 (en) * 2009-02-12 2011-07-15 (주)카이로넷 Convolutional Turbo Code Coding Device and Coding Method Using Convolutional Turbo Code
WO2013081216A1 (en) * 2011-12-01 2013-06-06 엘지전자 주식회사 Device and method for transmitting data using convolutional turbo code (ctc) encoder in mobile communication system
KR20190126440A (en) * 2017-04-27 2019-11-11 애플 인크. Configurable Convolution Engine for Interleaved Channel Data
US10747843B2 (en) 2016-06-30 2020-08-18 Apple Inc. Configurable convolution engine

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008082430A1 (en) * 2006-12-28 2008-07-10 Intel Corporation Efficient ctc encoders and methods
US7853858B2 (en) 2006-12-28 2010-12-14 Intel Corporation Efficient CTC encoders and methods
KR101049947B1 (en) * 2009-02-12 2011-07-15 (주)카이로넷 Convolutional Turbo Code Coding Device and Coding Method Using Convolutional Turbo Code
WO2013081216A1 (en) * 2011-12-01 2013-06-06 엘지전자 주식회사 Device and method for transmitting data using convolutional turbo code (ctc) encoder in mobile communication system
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
US10747843B2 (en) 2016-06-30 2020-08-18 Apple Inc. Configurable convolution engine
KR20190126440A (en) * 2017-04-27 2019-11-11 애플 인크. Configurable Convolution Engine for Interleaved Channel Data
KR20200105984A (en) * 2017-04-27 2020-09-09 애플 인크. Configurable convolution engine for interleaved channel data
CN112926726A (en) * 2017-04-27 2021-06-08 苹果公司 Configurable convolution engine for interleaving channel data

Similar Documents

Publication Publication Date Title
Sadjadpour et al. Interleaver design for turbo codes
JP3612022B2 (en) Termination method for general turbo code trellis
US6785859B2 (en) Interleaver for variable block size
KR102386191B1 (en) Block-wise parallel freeze bit generation for polar codes
WO1999012265A1 (en) Turbo-coder/decoder and turbo-coding/decoding method
WO2007029114A2 (en) System, transmitter, receiver, method, and computer program product for structured interleaved zigzag coding
US8924831B2 (en) Systems and methods for network coding using convolutional codes
JP4976397B2 (en) Parallel residue computing unit and parallel residue computing method
KR102244117B1 (en) Method and apparatus for processing rate matching of polar codes
KR20060121312A (en) Convolutional turbo code interleaver
TWI422166B (en) Address generation for contention-free memory mappings of turbo codes with arp (almost regular permutation) interleaves
JP2002506599A (en) Error correction encoding method and apparatus for high bit rate digital data transmission and corresponding decoding method and apparatus
CN109327276B (en) Security coding method, decoding method and device
JP2023519407A (en) Coding method and apparatus for data communication
CN110034846B (en) Coding method and device
CN108880569B (en) Rate compatible coding method based on feedback grouping Markov superposition coding
Xia et al. High throughput polar decoding using two-staged adaptive successive cancellation list decoding
RU2005126242A (en) METHOD FOR VOICE DATA TRANSFER IN A DIGITAL RADIO COMMUNICATION SYSTEM AND A DEVICE FOR ITS IMPLEMENTATION
KR100804797B1 (en) A Coding Method of Convolutional Turbo Code for High-speed Personal Internet System and Apparatus thereof
JP3896841B2 (en) Interleave processing method and interleave processing apparatus
KR101049947B1 (en) Convolutional Turbo Code Coding Device and Coding Method Using Convolutional Turbo Code
Sharma et al. Three-Dimensional Interleaver for Improving Forward Error Correction in Next-Generation Wireless Networks
CN117118562A (en) Coding method and device
Wang et al. Spinal code based on lightweight hash function
KR101200073B1 (en) A channel encoder of wireless communication system

Legal Events

Date Code Title Description
A201 Request for examination
E601 Decision to refuse application