KR20020004479A - Data Rate Matching Method for In 3GPP2 - Google Patents

Data Rate Matching Method for In 3GPP2 Download PDF

Info

Publication number
KR20020004479A
KR20020004479A KR1020000038388A KR20000038388A KR20020004479A KR 20020004479 A KR20020004479 A KR 20020004479A KR 1020000038388 A KR1020000038388 A KR 1020000038388A KR 20000038388 A KR20000038388 A KR 20000038388A KR 20020004479 A KR20020004479 A KR 20020004479A
Authority
KR
South Korea
Prior art keywords
bit
code
puncturing
group
channel
Prior art date
Application number
KR1020000038388A
Other languages
Korean (ko)
Other versions
KR100720566B1 (en
Inventor
김기준
윤영우
이영조
Original Assignee
서평원
엘지정보통신주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 서평원, 엘지정보통신주식회사 filed Critical 서평원
Priority to KR1020000038388A priority Critical patent/KR100720566B1/en
Priority to EP10012474A priority patent/EP2293452B1/en
Priority to EP01116124A priority patent/EP1176725B1/en
Priority to AU54178/01A priority patent/AU768016B2/en
Priority to JP2001204139A priority patent/JP4138274B2/en
Priority to CN2008101459476A priority patent/CN101369865B/en
Priority to CNB011200243A priority patent/CN100464510C/en
Priority to CN2008101459461A priority patent/CN101369864B/en
Priority to BR0105804-5A priority patent/BR0105804A/en
Priority to BRPI0105804-5A priority patent/BRPI0105804B1/en
Priority to US09/898,040 priority patent/US7127661B2/en
Publication of KR20020004479A publication Critical patent/KR20020004479A/en
Priority to US10/724,767 priority patent/US7266752B2/en
Priority to AU2004200702A priority patent/AU2004200702B2/en
Priority to US11/231,823 priority patent/US7636878B2/en
Priority to US11/476,689 priority patent/US7712012B2/en
Priority to JP2007097882A priority patent/JP4615541B2/en
Application granted granted Critical
Publication of KR100720566B1 publication Critical patent/KR100720566B1/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
    • H03M13/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • H03M13/6362Error control coding in combination with rate matching by puncturing
    • H03M13/6368Error control coding in combination with rate matching by puncturing using rate compatible puncturing or complementary puncturing
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • H03M13/2778Interleaver using block-wise interleaving, e.g. the interleaving matrix is sub-divided into sub-matrices and the permutation is performed in blocks of sub-matrices

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

PURPOSE: A data rate matching method is provided to obtain a coding gain as much as a decrease in an available code rate in the case of using a data rate lower than the maximum data rate supported for the operation of a variable data rate in a supplement channel. CONSTITUTION: If 1/4 rate channel coding is carried out for a convolution code, this coded bit stream is outputted with a length of "L"(S30). In case that the length(L) of the coded bit stream is larger than block interleaver size(N), puncturing is carried out. If the length(L) of the coded bit stream is smaller than block interleaver size(N), however, only symbol repetition is carried out(S31). Then the next interleaving step is carried out(S32).

Description

데이터 레이트 매칭 방법{Data Rate Matching Method for In 3GPP2}Data Rate Matching Method for In 3GPP2}

본 발명은 차세대 이동 통신에 관한 것으로, 특히 물리 계층상에서 보조 채널을 통하여 데이터를 전송할 경우에 다변 데이터 레이트 또는 가변 데이터 레이트 매칭 방법에서 가장 좋은 성능을 줄 수 있는 데이터 레이트 매칭 방법에 관한 것이다.The present invention relates to the next generation mobile communication, and more particularly, to a data rate matching method that can give the best performance in a multi-variable data rate or a variable data rate matching method when data is transmitted through an auxiliary channel on a physical layer.

일반적으로, 3GPP2의 데이터를 전송하기 위한 채널 중에 보조 채널(Supplemental Channel)이라는 것이 존재한다. 이 채널은 중속 이상의 비교적 고속의 데이터 전송율을 지원하는 채널이다. 이러한 보조 채널(Supplemental Channel)의 동작 모드 가운데에서 다변 데이터 레이트(variable data rate)라는 모드가 존재한다.In general, one of the channels for transmitting data of 3GPP2 is called a supplemental channel. This channel supports a relatively high data rate of medium speed or more. Among the operation modes of the supplemental channel, a mode called a variable data rate exists.

즉, 3GPP2 시스템에서는 상기 보조 채널(Supplemental Channel) 중에서도 특히 순방향 보조 채널을 통한 신호 전송에 대해서 기지국이 스케줄링(scheduling)을 하게 되는데, 이 스케줄링 신호를 통하여 기지국은 단말기에 일정 시간동안 고정된 데이터 전송율을 할당하게 된다. 그러나, 그 특정한 시간동안 기지국과 특정 단말기 사이의 채널 상황이 변할 수도 있으며 또한 기지국의 시스템 로드(load)가 변할 수도 있다.That is, in the 3GPP2 system, the base station schedules the transmission of the signal through the forward auxiliary channel among the supplemental channels, and the base station transmits a fixed data rate to the terminal for a predetermined time through the scheduling signal. Will be allocated. However, the channel condition between the base station and the specific terminal may change during that particular time, and the system load of the base station may also change.

이러한 경우 기지국은 특정 단말기에 현재의 데이터 전송율로 전송하기 위한 충분한 전송 전력을 가지지 못하는 경우가 발생할 수 있다. 이러한 문제점을 해결하기 위해서 기지국은 이 시간동안 보조 채널(Supplemental Channel)로의 전송을 중단시키기도 한다.In this case, the base station may not have enough transmission power to transmit to the specific terminal at the current data rate. In order to solve this problem, the base station may suspend transmission to the supplemental channel during this time.

하지만, 이러한 해결책은 데이터 전송에 있어서 지연 문제를 유발하며 또한 이미 단말기에게 할당된 유용 가능한 전송 전력과 왈쉬 코드(Walsh Code)에 대해 다른 사용 단말기가 사용할 수 없으므로 비효율적인 자원 관리를 초래한다.However, this solution causes a delay problem in data transmission and also causes inefficient resource management since other terminals cannot use the available transmit power and Walsh code that are already allocated to the terminal.

종래 기술에서 또 하나의 해결 방안은 기지국이 약간의 시간이 지난 후 전송 데이터율을 재스케줄링 (re- scheduling)하는 방법을 생각할 수 있다. 하지만 이또한 시간 지연 문제와 왈쉬 코드(Walsh Code)에 대한 낭비라는 문제를 유발하게 된다.Another solution in the prior art is to consider how the base station reschedules the transmission data rate after some time. However, this also causes problems such as time delay and waste of Walsh code.

이러한 상황은 순방향 링크에서만 발생하는 것이 아니다. 동일하게 역방향 링크에서도 단말의 움직임에 따라서 단말과 기지국간의 채널의 상황이 변할 수 있으며, 이에 따라 적정한 품질을 유지하기 위한 전송 전력의 부족이 발생할 수도 있다.This situation is not unique to the forward link. Similarly, even in the reverse link, the state of the channel between the terminal and the base station may change according to the movement of the terminal, and accordingly, a shortage of transmission power for maintaining proper quality may occur.

따라서, 이러한 상황을 해결하기 위해서 종래에는 다변 데이터 레이트(variable data rate)라는 모드를 사용하게 된 것이다.Therefore, in order to solve this situation, a mode called a variable data rate is conventionally used.

이러한 다변 데이터 레이트 모드는 채널의 상황에 따라서 전송 속도를 프레임 단위로 변화시키는 방법으로써, 채널 상황이 안 좋은 경우로 판단되면 기지국은 보조 채널(Supplemental Channel)의 전송 속도를 낮추게 된다. 그리고 다시 상황이 좋다고 판단되면 다시 이전의 전송 속도로 전송을 하는 방식이다.The multi-variable data rate mode is a method of changing the transmission rate in units of frames according to the channel condition. If the channel condition is determined to be poor, the base station lowers the transmission rate of the supplemental channel. If it is determined that the situation is good again, the transmission is performed at the previous transmission speed.

구체적으로, 현재 보조 채널(Supplemental Channel)에 대한 다변 데이터 레이트(Variable Data Rate)를 위해서 지원 가능한 최대 전송율로부터 두 단계 밑까지의 전송율 사이에서 보조 채널(Supplemental Channel)의 데이터 전송율을 조정한다.Specifically, the data rate of the supplemental channel is adjusted between the support rate up to two levels below the maximum rate supported for the current variable channel for the variable data rate.

이때, 만일 순방향 채널을 생각하게 된다면 단말기측에서는 레이트가 변한 상황을 블라인드 레이트 검출(blind rate detection)을 통하여 판정해야 한다. 따라서 데이터 전송율이 가변할 수 있는 범위가 넓어지면 단말의 복잡도를 증가시키는 문제점을 발생시킨다.At this time, if the forward channel is considered, the terminal side should determine the situation where the rate is changed through blind rate detection. Therefore, when the range in which the data rate is variable becomes wide, a problem of increasing the complexity of the terminal occurs.

그리고, 현재 사용하고 있는 최대의 전송율에 대하여 정해진 인터리버와 왈쉬 코드(Walsh Code)를 그대로 사용하게 해야만 한다.In addition, the interleaver and Walsh code specified for the maximum transmission rate currently used must be used as it is.

따라서 데이터의 전송율을 최대 전송율의 1/2로 낮추게 되면, 채널에서 사용할 인터리버의 길이와 채널 부호화기의 출력열의 길이를 맞춰주기 위해서 2배의 심볼 반복을 수행하게 된다. 마찬가지로 만일 데이터의 전송율을 최대 전송율의 1/4로 낮추게 되면, 채널에서 사용할 인터리버의 길이와 채널 부호화기의 출력열의 길이를 맞춰주기 위해서 4배의 심볼 반복을 수행하게 된다.Therefore, when the data rate is lowered to 1/2 of the maximum data rate, twice the symbol repetition is performed to match the length of the interleaver to be used in the channel and the length of the output string of the channel encoder. Likewise, if the data rate is lowered to 1/4 of the maximum data rate, four times symbol repetition is performed to match the length of the interleaver to be used in the channel and the length of the output string of the channel encoder.

만일 가변 데이터 레이트(flexible data rate)에 대한 다변 데이터 레이트(variable data rate) 모드가 보조 채널(Supplemental Channel)에서 지원이 되는 경우에는 기존의 가변 데이터 레이트(flexible data rate)에서 사용하는 방법과 마찬가지로 채널 부호화기의 출력 심볼에 대한 반복을 수행하여 최대 전송율에서 사용하는 인터리버의 길이보다 크거나 같도록 만들어 준 후, 이 인터리버 길이를 넘는 비트를 펑처링하는 방법을 사용해야 한다.If a variable data rate mode for a flexible data rate is supported in the supplemental channel, the channel is the same as the method used in the conventional flexible data rate. Iteratively repeat the output symbols of the encoder to make it equal to or greater than the length of the interleaver used at the maximum data rate, and then use a method of puncturing the bits beyond this length.

도 1은 종래 기술에 따른 가변 데이터 레이트와 다변 데이트 레이트를 지원하기 위한 레이트 매칭 과정을 나타낸 도면이다.1 is a diagram illustrating a rate matching process for supporting a variable data rate and a variable data rate according to the prior art.

도 1을 참고하면, 상기 보조 채널(Supplemental Channel)에 대한 다변 데이터 레이트(variable data rate) 모드는 요구 전송 전력의 면에 있어서 낭비를 가질 수 있는 방식이다.Referring to FIG. 1, the variable data rate mode for the supplemental channel may be wasteful in terms of required transmit power.

예를 들어, 현재 순방향의 제4 무선 구조(Radio Configuration 4;이하 RC4로 약칭함)를 생각해 보자. 이때는 1/2 레이트의 터보 부호나 컨벌루션 부호를 사용하게 된다. 그리고 다변 데이터 레이트(variable data rate) 모드에서 사용할 수 있는 최대 전송율이 76.8kbps라고 가정하면, 상기 순방향 RC4에서 사용하는 인터리버의 길이는 3072로 고정된다.For example, consider the current forward fourth radio structure (Radio Configuration 4, hereinafter abbreviated as RC4). In this case, a half rate turbo code or a convolution code is used. Assuming that the maximum data rate that can be used in the variable data rate mode is 76.8 kbps, the length of the interleaver used in the forward RC4 is fixed to 3072.

이 모드에서의 다변 데이터 레이트(variable data rate) 방법을 이용할 경우에, 종래 기술에서는 사용 가능한 데이터의 전송율이 {19.2kbps, 38.4kbps, 76.8kbps}중에서 적절한 값으로 사용되고, 인터리버의 길이를 3072로 고정하는 것이다.In the case of using the variable data rate method in this mode, in the prior art, the available data rate is used as an appropriate value among {19.2kbps, 38.4kbps, 76.8kbps}, and the length of the interleaver is fixed to 3072. It is.

만일 76.8kbps의 최대 전송율로 전송중인 상태에서 채널의 상황이 안 좋아져서 현재의 전력으로는 요구되는 품질의 서비스(Quality Of Service)를 지속할 수 없는 상황이 되었다고 가정하자.Suppose that the situation of the channel is not good in the state of transmitting at the maximum transmission rate of 76.8kbps, so that it is impossible to maintain the required quality of service with the current power.

이때, 데이터 전송율을 1/2로 낮추어서 38.4kbps의 전송율로 데이터를 보내게 된다. 그러면 38.4kbps에서는 20ms 동안 744비트가 내려오게 되고, 여기에 16비트의 순환 중첩 코드(CRC)와 8비트의 테일 부분이 첨가되어 768비트의 프레임이 1/2 레이트의 채널 부호화기에 입력되게 된다. 그러면 채널 부호화기의 출력은 1536 비트가 되며, 이를 3072의 인터리버에 보내주기 위해서 M=2의 심볼 반복을 수행하게 된다.At this time, the data rate is reduced to 1/2 to send data at a rate of 38.4 kbps. Then, 744 bits are dropped for 20 ms at 38.4 kbps, and 16-bit cyclic superposition code (CRC) and 8-bit tail portion are added to input the 768-bit frame to the 1 / 2-rate channel encoder. Then, the output of the channel encoder is 1536 bits, and M = 2 symbol repetition is performed to send it to the 3072 interleaver.

여기에서 상기 심볼 반복을 통하여 얻을 수 있는 이득은 오직 반복 이득일 뿐이며, 실제적으로 반복은 유효 코드율을 감소시키는 역할을 수행할 수 있지만, 이로 인하여 약간의 시간 다이버시티 (time diversity)의 증가 효과만을 얻을 수 있을 뿐 실제적으로 코딩 이득을 증가시키지는 못한다.Here, the gain obtained through the symbol repetition is only the repetition gain, and in practice, the repetition may play a role of reducing the effective code rate, but due to this, only a slight increase in time diversity is achieved. You can get it, but it doesn't actually increase the coding gain.

즉, 이때의 문제점은 유효 코드율은 감소하였지만, 이에 따른 코딩 이득은 그리 증가하지 않는다는데 있다.That is, the problem at this time is that the effective code rate is reduced, but the coding gain is not increased accordingly.

즉, 1/2 레이트의 채널 부호를 사용하고 여기에 M=2의 심볼 반복을 수행했다고 가정하면, 유효 코드율은 1/4로 낮아진 효과로 판단할 수 있게 된다. 그러나 이로 인한 코딩 이득의 증가는 거의 없다는 것이 종래 기술의 문제점으로 여겨진다.In other words, assuming that a 1/2 rate channel code is used and symbol repetition of M = 2 is performed, the effective code rate can be determined to be 1/4. However, it is considered a problem of the prior art that there is almost no increase in coding gain.

다변 데이터 레이트(Variable Data Rate) 모드는 왈쉬 코드(Walsh Code)가 모자란 상태에서 사용하는 기술이 아니다. 이 기술은 전송 전력을 효율적으로 조절하여, 시스템에 걸리는 로드(load)를 해결할 수 있는 기술로 생각할 수 있다.Variable Data Rate mode is not a technology used in the Walsh code shortage state. This technique can be thought of as a technique that can efficiently adjust the transmission power to solve the load on the system.

따라서 같은 왈쉬 코드(Walsh Code)를 사용하였을 때의 코딩 이득을 증가시켜 이로 인한 전송 전력상의 이득을 얻을 수 있다면, 이는 전체 시스템의 로드(load)를 조정하는데 보다 효율적인 방법이 될 것으로 판단할 수 있다.Therefore, if the gain of the transmission power can be obtained by increasing the coding gain when the same Walsh code is used, it can be determined that this will be a more efficient way to adjust the load of the entire system. .

또한 동일하게 이를 역방향 링크의 보조 채널(Supplemental Channel)에 적용한 경우에도 채널 상황에 맞추어 전송 레이트를 자동적으로 조정함으로써, 단말의 전송 전력이 모자란 경우 재스케줄링(re-scheduling) 없이 데이터를 전송할 수 있게 되어 보다 효율적인 방법이 될 것으로 판단된다.In the same way, even when applied to the supplemental channel of the reverse link, the transmission rate is automatically adjusted according to the channel conditions, so that data can be transmitted without re-scheduling when the transmission power of the terminal is insufficient. It seems to be a more efficient way.

따라서, 본 발명의 목적은 이상에서 언급한 종래 기술의 문제점을 감안하여 안출한 것으로서, 보조 채널(Supplemental Channel)에서의 다변 데이터 레이트(variable data rate)의 동작시 지원되는 최대 데이터 전송율보다 낮은 데이터 전송율을 사용하는 경우 유효 코드율의 감소 효과에 따라 그만큼의 코딩 이득을얻을 수 있는 데이터 레이트 매칭 방법을 제공하기 위한 것이다.Accordingly, an object of the present invention has been made in view of the above-mentioned problems of the prior art, and the data rate is lower than the maximum data rate supported in the operation of a variable data rate in a supplemental channel. In order to provide a data rate matching method capable of obtaining the coding gain according to the effect of reducing the effective code rate.

이상과 같은 목적을 달성하기 위한 본 발명의 일 특징에 따르면, 채널 부호화된 데이터들이 물리 계층에 매핑되도록 인터리빙하는 과정에서, 상기 채널 부호화된 데이터들이 다변 데이터 레이트 모드에서 최대 전송율 이외의 전송율로 전송되는 경우 또는 가변 데이터 레이트 모드에서 각 무선 구조상에서 정의되지 않은 임의 데이터 레이트로 전송되는 경우 사용 가능한 최저 데이터 레이트의 채널 부호로 전송하기 위해서, 상기 채널 부호화된 서로 다른 비트 레이트의 데이터들을 펑처링 또는 심볼 반복을 선택적으로 이용하여 상기 인터리빙 사이즈에 정합시키도록 하는 것을 특징으로 이루어진다.According to an aspect of the present invention for achieving the above object, in the process of interleaving the channel-coded data to be mapped to the physical layer, the channel-coded data is transmitted at a data rate other than the maximum data rate in the multivariate data rate mode Puncturing or symbolic repetition of the data of the channel-coded different bit rates for transmission at a channel code of the lowest available data rate, or in the case of a variable data rate mode being transmitted at an arbitrary data rate not defined on each radio structure. Is selectively used to match the interleaving size.

바람직하게, 상기 채널 부호화된 데이터들이 컨벌루션 부호일 경우에 1/4 레이트의 코딩 레이트를 이용하고, 터보 부호일 경우에 1/5 레이트의 코딩 레이트를 이용하는 것을 특징으로 한다.Preferably, a coding rate of 1/4 rate is used when the channel coded data is a convolutional code, and a coding rate of 1/5 rate is used when a turbo code is used.

또한, 상기 채널 부호화된 데이터의 출력열의 길이가 원하는 인터리버의 사이즈보다 큰 경우에는 채널 부호화된 데이터의 출력열의 길이에서 인터리버 사이즈만큼을 뺀 펑처링 양을 전체 채널 부호화기의 출력 비트열에서 코드 그룹 단위별로 펑처링하는 것을 특징으로 한다.In addition, when the length of the output string of the channel coded data is larger than the size of the desired interleaver, the puncturing amount obtained by subtracting the interleaver size from the length of the output string of the channel coded data is for each code group unit in the output bit strings of all channel encoders. It is characterized by puncturing.

바람직하게, 상기 전체 펑처링 양을 상기 전체 코드 그룹의 개수로 나눈 값을 넘지 않는 최대의 정수만큼 펑처링해야 하는 코드 그룹을 제1 타입 코드 그룹으로, 상기 전체 펑처링 양을 상기 전체 코드 그룹의 개수로 나눈 값보다 크거나 같은 최소 정수만큼 펑처링해야 하는 코드 그룹을 제2 타입 코드 그룹으로 나누어 각각이 균일하게 배치되도록 하는 것을 특징으로 한다.Preferably, a code group that needs to be punctured by a maximum integer not exceeding a value obtained by dividing the total puncturing amount by the total number of code groups is a first type code group, and the total puncturing amount of the entire code group The code groups to be punctured by a minimum integer greater than or equal to the value divided by the number may be divided into second type code groups so that each is evenly arranged.

바람직하게, 각 코드 그룹에 할당된 펑처링의 양을 코드 그룹내에서 시스테메틱 비트를 제외한 나머지 비트들의 인덱스에 대한 비트 반전 연산과 그 그룹까지의 전체 펑처링 양의 덧셈을 통하여 각 코드 그룹내에서의 펑처링의 위치를 결정하는 것을 특징으로 한다.Preferably, the amount of puncturing allocated to each code group is included in each code group through a bit inversion operation on the index of the remaining bits except the systematic bits and addition of the total puncturing amount up to the group. It is characterized by determining the position of puncturing in.

한편, 상기 터보 코드의 코딩 레이트에 상관없이 전체 채널 출력열의 비트열을 시스테메틱 비트 그룹과, 상단 구성 부호화기의 패리티 비트들에 대한 비트 그룹과, 하단 구성 부호화기의 패리티 비트들에 대한 비트 그룹으로 나누어 펑처링을 수행하는 것을 특징으로 한다.On the other hand, regardless of the coding rate of the turbo code, the bit string of the entire channel output sequence is divided into a systematic bit group, a bit group for parity bits of the upper component encoder, and a bit group for parity bits of the lower component encoder. It is characterized by performing puncturing by dividing.

바람직하게, 상기 시스테메틱 코드 비트들에 대한 비트 그룹에서의 펑처링을 배제하고, 상단 구성 부호화기의 패리티 비트들에 대한 비트 그룹과 하단 구성 부호화기의 패리티 비트들에 대한 비트 그룹에 대하여 전체 펑처링 양의 절반씩을 나누어주는 것을 특징으로 한다.Advantageously, exclude the puncturing in the bit group for the systematic code bits, and overall puncturing for the bit group for the parity bits of the upper component encoder and the bit group for the parity bits of the lower component encoder. Distribute half of the amount.

또한, 상기 펑처링을 위하여 채널 부호화열의 코드 비트의 순차적인 인덱스 i로부터 각각의 코드 비트가 어떤 비트 그룹에 속하는지를 판정하기 위하여, 각 비트 그룹내에서의 순차 인덱스 j는, 코딩 레이트 인버스가 n이고 각 구성 부호화기의 코딩 레이트 인버스가 ""인 경우에, "i-nc "에 의해 결정되는 것을 특징으로 한다.Further, to determine which bit group each code bit belongs to from the sequential index i of the code bits of the channel coding sequence for the puncturing, the sequential index j in each bit group has a coding rate inverse of n The coding rate inverse of each component encoder is " If "," in c It is determined by ".

바람직하게, 상기 채널 부호화열의 순차적인 비트 인덱스(i)가 상단 구성 부호화기 비트 그룹에 속한 경우에는 상기 순차적인 비트 인덱스를 상단 구성 부호화기 비트 그룹내의 순차 비트 인덱스(j)로 사상시키고, 상기 채널 부호화열의 순차적인 비트 인덱스(i)가 하단 구성 부호화기 비트 그룹에 속한 경우에는 상기 순차적인 비트 인덱스를 하단 구성 부호화기 비트 그룹내의 순차 비트 인덱스(j)로 사상시키는 것을 특징으로 한다.Preferably, when the sequential bit index (i) of the channel coded sequence belongs to an upper component coder bit group, the sequential bit index is mapped to a sequential bit index (j) in the upper component coder bit group. When the sequential bit index i belongs to the lower component encoder bit group, the sequential bit index is mapped to the sequential bit index j in the lower component encoder bit group.

또한, 상기 각각의 구성 부호화기내에 순차적으로 사상된 비트 인덱스 이후에 각 구성 부호화기내에서의 순차적으로 사상된 비트 인덱스에 대한 검사를 통하여 각 구성 부호화기의 패리티 비트들에 대하여 균일 펑처링을 수행하는 것을 특징으로 한다.The method further performs uniform puncturing on the parity bits of each component encoder by checking the sequentially mapped bit indexes in each component encoder after the bit indexes sequentially mapped in each component encoder. It is done.

한편, 상기 채널 부호화기의 출력열의 길이가 원하는 인터리버의 길이보다 작은 경우에는 인터리버의 길이에서 채널 부호화기의 출력열의 길이를 뺀 만큼의 양을 균일한 간격으로 반복하는 것을 특징으로 한다.On the other hand, when the length of the output string of the channel encoder is smaller than the length of the desired interleaver, the amount of the length of the interleaver minus the length of the output string of the channel encoder is repeated at uniform intervals.

바람직하게, 상기 터보 코드에 대한 반복 알고리즘은 시스테메틱 코드 비트들에 대한 그룹에서의 반복 과정에 우선 순위를 두는 것을 특징으로 한다.Advantageously, the iterative algorithm for the turbo code prioritizes the iterative process in a group for systematic code bits.

또한, 상기 터보 코드에 대한 반복 알고리즘은 터보 코드의 코딩 레이트에 관계없이 전체 코드 비트열을 시스테메틱 비트 그룹과 상단 구성 부호화기의 패리티 비트들에 대한 그룹, 그리고 하단 구성 부호화기의 패리티 비트들에 대한 그룹으로 나누어서 수행하는 것을 특징으로 한다.In addition, the iterative algorithm for the turbo code extracts the entire code bit stream regardless of the coding rate of the turbo code, for the system bit group, the group of parity bits of the upper component encoder, and the parity bits of the lower component encoder. It is characterized by performing the division into groups.

또한, 상기 반복 알고리즘은 다른 위치에 비하여 하나 큰 반복 팩터를 가져야 하는 비트의 개수와 시스테메틱 비트의 개수를 비교하여, 이 값이 시스테메틱비트의 개수에 비하여 작거나 같은 경우까지는 이 모든 값들을 시스테메틱 비트 그룹에 할당하는 것을 특징으로 한다.Further, the repetition algorithm compares the number of bits that should have one larger repetition factor with the number of systematic bits compared to other positions, and all these values until the value is smaller than or equal to the number of systematic bits. To the systematic bit group.

또한, 상기 반복 알고리즘은 다른 위치에 비하여 하나 큰 반복 팩터를 가져야 하는 비트의 개수와 시스테메틱 비트의 개수를 비교하여, 이 값이 시스테메틱 비트의 개수에 비하여 클 경우에는 그 큰 만큼의 양의 절반씩을 상단 구성 부호화기 그룹과 하단 구성 부호화기 그룹에 대하여 나누어 할당하는 것을 특징으로 한다.In addition, the repetition algorithm compares the number of bits that should have one larger repetition factor with the number of systematic bits compared to other positions, and if the value is larger than the number of systemic bits, the amount is larger. It is characterized by dividing and assigning half of each of the upper component encoder group and the lower component encoder group.

도 1은 종래 기술에 따른 가변 데이터 레이트와 다변 데이트 레이트를 지원하기 위한 레이트 매칭 과정을 나타낸 도면.1 is a diagram illustrating a rate matching process for supporting a variable data rate and a variable data rate according to the prior art.

도 2는 일반적인 터보 코드의 구성을 나타낸 도면2 is a view showing the configuration of a general turbo code

도 3은 본 발명에 따른 터보 코드의 다변 데이터 레이트와 가변 데이터 레이트 매칭 방법의 채널의 흐름도를 나타낸 도면.3 is a flow chart of a channel of a variable data rate and variable data rate matching method of a turbo code according to the present invention;

도 4는 본 발명에 따른 컨벌루션 코드의 다변 데이터 레이트와 가변 데이터 레이트 매칭 방법의 채널의 흐름도를 나타낸 도면.4 is a flow chart of a channel of a multivariate data rate and variable data rate matching method of a convolutional code in accordance with the present invention.

도 5는 일반적인 터보 코드에 대한 순환 방식의 복호기의 구성을 나타낸 블록 구성도.Fig. 5 is a block diagram showing the configuration of a decoder of a cyclic scheme for a typical turbo code.

이하 본 발명의 바람직한 일 실시 예에 따른 구성 및 작용을 첨부된 도면을 참조하여 설명한다.Hereinafter, a configuration and an operation according to an exemplary embodiment of the present invention will be described with reference to the accompanying drawings.

본 발명에서는 다변 데이터 레이트(variable data rate) 모드에서는 최대 전송율을 제외한 나머지 전송율에서, 터보 부호를 사용할 경우에는 항상 1/5 레이트의 터보 부호를 사용하기로 약속한다.In the present invention, in a variable data rate mode, at a transmission rate other than the maximum transmission rate, when a turbo code is used, a turbo code of 1/5 rate is always promised.

예를 들어, 다변 데이터 레이트 모드에서 최대 전송율이 76.8kbps인 경우에 채널 환경의 악화로 1/2 레이트로 낮추어 전송하면 20ms 동안 744비트가 내려와 여기에 16비트의 순환 중첩 코드(CRC)와 8비트의 테일이 붙어 768 비트의 프레임이 채널 부호기로 입력된다.For example, if the maximum data rate is 76.8 kbps in the multivariate data rate mode, if the transmission rate is lowered to 1/2 rate due to the deterioration of the channel environment, 744 bits are dropped for 20 ms, and 16 bits of cyclic superposition code (CRC) and 8 bits are added thereto. A frame of 768 bits is inputted to the channel encoder with a tail of.

이때, 1/5 레이트의 터보 부호기는 768비트의 프레임을 입력으로 받아서 총 3840 비트를 출력으로 내보내게 된다. 이 출력열의 길이는 현재 모드에서 사용하고 있는 인터리버의 길이 3072보다 큰 값이다. 따라서 이 경우에는 터보 부호기의 출력열에 대하여 768(=3840-3072) 비트만큼의 펑쳐링을 수행해야 한다. 따라서, 유효 펑쳐링 거리는 5(=L/P=3840/768)가 된다.In this case, the 1/5 rate turbo encoder receives 768-bit frames as input and outputs a total of 3840 bits as output. The length of this output string is greater than the length 3072 of the interleaver used in the current mode. Therefore, in this case, puncturing of 768 bits (= 3840-3072) should be performed on the output string of the turbo encoder. Therefore, the effective puncturing distance is 5 (= L / P = 3840/768).

결국 5비트마다 1비트 만큼의 펑쳐링을 수행하여 레이트 매칭을 처리할 수 있다. 이 경우, 실제적인 코딩율은 1/4 레이트로 생각할 수 있으며, 이로 인하여 시간 다이버시티 이득이 아닌 코딩 이득 자체를 얻는 것이 가능해진다.As a result, rate matching may be performed by puncturing as much as 1 bit every 5 bits. In this case, the actual coding rate can be thought of as 1/4 rate, which makes it possible to obtain the coding gain itself rather than the time diversity gain.

또 다른 예로 데이터의 전송율을 1/4 레이트로 낮춘 경우, 상위에서 내려오는 정보는 20ms 동안 360 비트가 된다. 그리고 여기에 16비트의 순환 중첩 코드(CRC)와 8비트의 테일이 더해져, 한 프레임의 길이는 384비트가 된다. 여기서도 마찬가지로 1/5 레이트의 터보 부호를 사용하게 되면, 상위 계층으로부터 384 비트를 입력으로 받아 1920(=5*384) 개의 코드 비트들을 출력시킨다. 이 값을 3072 의 인터리버의 길이에 맞춰주기 위해서는 1152(=3072-1920) 비트만큼을 반복시켜주면 된다.As another example, when the data rate is lowered to a quarter rate, information from the upper side becomes 360 bits for 20 ms. The 16-bit cyclic superposition code (CRC) and 8-bit tail are added to this, and the length of one frame is 384 bits. In this case, if a turbo code of 1/5 rate is used, 384 bits are inputted from an upper layer, and 1920 (= 5 * 384) code bits are output. To adjust this value to the length of the interleaver of 3072, the 1152 (= 3072-1920) bits may be repeated.

그리고, 상기 1/5 레이트의 터보 부호를 사용하는 방식은 가변 데이터 레이트(flexible data rate)에도 적용이 가능하다.In addition, the method of using the 1/5 rate turbo code may be applied to a variable data rate.

이때, 상기 가변 데이터 레이트(Flexible Data Rate) 또는 상기 다변 데이터 레이트(Variable Data Rate)에서는 원하는 인터리버의 길이와 비교하여 채널 부호화기의 출력열의 길이가 큰 경우에는 균일(uniform) 펑처링만을 사용하고, 채널 부호화기의 출력열의 길이가 인터리버의 길이보다 작은 경우에는 작은 양만큼의 균일(uniform) 반복만을 사용한다.In this case, in the flexible data rate or the variable data rate, only uniform puncturing is used when the length of the output stream of the channel encoder is larger than that of the desired interleaver. If the length of the output string of the encoder is smaller than the length of the interleaver, only a small amount of uniform iterations is used.

상기 균일 펑처링 또는 균일 반복만을 수행하도록 하는 것이 가능한 것은1/2 레이트, 1/3 레이트, 1/4 레이트 모두 기본적으로 다음의 도 2와 같은 1/5 레이트의 부호로부터 펑처링을 통하여 얻은 부호이므로, 복호 과정에 있어서 아무런 하드웨어적인 복잡도의 증가없이 블라인드 레이트 검출(blind rate detection)을 수행할 수 있다.It is possible to perform only the uniform puncturing or the uniform repetition, which is basically a code obtained through puncturing from the 1/2 rate, 1/3 rate, and 1/4 rate code as shown in FIG. Therefore, blind rate detection can be performed in the decoding process without any increase in hardware complexity.

또한, 본 발명에서는 컨벌루션 부호에 대하여 적용하는 경우에는 다변 데이터 레이트(variable data rate) 모드의 경우, 최대 전송율을 제외한 나머지 전송율에서는 항상 RC에 상관없이 1/4 레이트(rate)의 컨벌루션 부호를 사용하는 것으로 약속한다.In addition, in the present invention, when applied to a convolutional code, in a variable data rate mode, a convolutional code of 1/4 rate is always used regardless of RC at a transmission rate except the maximum transmission rate. Promise to be.

그리고, 터보 부호와 마찬가지로 가변 데이터 레이트(flexible data rate)에서도 항상 1/4 레이트의 컨벌루션 부호를 사용하는 것으로 약속한다.And as with the turbo code, it is promised to always use a convolutional code of 1/4 rate even at a flexible data rate.

이때에도 터보 부호와 마찬가지로 채널 부호화기의 출력열의 길이와 원하는 인터리버의 길이와의 레이트 매칭(rate matching)을 위해서는 항상 펑처링만을 사용하든지, 심볼 반복(repetition)만을 사용하든지 하는 한 단계의 레이트 매칭(rate matching) 방법을 사용한다.In this case, as in the turbo code, a rate matching of one step such as always using puncturing or only symbol repetition for rate matching between the length of the output stream of the channel encoder and the desired length of the interleaver. matching) method.

즉, 도 3과 도 4에서와 같이 본 발명에 따른 레이트 매칭 블록은 펑처링 혹은 반복의 두 가지 과정 중 항상 한 가지만을 수행하게 된다. 상기 펑처링 혹은 반복되는 양은 "|N-L|" 만큼 이루어진다.That is, as shown in FIGS. 3 and 4, the rate matching block according to the present invention always performs only one of two processes of puncturing or repetition. The puncturing or repeated amount is "| N-L |" As long as it takes place.

구체적으로, N-L값이 양수인 경우에는 블록 인터리버 사이즈가 크게 되므로, 심볼 반복에 의하여 인터리버 사이즈를 정합시키게 되고, N-L 값이 음수인 경우에는 펑처링을 통하여 블록 인터리버 사이즈를 정합시키게 된다.Specifically, when the N-L value is positive, the block interleaver size becomes large. Therefore, the interleaver size is matched by symbol repetition. When the N-L value is negative, the block interleaver size is matched through puncturing.

도 3을 참조하면, 컨벌루션 부호에 대해 1/4 레이트의 채널 부호화가 이루어지면, 이 부호화된 비트열이 L길이로 출력이 된다.(S30)Referring to FIG. 3, if a 1/4 rate channel encoding is performed on a convolutional code, this coded bit string is output in L length (S30).

이러한 부호 비트열인 블록 인터리버 사이즈 N보다 클 경우에는 펑처링이, N보다 작은 경우에는 심볼 반복만이 이루어진다.(S31)If larger than the block interleaver size N, which is the code bit string, puncturing is performed. If smaller than N, only symbol repetition is performed (S31).

그러므로, 상기 두 단계로 이루어지던 펑처링 과정이 하나의 단계를 통해 이루어져 다음 인터리빙 과정이 수행된다.(S32)Therefore, the puncturing process, which was performed in the two steps, is performed through one step, and the next interleaving process is performed.

이와 같은 동작은 도 4에서 터보 부호를 이용하는 경우에도 마찬가지로 이루어진다.This operation is similarly performed in the case of using the turbo code in FIG.

단, 도 4가 도 3과 다른 점은 코딩 레이트가 달라지는 점인데, 이는 앞에서도 설명한 바와 같이 일반적으로 이용되는 1/2 레이트, 1/3 레이트, 1/4 레이트를 갖는 데이터들이 보통 1/5 레이트를 갖는 비트열로부터 펑쳐링 또는 심볼 반복되어 생성되기 때문이다.4 differs from FIG. 3 in that the coding rate is different. As described above, data having 1/2 rate, 1/3 rate, and 1/4 rate are generally 1/5. This is because puncturing or symbol repetition is generated from a bit string having a rate.

본 발명에서는 1/5 레이트의 터보 코드를 만들기 위해 먼저 데이터 부분과 테일 부분의 펑처링 패턴을 다음 표 1과 같이 정의한다.In the present invention, first, the puncturing patterns of the data portion and the tail portion are defined as shown in Table 1 below to make a turbo code of 1/5 rate.

그리고, 일반적으로 터보 코드에 대한 복호는 도 5에서와 같이 두 개의 구성복호화기(constituent decoder)(50,52)를 이용하여 순환적으로 수행되므로, 이 두 구성 복호화기가 최적의 성능을 나타내기 위해서는 두 개의 구성 복호화기(constituent decoder)(50,52)의 복호 성능을 균형적으로 유지시켜주어야 한다.In general, since decoding of a turbo code is performed cyclically using two constituent decoders 50 and 52 as shown in FIG. 5, in order to show optimal performance of the two constituent decoders, The decoding performance of the two constituent decoders 50 and 52 should be balanced.

이를 위해서 본 발명에서는 전체의 펑처링 양을 두 개의 구성 복호화기(constituent encoder)(50,52)의 패리티 비트들에 균등하게 나누어 줄 수 있는 펑처링 알고리즘을 제안한다.(1)To this end, the present invention proposes a puncturing algorithm that can equally divide the total puncturing amount into parity bits of two constituent encoders 50 and 52. (1)

또한, 본 발명에서는 반복 복호에 있어서 시스테메틱 비트는 패리티 비트에 비하여 중요한 역할을 하기 때문에, 시스테메틱 비트에 대해서는 펑처링을 배제하는 펑처링 알고리즘을 제안한다.(2)In addition, in the present invention, since the systematic bit plays an important role as compared to the parity bit in the iterative decoding, a puncturing algorithm for removing the puncturing for the systematic bit is proposed.

그리고, 각각의 복호기가 최대의 복호 성능으로 동작하도록 각각의 패리티 비트들에 대하여 균일한 간격의 펑처링을 수행하도록 하는 펑처링 알고리즘을 제안한다.(3)Then, we propose a puncturing algorithm that performs puncturing at uniform intervals on each parity bit so that each decoder operates at the maximum decoding performance.

상기 (1)~(3)을 만족하는 펑처링 알고리즘을 제시하기 위해 먼저 1/5 레이트의 코딩율을 가지는 코드 비트열을 5개의 코드 비트로 구성되는 코드 그룹으로 분리한다. 상기 코드 그룹은 서로 다른 비트 패턴을 갖는 두 가지 타입의 코드 그룹으로 나뉘어져 다음 알고리즘에서 이용된다. 상기 분리된 서로 다른 타입의 코드 그룹의 전체 개수는 채널 부호화기의 입력 비트열의 길이가 되며, 이 값을 여기서는 I라고 정의한다.In order to present a puncturing algorithm satisfying the above (1) to (3), first, a code bit string having a coding rate of 1/5 rate is divided into a code group consisting of five code bits. The code group is divided into two types of code groups having different bit patterns and used in the next algorithm. The total number of the separated different types of code groups is the length of the input bit string of the channel encoder, which is defined as I here.

이하 정의되는 수학식들에서 I는 순환 중첩 코드(CRC)와, 테일을 포함하는부호화기 입력열의 길이이고, 코딩 레이트의 역수는 5이다.In the equations defined below, I is the length of the cyclic superposition code (CRC) and the encoder input string including the tail, and the inverse of the coding rate is five.

그리고, 이하 수학식들에서 L은 부호화기의 출력열의 길이로써, "5*I"의 값을 갖는다.In the following equations, L is the length of the output string of the encoder and has a value of "5 * I".

P는 터보 코드 또는 컨벌루션 코드로 부호화된 비트열이 인터리빙되어지기 위해서 필요로 하는 펑처링 양이다.P is the amount of puncturing required for the interleaved bit strings encoded with the turbo code or the convolutional code.

여기에서는 x를 넘지 않는 최대 정수값이다.From here Is the maximum integer not exceeding x.

상기 수학식 1은 제1 타입의 코드 그룹에서 펑처링된 비트의 수이다.Equation 1 is the number of bits punctured in the code group of the first type.

여기에서 LCEIL{ x}RCEIL 는 x보다 크거나 같은 최소 정수값이다.Where LCEIL {x} RCEIL is the smallest integer value greater than or equal to x.

상기 수학식 2는 제2 타입의 코드 그룹에서 펑처링된 비트의 수이다.Equation 2 is the number of bits punctured in the code group of the second type.

K1,P2= P mod IK 1, P2 = P mod I

상기 수학식 3은 전체 코드 그룹에서 상기 제2 타입 코드 그룹이 될 개수이다.Equation 3 is the number of the second type code group in the entire code group.

K1,GR1= P1 K 1, GR1 = P 1

상기 수학식 4는 제1 타입 코드 그룹에서 펑처링 양 P1이 발생될 개수이다.Equation 4 is the number of puncturing amounts P 1 to be generated in the first type code group.

K1,GR2= K1,GR1+ 1K 1, GR2 = K 1, GR1 + 1

상기 수학식 5는 제2 타입 코드 그룹에서 펑처링 양 P2가 발생될 개수이다.Equation 5 is the number of puncturing amounts P 2 to be generated in the second type code group.

상기 수학식 6은 (i-1)번째까지의 상기 펑처링 양 P2가 발생된 개수를 의미하고, i번째 코드 그룹에서 테스트를 수행하고자 할 경우 오프셋값으로 이용된다.Equation 6 represents the number of generation of the puncturing amount P 2 up to the (i-1) th time, and is used as an offset value when the test is to be performed in the i th code group.

본 발명에서는 상기 수학식 1에서 수학식 6을 이용하여 다음 제1 알고리즘을 제안한다.In the present invention, the following first algorithm is proposed by using Equation 1 to Equation 6.

이하 알고리즘은 앞에서도 설명한 바와 같이 터보 코드를 이용한 펑처링 알고리즘을 서술한 것이다.As described above, the algorithm describes a puncturing algorithm using turbo codes.

for(i=0;i<I;i++){for (i = 0; i <I; i ++) {

if(((i+1)K1,P2)mod I<k1,P2) {if (((i + 1) K 1, P2 ) mod I <k 1, P2 ) {

for(j=1;j<5 ;j++){for (j = 1; j <5; j ++) {

if((BRO2(j-1)+Oi)mod 4 ≤K1,GR1) puncture(5i+j)thbitif ((BRO 2 (j-1) + O i ) mod 4 ≤K 1, GR1 ) puncture (5i + j) th bit

else{else {

for(j=1;j< 5;j++)for (j = 1; j <5; j ++)

if((BRO2(j-1)+Oi)mod 4 < K1,GR1) puncture(5i+j)thbitif ((BRO 2 (j-1) + O i ) mod 4 <K 1, GR1 ) puncture (5i + j) th bit

}}

}}

즉, 상기 알고리즘은 우선적으로 P1과 P2의 두 가지의 펑처링의 양을 정의하고 이 값들을 각각 코드 그룹들에 할당하게된다.That is, the algorithm preferentially defines two amounts of puncturing, P 1 and P 2 , and assigns these values to code groups, respectively.

이때, P2는 전체 펑처링의 양을 코드 그룹의 길이로 나눈값보다 크거나 같은 최소의 정수로 정의한다.In this case, P 2 is defined as the minimum integer greater than or equal to the value of the total puncturing divided by the length of the code group.

그리고, P1은 전체 펑처링의 양을 코드 그룹의 길이로 나눈 수보다 작거나 같은 최대의 정수로 정의한다.P 1 is defined as the largest integer less than or equal to the total amount of puncturing divided by the length of the code group.

그리고, 최대의 균일성을 만족시켜주기 위해서 P2개의 펑처링을 할당해야 하는 코드 그룹의 위치를 전체 I개의 코드 그룹의 위치 중에서 균일하게 결정한다.In order to satisfy the maximum uniformity, the positions of code groups to which P 2 puncturing should be allocated are uniformly determined among the positions of all I code groups.

다음으로 위의 알고리즘을 통하여 테스트를 수행하면서 만일 P2개의 펑처링을 수행해야 하는 코드 그룹으로 결정되면, 그 코드 그룹내의 비트 인덱스에 대한 비트 리버싱 함수와 현재까지의 펑처링의 개수를 오프셋으로 이용하여 실제적으로 코드 그룹내에서 펑처링이 될 인덱스를 P2개만큼 선택한다.Next, if the test is performed through the above algorithm and it is determined to be a code group to perform P 2 puncturing, the bit reversal function and the number of puncturings to the bit index within the code group are offset. Select P 2 indexes to be punctured in the code group.

그리고, 시스테메틱 비트 위치에 대해서는 각각의 코드 그룹내에서의 테스트를 수행하지 않는다. 또한, 각각의 코드 그룹내에서의 펑처링의 위치를 결정하는 경우에는 코드 그룹내의 코드 비트 인덱스들에 대한 비트 리버싱을 통하여 코드 그룹내에서의 펑처링의 위치를 최대한으로 벌려 놓을 수 있게 된다.In addition, the test in each code group is not performed on the systematic bit positions. In addition, when determining the location of puncturing in each code group, it is possible to maximize the location of the puncturing in the code group through bit reversal on the code bit indices in the code group.

상기 제1 펑처링 알고리즘은 코드 그룹 단위로 펑처링 과정을 수행하지만, 앞서 설명한 (1)~(3)의 조건을 만족하기에는 불충분하므로, 또 다른 제2 펑처링 알고리즘을 제시하고자 한다. 그러기 위해서는 먼저 전체의 코드 비트열을 시스테매틱 비트열과 상단 구성 부호화기(RSC)의 패리티 비트열들, 그리고 하단 구성 부호화기(RSC)의 비트열들로 묶어서 정의한다.Although the first puncturing algorithm performs a puncturing process in units of code groups, it is insufficient to satisfy the conditions of (1) to (3) described above, and therefore, another second puncturing algorithm is proposed. To do this, first, the entire code bit string is defined by grouping the systematic bit string, the parity bit strings of the upper component encoder (RSC), and the bit strings of the lower component encoder (RSC).

예를 들어, 1/5 레이트의 터보 부호의 출력열이 다음 "x0,y0,z0,y'0,z'0,x1,y1,z1,y'1,z'1..."의 비트 형태로 쓰는 것이 가능하다고 하자.For example, the output sequence of turbo code at 1/5 rate is "x 0 , y 0 , z 0 , y ' 0 , z' 0 , x 1 , y 1 , z 1 , y ' 1 , z' 1 Let's say you can write in "..." bit form.

그러면, 상기 출력열들은 세 개의 그룹으로 생각할 수 있다. 즉, 시스테메틱 비트 그룹 {x0,x1,x2,x3,....}과, 제1 부호화기의 출력열들의 그룹 {y0,z0,y1,z1,y2,z2,y3,z3....}과, 그리고 제2 부호화기의 출력열들의 그룹{y'0,z'0,y'1,z'1,y'2,z'2, y'3,z'3....}으로 나누어서 생각할 수 있다.The output strings can then be thought of as three groups. That is, the systematic bit group {x 0 , x 1 , x 2 , x 3 , .... } and the group of output strings of the first encoder {y 0 , z 0 , y 1 , z 1 , y 2 , z 2 , y 3 , z 3 .... } and a group of output strings of the second encoder {y ' 0 , z' 0 , y ' 1 , z' 1 , y ' 2 , z' 2 , y ' 3 , z' 3 .... }

상기 세 종류의 코드 그룹 중 시스테매틱 그룹에는 펑처링을 배제하고, 나머지 두 개의 그룹에 전체의 펑처링의 양을 절반씩 할당하는 방법을 사용하고자 한다.Of the three types of code groups, a puncturing is excluded from the systematic group, and a method of allocating the total amount of puncturing to the remaining two groups by half is used.

이러한 방법을 통하여, 시스테매틱 비트에 대한 펑처링의 배제라는 조건 (1)이 만족되며, 두 개의 복호기에 대한 균형 펑처링(balanced puncturing) 조건인 조건 (2)가 만족된다. 마지막 조건 (3)은 각각의 복호기에 대한 균일 펑처링(uniform puncturing) 조건이었다. 따라서 조건 (3)을 만족하기 위하여 각각의 그룹에 대한 균일 펑처링(uniform puncturing) 알고리즘을 적용한다.Through this method, condition (1) of exclusion of puncturing for cymatic bits is satisfied, and condition (2), which is a balanced puncturing condition for two decoders, is satisfied. The final condition (3) was a uniform puncturing condition for each decoder. Therefore, we apply a uniform puncturing algorithm for each group to satisfy condition (3).

이하 수학식에서 I는 테일과 예약 비트를 포함하는 정보 비트열의 길이이다.In the following equation, I is the length of the information bit string including the tail and the reserved bits.

P는 L-N만큼의 필요한 펑처링 양이다.P is the required puncturing amount as L-N.

상기 수학식 7은 상단의 구성 복호기에 대한 펑처링의 양이다.Equation (7) is the amount of puncturing for the component decoder at the top.

상기 수학식 8은 하단의 복호기에 대한 펑처링의 양이다.Equation 8 is the amount of puncturing for the lower decoder.

이와 같은 수학식 7과 수학식 8을 이용한 제2 알고리즘은 다음과 같다.The second algorithm using Equations 7 and 8 is as follows.

for(i=0;i<L;i++){for (i = 0; i <L; i ++) {

j = i - 3 j = i-3

if(0 < (i mod 5) < 3)&((j*PD1) mod 2I < PD1) puncture ithbitif (0 <(i mod 5) <3) & ((j * P D1 ) mod 2I <P D1 ) puncture i th bit

else if(2 < (i mod 5) < 5)&((j*PD2) mod 2I < PD2) puncture ithbitelse if (2 <(i mod 5) <5) & ((j * P D2 ) mod 2I <P D2 ) puncture i th bit

))

즉, 상기 제2 알고리즘은 각각의 비트 인덱스 i에 대한 조사를 통하여 그 비트 인덱스가 상단 구성 부호화기(RSC)의 그룹에 속하는지 혹은 하단 구성 부호화기(RSC)의 그룹에 속하는지를 알 수 있다.That is, the second algorithm may determine whether the bit index belongs to the group of the upper component coder (RSC) or the group of the lower component coder (RSC) by examining each bit index i.

그리고, 상기 인덱스 j는 상단 구성 부호화기(RSC) 그룹내의 순차적인 번호, 또는 하단 구성 부호화기(RSC) 그룹내의 순차적인 번호를 알려준다.The index j indicates a sequential number in the upper component coder group or a sequential number in the lower component coder group.

예를 들어, I가 4인 경우 1/5 레이트 터보 코드의 출력열이 길이는 20이 된다.For example, if I is 4, the output string of the 1/5 rate turbo code is 20 in length.

그러면, 코드 비트에 대한 인덱스는 0,1,2,3,...,17,18,19가 된다.The indices for the code bits are then 0, 1, 2, 3, ..., 17, 18, 19.

이때, 위의 알고리즘 상에서 코드 인덱스 i와 상단 구성 부호화기에 대한 그룹 내에서의 순차 인덱스 j와의 관계와 하단 구성 부호화기에 대한 그룹 내에서의 순차 인덱스 j와의 관계는 다음과 같이 정의된다.In this case, the relationship between the code index i and the sequential index j in the group for the upper component encoder and the sequential index j in the group for the lower component encoder is defined as follows.

상단 구성 부호화기에 대한 인덱스 사상이 "1,2,6,7,11,12,16,17(i) ------->1,2,3,4,5,6,8(j)"으로 사상되고, 하단 구성 부호화기에 대한 인덱스 사상이 "3,4,8,9,13,14,18,19(i)------>3,4,5,6,7,8,9,10(j)"으로 사상되는 관계를 갖는다.The index mapping for the top constituent encoder is "1,2,6,7,11,12,16,17 (i) -------> 1,2,3,4,5,6,8 (j ), And the index mapping for the lower constituent encoder is "3,4,8,9,13,14,18,19 (i) ------> 3,4,5,6,7," 8,9,10 (j) ".

이때, 상기 인덱스 j는 "i-3"에 의하여 구하여진다.In this case, the index j is "i-3 Is obtained.

위의 사상 관계를 이용하고, 상단 구성 부호화기(RSC)에 대한 그룹 조사와 j 인덱스에 대한 균일 펑처링 조사를 행하게 되면 결과적인 비트 인덱스 i에 대한 펑처링 테스트가 마쳐지게 된다.Using the mapping relationship above, performing a group check on the upper component coder (RSC) and a uniform puncturing on the j index results in a puncturing test on the resulting bit index i.

이때, 상기 인덱스 j에 대한 균일 펑처링 조사를 수행하는 경우, 전체 정보 비트의 길이의 두 배인 2I값과의 모듈로 연산을 통하여 수행된다는 점이다.In this case, when performing the uniform puncturing on the index j, it is performed through a modulo operation with a 2I value that is twice the length of all information bits.

상기 제2 알고리즘은 일반적인 1/n 터보 부호에 대해서도 적용 가능한 이하 제3 알고리즘으로 변형 가능하다.The second algorithm may be modified to the following third algorithm, which is also applicable to a general 1 / n turbo code.

이하 제3 알고리즘에서는 제2 알고리즘과 마찬가지로 수학식 7과 수학식 8의 상단, 하단 구성 복호기에 대한 펑처링의 수학식을 이용한다.In the third algorithm, like the second algorithm, the puncturing equations for the upper and lower component decoders of Equations 7 and 8 are used.

이외에도 각 구성 부호화기의 코딩 레이트의 인버스 nc를 ""와 같이 정의하고, 이 코딩 레이트의 인버스 nc를 이용하여 인덱스 j를 다음 수학식 9와 같이 정의한다.In addition, the inverse n c of the coding rate of each component encoder is " ", And using the inverse n c of this coding rate, the index j is defined as in the following equation (9).

그리고, 두 가지의 사건 A,B에 대하여 이하와 같이 정의하고 이 두 사건이 독립적으로 발생되는 해당 비트 위치에서 펑처링을 수행한다.Then, two events A and B are defined as follows and puncturing is performed at the corresponding bit positions where these two events occur independently.

사건 "A" : (0 < (i mod n) < nc)&((j*PD1) mod ((nc-1)*I) < PD1)Event "A": (0 <(i mod n) <n c ) & ((j * P D1 ) mod ((n c -1) * I) <P D1 )

사건 "B" : ((nc-1) < (i mod n) < n)&((j*PD2) mod ((nc-1)*I) < PD2)Event "B": ((n c -1) <(i mod n) <n) & ((j * P D2 ) mod ((n c -1) * I) <P D2 )

즉, 0부터 L까지 증가하는 경우, 상기 사건 "A" 또는 "B"가 발생되는 경우에 i번째 비트를 펑처링하는 알고리즘으로서 모든 코딩 레이트의 터보 코드에 이용 가능하다.That is, when increasing from 0 to L, as an algorithm puncturing the i-th bit when the event "A" or "B" occurs, it is available for turbo codes of all coding rates.

또한 상기 제3 알고리즘은 1/5 레이트 부호에 대한 반복(repetition) 알고리즘의 설계시에도 적용이 가능하다.The third algorithm is also applicable to the design of a repetition algorithm for a 1/5 rate code.

이때, 시스테메틱 비트 성분에 대한 반복에 어느 정도의 우선 순위를 주는 것이 전체적인 복호 성능의 향상에 있어서 중요한 역할을 하게 된다. 따라서, 우선적으로 두 개의 반복 팩터 M1과 M2를 정의한다. 그리고, 그 중 M2의 반복 팩터를 가져야 하는 개수를 K1이라고 하고 이하에서 정의하였다.At this time, giving a certain priority to the iteration for the systematic bit component plays an important role in improving the overall decoding performance. Therefore, we first define two repetition factors M 1 and M 2 . Further, we define the number of which have a repetition factor of M 2 from below, and that the K 1.

이하 수학식에서 I는 테일과 예약 비트를 포함하는 정보 비트열의 길이이다.In the following equation, I is the length of the information bit string including the tail and the reserved bits.

K1= N mod LK 1 = N mod L

상기 수학식 12에서 상기 K1을 시스테메틱 비트 그룹과 상단 구성 부호화기 비트 그룹, 하단 구성 부호화기의 비트 그룹들에 대하여 다음의 수학식 13과 같은 관계로 할당된다.In Equation 12, K 1 is allocated to the systematic bit group, the upper component encoder bit group, and the bit groups of the lower component encoder in the following equation (13).

K1,x= K1K1≤IK 1, x = K 1 K 1 ≤I

I otherwiseI otherwise

상기 수학식 13은 시스테메틱 비트에 대해 상기 반복 팩터 M2를 갖는 비트의 개수이다.Equation 13 is the number of bits having the repetition factor M 2 for the systematic bits.

K1,D1= 0 K1≤IK 1, D1 = 0 K 1 ≤I

otherwise otherwise

상기 수학식 14는 상단 구성 부호화기 비트에 대해 상기 반복 팩터 M2를 갖는 비트의 개수이다.Equation 14 is the number of bits having the repetition factor M 2 for the upper component encoder bits.

K1,D2= 0 K1≤IK 1, D2 = 0 K 1 ≤I

otherwise otherwise

상기 수학식 15는 하단 구성 부호화기 비트에 대해 상기 반복 팩터 M2를 갖는 비트의 개수이다.Equation 15 is the number of bits having the repetition factor M 2 for the lower component encoder bits.

상기 수학식 13과, 수학식 14와, 수학식 15를 통하여 상기 전체 코드 비트열에 대하여 100/n 만큼까지의 추가적인 양을 시스테메틱 비트에 대하여 할당하게 됨을 확인할 수 있다.Through Equation 13, Equation 14, and Equation 15, it can be confirmed that an additional amount of up to 100 / n is allocated to the systematic bits with respect to the entire code bit string.

이러한 수학식 13에서 수학식 15를 이용하여 이하 펑처링 알고리즘과 유사한 방법으로 각각의 시스테메틱 코드 그룹과 상단 구성 부호화기(RSC)의 코드 그룹, 그리고 하단 구성 부호화기(RSC)의 코드 그룹내에서의 균일성을 맞춰주기 위한 다음 제4 알고리즘을 제안한다.By using Equation 13 to Equation 15, each system code group, a code group of the upper component coder (RSC), and a code group of the lower component coder (RSC) in a manner similar to the following puncturing algorithm We propose the following fourth algorithm for matching uniformity.

for(i=0;i<L;i++){for (i = 0; i <L; i ++) {

j = i - 3 j = i-3

if((i mod 5)=0)&((i*K1,x/5) mod I < K1,x)) ∥if ((i mod 5) = 0) & ((i * K 1, x / 5) mod I <K 1, x )) ∥

((0 < (i mod 5) < 3)&((j*K1,D1) mod 2I < K1,D1))∥((0 <(i mod 5) <3) & ((j * K 1, D1 ) mod 2I <K 1, D1 )) ∥

((2 < (i mod 5) < 5)&((j*K1,D2) mod 2I < K1,D2))((2 <(i mod 5) <5) & ((j * K 1, D2 ) mod 2I <K 1, D2 ))

repeat ithbit with repetition factor M2 repeat i th bit with repetition factor M 2

otherwise repeat ithbit with repetition factor M1 otherwise repeat i th bit with repetition factor M 1

}}

위의 알고리즘은 일반적인 1/n 레이트 터보 코드에 대하여 일반적인 형태로 다음 제 4 알고리즘을 구성한다.The above algorithm constitutes the following fourth algorithm in a general form for a general 1 / n rate turbo code.

즉, 구성 부호화기의 코딩 레이트의 인버스 nc를 ""와 같이 정의하고, 상기 수학식 10, 수학식 11의 서로 다른 반복 팩터 M1과, M2를 이용하고, 상기 수학식 12의 반복 팩터 M2를 갖는 비트 개수를 이하 알고리즘에서 이용한다.In other words, the inverse n c of the coding rate of the component encoder is " And using different repetition factors M 1 and M 2 of Equations 10 and 11, and the number of bits having the repetition factor M 2 of Equation 12 is used in the following algorithm.

또한, 상기 수학식 13의 시스테메틱 비트 그룹과, 수학식 14의 상단 구성 부호화기 비트 그룹과, 상기 수학식 15의 하단 구성 부호화기 비트 그룹에서 상기 반복 팩터 M2를 갖는 비트 개수를 이하 알고리즘에서 이용한다.In addition, the number of bits having the iteration factor M 2 in the systemic bit group of Equation 13, the upper component encoder bit group of Equation 14, and the lower component encoder bit group of Equation 15 is used in the following algorithm. .

그리고, 이하 수학식 16에서는 상기 상단 구성 부호화기 그룹내 또는 상기 하단 구성 부호화기 그룹내 순차적인 번호를 알려주는 인덱스 j에 대하여 다음과 같이 정의한다.In Equation 16, index j indicating a sequential number in the upper component encoder group or the lower component encoder group is defined as follows.

사건 "A" : ((i mod n=0) &((i*K1,x/n) mod I < K1,x))Event "A": ((i mod n = 0) & ((i * K 1, x / n) mod I <K 1, x ))

사건 "B" : ((0 < (i mod n) < nc) & ((j*K1,D1) mod (nc-1)*I < K1,D1))Event "B": ((0 <(i mod n) <n c ) & ((j * K 1, D1 ) mod (n c -1) * I <K 1, D1 ))

사건 "C" : ((nc-1 < (i mod n) < n) & ((j*K1,D2) mod (nc-1)*I < K1,D2))Event "C": ((n c -1 <(i mod n) <n) & ((j * K 1, D2 ) mod (n c -1) * I <K 1, D2 ))

상기 알고리즘에서 0부터 코딩 부호화열의 길이 L까지 증가하는 인덱스 i에 대해 사건 A 또는 B 또는 C가 발생하면 반복 팩터 M2를 갖는 i번째 비트를 반복한다.In the algorithm, when an event A, B, or C occurs for an index i that increases from 0 to the length L of the coding coded sequence, the i th bit having the repetition factor M 2 is repeated.

그렇지 않은 경우에는 반복 팩터 M1에 의해 i번째 비트를 반복한다.Otherwise, the i th bit is repeated by the repetition factor M 1 .

만일 1/4 레이트의 컨벌루션 부호를 사용한다고 했을 때의 펑처링 알고리즘은 다음과 같은 간단한 과정으로 수행된다.If a 1/4 rate convolution code is used, the puncturing algorithm is performed in the following simple process.

for(i=0;i<L;i++){for (i = 0; i <L; i ++) {

if(((i+1)*P) mod L < P) puncture ithbitif (((i + 1) * P) mod L <P) puncture i th bit

}}

상기 L은 채널 부호화기의 출력열의 길이를 나타내며, P(= L-N)는 상기 부호화기 출력열에서 펑처링이 되어야 할 양을 나타낸다. 그리고, i는 비트의 인덱스를 나타내는 값으로 0에서 L-1 사이의 값을 가진다.L represents the length of the output string of the channel encoder, P (= L-N) represents the amount to be punctured in the encoder output string. I is a value representing an index of a bit and has a value between 0 and L-1.

이상의 설명에서와 같이 본 발명은 현재의 차세대 통신 시스템(3GPP2)에서 가변 데이터 레이트나 보조 채널에 대한 다변 데이터 레이트 모드 혹은 두 개 모두가 지원되는 경우, 심볼 반복에 의한 시간 다이버시티 이득 이외에도 실제적인 코드율의 감소로 인한 코딩 이득을 얻을 수 있으며, 이로 인하여 요구되는 전송 전력을 낮출 수 있다.As described above, the present invention provides a practical code in addition to the time diversity gain due to symbol repetition when a variable data rate or a multivariate data rate mode for an auxiliary channel or both are supported in the current next generation communication system (3GPP2). Coding gain can be obtained due to the reduction of the rate, thereby lowering the required transmission power.

그리고, 코딩 이득의 증가로 인한 요구 전송 전력의 감소로 인하여 시스템의 로딩(loading)을 보다 효율적으로 관리하는 것이 가능해진다.In addition, the reduction in the required transmission power due to the increase in the coding gain makes it possible to more efficiently manage the loading of the system.

이상 설명한 내용을 통해 당업자라면 본 발명의 기술 사상을 일탈하지 아니하는 범위에서 다양한 변경 및 수정이 가능함을 알 수 있을 것이다.Those skilled in the art will appreciate that various changes and modifications can be made without departing from the spirit of the present invention.

따라서, 본 발명의 기술적 범위는 실시예에 기재된 내용으로 한정하는 것이 아니라 특허 청구 범위에 의해서 정해져야 한다.Therefore, the technical scope of the present invention should not be limited to the contents described in the examples, but should be defined by the claims.

Claims (17)

채널 부호화된 데이터들이 물리 계층에 매핑되도록 인터리빙하는 과정에서,In the process of interleaving the channel coded data to be mapped to the physical layer, 상기 채널 부호화된 데이터들이 다변 데이터 레이트 모드에서 최대 전송율 이외의 전송율로 전송되는 경우 또는 가변 데이터 레이트 모드에서 각 무선 구조상에서 정의되지 않은 임의 데이터 레이트로 전송되는 경우 사용 가능한 최저 데이터 레이트의 채널 부호로 전송하기 위해서, 상기 채널 부호화된 서로 다른 비트 레이트의 데이터들을 펑처링 또는 심볼 반복을 선택적으로 이용하여 상기 인터리빙 사이즈에 정합시키도록 하는 것을 특징으로 하는 데이터 레이트 매칭 방법.When the channel coded data is transmitted at a data rate other than the maximum data rate in the multivariate data rate mode or at a random data rate not defined on each radio structure in the variable data rate mode, the data is transmitted at the lowest available data rate channel code. To match the channel coded data of different bit rates to the interleaving size by selectively using puncturing or symbol repetition. 제 1항에 있어서, 상기 채널 부호화된 데이터들이 컨벌루션 부호일 경우에 1/4 레이트의 코딩 레이트를 이용하는 것을 특징으로 하는 데이터 레이트 매칭 방법.2. The method of claim 1, wherein a coding rate of 1/4 rate is used when the channel coded data is a convolutional code. 제 1항에 있어서, 상기 채널 부호화된 데이터들이 터보 부호일 경우에 1/5 레이트의 코딩 레이트를 이용하는 것을 특징으로 하는 데이터 레이트 매칭 방법.The data rate matching method of claim 1, wherein a coding rate of one fifth is used when the channel coded data is a turbo code. 제 1항에 있어서, 상기 채널 부호화된 데이터의 출력열의 길이가 원하는 인터리버의 사이즈보다 큰 경우에는 채널 부호화된 데이터의 출력열의 길이에서 인터리버 사이즈만큼을 뺀 펑처링 양을 전체 채널 부호화기의 출력 비트열에서 펑처링하는 것을 특징으로 하는 데이터 레이트 매칭 방법.The output bit stream of the entire channel encoder according to claim 1, wherein when the length of the output string of the channel-coded data is larger than the size of the desired interleaver, the puncturing amount obtained by subtracting the interleaver size from the length of the output string of the channel-coded data is included in the output bit string of the entire channel encoder. Puncturing, characterized in that the data rate matching method. 제 4항에 있어서, 상기 터보 코드로 채널 부호화된 출력열에 대한 펑처링을 위하여 상기 채널 부호화된 출력열을 각각의 코드 그룹단위로 나누어 펑처링을 수행하는 것을 특징으로 하는 데이터 레이트 매칭 방법.The data rate matching method of claim 4, wherein the puncturing is performed by dividing the channel-coded output string into units of code groups for puncturing the channel-coded output string. 제 5항에 있어서, 상기 전체 펑처링 양을 상기 전체 코드 그룹의 개수로 나눈 값을 넘지 않는 최대의 정수만큼 펑처링해야 하는 코드 그룹을 제1 타입 코드 그룹으로, 상기 전체 펑처링 양을 상기 전체 코드 그룹의 개수로 나눈 값보다 크거나 같은 최소 정수만큼 펑처링해야 하는 코드 그룹을 제2 타입 코드 그룹으로 나누어 각각이 균일하게 배치되도록 하는 것을 특징으로 하는 데이터 레이트 매칭 방법.6. The method of claim 5, wherein a code group that must be punctured by a maximum integer not exceeding a value obtained by dividing the total puncturing amount by the total number of code groups is a first type code group, and the total puncturing amount is the total number. And dividing the code groups to be punctured by a minimum integer greater than or equal to a value divided by the number of code groups into second type code groups so that each is evenly arranged. 제 5항에 있어서, 각 코드 그룹에 할당된 펑처링의 양을 코드 그룹내에서 시스테메틱 비트를 제외한 나머지 비트들의 인덱스에 대한 비트 반전 연산과 그 그룹까지의 전체 펑처링 양의 덧셈을 통하여 각 코드 그룹내에서의 펑처링의 위치를 결정하는 것을 특징으로 하는 데이터 레이트 매칭 방법.6. The method of claim 5, wherein the amount of puncturing allocated to each code group is determined by a bit inversion operation on the index of the remaining bits except the systematic bits and adding the total puncturing amount up to the group. And determining the location of puncturing within the code group. 제 4항에 있어서, 상기 터보 코드의 코딩 레이트에 상관없이 전체 채널 출력열의 비트열을 시스테메틱 비트 그룹과, 상단 구성 부호화기의 패리티 비트들에 대한 비트 그룹과, 하단 구성 부호화기의 패리티 비트들에 대한 비트 그룹으로 나누어 펑처링을 수행하는 것을 특징으로 하는 데이터 레이트 매칭 방법.5. The method of claim 4, wherein the bit stream of the entire channel output sequence is divided into a systematic bit group, a bit group for parity bits of an upper component encoder, and parity bits of a lower component encoder, regardless of a coding rate of the turbo code. And performing puncturing by dividing into bit groups. 제 8항에 있어서, 상기 시스테메틱 코드 비트들에 대한 비트 그룹에서의 펑처링을 배제하고, 상단 구성 부호화기의 패리티 비트들에 대한 비트 그룹과 하단 구성 부호화기의 패리티 비트들에 대한 비트 그룹에 대하여 전체 펑처링 양의 절반씩을 나누어주는 것을 특징으로 하는 데이터 레이트 매칭 방법.9. The method of claim 8, excluding puncturing in a bit group for the systematic code bits, and for a bit group for parity bits of an upper component encoder and a bit group for parity bits of a lower component encoder. A data rate matching method comprising dividing half of the total puncturing amount. 제 8항에 있어서, 상기 펑처링을 위하여 채널 부호화열의 코드 비트의 순차적인 인덱스 i로부터 각각의 코드 비트가 어떤 비트 그룹에 속하는지를 판정하기 위하여, 각 비트 그룹내에서의 순차 인덱스 j는, 코딩 레이트 인버스가 n이고 각 구성 부호화기의 코딩 레이트의 인버스 nc가 ""인 경우에, "i-nc "에 의해 결정되는 것을 특징으로 하는 데이터 레이트 매칭 방법.The method according to claim 8, wherein in order to determine which bit group each code bit belongs to from a sequential index i of code bits of a channel coding sequence for puncturing, the sequential index j in each bit group is a coding rate. Inverse is n and inverse n c of the coding rate of each component encoder is " If "," in c Data rate matching method. 제 10항에 있어서, 상기 채널 부호화열의 순차적인 비트 인덱스(i)가 상단 구성 부호화기 비트 그룹에 속한 경우에는 상기 순차적인 비트 인덱스를 상단 구성 부호화기 비트 그룹내의 순차 비트 인덱스(j)로 사상시키고, 상기 채널 부호화열의 순차적인 비트 인덱스(i)가 하단 구성 부호화기 비트 그룹에 속한 경우에는 상기 순차적인 비트 인덱스를 하단 구성 부호화기 비트 그룹내의 순차 비트 인덱스(j)로사상시키는 것을 특징으로 하는 데이터 레이트 매칭 방법.11. The method of claim 10, wherein when the sequential bit index (i) of the channel coding sequence belongs to an upper component encoder bit group, the sequential bit index is mapped to a sequential bit index (j) in the upper component encoder bit group. And if the sequential bit index (i) of the channel coded sequence belongs to a lower component encoder bit group, the sequential bit index is mapped to a sequential bit index (j) in the lower component encoder bit group. 제 10항에 있어서, 상기 각각의 구성 부호화기내에 순차적으로 사상된 비트 인덱스 이후에 각 구성 부호화기내에서의 순차적으로 사상된 비트 인덱스에 대한 검사를 통하여 각 구성 부호화기의 패리티 비트들에 대하여 균일 펑처링을 수행하는 것을 특징으로 하는 데이터 레이트 매칭 방법.11. The method of claim 10, wherein uniform puncturing is performed on parity bits of each component encoder by checking the sequentially mapped bit indexes in each component encoder after bit indexes sequentially mapped in each component encoder. Performing a data rate matching method. 제 1항에 있어서, 상기 채널 부호화기의 출력열의 길이가 원하는 인터리버의 길이보다 작은 경우에는 인터리버의 길이에서 채널 부호화기의 출력열의 길이를 뺀만큼의 양을 균일한 간격으로 반복하는 것을 특징으로 하는 데이터 레이트 매칭 방법.2. The data rate of claim 1, wherein when the length of the output string of the channel encoder is smaller than the length of the desired interleaver, the data rate is repeated at equal intervals by subtracting the length of the output string of the channel encoder from the length of the interleaver. Matching method. 제 13항에 있어서, 상기 터보 코드에 대한 반복 알고리즘은 시스테메틱 코드 비트들에 대한 그룹에서의 반복 과정에 우선 순위를 두는 것을 특징으로 하는 데이터 레이트 매칭 방법.14. The method of claim 13, wherein the iterative algorithm for the turbo code prioritizes the iterative process in a group for systematic code bits. 제 13항에 있어서, 상기 터보 코드에 대한 반복 알고리즘은 터보 코드의 코딩 레이트에 관계없이 전체 코드 비트열을 시스테메틱 비트 그룹과 상단 구성 부호화기의 패리티 비트들에 대한 그룹, 그리고 하단 구성 부호화기의 패리티 비트들에 대한 그룹으로 나누어서 수행하는 것을 특징으로 하는 데이터 레이트 매칭 방법.The method of claim 13, wherein the iterative algorithm for the turbo code is configured to determine the entire code bit stream regardless of the coding rate of the turbo code, the group of the systematic bit group and the parity bits of the upper component encoder, and the parity of the lower component encoder. And performing data by dividing the data into groups for bits. 제 13항에 있어서, 상기 반복 알고리즘은 다른 위치에 비하여 하나 큰 반복 팩터를 가져야 하는 비트의 개수와 시스테메틱 비트의 개수를 비교하여, 이 값이 시스테메틱 비트의 개수에 비하여 작거나 같은 경우까지는 이 모든 값들을 시스테메틱 비트 그룹에 할당하는 것을 특징으로 하는 데이터 레이트 매칭 방법.14. The method of claim 13, wherein the iterative algorithm compares the number of bits that should have one larger repetition factor with respect to the other positions and the number of systematic bits, so that the value is smaller than or equal to the number of systematic bits. Until all these values are assigned to the systematic bit group. 제 13항에 있어서, 상기 반복 알고리즘은 다른 위치에 비하여 하나 큰 반복 팩터를 가져야 하는 비트의 개수와 시스테메틱 비트의 개수를 비교하여, 이 값이 시스테메틱 비트의 개수에 비하여 클 경우에는 그 큰 만큼의 양의 절반씩을 상단 구성 부호화기 그룹과 하단 구성 부호화기 그룹에 대하여 나누어 할당하는 것을 특징으로 하는 데이터 레이트 매칭 방법.The method according to claim 13, wherein the iterative algorithm compares the number of bits that should have one larger repetition factor with respect to the other positions and the number of systematic bits, and if the value is larger than the number of systematic bits, And allocating half of the larger amount for the upper component encoder group and the lower component encoder group.
KR1020000038388A 2000-07-05 2000-07-05 Method of Data Rate Matching and apparatus for data processing KR100720566B1 (en)

Priority Applications (16)

Application Number Priority Date Filing Date Title
KR1020000038388A KR100720566B1 (en) 2000-07-05 2000-07-05 Method of Data Rate Matching and apparatus for data processing
EP10012474A EP2293452B1 (en) 2000-07-05 2001-07-03 Method of puncturing a turbo coded data block
EP01116124A EP1176725B1 (en) 2000-07-05 2001-07-03 Method of configuring transmission in mobile communication system
AU54178/01A AU768016B2 (en) 2000-07-05 2001-07-03 Method of configuring transmission in mobile communication system
JP2001204139A JP4138274B2 (en) 2000-07-05 2001-07-04 Transmission configuration method in mobile communication system
CNB011200243A CN100464510C (en) 2000-07-05 2001-07-05 Method of patching transmission in mobile communicating system
CN2008101459461A CN101369864B (en) 2000-07-05 2001-07-05 Method of configuring transmission in mobile communication system
BR0105804-5A BR0105804A (en) 2000-07-05 2001-07-05 Method for configuring a transmission link in a 3gpp2 system, transmission link device, turbo encoder, pairing method and communication device
CN2008101459476A CN101369865B (en) 2000-07-05 2001-07-05 Method of configuring transmission in mobile communication system
BRPI0105804-5A BRPI0105804B1 (en) 2000-07-05 2001-07-05 METHOD FOR PAIRING RATE OF AN OUTPUT BITS CURRENT IN A TRANSMITTER CONTAINING A CHANNEL ENCODER AND A TRAINER IN A MOBILE COMMUNICATION SYSTEM
US09/898,040 US7127661B2 (en) 2000-07-05 2001-07-05 Method of configuring transmission in mobile communication system
US10/724,767 US7266752B2 (en) 2000-07-05 2003-12-02 Method of configuring transmission in mobile communication system
AU2004200702A AU2004200702B2 (en) 2000-07-05 2004-02-23 Method of configuring transmission in mobile communication system
US11/231,823 US7636878B2 (en) 2000-07-05 2005-09-22 Method of configuring transmission in mobile communication system
US11/476,689 US7712012B2 (en) 2000-07-05 2006-06-29 Method of configuring transmission in mobile communication system
JP2007097882A JP4615541B2 (en) 2000-07-05 2007-04-03 Transmission configuration method in mobile communication system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020000038388A KR100720566B1 (en) 2000-07-05 2000-07-05 Method of Data Rate Matching and apparatus for data processing

Publications (2)

Publication Number Publication Date
KR20020004479A true KR20020004479A (en) 2002-01-16
KR100720566B1 KR100720566B1 (en) 2007-05-22

Family

ID=19676437

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020000038388A KR100720566B1 (en) 2000-07-05 2000-07-05 Method of Data Rate Matching and apparatus for data processing

Country Status (2)

Country Link
KR (1) KR100720566B1 (en)
CN (2) CN101369865B (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100678580B1 (en) * 2005-10-14 2007-02-02 삼성전자주식회사 Apparatus and method for increasing turbo code performance in communication system
KR100880630B1 (en) * 2002-09-11 2009-01-30 엘지전자 주식회사 Transmission chain in communication system and method for transmitting and detecting physical channel format uging the same
KR101233175B1 (en) * 2006-11-08 2013-02-15 엘지전자 주식회사 Method For Encoding And Decoding Turbo Code With Continuous Length

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010105445A1 (en) * 2009-03-20 2010-09-23 富士通株式会社 Channel interleaving method and channel interleaver
CN101860412B (en) * 2009-04-13 2015-10-21 中兴通讯股份有限公司 Sub-packet processing method, code modulating method, processor, modulation coding system
US9178658B2 (en) 2009-05-06 2015-11-03 Futurewei Technologies, Inc. System and method for channel interleaver and layer mapping in a communications system
US9866364B2 (en) 2014-08-29 2018-01-09 Huawei Technologies Co., Ltd. System and method for semi-orthogonal multiple access
CN109257139B (en) * 2017-07-14 2021-10-01 深圳市中兴微电子技术有限公司 Method and device for transmitting and receiving physical layer data
CN109560820B (en) * 2018-11-23 2021-07-13 福州大学 Decoding simplification method combining channel coding and physical layer network coding

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3371309B2 (en) * 1995-06-27 2003-01-27 ソニー株式会社 Code division multiplex transmission apparatus, code division multiplex reception apparatus, and code division multiplex transmission / reception system
US5872775A (en) 1996-10-30 1999-02-16 Qualcomm Incorporated Method and apparatus for performing rate determination
CN100466483C (en) * 1998-06-05 2009-03-04 三星电子株式会社 Transmitter and method for rate matching
JP3239880B2 (en) * 1998-11-02 2001-12-17 日本電気株式会社 Rate matching method and digital communication system
KR100526537B1 (en) * 1999-02-13 2005-11-08 삼성전자주식회사 Apparatus and method for allocating orthogonal codes in cdma communication system having variable rate channel structure

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100880630B1 (en) * 2002-09-11 2009-01-30 엘지전자 주식회사 Transmission chain in communication system and method for transmitting and detecting physical channel format uging the same
KR100678580B1 (en) * 2005-10-14 2007-02-02 삼성전자주식회사 Apparatus and method for increasing turbo code performance in communication system
US8028222B2 (en) 2005-10-14 2011-09-27 Samsung Electronics Co., Ltd Apparatus and method for improving turbo code performance in a communication system
KR101233175B1 (en) * 2006-11-08 2013-02-15 엘지전자 주식회사 Method For Encoding And Decoding Turbo Code With Continuous Length

Also Published As

Publication number Publication date
CN101369865B (en) 2010-10-13
KR100720566B1 (en) 2007-05-22
CN101369864B (en) 2010-12-01
CN101369865A (en) 2009-02-18
CN101369864A (en) 2009-02-18

Similar Documents

Publication Publication Date Title
JP4138274B2 (en) Transmission configuration method in mobile communication system
KR100299132B1 (en) TURBO ENCODING/DECODING DEVICE AND METHOD FOR PROCESSING FRAME DATA ACCORDING TO QoS
US7237179B2 (en) Data rate matching device
JP3825750B2 (en) Method and system for assigning convolutionally encoded bits to symbols prior to modulation
KR100720566B1 (en) Method of Data Rate Matching and apparatus for data processing
KR100248379B1 (en) Communication apparatus using single concatenated coder and communication method using this
EP1396096A1 (en) System and method for interleaving data in a wireless transmitter
JP3450292B2 (en) Transport channel multiplexing method
KR100387058B1 (en) Method and apparatus for flexible data rate matching by symbol insertion for a data communication system
KR100504463B1 (en) Parameter Optimization method of Parallel Puncturing Algorithm
KR100781240B1 (en) Data Rate Matching Method in 3GPP2
KR100797456B1 (en) Data Rate Matching Method
KR100672347B1 (en) Flexible data rate Matching Method in 3GPP2
KR100720539B1 (en) Rate Matching Method and Apparatus
KR20020011499A (en) Flexible Data Rate Matching Method for turbo Codes in 3GPP2 System
KR100404181B1 (en) Method and Apparatus of Rate Matching for Channelization Code On up-link
KR100813038B1 (en) Method and apparatus for data processing in a transmission chain
KR100317262B1 (en) Rate matching method for channelization code on up-link
KR20080010736A (en) Appaturus and method for convolutional turbo codes encoding in broadband wireless access communication system
AU2007202113B2 (en) Method of configuring transmission in mobile communication system
KR20030056550A (en) Apparatus and method for rate matching in data telecommunication system
KR20020000614A (en) Flexible Rate Puncturing Method
KR20000066448A (en) Tutbo Interleaver designing Method using PN Sequence
AU2004200702A1 (en) Method of configuring transmission in mobile communication system

Legal Events

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

Payment date: 20130424

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140424

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150424

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160422

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee