KR101233175B1 - Method For Encoding And Decoding Turbo Code With Continuous Length - Google Patents

Method For Encoding And Decoding Turbo Code With Continuous Length Download PDF

Info

Publication number
KR101233175B1
KR101233175B1 KR1020060109906A KR20060109906A KR101233175B1 KR 101233175 B1 KR101233175 B1 KR 101233175B1 KR 1020060109906 A KR1020060109906 A KR 1020060109906A KR 20060109906 A KR20060109906 A KR 20060109906A KR 101233175 B1 KR101233175 B1 KR 101233175B1
Authority
KR
South Korea
Prior art keywords
sequence
parity
signal
length
index
Prior art date
Application number
KR1020060109906A
Other languages
Korean (ko)
Other versions
KR20080041821A (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 KR1020060109906A priority Critical patent/KR101233175B1/en
Publication of KR20080041821A publication Critical patent/KR20080041821A/en
Application granted granted Critical
Publication of KR101233175B1 publication Critical patent/KR101233175B1/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/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • H03M13/6362Error control coding in combination with rate matching by puncturing
    • H03M13/6368Error control coding in combination with rate matching by puncturing using rate compatible puncturing or complementary puncturing
    • H03M13/6381Rate compatible punctured turbo [RCPT] 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
    • 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/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • H03M13/6362Error control coding in combination with rate matching by puncturing
    • 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

Abstract

본 발명은 연속적인 길이를 가지는 터보 코드 인코딩 및 디코딩 방법에 대한 것이다. 본 발명에 따르면, 연속적인 길이를 가지는 터보 코드 인코딩을 위해 인터리빙을 위해 요구되는 길이와 입력 시퀀스의 차이만큼의 임시 비트를 삽입하여 인코딩을 행한 후, 이를 송신에 앞서 펑처링함으로써 시스템의 주파수 효율이 저감되지 않으며, 디코딩 단에서 다시 수신 신호가 요구되는 길이를 가지도록 보충 신호를 삽입하여, 효과적으로 연속적인 길이의 터보 코드 인코딩 및 디코딩을 수행할 수 있다.

Figure R1020060109906

터보 코드, 임시 비트, 기본 인터리버

The present invention relates to a turbo code encoding and decoding method having a continuous length. According to the present invention, a frequency code of a system is improved by inserting temporary bits corresponding to a difference between a length required for interleaving and an input sequence for encoding a turbo code having a continuous length, and then puncturing them prior to transmission. It is not reduced, and the supplementary signal can be inserted so that the received signal has the required length again at the decoding stage, so that turbo code encoding and decoding of continuous length can be effectively performed.

Figure R1020060109906

Turbo Code, Temporary Bits, Basic Interleaver

Description

연속적인 길이를 가지는 터보 코드 인코딩 및 디코딩 방법{Method For Encoding And Decoding Turbo Code With Continuous Length}Method for Encoding And Decoding Turbo Code With Continuous Length

도 1은 터보 인코더(Turbo Encoder)의 기본적인 구조를 도시한 도면.1 shows the basic structure of a turbo encoder.

도 2는 터보 디코더(Turbo Decoder)의 기본적인 구조를 도시한 도면.2 is a diagram showing the basic structure of a turbo decoder.

도 3은 본 발명의 일 실시형태에 따라 임시 비트를 이용하여 연속적인 길이를 가지는 터보 코드의 인코딩을 위한 구조를 도시한 도면.3 illustrates a structure for encoding a turbo code having a continuous length using temporary bits in accordance with an embodiment of the present invention.

도 4는 도 3과 같은 구조에 의해 인코딩된 연속적인 길이를 가지는 신호를 수신하여 디코딩을 수행하기 위한 구조를 도시한 도면.4 illustrates a structure for receiving and decoding a signal having a continuous length encoded by the structure shown in FIG.

본 발명은 무선 통신 기술에 대한 것으로서, 특히 연속적인 길이를 가지는 터보 코드 인코딩 및 디코딩 방법에 관한 것이다.TECHNICAL FIELD The present invention relates to wireless communication technology, and more particularly to a method of encoding and decoding turbo codes having a continuous length.

도 1은 터보 인코더(Turbo Encoder)의 기본적인 구조를 도시한 도면이다.FIG. 1 is a diagram illustrating a basic structure of a turbo encoder.

터보 코드(Turbo Code; 이하 "TC"라 함)는 2 개의 회귀 대칭 길쌈(Recursive Symmetric Convolutional) 코드를 인터리버(Interleaver)를 이용하여 병렬 연접한 부호이다. 이러한 TC는 도 1에 도시된 바와 같은 터보 인코더의 입력 데이터(X)를 구조화 비트(systematic bits)로 출력하고, 이 구조화 비트와, 입력 데이터를 제 1 구성 인코더(ENC1; 101)에 의해 인코딩된 패리티 비트(Y1), 및 입력 데이터를 인터리버(102)에 의해 인터리빙한 후, 제 2 구성 인코더(ENC2; 103)에 의해 인코딩된 패리티 비트(Y2)와의 조합을 통해 생성될 수 있다.The turbo code (hereinafter referred to as "TC") is a code obtained by connecting two recursive symmetric convolutional codes in parallel using an interleaver. The TC outputs the input data X of the turbo encoder as shown in FIG. 1 as structured bits, and encodes the structured bits and the input data by the first configuration encoder ENC 1 101. Parity bits Y 1 , and the interleaved input data by the interleaver 102, and then generated through a combination with the parity bits Y 2 encoded by the second configuration encoder EN 2 103. .

TC의 성능은 최소 해밍 거리(Minimum Hamming Distance: 이하 "MHD"라 함)가 클수록 좋은 성능을 보인다. 이러한 MHD는 각 시퀀스간에 대응하는 이웃 위치(neighbor position)에 서로 다른 정보를 가지는 비트 수로 나타낼 수 있으며, 일반적으로 000.. 으로 구성된 시퀀스를 기준 시퀀스로 할 경우, 이 기준 시퀀스와 차이를 가지는 비트 수로 나타낼 수 있어, 결국 각 시퀀스에 포함된 가중치(즉, "1")의 개수에 의해 나타낼 수 있다. 따라서, 이와 같은 MHD는 제 RSC 1 구성 인코더(101)와 제 RSC 2 구성 인코더(103)에 입력되는 시퀀스의 이웃 위치들간에 동일한 정보가 위치하는 것을 방지하는 것에 의해 영향을 받으며, 이와 같은 성능은 인터리버(102)에 의해 좌우될 수 있다. 도 1에서는 이와 같은 인터리버로서 길이 k 인 시퀀스를 적절한 순열을 취하여 M*N 비트의 사각 행렬의 행 방향으로 기록하고, 이를 열 방향으로 읽어 출력하는 정규 사각 순열(Regular Rectangular Permutation)을 이용한 인터리버를 예로서 도시하고 있다. The performance of TC is better when the minimum Hamming Distance ("MHD") is larger. Such MHD can be represented by the number of bits having different information in the neighbor position corresponding to each sequence.In general, when the sequence consisting of 000 .. is used as the reference sequence, the MHD is the number of bits having a difference from the reference sequence. It can be represented by the number of weights (ie, "1") included in each sequence. Therefore, such MHD is affected by preventing the same information from being located between neighboring positions of the sequence inputted to the RSC 1 configuration encoder 101 and the RSC 2 configuration encoder 103, and such performance is affected. It may be dictated by the interleaver 102. In FIG. 1, an interleaver using Regular Rectangular Permutation, which reads a sequence of length k in the row direction of a rectangular matrix of M * N bits and reads it in the column direction, is used as an interleaver. As shown.

도 2는 터보 디코더(Turbo Decoder)의 기본적인 구조를 도시한 도면이다.2 is a diagram illustrating a basic structure of a turbo decoder.

TC를 디코딩하는 디코더는 도 1에 도시된 인코더와 대칭되게 2개의 구성 디코더(201, 203)를 포함하며, 이러한 2개의 구성 디코더(201, 203)가 부대 정 보(extrinsic information)를 반복적으로 주고 받으며 디코딩이 수행된다. 즉, 제 1 구성 디코더(201; 이하 "DEC1")가 송신단에서 송신한 입력 데이터(X), 제 1 패리티 비트(Y1), 및 제 2 패리티 비트(Y2) 각각의 수신 신호에 해당하는 RX, RY1, RY2를 입력받아 수신 신호 전체 길이에 해당하는 부대 정보를 계산하면 계산된 부대 정보는 인터리버(202)에 의해 인터리빙되어 제 2 구성 디코더(203; 이하 "DEC2")에 의해 사용된다. 또한 DEC2(203)가 계산한 부대 정보는 역인터리버(204)에 의해 역인터리빙되어 다시 DEC1(201)에서 다시 사용된다. 이와 같이 DEC1, DEC2와 같은 2개의 구성 디코더가 주고 받는 부대 정보는 이들 구성 디코더에서 반복적으로 계산되면서 갱신됨으로써 TC가 좋은 성능을 나타내게 된다.The decoder which decodes the TC comprises two component decoders 201 and 203 symmetrically with the encoder shown in FIG. 1, and these two component decoders 201 and 203 repeatedly give additional information. Receive and decoding is performed. That is, the first component decoder 201 (hereinafter “DEC 1 ”) corresponds to the received signal of the input data X, the first parity bit Y 1 , and the second parity bit Y 2 transmitted from the transmitter. After calculating R X , R Y1 , and R Y2 , and calculating the side information corresponding to the entire length of the received signal, the calculated side information is interleaved by the interleaver 202 to perform a second component decoder 203 (hereinafter referred to as “DEC 2 ”). Used by. Incidental information calculated by DEC 2 203 is deinterleaved by reverse interleaver 204 and used again in DEC 1 201. As such, the collateral information transmitted and received by two component decoders, such as DEC 1 and DEC 2 , is repeatedly calculated and updated in these component decoders, so that TC exhibits good performance.

상술한 구성 디코더는 부대 정보를 계산하기 위해서 순방향 매트릭(Forward Metric), 역방향 매트릭(Backward Metric), 및 가지 매트릭(Branch Metric)을 먼저 계산한다. 이때 구성 인코더가 전체 길이에 대해 상기 3가지 매트릭을 계산하는 대신 전체 길이를 여러 개의 윈도우(window)로 나누어 각각의 윈도우에 대해서 순차적으로 상기 3가지 매트릭을 계산하고, 윈도우 길이 만큼의 부대 정보를 계산하는 방법이 있다. The above-described configuration decoder first calculates a forward metric, a backward metric, and a branch metric in order to calculate the side information. In this case, instead of calculating the three metrics for the total length, a constituent encoder divides the total length into several windows and sequentially calculates the three metrics for each window, and calculates side information as much as the window length. There is a way.

이와 같이 순차적으로 모든 윈도우에 대해서 부대 정보가 계산되어 전체 길이에 대해서 부대 정보의 계산이 완료되면, 계산된 부대 정보는 인터리빙 또는 역인터리빙을 거쳐서 서로 다른 구성 디코더에서 새로운 (갱신된) 부대 정보를 계산 하기 위해서 사용된다. 이와 같이 순차적으로 윈도우 길이 만큼의 부대 정보를 계산하는 방법을 슬라이딩 윈도우 디코딩(Sliding window decoding)이라고 하며, 일반적인 TC 디코더의 구현 기법이다.In this way, when the unit information is calculated for all windows sequentially and the calculation of the unit information is completed for the entire length, the calculated unit information is interleaved or deinterleaved to calculate new (updated) unit information at different component decoders. It is used to As described above, a method of sequentially calculating the side information as much as the window length is called sliding window decoding, and is an implementation technique of a general TC decoder.

한편, 상술한 슬라이딩 윈도우 디코딩에서 각각의 윈도우에 대해서 순차적으로 부대정보를 계산하지 않고, 각각의 윈도우가 동시에 부대정보를 병렬적으로 계산하는 방법이 있으며, 이를 TC의 병렬 디코딩 방법이라고 한다.  Meanwhile, in the above-described sliding window decoding, there is a method in which each window simultaneously calculates the side information in parallel without sequentially calculating the side information for each window, which is called a parallel decoding method of TC.

도 1 및 도 2에 도시된 바와 같은 종래 터보 인코더 및 디코더는 특정한 목적을 위해 사용되는 인터리버의 길이가 제한되는 경우가 존재한다. 예를 들어, 도 1에 도시된 인코더 측에서 사용되는 RP 인터리버를 통해 인터리빙된 시퀀스에 특정 RTZ 시퀀스를 회피하기 위한 ARP 인터리버의 경우, ARP에 이용되는 변동 벡터(fluctuation vector)의 주기의 배수 길이만을 가질 수 있다. 이와 같은 문제점에 대해서는 본 발명자에 의해 발명되고, 본 출원인에 의해 출원되었으며, 여기에 참조로서 포함된 "연속적인 길이를 제공하는 인터리버 제공 방법, 인터리빙 방법 및 이에 의한 터보 인코더(특허출원번호 제2006-103483호)"에 상세히 개시되어 있다.Conventional turbo encoders and decoders as shown in Figs. 1 and 2 exist in which the length of the interleaver used for a particular purpose is limited. For example, in the case of the ARP interleaver for avoiding a specific RTZ sequence in the interleaved sequence through the RP interleaver used in the encoder side shown in FIG. 1, only the multiple length of the period of the fluctuation vector used in the ARP is used. Can have Such problems have been invented by the present inventors, filed by the present applicant, and are incorporated herein by reference, which include "Interleaver providing methods for providing continuous lengths, interleaving methods and turbo encoders thereby (Patent Application No. 2006- 103483).

또한, 도 2에 도시된 디코딩 단에서의 병렬 디코딩에 있어서, 각 구성 디코더의 윈도우들은 메모리 뱅크 경합(memorybank contention) 문제를 회피하기 위해 1 단위 시간에 각각 다른 메모리 뱅크를 접속하여야 하며, 이를 위해 병렬 디코딩에 이용되는 인터리버의 길이는 각 구성 디코더의 윈도우 개수의 배수 길이를 가져야 하는 제한이 있다. 이와 같은 문제점에 대해서는 본 발명자에 의해 발명되고, 본 출원인에 의해 출원되었으며, 여기에 참조로서 포함된 "연속적인 길이를 제공하는 인터리버 제공 방법, 인터리빙 방법 및 이를 이용한 디코딩 방법(특허출원번호 제2006-0105881호)"에 상세히 개시되어 있다.In addition, in parallel decoding in the decoding stage illustrated in FIG. 2, windows of each component decoder must connect different memory banks at one unit time in order to avoid memory bank contention problems. The length of the interleaver used for decoding is limited to have a multiple length of the number of windows of each component decoder. Such problems have been invented by the present inventors, filed by the present applicants, and are incorporated herein by reference, and include "interleaver providing methods, interleaving methods and decoding methods using the same. 0105881).

따라서, 상술한 예를 포함하며 인터리버의 길이 제한 문제를 해결하기 위하여, 다양한 기술이 제한되고 있으며, 특히 종래 인코더 및 디코더 구성을 그대로 유지할 수 있도록 임시 비트(temporary bits)를 이용하여 인터리버의 길이 제한 문제를 해결하고, 이 경우 디코딩을 용이하게 수행하기 위한 방법이 요구되고 있다. Accordingly, in order to solve the length limitation problem of the interleaver including the above-described example, various techniques are limited, and in particular, the length limitation problem of the interleaver using temporary bits to maintain the conventional encoder and decoder configuration as it is. In this case, a method for easily performing decoding is required.

상술한 바와 같은 문제점을 해결하기 위한 본 발명의 목적은 연속적인 길이의 인터리버를 제공하기 위해 임시 비트 개념을 이용하여 인터리빙 및 이를 통해 터보 코드 인코딩을 수행하고, 임시 비트의 특성을 이용하여 디코딩 단에서 보다 용이하게 수신 신호를 디코딩하는 방법을 제공하는데 있다.SUMMARY OF THE INVENTION An object of the present invention for solving the above problems is to perform interleaving and turbo code encoding through the concept of temporary bits to provide an interleaver of continuous length, and to perform decoding in the decoding stage using the characteristics of the temporary bits. It is to provide a method for decoding a received signal more easily.

또한, 상술한 바와 같이 임시 비트를 이용한 인코딩 및 디코딩 방법을 이용하여 특정 RTZ 시퀀스를 회피하기 위한 ARP 인터리빙 및 메모리 뱅크 경합 없는 병렬 디코딩을 위한 인터리빙을 수행하도록 설정된 기본 인터리버 개념을 이용함으로써 연속적인 길이의 ARP 인터리빙 및/또는 연속적인 길이의 병렬 디코딩이 가능하도록 하는 방법을 제공하고자 한다. In addition, by using the basic interleaver concept set to perform interleaving for parallel decoding without memory bank contention and ARP interleaving to avoid a specific RTZ sequence using the encoding and decoding method using temporary bits as described above, It is intended to provide a method that enables ARP interleaving and / or continuous length parallel decoding.

상술한 목적을 달성하기 위한 본 발명의 일 실시형태에 따른 터보 코드 인코딩 방법은, 원본 시퀀스에 임시 비트(temporary bits)를 삽입하여 구조화 시퀀 스(systematic sequence)를 생성하는 단계; 상기 구조화 시퀀스를 제 1 인코더에 의해 인코딩하여 제 1 패리티 시퀀스를 생성하는 단계; 상기 구조화 시퀀스를 인터리빙하는 단계; 상기 인터리빙된 시퀀스를 제 2 인코더에 의해 인코딩하여 제 2 패리티 시퀀스를 생성하는 단계; 및 상기 구조화 시퀀스, 상기 제 1 패리티 시퀀스, 및 상기 제 2 패리티 시퀀스에서 상기 임시 비트 삽입으로 인하여 추가된 비트에 해당하는 인덱스를 펑처링 인덱스로 설정하고, 상기 펑처링 인덱스를 제외한 인덱스를 출력하는 단계를 포함한다.Turbo code encoding method according to an embodiment of the present invention for achieving the above object comprises the steps of: generating a systematic sequence by inserting temporary bits in the original sequence; Encoding the structured sequence by a first encoder to generate a first parity sequence; Interleaving the structured sequence; Encoding the interleaved sequence by a second encoder to generate a second parity sequence; And setting an index corresponding to a bit added due to the temporary bit insertion in the structured sequence, the first parity sequence, and the second parity sequence as a puncturing index, and outputting an index except the puncturing index. It includes.

이 경우, 상기 구조화 시퀀스 생성 단계에서 상기 임시 비트는 상기 원본 시퀀스의 길이와 미리 설정된 기본 인터리버 세트 중 선택된 기본 인터리버의 길이와의 차이에 해당하는 길이의 원본 시퀀스에 삽입하는 것일 수 있으며, 상기 미리 설정된 기본 인터리버 세트는 ARP의 변동 벡터 주기의 배수 길이를 가지도록 설정되며, 상기 선택된 기본 인터리버는 상기 변동 벡터 주기의 배수 중 상기 원본 시퀀스의 길이 이상의 최소 배수 길이를 가질 수 있다.In this case, in the structured sequence generation step, the temporary bit may be inserted into an original sequence having a length corresponding to a difference between a length of the original sequence and a length of a selected basic interleaver among a preset basic interleaver set. The basic interleaver set is set to have a multiple length of the variation vector period of the ARP, and the selected basic interleaver may have a minimum multiple length that is greater than or equal to the length of the original sequence among multiples of the variation vector period.

또한, 상기 임시 비트 및 상기 펑처링 인덱스는 인코딩단과 디코딩단이 모두 알고 있는 것이 바람직하다.In addition, it is preferable that both the encoding bit and the puncturing index are known to both the encoding end and the decoding end.

한편, 본 발명의 다른 일 실시형태에 따른 터보 코드 디코딩 방법은, 원본 시퀀스에 임시 비트(temporary bits)를 삽입하여 구조화 시퀀스(systematic bits)를 생성하는 단계; 상기 구조화 시퀀스를 제 1 인코더에 의해 인코딩하여 제 1 패리티 시퀀스를 생성하는 단계; 상기 구조화 시퀀스를 인터리빙하는 단계; 상기 인터리빙된 시퀀스를 제 2 인코더에 의해 인코딩하여 제 2 패리티 시퀀스를 생성하는 단계; 및 상기 구조화 시퀀스, 상기 제 1 패리티 시퀀스, 및 상기 제 2 패리티 시퀀스에서 상기 임시 비트 삽입으로 인하여 추가된 비트에 해당하는 인덱스를 펑처링 인덱스로 설정하고, 상기 펑처링 인덱스를 제외한 인덱스를 출력하는 단계에 의해 생성된 송신측 신호를 채널을 통해 수신측에서 수신하여 디코딩하는 방법으로서, 수신된 상기 수신 신호의 상기 구조화 시퀀스 대응 신호, 상기 제 1 패리티 시퀀스 대응 신호 및 상기 제 2 패리티 비트 대응 신호 각각의 상기 펑처링 인덱스에 보충 신호를 삽입하는 단계; 및 상기 보충 신호가 각각 삽입된 상기 구조화 시퀀스 대응 신호, 상기 제 1 패리티 시퀀스 대응 신호 및 상기 제 2 패리티 비트 대응 신호를 디코딩하는 단계를 포함하는 것을 특징으로 한다.On the other hand, the turbo code decoding method according to another embodiment of the present invention, the step of inserting temporary bits (temporary bits) in the original sequence to generate a structured sequence (systematic bits); Encoding the structured sequence by a first encoder to generate a first parity sequence; Interleaving the structured sequence; Encoding the interleaved sequence by a second encoder to generate a second parity sequence; And setting an index corresponding to a bit added due to the temporary bit insertion in the structured sequence, the first parity sequence, and the second parity sequence as a puncturing index, and outputting an index except the puncturing index. A method of receiving and decoding a transmitting side signal generated by the receiving side through a channel, the method comprising: each of the structured sequence corresponding signal, the first parity sequence corresponding signal and the second parity bit corresponding signal of the received signal; Inserting a supplementary signal into the puncturing index; And decoding the structured sequence correspondence signal, the first parity sequence correspondence signal and the second parity bit correspondence signal into which the supplementary signal is inserted, respectively.

이 경우, 상기 보충 신호 삽입 단계에서, 상기 구조화 시퀀스 대응 신호의 상기 펑처링 인덱스에 삽입하는 상기 보충 신호는, 상기 임시 비트 및 상기 임시 비트의 변조 방법에 따라 부호가 결정되며 절대값이 1보다 큰 신호일 수 있으며, 상기 보충 신호 삽입 단계에서, 상기 제 1 패리티 시퀀스 대응 신호 및 상기 제 2 패리티 비트 대응 신호의 상기 펑처링 인덱스에 삽입하는 상기 보충 신호는 0일 수 있다.In this case, in the supplementary signal insertion step, the supplementary signal inserted into the puncturing index of the structured sequence corresponding signal has a sign determined according to a modulation method of the temporary bit and the temporary bit and has an absolute value greater than 1. In the inserting of the supplementary signal, the supplementary signal inserted into the puncturing index of the first parity sequence corresponding signal and the second parity bit corresponding signal may be zero.

또한, 상기 송신측의 구조화 시퀀스 생성 단계에서 상기 임시 비트는 상기 원본 시퀀스의 길이와 미리 설정된 기본 인터리버 세트 중 선택된 기본 인터리버의 길이와의 차이에 해당하는 길이의 원본 시퀀스에 삽입하며, 상기 수신측의 디코딩 단계는 상기 선택된 기본 인터리버와 동일한 길이의 인터리버에 의한 인터리빙 단계를 포함할 수 있다. The temporary bit may be inserted into an original sequence having a length corresponding to a difference between a length of the original sequence and a length of a selected basic interleaver among a preset basic interleaver set. The decoding step may include an interleaving step by an interleaver of the same length as the selected basic interleaver.

아울러, 상기 미리 설정된 기본 인터리버 세트는 ARP의 변동 벡터 주기의 배수 길이를 가지도록 설정되며, 상기 선택된 기본 인터리버는 상기 변동 벡터 주기의 배수 중 상기 원본 시퀀스의 길이 이상의 최소 배수 길이를 가질 수도, 이와 달리 상기 미리 설정된 기본 인터리버 세트는 병렬 디코딩에 이용되는 윈도우 개수의 배수 길이를 가지도록 설정되며, 상기 선택된 기본 인터리버 길이는 상기 윈도우 개수의 배수 중 상기 원본 시퀀스의 길이 이상의 최소 배수 길이를 가질 수도 있다.In addition, the preset basic interleaver set is set to have a multiple length of a variation vector period of ARP, and the selected basic interleaver may have a minimum multiple length that is greater than or equal to the length of the original sequence among multiples of the variation vector period. The preset basic interleaver set may be set to have a multiple length of the number of windows used for parallel decoding, and the selected basic interleaver length may have a minimum multiple length that is greater than or equal to the length of the original sequence among multiples of the number of windows.

한편, 본 발명의 또 다른 일 실시형태에 따른 터보 코드 인코더는, 원본 시퀀스에 임시 비트(temporary bits)를 삽입하여 구조화 시퀀스(systematic sequence)를 생성하는 임시비트삽입부; 상기 구조화 시퀀스를 인코딩하여 제 1 패리티 시퀀스를 생성하는 제 1 인코더; 상기 구조화 시퀀스를 인터리빙하는 인터리버; 상기 인터리빙된 시퀀스를 인코딩하여 제 2 패리티 시퀀스를 생성하는 제 2 인코더; 및 상기 구조화 시퀀스, 상기 제 1 패리티 시퀀스, 및 상기 제 2 패리티 시퀀스에서 상기 임시 비트 삽입으로 인하여 추가된 비트에 해당하는 인덱스를 펑처링 인덱스로 설정하고, 상기 펑처링 인덱스를 제외한 인덱스를 출력하도록 하는 임시비트제거부를 포함한다.On the other hand, the turbo code encoder according to another embodiment of the present invention, the temporary bit inserting unit for inserting the temporary bits (temporary bits) in the original sequence to generate a structured sequence (systematic sequence); A first encoder for encoding the structured sequence to generate a first parity sequence; An interleaver for interleaving the structured sequence; A second encoder for encoding the interleaved sequence to generate a second parity sequence; And setting an index corresponding to a bit added due to the temporary bit insertion in the structured sequence, the first parity sequence, and the second parity sequence as a puncturing index, and outputting an index except the puncturing index. It includes a temporary bit removing unit.

마지막으로, 본 발명의 또 다른 일 실시형태에 따른 터보 코드 디코더는, 원본 시퀀스에 임시 비트(temporary bits)를 삽입하여 구조화 시퀀스(systematic sequence)를 생성하는 임시비트삽입부; 상기 구조화 시퀀스를 인코딩하여 제 1 패리티 시퀀스를 생성하는 제 1 인코더; 상기 구조화 시퀀스를 인터리빙하는 인터리 버; 상기 인터리빙된 시퀀스를 인코딩하여 제 2 패리티 시퀀스를 생성하는 제 2 인코더; 및 상기 구조화 시퀀스, 상기 제 1 패리티 시퀀스, 및 상기 제 2 패리티 시퀀스에서 상기 임시 비트 삽입으로 인하여 추가된 비트에 해당하는 인덱스를 펑처링 인덱스로 설정하고, 상기 펑처링 인덱스를 제외한 인덱스를 출력하도록 하는 임시비트제거부를 포함하는 터보 코드 인코더에 의해 생성된 송신측 신호를 채널을 통해 수신측에서 수신하여 디코딩하는 터보 코드 디코더로서, 수신된 상기 수신 신호의 상기 구조화 시퀀스 대응 신호, 상기 제 1 패리티 시퀀스 대응 신호 및 상기 제 2 패리티 비트 대응 신호 각각의 상기 펑처링 인덱스에 보충 신호를 삽입하는 보충신호삽입부; 및 상기 보충 신호가 각각 삽입된 상기 구조화 시퀀스 대응 신호, 상기 제 1 패리티 시퀀스 대응 신호 및 상기 제 2 패리티 비트 대응 신호를 디코딩하는 디코더를 포함하는 것을 특징으로 한다.Finally, a turbo code decoder according to another embodiment of the present invention includes: a temporary bit inserter for inserting temporary bits into an original sequence to generate a systematic sequence; A first encoder for encoding the structured sequence to generate a first parity sequence; An interleaver for interleaving the structured sequence; A second encoder for encoding the interleaved sequence to generate a second parity sequence; And setting an index corresponding to a bit added due to the temporary bit insertion in the structured sequence, the first parity sequence, and the second parity sequence as a puncturing index, and outputting an index except the puncturing index. A turbo code decoder for receiving and decoding a transmitting side signal generated by a turbo code encoder including a temporary bit removing unit through a channel, wherein the structured sequence corresponding signal of the received signal and the first parity sequence corresponding A supplementary signal insertion unit inserting a supplementary signal into the puncturing index of each of the signal and the second parity bit corresponding signal; And a decoder for decoding the structured sequence correspondence signal, the first parity sequence correspondence signal and the second parity bit correspondence signal into which the supplementary signal is inserted.

이하, 본 발명에 따른 바람직한 실시 형태를 첨부된 도면을 참조하여 상세하게 설명한다. 첨부된 도면과 함께 이하에 개시될 상세한 설명은 본 발명의 예시적인 실시형태를 설명하고자 하는 것이며, 본 발명이 실시될 수 있는 유일한 실시형태를 나타내고자 하는 것이 아니다. 이하의 상세한 설명은 본 발명의 완전한 이해를 제공하기 위해서 구체적 세부사항을 포함한다. 그러나, 당업자는 본 발명이 이러한 구체적 세부사항 없이도 실시될 수 있음을 안다. 몇몇 경우, 본 발명의 개념이 모호해지는 것을 피하기 위하여 공지의 구조 및 장치는 생략되거나, 각 구조 및 장치의 핵심기능을 중심으로 한 블록도 형식으로 도시된다. 또한, 본 명세서 전체에서 동일한 구성요소에 대해서는 동일한 도면 부호를 사용하여 설명한다.Hereinafter, preferred embodiments according to the present invention will be described in detail with reference to the accompanying drawings. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The following detailed description, together with the accompanying drawings, is intended to illustrate exemplary embodiments of the invention and is not intended to represent the only embodiments in which the invention may be practiced. The following detailed description includes specific details in order to provide a thorough understanding of the present invention. However, those skilled in the art will appreciate that the present invention may be practiced without these specific details. In some instances, well-known structures and devices are omitted or shown in block diagram form around the core functions of each structure and device in order to avoid obscuring the concepts of the present invention. In addition, the same components will be described with the same reference numerals throughout the present specification.

본 발명의 일 실시형태는 상술한 바와 같이 터보 인코더 및 디코더에 있어서 이용되는 인터리버의 길이 제한 문제를 해결하기 위하여 "임시 비트" 개념을 이용하여 시스템의 효율을 유지하면서도 입력 시퀀스의 길이 조절에 의해 연속적인 길이의 터보 코드 인코딩이 가능하도록 하고, 수신 신호를 용이하게 디코딩하는 방법을 제공한다. 여기서 "임시 비트"는 '0'또는 '1'의 선택이 자유로우나 송신측과 수신측, 즉 인코딩단과 디코딩단이 모두 알고 있는 정보이어야 한다.One embodiment of the present invention utilizes the concept of "temporary bits" to solve the length limitation problem of the interleaver used in the turbo encoder and decoder as described above, while maintaining the efficiency of the system and continuously adjusting the length of the input sequence. It provides a turbo code encoding of a long length, and provides a method for easily decoding a received signal. Here, the "temporary bit" is free to select '0' or '1', but should be information known to both the transmitting and receiving sides, that is, the encoding and decoding stages.

또한, 바람직한 본 발명의 일 실시형태에서는 "기본 인터리버(Basic Interleaver)"개념을 이용하여 연속적인 길이의 ARP 인터리빙 및 병렬 디코딩을 가능하도록 한다. 여기서의 기본 인터리버는 요구되는 길이를 가지는 인터리버를 구현하기 위해 미리 설정된 길이를 가지는 인터리버로서, 일반적으로 필요에 따라 다양한 길이의 기본 인터리버 세트가 미리 설정되어 있는 것이 바람직하다.In addition, one preferred embodiment of the present invention utilizes the concept of a “Basic Interleaver” to enable continuous length ARP interleaving and parallel decoding. The basic interleaver herein is an interleaver having a preset length to implement an interleaver having a required length. In general, it is preferable that a basic interleaver set having various lengths is preset as necessary.

도 3은 본 발명의 일 실시형태에 따라 임시 비트를 이용하여 연속적인 길이를 가지는 터보 코드의 인코딩을 위한 구조를 도시한 도면이다.3 illustrates a structure for encoding a turbo code having a continuous length using temporary bits according to an embodiment of the present invention.

본 발명의 일 실시형태에 따르면, 원본 시퀀스(X)에 임시비트 삽입부(301)에서 임시 비트를 삽입함으로써 터보 인코더(302)가 인코딩할 수 있는 길이의 구조화 시퀀스(systematic sequence)를 생성한다. 이와 같은 구조화 시퀀스는 그 후 제 1 구성 인코더(302a)를 통한 인코딩에 의해 제 1 패리티 시퀀스(Y1)를 생성하고, 인터리버(302b)에 의해 인터리빙된 후, 제 2 구성 인코더(302c)에 의해 인코딩 됨으로써 제 2 패리티 시퀀스(Y2)를 생성한다. 다만, 이와 같이 구조화 시퀀스, 및 이에 따라 생성된 제 1 및 제 2 패리티 시퀀스(Y1, Y2)에 삽입된 임시 비트는 인코딩 이 완료된 후 도 3에 도시된 바와 같이 임시비트 제거부(303)에 의해 삽입된 임시 비트들을 제거한 후 채널을 통해 송신되도록 함으로써, 시스템의 추가적인 주파수 효율 감소를 방지할 수 있다.According to one embodiment of the invention, a temporary bit inserter 301 inserts a temporary bit into the original sequence X to generate a systematic sequence of a length that can be encoded by the turbo encoder 302. This structured sequence is then generated by the encoding through the first configuration encoder 302a, the first parity sequence Y1, interleaved by the interleaver 302b, and then encoded by the second configuration encoder 302c. This generates the second parity sequence Y2. However, the temporary bits inserted into the structured sequence and the first and second parity sequences (Y1 and Y2) generated as described above may be removed by the temporary bit removing unit 303 as shown in FIG. 3 after encoding is completed. By removing the inserted temporary bits and transmitting them through the channel, it is possible to prevent further reduction of the frequency efficiency of the system.

또한, 터보 인코더(302)의 인터리버(302b)는 미리 설정된 다양한 길이의 기본 인터리버 세트 중 특정 길이를 가지도록 선택된 기본 인터리버인 것이 바람직하다. 예를 들어, 본 발명의 일 실시형태에 따른 인코더에서 ARP 인터리빙을 수행하는 경우 상술한 바와 같은 미리 설정된 기본 인터리버 세트는 후술하는 바와 같이 ARP에서의 인터리버의 길이가 ARP의 변동 벡터 주기의 배수 길이만을 수행할 수 밖에 없는 점을 감안하여 ARP 변동 벡터 주기의 배수 길이를 가지도록 설정할 수 있다. 또한, 기본 인터리버 세트는 메모리 뱅크 경합 문제가 발생하지 않도록 설계된 경합 없는 인터리버를 이용하기 위해 디코딩 단의 각 구성 디코더에 포함된 윈도우 개수의 배수 길이를 가지도록 미리 설정할 수 있다.. 이와 같은, ARP 및/또는 메모리 뱅크 경합 없는 병렬 디코딩에의 응용에 대해서는 이하에서 더 상세히 설명한다.In addition, the interleaver 302b of the turbo encoder 302 is preferably a basic interleaver selected to have a specific length among a preset set of basic interleavers of various lengths. For example, when performing ARP interleaving in an encoder according to an embodiment of the present invention, the preset basic interleaver set as described above has the length of the interleaver in the ARP being only a multiple of the variation vector period of the ARP as described below. Considering that it can only be performed, it can be set to have a multiple length of the ARP variation vector period. In addition, the basic interleaver set may be preset to have a multiple length of the number of windows included in each component decoder of the decoding stage in order to use a contention-free interleaver designed so that a memory bank contention problem does not occur. Application to parallel decoding without memory bank contention is described in more detail below.

도 3에 도시된 본 발명의 일 실시형태에 따른 구체적 동작에 대해 설명하면, 우선 K 길이의 원본 시퀀스(X)에 임시비트 삽입부(301)에서 인터리버(302b)의 길이, 구체적으로 미리 설정된 인터리버 세트 중 선택된 길이를 가지는 인터리버의 길이 K'과 원본 시퀀스의 길이 K와의 차이에 해당하는 만큼(K'-K)의 임시비트가 삽입된다. 예를 들어, 길이 K인 입력 시퀀스를 X=(b0, b1, ...., bk -1)이라 할 경우, K'-K 개의 임시 비트가 삽입된 길이 K'의 구조화 시퀀스는 예를 들어 X'=(b0', b1', ..., bk -1', bk', ..., bk' -1')과 같이 나타낼 수 있다. 여기서 임시 비트가 삽입되는 위치는 인코딩측과 디코딩측이 모두 알고 있는 한 임의의 인덱스가 될 수 있으며, 예를 들어 K이상의 인덱스에 K'-K개의 임시 비트가 삽입될 수도, 이와 달리 0 내지 K'-1 중 임의로 선택된 K'-K개의 인덱스에 임시 비트가 삽입될 수도 있다.Referring to a specific operation according to an embodiment of the present invention shown in FIG. 3, first, the length of the interleaver 302b in the temporary bit inserting unit 301 in the original length X of the K length, specifically the interleaver set in advance Temporary bits (K'-K) corresponding to the difference between the length K 'of the interleaver having the selected length among the set and the length K of the original sequence are inserted. For example, if an input sequence of length K is X = (b 0 , b 1 , ...., b k -1 ), the structured sequence of length K 'with K'-K temporary bits inserted is For example, it can be expressed as X '= (b 0 ', b 1 ', ..., b k -1 ', b k ', ..., b k' -1 '). Here, the position at which the temporary bits are inserted may be any index as long as both the encoding side and the decoding side know it. For example, K'-K temporary bits may be inserted at K or more indexes. Temporary bits may be inserted into K'-K indexes randomly selected from '-1'.

이와 같이 임시 비트가 삽입된 입력 시퀀스는 구조화 시퀀스로서 출력됨과 동시에, 제 1 구성 인코더(302a)에 의해 인코딩되어 제 1 패리티 시퀀스(Y1')을 생성하고, 인터리버(302b)에 의한 인터리빙, 예를 들어 ARP 인터리빙되어 인터리빙된 시퀀스 O (즉, O=(o0, o1, ..., ok' -1))를 생성한다. 여기서, 인터리버에 의한 인덱스 맵핑 관계는 X'의 인덱스를 i, 인터리빙된 시퀀스 O'의 인덱스를 j라 할 경우, i=π(j), 즉 bπ(j)=i = oj라 할 수 있다. 그 후, 인터리빙된 길이 K'인 시퀀스 O는 제 2 구성 인코더(302c)에 의해 인코딩됨으로써 제 2 패리티 시퀀스(Y2')을 생성한다. In this way, the input sequence into which the temporary bits are inserted is output as a structured sequence, and is encoded by the first configuration encoder 302a to generate the first parity sequence Y1 ', and interleaved by the interleaver 302b, for example. For example, ARP interleaving generates an interleaved sequence O (i.e., O = (o 0 , o 1 , ..., o k ' -1 )). Here, the index mapping relationship by the interleaver may be i = π (j), that is, bπ (j) = i = o j when the index of X 'is i and the index of the interleaved sequence O' is j. have. Then, the interleaved length K ', sequence O, is encoded by second configuration encoder 302c to produce a second parity sequence Y2'.

상술한 바와 같은 과정을 통해 생성된 각각 길이가 K'인 X', Y1', Y2'은 모두 임시비트 제거부(303)에서 본 발명의 일 실시형태에 따라 길이 조정을 위해 임시 비트를 삽입함으로써 증가된 비트를 펑처링한다. 예를 들어, 임시 비트가 원본 시퀀스(X)에서 인덱스가 K이상인 부분에 K'-K개의 인덱스가 삽입된 경우, 구조화 시퀀스(X') 및 제 1 패리티 시퀀스(Y1)에서 인덱스 K이상인 부분을 펑처링 인덱스로 설정하고, 이를 제외한 인덱스만을 송신할 시퀀스 X, Y1으로 출력하고, 제 2 패리티 시퀀스 Y2'에서는 구조화 시퀀스(X')의 인덱스 중 K≤i≤K'-1을 만족하는 인 덱스에 대응하는 j 인덱스(즉, K≤i≤K'-1를 만족하는 각각의 i에 대해 j=π(i)의 관계에 의해 대응되는 각각의 j)를 펑처링 인덱스로 설정하고, 이를 제외한 인덱스만을 송신할 시퀀스 Y2로 출력함으로써 수행될 수 있다. Each of X ', Y1', and Y2 'having a length of K' generated through the above-described process is inserted by the temporary bit removing unit 303 for adjusting the length according to the embodiment of the present invention. Puncture the incremented bits. For example, when K'-K indexes are inserted in a portion where the temporary bit has an index K or more in the original sequence X, a portion whose index K or more is included in the structured sequence X 'and the first parity sequence Y1 is determined. Set to the puncturing index, and output only the indexes other than this to the sequence X and Y1 to be transmitted. In the second parity sequence Y2 ', the index satisfying K≤i≤K'-1 among the indices of the structured sequence (X'). J index corresponding to (i.e. each j corresponding to the relationship j = π (i) for each i satisfying K≤i≤K'-1) is set as a puncturing index, This can be performed by outputting only the index to the sequence Y2 to be transmitted.

이와 같이 임시 비트가 삽입된 구조화 시퀀스(X'), 제 1 패리티 시퀀스(Y1'), 제 2 패리티 시퀀스(Y2')을 그대로 송신하지 않고, 이들에서 임시 비트 삽입으로 인한 비트를 제외한 정보를 송신함으로써 통신 시스템에서의 주파수 효율을 더욱 증가시킬 수 있다. 예를 들어, K'-K 개의 임시 비트가 삽입된 시퀀스들을 그대로 송신하는 경우, 인코딩 단에서의 코딩율이 1/3이라 할 경우 송신할 정보의 양은 필요한 정보의 양에 비해 3*(K'-K) 개의 정보가 더 증가하게 되며, 이러한 불필요한 정보의 증가는 추가적인 주파수 자원을 요구할 수 있기 때문이다. In this way, the structured sequence X ', the first parity sequence Y1', and the second parity sequence Y2 'in which the temporary bits are inserted are not transmitted as they are, and information other than the bits due to the temporary bit insertion is transmitted from them. This can further increase the frequency efficiency in the communication system. For example, in the case of transmitting sequences in which K'-K temporary bits are inserted as it is, if the coding rate of the encoding stage is 1/3, the amount of information to be transmitted is 3 * (K ') compared to the amount of information required. -K) information is further increased, and this increase in unnecessary information may require additional frequency resources.

한편, 이와 같이 송신된 인코딩 시퀀스를 효율적으로 디코딩하는 방법에 대해 설명하면 다음과 같다.Meanwhile, a method of efficiently decoding the transmitted encoding sequence will be described below.

도 4는 도 3과 같은 구조에 의해 인코딩된 연속적인 길이를 가지는 신호를 수신하여 디코딩을 수행하기 위한 구조를 도시한 도면이다.4 is a diagram illustrating a structure for receiving and decoding a signal having a continuous length encoded by the structure shown in FIG. 3.

도 3에서 상술한 바와 같은 과정을 통해 송신된 X, Y1, Y2는 채널을 통해 수신단에서 수신된다. 이에 따라 수신 신호는 임시비트가 제거된 구조화 시퀀스(X)에 대응하는 수신 신호(이하, "구조화 시퀀스 대응 신호(RX)"라 함), 임시비트가 제거된 제 1 패리티 시퀀스(Y1)에 대응하는 수신 신호(이하, "제 1 패리티 시퀀스 대응 신호(RY1)"라 함), 및 제 2 패리티 시퀀스(Y2)에 대응하는 수신 신호(이하 "제 2 패 리티 비트 대응 신호(RY2)"라 함)를 포함한다. 다만, 이와 같이 수신 신호를 구성하는 길이 K인 RX, RY1, RY2는 인코딩단에서와 마찬가지로 인터리버의 길이 제한으로 인하여 디코딩할 수 없는 문제를 가진다. 따라서 본 발명의 일 실시형태에서는 이와 같은 수신 신호에 보충신호추가부(401)에서 인코딩 단에서 삽입했던 임시 비트에 대응하는 보충신호를 추가하여 길이를 다시 K'으로 조절한다. 이를 통해 인코딩단에서와 마찬가지로 길이 K'인 기본 인터리버를 이용하는 터보 디코더(402)를 통해 디코딩을 수행할 수 있다. 상술한 길이 K'인 기본 인터리버 길이는 그 활용에 따라 ARP 인터리빙에서의 변동 벡터 주기의 배수 길이를 가지도록 미리 설정된 기본 인터리버 세트 중 길이가 K 이상인 기본 인터리버를 선택한 것일 수도 있고, 그리고/또한 병렬 디코딩에 이용되는 구성 디코더에 포함된 윈도우 개수의 배수 길이를 가지도록 미리 설정된 기본 인터리버 세트 중 길이가 K 이상인 기본 인터리버를 선택한 것일 수도 있다. 이에 대해서는 이하에서 상세히 설명한다.X, Y1, and Y2 transmitted through the process as described above in FIG. 3 are received at the receiver through a channel. Accordingly, the received signal is included in the received signal corresponding to the structured sequence X from which the temporary bits have been removed (hereinafter referred to as the "structured sequence correspondence signal R X ") and the first parity sequence Y1 from which the temporary bits have been removed. A corresponding received signal (hereinafter referred to as "first parity sequence correspondence signal R Y1 ") and a received signal corresponding to second parity sequence Y2 (hereinafter referred to as "second parity bit correspondence signal R Y2 ) ""). However, as described above, R X , R Y1 , and R Y2 constituting the received signal have a problem that they cannot be decoded due to the limitation of the length of the interleaver. Therefore, in one embodiment of the present invention, the supplementary signal corresponding to the temporary bit inserted in the encoding stage by the supplementary signal adding unit 401 is added to the received signal to adjust the length back to K '. As a result, decoding can be performed through the turbo decoder 402 using a basic interleaver having a length K 'as in the encoding stage. The above-described base interleaver length K 'may be a base interleaver having a length of K or more among preset basic interleaver sets set to have multiples of the variation vector period in ARP interleaving according to the utilization thereof, and / or parallel decoding The basic interleaver whose length is greater than or equal to K may be selected from among a set of basic interleavers preset to have multiples of the number of windows included in the component decoder used for. This will be described in detail below.

한편, 보충신호추가부(401)에 의해 추가되는 보충 신호는 다음과 같다. Meanwhile, the supplementary signal added by the supplementary signal adding unit 401 is as follows.

본 발명에 따른 디코딩 방법에 있어 디코더는 인코딩측에서 삽입했던 임시 비트 정보와 그 임시 비트가 제거된 펑처링 인덱스를 알고 있으므로, 이에 따른 디펑처링, 즉 보충신호삽입 방법은 이와 같이 삽입되었던 임시 비트의 값에 대응하는 보충 신호를 해당 펑처링 위치에 다시 삽입함으로써 수행된다.In the decoding method according to the present invention, since the decoder knows the temporary bit information inserted at the encoding side and the puncturing index from which the temporary bit has been removed, the depuncturing, that is, the supplementary signal insertion method, is performed according to the method. This is done by reinserting the supplemental signal corresponding to the value into the corresponding puncturing position.

구체적으로, 인코딩 단에서 입력 시퀀스(X)에 인덱스 K 이상인 부분에 임시 비트를 삽입한 예를 들어 살펴보면, 여기서의 펑처링 인덱스는 K≤i 이므로, 구조 화 시퀀스 대응 신호(RX=(R1 x, R2 x, ...RK -1 x))의 인덱스 i 가 K미만인 부분은 그대로 Rx값을 디펑처링 결과 Rx'으로서 이용하고, i가 K이상인 인덱스에 다음과 같은 보충 신호를 삽입한다.Specifically, for example, when a temporary bit is inserted into a portion having an index K or more in the input sequence X in the encoding stage, since the puncturing index here is K ≦ i, the structured sequence corresponding signal R X = (R 1 x , R 2 x , ... R K -1 x )) part where index i is less than K is used as R x value as the result of depuncture R x ' , and the complementary signal for the index i is greater than or equal to K Insert

Figure 112006081708464-pat00001
Figure 112006081708464-pat00001

여기서, ni는 모든 인덱스에서 │ni│는 같으나, 각 인덱스에 삽입되었던 임시 비트 및 변조 방법에 따라 그 부호가 결정되는 정수로서, ni의 크기는 상대적으로 큰 값을 가지는 것이 바람직하며, 적어도 1보다 큰 수로 설정하는 것이 바람직하다. 이와 같이, 수신된 구조화 시퀀스 대응 신호(Rx)의 평균값에 ni를 곱하여 보충신호를 삽입하는 것은 송신단에서 삽입한 임시 비트에 대한 정보를 이미 알고 있는 상태에서 이를 디코딩 단계에서 가능한 모든 가지 매트릭을 고려하기 보다는, 디코딩 단계에서 추정가능한 가지 매트릭을 제한함으로써 디코딩 성능을 향상시키기 위함이다. Where, n i is the gateuna │n i │ at every index, an integer in which the code is determined by the modulation method and the temporary bit was inserted for each index, preferably has a size relative to a value of ni, at least It is preferable to set it to a number larger than one. In this way, inserting the supplementary signal by multiplying the average value of the received structured sequence correspondence signal R x by n i may remove all possible metrics in the decoding step while already knowing information about the temporary bits inserted by the transmitter. Rather than take into account, it is to improve the decoding performance by limiting the branch metric estimateable in the decoding step.

한편, 제 1 패리티 시퀀스 대응 신호(RY1) 및 제 2 패리티 시퀀스 대응 신호(RY2)의 펑처링 인덱스에는, 상술한 바와 같이 수신단이 이미 임시 비트에 대한 정보를 가지고 있기 때문에, 디코딩시 이를 추정하는 별도의 패리티 비트 정보는 불필요하므로 '0'을 삽입한다. 이에 따라 상술한 예에서 제 1 패리티 시퀀스 대응 신호(RY1)의 인덱스 i가 K미만인 인덱스에는 RY1값을 그대로 이용하며, i가 K이상인 인덱스에는 RY1에 '0'을 삽입하여 RY1'을 생성한다. 또한, 제 2 패리티 시퀀스 대응 신호(RY2)의 인덱스 j 중 0 ≤ i ≤ K-1인 i에 대응하는 인덱스 j에는 RY2값을 그대로 이용하고, K 이상인 i에 대응하는 인덱스 j에는 '0'을 삽입하여, RY2'을 생성한다.On the other hand, in the puncturing indexes of the first parity sequence correspondence signal R Y1 and the second parity sequence correspondence signal R Y2 , as described above, since the receiver already has information on the temporary bits, it is estimated when decoding. Since extra parity bit information is unnecessary, '0' is inserted. Accordingly, as use of the first parity sequence corresponding signal index i is R Y1 value index is less than the K of (R Y1) in the example described above, and the i is inserted "0" into the index, R Y1 or more K R Y1 ' Create In addition, the value of R Y2 is used as the index j corresponding to i of 0 ≤ i ≤ K-1 of the index j of the second parity sequence correspondence signal R Y2 , and '0 is used for the index j corresponding to i equal to or greater than K. Insert ', to create R Y2' .

따라서, 도 4에 도시된 바와 같은 본 발명의 일 실시형태에 따르면, 디코더(402)에 입력되는 신호는 길이가 각각 K'인 RX', RY1', RY2'이다. 이에 따라, 디코더(402)는 길이 K'인 기본 인터리버를 인터리버(402b)로 이용하고, 이에 대응하는 역인터리버(402d)를 통해 제 1 구성 디코더(402a) 및 제 2 구성 디코더(402c)의 부대 정보 연산과 저장의 반복을 통한 디코딩을 수행할 수 있다.Therefore, according to one embodiment of the present invention as shown in FIG. 4, the signals input to the decoder 402 are R X ' , R Y1' and R Y2 ' each having a length K'. Accordingly, the decoder 402 uses the basic interleaver of length K 'as the interleaver 402b, and adds the first component decoder 402a and the second component decoder 402c through the corresponding deinterleaver 402d. Decoding may be performed by repeating information operation and storage.

이하에서는 상술한 도 3 및 도 4와 관련하여 설명한 본 발명의 일 실시형태에 따른 터보 코드 인코딩 및 디코딩 방법을 보다 구체적인 예를 들어 설명한다.Hereinafter, a turbo code encoding and decoding method according to an embodiment of the present invention described with reference to FIGS. 3 and 4 will be described with more specific examples.

먼저, 입력되는 원본 시퀀스의 길이 K가 14, 요구되는 인터리버 길이 K'이 16이고, 이에 따라 인코딩 단에서 임시 비트가 삽입되는 인덱스를 i=14, 15로 선택하고, 임시 비트로서 '0'을 삽입하는 경우를 가정한다.First, the length K of the input original sequence is 14 and the required interleaver length K 'is 16. Accordingly, i = 14, 15 is selected as an index into which the temporary bits are inserted in the encoding stage, and' 0 'is selected as the temporary bit. Assume the case of insertion.

입력되는 원본 시퀀스를 편의를 위해 X = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13}라 하고, 임시 비트가 삽입된 구조화 시퀀스 X'= {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}로 나타낸다. 즉, 각 시퀀스 상에 표기된 수는 원본 시퀀스(X) 또는 이에 임시 비트가 삽입된 구조화 시퀀스(X')의 인덱스를 나타낸다. The input original sequence is called X = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13} for convenience and a structured sequence X with a temporary bit inserted '= {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}. That is, the number written on each sequence represents the index of the original sequence X or structured sequence X 'with a temporary bit inserted therein.

상술한 구조화 시퀀스 X'을 입력받은 인터리버는 인터리빙을 수행하며, 이에 따라 인터리빙된 시퀀스 O = {0, 4, 2, 6, 8, 7, 11, 9, 12, 14, 15, 1, 3, 5, 10}과 같이 나타내어 지는 것을 가정한다. 이를 통해 인터리빙에 따른 인덱스 맵핑 관계를 알 수 있다.The interleaver receiving the above-described structured sequence X 'performs interleaving, and accordingly, the interleaved sequence O = {0, 4, 2, 6, 8, 7, 11, 9, 12, 14, 15, 1, 3, 5, 10}. Through this, it is possible to know the index mapping relationship according to interleaving.

한편, 인코딩 단에서 상기 임시 비트가 삽입된 구조화 시퀀스 X', 이 구조화 시퀀스를 제 1 구성 인코더에 의해 인코딩한 제 1 패리티 시퀀스 Y1', 및 X'을 인터리빙한 O를 제 2 구성 인코더에 의해 인코딩한 제 2 패리티 시퀀스 Y2'에서 임시 비트 삽입으로 인한 펑처링 인덱스를 제외한, 나머지 인덱스만을 X, Y1으로 출력하여 채널을 통해 송신한다. 즉, X'과 Y1'의 14, 15에 해당하는 비트는 출력하지 않는다. 아울러, Y2'에 있어서는 구조화 시퀀스(X')의 인덱스 14, 15에 대응하는 인덱스 10, 11을 제외하고, 나머지 인덱스만을 Y2로서 출력한다.On the other hand, in the encoding stage, the structured sequence X 'into which the temporary bit is inserted, the first parity sequence Y1' encoded by the first constituent encoder, and the O interleaved X 'are encoded by the second constituent encoder. In the second parity sequence Y2 ', only the remaining indexes, except for the puncturing index due to temporary bit insertion, are output as X and Y1 and transmitted through the channel. That is, the bits corresponding to 14 and 15 of X 'and Y1' are not output. In addition, in Y2 ', only the remaining indexes are output as Y2 except indexes 10 and 11 corresponding to indexes 14 and 15 of the structured sequence X'.

이와 같이 펑처링 인덱스의 정보를 제외하고 출력된 각각의 길이가 14인 X, Y1, Y2는 채널을 통해 수신단에 의해 수신된다.As described above, except for the information of the puncturing index, the outputted lengths X, Y1, and Y2 are received by the receiver through the channel.

수신단에서는 이 수신 신호를 X, Y1, Y2에 각각 대응하는 RX, RY1, RY2로 하여 길이 14인 각각의 신호가 다시 길이 16을 가지도록 보충 신호를 삽입한다. 이 경우, RX는 인덱스 i가 14보다 작은 경우, 수신된 RX를 그대로 RX'으로 이용하고, i가 14이상인 경우 RX에 ni·Rav를 삽입한다. 여기서 Rav

Figure 112006081708464-pat00002
를 나타낸다.The receiving end inserts the supplementary signal so that each of the signals having a length of 14 has a length of 16 again, with the received signals as R X , R Y1 , and R Y2 corresponding to X, Y1, and Y2, respectively. In this case, R X inserts ni · R R X av in case the index i is greater than or equal to smaller than 14, as used in R X 'of the received R X, and i is 14. Where R av is
Figure 112006081708464-pat00002
Indicates.

또한, RY1 역시 RX와 펑처링 인덱스가 동일하므로 i가 14미만인 경우 RY1을 그대로 이용하고, i가 14이상인 경우 '0'을 삽입하여 RY1'을 획득한다. 아울러 RY2는 상술한 인터리빙에 따른 인덱스 맵핑 관계에 따라 j=10, 11이 펑처링 인덱스에 해당하므로, j=10, 11에 '0'을 삽입하고, 나머지 인덱스에는 RY2값을 그대로 RY2'에 이용한다. In addition, since R Y1 also has the same puncturing index as R X , when i is less than 14, R Y1 is used as it is, and when i is 14 or more, R Y1 is inserted to obtain R Y1 . In addition, R Y2 is because the according to an index mapping relationship according to the above-described interleaving, j = 10, 11 correspond to the puncturing index, j = 10, inserting "0" into the 11, and the other index has the R Y2 value as R Y2 Used for '

이와 같은 디펑처링을 통해 디코딩 단에서는 길이 16인 수신 신호를 디코딩 연산할 수 있다.Through this depuncturing, the decoding stage can decode a received signal having a length of 16.

한편, 이하에서는 상술한 바와 같은 본 발명의 일 실시형태에 따른 터보 코드 인코딩 및/또는 터보 코드 디코딩 방법을 기본 인터리버 개념과 함께 이용하여 연속적인 길이를 가지는 ARP 인터리버를 구현하는 방법에 대해 설명한다.Meanwhile, the following describes a method of implementing an ARP interleaver having a continuous length by using the turbo code encoding and / or turbo code decoding method according to an embodiment of the present invention as described above together with the basic interleaver concept.

ARP는 RP에 가중치가 6 또는 9인 RTZ 시퀀스와 같은 특정 시퀀스를 회피하기 위해 변동 벡터(fluctuation vector)를 추가하여 기록 및 판독 과정에서 왜곡을 주는 방식으로서 입력 시퀀스의 인덱스를 i, 출력 시퀀스의 인덱스를 j라 할 경우 다음과 같은 인덱스 맵핑 관계에 의해 나타낼 수 있다.ARP adds a fluctuation vector to the RP to avoid certain sequences, such as RTZ sequences with a weight of 6 or 9, and distorts them during writing and reading. If j is represented by the following index mapping relationship.

Figure 112006081708464-pat00003
Figure 112006081708464-pat00003

여기서, K는 인터리버의 크기이며, P는 K와 서로 소인 임의의 정수로서 RP 에 있어 기록이 행 방향으로, 판독이 열 방향으로 이루어지는 행렬에 있어서 열의 수에 해당한다. 또한, Q(j)는 변동 벡터를 나타내며, 구체적으로 다음과 같이 나타낼 수 있다.Here, K is the size of the interleaver, P is an arbitrary integer that is small with K and corresponds to the number of columns in the matrix in which writing is in the row direction and reading is in the column direction in RP. In addition, Q (j) represents a variation vector, and specifically, it may be expressed as follows.

Figure 112006081708464-pat00004
Figure 112006081708464-pat00004

여기서, C는 왜곡 주기(또한, 변동 벡터 Q의 주기)를 나타내며, A(j) 및 B(j)는 C를 주기로 가지는 주기함수로서 P 및 K/P의 20% 이하이다. 또한, Q(0) = 0으로 선택할 수 있으며, 이러한 ARP는 A(j) 및 B(j)를 규정하는 2(C-1) 개의 정수들 및 P에 의해 규정될 수 있다.Here, C denotes a distortion period (also a period of the variation vector Q), and A (j) and B (j) are cycle functions having C as a cycle, which is 20% or less of P and K / P. It is also possible to select Q (0) = 0, and this ARP may be defined by 2 (C-1) integers and P defining A (j) and B (j).

이와 같이 ARP에 이용되는 변동 벡터 Q는 C를 주기로 가지며, 이에 따라 ARP 인터리빙을 수행하기 위해서는 C의 배수 길이를 가져야만 한다.As such, the variation vector Q used for ARP has a period C, and therefore, in order to perform ARP interleaving, it must have a multiple length of C.

