KR101276829B1 - Method For Providing Interleaver, Method For Interleaving, Both With Continuous Length, And Method For Decoding Using The Same - Google Patents

Method For Providing Interleaver, Method For Interleaving, Both With Continuous Length, And Method For Decoding Using The Same Download PDF

Info

Publication number
KR101276829B1
KR101276829B1 KR1020060105881A KR20060105881A KR101276829B1 KR 101276829 B1 KR101276829 B1 KR 101276829B1 KR 1020060105881 A KR1020060105881 A KR 1020060105881A KR 20060105881 A KR20060105881 A KR 20060105881A KR 101276829 B1 KR101276829 B1 KR 101276829B1
Authority
KR
South Korea
Prior art keywords
index
length
interleaver
information
sequence
Prior art date
Application number
KR1020060105881A
Other languages
Korean (ko)
Other versions
KR20080038682A (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 KR1020060105881A priority Critical patent/KR101276829B1/en
Publication of KR20080038682A publication Critical patent/KR20080038682A/en
Application granted granted Critical
Publication of KR101276829B1 publication Critical patent/KR101276829B1/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/2771Internal interleaver for turbo codes
    • H03M13/2775Contention or collision free turbo code internal 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/65Purpose and implementation aspects
    • H03M13/6561Parallelized implementations
    • 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/6566Implementations concerning memory access contentions

Abstract

본 발명은 연속적인 길이를 제공하는 인터리버 제공 방법, 인터리빙 방법 및 이를 이용한 디코딩 방법에 대한 것이다. 본 발명에 따르면 기본 인터리버 개념을 이용하여 병렬 디코딩에 이용되는 윈도우 개수의 배수 길이가 아닌 경우에도 인터리빙이 가능하며, 디코딩 단에서 발생하는 메모리 뱅크 경합 문제를 길이 조절 과정에서 생략된 정보 판독시 1 단위 시간 동안 판독을 지연시킴으로써 방지할 수 있다.The present invention relates to an interleaver providing method for providing a continuous length, an interleaving method, and a decoding method using the same. According to the present invention, interleaving is possible even when the length of the number of windows used for parallel decoding is not a multiple length by using the basic interleaver concept. This can be avoided by delaying the reading for a time.

터보 코드, 인터리버, 병렬 디코딩, 지연 Turbo code, interleaver, parallel decoding, delay

Description

연속적인 길이를 제공하는 인터리버 제공 방법, 인터리빙 방법 및 이를 이용한 디코딩 방법{Method For Providing Interleaver, Method For Interleaving, Both With Continuous Length, And Method For Decoding Using The Same}Method for Providing Interleaver, Method For Interleaving, Both With Continuous Length, And Method For Decoding Using The Same}

도 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은 병렬 디코딩을 수행하는 터보 코드 디코더에 포함된 제 1 구성 디코더의 각각의 윈도우가 부대 정보(extrinsic information)를 계산하여 복수의 메모리 뱅크로 구성된 메모리에 병렬로 저장하는 것을 도시한 도면.3 is a diagram illustrating that each window of a first component decoder included in a turbo code decoder performing parallel decoding calculates extrinsic information and stores the parallel information in a memory composed of a plurality of memory banks in parallel;

도 4는 병렬 디코딩을 수행하는 터보 코드 디코더에 포함된 제 2 구성 디코더의 각각의 윈도우가 메모리로부터 부대 정보를 판독하는 과정에서 발생하는 메모리 뱅크 경합 문제를 설명하기 위한 도면.FIG. 4 is a diagram for explaining a memory bank contention problem that occurs when each window of a second component decoder included in a turbo code decoder that performs parallel decoding reads incident information from memory; FIG.

도 5는 경합 없는 인터리버를 이용한 병렬 디코딩 방법을 설명하기 위한 도면.5 is a diagram for explaining a parallel decoding method using an interleaver without contention.

도 6은 본 발명의 일 실시형태에 따라 기본 인터리버(Basic Interleaver) 개념을 이용하여 연속적인 길이를 가지는 인터리버를 제공하는 방법을 설명하기 위한 순서도.FIG. 6 is a flow chart illustrating a method of providing an interleaver having a continuous length using a basic interleaver concept according to an embodiment of the present invention. FIG.

도 7은 병렬 디코딩 과정에서 연속적인 길이를 가지는 시퀀스를 단순한 기본 인터리버 개념을 이용하여 인터리빙 후 디코딩을 수행하는 경우 발생할 수 있는 메모리 뱅크 경합 문제를 설명하기 위한 도면.FIG. 7 is a diagram illustrating a memory bank contention problem that may occur when decoding is performed after interleaving a sequence having a continuous length in a parallel decoding process using a simple basic interleaver concept. FIG.

도 8은 본 발명의 일 실시형태에 따라 인터리빙 과정에서 일부 인덱스 부분의 판독이 생략된 경우에도 병렬 디코딩 과정에서 메모리 뱅크 경합 문제가 발생하지 않도록 하는 방법을 설명하기 위한 순서도.8 is a flowchart for explaining a method of preventing a memory bank contention problem in a parallel decoding process even when reading of some index portions is omitted in an interleaving process according to an embodiment of the present invention.

도 9는 도 8의 방법에 따라 디코딩을 수행하는 경우의 동작을 설명하기 위한 도면.FIG. 9 is a view for explaining an operation when decoding is performed according to the method of FIG. 8; FIG.

본 발명은 무선 통신 기술에 대한 것으로서, 특히 연속적인 길이를 제공하는 인터리버 제공 방법, 인터리빙 방법 및 이를 이용한 디코딩 방법에 관한 것이다.The present invention relates to a wireless communication technology, and more particularly, to an interleaver providing method for providing a continuous length, an interleaving method, and a decoding method using the same.

도 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)를 제 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. This TC uses the interleaver 102 to input the input data X of the turbo encoder as shown in FIG. 1 by parity bits Y 1 encoded by the first configuration encoder EN 1 101, and the input data by the interleaver 102. After interleaving, it may be generated through a combination with parity bits Y 2 encoded by the second configuration encoder EN 2 103.

도 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 the two component decoders 201 and 203 repeatedly send and receive extrinsic information. 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 do 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.

이와 같은 TC의 슬라이딩 윈도우 디코딩 및 병렬 디코딩 방법에 대해서는 본 명세서에 참조로서 포함된 Mohamadreza Maandim 등의 "Performance Analysis of Turbo Decoder for 3GPP Standard using the Sliding Window Algorithm" 및 Jah-Ming Hsu 등의 "A PARALLEL DECODING SCHEME FOR TURBO CODES" 등에 상세히 개시되어 있다.Such sliding window decoding and parallel decoding methods of TC include "Performance Analysis of Turbo Decoder for 3GPP Standard using the Sliding Window Algorithm" by Mohamadreza Maandim et al. And "A PARALLEL DECODING" by Jah-Ming Hsu. SCHEME FOR TURBO CODES "and the like.

상술한 TC의 병렬 디코딩에서 각각의 윈도우는 상술한 3가지 매트릭을 계산하기 위해서 채널에서 수신한 비트당 수신값(bitwise received value)과 서로 다른 구성 디코더가 계산한 부대 정보를 사용한다. 수신값과 부대 정보는 정해진 메모리공간에 순서대로(비트순으로) 저장되며 각각의 구성 디코더는 메트릭을 계산하기 위해서 필요한 값을 메모리에서 읽어 들이고 구성 디코더가 계산한 부대 정보 값을 메모리에 다시 기록하게 된다. In the parallel decoding of the above-described TC, each window uses bitwise received values received in the channel and incidental information calculated by different component decoders to calculate the aforementioned three metrics. 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.

이때 병렬 디코딩을 위해서는 각각의 윈도우가 한번에 한 개의 메모리 뱅크를 접속해야 한다. Parallel decoding requires that each window access one memory bank at a time.

도 3은 병렬 디코딩을 수행하는 터보 코드 디코더에 포함된 제 1 구성 디코더의 각각의 윈도우가 부대 정보(extrinsic information)를 계산하여 복수의 메모리 뱅크로 구성된 메모리에 병렬로 저장하는 것을 도시한 도면이다.3 is a diagram illustrating that each window of a first component decoder included in a turbo code decoder performing parallel decoding calculates extrinsic information and stores the information in parallel in a memory composed of a plurality of memory banks.

도 3의 예는 전체 길이 K를 길이가 Wm인 Nw개의 윈도우로 나누어 Nw개의 윈도우가 동시에 부대 정보를 계산하는 경우를 도시하고 있다. 도 3에 도시된 바와 같이 제 1 구성 디코더는 각각의 윈도우가 부대 정보를 계산하면, 각각의 부대 정보 메모리에 계산된 부대 정보를 동시에 저장하게 된다. 부대 정보 메모리는 상술한 바와 같이 Nw개의 메모리 뱅크로 구성되어 있으므로 제 1 구성 디코더의 Nw개의 윈도우가 동시에 하나의 단위 시간(time instance)에서 계산한 Nw개 부대 정보를 부대 정보 메모리의 서로 다른 메모리 뱅크에 각각 동시에 저장하게 된다.The example of Figure 3 shows a case in which the full length K m of length W N w N w dividing the single window of the window at the same time calculates the collateral information. As shown in FIG. 3, when each window calculates the auxiliary information, the first component decoder simultaneously stores the calculated auxiliary information in each auxiliary information memory. Since the auxiliary information memory is composed of Nw memory banks as described above, the Nw auxiliary information calculated by Nw windows of the first component decoder at one time instance at the same time is different from the different memory banks of the auxiliary information memory. Each will be stored at the same time.

이와 같이 구성 디코더의 각각의 윈도우가 1 단위 시간 동안 서로 다른 메모리 뱅크에 접속하는 경우 아무런 문제가 발생하지 않는다. 다만, 터보 디코더에 있어 각 구성 디코더는 다른 구성 디코더가 계산한 부대 정보를 인터리빙 또는 역인터리빙한 정보에 접속하게 되며, 이와 같은 인터리빙 또는 역인터리빙 과정에서 동일한 메모리 뱅크를 2 이상의 윈도우가 동시에 접속하는 메모리 뱅크 경합 문제가 발생할 수 있는 문제가 발생한다. 이하에서 이러한 문제를 상세히 설명한다.In this way, no problem occurs when each window of the component decoder connects to different memory banks for one unit time. However, in the turbo decoder, each component decoder is connected to information interleaved or deinterleaved by subcomponents calculated by other component decoders, and memory in which two or more windows simultaneously access the same memory bank in the interleaving or reverse interleaving process. Problems arise that can cause bank contention problems. This problem is described in detail below.

도 4는 병렬 디코딩을 수행하는 터보 코드 디코더에 포함된 제 2 구성 디코 더의 각각의 윈도우가 메모리로부터 부대 정보를 판독하는 과정에서 발생하는 메모리 뱅크 경합 문제를 설명하기 위한 도면이다.FIG. 4 is a diagram for describing a memory bank contention problem that occurs when each window of a second component decoder included in a turbo code decoder that performs parallel decoding reads incident information from memory.

일반적으로 제 2 구성 디코더는 제 1 구성 디코더가 계산한 부대 정보를 사용하여 새로운(갱신된) 부대 정보를 계산한다. 이때, 도 4에 도시된 바와 같이 제 2 구성 디코더는 부대정보 메모리에 저장된 부대 정보를 읽어들일 때 저장되어 있는 순서가 아닌 인터리빙된 순서로 그 순서를 변환하여 읽어 들인다.In general, the second component decoder calculates the new (updated) collateral information using the collateral information calculated by the first component decoder. In this case, as shown in FIG. 4, the second component decoder converts and reads the order in an interleaved order instead of the stored order when reading the auxiliary information stored in the auxiliary information memory.

여기서 제 1 구성 디코더가 연산하여 부대 정보 메모리에 저장된 순서에 따른 인덱스(인터리버의 입력 인덱스)를 i, 제 2 구성 디코더가 부대 정보를 읽어 들이는 순서에 따른 인덱스(인터리버의 출력 인덱스)를 j라 할 때, 인터리버 수식이 i=π(j)를 만족하는 것을 가정한다.  Where i is the index (input index of the interleaver) in the order stored by the first component decoder and stored in the auxiliary information memory, and i is the index (output index of the interleaver) in the order in which the second component decoder reads the auxiliary information. It is assumed that the interleaver equation satisfies i = π (j).

즉, 제 2 구성 디코더가 0에서 K-1 번째까지 K개의 부대 정보를 계산하는 경우, 0에서 K-1사이에 j번째인 부대 정보는 제 1 구성 디코더가 만든 i=π(j) 번째 부대 정보, 다시 말해 부대 정보 메모리에서 i 번째에 저장되어있는 부대 정보를 읽어 들인 후에, 앞에서 언급한 3가지 매트릭을 계산하고 또한 3가지 매트릭으로 새로운(갱신된) 부대 정보를 계산한다.That is, when the second component decoder calculates K subunit information from 0 to K-1, the j subunit information between 0 and K-1 is i = π (j) th subunit produced by the first component decoder. After reading the information, i.e., the unit information stored in the i-th unit from the unit information memory, the three metrics mentioned above are calculated and the new (updated) unit information is calculated with the three metrics.

한편, 병렬 디코딩을 위해 제 2 구성 디코더 역시 Nw 개의 윈도우가 동시에 부대 정보를 계산하여야 하는바, 제 2 구성 디코더의 Nw 개의 윈도우는 부대 정보 메모리에 저장되어 있는 K 개의 부대 정보 중에서 하나의 단위 시간당 Nw개의 부대 정보를 동시에 읽어 들여야 한다. 즉, 도 4에 도시된 바와 같이 제 2 구성 디코더 는 인덱스 j가 0 ~ K-1인 인덱스를 순차적으로 판독하여 계산하는 것이 아니라 각 윈도우 마다 인덱스 0 ~ Wm-1, Wm ~ 2Wm-1, 2Wm ~ 3Wm- 1, ...의 인덱스에 대해 1 단위 시간에 각각 순차적으로 부대 정보 메모리에 저장된 정보를 판독하고, 이는 부대 정보 메모리에 저장된 순서에 따른 인덱스(i)와 상술한 바와 같이 i=π(j)의 관계에 따라 판독한다.On the other hand, the second decoder is also configured bar, a second configuration of a decoder for the N w N w of the window should at the same time calculates the collateral information for parallel decoding The two windows must simultaneously read N w auxiliary information per unit time from the K auxiliary information stored in the auxiliary information memory. That is, as shown in FIG. 4, the second component decoder does not sequentially read and calculate an index having an index j of 0 to K-1, but indexes 0 to W m −1 and W m to 2 W m − for each window. 1, 2W m to 3W m -1, ... sequentially read information stored in the subsidiary information memory at a time of one unit each, which is the index (i) according to the order stored in the subsidiary information memory and As described above, reading is performed in accordance with the relationship of i =? (J).

이때 Nw개의 부대 정보가 Nw개의 메모리 뱅크에 각각 한 개씩 존재하지 않는다면 하나의 단위 시간에 두 개 이상의 윈도우가 동시에 한 개의 메모리 뱅크에 접속하는 "메모리 뱅크 접속 경합 문제"가 발생한다.At this time, if N w auxiliary information does not exist in each of the N w memory banks, a "memory bank connection contention problem" occurs in which two or more windows simultaneously access one memory bank at one unit time.

예를 들어, 도 4에서는 제 2 구성 디코더의 각 윈도우가 단위 시간 1에서 부대 정보 메모리에 저장된 정보를 판독하여 올 때, 윈도우 0과 윈도우 1에서 동시에 메모리 뱅크 1에 접속하여 메모리 뱅크 접속 경합이 발생하는 것을 도시하고 있다.For example, in FIG. 4, when each window of the second component decoder reads information stored in the auxiliary information memory at unit time 1, memory bank connection contention occurs by simultaneously accessing memory bank 1 in window 0 and window 1. It is shown to do.

상술한 바와 같은 메모리 뱅크 접속 경합 문제는 잘 설계된 인터리버를 사용하여 해결될 수 있으며, 이와 같이 메모리 뱅크 접속 경합 문제가 발생하지 않게 설계된 인터리버를 "경합 없는 인터리버(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 112006079242127-pat00001
Figure 112006079242127-pat00001

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

Figure 112006079242127-pat00002
Figure 112006079242127-pat00002

상기 수학식 1에서

Figure 112006079242127-pat00003
는 제 2 구성 디코더에서 계산하는 j 번째 부대 정보를 계산하기 위하여 접속해야 하는 메모리 뱅크의 주소를 나타내는 것으로 볼 수 있다. 따라서, 상기 수학식 1을 만족하는 인터리버를 설계할 경우 서로 다른 윈도우가 동일 시간에 서로 다른 메모리 뱅크를 접속하게 된다. 이때, 메모리 뱅크 내에서 저장된 부대 정보가 몇 번째인지는 중요하지 않다. 단 K개의 부대 정보가 각각 한 번씩 접속하게 되면 된다.In Equation (1)
Figure 112006079242127-pat00003
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 1, 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. Only K units have to access the information once.

도 5는 경합 없는 인터리버를 이용한 병렬 디코딩 방법을 설명하기 위한 도면이다.5 is a diagram for describing a parallel decoding method using an interleaver without contention.

도 5는 상기 수학식들을 만족하는 인터리버를 통해 제 2 구성 디코더가 부대 정보 메모리에 접속하는 것을 도시하고 있다. Fig. 5 shows that the second component decoder connects to the auxiliary information memory through an interleaver that satisfies the above equations.

도 5에서 제 2 구성 디코더의 동일한 윈도우에 의해 판별되는 정보는 동일한 방향의 사선으로 표시된 배경 무늬로 나타내었으며, 각 정보에 표기된 숫자는 제 2 구성 디코더의 각 윈도우가 부대 정보 메모리에 접속하는 단위 시간을 나타낸다. 이와 같은 경합 없는 인터리버를 이용함으로써 제 2 구성 디코더의 각 윈도우는 매 단위 시간마다 서로 다른 메모리 뱅크에 저장된 정보를 판독하여 이를 통해 3개의 매트릭을 계산함으로써 메모리 뱅크 접속 경합 문제가 발생하지 않도록 할 수 있다.In FIG. 5, the information determined by the same window of the second component decoder is represented by a background pattern indicated by diagonal lines in the same direction, and the number indicated in each information is a unit time for each window of the second component decoder to access the auxiliary information memory. Indicates. By using such a contention free interleaver, each window of the second component decoder reads information stored in different memory banks every unit time, and calculates three metrics so that the memory bank connection contention problem does not occur. .

또한, 상술한 설명은 제 2 구성 디코더가 부대 정보 판독을 위해 부대 정보가 저장된 각각의 메모리 뱅크에 접속하는 방법을 중심으로 설명하였으나, 제 2 구성 복호기는 이러한 부대 정보뿐만 아니라 제 1 구성 디코더에 의해 디코딩되지 않은 수신값 자체(도 2에서의 Rx)를 메모리로부터 판독하여 온다. 이 수신값은 제 2 구성 디코더가 가지 매트릭을 계산할 때, 메모리로부터 동일한 방식으로 판독하며, 구체적으로 상술한 바와 같이 경합 없는 인터리버를 이용하여 각각의 수신 값을 판독하여 디코딩 연산에 이용할 수 있다.In addition, although the above description has focused on the method in which the second component decoder connects to each memory bank in which the auxiliary information is stored for reading the auxiliary information, the second component decoder is configured by the first component decoder as well as the auxiliary information. The undecoded reception value itself (R x in FIG. 2) is read from the memory. This received value is read in the same way from the memory when the second constituent decoder calculates the branch metric, and can specifically read each received value using a contention free interleaver as described above and use it in the decoding operation.

그러나, 이와 같은 병렬 디코딩이 가능한 경합 없는 인터리버는 다양한 인터리빙에 있어서의 인덱스 맵핑 관계에 불구하고 상기 수학식 1과 같은 조건을 만족시키기 위해 인터리버의 크기가 윈도우의 개수 Nw의 배수이어야 하는 제약이 있다. 한편, 터보 디코딩에 있어 디코딩할 시퀀스의 길이는 통신 시스템의 요구에 따라 다양한 연속적인 길이를 가질 수 있는바, 이와 같은 경합 없는 인터리버 개념을 이용하면서도 연속적인 길이의 시퀀스를 병렬 디코딩하기 위한 기술이 요구되고 있다.However, the contention-free interleaver capable of such parallel decoding has a limitation that the size of the interleaver must be a multiple of the number N w of windows in order to satisfy the condition as in Equation 1 despite the index mapping relation in various interleaving. . Meanwhile, in turbo decoding, the length of a sequence to be decoded may have various continuous lengths according to the requirements of a communication system. Therefore, a technique for parallel decoding a sequence of consecutive lengths while using such a contention-free interleaver concept is required. It is becoming.

상술한 바와 같은 문제점을 해결하기 위한 본 발명의 목적은 터보 디코딩에 있어 경합 없는 인터리버를 통해 병렬 디코딩하는 방식을 유지하면서도 기본 인터리버(Basic Interleaver)개념을 이용하여 연속적인 길이의 시퀀스를 디코딩하는 방법, 이에 이용되는 인터리버 제공 방법 등을 제공하는데 있다.Summary of the Invention An object of the present invention for solving the above problems is a method of decoding a sequence of consecutive lengths using a basic interleaver concept while maintaining a parallel decoding method through a contention free interleaver in turbo decoding, The present invention provides an interleaver providing method.

또한, 기본 인터리버 개념을 단순하게 이용하여 병렬 디코딩을 수행하는 경우에 발생할 수 있는 메모리 뱅크 접속 경합 문제를 해결하는 방법을 제공하여 안정적으로 병렬 디코딩을 수행하는 방법을 제공하는데 본 발명의 또 다른 목적이 있다.Another object of the present invention is to provide a method for stably performing parallel decoding by providing a method for solving a memory bank access contention problem that may occur when parallel decoding is performed by using a basic interleaver concept. have.

상술한 목적을 달성하기 위한 본 발명의 일 실시형태에 따른 인터리버 제공 방법은, 요구되는 인터리버 길이인 제 1 길이에 따라 병렬 디코딩에 이용되는 윈도우 개수의 배수 길이를 가지도록 미리 설정된 기본 인터리버(Basic Interleaver) 세트 중 제 2 길이를 가지는 기본 인터리버를 선택하는 단계; 및 상기 제 1 길이가 상기 제 2 길이보다 작은 경우, 상기 선택된 기본 인터리버를 이용하여 처리 가능한 데이터의 길이를 상기 제 1 길이로 조절하는 단계를 포함한다.An interleaver providing method according to an embodiment of the present invention for achieving the above object is a basic interleaver preset to have a multiple length of the number of windows used for parallel decoding according to a first length, which is a required interleaver length. Selecting a primary interleaver having a second length of the set; And adjusting the length of data that can be processed using the selected basic interleaver to the first length when the first length is smaller than the second length.

이 경우, 상기 제 2 길이는 상기 윈도우 개수의 배수 중 상기 제 1 길이 이상의 최소 배수일 수 있으며, 상기 조절하는 단계는 상기 제 2 길이를 가지는 기본 인터리버에 입력되는 데이터의 인덱스들 중 상기 제 1 길이에 해당하는 수의 인덱스들만 수용함으로써 수행될 수 있다.In this case, the second length may be a minimum multiple of the first length or more of multiples of the number of windows, and the adjusting may include the first length of indexes of data input to a basic interleaver having the second length. This can be done by accepting only a number of indices.

한편, 본 발명의 다른 일 실시형태에 따른 인터리빙 방법은, 원본 시퀀스의 길이와 병렬 디코딩에 이용되는 윈도우 개수의 배수 길이를 가지도록 미리 설정된 기본 인터리버 세트 중 선택된 기본 인터리버의 길이와의 차이에 해당하는 길이의 원본 시퀀스 인덱스에 더미(dummy) 정보를 삽입하는 단계; 상기 더미 정보가 삽입된 상기 선택된 기본 인터리버 길이의 시퀀스를 인터리빙하는 단계; 및 상기 인터리빙된 시퀀스 인덱스 중 상기 더미 정보가 삽입되지 않은 인덱스를 출력하는 단계를 포함한다.Meanwhile, an interleaving method according to another embodiment of the present invention corresponds to a difference between a length of an original sequence and a length of a base interleaver selected from a set of base interleavers preset to have a multiple length of the number of windows used for parallel decoding. Inserting dummy information into an original sequence index of length; Interleaving the selected sequence of basic interleaver lengths into which the dummy information is inserted; And outputting an index in which the dummy information is not inserted among the interleaved sequence indexes.

이 경우, 상기 선택된 기본 인터리버는 상기 윈도우 개수의 배수 중 상기 원본 시퀀스의 길이 이상의 최소 배수 길이를 가지는 것이 바람직하며, 상기 더미 정보 삽입 단계에서, 상기 더미 정보는 상기 원본 시퀀스의 인덱스 중 상기 선택된 기본 인터리버의 길이 이상의 인덱스에 삽입되며, 상기 인덱스 출력 단계에서, 출력되는 상기 인터리빙된 시퀀스 인덱스는 상기 선택된 기본 인터리버의 길이 이상의 원본 시퀀스 인덱스에 대응하는 인덱스를 제외한 인덱스일 수 있다.In this case, the selected basic interleaver preferably has a minimum multiple length greater than or equal to the length of the original sequence among multiples of the window number. In the dummy information insertion step, the dummy information includes the selected basic interleaver among the indexes of the original sequence. The interleaved sequence index that is inserted into an index equal to or greater than a length of and may be an index except for an index corresponding to an original sequence index equal to or greater than the length of the selected basic interleaver.

또한, 이와 달리 상기 더미 정보 삽입 단계에서, 상기 더미 정보는 상기 원본 시퀀스의 인덱스 중 상기 원본 시퀀스의 길이와 상기 선택된 기본 인터리버의 길이의 차이에 해당하는 길이만큼 임의로 선택된 인덱스에 삽입되며, 상기 인덱스 출력 단계에서, 출력되는 상기 인터리빙된 시퀀스 인덱스는 상기 더미 정보 삽입 단계에서 선택된 상기 원본 시퀀스 인덱스에 대응하는 인덱스를 제외한 인덱스이며, 상기 인덱스 출력 단계 이후, 상기 출력된 시퀀스의 인덱스를 상기 더미 정보 삽입 전 원본 시퀀스의 인덱스에 따라 맵핑하는 단계를 더 포함할 수도 있다.Alternatively, in the dummy information insertion step, the dummy information is inserted into an index arbitrarily selected by a length corresponding to a difference between the length of the original sequence and the length of the selected basic interleaver among the indexes of the original sequence, and outputting the index. In the step, the output interleaved sequence index is an index except an index corresponding to the original sequence index selected in the dummy information insertion step, and after the index output step, the index of the output sequence before the dummy information insertion The method may further include mapping according to the index of the sequence.

본 발명의 또 다른 일 실시형태에 따른 디코딩 방법은, 원본 시퀀스의 길이와 미리 설정된 기본 인터리버 세트 중 선택된 기본 인터리버의 길이와의 차이에 해당하는 길이의 원본 시퀀스 인덱스에 더미(dummy) 정보를 삽입하는 단계; 상기 더미 정보가 삽입된 상기 선택된 기본 인터리버 길이의 시퀀스를 인터리빙하는 단계; 및 상기 인터리빙된 시퀀스 인덱스 중 상기 더미 정보가 삽입되지 않은 인덱스를 판독하여 디코딩 연산을 수행하는 단계를 포함하며, 상기 디코딩 연산을 수행하는 단계에서, 상기 더미 정보가 삽입된 인덱스를 판독하는 경우, 1 단위 시간(time instance) 동안 지연시켜 판독한다. A decoding method according to another embodiment of the present invention includes inserting dummy information into an original sequence index having a length corresponding to a difference between a length of an original sequence and a length of a base interleaver selected from a set of preset base interleavers. step; Interleaving the selected sequence of basic interleaver lengths into which the dummy information is inserted; And performing a decoding operation by reading an index in which the dummy information is not inserted among the interleaved sequence indexes, and in the step of performing the decoding operation, when reading the index into which the dummy information is inserted, 1 Read by delay for a time instance.

이 경우, 상기 기본 인터리버 세트는 병렬 디코딩에 이용되는 윈도우 개수의 배수 길이를 가지도록 설정되며, 상기 디코딩 연산을 수행하는 단계는 구성 디코더에 포함된 복수의 윈도우에 의해 병렬로 디코딩 연산을 수행할 수 있다.In this case, the basic interleaver set is set to have a multiple length of the number of windows used for parallel decoding, and the performing of the decoding operation may perform decoding operations in parallel by a plurality of windows included in the component decoder. have.

또한, 상기 원본 시퀀스는 복수의 메모리 뱅크에 분할 저장된 시퀀스일 수 있다.The original sequence may be a sequence divided and stored in a plurality of memory banks.

이하, 본 발명에 따른 바람직한 실시 형태를 첨부된 도면을 참조하여 상세하게 설명한다. 첨부된 도면과 함께 이하에 개시될 상세한 설명은 본 발명의 예시적인 실시형태를 설명하고자 하는 것이며, 본 발명이 실시될 수 있는 유일한 실시형태를 나타내고자 하는 것이 아니다. 이하의 상세한 설명은 본 발명의 완전한 이해를 제공하기 위해서 구체적 세부사항을 포함한다. 그러나, 당업자는 본 발명이 이러한 구체적 세부사항 없이도 실시될 수 있음을 안다. 몇몇 경우, 본 발명의 개념이 모호해지는 것을 피하기 위하여 공지의 구조 및 장치는 생략되거나, 각 구조 및 장치의 핵심기능을 중심으로 한 블록도 형식으로 도시된다. 또한, 본 명세서 전체에서 동일한 구성요소에 대해서는 동일한 도면 부호를 사용하여 설명한다.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.

본 발명의 일 실시형태는 상술한 바와 같이 경합 없는 인터리버가 각 구성 디코더에 포함된 윈도우의 개수의 배수 길이만을 가질 수 있는 문제를 해결하기 위하여 "기본 인터리버(Basic Interleaver)" 개념을 이용하여 연속적인 길이를 가지는 인터리버를 제공하는 방법을 제공한다. 기본 인터리버는 요구되는 길이를 가지는 인터리버를 구현하기 위해 미리 설정된 길이를 가지는 인터리버로서, 일반적으로 필요에 따라 다양한 길이의 기본 인터리버 세트가 미리 설정되어 있는 것이 바람직하다.One embodiment of the present invention utilizes the " Basic Interleaver " concept to solve the problem that a contention-free interleaver may have only a multiple of the number of windows included in each component decoder as described above. A method of providing an interleaver having a length is provided. The basic interleaver 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.

도 6은 본 발명의 일 실시형태에 따라 기본 인터리버 개념을 이용하여 연속적인 길이를 가지는 인터리버를 제공하는 방법을 설명하기 위한 순서도이다.6 is a flowchart illustrating a method of providing an interleaver having a continuous length using a basic interleaver concept according to an embodiment of the present invention.

도 6에 도시된 본 발명의 일 실시형태에서는 K 길이를 가지는 인터리버를 제공하기 위하여 상술한 바와 같이 미리 설정된 기본 인터리버 세트 중 K' 길이를 가지는 인터리버를 선택한다(단계 S601). 여기서, K'은 병렬 디코딩을 위한 윈도우 개수 Nw의 배수이며, 또한 K≤K'인 최소 K' 길이를 가지는 기본 인터리버를 선택하는 것이 이후의 가지치기(pruning) 등의 과정을 더 용이하게 할 수 있다.In an embodiment of the present invention illustrated in FIG. 6, an interleaver having a length K ′ is selected from the set of basic interleavers set in advance as described above to provide an interleaver having a length of K (step S601). Here, K 'is a multiple of the number of windows N w for parallel decoding, and selecting a basic interleaver having a minimum K' length of K≤K 'will make the subsequent pruning process easier. Can be.

그 후, K≤K'인 경우, 단계 S601에서 선택된 K' 길이의 기본 인터리버는 K의 길이를 가지는 인터리버로 조절될 수 있다. 이러한 인터리버 길이 조절을 인터리빙 단계별로 구체적으로 설명하면 다음과 같다.Then, in the case of K≤K ', the basic interleaver of the length K' selected in step S601 may be adjusted to an interleaver having the length of K. The interleaver length adjustment will be described in detail for each interleaving step as follows.

단계 S602에서 인터리버의 입력 시퀀스에 K'-K 개의 더미(dummy) 정보를 삽입한다. 즉, 입력 시퀀스를 B=(b0, b1, ..., bk -1)이라 할 때, K'-K 개의 더미 비트 를 삽입하여 B'=(b'0, b'1, ..., bk -1, bk, bk +1, ..., bk' -1)과 같이 형성한다. 본 발명의 일 실시형태에서는 상술한 바와 같이 입력 시퀀스에 더미 정보를 삽입하는 위치를 인덱스가 K 이상인 부분으로 하였으나, 본 발명의 다른 실시형태에서는 이와 달리 규정될 수 있으며, 이에 대해서는 후술하기로 한다. 이와 같이 입력 시퀀스에 삽입된 더미 정보는 입력 시퀀스의 길이를 K' 길이로 조절하여 이후 K' 길이를 가지는 기본 인터리버에 의한 인터리빙이 가능하게 한다(단계 S603).In step S602, K'-K dummy information is inserted into the input sequence of the interleaver. That is, when the input sequence is B = (b 0 , b 1 , ..., b k -1 ), K'-K dummy bits are inserted to insert B '= (b' 0 , b ' 1 ,. .., b k -1 , b k , b k +1 , ..., b k ' -1 ). In one embodiment of the present invention, as described above, the position at which the dummy information is inserted into the input sequence is a portion having an index of K or more. However, in another embodiment of the present invention, it may be defined differently, which will be described later. As described above, the dummy information inserted into the input sequence adjusts the length of the input sequence to the length K 'so that interleaving by the basic interleaver having the length K' is possible (step S603).

단계 S603을 거쳐 인터리빙이 완료된 출력 시퀀스를 "O"라 할 경우, 이는 O=(o0, o1, ..., ok' -1)과 같이 나타낼 수 있다. 그 후, 단계 S604에서 더미 정보가 입력 시퀀스의 인덱스에 대응하는 출력 시퀀스의 인덱스를 제외한 인덱스(Non Dummy Index)를 출력한다. 구체적으로, 단계 S603에서 입력 시퀀스의 인덱스 i와 출력 시퀀스의 인덱스 j 사이에 i=Π(j)관계에 있는 경우, 상술한 예에서 i= k, k+1, ..., k'-1 에 대응하는 출력 인덱스 j를 제외한 인덱스를 출력하는 것을 의미한다. 따라서, 결과적으로 출력 시퀀스 O'은 이와 같이 인덱스가 제거된(가지치기된) 위치의 정보만이 남게 된다. 아울러, 상술한 설명은 더미 정보가 삽입된 인덱스 자체를 제외하고 출력하는 방식을 중심으로 설명하였으나, oj = bi =Π(j) 관계에 착안하여 출력 시퀀스 중 해당 인덱스의 정보 자체를 제거하고 출력하는 방식 역시 동일한 결과를 얻을 수 있다. When the interleaved output sequence is " O " through step S603, this can be represented as O = (o 0 , o 1 , ..., o k ' -1 ). Thereafter, in step S604, an index (Non Dummy Index) excluding the index of the output sequence whose dummy information corresponds to the index of the input sequence is output. Specifically, in a case where there is i =? (J) relationship between the index i of the input sequence and the index j of the output sequence in step S603, i = k, k + 1, ..., k'-1 in the above example. This means outputting an index except for the output index j corresponding to. As a result, the output sequence O 'leaves only the information of the position from which the index was removed (pruned). In addition, the above description has been mainly focused on a method of outputting the index except the dummy information inserted, but by focusing on the relationship of j j = b i = Π (j) , the information itself of the corresponding index is removed from the output sequence. You can get the same result by printing.

한편, 본 발명의 일 실시형태에서는 인덱스가 K 이상인 부분에 더미 정보를 삽입하고, 인터리빙 이후 더미 정보가 삽입되지 않는 인덱스만을 출력하는 상술한 예와 달리, 0~K'-1 이내의 인덱스 중 K'-K 개의 인덱스를 임의로 선택하여 선택된 인덱스에 더미 정보를 삽입한 후, 인터리빙의 인덱스 맵핑 관계에 따라 이후 더미 정보가 삽입되지 않은 인덱스만을 출력하는 방식 역시 가능하다.On the other hand, in one embodiment of the present invention, unlike the above-described example in which the dummy information is inserted in a portion where the index is K or more, and only the index in which the dummy information is not inserted after interleaving, K among the indexes within 0 to K'-1 is obtained. It is also possible to randomly select '-K indexes and insert dummy information into the selected indexes, and then output only the indexes where dummy information is not inserted according to the interleaving index mapping relationship.

이 경우, 도 6의 단계 S605와 같이 출력되지 않은 인덱스 부분, 즉 펑처링된 인덱스 부분을 제외하고 원본 인덱스와의 맵핑 관계에 맞추는 단계 S605를 더 포함할 수 있다.In this case, the method may further include a step S605 of matching the mapping relationship with the original index except for the non-output index part, that is, the punctured index part as shown in step S605 of FIG. 6.

예를 들어, K'=16, K= 14인 예를 들어 살펴보면, 0과 K'-1 사이의 입력 시퀀스 인덱스 i 중 i=4, 10을 더미 정보 삽입 인덱스로 선택하여 더미 정보를 삽입한 후 인터리빙이 수행되고, 이에 따라 상술한 예에서 출력되는 K' 길이의 시퀀스를 Πk'={0, 7, 6, 5, 12, 3, 2, 1, 8, 15, 14, 13, 11, 9}와 같이 나타내는 경우에 대해 살펴본다. 여기서 각각의 수는 편의상 입력 시퀀스의 인덱스를 나타내는 것으로 가정한다.For example, in the example of K '= 16 and K = 14, after inserting dummy information by selecting i = 4 and 10 as the dummy information insertion index among the input sequence indexes i between 0 and K'-1, Interleaving is performed, and accordingly, the sequence of length K 'outputted in the above-described example is represented by π k' = {0, 7, 6, 5, 12, 3, 2, 1, 8, 15, 14, 13, 11, Look at the case shown as 9}. It is assumed here that each number represents an index of the input sequence for convenience.

이와 같은 K' 길이를 가지는 시퀀스 중 더미 정보가 삽입된 입력 시퀀스의 인덱스를 제외한 인덱스를 출력한다. 예를 들어, o12=i4, 및 o14=i10 이 더미 정보인 경우, 출력 시퀀스의 인덱스 j 중 해당 인덱스를 제외한 인덱스만을 출력한다. 이에 따라 상술한 길이 K'의 출력 시퀀스는 길이 K인 Πpre - mapping k={0, 7, 6, 5, 12, 3, 2, 1, 8, 15, 14, 13, 11, 9}로 나타내어진다. 다만, 이러한 시퀀스는 길이 K인 입력 시퀀스와의 관계에 있어서 상호간에 인덱스 조정이 필요하며(예를 들어 길이 K의 입력 시퀀스에 존재하지 않는 인덱스 14, 15를 포함한다), 따라서, 단계 S605 와 같은 인덱스 맵핑 단계를 통해 원래의 입력 시퀀스의 인덱스에 맞도록 인덱스를 맵핑하는 단계를 더 포함할 수 있다. 구체적으로 상술한 예에서 입력 시퀀스의 인덱스 5는 4로, 6은 5로, 8은 7로, 9는 8로, 11은 9로, 12는 10으로, 13은 11로, 14는 12로, 15는 13으로 맵핑됨을 쉽게 알 수 있다. 이에 따라 최종적인 길이 K의 출력 시퀀스는 Πk={0, 6, 5, 4, 12, 3, 2, 1, 7, 13, 12, 11, 9, 8}와 같이 나타낼 수 있다.The index except for the index of the input sequence into which the dummy information is inserted among the sequences having the length K 'is output. For example, when o 12 = i 4 and o 14 = i 10 are dummy information, only the index except for the corresponding index among the index j of the output sequence is output. Accordingly, the above-described output sequence of length K 'is π pre - mapping k = {0, 7, 6, 5, 12, 3, 2, 1, 8, 15, 14, 13, 11, 9} having a length K. Is represented. However, such a sequence requires index adjustments to each other in relation to an input sequence of length K (for example, includes indexes 14 and 15 which do not exist in the input sequence of length K). The method may further include mapping the index to match the index of the original input sequence through the index mapping step. Specifically, in the above example, the index 5 of the input sequence is 4, 6 is 5, 8 is 7, 9 is 8, 11 is 9, 12 is 10, 13 is 11, 14 is 12, It is easy to see that 15 maps to 13. Accordingly, an output sequence of the final length K may be expressed as π k = {0, 6, 5, 4, 12, 3, 2, 1, 7, 13, 12, 11, 9, 8}.

즉, 본 발명의 일 실시형태에 따른 연속적인 길이를 가지는 인터리버 제공 방법에 있어서, 선택된 기본 인터리버 길이를 원래 처리가 요구된 시퀀스의 길이로 조절하는 것은 선택된 기본 인터리버에 입력되는 시퀀스의 인덱스들 중 원본 시퀀스의 길이에 해당하는 수의 인덱스만을 수용함으로써 수행되는 한, 그 구체적 방법은 상술한 바와 같이 다양할 수 있으며, 어느 한 방식에 한정될 필요는 없다.That is, in the interleaver providing method having a continuous length according to an embodiment of the present invention, adjusting the selected basic interleaver length to the length of the sequence for which the original processing is requested is the original of the indices of the sequence input to the selected basic interleaver. As long as it is performed by accepting only a number of indices corresponding to the length of the sequence, the specific method may vary as described above, and need not be limited to any one manner.

이와 같은 기본 인터리버 개념을 이용함으로써, 병렬 디코딩을 위해 각 구성 디코더가 포함하는 윈도우 개수의 배수가 아닌 길이의 시퀀스 역시 기존의 충돌 없는 인터리버를 이용한 인터리빙을 할 수 있다. 그러나, 이와 같이 기본 인터리버 개념을 이용하여 기존의 충돌 없는 인터리빙을 수행하는 방법은 인코딩 단에서는 문제없이 이용될 수 있다. 다만, 이를 그대로 이용하여 병렬 디코딩을 수행하는 경우 다음과 같은 문제가 발생할 수 있다.By using the basic interleaver concept, a sequence having a length that is not a multiple of the number of windows included in each component decoder for parallel decoding may also be interleaved using an existing collision-free interleaver. However, the conventional method of performing collision-free interleaving using the basic interleaver concept may be used without any problem in the encoding stage. However, when parallel decoding is performed using this as is, the following problem may occur.

도 7은 병렬 디코딩 과정에서 연속적인 길이를 가지는 시퀀스를 단순한 기본 인터리버 개념을 이용하여 인터리빙 후 디코딩을 수행하는 경우 발생할 수 있는 메 모리 뱅크 경합 문제를 설명하기 위한 도면이다.FIG. 7 is a diagram illustrating a memory bank contention problem that may occur when decoding is performed after interleaving a sequence having a continuous length in a parallel decoding process using a simple basic interleaver concept.

도 7에서는 제 1 구성 디코더가 길이 K인 부대 정보를 계산하여 복수의 메모리 뱅크로 구성된 부대정보 메모리에 저장한 경우, 길이가 K'인 경합 없는 인터리버를 기본 인터리버로 사용하고, 더미 정보가 삽입된 인덱스는 제 2 구성 디코더의 판독 과정에서 판독하지 않음으로써 길이 K인 인터리빙이 수행되는 것을 도시하고 있다. 이때, 제 2 구성 디코더가 길이 K인 부대 정보를 인터리빙한 결과에 따라 그대로 판독하여 디코딩 연산을 수행하는 경우 판독이 생략되는 정보로 인한 판독 시간의 이동으로 인해 메모리 뱅크 접속 경합이 발생하게 된다.In FIG. 7, when the first component decoder calculates side information having a length K and stores it in a side information memory including a plurality of memory banks, a contention free interleaver having a length of K ′ is used as a basic interleaver, and dummy information is inserted. The index shows that interleaving of length K is performed by not reading in the reading process of the second component decoder. In this case, when the second component decoder reads the auxiliary information having the length K as it is and performs the decoding operation, the memory bank connection contention occurs due to the shift of the read time due to the information from which the read is omitted.

즉, 도 7에서 윈도우 Nw-1에서 단위 시간 1에 판독되는 정보는 메모리 뱅크 0에 저장된 바둑판 형태의 사선으로 이루어진 배경색을 가지며 1로 지칭된 정보이다. 다만, 길이 K'인 경합 없는 인터리버의 인터리빙 과정에서 더미 정보의 생략(또는 펑쳐링)이 없이 이용되는 경우 상기 정보는 윈도우 Nw-1에서 단위 시간 2에 판독되었을 정보이다. 그러나, 상술한 바와 같이 더미 정보가 삽입된 인덱스의 판독이 생략됨에 따라 판독 순서는 하나씩 이동되어 결국 단위 시간 1에서 메모리 뱅크 0을 접속하는 것이다. 이때, 도 7에 도시된 바와 같이 윈도우 0 역시 단위 시간 1에서 동일한 메모리 뱅크 0을 접속할 수 있으며, 이에 따라 메모리 접속 경합이 발생하게 된다.That is, in FIG. 7, the information read at unit time 1 in the window N w −1 is information referred to as “1” having a background color of a checkered diagonal line stored in the memory bank 0. However, when the information is used without omission (or puncturing) of the dummy information in the interleaving process of the contention-free interleaver having the length K ', the information is information that has been read in unit time 2 in the window N w −1. However, as described above, as the reading of the index into which the dummy information is inserted is omitted, the reading order is shifted one by one to eventually connect the memory bank 0 at unit time 1. In this case, as shown in FIG. 7, window 0 may also access the same memory bank 0 at unit time 1, thereby causing memory access contention.

따라서, 연속적인 길이를 제공하기 위해 기본 인터리버 개념을 이용한 인터리버를 디코딩 단에서 이용하는 경우, 이러한 더미 정보 생략에 따라 판독 시간이 이동함으로 인한 메모리 뱅크 접속 경합 문제를 해결하기 위한 기술이 요구된다.Therefore, when the interleaver using the basic interleaver concept is used in the decoding stage to provide a continuous length, a technique for solving the memory bank connection contention problem caused by the shift of the read time according to the omission of the dummy information is required.

이와 같은 문제를 해결하기 위해 본 발명의 일 실시형태에 따른 디코딩 방법은 다음과 같은 방법을 제안한다.In order to solve such a problem, the decoding method according to an embodiment of the present invention proposes the following method.

도 8은 본 발명의 일 실시형태에 따라 인터리빙 과정에서 일부 인덱스 부분의 판독이 생략된 경우에도 병렬 디코딩 과정에서 메모리 뱅크 경합 문제가 발생하지 않도록 하는 방법을 설명하기 위한 순서도이다.8 is a flowchart illustrating a method of preventing a memory bank contention problem from occurring in a parallel decoding process even when reading of some index portions is omitted in an interleaving process according to an exemplary embodiment of the present invention.

우선 도 6과 관련하여 상술한 바와 같이 기본 인터리버 개념을 이용하여 병렬 디코딩을 위한 각 구성 디코더에 포함된 윈도우의 개수의 배수가 아닌 길이를 가지는 경우에도 인터리빙을 수행하기 위한 방법은 도 8 역시 동일하다. 즉, 단계 S801에서 윈도우 개수의 배수 길이를 가지도록 미리 설정된 기본 인터리버 세트 중 하나의 기본 인터리버를 선택하고, 단계 S802에서 선택된 기본 인터리버의 길이와 인터리빙을 수행할 실제 시퀀스의 길이 사이의 차이에 해당하는 길이 만큼의 인덱스에 더미 정보를 삽입한다. 그 후, 단계 S803에서 인터리빙을 수행한다.First, as described above with reference to FIG. 6, the method for performing interleaving even when the length is not a multiple of the number of windows included in each component decoder for parallel decoding using the basic interleaver concept is the same as FIG. 8. . That is, in step S801, one basic interleaver is selected from among a set of basic interleavers set to have multiples of the number of windows, and the difference between the length of the basic interleaver selected in step S802 and the actual sequence length to be interleaved. Insert dummy information into an index of length. Thereafter, interleaving is performed in step S803.

도 6에 도시된 인터리빙 방법에서는 이와 같은 인터리빙을 거친 후, 더미 정보가 삽입되지 않은 인덱스만을 출력하는 방식을 취하였다. 다만, 본 발명의 일 실시형태에 따른 디코딩 방법은 이하에서 설명하는 바와 같이 더미 정보가 삽입되지 않은 인덱스의 경우 이를 판독하여 상술한 바와 같은 순방향 매트릭, 역방향 매트릭, 및 가지 매트릭을 계산하는 디코딩 연산을 수행하고, 더미 정보가 삽입된 인덱스의 경우 도 6의 경우와 같이 이를 판독(즉, 인터리빙 관점에서 출력)하지 않으나, 이때 1 단위 시간만큼 지연시키는 방법을 제안한다. 이와 같이 더미 정보가 삽 입된 인덱스를 판독하는 경우 1 단위 시간 만큼 지연을 줌으로써 그 이후에 판독되는 정보의 시간 순서가 더미 정보 판독의 생략(또는 펑처링)에 따라 이동하는 것을 방지할 수 있으며, 이에 따라 도 7에서 설명한 바와 같은 메모리 뱅크 접속 경합 문제가 발생하는 것을 방지할 수 있다.In the interleaving method illustrated in FIG. 6, after such interleaving, only the index without dummy information is output. However, the decoding method according to an embodiment of the present invention performs a decoding operation for calculating the forward metric, the reverse metric, and the branch metric as described above by reading the index in the case where the dummy information is not inserted as described below. In the case of the index into which the dummy information is inserted, as in the case of FIG. 6, it is not read (that is, output from an interleaving point of view), but at this time, a method of delaying by one unit time is proposed. As described above, when reading the index into which the dummy information is inserted, a delay of one unit time is prevented to prevent the time sequence of the information read thereafter from shifting due to omission (or puncturing) of the dummy information reading. Accordingly, the memory bank connection contention problem as described in FIG. 7 can be prevented from occurring.

구체적으로 도 8의 각 단계에 따라 구체적으로 살펴보면 다음과 같다.Specifically, the steps of FIG. 8 will be described in detail.

단계 S803에서 인터리빙이 완료된 후, 인터리빙에 따른 인덱스 맵핑 관계에 따라 복수의 메모리 뱅크에 분할되어 저장된 부대 정보를 판독하기 시작한다. 이와 같은 부대 정보 판독 및 판독된 정보를 이용한 디코딩 연산의 수행은 시퀀스 전체길이에 대해 순차적으로 진행하는 것이 아닌 Nw개의 윈도우에서 각각 병렬적으로 수행되는 병렬 디코딩 방식을 취한다. 이에 따라 본 예에서 디코딩 연산을 수행하는 구성 디코더의 각 윈도우에서 판독되는 정보의 순서에 따른 단위 시간의 인덱스를 jn이라 하고, 단계 S804에서 판독을 위해 jn을 초기화시킨다.After the interleaving is completed in step S803, the auxiliary information divided and stored in the plurality of memory banks is started to be read according to the index mapping relationship according to the interleaving. The reading of the side information and the decoding operation using the read information take a parallel decoding method performed in parallel in each of the N w windows, rather than sequentially proceeding with respect to the entire length of the sequence. Accordingly, in this example, the index of the unit time according to the order of the information read in each window of the component decoder for performing the decoding operation is called jn, and in step S804, jn is initialized for reading.

그 후, 단계 S805에서 jn에서 판독되는 정보가 단계 S802에서 삽입된 더미 정보인지 여부를 판정한다. 즉, 전체 K'길이의 시퀀스 중 jn에 판독되는 출력 인덱스 j에 대응하는 입력 인덱스 i가 단계 S802에서 더미 정보를 삽입하는 인덱스로 선택된 것인지 여부를 판정한다. 만일 jn에서 판독되는 인덱스가 더미 인덱스인 경우 해당 정보를 판독하거나, 이를 이용하여 디코딩 연산을 수행하지 않고, 단계 S806으로 진행하여 1 단위 시간만큼 지연시킨다. 이를 정보 판독 단위 시간 jn을 1만큼 증가시키는 것으로 도시하였다.Thereafter, it is determined whether the information read in jn in step S805 is dummy information inserted in step S802. That is, it is determined whether or not the input index i corresponding to the output index j read out to jn of the entire K 'length sequences is selected as the index for inserting dummy information in step S802. If the index read from jn is a dummy index, the corresponding information is not read or a decoding operation is not performed using the information, and the process proceeds to step S806 to be delayed by one unit time. This is illustrated by increasing the information reading unit time jn by one.

한편, 만일 단계 S805에서 단위시간 jn에서의 j에 대응하는 i가 더미 인덱스가 아닌 경우, 단계 S807로 진행하여, 해당 정보를 판독하고 이를 이용하여 디코딩 연산을 수행한다. 그후, 단계 S808에서는 다음 정보를 판독하기 위해 그 다음 단위 시간으로 진행하며, 이와 같은 과정을 각 윈도우에서 처리해야 할 정보의 길이인 Wm 길이만큼 수행하기 위하여 단계 S809에서는 단위 시간 jn이 Wn에 도달했는지를 판정하여, jn이 Wn에 도달할 때까지 상술한 과정을 반복시킨다. On the other hand, if i corresponding to j in the unit time jn in step S805 is not a dummy index, the flow advances to step S807 to read the information and perform a decoding operation using the information. Thereafter, the process proceeds to the next unit time in order to read the next information. In step S809, the unit time jn reaches Wn in order to perform the same process by the length Wm, which is the length of information to be processed in each window. Is determined, and the above-described process is repeated until jn reaches Wn.

도 9는 도 8의 방법에 따라 디코딩을 수행하는 경우의 동작을 설명하기 위한 도면이다.FIG. 9 is a diagram for describing an operation when decoding is performed according to the method of FIG. 8.

도 9에서 확인할 수 있는 바와 같이, 도 7에서는 윈도우 Nw-1의 단위 시간 1에서 더미 정보인 메모리 뱅크 Nw-1에 저장된 입력 인덱스 K'-1를 판독하는 대신 메모리 뱅크 0의 바둑판 모양의 배경무늬를 가지며, 도 9에서 "2"로 표시된 정보를 판독함으로써, 메모리 뱅크 0에 윈도우 0 및 윈도우 Nw-1이 동시에 접속하는 경합이 발생하였으나, 도 8에서 설명한 바와 같은 본 발명의 일 실시형태에 따른 디코딩 방법에 따르면, 윈도우 Nw-1의 단위 시간 1에서 인터리빙 과정에서의 인덱스 맵핑 관계에 따라 더미 정보의 인덱스인 입력 인덱스 K'-1이 맵핑되는 경우, 이를 판독하여 디코딩 연산은 수행하지 않되, 그 다음번 정보를 판독하지 않고 1 단위 시간만큼 판독을 지연시킴으로써 상술한 바와 같은 메모리 뱅크 접속 경합을 회피할 수 있음을 알 수 있다. 도 9에서는 단위 시간 1에서 윈도우 Nw-1이 1 단위 시간만큼 판독을 지연하는 것을 "D"로 표시하였다.As can be seen in FIG. 9, in FIG. 7, a tiled background pattern of memory bank 0 is read instead of reading an input index K′-1 stored in memory bank Nw-1, which is dummy information, at unit time 1 of window Nw-1. By reading the information indicated by " 2 " in FIG. 9, there is a contention in which the window 0 and the window Nw-1 are simultaneously connected to the memory bank 0, but according to an embodiment of the present invention as described in FIG. According to the decoding method, when the input index K'-1, which is an index of dummy information, is mapped according to the index mapping relationship in the interleaving process in unit time 1 of the window Nw-1, the decoding operation is not performed by reading this. It can be seen that the memory bank connection contention as described above can be avoided by delaying the reading by one unit time without reading the next information. In FIG. 9, the window N w −1 delays reading by one unit time in unit time 1 as indicated by “D”.

한편, 도 8 및 도 9와 관련하여 상술한 본 발명의 일 실시형태에 따른 방법은 제 1 구성 디코더가 디코딩 연산을 수행한 후 저장된 부대 정보를 제 2 구성 디코더가 인터리빙을 거쳐 판독한 후 이를 디코딩 연산에 이용하는 과정을 중심으로 설명하였으나, 이와 같은 디코딩 방법은 제 2 구성 디코더가 수신값(Rx)을 판독하여 디코딩 연산을 통해 가지 매트릭을 계산하는데도 동일하게 적용할 수 있음은 당업자에게 자명하다. 예를 들어, 수신값을 저장한 복수의 메모리 뱅크를 제 2 구성 디코더의 각 윈도우가 동일한 단위 시간에 접속하는 경우, 인터리버는 기본 인터리버 개념을 이용하여 연속적인 길이를 가지면서도 충돌 없는 인터리버를 구현할 수 있으며, 이로 인하여 디코딩 단에서 발생할 수 있는 경합 문제는 판독이 생략된 수신값을 판독할 때, 1 단위 시간만큼 지연을 줌으로써 해결할 수 있다.Meanwhile, the method according to the embodiment of the present invention described above with reference to FIGS. 8 and 9 decodes the auxiliary information stored after the first component decoder performs the decoding operation and the second component decoder reads the interleaving information after interleaving. Although the description has been made with respect to the process used for the calculation, it will be apparent to those skilled in the art that the decoding method may be equally applied to the second component decoder to read the reception value R x and calculate the branch metric through the decoding operation. For example, when a plurality of memory banks storing received values are connected to each window of the second component decoder at the same unit time, the interleaver may implement a collision-free interleaver with a continuous length using a basic interleaver concept. As a result, a contention problem that may occur in the decoding stage may be solved by giving a delay of 1 unit time when reading a reception value in which reading is omitted.

상술한 바와 같이 개시된 본 발명의 바람직한 실시형태에 대한 상세한 설명은 당업자가 본 발명을 구현하고 실시할 수 있도록 제공되었다. 상기에서는 본 발명의 바람직한 실시 형태를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다. 따라서, 본 발명은 여기에 나타난 실시형태들에 제한되려는 것이 아니라, 여기서 개시된 원리들 및 신규한 특징들과 일치하는 최광의 범위를 부여하려는 것이다. 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, it is possible to encode a sequence of consecutive lengths using the basic interleaver concept while maintaining a parallel decoding method through an interleaver without contention in turbo decoding.

또한, 이러한 인터리버를 디코딩측에 단순하게 적용하여 병렬 디코딩을 수행하는 경우 발생할 수 있는 메모리 뱅크 접속 경합 문제를 기본 인터리버 개념에서 출력이 생략되는 정보를 판독하는 경우, 1 단위 시간만큼 지연시켜 판독을 진행함으로써 회피할 수 있다.In addition, when reading the information in which the output is omitted in the basic interleaver concept, the memory bank connection contention problem that may occur when the interleaver is simply applied to the decoding side and the parallel decoding is performed is delayed by one unit of time. This can be avoided.

Claims (10)

삭제delete 삭제delete 삭제delete 원본 시퀀스의 길이와 병렬 디코딩에 이용되는 윈도우 개수의 배수 길이를 가지도록 미리 설정된 기본 인터리버 세트 중 선택된 기본 인터리버의 길이와의 차 이에 해당하는 길이의 원본 시퀀스 인덱스에 더미(dummy) 정보를 삽입하는 단계;Inserting dummy information into an original sequence index of a length corresponding to a difference between a length of an original sequence and a length of a selected base interleaver among preset basic interleaver sets having a multiple of the number of windows used for parallel decoding; ; 상기 더미 정보가 삽입된 상기 선택된 기본 인터리버 길이의 시퀀스를 인터리빙하는 단계; 및Interleaving the selected sequence of basic interleaver lengths into which the dummy information is inserted; And 상기 인터리빙된 시퀀스 인덱스 중 상기 더미 정보가 삽입되지 않은 인덱스를 출력하는 단계를 포함하는, 인터리빙 방법.And outputting an index in which the dummy information is not inserted among the interleaved sequence indexes. 제 4 항에 있어서,5. The method of claim 4, 상기 선택된 기본 인터리버는 상기 윈도우 개수의 배수 중 상기 원본 시퀀스의 길이 이상의 최소 배수 길이를 가지는, 인터리빙 방법.And the selected basic interleaver has a minimum multiple length greater than a length of the original sequence among multiples of the window number. 제 4 항 또는 제 5 항에 있어서,The method according to claim 4 or 5, 상기 더미 정보 삽입 단계에서, 상기 더미 정보는 상기 원본 시퀀스의 인덱스 중 상기 선택된 기본 인터리버의 길이 이상의 인덱스에 삽입되며,In the dummy information inserting step, the dummy information is inserted into an index equal to or greater than the length of the selected basic interleaver among the indices of the original sequence, 상기 인덱스 출력 단계에서, 출력되는 상기 인터리빙된 시퀀스 인덱스는 상기 선택된 기본 인터리버의 길이 이상의 원본 시퀀스 인덱스에 대응하는 인덱스를 제외한 인덱스인, 인터리빙 방법.And in the index outputting step, the interleaved sequence index to be output is an index excluding an index corresponding to an original sequence index equal to or greater than the length of the selected basic interleaver. 제 4 항 또는 제 5 항에 있어서,The method according to claim 4 or 5, 상기 더미 정보 삽입 단계에서, 상기 더미 정보는 상기 원본 시퀀스의 인덱스 중 상기 원본 시퀀스의 길이와 상기 선택된 기본 인터리버의 길이의 차이에 해 당하는 길이만큼 임의로 선택된 인덱스에 삽입되며,In the dummy information inserting step, the dummy information is inserted into an index arbitrarily selected by a length corresponding to a difference between the length of the original sequence and the length of the selected basic interleaver among the indexes of the original sequence, 상기 인덱스 출력 단계에서, 출력되는 상기 인터리빙된 시퀀스 인덱스는 상기 더미 정보 삽입 단계에서 선택된 상기 원본 시퀀스 인덱스에 대응하는 인덱스를 제외한 인덱스이며,In the index output step, the output interleaved sequence index is an index excluding an index corresponding to the original sequence index selected in the dummy information insertion step, 상기 인덱스 출력 단계 이후, 상기 출력된 시퀀스의 인덱스를 상기 더미 정보 삽입 전 원본 시퀀스의 인덱스에 따라 맵핑하는 단계를 더 포함하는, 인터리빙 방법.And after the index output step, mapping the index of the output sequence according to the index of the original sequence before inserting the dummy information. 원본 시퀀스의 길이와 미리 설정된 기본 인터리버 세트 중 선택된 기본 인터리버의 길이와의 차이에 해당하는 길이의 원본 시퀀스 인덱스에 더미(dummy) 정보를 삽입하는 단계;Inserting dummy information into an original sequence index having a length corresponding to a difference between a length of an original sequence and a length of a selected basic interleaver among a preset basic interleaver set; 상기 더미 정보가 삽입된 상기 선택된 기본 인터리버 길이의 시퀀스를 인터리빙하는 단계; 및Interleaving the selected sequence of basic interleaver lengths into which the dummy information is inserted; And 상기 인터리빙된 시퀀스 인덱스 중 상기 더미 정보가 삽입되지 않은 인덱스를 판독하여 디코딩 연산을 수행하는 단계를 포함하며,Performing a decoding operation by reading an index in which the dummy information is not inserted among the interleaved sequence indexes, 상기 디코딩 연산을 수행하는 단계에서, 상기 더미 정보가 삽입된 인덱스를 판독하는 경우, 1 단위 시간(time insatance) 동안 지연시켜 판독하는, 디코딩 방법.In the step of performing the decoding operation, when reading the index into which the dummy information is inserted, delaying and reading the index information for one unit of time. 제 8 항에 있어서,9. The method of claim 8, 상기 기본 인터리버 세트는 병렬 디코딩에 이용되는 윈도우 개수의 배수 길이를 가지도록 설정되며,The basic interleaver set is set to have a multiple length of the number of windows used for parallel decoding. 상기 디코딩 연산을 수행하는 단계는 구성 디코더에 포함된 복수의 윈도우에 의해 병렬로 디코딩 연산을 수행하는, 디코딩 방법.The performing of the decoding operation comprises performing the decoding operation in parallel by a plurality of windows included in the component decoder. 제 8 항 또는 제 9 항에 있어서,10. The method according to claim 8 or 9, 상기 원본 시퀀스는 복수의 메모리 뱅크에 분할 저장된 시퀀스인, 디코딩 방법.And the original sequence is a sequence divided and stored in a plurality of memory banks.
KR1020060105881A 2006-10-30 2006-10-30 Method For Providing Interleaver, Method For Interleaving, Both With Continuous Length, And Method For Decoding Using The Same KR101276829B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060105881A KR101276829B1 (en) 2006-10-30 2006-10-30 Method For Providing Interleaver, Method For Interleaving, Both With Continuous Length, And Method For Decoding Using The Same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060105881A KR101276829B1 (en) 2006-10-30 2006-10-30 Method For Providing Interleaver, Method For Interleaving, Both With Continuous Length, And Method For Decoding Using The Same

Publications (2)

Publication Number Publication Date
KR20080038682A KR20080038682A (en) 2008-05-07
KR101276829B1 true KR101276829B1 (en) 2013-06-18

Family

ID=39647105

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060105881A KR101276829B1 (en) 2006-10-30 2006-10-30 Method For Providing Interleaver, Method For Interleaving, Both With Continuous Length, And Method For Decoding Using The Same

Country Status (1)

Country Link
KR (1) KR101276829B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8171384B2 (en) 2008-06-27 2012-05-01 Freescale Semiconductor, Inc. Device having turbo decoding capabilities and a method for turbo decoding

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11191757A (en) * 1997-12-25 1999-07-13 Matsushita Electric Ind Co Ltd Method and device for transmitting digital signal
KR20010015765A (en) * 1998-08-17 2001-02-26 마이클 더블유.세일즈 Turbo code interleaver with near optimal performance
JP2002261626A (en) 2000-12-27 2002-09-13 Matsushita Electric Ind Co Ltd INTERLEAVE CIRCUIT, REVERSE INTERLEAVE CIRCUIT AND xDSL MODEM
US20030070138A1 (en) 2001-09-28 2003-04-10 Francis Chow Convolutional interleaving with interleave depth larger than codeword size

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11191757A (en) * 1997-12-25 1999-07-13 Matsushita Electric Ind Co Ltd Method and device for transmitting digital signal
KR20010015765A (en) * 1998-08-17 2001-02-26 마이클 더블유.세일즈 Turbo code interleaver with near optimal performance
JP2002261626A (en) 2000-12-27 2002-09-13 Matsushita Electric Ind Co Ltd INTERLEAVE CIRCUIT, REVERSE INTERLEAVE CIRCUIT AND xDSL MODEM
US20030070138A1 (en) 2001-09-28 2003-04-10 Francis Chow Convolutional interleaving with interleave depth larger than codeword size

Also Published As

Publication number Publication date
KR20080038682A (en) 2008-05-07

Similar Documents

Publication Publication Date Title
JP6858857B2 (en) Receiver and decryption method
US7765459B2 (en) Viterbi decoder and viterbi decoding method
US6621873B1 (en) Puncturing device and method for turbo encoder in mobile communication system
US7246294B2 (en) Method for iterative hard-decision forward error correction decoding
JP2002009633A (en) Decoding circuit and decoding method, and coding circuit and coding method
AU2003256099B2 (en) Turbo decoding apparatus and method
US7231575B2 (en) Apparatus for iterative hard-decision forward error correction decoding
KR20040045221A (en) Input control method and apparatus for turbo decoder
US7970021B2 (en) Derate matching method and apparatus
US20130007568A1 (en) Error correcting code decoding device, error correcting code decoding method and error correcting code decoding program
KR20090044178A (en) Method and apparatus for paraller structured latin square interleaving in communication system
KR101276829B1 (en) Method For Providing Interleaver, Method For Interleaving, Both With Continuous Length, And Method For Decoding Using The Same
KR100628201B1 (en) Method for Turbo Decoding
WO2007021057A1 (en) Viterbi decoder and method thereof
US8136006B2 (en) Turbo decoding apparatus and method
KR100912600B1 (en) Tail-biting turbo code for arbitrary number of information bits
US7725798B2 (en) Method for recovering information from channel-coded data streams
EP2688211A1 (en) Interleaving and de-interleaving method, interleaver and de-interleaver
JP2008099145A (en) Turbo decoder
KR101233175B1 (en) Method For Encoding And Decoding Turbo Code With Continuous Length
US8091012B2 (en) System and method for decreasing decoder complexity
JP2872004B2 (en) Digital communication system
JP4692751B2 (en) Turbo decoder and communication system including the same
WO2016165395A1 (en) Decoding method and decoder
KR100845829B1 (en) Turbo decoder and decoding method

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: 20160524

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee