KR100330234B1 - Turbo interleaving apparatus and method - Google Patents

Turbo interleaving apparatus and method Download PDF

Info

Publication number
KR100330234B1
KR100330234B1 KR1020000027143A KR20000027143A KR100330234B1 KR 100330234 B1 KR100330234 B1 KR 100330234B1 KR 1020000027143 A KR1020000027143 A KR 1020000027143A KR 20000027143 A KR20000027143 A KR 20000027143A KR 100330234 B1 KR100330234 B1 KR 100330234B1
Authority
KR
South Korea
Prior art keywords
weight
pos
information bits
last
interleaver
Prior art date
Application number
KR1020000027143A
Other languages
Korean (ko)
Other versions
KR20000077350A (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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=27349974&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR100330234(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by 윤종용, 삼성전자 주식회사 filed Critical 윤종용
Priority to KR1020000027143A priority Critical patent/KR100330234B1/en
Publication of KR20000077350A publication Critical patent/KR20000077350A/en
Application granted granted Critical
Publication of KR100330234B1 publication Critical patent/KR100330234B1/en

Links

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

Abstract

본 발명에 따른, 2차원 인터리빙 방법에 있어서, 입력 프레임의 정보비트들을 복수의 그룹들로 구분하고, 상기 그룹들을 순차로 메모리에 저장하는 과정과, 상기 그룹의 정보비트들을 주어진 규칙에 따라 위치를 변경하고, 상기 그룹들중 적어도 마지막 그룹의 마지막 위치에 있는 정보비트는 상기 마지막 위치보다 앞선 위치로 옮기는 과정과, 상기 그룹들을 미리 정해진 순서에 따라 선택하고, 상기 선택된 그룹의 정보비트들중 하나의 정보비트를 선택하는 과정을 포함하는 것을 특징으로 한다.In the two-dimensional interleaving method according to the present invention, a process of dividing information bits of an input frame into a plurality of groups, sequentially storing the groups in a memory, and positioning the information bits of the groups according to a given rule. And changing the information bits at the last position of at least the last group of the groups to a position earlier than the last position, selecting the groups in a predetermined order, and selecting one of the information bits of the selected group. And selecting an information bit.

Description

터보 인터리빙 장치 및 방법{TURBO INTERLEAVING APPARATUS AND METHOD}Turbo interleaving apparatus and method {TURBO INTERLEAVING APPARATUS AND METHOD}

본 발명은 무선통신시스템(위성시스템, ISDN, Digital cellular, W-CDMA, IMT-2000)에서 사용되는 터보 부호기(Turbo encoder)에 관한 것으로, 특히 터보 부호기의 내부 인터리버에 관한 것이다.The present invention relates to a turbo encoder used in a wireless communication system (satellite system, ISDN, digital cellular, W-CDMA, IMT-2000), and more particularly, to an internal interleaver of a turbo encoder.

일반적으로, 상기 Turbo encoder 에서 사용되는 인터리버는 부호기에 입력되는 정보의 어드레스를 랜덤화(randomization)하고 코드워드(Code word)의 디스턴스 성질(distance property )를 개선시키고자 사용된다. 특히 최근에 매우 많은 관심을 모으고 있는 IMT-2000 (CDMA2000) 및 IS-95C의 Air interface 에서 데이터 전송채널(data transmission channel)로서 사용되는 부가채널(Supplemental channel )과 ETSI에서 추진 중인 UMTS의 데이터 채널에서 터보 코드(Turbo code)의 사용이 확정되었으며 이를 위한 인터리버의 구체적 구현방식이 절실히 요구되고 있다. 또한 이 분야는 디지탈 통신시스템의 신뢰도 향상에 광범위하게 관련되는 오류정정부호와 연관된 분야로서, 기존의 디지탈 통신시스템의 성능개선 분야와 향후 결정되는 차세대 시스템의 성능을 개선시키는 방식에 관한 기술분야이다.In general, an interleaver used in the turbo encoder is used to randomize an address of information input to an encoder and to improve a distance property of a code word. Especially in the supplementary channel used as a data transmission channel in the air interface of IMT-2000 (CDMA2000) and IS-95C, which has been attracting much attention recently, and in the UMTS data channel being promoted by ETSI. The use of turbo code has been confirmed, and a specific implementation method of the interleaver is urgently required. In addition, this field is related to error correction codes that are widely related to improving reliability of digital communication systems, and is a technical field of improving performance of existing digital communication systems and methods of improving performance of next-generation systems determined in the future.

기존에 터보 코더(TURBO coder)를 위한 내부 인터리버(internal interleaver ; 이하 터보 인터리버 or 터보 인터리빙 장치라 칭함)로서 PN random interleaver,Random interleaver , Block interleaver , Non linear interleaver , S-Random interleaver 등 다양한 방식이 제안되었다. 그러나 이러한 인터리버들은 아직까지 구현의 관점보다는 학문적인 연구분야로서 성능개선에 주안점을 두고 설계된 알고리즘들로 볼 수 있다. 따라서 실제 시스템의 구현을 고려할 때 하드웨어 구현의 복잡도(H/W implementation complexity )라는 면에서 재고가 필요한 방식들이다.Conventionally, various methods such as PN random interleaver, random interleaver, block interleaver, non linear interleaver, S-Random interleaver are proposed as an internal interleaver (Turbo coder). It became. However, these interleavers can be viewed as algorithms designed with the focus on performance improvement as an academic research field rather than an implementation perspective. Therefore, considering the implementation of the actual system, these methods need to be reconsidered in terms of hardware implementation complexity (H / W implementation complexity).

이하 터보 인터리버에 요구되는 성질과 종래의 터보 인터리버들의 문제점을 설명한다.Hereinafter, the properties required for the turbo interleaver and the problems of the conventional turbo interleaver will be described.

터보 코더는 기본적으로 내부 인터리버의 역할에 의해서 성능이 좌우된다. 일반적으로 주어진 설계 스팩(design specification) 하에서 최적의 성능을 보장하는 인터리버의 설계는 인터리버 크기(size)의 증가에 따라 요구되는 계산량이 기하급수적으로 증가하기 때문에 실제 구현 불가능하며, 따라서 실제 구현을 위해서는 일반적으로 몇 가지 기준을 마련하고 그 기준을 최대한 만족시키는 실험 방식으로 구현하게 된다.Turbo coders are basically performance dependent on the role of the internal interleaver. In general, the design of an interleaver that guarantees optimal performance under a given design specification is not practical because the required amount of computation increases exponentially with increasing interleaver size. As a result, several criteria are prepared and implemented in an experimental manner that satisfies the criteria as much as possible.

상기 기준이 되는 특성들은 다음과 같다.The above characteristics are as follows.

- 거리 성질(Distance property ): 인접한 코드 워드 심볼(code word symbol )들간의 거리를 어느 정도 이상 유지해야 한다. 이것은 길쌈 부호(Convolutional code)의 코드워드 디스턴스 성질(code word distance property )과 동일한 역할을 하며 이를 나타내는 척도로 Trellis (격자도) 상에서 출력되는 부호심볼 시퀀스(혹은 부호어 경로) 중에서 가장 작은 해밍 웨이트(Hamming weight)를 가지는 부호어 경로 혹은 부호어 시퀀스의 값인 최소 자유 거리(minimum free distance )를 사용한다. 일반적으로 동일한 조건에서 가급적 자유거리(free distance )가 크도록 설계하는 것이 보다 나은 성능을 보장한다.Distance property: The distance between adjacent code word symbols must be maintained to some extent. This plays the same role as the code word distance property of convolutional code and is the smallest Hamming weight among the code symbol sequences (or codeword paths) output on Trellis. A minimum free distance, which is a value of a codeword path or a sequence of codewords with a hamming weight, is used. In general, designing for as much free distance as possible under the same conditions ensures better performance.

- 랜덤 성질(Random property): 인터리빙 이전의 원래 입력 워드 심볼(original input word symbol)들간의 상관율(correlation factor)에 비하여 인터리빙 이후의 출력 워드 심볼(output word symbol )들간의 상관율이 매우 낮아야 한다. 즉, 출력 워드 심볼들 간에 랜덤화(randomization)가 충실히 이루어져야 한다. 이는 반복 복호(Iterative decoding )에서 발생되는 외부정보(Extrinsic information )의 품질(quality)에 직접적인 영향을 주는 요인이다.Random property: The correlation between output word symbols after interleaving must be very low compared to the correlation factor between the original input word symbols before interleaving. . That is, randomization must be faithfully performed between output word symbols. This is a factor that directly affects the quality of extrinsic information generated in iterative decoding.

상술한 두 가지 설계 기준은 일반적으로 생각되는 터보 인터리버의 역할이지만, 이 또한 인터리버의 크기가 커질수록 그 성질을 명확하게 분석하기는 쉽지 않다.The above two design criteria are the role of the turbo interleaver generally considered, but it is also difficult to clearly analyze the properties as the size of the interleaver increases.

또한, 터보 인터리버를 설계할 때 발생되는 다른 문제점의 하나는 입력정보어의 형태에 따라 터보 코드의 최소 자유거리가 변화한다는 점이다. 즉, 입력 정보어가 특정형태의 시퀀스로 주어지는 경우(이를 Critical information sequence pattern (임계 정보어 시퀀스 패턴)이라고 정의하며 앞으로 CISP로 칭한다) Turbo encoder에서 발생되는 출력 부호심볼의 자유거리(free distance )가 매우 작은 값을 가지게 된다. 이러한 CISP 는 입력정보어의 해밍워이트(Hamming weight)가 2인 경우 즉, 입력정보어의 정보비트들중 '1'의 수가 두 개인 경우부터 발생하며, 3, 4, 5, ..인 경우에서도 발생 가능하다. 그러나 대부분의 경우 정보비트 '1'의 개수가 2인 경우가 최소 자유 거리(minimum free distance )를 형성하며 오류사건의대부분을 이루고 있으므로, 일반적으로 터보 인터리버 설계시 입력정보어의 해밍 웨이트(Hamming weight)가 2인 경우를 분석한다. 이러한 CISP 가 존재하는 이유는 일반적으로 Turbo encoder는 첨부된 도면 도 1에 도시된 바와 같이 두개의 혹은 그 이상의 구성부호기(Component encoder )에 RSC(recursive systematic convolutional codes) 부호기를 반복적으로 사용하기 때문이다. 보통 Trubo encoder 의 성능을 향상시키기 위해서는 상기 구성부호기의 생성다항식 중에서 궤환(Feedback )을 이루고 있는 궤환 다항식(Feedback polynomial , 상기 도 1에서 gf(x))으로 원시 다항식(Primitive polynomial )을 사용하여야 한다. 따라서 RSC encoder의 메모리의 수가 m인 경우 상기 궤환 다항식에 의해서 발생되는 궤환 시퀀스는 2m-1의 주기를 가지고 계속해서 동일한 패턴을 반복한다. 따라서 만약 이주기에 해당되는 순간에 입력 정보어 '1'이 입력된다면 이후로 모든 시간에서 RSC encoder 의 상태는 항상 동일한 정보비트의 배타적 논리합(Exclusive- OR)이 되어 결국 All zero state 가 되며 출력 심볼은 모두 '0' 심볼이 발생된다. 이것은 상기 RSC 에 의해서 생성되는 부호어의 해밍 웨이트(Hamming weight)가 이사건 이후로는 계속해서 변함 없이 항상 일정한 값을 가지는 것을 의미한다. 즉, Turbo code 의 자유거리는 이시점 이후로 증가하지 않고 일정하게 유지되는 것을 의미하며 이러한 CISP 가 Turbo encoder 의 자유거리를 감소시키는 가장 큰 원인이다.In addition, one of the problems caused when designing the turbo interleaver is that the minimum free distance of the turbo code varies according to the type of the input information word. In other words, if the input information word is given as a specific type of sequence (this is called a critical information sequence pattern and will be referred to as CISP in the future), the free distance of the output code symbol generated by the turbo encoder is very high. It will have a small value. This CISP occurs when the Hamming weight of the input information word is 2, that is, when the number of '1' of the information bits of the input information word is two, and is 3, 4, 5, .. It can also occur in. However, in most cases, when the number of information bits '1' is 2, it forms the minimum free distance and forms most of the error events. Therefore, in the design of turbo interleaver, the hamming weight of the input information word is generally used. Analyze the case where 2). The reason why such a CISP exists is that a Turbo encoder generally uses a recursive systematic convolutional codes (RSC) coder on two or more component encoders as shown in FIG. 1. In order to improve the performance of the Trubo encoder, a primitive polynomial must be used as a feedback polynomial (gf (x) in FIG. 1) forming a feedback among the generated polynomials of the constituent encoder. Therefore, when the number of memories of the RSC encoder is m, the feedback sequence generated by the feedback polynomial repeats the same pattern continuously with a period of 2 m −1. Therefore, if the input information word '1' is input at the instant of migration, the state of RSC encoder will always be Exclusive-OR of the same information bit at all times and eventually become all zero state. All zeros are generated. This means that the Hamming weight of the codeword generated by the RSC always has a constant value unchanged since the event. In other words, the free distance of Turbo code is not increased after this point and it is kept constant. This CISP is the biggest cause of reducing the free distance of Turbo encoder.

따라서 종래의 인터리버는 자유거리를 증가시키기 위하여 CISP 입력정보어를 터보 인터리버를 통하여 랜덤하게 분산시켜서 다른 component RSC encoder 의 출력심볼에서는 이전의 Encoder 에서와 같은 free distance 가 감소하는 현상을 억제시켰다.Therefore, in order to increase the free distance, the conventional interleaver randomly distributes the CISP input information word through the turbo interleaver to suppress the phenomenon that the free distance is reduced in the output symbols of other component RSC encoders as in the previous encoder.

지금까지 언급한 터보 인터리버의 성질들은 터보 인터리버가 지녀야 하는 기본적인 특성들이다. 그러나 종래에 있어, 문제점은 상기한 CISP의 경우 입력정보어의 해밍웨이트가 2인 경우가 최소 정보어 해밍 웨이트로 생각했다는 점이다. 다시말해, Turbo encoder에 입력되는 정보어가 프레임으로 구성되는 블록형태를 가지는 경우 CISP의 발생은 입력정보어의 해밍웨이트가 1(즉, 입력정보어의 정보비트들중 '1'의 개수가 1인경우)이더라도 발생이 가능하다는 사실을 간과하였다는 것이다.The properties of the turbo interleaver mentioned so far are the basic characteristics of the turbo interleaver. However, conventionally, the problem is that in the case of the CISP described above, the hamming weight of the input information word is 2 as the minimum information word hamming weight. In other words, when the information word inputted to the turbo encoder has a block form consisting of frames, the generation of CISP occurs when the Hamming weight of the input information word is 1 (that is, the number of '1' of the information bits of the input information word is 1). It is possible to overlook the fact that it can occur even if

예를 들어, 현재 UMTS 표준으로 Turbo code interleaver의 working model으로 지정된 Prime Interleaver (PIL;프라임 인터리버)의 경우 이러한 문제점을 내재하고 있으며 이로 인하여 자유거리 성능상의 결함을 보이고 있다. 즉, PIL 터보 인터리버 의 구현 알고리즘을 보면 전체가 3 Stages 로 구분되며 이 중 Second Stage 가 전체 구성요소 중에서 가장 중요한 역할을 하는 각 그룹의 정보비트들의 random permutation을 담당하고 있다. 이 Second stage는 다시 Case A, B, C의 3가지로 구분되며 이중 Case B의 경우가 바로 상기한 입력정보어 해밍웨이트가 1인 사건에 의해서 자유거리가 감소하는 경우를 항상 포함하게 된다. 또한 Case C의 경우에도 이러한 사건이 발생할 가능성을 내재하고 있다. 자세한 문제점은 이하 설명되는 PIL의 설명에서 상세히 설명하기로 한다.For example, the Prime Interleaver (PIL; Prime Interleaver), which is currently designated as the working model of the Turbo code interleaver according to the UMTS standard, has this problem, and thus shows a defect in free distance performance. In other words, the implementation algorithm of the PIL turbo interleaver is divided into three stages, and the second stage is responsible for random permutation of information bits of each group that plays the most important role among the components. The second stage is further divided into three cases, A, B, and C, and case B always includes the case where the free distance decreases due to the incident of the input information word Hamming weight 1. Case C also has the potential for such events to occur. The detailed problem will be explained in detail in the description of the PIL described below.

이상의 내용을 종합해 볼 때 UMTS 나 IMT2000과 같은 다양한 인터리버 크기가 요구되고 H/W 구현의 복잡성이 제한 받는 경우의 터보 인터리버를 구현하기 위해서는 이러한 제한적 여건들을 고려한 상태에서 최적의 인터리버 성능이 보장되도록 설계되어야 한다. 즉 요구되는 인터리버는 다양한 인터리버 사이즈에 대해서 위에서 제시한 성질들을 만족하면서 일반적으로 균등한 성능을 보장할 수 있어야 한다. 최근에 UMTS 의 PCCC(parallel concatenated convolutional codes) 터보 인터리버 로서 여러 종류의 인터리버가 제안되고 있으며 IMT-2000 (cdma2000) specification 및 IS-95C specification 에서는 터보 인터리버 로서 LCS 터보 인터리버 (Linear congruential sequence turbo interleaver)가 잠정적으로 터보 인터리버 사양으로 결정되었다. 그러나 이들 터보 인터리버의 대부분이 앞서 제기한 해밍웨이트 1인 CISP 의 문제점을 보유하고 있으며 이를 개선하는 방안이 요구되고 있으나 아직까지 구체적인 구현방식이 정의되지 않은 실정이다. 따라서 본 발명에서는 이러한 터보 인터리버 의 문제점을 해결하고 이를 구현하기 위한 일반적인 방안들을 제안한다. 또한 구체적인 예로서 UMTS 터보 인터리버 working assumption 인 PIL interleaver 의 예를 보이고 이 인터리버에 문제점을 개선하기 위한 실시 예를 설명한다.In summary, the turbo interleaver is designed to ensure optimal interleaver performance under these limitations in order to implement the turbo interleaver when various interleaver sizes such as UMTS or IMT2000 are required and the H / W implementation complexity is limited. Should be. In other words, the required interleaver should satisfy the above-mentioned properties for various interleaver sizes and generally guarantee equal performance. Recently, various types of interleavers have been proposed as the UMTS parallel concatenated convolutional codes (PCCC) turbo interleaver.In the IMT-2000 (cdma2000) specification and the IS-95C specification, the LCS turbo interleaver (Linear congruential sequence turbo interleaver) is tentatively proposed. As determined by the turbo interleaver specification. However, most of these turbo interleavers have the problem of CISP, Hamming Weight 1, which is raised above, and there is a need for improvement. However, the specific implementation is not defined yet. Therefore, the present invention solves the problems of the turbo interleaver and proposes general methods for implementing the same. As a concrete example, an example of the PIL interleaver, which is a UMTS turbo interleaver working assumption, will be described, and an embodiment for improving the interleaver problem will be described.

이하 앞서 언급한 종래기술의 문제점들을 요약하면 다음과 같다.Hereinafter, the above-mentioned problems of the prior art are summarized.

1. 기존의 TURBO code를 위한 내부 인터리버의 설계기준에서 사용되는 입력정보어의 형태에 따른 CISP의 결정에서 프레임사이즈에 구속되는 경우를 고려하지 않고 무한한 프레임 사이즈를 간주한 상태 혹은 이런 사실을 규명하지 않은 상태에서 입력정보어의 Hamming weight 가 2인 CISP를 기준으로 터보 인터리버가 설계되었다. 그러나 실제 시스템에서 프레임은 유한한 사이즈를 가지므로 이로 인한Turbo code의 free distance를 감소시키는 문제점을 가진다.1. In the determination of CISP according to the type of input information word used in the internal interleaver design criteria for the existing TURBO code, the state of infinite frame size is considered or not considered without considering the case of being constrained by the frame size. Turbo interleaver was designed based on CISP with Hamming weight of input information word in the non-active state. However, in real systems, frames have a finite size, which reduces the free distance of the Turbo code.

2. 기존의 터보 인터리버 설계에서는 입력정보어의 Hamming weight 가 1인 것을 고려하지 않았다. 다시말해, 유한한 프레임 사이즈를 가지는 경우에 PCCC Turbo encoder 에서 발생되는 최소 자유거리가 이 Hamming weight가 1인 CISP에 의해서 결정되는 것을 고려하여 터보 인터리버 design rule 이 결정되어야 하나 현재까지의 터보 인터리버들에서는 이러한 사실이 충분히 고려되고 있지 않다.2. The existing turbo interleaver design does not consider the Hamming weight of input information word to be 1. In other words, the turbo interleaver design rule should be determined considering that the minimum free distance generated by the PCCC Turbo encoder in the case of a finite frame size is determined by the CISP whose Hamming weight is 1, but in turbo interleavers up to now, This fact is not fully considered.

3. 현재 UMTS 표준안 중에서 Turbo code interleaver의 working assumption으로 지정된 Prime Interleaver (PIL)의 경우 이러한 문제점을 내재하고 있으며 이로 인하여 자유거리 성능상의 결함을 보이고 있다.3. The Prime Interleaver (PIL), which is designated as the working assumption of the Turbo code interleaver in the UMTS standard, has this problem and shows a defect in free distance performance.

따라서 본 발명의 목적은 터보 인터리버를 설계함에 있어 터보 인터리버가 지녀야 하는 성질들을 분석하고 이전의 고려되지 않은 임계 정보어 시퀀스 패턴(CISP)의 성질에 관해서 분석하여 이를 근거로 터보 인터리버의 성능을 개선시킬 수 있는 인터리빙 장치 및 방법을 제공함에 있다.Accordingly, an object of the present invention is to analyze the properties of the turbo interleaver in designing the turbo interleaver, and to analyze the properties of the previously unconsidered critical information word sequence pattern (CISP) to improve the performance of the turbo interleaver. An interleaving apparatus and method can be provided.

본 발명의 다른 목적은 터보부호기에 입력되는 정보어가 프레임으로 구성되는 블록형태를 가지는 경우 입력정보어의 해밍웨이트가 1인 경우 터보코드의 자유거리(free distance)의 성능을 향상시킬수 있는 인터리빙 장치 및 방법을 제공함에 있다.Another object of the present invention is to provide an interleaving apparatus capable of improving the performance of the free distance of the turbo code when the hamming weight of the input information word when the information word input to the turbo encoder has a block form consisting of a frame and In providing a method.

본 발명의 또 다른 목적은 현재 UMTS에 제안되어 있는 터보 인터리빙 장치인PIL에서 입력정보어의 해밍웨이트가 '1'인 경우 최소 자유거리가 감소되는 문제점을 해결할수 있는 인터리빙 장치 및 방법을 제공함에 있다.It is still another object of the present invention to provide an interleaving apparatus and method capable of solving the problem of reducing the minimum free distance when a Hamming weight of an input information word is '1' in a PIL, a turbo interleaving apparatus currently proposed in UMTS. .

상기 목적들을 달성하기 위한, 2차원 인터리빙 방법에 있어서, 입력 프레임의 정보비트들을 복수의 그룹들로 구분하고, 상기 그룹들을 순차로 메모리에 저장하는 과정과, 상기 그룹의 정보비트들을 주어진 규칙에 따라 위치를 변경하고, 상기 그룹들중 적어도 마지막 그룹의 마지막 위치에 있는 정보비트는 상기 마지막 위치보다 앞선 위치로 옮기는 과정과, 상기 그룹들을 미리 정해진 순서에 따라 선택하고, 상기 선택된 그룹의 정보비트들중 하나의 정보비트를 선택하는 과정을 포함하는 것을 특징으로 한다.A two-dimensional interleaving method for achieving the above objects, comprising: dividing information bits of an input frame into a plurality of groups, sequentially storing the groups in a memory, and storing the information bits of the groups according to a given rule. Changing positions, and moving the information bits at the last position of at least the last group of the groups to a position before the last position, selecting the groups in a predetermined order, and selecting among the information bits of the selected group. And selecting a single information bit.

도 1은 일반적인 병렬 터보부호기의 블록 구성도.1 is a block diagram of a general parallel turbo encoder.

도 2는 일반적인 인터리버 구조를 도시하는 도면.2 illustrates a general interleaver structure.

도 3은 일반적인 디인터리버의 구조를 도시하는 도면.3 is a diagram illustrating a structure of a general deinterleaver.

도 4는 터보 인터리빙에서 CISP(Critical Information Sequence Pattern)의 발생 일예를 설명하는 도면.4 is a view for explaining an example of occurrence of a critical information sequence pattern (CISP) in turbo interleaving.

도 5는 터보 인터리빙에서 CISP의 발생의 다른 예를 설명하는 도면.5 illustrates another example of generation of CISP in turbo interleaving.

도 6은 상기 도 2의 CISP의 발생예를 해결하기 위한 방안을 설명하는 도면.FIG. 6 is a diagram for explaining a method for solving the generation example of the CISP of FIG. 2; FIG.

도 7은 상기 도 3의 SISP의 발생예를 해결하기 위한 방안을 설명하는 도면.7 is a view for explaining a method for solving the generation example of the SISP of FIG.

도 8은 터보 인터리빙에서 또 다른 CISP의 발생예를 해결하기 위한 방안을 설명하는 도면.FIG. 8 is a diagram for explaining a scheme for solving another CISP generation example in turbo interleaving. FIG.

도 9는 2-dimensional 터보 인터리빙에서 CISP의 발생 예를 설명하는 도면.9 is a diagram for explaining an example of occurrence of CISP in 2-dimensional turbo interleaving.

도 10은 상기 도 7의 CISP의 발생예를 해결하기 위한 방안을 설명하는 도면.10 is a view for explaining a method for solving the generation example of the CISP of FIG.

도 11은 본 발명의 실시 예에 따른 CISP를 억제하기 위한 인터리빙 장치의 블록 구성도.11 is a block diagram of an interleaving apparatus for suppressing CISP according to an embodiment of the present invention.

도 12는 본 발명의 실시 예에 따른 수정된 PIL의 인터리빙 과정을 설명하는흐름도.12 is a flowchart illustrating an interleaving process of a modified PIL according to an embodiment of the present invention.

이하 본 발명의 바람직한 실시예를 첨부된 도면의 참조와 함께 상세히 설명한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.

우선, 본 발명의 설명에 앞서 기존의 터보 인터리버/디인터리버에서 사용되는 설계기준 중에서 입력정보어가 프레임단위로 처리되는 경우에 발생될 수 있는 문제점을 제시하고, 해밍 웨이트가 1인 경우의 CISP가 출력 부호심볼의 해밍 웨이트에 주는 영향을 분석한다. 다음으로 종래기술에서 언급한 문제점을 해결하기 위한 방식을 제안하고, 이에 따른 성능의 차이를 최소 자유거리 분석을 통하여 입증한다.First, prior to the description of the present invention, a problem that may occur when an input information word is processed in units of frames among design criteria used in a conventional turbo interleaver / deinterleaver is presented, and a CISP when the hamming weight is 1 is output. Analyze the effect on the Hamming weight of the code symbol. Next, we propose a method to solve the problems mentioned in the prior art, and demonstrate the difference in performance according to the minimum free distance analysis.

도 1은 일반적인 병렬 터보 부호기(Turbo encoder)의 구조를 도시한 도면으로, 터보부호에 대한 특허인 1995년 8월 29일 등록된 미합중국 특허(Patent Number: 5,446,747)에 자세히 개시되어 있다.FIG. 1 is a diagram illustrating a structure of a general parallel turbo encoder, which is disclosed in detail in a patent number US Pat. No. 5,446,747, issued on August 29, 1995, which is a patent for a turbo code.

상기 도 1과 같은 구성을 갖는 터보 부호기는 입력 프레임 데이터 열을 부호화하지 않고 출력하고, 상기 입력프레임을 부호화하여 출력하는 제1구성 부호기111와, 상기 입력 프레임 데이터 열을 인터리빙 하여 제2구성 부호기 113로 출력하는 인터리버(interleaver) 112 및 상기 인터리버의 출력을 입력하여 부호화하는 제2구성 부호기 113으로 구성된다. 여기서 상기 제1, 제2구성 부호기 112 및 113은 이미 기술 분야에서 잘 알려진 RSC(Recursive Systematic Convolutional)부호기를 사용하고 있다. RSC encoder를 이제부터 편의상 RSC1이라고 명칭하고 아래의 RSC encoder를 RSC2라고 명칭한다. 상기 인터리버 112는 입력되는 최대 프레임 크기와 동일한 메모리 크기를 가지며, 상기 제2구성 부호기 113에 입력되는 정보 비트의 입력 순서를 바꿈으로써 정보 비트들 사이의 상관(correlation)을 줄여주는 역할을 수행한다.The turbo encoder having the configuration as shown in FIG. 1 outputs the first frame encoder 111 without encoding the input frame data sequence, and encodes and outputs the input frame, and the second component encoder 113 by interleaving the input frame data sequence. It consists of an interleaver 112 for outputting with a second configuration encoder 113 for inputting and encoding the output of the interleaver. Here, the first and second constituent encoders 112 and 113 use a recursive systematic convolutional (RSC) encoder that is well known in the art. The RSC encoder is hereinafter referred to as RSC1 and the following RSC encoder is called RSC2. The interleaver 112 has a memory size equal to the maximum input frame size, and serves to reduce correlation between information bits by changing an input order of information bits input to the second component encoder 113.

도 2 및 도 3은 일반적인 인터리버 및 디인터리버의 기본 구성을 보여준다.2 and 3 show the basic configuration of a general interleaver and deinterleaver.

상기 도 2를 참조하여 제1구성부호기에서 출력되는 프레임 데이터를 인터리빙하기 위한 인터리버의 구성을 살펴보면, 어드레스 생성부(211)는 입력 프레임 데이터 크기 L 및 입력 클럭(clock)에 따라 데이타의 순서를 바꾸기 위한 독출 어드레스를 생성하여 인터리버 메모리(212)로 출력한다. 상기 인터리버 메모리(212)는 쓰기모드시 입력데이타를 순서대로 저장하고, 독출모드시 상기 어드레스 생성부(211)에서 제공되는 어드레스에 따라 데이터를 출력한다. 카운터(213)는 클럭(Clock)을 입력하며, 상기 인터리버 메모리(212)의 쓰기 어드레스(Write address)으로 출력한다. 상기한 바와 같이 상기 인터리버는 쓰기모드시 입력데이타를 인터리버 메모리(212)에 순서대로 저장하고, 독출모드시 상기 어드레스 생성부(211)에서 발생된 독출 어드레스에 따라 상기 인터리버 메모리(212)에 저장되어 있는 데이터를 출력한다. 다른 예로, 쓰기 모드시 미리 데이터의 순서를 바꿔 인터리버 메모리에 저장하고, 독출모드시 순서대로 데이터를 읽어 제2구성부호기로 출력할 수도 있다.Referring to FIG. 2, a configuration of an interleaver for interleaving frame data output from the first component encoder, the address generator 211 changes the order of data according to an input frame data size L and an input clock. A read address is generated for output to the interleaver memory 212. The interleaver memory 212 stores input data in order in the write mode, and outputs data according to the address provided by the address generator 211 in the read mode. The counter 213 inputs a clock and outputs the clock to the write address of the interleaver memory 212. As described above, the interleaver stores input data in order in the interleaver memory 212 in the write mode, and is stored in the interleaver memory 212 according to the read address generated by the address generator 211 in the read mode. Output the data. As another example, the data may be changed in the interleaver memory in the write mode in advance, and the data may be read out in order in the read mode and output to the second component encoder.

상기 도 3을 참조하여 디인터리버의 구성을 살펴보면, 어드레스 생성부(311)는 입력 프레이 데이터 크기 L, 및 입력클럭에 의하여 데이터의 순서를 원래로 복원하기 위한 쓰기 어드레스를 생성하여 디인터리버 메모리(312)에 제공한다. 상기 디인터리버 메모리(312)는 쓰기모드시 상기 어드레스 생성부(311)에서 제공되는 쓰기 어드레스(write ADDR)에 따라 입력데이타를 저장하고, 독출모드시 저장 데이터를 순서대로 출력한다. 카운터(313)는 클럭(Clock)을 입력하며, 상기 디인터리버 메모리(312)에서 데이터를 독출하기 위한 독출 어드레스(Read ADDR)를 상기 메모리(312)로 제공한다.Referring to FIG. 3, the deinterleaver memory 312 generates a write address for restoring the data order based on the input frame data size L and the input clock. To provide. The deinterleaver memory 312 stores input data according to the write address (write ADDR) provided by the address generator 311 in the write mode, and sequentially outputs the stored data in the read mode. The counter 313 inputs a clock and provides a read address (Read ADDR) for reading data from the deinterleaver memory 312 to the memory 312.

상술한 바와 같이, 상기 디인터리버는 인터리버의 역과정으로 구조상 모든 부분이 완전히 동일하며, 단지 독출/쓰기 모드에서 입력되는 데이터의 순서가 다를 뿐이다. 따라서 이하 설명은 인터리버를 위주로 설명할 것이다.As described above, the deinterleaver is a reverse process of the interleaver, and all parts of the deinterleaver are completely identical in structure, and only the order of data input in the read / write mode is different. Therefore, the following description will focus on the interleaver.

일반적으로, Turbo code는 선형블록부호이므로 입력정보어에 임의의 Non zero 정보어를 더한 새로운 정보어의 경우에도 부호어의 분포는 항상 동일한 성질을 가지게 되며, 따라서 all zero 정보어를 기준으로 성질을 전개하여도 Non zero 부호어를 사용하여 구한 성능결과와 항상 동일한 성능을 보이므로 이하 설명에서는 입력정보어가 All zero 부호어인 경우를 가지고 설명한다. 즉, 입력정보어가 모두 Zero 비트를 가지고 있음을 전제하고 여기에 임의의 정보비트가 '1'인 것을 가정하여 이때의 Turbo code 의 성능을 분석한다.In general, since Turbo code is a linear block code, even when a new information word is added to an input information word with a non-zero information word, the distribution of code words always has the same property. Even if it is expanded, it always shows the same performance as that obtained using the non zero codeword. Therefore, the following description will be given with the case where the input information word is an all zero codeword. That is, it analyzes the performance of Turbo code under the assumption that all input information words have zero bits and assumes that arbitrary information bits are '1'.

보통 Trubo encoder 의 성능을 향상시키기 위해서는 상기 구성부호기의 생성다항식 중에서 Feedback 을 이루고 있는 Feedback polynomial(상기 도 1에서 각 RSC component encoder(111,113)에서 궤환을 이루고 있는 Tapping 을 polynomial 로 표기한 것으로 이후로 gf(x)로 정의한다. 상기 도 1에서는 gf(x)=1+x2+x3으로 정의된다. 즉, 최고차수는 메모리의 깊이를 나타내며 가장 우측의 connection 여부가 gf(x)에서 x3의 계수가 0인가 1인가를 결정한다)로 원시다항식(Primitive polynomial)을 사용하여야 한다. 따라서 RSC encoder의 메모리의 수가 m인 경우 이 feedback polynomial에 의해서 발생되는 Feedback 시퀀스는 2m-1의 주기를 가지고 계속해서 동일한 패턴을 반복한다. 따라서 만약 이 주기에 해당되는 순간에 입력 정보어 '1'이 입력된다면(즉, m이 3이라 가정할 경우, 입력정보어가 10000001...입력되면) 이후로 모든 시간에서 RSC encoder의 상태는 항상 동일한 정보비트의 Exclusive-OR 가 되어 결국 항상 All zero state 가 되며 출력 심볼은 모두 '0' 심볼이 발생된다. 이것은 RSC에 의해서 생성되는 부호어의 Hamming weight가 이 사건 이후로는 계속해서 변함없이 항상 일정한 값을 가지는 것을 의미한다. 즉,Turbo code의 자유거리는 이 시점 이후로 증가하지 않고 일정하게 유지되는 것을 의미하며 이러한 CISP가 Turbo encoder 의 자유거리 를 감소시키는 가장 큰 원인이다.In order to improve the performance of the Trubo encoder, a feedback polynomial (feedback feedback from the RSC component encoders 111 and 113 shown in FIG. 1) that forms a feedback among the generated polynomials of the constituent encoder is expressed as polynomial. x is defined as gf (x) = 1 + x 2 + x 3. In other words, the highest order represents the depth of the memory and the rightmost connection is gf (x) in x 3 . The primitive polynomial must be used as the coefficient to determine whether the coefficient is 0 or 1. Therefore, when the number of memories of the RSC encoder is m, the feedback sequence generated by this feedback polynomial repeats the same pattern continuously with a period of 2 m −1. Therefore, if the input information word '1' is input at the instant of this period (i.e., if the input information word is entered 10000001 ... assuming m is 3), then the state of the RSC encoder will always be It becomes Exclusive-OR of the same information bit and eventually becomes all zero state and all output symbols generate '0' symbol. This means that the Hamming weight of the codeword generated by RSC will always have a constant value after this event. In other words, the free distance of the turbo code does not increase after this point and remains constant, and this CISP is the biggest cause of reducing the free distance of the turbo encoder.

이 경우 터보 인터리버는 자유거리를 증가시키기 위하여 CISP 입력정보어를 터보 인터리버를 통하여 랜덤하게 분산시켜서 또 다른 component RSC encoder의 출력 심볼에서는 이전의 부호기에서와 같은 자유거리가 감소하는 현상을 억제하도록 한다. 하기 <표 1>에서 gf(x)=1+x2+x3으로부터 발생되는 feedback sequence를 보였다. 아래의 식에서 X(t)는 입력정보어의 t시간에서의 입력 정보비트을 의미한다. 그리고 m(t) m(t-1) m(t-2)는 RSC의 3개의 메모리 상태를 차례로 나타낸다. 여기서 메모리의 수가 3이므로, 주기가 23-1=7인 것을 알 수 있다.In this case, the turbo interleaver randomly distributes the CISP input information word through the turbo interleaver in order to increase the free distance, thereby suppressing the phenomenon that the free distance as in the previous encoder is reduced in the output symbol of another component RSC encoder. Table 1 shows a feedback sequence generated from gf (x) = 1 + x 2 + x 3 . In the following equation, X (t) means input information bits at time t of the input information word. M (t) m (t-1) m (t-2) indicates three memory states of RSC in turn. Since the number of memories is 3, it can be seen that the period is 2 3 -1 = 7.

m(t) m(t-1) m(t-2)1 0 0 t=0 X(0)=10 1 0 t=1 X(1)=00 0 1 t=2 X(2)=01 1 0 t=3 X(3)=01 1 1 t=4 X(4)=00 1 1 t=5 X(5)=00 0 1 t=6 X(6)=01 0 0 t=7 if X(7)=10 0 0 t=80 0 0 t=9::m (t) m (t-1) m (t-2) 1 0 0 t = 0 X (0) = 10 1 0 t = 1 X (1) = 00 0 1 t = 2 X (2) = 01 1 0 t = 3 X (3) = 01 1 1 t = 4 X (4) = 00 1 1 t = 5 X (5) = 00 0 1 t = 6 X (6) = 01 0 0 t = 7 if X (7) = 10 0 0 t = 80 0 0 t = 9 ::

상기 표 1에서와 같이, 만일 t=7인 시점에서 X(t)=1을 입력하면 이후로는 m(t) m(t-1) m(t-2)가 항상 zero state가 됨을 알 수 있다. 따라서 이후로 출력되는 심볼의 Hamming weight는 항상 0이된다. 이 경우 터보 인터리버가(10000001000….)이라는 입력정보어 시퀀스를 그대로 RSC2 에 전달한다면 동일한 Feedback polynoimal을 사용하는 RSC2에서도 똑같은 이유에서 이 시점(t=7 인 시점) 이후부터 출력 심볼의 해밍 웨이트가 더 이상 변화하지 않고 중단되게 된다. 이는 전체 터보 부호기의 출력심볼의 자유거리를 감소시키는 결과를 초래한다. 이것을 막기 위해서 터보 인터리버는 원래의 입력정보어 시퀀스 (10000001000…)를 주기가 7이 아닌 다른 형태의 입력정보어 시퀀스로 변형하여 RSC2에 전달하며(예를 들어 (110000000…..)와 같이 정보비트'1'의 위치변경), 따라서,RSC1은 비록 해밍웨이트의 증가가 중단되더라도 RSC2는 해밍 웨이트가 계속해서 증가함으로써 전체 Turbo encoder의 자유거리 는 증가한다. 이유는 궤환 다항식(feedback polynomial)은 무한임펄스응답 필터 타입(IIR (infinite impluse responcse) filter type)으로 한 개의 정보비트 "1"에 의해서도 무한한 출력심볼 "1"을 계속해서 생성하기 때문이다. 하기 수학식 1에서 Turbo encoder의 해밍웨이트 또는 자유거리에 관한 위 RSC1과 RSC2의 관계를 보이는 간략한 근사식을 보였다.As shown in Table 1 above, if X (t) = 1 is input at the time t = 7, m (t) m (t-1) m (t-2) will always be zero state. have. Therefore, the Hamming weight of subsequent output symbols is always zero. In this case, if the turbo interleaver passes the input information sequence of (10000001000….) To RSC2, the Hamming weight of the output symbol is further increased after this point (t = 7) for the same reason as in RSC2 using the same feedback polynoimal. It stops without changing anything. This results in reducing the free distance of the output symbols of the entire turbo encoder. To prevent this, the turbo interleaver transforms the original input information word sequence (10000001000…) into an input information word sequence of a type other than 7 and transmits it to RSC2 (for example, an information bit such as (110000000… ..)). Change the position of '1'), therefore, RSC1 increases the free distance of the entire Turbo encoder as the Hamming weight continues to increase even though the Hamming weight increases. The reason is that the feedback polynomial is an infinite impulse response filter type (IIR) filter type (IIR) that continuously generates an infinite output symbol "1" by one information bit "1". Equation 1 shows a brief approximation showing the relationship between RSC1 and RSC2 regarding the Hamming weight or free distance of a turbo encoder.

상기 수학식 1에서와 같이, RSC1과 RSC2의 해밍웨이트 balance가 매우 중요함을 알 수 있으며 특히 RSC encoder의 IIR(Infinite Impulse Response) 특성을 고려할 때 입력정보어의 해밍 웨이트가 최소인 것이 가장 작은 Turbo code의 자유거리를 생성하는 것을 알 수 있다. 일반적으로, 최소 자유거리를 제공하는 것은 상기한 바와 같이 입력정보어의 해밍 웨이트가 2인 경우가 된다.As shown in Equation 1, it can be seen that the hamming weight balance of RSC1 and RSC2 is very important. Especially, considering that the IIR (Infinite Impulse Response) characteristic of the RSC encoder is the smallest hamming weight of the input information word, You can see that it creates a free distance of code. In general, providing the minimum free distance is a case where the hamming weight of the input information word is two as described above.

그러나, 상기한 종래기술에서 언급한 바와 같이, 최소 자유거리는 입력정보어의 해밍 웨이트가 2인 경우뿐 아니라 1 이외에 3,4,5..에서도 발생한다. 이것은 입력정보어가 프레임 단위로 입력되는 경우에 발생하는데, 이를 보다 상세히 설명하면 다음과 같다.However, as mentioned in the above-mentioned prior art, the minimum free distance occurs not only in the case where the Hamming weight of the input information word is 2 but also in 3, 4, 5. This occurs when an input information word is input in units of frames, which will be described in detail below.

예를 들어 입력정보어의 가장 마지막 위치 즉, 프레임의 가장 마지막 위치에 있는 정보비트가 "1"이고 나머지는 모두 "0"인 경우를 가정하면, 입력정보어의 해밍 웨이트는 "1"이 된다. 이 경우 RSC1에 의해서 발생되는 출력심볼 "1"의 수는 더 이상 진행할 입력정보어가 존재하지 않으므로 매우 작게 된다(물론 Zero tail bis를 사용하는 경우에는 두 개의 심볼이 존재하나 이는 터보 인터리빙이 되지 않고 독립적으로 사용되므로 여기서는 약간의 웨이트를 증가시키는 것으로 간주한다. 항상 일정한 웨이트를 더해기 때문에 인터리버 분석에서는 제외한다) 따라서 이 경우에 상기 수학식 1에 의해서 RSC2가 상당히 많은 양의 출력심볼 1을 생성하여야 전체적인 자유거리가 증가한다.For example, assuming that the information bit at the last position of the input information word, that is, the last position of the frame, is "1" and the rest are all "0", the Hamming weight of the input information word is "1". . In this case, the number of output symbols " 1 " generated by RSC1 is very small since there are no input information words to proceed anymore (Of course, when using zero tail bis, there are two symbols, but this is not turbo interleaving. In this case, RSC2 must generate a large amount of output symbol 1 according to Equation 1 in this case. Free distance increases

이하 첨부되는 도면 도 4 내지 도 10을 참조하여 종래기술의 문제점과 문제점을 해결하기 위한 기본적인 내용을 대비하여 상세히 설명한다.Hereinafter, the present invention will be described in detail with reference to FIGS. 4 through 10 in preparation for basic problems for solving the problems and problems of the prior art.

상기 도 4 내지 도 10의 도면에서 음영처리한 부분은 입력정보비트가 '1'인 것을 나타내고, 다른 부분은 입력정보비트가 '0'임을 나타낸다.4 to 10, the shaded part indicates that the input information bit is '1', and the other part indicates that the input information bit is '0'.

상기 도 4에서와 같이 터보 인터리버가 인터리빙 후에 원래 RSC1의 심볼 '1'의 입력정보어의 위치를 다시금 프레임의 가장 마지막 위치로 옮긴다면 RSC2 또한발생되는 출력심볼 '1'의 수는 매우 작게 된다. 따라서 이 경우 상기 수학식 1에 의해서 RSC1과 RSC2가 매우 적은 양의 출력심볼 '1'을 생성하므로 전체적인 자유거리 는 급격하게 감소한다. 그러나, 만일 첨부된 도면 도 5의 경우와 같이 터보 인터리버가 인터리빙후에 원래 RSC1의 입력정보비트 '1'의 위치를 프레임의 가장 처음 위치로 옮긴다면, 혹은 가급적 프레임의 앞쪽으로 이동시킨다면 RSC2가 발생하는 출력심볼 "1"의 수는 매우 증가하게 된다. 왜냐하면 N-h(=인터리버 사이즈 - '1"의 개수)만큼의 RSC2 Encoder state transition에 의해서 다수의 심볼 "1"이 출력되기 때문이다. 따라서 이 경우에 RSC2가 많은 수의 출력심볼 1을 생성하여 전체 자유거리는 증가한다.As shown in FIG. 4, if the turbo interleaver moves the position of the input information word of the symbol '1' of the original RSC1 to the last position of the frame again after interleaving, the number of output symbols '1' generated by the RSC2 also becomes very small. Therefore, in this case, since RSC1 and RSC2 generate very small output symbols '1' according to Equation 1, the overall free distance is drastically reduced. However, if the turbo interleaver moves the position of the input information bit '1' of the original RSC1 to the first position of the frame after interleaving as shown in FIG. 5, or if it is moved to the front of the frame, RSC2 is generated. The number of output symbols "1" is greatly increased. This is because a large number of symbols "1" are output by the RSC2 encoder state transition equal to Nh (= interleaver size-the number of '1's), so in this case, RSC2 generates a large number of output symbols 1 so that the total freedom is generated. Distance increases.

상기 도 4에서와 같이 프레임의 가장 마지막 위치에 있는 입력정보비트 '1'이 내부 인터리버를 거쳐 다시금 프레임의 가장 마지막 위치(또는 마지막 위치 근처)에 이동됨으로서 발생되는 자유거리 감소 외에, 상기 도 6과 같이 프레임의 끝부분에 위치된 "1"인 두 개의 정보비트들이 여전히 인터리빙된 후에도 프레임의 마지막 부분에 위치될 경우 여전히 상기 전체 자유거리가 감소된다.As shown in FIG. 4, the input information bit '1' at the last position of the frame is moved to the last position (or near the last position) of the frame again through the internal interleaver. Even when two information bits of "1" located at the end of the frame are still interleaved and still located at the end of the frame, the total free distance is still reduced.

예를들어, 첨부된 도면 도 6과 같이 프레임 모드(Frame mode)로 동작하며 프레임의 끝부분에 위치되는 두 개의 심볼이 "1"이고 나머지는 모두 0인 경우, 입력 정보어의 해밍웨이트는 "2"이다. 이 경우에도 앞서 언급한 경우와 마찬가지로 RSC1에 의해서 발생되는 출력심볼 "1"의 수는 더 이상 진행할 입력정보비트가 존재하지 않으므로 매우 작게 된다. 따라서 상기한 수학식 1에 의해서 RSC2가 상당히 많은 양의 출력심볼 1을 생성하여야 전체 자유거리가 증가하게 된다. 그런데 첨부된 도면 도 6의 경우와 같이 터보 인터리버가 인터리빙 후에도 여전히 상기한 두 심볼을 프레임의 끝부분으로 옮긴다면, 혹은 끝부분 근처로 이동시킨다면 역시 RSC2도 적은 수의 출력심볼 "1"을 생성한다.그러나 만일 첨부된 도면 도 7과 같이 터보 인터리버가 인터리빙 후에 상기한 두 심볼의 위치를 프레임의 가장 앞부분으로 이동시킨다면, 혹은 가급적 프레임의 앞쪽으로 이동시킨다면 RSC2는 많은 수의 심볼 "1"를 출력하게 된다. 즉, N-h만큼의 RSC2 Encoder state transition에 의해서 다수의 심볼 '1'을 출력한다. 따라서 이 경우 상기 RSC2가 많은 양의 출력심볼 "1"을 생성하여 전체 자유거리는 증가하게 된다.For example, when two symbols located at the end of the frame operate at the frame mode as shown in FIG. 6 and the two symbols located at the end of the frame are "1" and all the others are 0, the Hamming weight of the input information word is " 2 ". In this case as well, the number of output symbols " 1 " generated by RSC1 is very small because there is no input information bit to proceed any further. Therefore, according to Equation 1, the RSC2 generates a large amount of output symbols 1 to increase the total free distance. However, as shown in FIG. 6, if the turbo interleaver still moves the two symbols to the end of the frame or moves near the end after interleaving, RSC2 also generates a small number of output symbols "1". However, if the turbo interleaver moves the positions of the two symbols to the front of the frame after interleaving, or as far as possible to the front of the frame, as shown in FIG. 7, the RSC2 outputs a large number of symbols "1". do. That is, a plurality of symbols '1' are outputted by RSC2 encoder state transition of N-h. Therefore, in this case, the RSC2 generates a large amount of output symbol " 1 " to increase the total free distance.

이러한 원리는 첨부된 도면 도 8과 같이 프레임 모드로 동작하며 프레임의 끝부분 일정구간에 다수의 정보비트 '1'이 존재하고, 나머지는 모두 0인 경우로 확장될 수 있다. 이 경우도 도시된 바와 같이 프레임의 마지막 부분에 존재하는 정보비트들을 되도록 프레임의 처음 부분으로 옮김으로서 전체 자유거리를 향상시킨다. 물론 Turbo code가 선형블록부호이므로 이러한 입력정보어에 임의의 Non zero 정보어를 더한 새로운 정보어의 경우에도 동일한 성질을 가지게 되며, 따라서 all zero 정보어를 기준으로 여기서는 설명한다.This principle can be extended to the case of operating in the frame mode as shown in FIG. 8 and having a plurality of information bits '1' in a certain section of the end of the frame, and all others are zero. In this case as well, as shown, by moving the information bits present in the last part of the frame to the beginning of the frame, the overall free distance is improved. Of course, since the Turbo code is a linear block code, the new information word having an arbitrary non zero information word added to the input information word has the same property. Therefore, the description will be made based on the all zero information word.

결론적으로, 터보 인터리버 설계 시 랜덤성질(Random property)과 거리성질(Distance property )과 더불어 아래의 조건이 반드시 만족되어야 Turbo decoder의 성능과 Turbo encdoer의 자유거리를 보장받을 수 있다.In conclusion, when designing the turbo interleaver, the following conditions must be satisfied along with the random and distance properties to ensure the performance of the turbo decoder and the free distance of the turbo encdoer.

조건 1. 모든 터보 인터리버의 설계에 있어 입력정보어 프레임의 가장 마지막 위치로부터 일정구간에 해당되는 정보비트들 인터리빙에 의하여 프레임의 가장처음 위치로 옮기는 것이 Turbo code의 자유거리를 증가시킨다.Condition 1. In the design of all turbo interleavers, moving the first position of a frame by interleaving information bits corresponding to a certain period from the last position of the input information word frame increases the free distance of the turbo code.

조건 2. 입력정보어 프레임의 가장 마지막 위치에 해당되는 정보비트는 인터리빙에 의하여 반드시 상기 마지막 위치보다 앞선 위치로 옮겨야 하며 turbo code의 자유거리를 증가시키기 위해서는 가급적 프레임의 앞쪽 위치로 이동시켜야 한다.Condition 2. The information bit corresponding to the last position of the input information word frame must be moved to the position before the last position by interleaving. In order to increase the free distance of the turbo code, the information bit should be moved to the front position of the frame.

상기한 조건들을 상술한 1차원 인터리버뿐 아니라 2차원 인터리버(2-dimensional Turbo Interleaver)도 적용된다. 여기서 상기 1차원 인터리버는 상기한 도 4 내지 도 8에서와 같이 입력정보어 프레임을 하나의 그룹으로 생각하여 인터리빙하는 것이고, 상기 2차원 인터리버는 입력정보어 프레임을 복수개의 그룹들로 분할하여 인터리빙하는 것을 말한다. 도 9는 2차원 인터리빙에서 입력정보어의 해밍웨이트가 "1"인 경우를 설명하고 있다.In addition to the above-described one-dimensional interleaver, the two-dimensional turbo interleaver is applied. The one-dimensional interleaver is to interleave the input information word frame as a group as shown in Figs. 4 to 8, and the two-dimensional interleaver divides the input information word frame into a plurality of groups and interleaves it. Say that. 9 illustrates a case where the Hamming weight of the input information word is "1" in two-dimensional interleaving.

도시된 바와 같이, 입력정보비트들은 차례대로 각각의 그룹(또는 행단위)에 기록된다. 즉, r0, r1, …rR-1까지 차례로 기록되며 각각의 그룹에서는 왼쪽에서 오른쪽 방향으로 차례로 기록된다. 이후에 터보인터리빙 알고리즘에 의해서 이러한 RxC 개의 원소 즉, 입력 정보비트들은 랜덤하게 위치가 변경되어 출력되게 된다. 여기서, 상기 R은 행의 개수를 나타내고, 상기 열의 수(그룹에 속한 정보비트들의 수)를 나타낸다. 이 경우에도 앞서 제시한 조건 1과 2에 의해서 상기 도 9와 같이, 가장마지막 그룹의 가장 마지막(또는 오른쪽)에 위치되는 정보비트는 가급적 출력되는 순서에 있어 처음에 위치되도록 인터리빙 알고리즘(Turbo interleaing algorithm)이 설계되는 것이 바람직하다. 물론 각각의 그룹을 선택하는 순서에 따라 차이가 있으나 이 경우에도 항상, 가장 마지막 위치에 있는 입력정보비트는 해당 그룹의 가장 처음 위치나 최소한 그 그룹의 앞쪽으로 위치가 조정되어야 한다. 한편, 상기 조건 1과 2는 상기한 2-dimensional interleaver 외에 k-dimensional turbo interleaver에서도 일반화시킬 수 있다. 여기서 k는 적어도 2이상이다.As shown, the input information bits are written in each group (or row unit) in turn. That is, r0, r1,... It is recorded in turn up to rR-1 and in each group in turn from left to right. Thereafter, the RxC elements, that is, the input information bits, are randomly changed in position by the turbo interleaving algorithm and output. Here, R represents the number of rows and represents the number of columns (the number of information bits belonging to a group). In this case, according to the above conditions 1 and 2, the interleaving algorithm such that the information bits located at the last (or right) end of the last group are positioned first in the output order. Is preferably designed. Of course, there is a difference depending on the order of selecting each group, but even in this case, the input information bit at the last position must be adjusted to the first position of the group or at least the front of the group. Meanwhile, the conditions 1 and 2 may be generalized in the k-dimensional turbo interleaver in addition to the 2-dimensional interleaver described above. Where k is at least two.

첨부된 도면 도 10은 입력정보어의 해밍 웨이트가 "2"이상인 경우를 보여준다. 도시된 바와 같이, 마지막 그룹의 마지막 부분에 위치된 정보비트들을 인터리빙에 의해 상기 마지막 그룹의 처음 부분으로 이동시키는 경우를 보여준다. 물론 특정 인터리버의 알고리즘에 따라 구체적인 이동규칙은 결정되며, 본 발명은 이러한 인터리빙규칙을 정함에 있어 반드시 지켜야 하는 규칙(조건 1과 2)에 대해 설명한다.10 shows a case where the hamming weight of the input information word is "2" or more. As shown, the case where the information bits located in the last part of the last group is moved to the first part of the last group by interleaving. Of course, a specific movement rule is determined according to the algorithm of a specific interleaver, and the present invention describes the rules (conditions 1 and 2) that must be observed in setting such an interleaving rule.

이하 상기한 종래기술의 문제점을 가지고 있는 PIL 인터리버에 대해 설명하고, 상기 PIL인터리버의 문제점을 해결하기 위한 구체적인 방안에 대해 설명한다.Hereinafter, a PIL interleaver having the above-described problems of the related art will be described, and a concrete method for solving the problem of the PIL interleaver will be described.

<PIL인터리버><PIL Interleaver>

First stage ;First stage;

(1) determine a row number such that(1) determine a row number such that

R = 10 at the case of the number of input information bit K is 481 to 530 and R=20 at the case of the number of input information bit K is any other block length except 481 to 530,R = 10 at the case of the number of input information bit K is 481 to 530 and R = 20 at the case of the number of input information bit K is any other block length except 481 to 530,

(2) determine a column number C such that case 1 is C=p=53 where, p = minimum prime number and case 2 is(2) determine a column number C such that case 1 is C = p = 53 where, p = minimum prime number and case 2 is

(i) find minimum prime number p such that, 0=<(p+1)-K/R(i) find minimum prime number p such that, 0 = <(p + 1) -K / R

(ii) if (0=<p-K/R) then go to (iii), else C=p+1(ii) if (0 = <p-K / R) then go to (iii), else C = p + 1

(iii) if (0=<p-1-K/R) then C=p-1, else C=p(iii) if (0 = <p-1-K / R) then C = p-1, else C = p

현재 잠정적으로 UMTS터보 인터리버로 결정된 PIL 인터리버의 인터리빙 알고리즘 중에서 Second stage CASE - B에서 C=p+1인 경우를 살펴보면 다음과 같다. 하기 과정들에서 R은 그룹(또는 행)의 개수를 의미하며 R=10 또는 20의 값을 가진다. C는 각 그룹의 크기를 나타내는 것으로 입력되는 실제 입력정보어 프레임의 크기를 K라 할 때 K / R로 정의되는 값에 따라 Stage 1에서 결정되는 K/R에 가장 가까운 프라임 넘버(Prime number p)에 의해서 결정되는 값이다. CASE-B 에서는 항상 C=p+1의 값을 가진다. 그리고, Cj(i)는 j번째 그룹를 기준으로 상기 그룹내에서 입력 정보비트들의 위치를 랜덤하게 변경(permutation )하여 얻어지는 상기 정보비트들의 변경된위치를 나타낸다. 여기서, i=0,1,2,3,…,p 이다. 또한 Pj는 j번째 행벡터에 주어진 초기화 seed 값으로 알고리즘에 의해서 초기화 시에 주어지는 값이다.The case of C = p + 1 in Second stage CASE-B among the interleaving algorithms of the PIL interleaver currently determined to be the UMTS turbo interleaver is as follows. In the following procedures, R means the number of groups (or rows) and has a value of R = 10 or 20. C represents the size of each group, and when the actual input information frame is K, the prime number p closest to K / R determined at Stage 1 according to the value defined as K / R The value determined by. In CASE-B, the value is always C = p + 1. Cj (i) represents the changed position of the information bits obtained by randomly permutating the positions of the input information bits within the group with respect to the j-th group. Where i = 0, 1, 2, 3,... , p. In addition, Pj is an initialization seed value given to the j th row vector, which is given at initialization by the algorithm.

Second stage ;Second stage;

B-1) 주어진 랜덤 초기화 상수 테이블로부터 프라임 넘버 p에 대응하는 원시근( primitiv e root) g0를 선택한다.B-1) From the given random initialization constant table, select the primitive root g0 corresponding to the prime number p.

(3GPP TS 25.212 table 2; table of prime p and associated primitive root)(3GPP TS 25.212 table 2; table of prime p and associated primitive root)

B-2) 아래의 점화식을 사용하여 행 벡터 랜덤화에 사용하기 위한 기본시퀀스 (Base sequence )인 C(i)를 구성한다.B-2) The following ignition is used to construct C (i), the base sequence for use in row vector randomization.

C(i) =[go ×C (i-1)] mod p, i=1,2,3,..,p-2, C(0)=1,C (i) = [go × C (i-1)] mod p, i = 1,2,3, .., p-2, C (0) = 1,

B-3) 알고리즘에 주어진 minimum prime number set인 {qj, j=0,1,2,…,R-1}를 구한다.B-3) {q j , j = 0,1,2,... Which is the minimum set of prime numbers given to the algorithm. , R-1}.

B-4) Select the minimum prime integer set {qj, j=0,1,2,... ,R-1} such that g.c.d{ qj ,p-1} = 1, qj > 6 and qj > q(j-1),B-4) Select the minimum prime integer set {qj, j = 0,1,2, ..., R-1} such that gcd {qj, p-1} = 1, qj> 6 and qj> q ( j-1),

where g.c.d is a greatest common divider and q0=1where g.c.d is a greatest common divider and q0 = 1

B-5) j번째 행벡터의 원소들을 아래의 방식에 의해 랜덤화한다.B-5) The elements of the j th row vector are randomized in the following manner.

Cj(i)=C([i×pj] mod (p-1)), i=0,1,2,3,…,p-2,C j (i) = C ([i × p j ] mod (p-1)), i = 0,1,2,3,... , p-2,

Cj(p-1)=0, andC j (p-1) = 0, and

Cj(p)=p.C j (p) = p.

A third stage;A third stage;

하기 Perform the row-permutation based on the following p(j) (j=0,1,2 ., R-1) patterns, where p(j) is the original row position of the j-th permuted row.Perform the row-permutation based on the following p (j) (j = 0,1,2., R-1) patterns, where p (j) is the original row position of the j-th permuted row.

The usage of these patterns is as follows; when the number of input information bit K is 320 to 480 bit perform group selection pattern p A, whenthe number of input information bit K is 481 to 530 bit perform group selection pattern p C, when the number of input information bit K is 531 to 2280 bit perform group selection pattern p A, when the number of input information bit K is 2281 to 2480 bit perform group selection pattern p B, when the number of input information bit K is 2481 to 3160 bit perform group selection pattern p A, when the number of input information bit K is 3161 to 3210 bit perform group selection pattern p B, and when the number of input information bit K is 3211 to 5114 bit perform group selection pattern p A. The group selection pattern is as follow;The usage of these patterns is as follows; when the number of input information bit K is 320 to 480 bit perform group selection pattern p A, whenthe number of input information bit K is 481 to 530 bit perform group selection pattern p C, when the number of input information bit K is 531 to 2280 bit perform group selection pattern p A, when the number of input information bit K is 2281 to 2480 bit perform group selection pattern p B, when the number of input information bit K is 2481 to 3160 bit perform group selection pattern p A, when the number of input information bit K is 3161 to 3210 bit perform group selection pattern p B, and when the number of input information bit K is 3211 to 5114 bit perform group selection pattern p A. The group selection pattern is as follow;

p A : {19, 9, 14, 4 0, 2, 5, 7, 12, 18, 10, 8, 13, 17, 3, 1, 16, 6, 15, 11} for R=20p A: {19, 9, 14, 4 0, 2, 5, 7, 12, 18, 10, 8, 13, 17, 3, 1, 16, 6, 15, 11} for R = 20

p B : {19, 9, 14, 4 0, 2, 5, 7, 12, 18, 16, 13, 17, 15, 3, 1, 6, 11, 8, 10} for R=20p B: {19, 9, 14, 4 0, 2, 5, 7, 12, 18, 16, 13, 17, 15, 3, 1, 6, 11, 8, 10} for R = 20

p C : {9,8,7,6,5,4,3,2,1,0} for R=10.p C: {9,8,7,6,5,4,3,2,1,0} for R = 10.

여기서 주목해야 할 것은 B-5)의 마지막 동작으로 Cj(p)=p로 정의된 부분이다. 즉, 이 부분이 의미하는 것은 인터리빙 이전의 입력정보비트의 위치가 p인 경우 PIL 인터리빙이 된 이후에도 이 입력정보비트의 위치가 그대로 p로 유지된다는 것을 의미한다. 따라서 다른 경우를 제외하더라도 맨 마지막 그룹(j=19)인 경우에가장 마지막 위치에 있는 정보비트인 CR-1(P)=C19(p)는 그대로 19번째 그룹의 맨 마지막 위치인 i=P의 위치를 동일하게 유지하게 된다. 따라서, 앞서 제시한 터보 인터리버 design 조건 2를 위배하게 된다.Note that the last operation of B-5) is defined as C j (p) = p. In other words, this means that if the position of the input information bit before interleaving is p, the position of the input information bit remains p even after PIL interleaving. Therefore, except in the other case, in the last group (j = 19), the last information bit, C R-1 (P) = C19 (p), is equal to i = P, which is the last position in the 19th group. The position of is kept the same. Therefore, it violates the turbo interleaver design condition 2 described above.

즉, 상기 PIL의 문제점을 해결하기 위해 상기 B-5)의 과정을 다음과 같이 수정한다. 여기에는 몇가지 방법이 있을 수 있으며 본 발명에서는 여섯가지 방식에 대해 설명하고, 이를 각각 B-5-1), B-5-2), B-5-3), B-5-4), B-5-5), B-5-6)로 명칭한다. 이들 중 최적의 성능은 터보 인터리버의 특징상 시뮬레이션에 의해 결정될 수 있다.That is, in order to solve the problem of the PIL, the process of B-5) is modified as follows. There may be several methods, and in the present invention, the six methods will be described, and each of them will be described as B-5-1), B-5-2), B-5-3), B-5-4), and B. -5-5), B-5-6). The optimal performance among them can be determined by simulation due to the characteristics of the turbo interleaver.

B-5) j번째 행의 원소들을 아래의 방식에 의해 랜덤화한다.B-5) Randomize the elements of the j th row in the following manner.

Cj(i)=c([i×pj] mod (p-1)), i=0,1,2,3,…,p-2,C j (i) = c ([i × pj] mod (p−1)), i = 0,1,2,3,... , p-2,

Cj(p-1)=0,C j (p-1) = 0,

이후 아래의 6가지 방식 중 하나를 선택한다.Then choose one of the six methods below.

B-5-1) CR-1(0)과 CR-1(p)의 위치를 상호 바꾼다. R=10, or 20B-5-1) Interchange the positions of C R-1 (0) and C R-1 (p). R = 10, or 20

B-5-2) CR-1(p-1)과 CR-1(p)의 위치를 상호 바꾼다. R=10, or 20B-5-2) Interchange the positions of C R-1 (p-1) and C R-1 (p). R = 10, or 20

B-5-3) 모든 j에 대하여 Cj(0)과 Cj(p)의 위치를 상호 바꾼다. j=0,1,2,…,R-1B-5-3) Interchange the positions of C j (0) and C j (p) for all j. j = 0, 1, 2,... , R-1

B-5-4) 모든 j에 대하여 Cj(p-1)과 Cj(p)의 위치를 상호 바꾼다. j=0,1,2,…,R-1B-5-4) Interchange the positions of C j (p-1) and C j (p) for all j. j = 0, 1, 2,... , R-1

B-5-5) 모든 j에 대하여 사용하는 인터리빙 알고리즘에 최적인 교환 위치 k를 찾아서 Cj(k)과 Cj(p)의 위치를 상호 바꾼다.B-5-5) Find the best exchange position k for the interleaving algorithm used for all js, and swap the positions of C j (k) and C j (p).

B-5-6) R-1행에 대하여 사용하는 인터리빙 알고리즘에 최적인 교환 위치 k를 찾아서 CR-1(k)과 CR-1(p)의 위치를 상호 바꾼다B-5-6) Interchange the positions of C R-1 (k) and C R-1 (p) by finding the best exchange position k for the interleaving algorithm used for row R-1 .

이외에 기타 다른 방법에 의하여 상기한 조건 1과 2이 적용되도록 수정할수 있다.In addition, the above conditions 1 and 2 may be modified by other methods.

도 11 및 도 12는 본 발명의 실시 예에 따른 블록 구성 및 흐름도를 도시하고 있다.11 and 12 illustrate a block configuration and a flowchart according to an embodiment of the present invention.

상기 도 11를 참조하면, 행벡터치환부(Row Vector Permutation Index Generator)912는 행카운터911의 카운팅에 의해 행벡터를 선택하기 위한 인덱스를 생성하여 어드레스버퍼918의 상위어드레스로 출력한다. 상기 행벡터치환부912는 입력정보어를 복수개의 그룹들을 분할하였을 때, 상기 복수의 그룹들을 순차 혹은 랜덤하게 선택하는 그룹선택기이다. 열벡터치환부(Column Vector's Elements Permutation Index Generator)914는 열카운터913의 카운팅에 의해 해당 행벡터(또는 그룹)에서 원소들의 위치를 변경(permutation)하기 위한 인덱스를 상기한 수정된 PIL 알고리즘915를 참조하여 생성하여 상기 어드레스버퍼918의 하위어드레스로 출력한다. 여기서 상기 열벡터치환부914는 입력순서에 따라 순차로 저장된 그룹내의 정보비트들을 주어진 규칙에 의해 위치를 변경하는 랜덤기(randomizer)이다. 램은917은 프로그램 수행중에 발생하는 일시적인 데이타를 저장한다. 룩업테이블916은 인터리빙을 위한 파라미터들 및 원시근 등을 저장한다. 상기 행치환 및 열치환으로 얻어진 어드레스(어드레스버퍼918에 저장된 어드레스)는 인터리빙을 위한 어드레스로 사용한다.Referring to FIG. 11, the row vector permutation index generator 912 generates an index for selecting a row vector by counting the row counter 911 and outputs the index to the upper address of the address buffer 918. The row vector changer 912 is a group selector that sequentially or randomly selects the plurality of groups when the input information word is divided into a plurality of groups. Column Vector's Elements Permutation Index Generator 914 refers to a modified PIL algorithm 915 described above with reference to an index for permutation of elements in the row vector (or group) by counting column counter 913. It generates and outputs to the lower address of the address buffer 918. The column vector converting unit 914 is a randomizer for changing positions of information bits in a group sequentially stored according to an input order by a given rule. RAM stores temporary data that occurs during program execution. The lookup table 916 stores parameters for interleaving, primitive roots, and the like. The address (address stored in the address buffer 918) obtained by the row substitution and column substitution is used as an address for interleaving.

상기 도 12는 상기한 수정 PIL 알고리즘을 흐름도로 도시한 도면이다. 이하 설명은 PIL 알고리즘에서 second stage CASE-B에 대한 것이다. 상기 도 12를 참조하면, 우선, 1011단계에서 주어진 랜덤 초기화 상수 테이블로부터 원시근(primitive root) g0를 선택한다. 그리고 1013단계에서 아래의 점화식을 사용하여 그룹의 원소들(또는 정보비트들)을 랜덤화하기 위한 기본시퀀스(base sequence)인 C(i)를 생성한다.12 is a flowchart illustrating the modified PIL algorithm. The following description is for the second stage CASE-B in the PIL algorithm. Referring to FIG. 12, first, a primitive root g 0 is selected from a random initialization constant table given in step 1011. In operation 1013, the following ignition equation is used to generate C (i), which is a base sequence for randomizing the elements (or information bits) of the group.

C(i)=[g0×C(i-1)]mod p, i=1,2,3,...,p-2, C(0)=1,C (i) = [g0 × C (i-1)] mod p, i = 1,2,3, ..., p-2, C (0) = 1,

이후 1015단계에서 상기 알고리즘에서 주어진 minimum prime number set인 {qj, j=0,1,2,...,R-1}를 구한다. 그리고 1017단계에서 상기 구해진 minimum number set으로부터 prime number set인 {pj,j=0,1,2...R-1}를 구한다. 그리고 1019단계에서 j번째 그룹의 원소들을 아래의 방식에 의해 랜덤화한다.Thereafter, in step 1015, {qj, j = 0,1,2, ..., R-1}, which is the minimum prime number set given in the algorithm, is obtained. In operation 1017, a prime number set {pj, j = 0,1,2 ... R-1} is obtained from the obtained minimum number set. In step 1019, the j-th group of elements is randomized by the following method.

Cj(i)=c([i×pj] mod (p-1), i=0,1,2,3,...,p-2,Cj (i) = c ([i × pj] mod (p-1), i = 0,1,2,3, ..., p-2,

Cj(p-1)=0,Cj (p-1) = 0,

여기서 상기와 같이 그룹의 원소들을 랜덤화하는 동시에, 터보부호기의 최소거리를 증가시키기 위해 상기한 B-5-1)∼B-5-6) 중 하나를 선택하여 적어도 프레임의 가장 마지막 위치에 있는 정보비트가 인터리빙 되었을때 다른 위치로 이동되도록 한다.Here, at least at the end of the frame by selecting one of the above B-5-1) to B-5-6) to randomize the elements of the group as described above and increase the minimum distance of the turbo encoder. When information bits are interleaved, they are moved to another location.

여기서 상기 B-5-1)은 가장 마지막 그룹에서 첫 번째 정보비트과 가장 마지막 정보비트의 위치를 교환(exchange)하는 것을 의미하고, 상기 B-5-2)는 맨 마지막 그룹에서 맨 마지막의 두 정보비트의 위치를 교환하는 것을 의미한다. 상기 B-5-3)은 모든 그룹에 대해서 가장 마지막 위치에 있는 정보비트와 가장 처음에 위치한 정보비트의 위치를 교환하는 것을 의미하고, 상기 B-5-4)는 모든 그룹에 대해서 마지막의 두 정보비트들의 위치를[열을] 교환하는 것을 의미한다. 또한 상기 B-5-5)는 모든 그룹에 대해서 주어진 인터리빙 규칙을 위한 최적의 위치 K를 찾아서 각 행의 가장 마지막 위치에 있는 정보비트와 상기 k위치의 정보비트의 위치를 교환하는 것을 의미하고, 상기 B-5-6)은 마지막 그룹에 대해서 주어진 인터리빙 규칙을 위한 최적의 위치 K를 찾아서 가장 마지막 위치에 있는 정보비트와 상기 k위치에 위치되는 정보비트의 위치를 교환하는 것을 의미한다.Here, B-5-1) means exchanging positions of the first and last information bits in the last group, and B-5-2) means the last two pieces of information in the last group. This means swapping bit positions. B-5-3) means exchanging the position of the first information bit with the last information bit for all groups, and B-5-4) means the last two for all groups. It means to exchange the position of information bits. In addition, B-5-5) means finding the optimal position K for a given interleaving rule for all groups and exchanging the position of the information bit at the last position of each row with the information bit at the k position, B-5-6) means finding an optimal position K for a given interleaving rule for the last group and exchanging positions of the information bits located at the last position and the information bits located at the k position.

상기와 같이 PIL에 수정된 알고리즘을 적용할 경우, 터보 코더의 최소거리(minimum distance )가 감소되는 것을 방지할 수가 있다. 이에 따른 수정전의 PIL의 weight spectrum과 수정후의 weight spectrum 을 살펴보면 하기 표 2 및 표 3과 같다.When the modified algorithm is applied to the PIL as described above, the minimum distance of the turbo coder can be prevented from being reduced. Accordingly, the weight spectrum of the PIL before the correction and the weight spectrum after the modification are shown in Tables 2 and 3 below.

하기 표들에서 K는 입력 정보어 프레임의 크기를 나타내며 Dfree(1)은 입력정보어의 해밍 웨이트가 1인 경우의 CISP로 구한 자유거리를 나타내고, Dfree(2)는 입력정보어의 해밍웨이트가 2인 경우의 CISP로 구한 자유거리를 나타낸다. 예를 들어 K=600의 경우 원래의 PIL의 경우 Dfree(1)은 하기 표 2에서 25/39/49/53/57/…로 표기되었으며 이는 최소의 자유거리가 25이고, 이후에 다음으로 큰 것이 39라는 의미이다. 또한 Dfree(2)가 38/38/42….는 마찬가지로 dfree가 최소 38이라는 것을 의미이다. 따라서 이 경우 최소 자유거리(minimum dfree)는 웨이트가 1인 경우의 CISP에 의한 자유거리에 의해 결정됨을 알 수 있다. 상기 웨이트가 '1'인 CIPS에 의한 자유거리 감소를 해결하기 위해, 본 발명은 상기한 B-6-1) 방법을 사용하고 있다. 즉, 웨이트가 1인 경우의 CISP를 제거해 줌으로서 Dfree(1)를 개선한다.In the following tables, K denotes the size of the input information word frame, Dfree (1) indicates the free distance obtained by CISP when the hamming weight of the input information word is 1, and Dfree (2) indicates that the Hamming weight of the input information word is 2; In this case, the free distance obtained by CISP. For example, for K = 600, Dfree (1) for the original PIL is 25/39/49/53/57 /. This means that the minimum free distance is 25 and the next largest is 39. And Dfree (2) is 38/38/42. . Likewise means that dfree is at least 38. Therefore, in this case, it can be seen that the minimum dfree is determined by the free distance by the CISP when the weight is one. In order to solve the reduction in free distance caused by CIPS whose weight is '1', the present invention uses the above-described method B-6-1). That is, Dfree (1) is improved by removing the CISP when the weight is one.

하기 표 2는 수정전의 PIL 인터리버의 자유거리 스펙트럼을 보여준다.Table 2 below shows the free range spectrum of the PIL interleaver before fertilization.

KK Dfree(1)Dfree (1) Dfree(2)Dfree (2) 600600 Pos. = 599, Min. Weight = 2525/39/49/53/57/61/65/67/67/77/Pos. = 599, Min. Weight = 2525/39/49/53/57/61/65/67/67/77 / Pos.= 29, min_p1 =36,Min. Weight = 3838/ 38/ 42/ 42/ 42/ 42/ 42/ 42/ 42/ 42/Pos. = 29, min_p1 = 36, Min. Weight = 3838/38/42/42/42/42/42/42/42/42 / 640640 Pos. = 639, Min. Weight = 2525/37/53/53/53/69/71/73/75/77/Pos. = 639, Min. Weight = 2525/37/53/53/53/69/71/73/75/77 / Pos. =440,min_p1=447,Min. Weight = 4040/ 40/ 42/ 42/ 44/ 44/ 46/ 46/ 46/ 48/Pos. = 440, min_p1 = 447, Min. Weight = 4040/40/42/42/44/44/46/46/46/48 / 760760 Pos. = 759, Min. Weight = 2525/41/57/57/59/69/75/77/81/83/Pos. = 759, Min. Weight = 2525/41/57/57/59/69/75/77/81/83 / Pos. =33,min_p1= 40, Min. Weight = 3838/ 38/ 38/ 42/ 42/ 42/ 42/ 44/ 44/ 50/Pos. = 33, min_p1 = 40, Min. Weight = 3838/38/38/42/42/42/42/44/44/50 / 840840 Pos. =839, Min.Weight = 2525/45/57/65/65/79/79/83/85/87/Pos. = 839, Min.Weight = 2525/45/57/65/65/79/79/83/85/87 / Pos. =461,min_p1=468,Min.Weight = 3636/ 38/ 40/ 42/ 42/ 42/ 44/ 46/ 46/ 46/Pos. = 461, min_p1 = 468, Min.Weight = 3636/38/40/42/42/42/44/46/46/46 / 880880 Pos. =879, Min.Weight= 2525/47/57/61/65/71/83/89/93/93/Pos. = 879, Min.Weight = 2525/47/57/61/65/71/83/89/93/93 / Pos. =294,min_p1=308,Min.Weight = 4040/ 44/ 46/ 46/ 46/ 48/ 54/ 56/ 56/ 58/Pos. = 294, min_p1 = 308, Min.Weight = 4040/44/46/46/46/48/54/56/56/58 / 960960 Pos. =959, Min.Weight = 2525/45/61/65/69/71/73/87/87/89/Pos. = 959, Min.Weight = 2525/45/61/65/69/71/73/87/87/89 / Pos. = 568,min_p1=575,Min.Weight = 3636/ 38/ 38/ 42/ 42/ 42/ 42/ 44/ 44/ 46/Pos. = 568, min_p1 = 575, Min.Weight = 3636/38/38/42/42/42/42/44/44/46 / 10801080 Pos. = 1079, Min. Weight = 2525/49/61/65/67/77/85/89/93/97/Pos. = 1079, Min. Weight = 2525/49/61/65/67/77/85/89/93/97 / Pos. =1016,min_p1=1030,Min.Weight = 4242/ 42/ 46/ 48/ 48/ 50/ 52/ 52/ 54/ 54/Pos. = 1016, min_p1 = 1030, Min.Weight = 4242/42/46/48/48/50/52/52/54/54 / 12001200 Pos. = 1199, Min. Weight = 2525/53/65/69/85/85/89/89/95/103/Pos. = 1199, Min. Weight = 2525/53/65/69/85/85/89/89/95/103 / Pos. =953,min_p1=967,Min.Weight = 3838/ 38/ 42/ 42/ 42/ 42/ 46/ 48/ 50/ 50/Pos. = 953, min_p1 = 967, Min.Weight = 3838/38/42/42/42/42/46/48/50/50 / 12401240 Pos. = 1239, Min. Weight = 2525/53/67/69/71/85/93/93/103/105/Pos. = 1239, Min. Weight = 2525/53/67/69/71/85/93/93/103/105 / Pos. =1053,min_p1 =1060,Min.Weight = 3838/ 38/ 40/ 40/ 42/ 42/ 46/ 46/ 46/ 48/Pos. = 1053, min_p1 = 1060, Min.Weight = 3838/38/40/40/42/42/46/46/46/48 / 13601360 Pos.= 1359, Min. Weight = 2525/57/65/73/85/91/93/105/107/107/Pos. = 1359, Min. Weight = 2525/57/65/73/85/91/93/105/107/107 / Pos. =64,min_p1=71, Min. Weight = 3838/ 42/ 42/ 42/ 42/ 44/ 46/ 46/ 46/ 50/Pos. = 64, min_p1 = 71, Min. Weight = 3838/42/42/42/42/44/46/46/46/50 / 14401440 Pos. = 1439, Min. Weight = 2525/53/63/73/77/87/89/97/105/109/Pos. = 1439, Min. Weight = 2525/53/63/73/77/87/89/97/105/109 / Pos. =497,min_p1= 504, Min.Weight = 3636/ 42/ 42/ 46/ 46/ 50/ 50/ 52/ 54/ 58/Pos. = 497, min_p1 = 504, Min.Weight = 3636/42/42/46/46/50/50/52/54/58 / 14801480 Pos. = 1479, Min. Weight = 2525/61/65/77/77/83/95/101/109/117/Pos. = 1479, Min. Weight = 2525/61/65/77/77/83/95/101/109/117 / Pos. =1103,min_p1=1110,Min. Weight = 4242/ 42/ 44/ 48/ 50/ 50/ 50/ 50/ 54/ 54/Pos. = 1103, min_p1 = 1110, Min. Weight = 4242/42/44/48/50/50/50/50/54/54 / 16001600 Pos. = 1599, Min. Weight = 2525/61/65/83/83/93/97/105/105/113/Pos. = 1599, Min. Weight = 2525/61/65/83/83/93/97/105/105/113 / Pos. =315,min_p1=322,Min. Weight = 3838/ 38/ 38/ 40/ 42/ 44/ 50/ 50/ 50/ 54/Pos. = 315, min_p1 = 322, Min. Weight = 3838/38/38/40/42/44/50/50/50/54 / 16801680 Pos. = 1679, Min. Weight = 2525/69/69/81/89/95/103/113/117/125/Pos. = 1679, Min. Weight = 2525/69/69/81/89/95/103/113/117/125 / Pos. =504,min_p1=518,Min. Weight = 4444/ 46/ 50/ 50/ 52/ 52/ 54/ 62/ 62/ 62/Pos. = 504, min_p1 = 518, Min. Weight = 4444/46/50/50/52/52/54/62/62/62 / 18001800 Pos. = 1799, Min. Weight = 2525/69/81/85/105/105/109/109/117/Pos. = 1799, Min. Weight = 2525/69/81/85/105/105/109/109/117 / Pos. =1439,min_p1=1446,Min.Weight= 3434/ 42/ 42/ 42/ 46/ 48/ 50/ 58/ 60/ 62/Pos. = 1439, min_p1 = 1446, Min.Weight = 3434/42/42/42/46/48/50/58/60/62 /

19601960 Pos. = 1959, Min. Weight = 2525/77/79/83/89/91/97/109/113/125/Pos. = 1959, Min. Weight = 2525/77/79/83/89/91/97/109/113/125 / Pos. =1161,min_p1=1175,Min.Weight = 4040/ 44/ 44/ 46/ 48/ 50/ 50/ 52/ 54/ 64/Pos. = 1161, min_p1 = 1175, Min.Weight = 4040/44/44/46/48/50/50/52/54/64 / 20402040 Pos. = 2039, Min. Weight = 2525/75/77/77/93/109/109/113/129/133/Pos. = 2039, Min. Weight = 2525/75/77/77/93/109/109/113/129/133 / Pos. =1932,min_p1=1939,Min.Weight= 3838/ 40/ 54/ 54/ 56/ 64/ 64/ 74/ 74/ 74/Pos. = 1932, min_p1 = 1939, Min.Weight = 3838/40/54/54/56/64/64/74/74/74 / 20802080 Pos. = 2079, Min. Weight = 2525/69/77/81/93/103/109/111/119/121/Pos. = 2079, Min. Weight = 2525/69/77/81/93/103/109/111/119/121 / Pos. =928,min_p1= 935, Min. Weight = 4040/ 42/ 46/ 54/ 54/ 56/ 58/ 72/ 76/ 88/Pos. = 928, min_p1 = 935, Min. Weight = 4040/42/46/54/54/56/58/72/76/88 / 21602160 Pos. = 2159, Min. Weight = 2525/77/81/93/93/97/99/105/107/129/Pos. = 2159, Min. Weight = 2525/77/81/93/93/97/99/105/107/129 / Pos. =644,min_p1= 651, Min. Weight = 3838/ 42/ 46/ 50/ 52/ 54/ 54/ 54/ 54/ 60/Pos. = 644, min_p1 = 651, Min. Weight = 3838/42/46/50/52/54/54/54/54/60 / 22002200 Pos. = 2199, Min. Weight = 2525/57/63/81/97/101/117/121/133/141/Pos. = 2199, Min. Weight = 2525/57/63/81/97/101/117/121/133/141 / Pos. =1973,min_p1=1980,Min.Weight = 4242/ 42/ 44/ 52/ 52/ 54/ 54/ 54/ 60/ 62/Pos. = 1973, min_p1 = 1980, Min.Weight = 4242/42/44/52/52/54/54/54/60/62 / 22802280 Pos. = 2279, Min. Weight = 2525/75/87/89/97/101/113/121/133/139/Pos. = 2279, Min. Weight = 2525/75/87/89/97/101/113/121/133/139 / Pos. =1136,min_p1=1150,Min. Weight = 4242/ 42/ 42/ 44/ 50/ 54/ 54/ 54/ 62/ 62/Pos. = 1136, min_p1 = 1150, Min. Weight = 4242/42/42/44/50/54/54/54/62/62 / 25602560 Pos. = 2559, Min. Weight = 2525/71/73/95/97/109/119/149/149/153/Pos. = 2559, Min. Weight = 2525/71/73/95/97/109/119/149/149/153 / Pos. =1663,min_p1=1670,Min. Weight = 4242/ 42/ 46/ 48/ 54/ 56/ 56/ 56/ 62/ 62/Pos. = 1663, min_p1 = 1670, Min. Weight = 4242/42/46/48/54/56/56/56/62/62 / 26402640 Pos. = 2639, Min. Weight = 2525/87/93/101/109/117/119/133/141/143/Pos. = 2639, Min. Weight = 2525/87/93/101/109/117/119/133/141/143 / Pos. =1582,min_p1=1589,Min. Weight = 3838/ 42/ 42/ 42/ 44/ 46/ 50/ 56/ 62/ 66/Pos. = 1582, min_p1 = 1589, Min. Weight = 3838/42/42/42/44/46/50/56/62/66 / 27602760 Pos. = 2759, Min. Weight = 2525/97/101/103/113/113/121/141/143/Pos. = 2759, Min. Weight = 2525/97/101/103/113/113/121/141/143 / Pos. =820,min_p1= 834, Min. Weight = 4242/ 48/ 52/ 54/ 58/ 62/ 62/ 66/ 66/ 66/Pos. = 820, min_p1 = 834, Min. Weight = 4242/48/52/54/58/62/62/66/66/66 / 28002800 Pos. = 2799, Min. Weight = 2525/85/97/97/101/101/113/119/137/137/Pos. = 2799, Min. Weight = 2525/85/97/97/101/101/113/119/137/137 / Pos. =412,min_p1=419, Min. Weight = 4444/ 58/ 62/ 62/ 70/ 72/ 72/ 76/ 80/ 82/Pos. = 412, min_p1 = 419, Min. Weight = 4444/58/62/62/70/72/72/76/80/82 / 30003000 Pos. = 2999, Min. Weight = 2525/85/89/105/123/127/155/157/165/171/Pos. = 2999, Min. Weight = 2525/85/89/105/123/127/155/157/165/171 / Pos. =2396,min_p1=2403,Min.Weight = 3434/ 38/ 40/ 50/ 54/ 54/ 54/ 58/ 74/ 76/Pos. = 2396, min_p1 = 2403, Min.Weight = 3434/38/40/50/54/54/54/58/74/76 / 30403040 Pos. = 3039, Min. Weight = 2525/61/89/95/105/115/121/133/135/141/Pos. = 3039, Min. Weight = 2525/61/89/95/105/115/121/133/135/141 / Pos. =604,min_p1= 611, Min. Weight = 3838/ 38/ 42/ 46/ 46/ 52/ 52/ 64/ 66/ 76/Pos. = 604, min_p1 = 611, Min. Weight = 3838/38/42/46/46/52/52/64/66/76 / 31603160 Pos. = 3159, Min. Weight = 2525/101/101/105/109/125/127/141/145/149/Pos. = 3159, Min. Weight = 2525/101/101/105/109/125/127/141/145/149 / Pos. =2524,min_p1=2538,Min. Weight = 3838/ 42/ 46/ 56/ 68/ 76/ 76/ 78/ 90/ 90/Pos. = 2524, min_p1 = 2538, Min. Weight = 3838/42/46/56/68/76/76/78/90/90 / 32803280 Pos. = 3279, Min. Weight = 2525/93/105/113/121/125/125/131/131/133/Pos. = 3279, Min. Weight = 2525/93/105/113/121/125/125/131/131/133 / Pos. =3109,min_p1=3123,Min. Weight = 4242/ 50/ 52/ 62/ 62/ 76/ 90/ 90/ 90/ 90/Pos. = 3109, min_p1 = 3123, Min. Weight = 4242/50/52/62/62/76/90/90/90/90 / 33603360 Pos. = 3359, Min. Weight = 2525/71/73/107/117/129/141/141/153/169/Pos. = 3359, Min. Weight = 2525/71/73/107/117/129/141/141/153/169 / Pos. =3019,min_p1=3026,Min.Weight = 4242/ 52/ 54/ 66/ 76/ 80/ 88/ 90/ 90/ 90/Pos. = 3019, min_p1 = 3026, Min.Weight = 4242/52/54/66/76/80/88/90/90/90 /

34803480 Pos. = 3479, Min. Weight = 2525/87/99/105/113/117/133/133/141/145/Pos. = 3479, Min. Weight = 2525/87/99/105/113/117/133/133/141/145 / Pos. =1042,min_p1=1049,Min. Weight = 3838/ 38/ 54/ 54/ 56/ 58/ 58/ 58/ 60/ 62/Pos. = 1042, min_p1 = 1049, Min. Weight = 3838/38/54/54/56/58/58/58/60/62 / 36003600 Pos. = 3599, Min. Weight = 2525/97/109/121/137/139/153/167/167/177/Pos. = 3599, Min. Weight = 2525/97/109/121/137/139/153/167/167/177 / Pos. =1438,min_p1=1445,Min.Weight = 4242/ 46/ 48/ 54/ 54/ 62/ 74/ 76/ 90/ 90/Pos. = 1438, min_p1 = 1445, Min.Weight = 4242/46/48/54/54/62/74/76/90/90 / 36403640 Pos. = 3639, Min. Weight = 2525/87/97/125/137/137/137/149/163/169/Pos. = 3639, Min. Weight = 2525/87/97/125/137/137/137/149/163/169 / Pos. =3262,min_p1=3276,Min.Weight = 5454/ 58/ 58/ 62/ 66/ 68/ 72/ 74/ 82/ 88/Pos. = 3262, min_p1 = 3276, Min.Weight = 5454/58/58/62/66/68/72/74/82/88 / 38403840 Pos. = 3839, Min. Weight = 2525/53/97/115/117/129/145/147/151/153/Pos. = 3839, Min. Weight = 2525/53/97/115/117/129/145/147/151/153 / Pos. =759,min_p1=773, Min. Weight = 4242/ 56/ 58/ 62/ 62/ 62/ 62/ 66/ 70/ 72/Pos. = 759, min_p1 = 773, Min. Weight = 4242/56/58/62/62/62/62/66/70/72 / 38803880 Pos. = 3879, Min. Weight = 2525/91/93/121/129/133/145/173/173/177/Pos. = 3879, Min. Weight = 2525/91/93/121/129/133/145/173/173/177 / Pos. =383,min_p1=397,Min. Weight = 5454/ 56/ 60/ 62/ 66/ 74/ 86/ 90/ 90/ 90/Pos. = 383, min_p1 = 397, Min. Weight = 5454/56/60/62/66/74/86/90/90/90 / 39603960 Pos. = 3959, Min. Weight = 2525/91/105/125/125/133/135/137/141/143/Pos. = 3959, Min. Weight = 2525/91/105/125/125/133/135/137/141/143 / Pos. =1372,min_p1=1386,Min.Weight = 4040/ 62/ 68/ 78/ 88/ 90/ 90/ 90/ 90/ 90/Pos. = 1372, min_p1 = 1386, Min.Weight = 4040/62/68/78/88/90/90/90/90/90 / 40004000 Pos. = 3999, Min. Weight = 2525/75/85/133/149/149/149/153/161/175/Pos. = 3999, Min. Weight = 2525/75/85/133/149/149/149/153/161/175 / Pos. =797,min_p1=804,Min. Weight = 3838/ 42/ 42/ 50/ 54/ 54/ 54/ 54/ 54/ 56/Pos. = 797, min_p1 = 804, Min. Weight = 3838/42/42/50/54/54/54/54/54/56 / 42404240 Pos. = 4239, Min. Weight = 2525/109/119/143/151/153/157/165/169/193/Pos. = 4239, Min. Weight = 2525/109/119/143/151/153/157/165/169/193 / Pos. =3392,min_p1=3399,Min.Weight = 4040/ 42/ 42/ 46/ 50/ 66/ 80/ 90/ 90/ 90/Pos. = 3392, min_p1 = 3399, Min.Weight = 4040/42/42/46/50/66/80/90/90/90 / 44804480 Pos. = 4479, Min. Weight = 2525/89/89/89/117/119/137/149/159/161/Pos. = 4479, Min. Weight = 2525/89/89/89/117/119/137/149/159/161 / Pos. =892,min_p1=899, Min. Weight = 3838/ 38/ 42/ 42/ 42/ 46/ 54/ 64/ 90/ 90/Pos. = 892, min_p1 = 899, Min. Weight = 3838/38/42/42/42/46/54/64/90/90 / 45604560 Pos. = 4559, Min. Weight = 2525/113/121/125/137/149/161/165/175/177/Pos. = 4559, Min. Weight = 2525/113/121/125/137/149/161/165/175/177 / Pos. =1368,min_p1=1382,Min.Weight = 4444/ 58/ 66/ 68/ 70/ 70/ 82/ 84/ 86/ 88/Pos. = 1368, min_p1 = 1382, Min.Weight = 4444/58/66/68/70/70/82/84/86/88 / 46004600 Pos. = 4599, Min. Weight = 2525/69/107/121/129/149/151/153/159/161/Pos. = 4599, Min. Weight = 2525/69/107/121/129/149/151/153/159/161 / Pos. =3676,min_p1=3683,Min.Weight = 3434/ 48/ 50/ 58/ 62/ 66/ 66/ 76/ 86/ 90/Pos. = 3676, min_p1 = 3683, Min.Weight = 3434/48/50/58/62/66/66/76/86/90 / 46804680 Pos. = 4679, Min. Weight = 2525/99/109/137/143/153/171/177/179/187/Pos. = 4679, Min. Weight = 2525/99/109/137/143/153/171/177/179/187 / Pos. =928,min_p1=942,Min. Weight = 4242/ 44/ 50/ 58/ 62/ 62/ 64/ 68/ 84/ 86/Pos. = 928, min_p1 = 942, Min. Weight = 4242/44/50/58/62/62/64/68/84/86 / 48004800 Pos. = 4799, Min. Weight = 2525/65/83/129/133/141/157/159/165/169/Pos. = 4799, Min. Weight = 2525/65/83/129/133/141/157/159/165/169 / Pos. =949,min_p1=963,Min. Weight = 4242/ 42/ 50/ 56/ 58/ 66/ 66/ 66/ 70/ 70/Pos. = 949, min_p1 = 963, Min. Weight = 4242/42/50/56/58/66/66/66/70/70 / 48404840 Pos. = 4839, Min. Weight = 2525/95/129/141/145/151/157/161/173/177/Pos. = 4839, Min. Weight = 2525/95/129/141/145/151/157/161/173/177 / Pos. =3858,min_p1=3872,Min.Weight = 4242/ 72/ 80/ 82/ 84/ 90/ 90/ 90/ 90/ 90/Pos. = 3858, min_p1 = 3872, Min.Weight = 4242/72/80/82/84/90/90/90/90/90 / 50405040 Pos. = 5039, Min. Weight = 2525/157/165/165/175/177/189/189/193/197/Pos. = 5039, Min. Weight = 2525/157/165/165/175/177/189/189/193/197 / Pos. =4534,min_p1=4548,Min.Weight = 4646/ 54/ 54/ 58/ 60/ 60/ 62/ 76/ 82/ 90/Pos. = 4534, min_p1 = 4548, Min.Weight = 4646/54/54/58/60/60/62/76/82/90 /

51605160 Pos. = 5159, Min. Weight = 2525/81/95/137/137/145/147/165/181/185/Pos. = 5159, Min. Weight = 2525/81/95/137/137/145/147/165/181/185 / Pos. =2314,min_p1=2321,Min.Weight = 4040/ 40/ 46/ 50/ 58/ 58/ 58/ 62/ 66/ 84/Pos. = 2314, min_p1 = 2321, Min.Weight = 4040/40/46/50/58/58/58/62/66/84 / 52805280 Pos. = 5279, Min. Weight = 2525/75/101/109/133/137/165/169/181/185/Pos. = 5279, Min. Weight = 2525/75/101/109/133/137/165/169/181/185 / Pos. =1579,min_p1=1593,Min.Weight = 4242/ 50/ 62/ 66/ 70/ 72/ 82/ 82/ 90/ 90/Pos. = 1579, min_p1 = 1593, Min.Weight = 4242/50/62/66/70/72/82/82/90/90 / 54005400 Pos. = 5399, Min. Weight = 2525/99/117/117/125/133/169/173/189/197/Pos. = 5399, Min. Weight = 2525/99/117/117/125/133/169/173/189/197 / Pos. =5124,min_p1=5131,Min.Weight = 3838/ 50/ 52/ 54/ 58/ 72/ 90/ 90/ 90/ 90/Pos. = 5124, min_p1 = 5131, Min.Weight = 3838/50/52/54/58/72/90/90/90/90 / 54405440 Pos. = 5439, Min. Weight = 2525/73/109/143/169/169/169/173/175/181/Pos. = 5439, Min. Weight = 2525/73/109/143/169/169/169/173/175/181 / Pos. =4617,min_p1=4624,Min.Weight = 5050/ 58/ 60/ 62/ 76/ 90/ 90/ 90/ 90/ 90/Pos. = 4617, min_p1 = 4624, Min.Weight = 5050/58/60/62/76/90/90/90/90/90 / 55605560 Pos. = 5559, Min. Weight = 2525/105/141/143/177/181/189/193/193/201/Pos. = 5559, Min. Weight = 2525/105/141/143/177/181/189/193/193/201 / Pos. =4441,min_p1=4448,Min.Weight = 3838/ 42/ 46/ 54/ 66/ 78/ 84/ 88/ 88/ 90/Pos. = 4441, min_p1 = 4448, Min.Weight = 3838/42/46/54/66/78/84/88/88/90 / 56405640 Pos. = 5639, Min. Weight = 2525/101/115/145/153/153/153/165/169/173/Pos. = 5639, Min. Weight = 2525/101/115/145/153/153/153/165/169/173 / Pos. =1120,min_p1=1134,Min.Weight = 4242/ 62/ 76/ 86/ 86/ 90/ 90/ 90/ 90/ 90/Pos. = 1120, min_p1 = 1134, Min.Weight = 4242/62/76/86/86/90/90/90/90/90 / 56805680 Pos. = 5679, Min. Weight = 2525/101/145/165/173/181/187/187/193/197/Pos. = 5679, Min. Weight = 2525/101/145/165/173/181/187/187/193/197 / Pos. =851,min_p1=858,Min. Weight = 5050/ 54/ 62/ 74/ 78/ 80/ 82/ 84/ 88/ 88/Pos. = 851, min_p1 = 858, Min. Weight = 5050/54/62/74/78/80/82/84/88/88 / 58805880 Pos. = 5879, Min. Weight = 2525/103/129/161/173/177/189/199/201/201/Pos. = 5879, Min. Weight = 2525/103/129/161/173/177/189/199/201/201 / Pos. =4410,min_p1=4417,Min.Weight = 4242/ 52/ 72/ 80/ 90/ 90/ 90/ 90/ 90/ 90/Pos. = 4410, min_p1 = 4417, Min.Weight = 4242/52/72/80/90/90/90/90/90/90 / 61606160 Pos. = 6159, Min. Weight = 2525/129/155/157/165/187/197/205/209/217/Pos. = 6159, Min. Weight = 2525/129/155/157/165/187/197/205/209/217 / Pos. =5849,min_p1=5863,Min.Weight = 4242/ 44/ 46/ 58/ 90/ 90/ 90/ 90/ 90/ 90/Pos. = 5849, min_p1 = 5863, Min.Weight = 4242/44/46/58/90/90/90/90/90/90 / 62406240 Pos. = 6239, Min. Weight = 2525/119/119/123/169/185/197/199/213/213/Pos. = 6239, Min. Weight = 2525/119/119/123/169/185/197/199/213/213 / Pos. =305,min_p1=319,Min.Weight = 4242/ 42/ 62/ 80/ 90/ 90/ 90/ 90/ 90/ 90/Pos. = 305, min_p1 = 319, Min.Weight = 4242/42/62/80/90/90/90/90/90/90 / 62806280 Pos. = 6279, Min. Weight = 2525/117/133/137/161/175/177/195/197/197/Pos. = 6279, Min. Weight = 2525/117/133/137/161/175/177/195/197/197 / Pos. =5323,min_p1=5337,Min.Weight = 4444/ 68/ 72/ 72/ 80/ 88/ 90/ 90/ 90/ 90/Pos. = 5323, min_p1 = 5337, Min.Weight = 4444/68/72/72/80/88/90/90/90/90 / 53605360 Pos. = 6359, Min. Weight = 2525/109/137/141/141/145/147/161/187/201/Pos. = 6359, Min. Weight = 2525/109/137/141/141/145/147/161/187/201 / Pos. =5081,min_p1=5095,Min.Weight = 3838/ 42/ 46/ 62/ 78/ 86/ 90/ 90/ 90/ 90/Pos. = 5081, min_p1 = 5095, Min.Weight = 3838/42/46/62/78/86/90/90/90/90 / 66406640 Pos. = 6639, Min. Weight = 2525/101/109/139/147/175/177/185/209/217/Pos. = 6639, Min. Weight = 2525/101/109/139/147/175/177/185/209/217 / Pos. =3645,min_p1=3652,Min.Weight = 4444/ 54/ 58/ 60/ 64/ 90/ 90/ 90/ 90/ 90/Pos. = 3645, min_p1 = 3652, Min.Weight = 4444/54/58/60/64/90/90/90/90/90 / 67606760 Pos. = 6759, Min. Weight = 2525/105/125/165/203/215/217/229/249/249/Pos. = 6759, Min. Weight = 2525/105/125/165/203/215/217/229/249/249 / Pos. =6409,min_p1=6423,Min.Weight = 4242/ 50/ 70/ 84/ 90/ 90/ 90/ 90/ 90/ 90/Pos. = 6409, min_p1 = 6423, Min.Weight = 4242/50/70/84/90/90/90/90/90/90 / 69606960 Pos. = 6959, Min. Weight = 2525/123/145/145/161/209/211/217/219/223/Pos. = 6959, Min. Weight = 2525/123/145/145/161/209/211/217/219/223 / Pos. =5565,min_p1=5572,Min.Weight = 3434/ 50/ 54/ 62/ 66/ 80/ 82/ 88/ 90/ 90/Pos. = 5565, min_p1 = 5572, Min.Weight = 3434/50/54/62/66/80/82/88/90/90 /

70007000 Pos. = 6999, Min. Weight = 2525/111/145/145/197/221/221/233/235/237/Pos. = 6999, Min. Weight = 2525/111/145/145/197/221/221/233/235/237 / Pos. =3846,min_p1=3853,Min.Weight = 3838/ 52/ 54/ 60/ 62/ 72/ 84/ 90/ 90/ 90/Pos. = 3846, min_p1 = 3853, Min.Weight = 3838/52/54/60/62/72/84/90/90/90 / 70807080 Pos. = 7079, Min. Weight = 2525/117/129/161/165/169/171/175/175/177/Pos. = 7079, Min. Weight = 2525/117/129/161/165/169/171/175/175/177 / Pos. =2122,min_p1=2129,Min.Weight = 3838/ 42/ 50/ 54/ 54/ 58/ 72/ 84/ 88/ 90/Pos. = 2122, min_p1 = 2129, Min.Weight = 3838/42/50/54/54/58/72/84/88/90 / 72007200 Pos. = 7199, Min. Weight = 2525/167/169/173/185/185/215/217/225/225/Pos. = 7199, Min. Weight = 2525/167/169/173/185/185/215/217/225/225 / Pos. =6833,min_p1=6840,Min.Weight = 4444/ 50/ 66/ 84/ 90/ 90/ 90/ 90/ 90/ 90/Pos. = 6833, min_p1 = 6840, Min.Weight = 4444/50/66/84/90/90/90/90/90/90 / 73607360 Pos. = 7359, Min. Weight = 2525/81/157/169/173/173/183/221/221/221/Pos. = 7359, Min. Weight = 2525/81/157/169/173/173/183/221/221/221 / Pos. =1836,min_p1=1843,Min.Weight = 4646/ 60/ 72/ 82/ 82/ 90/ 90/ 90/ 90/ 90/Pos. = 1836, min_p1 = 1843, Min.Weight = 4646/60/72/82/82/90/90/90/90/90 / 74807480 Pos. = 7479, Min. Weight = 2525/117/153/201/207/217/217/227/229/233/Pos. = 7479, Min. Weight = 2525/117/153/201/207/217/217/227/229/233 / Pos. =1865,min_p1=1872,Min.Weight = 4646/ 66/ 66/ 72/ 82/ 82/ 90/ 90/ 90/ 90/Pos. = 1865, min_p1 = 1872, Min.Weight = 4646/66/66/72/82/82/90/90/90/90 / 76007600 Pos. = 7599, Min. Weight = 2525/125/155/157/201/221/223/239/245/251/Pos. = 7599, Min. Weight = 2525/125/155/157/201/221/223/239/245/251 / Pos. =1893,min_p1=1900,Min.Weight = 4646/ 56/ 58/ 72/ 84/ 90/ 90/ 90/ 90/ 90/Pos. = 1893, min_p1 = 1900, Min.Weight = 4646/56/58/72/84/90/90/90/90/90 / 76807680 Pos. = 7679, Min. Weight = 2525/133/153/157/189/207/237/241/243/253/Pos. = 7679, Min. Weight = 2525/133/153/157/189/207/237/241/243/253 / Pos. =2865,min_p1=2872,Min.Weight = 7878/ 90/ 90/ 90/ 90/ 90/ 90/ 90/ 90/ 90/Pos. = 2865, min_p1 = 2872, Min.Weight = 7878/90/90/90/90/90/90/90/90/90 / 78007800 Pos. = 7799, Min. Weight = 2525/115/151/157/181/193/209/241/249/251/Pos. = 7799, Min. Weight = 2525/115/151/157/181/193/209/241/249/251 / Pos. =1170,min_p1=1184,Min.Weight = 4444/ 50/ 64/ 72/ 76/ 80/ 86/ 90/ 90/ 90/Pos. = 1170, min_p1 = 1184, Min.Weight = 4444/50/64/72/76/80/86/90/90/90 / 79607960 Pos. = 7959, Min. Weight = 2525/135/145/153/169/169/185/217/223/223/Pos. = 7959, Min. Weight = 2525/135/145/153/169/169/185/217/223/223 / Pos. =398,min_p1=405,Min. Weight = 4040/ 80/ 86/ 88/ 90/ 90/ 90/ 90/ 90/ 90/Pos. = 398, min_p1 = 405, Min. Weight = 4040/80/86/88/90/90/90/90/90/90 / 80408040 Pos. = 8039, Min. Weight = 2525/109/109/111/141/185/201/219/241/249/Pos. = 8039, Min. Weight = 2525/109/109/111/141/185/201/219/241/249 / Pos. =7054,min_p1=7068,Min.Weight = 5656/ 68/ 90/ 90/ 90/ 90/ 90/ 90/ 90/ 90/Pos. = 7054, min_p1 = 7068, Min.Weight = 5656/68/90/90/90/90/90/90/90/90 /

하기 표 3은 개선된 알고리즘으로 구한 PIL 인터리버의 자유거리 스펙트럼을 보여준다.Table 3 below shows the free range spectrum of the PIL interleaver obtained with the improved algorithm.

KK Dfree(1)/PILSSDfree (1) / PILSS Dfree(2)/PILSSDfree (2) / PILSS 600600 pos. = 569, Min. Weight = 3939/41/49/53/57/61/65/67/67/77/pos. = 569, Min. Weight = 3939/41/49/53/57/61/65/67/67/77 / pos. =29,min_p1=36,Min.Weight = 3838/ 38/ 42/ 42/ 42/ 42/ 42/ 42/ 42/ 42/pos. = 29, min_p1 = 36, Min.Weight = 3838/38/42/42/42/42/42/42/42/42 / 640640 Pos. = 607, Min. Weight = 3737/43/53/53/53/69/71/73/75/77/Pos. = 607, Min. Weight = 3737/43/53/53/53/69/71/73/75/77 / pos. =440,min_p1= 447, Min. Weight = 4040/ 40/ 42/ 42/ 44/ 44/ 46/ 46/ 46/ 48/pos. = 440, min_p1 = 447, Min. Weight = 4040/40/42/42/44/44/46/46/46/48 / 760760 Pos. = 721, Min. Weight = 4141/45/57/57/59/69/75/77/81/83/Pos. = 721, Min. Weight = 4141/45/57/57/59/69/75/77/81/83 / pos. = 33, min_p1 = 40, Min. Weight =3838/ 38/ 38/ 42/ 42/ 42/ 42/ 44/ 44/ 50/pos. = 33, min_p1 = 40, Min. Weight = 3838/38/38/42/42/42/42/44/44/50 / 840840 pos. = 797, Min. Weight = 4545/45/57/65/65/79/79/83/85/87/pos. = 797, Min. Weight = 4545/45/57/65/65/79/79/83/85/87 / pos. =461, min_p1= 468, Min. Weight= 3636/ 38/ 40/ 42/ 42/ 42/ 44/ 46/ 46/ 46/pos. = 461, min_p1 = 468, Min. Weight = 3636/38/40/42/42/42/44/46/46/46 / 880880 pos. = 835, Min. Weight = 4747/49/57/61/65/71/83/89/93/93/pos. = 835, Min. Weight = 4747/49/57/61/65/71/83/89/93/93 / pos. = 294, min_p1=308, Min. Weight=4040/ 44/ 46/ 46/ 46/ 48/ 56/ 56/ 58/ 62/pos. = 294, min_p1 = 308, Min. Weight = 4040/44/46/46/46/48/56/56/58/62 / 960960 Pos. = 911, Min. Weight = 4545/49/61/65/69/71/73/87/87/89/Pos. = 911, Min. Weight = 4545/49/61/65/69/71/73/87/87/89 / pos. =568, min_p1=575, Min. Weight=3636/ 38/ 38/ 42/ 42/ 42/ 42/ 44/ 44/ 46/pos. = 568, min_p1 = 575, Min. Weight = 3636/38/38/42/42/42/42/44/44/46 / 10801080 Pos. = 1025, Min. Weight = 4949/53/61/65/67/77/85/89/93/ 97/Pos. = 1025, Min. Weight = 4949/53/61/65/67/77/85/89/93/97 / pos.=1016, min_p1=1030, Min. Weight=4242/ 42/ 46/ 48/ 48/ 50/ 52/ 52/ 54/ 54/pos. = 1016, min_p1 = 1030, Min. Weight = 4242/42/46/48/48/50/52/52/54/54 / 12001200 pos. = 1139, Min. Weight = 5353/59/65/69/85/85/89/89/95/103/pos. = 1139, Min. Weight = 5353/59/65/69/85/85/89/89/95/103 / pos. =953, min_p1=967, Min. Weight=3838/ 38/ 42/ 42/ 42/ 42/ 46/ 48/ 50/ 50/pos. = 953, min_p1 = 967, Min. Weight = 3838/38/42/42/42/42/46/48/50/50 / 12401240 pos. = 1177, Min. Weight = 5353/57/67/69/71/85/93/93/103/105/pos. = 1177, Min. Weight = 5353/57/67/69/71/85/93/93/103/105 / pos. =1053, min_p1=1060, Min. Weight=3838/ 38/ 40/ 40/ 42/ 42/ 46/ 46/ 46/ 48/pos. = 1053, min_p1 = 1060, Min. Weight = 3838/38/40/40/42/42/46/46/46/48 / 13601360 pos. = 1291, Min. Weight = 5757/61/65/73/85/91/93/105/107/107/pos. = 1291, Min. Weight = 5757/61/65/73/85/91/93/105/107/107 / pos.= 64, min_p1 = 71, Min. Weight = 3838/ 42/ 42/ 42/ 42/ 44/ 46/ 46/ 46/ 50/pos. = 64, min_p1 = 71, Min. Weight = 3838/42/42/42/42/44/46/46/46/50 / 14401440 pos. = 1429, Min. Weight = 5353/63/65/73/77/87/89/97/105/109/pos. = 1429, Min. Weight = 5353/63/65/73/77/87/89/97/105/109 / pos. = 497, min_p1=504, Min. Weight=3636/ 42/ 42/ 46/ 46/ 50/ 50/ 52/ 54/ 58/pos. = 497, min_p1 = 504, Min. Weight = 3636/42/42/46/46/50/50/52/54/58 / 14801480 pos. = 1405, Min. Weight = 6161/65/67/77/77/83/95/101/109/117/pos. = 1405, Min. Weight = 6161/65/67/77/77/83/95/101/109/117 / pos.=1103, min_p1=1110, Min. Weight= 4242/ 42/ 44/ 48/ 50/ 50/ 50/ 50/ 54/ 54/pos. = 1103, min_p1 = 1110, Min. Weight = 4242/42/44/48/50/50/50/50/54/54 / 16001600 pos. = 1573, Min. Weight = 6161/65/69/83/83/93/97/105/105/113/pos. = 1573, Min. Weight = 6161/65/69/83/83/93/97/105/105/113 / pos. =315, min_p1=322, Min. Weight= 3838/ 38/ 38/ 40/ 42/ 44/ 50/ 50/ 50/ 54/pos. = 315, min_p1 = 322, Min. Weight = 3838/38/38/40/42/44/50/50/50/54 / 16801680 pos. = 1595, Min. Weight = 6969/69/69/81/89/95/103/113/117/125/pos. = 1595, Min. Weight = 6969/69/69/81/89/95/103/113/117/125 / pos. =504, min_p1=518, Min. Weight= 4444/ 46/ 50/ 50/ 52/ 52/ 54/ 62/ 62/ 62/pos. = 504, min_p1 = 518, Min. Weight = 4444/46/50/50/52/52/54/62/62/62 / 18001800 pos. = 1709, Min. Weight = 6969/73/81/85/105/105/109/109/117/121/pos. = 1709, Min. Weight = 6969/73/81/85/105/105/109/109/117/121 / pos. =1439, min_p1=1446, Min. Weight=3434/ 42/ 42/ 42/ 46/ 48/ 50/ 58/ 60/ 62/pos. = 1439, min_p1 = 1446, Min. Weight = 3434/42/42/42/46/48/50/58/60/62 /

19601960 pos. = 1861, Min. Weight = 7777/77/79/83/89/91/97/109/113/125/pos. = 1861, Min. Weight = 7777/77/79/83/89/91/97/109/113/125 / pos.=1161,min_p1=1175,Min.Weight=4040/44/44/46/48/ 50/ 50/ 52/ 54/ 64/pos. = 1161, min_p1 = 1175, Min.Weight = 4040/44/44/46/48/50/50/52/54/64 / 20402040 pos. = 2014, Min. Weight = 7575/77/77/83/93/109/109/113/129/133/pos. = 2014, Min. Weight = 7575/77/77/83/93/109/109/113/129/133 / pos.=1114,min_p1=1121,Min.Weight=4040/54/54/56/64/ 64/ 74/ 74/ 74/ 80/pos. = 1114, min_p1 = 1121, Min.Weight = 4040/54/54/56/64/64/74/74/74/80 / 20802080 pos. = 2038, Min. Weight = 6969/77/81/81/93/103/109/111/119/121/pos. = 2038, Min. Weight = 6969/77/81/81/93/103/109/111/119/121 / pos.=928,min_p1=935,Min.Weight = 4040/42/46/54/54/ 56/ 58/ 76/ 88/ 90/pos. = 928, min_p1 = 935, Min.Weight = 4040/42/46/54/54/56/58/76/88/90 / 21602160 pos. = 2106, Min. Weight = 7777/81/85/93/93/97/99/105/107/129/pos. = 2106, Min. Weight = 7777/81/85/93/93/97/99/105/107/129 / pos.=644,min_p1=651,Min. Weight= 3838/42/46/50/52/ 54/ 54/ 54/ 54/ 60/pos. = 644, min_p1 = 651, Min. Weight = 3838/42/46/50/52/54/54/54/54/60 / 22002200 pos. = 2181, Min. Weight = 5757/63/81/85/97/101/117/121/133/141/pos. = 2181, Min. Weight = 5757/63/81/85/97/101/117/121/133/141 / Pos.=1973,min_p1=1980,Min.weight=4242/42/44/52/ 52/ 54/ 54/ 54/ 60/ 62Pos. = 1973, min_p1 = 1980, Min.weight = 4242/42/44/52/52/54/54/54/60/62 22802280 pos. =2254, Min. Weight = 7575/87/89/89/97/101/113/121/133/139pos. = 2254, Min. Weight = 7575/87/89/89/97/101/113/121/133/139 pos.=1136,min_p1=1150,Min.Weight=4242/42/42/44/50/54/ 54/ 54/ 62/ 62/pos. = 1136, min_p1 = 1150, Min.Weight = 4242/42/42/44/50/54/54/54/62/62 / 25602560 pos. = 2545, Min. Weight = 7171/73/95/97/97/109/119/149/149/153/pos. = 2545, Min. Weight = 7171/73/95/97/97/109/119/149/149/153 / pos.=1663,min_p1=1670,Min.Weight=4242/46/48/54/56/56/ 56/ 62/ 64/ 72/pos. = 1663, min_p1 = 1670, Min.Weight = 4242/46/48/54/56/56/56/62/64/72 / 26402640 pos. = 2574, Min. Weight = 8787/93/97/101/109/117/119/133/141/143/pos. = 2574, Min. Weight = 8787/93/97/101/109/117/119/133/141/143 / pos.=1582,min_p1=1589,Min.Weight=3838/42/42/42/44/46/ 50/ 56/ 62/ 66/pos. = 1582, min_p1 = 1589, Min.Weight = 3838/42/42/42/44/46/50/56/62/66 / 27602760 pos. = 2621, Min. Weight = 9797/101/101/103/113/113/121/141/143/145/pos. = 2621, Min. Weight = 9797/101/101/103/113/113/121/141/143/145 / pos.=820,min_p1=834,Min.Weight=4242/48/52/54/58/62/ 62/ 66/ 66/ 66/pos. = 820, min_p1 = 834, Min.Weight = 4242/48/52/54/58/62/62/66/66/66 / 28002800 pos. = 2730, Min. Weight = 8585/97/97/101/101/101/113/119/137/137/pos. = 2730, Min. Weight = 8585/97/97/101/101/101/113/119/137/137 / pos.=412,min_p1=419,Min. Weight=4444/58/62/62/66/ 70/ 72/ 72/ 76/ 80/pos. = 412, min_p1 = 419, Min. Weight = 4444/58/62/62/66/70/72/72/76/80 / 30003000 pos. = 2962, Min. Weight = 8585/89/105/109/123/127/155/157/165/171/pos. = 2962, Min. Weight = 8585/89/105/109/123/127/155/157/165/171 / pos.=2396,min_p1=2403,Min.Weight=3434/38/40/50/54/54/ 54/ 58/ 74/ 76/pos. = 2396, min_p1 = 2403, Min.Weight = 3434/38/40/50/54/54/54/58/74/76 / 30403040 pos. = 3014, Min. Weight = 6161/89/95/105/109/115/121/133/135/141/pos. = 3014, Min. Weight = 6161/89/95/105/109/115/121/133/135/141 / pos.=604,min_p1=611,Min. Weight=3838/38/42/46/46/52/52/64/ 66/ 76/pos. = 604, min_p1 = 611, Min. Weight = 3838/38/42/46/46/52/52/64/66/76 / 31603160 pos. = 3065, Min. Weight = 101101/101/105/109/115/125/127/141/145/149/pos. = 3065, Min. Weight = 101101/101/105/109/115/125/127/141/145/149 / pos.=2524,min_p1=2538,Min.Weight=3838/42/46/56/68/76/ 76/ 78/ 90/ 90/pos. = 2524, min_p1 = 2538, Min.Weight = 3838/42/46/56/68/76/76/78/90/90 / 32803280 pos. = 3198, Min. Weight = 9393/105/113/117/121/125/125/131/131/133/pos. = 3198, Min. Weight = 9393/105/113/117/121/125/125/131/131/133 / pos.=3109,min_p1=3123,Min.Weight=4242/50/52/62/62/76/ 90/ 90/ 90/ 90/pos. = 3109, min_p1 = 3123, Min.Weight = 4242/50/52/62/62/76/90/90/90/90 / 33603360 pos. = 3339, Min. Weight = 7171/73/107/117/117/129/141/141/153/169/pos. = 3339, Min. Weight = 7171/73/107/117/117/129/141/141/153/169 / pos.=3019,min_p1=3026,Min.Weight=4242/52/54/66/76/80/ 88/ 90/ 90/ 90/pos. = 3019, min_p1 = 3026, Min.Weight = 4242/52/54/66/76/80/88/90/90/90 /

34803480 pos. = 3436, Min. Weight = 8787/99/105/113/117/121/133/133/141/145/pos. = 3436, Min. Weight = 8787/99/105/113/117/121/133/133/141/145 / pos.=1042,min_p1=1049,Min.Weight=3838/38/54/ 54/ 56/ 58/ 58/ 58/ 60/ 62/pos. = 1042, min_p1 = 1049, Min.Weight = 3838/38/54/54/56/58/58/58/60/62 / 36003600 pos. = 3510, Min. Weight = 9797/109/121/125/137/139/153/167/167/177/pos. = 3510, Min. Weight = 9797/109/121/125/137/139/153/167/167/177 / pos.=1438,min_p1=1445,Min. Weight=4242/46/48/ 54/ 54/ 62/ 74/ 76/ 90/ 90pos. = 1438, min_p1 = 1445, Min. Weight = 4242/46/48/54/54/62/74/76/90/90 36403640 pos. = 3594, Min. Weight = 8787/97/125/125/137/137/137/149/163/169/pos. = 3594, Min. Weight = 8787/97/125/125/137/137/137/149/163/169 / pos.=3262,min_p1=3276,Min. Weight= 5454/58/58/ 62/ 66/ 68/ 72/ 74/ 82/ 88/pos. = 3262, min_p1 = 3276, Min. Weight = 5454/58/58/62/66/68/72/74/82/88 / 38403840 pos. = 3829, Min. Weight = 5353/97/115/117/129/133/145/147/151/153/pos. = 3829, Min. Weight = 5353/97/115/117/129/133/145/147/151/153 / pos.=759,min_p1=773,Min. Weight= 4242/56/58/ 62/ 62/ 62/ 62/ 66/ 70/ 72/pos. = 759, min_p1 = 773, Min. Weight = 4242/56/58/62/62/62/62/66/70/72 / 38803880 pos. = 3825, Min. Weight = 9191/93/121/129/133/133/145/173/173/177/pos. = 3825, Min. Weight = 9191/93/121/129/133/133/145/173/173/177 / pos.=383,min_p1=397, Min. Weight= 5454/56/60/ 62/ 66/ 74/ 86/ 90/ 90/ 90/pos. = 383, min_p1 = 397, Min. Weight = 5454/56/60/62/66/74/86/90/90/90 / 39603960 pos. = 3910, Min. Weight = 9191/105/125/125/133/135/137/137/141/143/pos. = 3910, Min. Weight = 9191/105/125/125/133/135/137/137/141/143 / pos.=1372,min_p1=1386,Min. Weight=4040/62/68/ 78/ 88/ 90/ 90/ 90/ 90/ 90pos. = 1372, min_p1 = 1386, Min. Weight = 4040/62/68/78/88/90/90/90/90/90 40004000 pos. = 3977, Min. Weight = 7575/85/133/139/149/149/149/153/161/175/pos. = 3977, Min. Weight = 7575/85/133/139/149/149/149/153/161/175 / pos.=797,min_p1=804,Min.Weight =3838/42/42/ 50/ 54/ 54/ 54/ 54/ 54/ 56/pos. = 797, min_p1 = 804, Min.Weight = 3838/42/42/50/54/54/54/54/54/56 / 42404240 pos. = 4134, Min. Weight = 109109/119/143/145/151/153/157/165/169/193/pos. = 4134, Min. Weight = 109109/119/143/145/151/153/157/165/169/193 / pos.=3392,min_p1=3399,Min.Weight=4040/42/42/ 46/ 50/ 66/ 80/ 90/ 90/ 90/pos. = 3392, min_p1 = 3399, Min.Weight = 4040/42/42/46/50/66/80/90/90/90 / 44804480 pos. = 4405, Min. Weight = 8989/89/89/117/119/137/149/149/159/161/pos. = 4405, Min. Weight = 8989/89/89/117/119/137/149/149/159/161 / pos.=892,min_p1=899,Min.Weight= 3838/38/42/42/ 42/ 46/ 54/ 64/ 90/ 90/pos. = 892, min_p1 = 899, Min.Weight = 3838/38/42/42/42/46/54/64/90/90 / 45604560 pos. = 4446, Min. Weight = 113113/121/125/137/149/155/161/165/175/177/pos. = 4446, Min. Weight = 113113/121/125/137/149/155/161/165/175/177 / pos.=1368,min_p1=1382,Min.Weight=4444/58/66/ 68/ 70/ 70/ 82/ 84/ 86/ 88/pos. = 1368, min_p1 = 1382, Min.Weight = 4444/58/66/68/70/70/82/84/86/88 / 46004600 pos. = 4561, Min. Weight = 6969/107/121/129/149/151/153/153/159/161/pos. = 4561, Min. Weight = 6969/107/121/129/149/151/153/153/159/161 / pos.=3676,min_p1=3683,Min.Weight= 3434/48/50/58/ 62/ 66/ 66/ 76/ 86/ 90/pos. = 3676, min_p1 = 3683, Min.Weight = 3434/48/50/58/62/66/66/76/86/90 / 46804680 pos. = 4656, Min. Weight = 9999/109/137/143/153/157/171/177/179/187/pos. = 4656, Min. Weight = 9999/109/137/143/153/157/171/177/179/187 / pos.=928,min_p1=942,Min.Weight =4242/44/50/58/ 62/ 62/ 64/ 68/ 84/ 86/pos. = 928, min_p1 = 942, Min.Weight = 4242/44/50/58/62/62/64/68/84/86 / 48004800 pos. = 4765, Min. Weight = 6565/83/129/133/141/157/159/161/165/169/pos. = 4765, Min. Weight = 6565/83/129/133/141/157/159/161/165/169 / pos.=949,min_p1=963,Min.Weight= 4242/42/50/56/ 58/ 66/ 66/ 66/ 70/ 70/pos. = 949, min_p1 = 963, Min.Weight = 4242/42/50/56/58/66/66/66/70/70 / 48404840 pos. = 4780, Min. Weight = 9595/129/141/145/151/157/161/163/173/177/pos. = 4780, Min. Weight = 9595/129/141/145/151/157/161/163/173/177 / pos.=3858,min_p1=3872,Min.Weight=4242/42/80/ 82/ 84/ 90/ 90/ 90/ 90/ 90/pos. = 3858, min_p1 = 3872, Min.Weight = 4242/42/80/82/84/90/90/90/90/90 / 50405040 pos. = 5029, Min. Weight = 157157/165/165/165/175/177/189/189/193/197/pos. = 5029, Min. Weight = 157 157/165/165/165/175/177/189/189/193/197 / pos.=4534,min_p1=4548,Min.Weight=4646/54/54/58/ 60/ 60/ 62/ 76/ 82/ 90/pos. = 4534, min_p1 = 4548, Min.Weight = 4646/54/54/58/60/60/62/76/82/90 /

51605160 pos. = 5140, Min. Weight = 8181/95/137/137/145/147/165/169/181/185/pos. = 5140, Min. Weight = 8181/95/137/137/145/147/165/169/181/185 / pos.=2314,min_p1=2321,Min. Weight=4040/ 40/ 46/ 50/ 58/ 58/ 58/ 62/ 66/ 84/pos. = 2314, min_p1 = 2321, Min. Weight = 4040/40/46/50/58/58/58/62/66/84 / 52805280 pos. = 5258, Min. Weight = 7575/101/109/133/137/165/169/173/181/185/pos. = 5258, Min. Weight = 7575/101/109/133/137/165/169/173/181/185 / pos.=1579,min_p1= 1593, Min. Weight =4242/ 50/ 62/ 66/ 70/ 72/ 82/ 82/ 90/ 90/pos. = 1579, min_p1 = 1593, Min. Weight = 4242/50/62/66/70/72/82/82/90/90 / 54005400 pos. = 5332, Min. Weight = 9999/117/117/125/133/169/173/179/189/197/pos. = 5332, Min. Weight = 9999/117/117/125/133/169/173/179/189/197 / pos.=1883, min_p1=1890, Min. Weight =5050/ 52/ 54/ 58/ 72/ 90/ 90/ 90/ 90/ 90/pos. = 1883, min_p1 = 1890, Min. Weight = 5050/52/54/58/72/90/90/90/90/90 / 54405440 pos. = 5394, Min. Weight = 7373/109/143/169/169/169/173/175/177/181/pos. = 5394, Min. Weight = 7373/109/143/169/169/169/173/175/177/181 / pos.=4617, min_p1=4624, Min. Weight =5050/ 58/ 60/ 62/ 76/ 90/ 90/ 90/ 90/ 90/pos. = 4617, min_p1 = 4624, Min. Weight = 5050/58/60/62/76/90/90/90/90/90 / 55605560 pos. = 5520, Min. Weight = 105105/141/143/177/181/181/189/193/193/201/pos. = 5520, Min. Weight = 105105/141/143/177/181/181/189/193/193/201 / pos.=4441, min_p1=4448, Min. Weight =3838/ 42/ 46/ 54/ 66/ 78/ 84/ 88/ 88/ 90/pos. = 4441, min_p1 = 4448, Min. Weight = 3838/42/46/54/66/78/84/88/88/90 / 56405640 pos. = 5587, Min. Weight = 101101/115/145/153/153/153/165/169/173/173/pos. = 5587, Min. Weight = 101101/115/145/153/153/153/165/169/173/173 / pos.=1120, min_p1=1134, Min. Weight =4242/ 62/ 76/ 86/ 86/ 90/ 90/ 90/ 90/ 90/pos. = 1120, min_p1 = 1134, Min. Weight = 4242/62/76/86/86/90/90/90/90/90 / 56805680 pos. = 5585, Min. Weight = 101101/145/165/173/181/187/187/187/193/197/pos. = 5585, Min. Weight = 101101/145/165/173/181/187/187/187/193/197 / pos.=851, min_p1=858, Min. Weight =5050/ 54/ 62/ 74/ 78/ 80/ 82/ 84/ 88/ 88/pos. = 851, min_p1 = 858, Min. Weight = 5050/54/62/74/78/80/82/84/88/88 / 58805880 pos. = 5806, Min. Weight = 103103/129/161/173/177/189/189/199/201/201/pos. = 5806, Min. Weight = 103103/129/161/173/177/189/189/199/201/201 / pos.=4410, min_p1=4417, Min. Weight =4242/ 52/ 72/ 80/ 90/ 90/ 90/ 90/ 90/ 90/pos. = 4410, min_p1 = 4417, Min. Weight = 4242/52/72/80/90/90/90/90/90/90 / 61606160 pos. = 6111, Min. Weight = 129129/155/157/165/187/197/197/205/209/217/pos. = 6111, Min. Weight = 129129/155/157/165/187/197/197/205/209/217 / pos.=5849, min_p1=5863, Min. Weight =4242/ 44/ 46/ 58/ 90/ 90/ 90/ 90/ 90/ 90/pos. = 5849, min_p1 = 5863, Min. Weight = 4242/44/46/58/90/90/90/90/90/90 / 62406240 pos. = 6140, Min. Weight = 119119/119/123/169/185/197/199/203/213/213/pos. = 6140, Min. Weight = 119119/119/123/169/185/197/199/203/213/213 / pos.=305, min_p1=319, Min. Weight =4242/ 42/ 62/ 80/ 90/ 90/ 90/ 90/ 90/ 90/pos. = 305, min_p1 = 319, Min. Weight = 4242/42/62/80/90/90/90/90/90/90 / 62806280 pos. = 6234, Min. Weight = 117117/133/137/161/175/177/195/197/197/199/pos. = 6234, Min. Weight = 117117/133/137/161/175/177/195/197/197/199 / pos.=5323, min_p1=5337, Min. Weight =4444/ 68/ 72/ 72/ 80/ 88/ 90/ 90/ 90/ 90/pos. = 5323, min_p1 = 5337, Min. Weight = 4444/68/72/72/80/88/90/90/90/90 / 63606360 pos. = 6280, Min. Weight = 109109/137/141/141/145/147/161/187/201/205/pos. = 6280, Min. Weight = 109109/137/141/141/145/147/161/187/201/205 / pos.=5081, min_p1=5095, Min. Weight =3838/ 42/ 46/ 62/ 78/ 86/ 90/ 90/ 90/ 90/pos. = 5081, min_p1 = 5095, Min. Weight = 3838/42/46/62/78/86/90/90/90/90 / 66406640 pos. = 6590, Min. Weight = 101101/109/139/147/175/177/185/209/213/217/pos. = 6590, Min. Weight = 101101/109/139/147/175/177/185/209/213/217 / pos.=3645, min_p1=3652, Min. Weight =4444/ 54/ 58/ 60/ 64/ 90/ 90/ 90/ 90/ 90/pos. = 3645, min_p1 = 3652, Min. Weight = 4444/54/58/60/64/90/90/90/90/90 / 67606760 pos. = 6658, Min. Weight = 105105/125/165/203/215/217/217/229/249/249/pos. = 6658, Min. Weight = 105105/125/165/203/215/217/217/229/249/249 / pos.=670, min_p1=677, Min. Weight=5050/ 70/ 84/ 90/ 90/ 90/ 90/ 90/ 90/ 90/pos. = 670, min_p1 = 677, Min. Weight = 5050/70/84/90/90/90/90/90/90/90 / 69606960 pos. = 6894, Min. Weight = 123123/145/145/161/209/211/217/219/221/223/pos. = 6894, Min. Weight = 123123/145/145/161/209/211/217/219/221/223 / pos.=5565, min_p1=5572, Min. Weight =3434/ 50/ 54/ 62/ 66/ 80/ 82/ 88/ 90/ 90/pos. = 5565, min_p1 = 5572, Min. Weight = 3434/50/54/62/66/80/82/88/90/90 /

70007000 pos. = 6912, Min. Weight = 111111/145/145/197/221/221/221/233/235/237/pos. = 6912, Min. Weight = 111111/145/145/197/221/221/221/233/235/237 / pos.=3846, min_p1=3853, Min. Weight=3838/ 52/ 54/ 60/ 62/ 72/ 84/ 90/ 90/ 90/pos. = 3846, min_p1 = 3853, Min. Weight = 3838/52/54/60/62/72/84/90/90/90 / 70807080 pos. = 7018, Min. Weight = 117117/129/161/165/169/171/175/175/177/181/pos. = 7018, Min. Weight = 117117/129/161/165/169/171/175/175/177/181 / pos.=2122, min_p1=2129, Min. Weight=3838/ 42/ 50/ 54/ 54/ 58/ 72/ 84/ 88/ 90/pos. = 2122, min_p1 = 2129, Min. Weight = 3838/42/50/54/54/58/72/84/88/90 / 72007200 pos. = 6994, Min. Weight = 167167/169/173/185/185/215/217/225/225/229/pos. = 6994, Min. Weight = 167167/169/173/185/185/215/217/225/225/229 / pos.=6833, min_p1=6840, Min. Weight=4444/ 50/ 66/ 84/ 90/ 90/ 90/ 90/ 90/ 90/pos. = 6833, min_p1 = 6840, Min. Weight = 4444/50/66/84/90/90/90/90/90/90 / 73607360 pos. = 7298, Min. Weight = 8181/157/169/173/173/183/221/221/221/229/pos. = 7298, Min. Weight = 8181/157/169/173/173/183/221/221/221/229 / pos.=1836, min_p1=1843, Min. Weight=4646/ 60/ 72/ 82/ 82/ 90/ 90/ 90/ 90/ 90/pos. = 1836, min_p1 = 1843, Min. Weight = 4646/60/72/82/82/90/90/90/90/90 / 74807480 pos. = 7386, Min. Weight = 117117/153/201/207/217/217/227/229/233/233/pos. = 7386, Min. Weight = 117117/153/201/207/217/217/227/229/233/233 / pos.=1865, min_p1=1872, Min. Weight=4646/ 66/ 66/ 72/ 82/ 82/ 90/ 90/ 90/ 90/pos. = 1865, min_p1 = 1872, Min. Weight = 4646/66/66/72/82/82/90/90/90/90 / 76007600 pos. = 7528, Min. Weight = 125125/155/157/201/221/223/239/241/245/251/pos. = 7528, Min. Weight = 125 125/155/157/201/221/223/239/241/245/251 / pos.=1893, min_p1=1900, Min. Weight=4646/ 56/ 58/ 72/ 84/ 90/ 90/ 90/ 90/ 90pos. = 1893, min_p1 = 1900, Min. Weight = 4646/56/58/72/84/90/90/90/90/90 76807680 pos. = 7526, Min. Weight = 133133/153/157/189/207/237/241/241/243/253/pos. = 7526, Min. Weight = 133133/153/157/189/207/237/241/241/243/253 / pos.=2865, min_p1=2872, Min. Weight=7878/ 90/ 90/ 90/ 90/ 90/ 90/ 90/ 90/ 90/pos. = 2865, min_p1 = 2872, Min. Weight = 7878/90/90/90/90/90/90/90/90/90 / 78007800 pos. = 7702, Min. Weight = 115115/151/157/181/193/209/241/245/249/251/pos. = 7702, Min. Weight = 115115/151/157/181/193/209/241/245/249/251 / pos.=1170, min_p1=1184, Min. Weight=4444/ 50/ 64/ 72/ 76/ 80/ 86/ 90/ 90/ 90/pos. = 1170, min_p1 = 1184, Min. Weight = 4444/50/64/72/76/80/86/90/90/90 / 79607960 pos. = 7832, Min. Weight = 135135/145/153/169/169/185/217/223/223/237/pos. = 7832, Min. Weight = 135135/145/153/169/169/185/217/223/223/237 / pos.=398, min_p1=405, Min. Weight=4040/ 80/ 86/ 88/ 90/ 90/ 90/ 90/ 90/ 90/pos. = 398, min_p1 = 405, Min. Weight = 4040/80/86/88/90/90/90/90/90/90 / 80408040 pos. = 8006, Min. Weight = 109109/109/111/141/185/201/219/241/249/253/pos. = 8006, Min. Weight = 109109/109/111/141/185/201/219/241/249/253 / pos.=7054, min_p1=7068, Min. Weight=5656/ 68/ 90/ 90/ 90/ 90/ 90/ 90/ 90/ 90/pos. = 7054, min_p1 = 7068, Min. Weight = 5656/68/90/90/90/90/90/90/90/90 /

상술한 바와 같이 본 발명은 터보 부호기에서, 구성부호기로 입력되는 프레임 단위의 데이터 열중 맨 마지막 일정구간에 적어도 한 개이상 '1'이 위치됨으로서 발생되는 자유거리 감소(dfree)를 내부 인터리버를 통해 억제함으로서 보다 성능이 좋은 터보 부호기를 구현할수 있다.As described above, the present invention suppresses a free distance dfree caused by positioning at least one '1' in the last constant section of a frame data input to a component encoder in a turbo encoder through an internal interleaver. By doing so, a higher performance turbo encoder can be realized.

Claims (16)

제1부호화된 심볼들을 발생하기 위하여 프레임의 정보비트들을 입력하고 부호화하는 제1부호기와,A first encoder for inputting and encoding information bits of a frame to generate first encoded symbols; 상기 정보비트들을 입력하고 적어도 상기 정보비트들중 마지막 위치에 있는 정보비트의 위치를 임계정보어시퀀스(CISP)가 발생되지 않도록 상기 마지막 위치보다 앞선 위치로 옮기도록 인터리빙하여 인터리빙된 정보비트들을 발생하는 인터리버와,Inputting the information bits and interleaving the at least one position of the information bit at the last position of the information bits to move to a position before the last position so that a critical information sequence (CISP) does not occur. With the interleaver, 제2부호화된 심볼들을 발생하기 위하여 상기 인터리빙된 정보비트들을 입력하고 부호화하는 제2부호기를 포함함을 특징으로 하는 터보 부호화기.And a second encoder for inputting and encoding the interleaved information bits to generate second coded symbols. 제1항에 있어서, 상기 인터리버는,The method of claim 1, wherein the interleaver, 상기 정보비트 상기 정보비트들을 순차로 메모리에 기록하고, 각각 C개의 정보비트들을 가지는 R개의 그룹들로 분할하며, j(j=0,1,2,3...R-1)번째 행에 기록된 정보비트의 위치를 하기 수학식 2에 의해 Cj(i)로 변경하는 제어기를 포함하는 것을 특징으로 하는 터보 부호화기.The information bits are sequentially written to the memory, divided into R groups each having C information bits, and j (j = 0, 1, 2, 3 ... R-1) in the row. And a controller for changing the position of the recorded information bit to C j (i) by Equation 2 below. 여기서 상기 p(prime number)는 상기 K/R에 가장 가까운 수이고, 상기 g0(primitive root)은 상기 p에 대응되어 미리 결정되는 수이며, 상기 pj는 상기 p를 가지고 만들어지는 원시넘버집합(primitive number set)임.Here, p (prime number) is the number closest to the K / R, g0 (primitive root) is a predetermined number corresponding to the p, pj is a primitive number (primitive) made with the p number set). 제2항에 있어서, 상기 인터리버는,The method of claim 2, wherein the interleaver, 상기 프레임의 정보비트들을 순차로 저장하는 메모리와,A memory for sequentially storing information bits of the frame; 상기 마지막 그룹의 가장 마지막 위치에 있는 정보의 위치를 상기 마지막 그룹의 상기 마지막 위치보다 앞서도록 상기 저장된 정보비트들의 위치를 변경하는 랜덤기를 포함하는 것을 특징으로 하는 터보 부호화기.And a randomizer for changing the position of the stored information bits so that the position of the information at the last position of the last group precedes the last position of the last group. 제3항에 있어서,The method of claim 3, 상기 랜덤기는 상기 마지막 그룹의 마지막 위치에 있는 정보비트의 위치를 상기 마지막 그룹의 처음 위치에 있는 정보비트의 위치와 교환(exchange)하는 것을 특징으로 하는 터보 부호화기.And wherein the random unit exchanges the position of the information bit at the last position of the last group with the position of the information bit at the first position of the last group. 터보코더의 내부 인터리버로 사용되는 PIL(prime interleaver)인터리버에서 각각 C개의 정보비트들을 포함하는 R개의 그룹들로 구성되는 입력 프레임의 K개의 정보비트들의 위치를 섞기 위한 장치에 있어서,In a PIL (prime interleaver) interleaver used as an internal interleaver of a turbo coder, the apparatus for mixing the position of the K information bits of the input frame consisting of R groups each containing C information bits, 상기 프레임의 정보비트들을 순차로 저장하는 메모리와,A memory for sequentially storing information bits of the frame; 상기 정보비트들중 마지막 그룹의 가장 마지막 위치에 있는 정보의 위치를 상기 마지막 그룹의 상기 마지막 위치보다 앞서도록 상기 저장된 정보비트들의 위치를 변경하는 랜덤기를 포함하는 것을 특징으로 하는 장치.And a randomizer for changing the position of the stored information bits so that the position of information at the last position of the last group of the information bits precedes the last position of the last group. 제5항에 있어서,The method of claim 5, 상기 랜덤기는 상기 마지막 그룹의 마지막 위치에 있는 정보비트의 위치를 상기 마지막 그룹의 처음 위치에 있는 정보비트의 위치와 교환하는 것을 특징으로 하는 장치.And wherein the random device exchanges the position of the information bit at the last position of the last group with the position of the information bit at the first position of the last group. 터보코더의 내부 인터리버로 사용되는 PIL인터리버에서 입력 프레임의 크기(K)가 인터리버 크기(R×C)와 동일할 경우 상기 프레임의 정보비트들을 인터리빙하기 위한 장치에 있어서,In a PIL interleaver used as an internal interleaver of a turbo coder, an apparatus for interleaving information bits of a frame when the size (K) of the input frame is the same as the interleaver size (R × C), 상기 프레임의 정보비트들 순차로 메모리에 기록하고, j(j=0,1,2...R-1)번째 행에 기록된 정보비트의 위치를 하기 수학식 4에 의해 Cj(i)위치로 변경하는 제어기를 포함하는 것을 특징으로 하는 장치.The information bits of the frame are sequentially recorded in the memory, and the position of the information bits recorded in the j (j = 0,1,2 ... R-1) th row is expressed by the following equation C j (i) And a controller for changing to position. 여기서 상기 p(prime number)는 상기 K/R에 가장 가까운 수이고, 상기 g0(primitive root)은 상기 p에 대응되어 미리 결정되는 수이며, 상기 pj는 상기 p를 가지고 만들어지는 원시넘버집합(primitive number set)임.Here, p (prime number) is the number closest to the K / R, g0 (primitive root) is a predetermined number corresponding to the p, pj is a primitive number (primitive) made with the p number set). 2차원 인터리빙 방법에 있어서,In the two-dimensional interleaving method, 프레임의 K개의 정보비트들을 순차로 저장하고, 상기 정보비트들을 각각 C개의 정보비트들을 가지는 R개의 그룹들로 분할하는 과정과,Storing the K information bits of the frame sequentially and dividing the information bits into R groups each having C information bits; 상기 각 그룹의 정보비트들의 위치를 주어진 규칙에 따라 변경하고, 상기 그룹들중 적어도 마지막 그룹의 마지막 위치에 있는 정보비트의 위치를 상기 마지막 위치보다 앞선 위치로 변경하는 과정을 포함하는 것을 특징으로 하는 방법.Changing the position of the information bits of each group according to a given rule, and changing the position of the information bits at the last position of at least the last group of the groups to a position earlier than the last position. Way. 제8항에 있어서, 상기 위치변경과정은,The method of claim 8, wherein the location change process, K/R에 근접한 프라임 넘버 p를 결정하는 과정과,Determining a prime number p close to K / R, 상기 프레임의 정보비트들의 입력시퀀스들을 순차로 메모리에 기록하는 과정과,Sequentially writing input sequences of information bits of the frame into a memory; 소정 테이블에서 상기 p에 대응하는 원시근 g0을 선택하고, 하기 수식에 의해 상기 행들에 기록된 입력시퀀스들을 섞기(for intra-row permutation) 위한 기본시퀀스(base sequence) c(i)를 생성하는 과정과,Selecting a primitive root g0 corresponding to p in a predetermined table and generating a base sequence c (i) for intra-row permutation by the following equation; and, 하기 수식을 가지고 최소 프라임 정수 집합(minimum prime integer set) {qj}(j=0,1,2,...,R-1)를 결정하는 과정과,Determining a minimum prime integer set {qj} (j = 0,1,2, ..., R-1) with the following formula, 여기서 상기 g.c.d는 최대공약수(greatest commom divider)이고, q0 = 1임.Where g.c.d is the greatest commom divider and q0 = 1. 상기 {qj}를 하기 수식을 이용해 섞는 과정과,Mixing {qj} with the following formula, 여기서 상기 P(i)는 상기 R개 행들을 선택하기 위한 미리 정해진 선택순서를 나타냄.Wherein P (i) represents a predetermined selection order for selecting the R rows. 상기 C가 p + 1일 경우, j번째 행의 시퀀스들을 하기 수식에 의해 섞는(permutation) 과정을 포함하는 것을 특징으로 하는 방법.And if C is p + 1, comprising: permutating the sequences of the j th row by the following equation. 제8항에 있어서,The method of claim 8, 상기 마지막 그룹의 상기 마지막 위치에 있는 정보비트의 위치를 상기 마지막 그룹의 처음 위치에 있는 정보비트의 위치과 상호 교환하는 것을 특징으로 하는 방법.And interchange the position of the information bit at the last position of the last group with the position of the information bit at the first position of the last group. 2차원 인터리빙 방법에 있어서,In the two-dimensional interleaving method, 각각 C개의 정보비트들을 포함하는 R개의 그룹들로 구성되는 프레임의 정보비비트들의 입력시퀀스들을 순차로 메모리에 기록하는 과정과,Sequentially recording input sequences of information bit bits of a frame consisting of R groups each including C information bits, in memory; 상기 정보비트들의 입력시퀀스를 주어진 규칙에 의해 변경(permutation)하고, 적어도 마지막 그룹의 마지막 위치에 기록된 입력 시퀀스를 상기 마지막 위치보다 앞선 위치로 옮기는 과정을 포함하는 것을 특징으로 하는 방법.And permutating the input sequence of the information bits according to a given rule, and moving the input sequence recorded at least at the last position of the last group to a position before the last position. 제11항에 있어서,The method of claim 11, 상기 마지막 그룹의 상기 마지막 위치에 있는 기록된 입력시퀀스를 상기 마지막 행의 처음 위치에 기록된 입력시퀀스와 상호 교환(exchange)하는 것을 특징으로 하는 방법.And exchange the recorded input sequence at the last position of the last group with the input sequence recorded at the first position of the last row. 터보코더의 내부 인터리버로 사용되는 PIL인터리버에서 각각 C개의 정보비트들을 포함하는 R개의 그룹들로 구성되는 프레임의 입력정보비트들을 인터리빙하기 위한 방법에 있어서,A method for interleaving input information bits of a frame consisting of R groups each including C information bits in a PIL interleaver used as an internal interleaver of a turbo coder, 상기 그룹의 정보비트들을 미리 결정된 PIL인터리버 규칙에 의해 섞는(permuting) 과정과,Permuting the information bits of the group by a predetermined PIL interleaver rule, 상기 그룹들중 마지막 그룹의 마지막 위치에 있는 정보비트는 상기 마지막 위치보다 앞선 위치로 옮기는 과정을 포함하는 것을 특징으로 하는 방법.And the information bit at the last position of the last group of the groups is moved to a position before the last position. 제13항에 있어서,The method of claim 13, 상기 상기 마지막 그룹의 마지막 위치에 있는 정보비트의 위치를 상기 마지막 그룹의 처음 위치에 있는 정보비트의 위치와 상호 교환하는 것을 특징으로 하는 방법.And interchange the position of the information bit at the last position of the last group with the position of the information bit at the first position of the last group. 제13항에 있어서, 상기 과정은,The method of claim 13, wherein 상기 정보비트들중 j(j=0,1,2...R-1)번째 행에 기록된 정보비트들을 하기 수식에 의해 Cj(i) 위치(position)로 변경하는 것을 포함하는 것을 특징으로 하는 방법.And changing the information bits written in the j (j = 0,1,2 ... R-1) th row of the information bits to the position C j (i) by the following formula. How to. 여기서 상기 p(prime number)는 상기 K/R에 가장 가까운 수이고, 상기 g0(primitive root)은 상기 p에 대응되어 미리 결정되는 수이며, 상기 pj는 상기 p를 가지고 만들어지는 난수들의 집합이고, 상기 cj(i)는 j번째 행에서 i번째 출력되는 출력 정보비트의 위치(output bit position)를 나타냄.Wherein p (prime number) is the number closest to the K / R, g0 (primitive root) is a predetermined number corresponding to p, and pj is a set of random numbers generated with p, Cj (i) represents the output bit position of the i th output information bit in the j th row. 이차원 인터비링 방법에 있어서,In the two-dimensional interfering method, 입력 프레임의 정보비트들의 입력 시퀀스들을 R×C 사각 매트릭스(rectangular matrix)에 순차로 기록하는 과정과,Sequentially writing the input sequences of the information bits of the input frame into an R × C rectangular matrix; 소정 테이블에서 상기 p에 대응하는 원시근 g0을 선택하고, 하기 수식에 의해 상기 행들에 기록된 입력시퀀스들을 섞기(for intra-row permutation) 위한 기본시퀀스(base sequence) c(i)를 생성하는 과정과,Selecting a primitive root g0 corresponding to p in a predetermined table and generating a base sequence c (i) for intra-row permutation by the following equation; and, 하기 수식을 가지고 최소 프라임 정수 집합(minimum prime integer set) {qj}(j=0,1,2,...,R-1)를 결정하는 과정과,Determining a minimum prime integer set {qj} (j = 0,1,2, ..., R-1) with the following formula, 여기서 상기 g.c.d는 최대공약수(greatest commom divider)이고, q0 = 1임.Where g.c.d is the greatest commom divider and q0 = 1. 상기 {qj}를 하기 수식을 이용해 섞는 과정과,Mixing {qj} with the following formula, 여기서 상기 P(i)는 상기 R개 행들을 선택하기 위한 미리 정해진 선택순서를 나타냄.Wherein P (i) represents a predetermined selection order for selecting the R rows. 상기 C가 p + 1일 경우, j번째 행의 시퀀스들을 하기 수식에 의해 섞는(permutation) 과정과,When C is p + 1, the process of permutation the sequences of the j th row by the following formula, 상기 R개의 행들을 상기 미리 정해진 순서 P(j)에 따라 선택하고, 상기 선택된 행에서 하나의 입력시퀀스를 선택하는 과정과,Selecting the R rows according to the predetermined order P (j), and selecting one input sequence from the selected rows; 상기 선택된 입력 시퀀스를 상기 입력 프레임의 정보비트들을 인터리빙하기 위한 독출 어드레스로 제공하는 과정을 포함하는 것을 특징으로 하는 방법And providing the selected input sequence to a read address for interleaving the information bits of the input frame.
KR1020000027143A 1999-05-19 2000-05-19 Turbo interleaving apparatus and method KR100330234B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020000027143A KR100330234B1 (en) 1999-05-19 2000-05-19 Turbo interleaving apparatus and method

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
KR19990018928 1999-05-19
KR1019990018928 1999-05-19
KR1019990018560 1999-05-21
KR19990018560 1999-05-21
KR1020000027143A KR100330234B1 (en) 1999-05-19 2000-05-19 Turbo interleaving apparatus and method

Publications (2)

Publication Number Publication Date
KR20000077350A KR20000077350A (en) 2000-12-26
KR100330234B1 true KR100330234B1 (en) 2002-03-25

Family

ID=27349974

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020000027143A KR100330234B1 (en) 1999-05-19 2000-05-19 Turbo interleaving apparatus and method

Country Status (1)

Country Link
KR (1) KR100330234B1 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100895951B1 (en) * 2007-08-02 2009-05-07 에스케이 텔레콤주식회사 Design of Optimum Convolutional Codes for Turbo Codes, and Codes Apparatus Using the Same
CN105102272A (en) * 2013-04-05 2015-11-25 日产自动车株式会社 Vehicular power supply device
US10425110B2 (en) 2014-02-19 2019-09-24 Samsung Electronics Co., Ltd. Transmitting apparatus and interleaving method thereof
KR101800409B1 (en) * 2014-02-19 2017-11-23 삼성전자주식회사 Transmitting apparatus and interleaving method thereof

Also Published As

Publication number Publication date
KR20000077350A (en) 2000-12-26

Similar Documents

Publication Publication Date Title
EP1367726B1 (en) Turbo interleaving apparatus and method
US6591381B1 (en) 2-dimensional interleaving apparatus and method
US6339834B1 (en) Interleaving with golden section increments
KR100526512B1 (en) Interleaving apparatus and method for serially concatenated convolution code in a mobile telecommunication system
EP0963049A2 (en) Interleaving with golden section increments
CN100555880C (en) Interleaved order generator, interleaver, Turbo code encoder and Turbo code decoder
KR20010080679A (en) Turbo code interleaver using linear congruential sequences
KR100330234B1 (en) Turbo interleaving apparatus and method
RU2212103C2 (en) Turbo-interleaving device and method
KR100362557B1 (en) 2-dimensional interleaving apparatus and method
CN100466479C (en) Block interleaving for turbo coding.

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

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20140227

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20150226

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20160226

Year of fee payment: 15

FPAY Annual fee payment

Payment date: 20170224

Year of fee payment: 16

FPAY Annual fee payment

Payment date: 20180227

Year of fee payment: 17

FPAY Annual fee payment

Payment date: 20190227

Year of fee payment: 18

FPAY Annual fee payment

Payment date: 20200227

Year of fee payment: 19