따라서, 본 발명의 일 실시형태에서는 이와 같은 ARP를 수행하는 과정에서 기본 인터리버 세트를 ARP의 변동 벡터 주기의 배수로서 미리 설정하고, 입력 시퀀스의 길이(K) 이상인 변동 벡터 주기의 최소 배수 길이(K')를 가지는 기본 인터리버를 선택하여, K'-K 만큼 상술한 임시 비트를 삽입하여 인터리빙 및 인코딩을 수행함으로써 연속적인 길이를 가지는 터보 코드를 인코딩할 수 있다.Accordingly, in one embodiment of the present invention, in the process of performing such ARP, the basic interleaver set is set in advance as a multiple of the variation vector period of the ARP, and the minimum multiple length (K) of the variation vector period that is equal to or greater than the length K of the input sequence. By selecting a basic interleaver having '), interleaving and encoding by inserting the above-described temporary bits by K'-K can encode a turbo code having a continuous length.

한편, 상술한 바와 같이 인코딩 후 삽입된 임시 비트를 제거한 신호를 수신하더라도, 수신단에서 다시 상술한 바와 같은 디펑처링 과정을 수행함으로써 수신 신호의 길이를 ARP 변동 벡터의 배수 길이로 조절할 수 있으며, 이를 통해 ARP 인터리빙 및 ARP 역인터리빙을 수행하여 디코딩을 수행할 수 있다.On the other hand, even when receiving a signal from which the temporary bit inserted after encoding as described above, the receiving end can adjust the length of the received signal to a multiple of the ARP variation vector by performing the de-punching process as described above. ARP interleaving and ARP deinterleaving may be performed to perform decoding.

한편, 이하에서는 상술한 바와 같은 본 발명의 일 실시형태에 따른 터보 코드 인코딩 및/또는 터보 코드 디코딩 방법을 기본 인터리버 개념과 함께 이용하여 연속적인 길이를 가지며, 메모리 뱅크 경합 문제가 없는 병렬 디코딩이 가능하도록 디코딩을 수행하는 방법에 대해 설명한다.Meanwhile, in the following, the turbo code encoding and / or turbo code decoding method according to an embodiment of the present invention as described above can be used in parallel decoding with a basic length of interleaver and without memory bank contention problem. A method of performing decoding will be described.

TC의 병렬 디코딩에서 각각의 윈도우는 상술한 바와 같이, 순방향 매트릭, 역방향 매트릭, 및 가지 매트릭의 3가지 매트릭을 계산하기 위해서 채널에서 수신한 비트당 수신값(bitwise received value)과 서로 다른 구성 디코더가 계산한 부대 정보(extrinsic information)를 사용한다. 수신값과 부대 정보는 정해진 메모리공간에 순서대로(비트순으로) 저장되며 각각의 구성 디코더는 메트릭을 계산하기 위해서 필요한 값을 메모리에서 읽어 들이고 구성 디코더가 계산한 부대 정보 값을 메모리에 다시 기록하게 된다. In the parallel decoding of the TC, each window has a different component decoder different from the bitwise received value received on the channel in order to calculate the three metrics of the forward metric, the reverse metric, and the branch metric as described above. Use the computed extrinsic information. Received values and collateral information are stored in a fixed memory space in order (bitwise), and each component decoder reads the values needed to compute the metric from memory and writes the collateral information calculated by the configuration decoder back into memory. do.

이때 병렬 디코딩을 위해서는 각각의 윈도우가 한번에 한 개의 메모리 뱅크를 접속해야 하며, 만일 하나의 메모리 뱅크에 복수의 윈도우가 접속하는 경우 메모리 뱅크 경합(Memorybank Contention) 문제가 발생한다. 일반적으로 디코딩 단에서 제 1 구성 디코디의 부대 정보 계산값의 저장에 있어서는 이러한 메모리 뱅크 경합 문제가 발생하지 않지만, 복수의 메모리 뱅크에 분산되어 저장되어 있는 부대 정보를 저장된 인덱스가 아닌 이를 인터리빙한 인덱스에 따라 각각의 윈도우가 메모리 뱅크에 접속하는 경우 경합이 발생할 수 있다.At this time, each window should be connected to one memory bank at a time for parallel decoding. If a plurality of windows are connected to one memory bank, a memory bank contention problem occurs. In general, such a memory bank contention problem does not occur in the storage of the secondary information calculation value of the first component decode in the decoding stage, but an index interleaving the secondary information stored in a plurality of memory banks instead of the stored index. As a result, contention may occur when each window connects to the memory bank.

상술한 바와 같은 메모리 뱅크 접속 경합 문제는 잘 설계된 인터리버를 사용하여 해결될 수 있으며, 이와 같이 메모리 뱅크 접속 경합 문제가 발생하지 않게 설계된 인터리버를 "경합 없는 인터리버(Contention-Free Interleaver)"라고 한다.The memory bank connection contention problem as described above can be solved using a well designed interleaver, and an interleaver designed such that the memory bank connection contention problem does not occur is referred to as a "contention-free interleaver".

일반적인 경합 없는 인터리버는 다음과 같은 성질을 가진다.General contention free interleaver has the following properties.

Figure 112006081708464-pat00005
Figure 112006081708464-pat00005

여기서, j1 및 j2는 전체 K 길이의 인덱스에서 서로 다른 판독 위치를 가지나, 구성 디코더의 서로 다른 윈도우에서 동일한 단위 시간에 판독되는 인덱스를 의미하며, 다음과 같이 나타낼 수 있다.Here, j 1 and j 2 have different read positions in the index of the entire K length, but mean indexes read in the same unit time in different windows of the component decoder, and can be expressed as follows.

Figure 112006081708464-pat00006
Figure 112006081708464-pat00006

상기 수학식 1에서

Figure 112006081708464-pat00007
는 제 2 구성 디코더에서 계산하는 j 번째 부대 정보를 계산하기 위하여 접속해야 하는 메모리 뱅크의 주소를 나타내는 것으로 볼 수 있다. 따라서, 상기 수학식 4를 만족하는 인터리버를 설계할 경우 서로 다른 윈도우가 동일 시간에 서로 다른 메모리 뱅크를 접속하게 된다. 이때, 메모리 뱅크 내에서 저장된 부대 정보가 몇 번째인지는 중요하지 않다. 단 전체 부대 정보가 각각 한 번씩 접속하게 되면 된다.In Equation (1)
Figure 112006081708464-pat00007
Can be regarded as representing the address of the memory bank to which the second component decoder should access in order to calculate the j th sub information. Therefore, when designing an interleaver that satisfies Equation 4, different windows connect different memory banks at the same time. At this time, it is not important how many auxiliary information is stored in the memory bank. However, all unit information is accessed once each.

다만, 경합 없는 인터리버는 상술한 바와 같은 조건을 만족시키기 위하여 그 길이가 각 구성 디코더에 포함된 윈도우의 개수의 배수 길이를 가져야 하는 제한이 있다.However, the contention-free interleaver has a limitation that its length must have a multiple of the number of windows included in each component decoder in order to satisfy the conditions described above.

따라서, 본 발명의 일 실시형태에서는 이와 같은 경합 없는 인터리버를 이용한 병렬 디코딩을 수행하는 과정에서 기본 인터리버 세트를 각 구성 디코더에 포함된 윈도우 개수의 배수 길이를 가지도록 미리 설정하고, 입력 시퀀스의 길이(K) 이상인 윈도우 개수의 최소 배수 길이(K')를 가지는 기본 인터리버를 선택하여, K'-K 만큼 상술한 임시 비트를 삽입하여 인터리빙 및 인코딩을 수행함으로써 연속적인 길이를 가지는 터보 코드를 인코딩할 수 있다.Accordingly, in one embodiment of the present invention, in the process of performing parallel decoding using such a contention-free interleaver, the basic interleaver set is preset to have a multiple of the number of windows included in each component decoder, and the length of the input sequence ( It is possible to encode a turbo code having a continuous length by selecting a basic interleaver having a minimum multiple length K 'of the number of windows greater than or equal to K) and interleaving and encoding by inserting the above-described temporary bits by K'-K. have.

한편, 상술한 바와 같이 인코딩 후 삽입된 임시 비트를 제거한 신호를 수신하더라도, 수신단에서 다시 상술한 바와 같은 디펑처링 과정을 수행함으로써 수신 신호의 길이를 병렬 디코딩에 이용되는 윈도우 개수의 배수 길이로 조절할 수 있으며, 이를 통해 경합 없는 인터리빙 및 역인터리빙을 수행하여 디코딩을 수행할 수 있다.On the other hand, even when receiving the signal from which the temporary bit inserted after encoding as described above, the receiving end can adjust the length of the received signal to a multiple of the number of windows used for parallel decoding by performing the de-punching process as described above again. Through this, decoding can be performed by performing interleaving and deinterleaving without contention.

상술한 바와 같이 개시된 본 발명의 바람직한 실시형태에 대한 상세한 설명은 당업자가 본 발명을 구현하고 실시할 수 있도록 제공되었다. 상기에서는 본 발명의 바람직한 실시 형태를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다. 따라서, 본 발명은 여기에 나타난 실시형태들에 제한되려는 것이 아니라, 여기서 개시된 원리들 및 신규한 특징들과 일치하는 최광의 범위를 부여하려는 것이다. The detailed description of the preferred embodiments of the invention disclosed as described above is provided to enable any person skilled in the art to make and practice the invention. Although the above has been described with reference to the preferred embodiments of the present invention, those skilled in the art will variously modify and change the present invention without departing from the spirit and scope of the invention as set forth in the claims below. I can understand that you can. Accordingly, the present invention is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.

상기와 같은 본 발명의 일 실시형태에 따르면 연속적인 길이의 인터리버를 제공하기 위해 임시 비트 개념을 이용하여 인터리빙 및 이를 통해 터보 코드 인코딩을 수행하고, 임시 비트의 특성을 이용하여 디코딩 단에서 보다 용이하게 수신 신호를 디코딩하는 방법을 제공한다.According to one embodiment of the present invention as described above, in order to provide an interleaver with a continuous length, interleaving and turbo code encoding are performed using the temporary bit concept, and the decoding stage is more easily performed using the characteristics of the temporary bit. A method of decoding a received signal is provided.

또한, 상술한 바와 같이 임시 비트를 이용한 인코딩 및 디코딩 방법을 이용하여 특정 RTZ 시퀀스를 회피하기 위한 ARP 인터리빙 및 메모리 뱅크 경합 없는 병렬 디코딩을 위한 인터리빙을 수행하도록 설정된 기본 인터리버 개념을 이용함으로써 연속적인 길이의 ARP 인터리빙 및/또는 연속적인 길이의 병렬 디코딩이 가능하도록 한다.In addition, by using the basic interleaver concept set to perform interleaving for parallel decoding without memory bank contention and ARP interleaving to avoid a specific RTZ sequence using the encoding and decoding method using temporary bits as described above, Enable ARP interleaving and / or continuous length parallel decoding.

Claims (12)

원본 시퀀스에 임시 비트(temporary bits)를 삽입하여 구조화 시퀀스(systematic sequence)를 생성하는 단계;Inserting temporary bits into an original sequence to generate a systematic sequence; 상기 구조화 시퀀스를 제 1 인코더에 의해 인코딩하여 제 1 패리티 시퀀스를 생성하는 단계;Encoding the structured sequence by a first encoder to generate a first parity sequence; 상기 구조화 시퀀스를 인터리빙하는 단계;Interleaving the structured sequence; 상기 인터리빙된 시퀀스를 제 2 인코더에 의해 인코딩하여 제 2 패리티 시퀀스를 생성하는 단계; 및Encoding the interleaved sequence by a second encoder to generate a second parity sequence; And 상기 구조화 시퀀스, 상기 제 1 패리티 시퀀스, 및 상기 제 2 패리티 시퀀스에서 상기 임시 비트 삽입으로 인하여 추가된 비트에 해당하는 인덱스를 펑처링 인덱스로 설정하고, 상기 펑처링 인덱스를 제외한 인덱스를 출력하는 단계를 포함하는, 터보 코드 인코딩 방법.Setting an index corresponding to a bit added due to the temporary bit insertion in the structured sequence, the first parity sequence, and the second parity sequence as a puncturing index, and outputting an index except the puncturing index; Turbo code encoding method comprising. 제 1 항에 있어서,The method of claim 1, 상기 구조화 시퀀스 생성 단계에서 상기 임시 비트는 상기 원본 시퀀스의 길이와 미리 설정된 기본 인터리버 세트 중 선택된 기본 인터리버의 길이와의 차이에 해당하는 길이의 원본 시퀀스에 삽입하는, 터보 코드 인코딩 방법.And in the generating a structured sequence, inserting the temporary bits into an original sequence having a length corresponding to a difference between the length of the original sequence and the length of a selected basic interleaver among a preset basic interleaver set. 제 2 항에 있어서,The method of claim 2, 상기 미리 설정된 기본 인터리버 세트는 ARP의 변동 벡터 주기의 배수 길이를 가지도록 설정되며,The preset basic interleaver set is set to have a multiple length of the variation vector period of ARP, 상기 선택된 기본 인터리버는 상기 변동 벡터 주기의 배수 중 상기 원본 시퀀스의 길이 이상의 최소 배수 길이를 가지는, 터보 코드 인코딩 방법.And the selected basic interleaver has a minimum multiple length greater than or equal to the length of the original sequence among multiples of the variation vector period. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,4. The method according to any one of claims 1 to 3, 상기 임시 비트 및 상기 펑처링 인덱스는 인코딩단과 디코딩단이 모두 알고 있는, 터보 코드 인코딩 방법.And said temporary bit and said puncturing index are known to both encoding and decoding stages. 원본 시퀀스에 임시 비트(temporary bits)를 삽입하여 구조화 시퀀스(systematic bits)를 생성하는 단계;Inserting temporary bits into an original sequence to generate systematic bits; 상기 구조화 시퀀스를 제 1 인코더에 의해 인코딩하여 제 1 패리티 시퀀스를 생성하는 단계;Encoding the structured sequence by a first encoder to generate a first parity sequence; 상기 구조화 시퀀스를 인터리빙하는 단계;Interleaving the structured sequence; 상기 인터리빙된 시퀀스를 제 2 인코더에 의해 인코딩하여 제 2 패리티 시퀀스를 생성하는 단계; 및Encoding the interleaved sequence by a second encoder to generate a second parity sequence; And 상기 구조화 시퀀스, 상기 제 1 패리티 시퀀스, 및 상기 제 2 패리티 시퀀스에서 상기 임시 비트 삽입으로 인하여 추가된 비트에 해당하는 인덱스를 펑처링 인덱스로 설정하고, 상기 펑처링 인덱스를 제외한 인덱스를 출력하는 단계에 의해 생성된 송신측 신호를 채널을 통해 수신측에서 수신하여 디코딩하는 방법에 있어서,Setting an index corresponding to a bit added due to the temporary bit insertion in the structured sequence, the first parity sequence, and the second parity sequence as a puncturing index, and outputting an index except the puncturing index. In the method for receiving and decoding the transmission side signal generated by the receiving side through a channel, 수신된 상기 수신 신호의 상기 구조화 시퀀스 대응 신호, 상기 제 1 패리티 시퀀스 대응 신호 및 상기 제 2 패리티 비트 대응 신호 각각의 상기 펑처링 인덱스에 보충 신호를 삽입하는 단계; 및Inserting a supplementary signal into the puncturing index of each of the structured sequence corresponding signal, the first parity sequence corresponding signal and the second parity bit corresponding signal of the received signal; And 상기 보충 신호가 각각 삽입된 상기 구조화 시퀀스 대응 신호, 상기 제 1 패리티 시퀀스 대응 신호 및 상기 제 2 패리티 비트 대응 신호를 디코딩하는 단계를 포함하는 것을 특징으로 하는 터보 코드 디코딩 방법.And decoding the structured sequence correspondence signal, the first parity sequence correspondence signal and the second parity bit correspondence signal into which the supplementary signal is inserted, respectively. 제 5 항에 있어서,6. The method of claim 5, 상기 보충 신호 삽입 단계에서, 상기 구조화 시퀀스 대응 신호의 상기 펑처링 인덱스에 삽입하는 상기 보충 신호는, 상기 임시 비트 및 상기 임시 비트의 변조 방법에 따라 부호가 결정되며 절대값이 1보다 큰 신호인, 터보 코드 디코딩 방법.In the supplementary signal inserting step, the supplementary signal inserted into the puncturing index of the structured sequence corresponding signal is a signal whose sign is determined according to a modulation method of the temporary bit and the temporary bit and whose absolute value is greater than one. Turbo code decoding method. 제 5 항 또는 제 6 항에 있어서,The method according to claim 5 or 6, 상기 보충 신호 삽입 단계에서, 상기 제 1 패리티 시퀀스 대응 신호 및 상기 제 2 패리티 비트 대응 신호의 상기 펑처링 인덱스에 삽입하는 상기 보충 신호는 0인, 터보 코드 디코딩 방법.And the supplementary signal to be inserted into the puncturing index of the first parity sequence corresponding signal and the second parity bit corresponding signal is 0 in the supplementary signal insertion step. 제 5 항에 있어서,6. The method of claim 5, 상기 송신측의 구조화 시퀀스 생성 단계에서 상기 임시 비트는 상기 원본 시 퀀스의 길이와 미리 설정된 기본 인터리버 세트 중 선택된 기본 인터리버의 길이와의 차이에 해당하는 길이의 원본 시퀀스에 삽입하며,In the step of generating a structured sequence of the transmitting side, the temporary bit is inserted into an original sequence having a length corresponding to a difference between the length of the original sequence and the length of a basic interleaver selected from a set of preset basic interleavers, 상기 수신측의 디코딩 단계는 상기 선택된 기본 인터리버와 동일한 길이의 인터리버에 의한 인터리빙 단계를 포함하는, 터보 코드 디코딩 방법.And the decoding step of the receiving side comprises an interleaving step by an interleaver of the same length as the selected basic interleaver. 제 8 항에 있어서,9. The method of claim 8, 상기 미리 설정된 기본 인터리버 세트는 ARP의 변동 벡터 주기의 배수 길이를 가지도록 설정되며,The preset basic interleaver set is set to have a multiple length of the variation vector period of ARP, 상기 선택된 기본 인터리버는 상기 변동 벡터 주기의 배수 중 상기 원본 시퀀스의 길이 이상의 최소 배수 길이를 가지는, 터보 코드 디코딩 방법.Wherein the selected basic interleaver has a minimum multiple length greater than the length of the original sequence of multiples of the variation vector period. 제 8 항에 있어서,9. The method of claim 8, 상기 미리 설정된 기본 인터리버 세트는 병렬 디코딩에 이용되는 윈도우 개수의 배수 길이를 가지도록 설정되며,The preset basic interleaver set is set to have a multiple length of the number of windows used for parallel decoding. 상기 선택된 기본 인터리버 길이는 상기 윈도우 개수의 배수 중 상기 원본 시퀀스의 길이 이상의 최소 배수 길이를 가지는, 터보 코드 디코딩 방법.And the selected basic interleaver length has a minimum multiple length greater than or equal to the length of the original sequence among multiples of the window number. 원본 시퀀스에 임시 비트(temporary bits)를 삽입하여 구조화 시퀀스(systematic sequence)를 생성하는 임시비트삽입부;A temporary bit inserter for inserting temporary bits into an original sequence to generate a structured sequence; 상기 구조화 시퀀스를 인코딩하여 제 1 패리티 시퀀스를 생성하는 제 1 인코 더;A first encoder for encoding the structured sequence to generate a first parity sequence; 상기 구조화 시퀀스를 인터리빙하는 인터리버;An interleaver for interleaving the structured sequence; 상기 인터리빙된 시퀀스를 인코딩하여 제 2 패리티 시퀀스를 생성하는 제 2 인코더; 및A second encoder for encoding the interleaved sequence to generate a second parity sequence; And 상기 구조화 시퀀스, 상기 제 1 패리티 시퀀스, 및 상기 제 2 패리티 시퀀스에서 상기 임시 비트 삽입으로 인하여 추가된 비트에 해당하는 인덱스를 펑처링 인덱스로 설정하고, 상기 펑처링 인덱스를 제외한 인덱스를 출력하도록 하는 임시비트제거부를 포함하는, 터보 코드 인코더.Temporary to set an index corresponding to a bit added due to the insertion of the temporary bit in the structured sequence, the first parity sequence, and the second parity sequence as a puncturing index, and output an index except the puncturing index. Turbo code encoder comprising a bit remover. 원본 시퀀스에 임시 비트(temporary bits)를 삽입하여 구조화 시퀀스(systematic sequence)를 생성하는 임시비트삽입부;A temporary bit inserter for inserting temporary bits into an original sequence to generate a structured sequence; 상기 구조화 시퀀스를 인코딩하여 제 1 패리티 시퀀스를 생성하는 제 1 인코더;A first encoder for encoding the structured sequence to generate a first parity sequence; 상기 구조화 시퀀스를 인터리빙하는 인터리버;An interleaver for interleaving the structured sequence; 상기 인터리빙된 시퀀스를 인코딩하여 제 2 패리티 시퀀스를 생성하는 제 2 인코더; 및A second encoder for encoding the interleaved sequence to generate a second parity sequence; And 상기 구조화 시퀀스, 상기 제 1 패리티 시퀀스, 및 상기 제 2 패리티 시퀀스에서 상기 임시 비트 삽입으로 인하여 추가된 비트에 해당하는 인덱스를 펑처링 인덱스로 설정하고, 상기 펑처링 인덱스를 제외한 인덱스를 출력하도록 하는 임시비트제거부를 포함하는 터보 코드 인코더에 의해 생성된 송신측 신호를 채널을 통해 수신측에서 수신하여 디코딩하는 터보 코드 디코더에 있어서,Temporary to set an index corresponding to a bit added due to the insertion of the temporary bit in the structured sequence, the first parity sequence, and the second parity sequence as a puncturing index, and output an index except the puncturing index. A turbo code decoder for receiving and decoding a transmitting side signal generated by a turbo code encoder including a bit removing unit through a channel, 수신된 상기 수신 신호의 상기 구조화 시퀀스 대응 신호, 상기 제 1 패리티 시퀀스 대응 신호 및 상기 제 2 패리티 비트 대응 신호 각각의 상기 펑처링 인덱스에 보충 신호를 삽입하는 보충신호삽입부; 및A supplementary signal insertion unit inserting a supplementary signal into the puncturing index of each of the structured sequence corresponding signal, the first parity sequence corresponding signal, and the second parity bit corresponding signal of the received signal; And 상기 보충 신호가 각각 삽입된 상기 구조화 시퀀스 대응 신호, 상기 제 1 패리티 시퀀스 대응 신호 및 상기 제 2 패리티 비트 대응 신호를 디코딩하는 디코더를 포함하는 것을 특징으로 하는 터보 코드 디코더.And a decoder for decoding the structured sequence correspondence signal, the first parity sequence correspondence signal and the second parity bit correspondence signal into which the supplementary signal is inserted.
KR1020060109906A 2006-11-08 2006-11-08 Method For Encoding And Decoding Turbo Code With Continuous Length KR101233175B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060109906A KR101233175B1 (en) 2006-11-08 2006-11-08 Method For Encoding And Decoding Turbo Code With Continuous Length

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060109906A KR101233175B1 (en) 2006-11-08 2006-11-08 Method For Encoding And Decoding Turbo Code With Continuous Length

Publications (2)

Publication Number Publication Date
KR20080041821A KR20080041821A (en) 2008-05-14
KR101233175B1 true KR101233175B1 (en) 2013-02-15

Family

ID=39648776

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060109906A KR101233175B1 (en) 2006-11-08 2006-11-08 Method For Encoding And Decoding Turbo Code With Continuous Length

Country Status (1)

Country Link
KR (1) KR101233175B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990083314A (en) * 1998-04-18 1999-11-25 윤종용 Channel encoding device and method for communicathion system
KR20010044941A (en) * 1999-11-01 2001-06-05 서평원 method for calculating shifting parameter of parallel puncturing algorithm
KR20020004479A (en) * 2000-07-05 2002-01-16 서평원 Data Rate Matching Method for In 3GPP2
JP2004096363A (en) 2002-08-30 2004-03-25 Matsushita Electric Ind Co Ltd Puncturing method and encoder for turbo code

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990083314A (en) * 1998-04-18 1999-11-25 윤종용 Channel encoding device and method for communicathion system
KR20010044941A (en) * 1999-11-01 2001-06-05 서평원 method for calculating shifting parameter of parallel puncturing algorithm
KR20020004479A (en) * 2000-07-05 2002-01-16 서평원 Data Rate Matching Method for In 3GPP2
JP2004096363A (en) 2002-08-30 2004-03-25 Matsushita Electric Ind Co Ltd Puncturing method and encoder for turbo code

Also Published As

Publication number Publication date
KR20080041821A (en) 2008-05-14

Similar Documents

Publication Publication Date Title
Barbulescu Iterative decoding of turbo codes and other concatenated codes
JP3730238B2 (en) Adaptive channel coding method and apparatus
JP3359913B1 (en) Interleaver for use in serial chain convolutional encoder in mobile communication system and interleaving method thereof
US7765459B2 (en) Viterbi decoder and viterbi decoding method
CN101636914A (en) Method and apparatus for encoding and decoding data
US7640462B2 (en) Interleaver and de-interleaver
KR101165638B1 (en) Method For Providing Interleaver, Method For Interleaving, Both With Continuous Length, And Turbo Encoder Using The Same
JP2006504376A (en) Method and apparatus for deinterleaving a data stream interleaved in a communication system
KR102244117B1 (en) Method and apparatus for processing rate matching of polar codes
US20130007568A1 (en) Error correcting code decoding device, error correcting code decoding method and error correcting code decoding program
KR20080041488A (en) Parallel interleaving method
US8392792B2 (en) Method for encoding low density parity check codes using result of checking previously specified parity bits
EP4062540A1 (en) Spatially coupled forward error correction encoding method and device using generalized error locating codes as component codes
CN107733441B (en) Coding method and device, decoding method and device
KR101233175B1 (en) Method For Encoding And Decoding Turbo Code With Continuous Length
KR20060121312A (en) Convolutional turbo code interleaver
US8959403B2 (en) QPP interleaver/de-interleaver for turbo codes
CN108476027B (en) Window interleaved TURBO (WI-TURBO) code
CN101667839B (en) Interleaving method
KR100297739B1 (en) Turbo codes with multiple tails and their encoding / decoding methods and encoders / decoders using them
CN103138769A (en) Encoding method provided with unequal error protection
US8091012B2 (en) System and method for decreasing decoder complexity
KR101276829B1 (en) Method For Providing Interleaver, Method For Interleaving, Both With Continuous Length, And Method For Decoding Using The Same
US7225392B2 (en) Error correction trellis coding with periodically inserted known symbols
KR20040037624A (en) Method and apparatus for deinterleaving an interleaved data stream in communication system

Legal Events

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

Payment date: 20160122

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee