KR100317262B1 - Rate matching method for channelization code on up-link - Google Patents

Rate matching method for channelization code on up-link Download PDF

Info

Publication number
KR100317262B1
KR100317262B1 KR1019990027379A KR19990027379A KR100317262B1 KR 100317262 B1 KR100317262 B1 KR 100317262B1 KR 1019990027379 A KR1019990027379 A KR 1019990027379A KR 19990027379 A KR19990027379 A KR 19990027379A KR 100317262 B1 KR100317262 B1 KR 100317262B1
Authority
KR
South Korea
Prior art keywords
puncturing
code
symbol
bit
interleaver
Prior art date
Application number
KR1019990027379A
Other languages
Korean (ko)
Other versions
KR20010009158A (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 KR1019990027379A priority Critical patent/KR100317262B1/en
Publication of KR20010009158A publication Critical patent/KR20010009158A/en
Application granted granted Critical
Publication of KR100317262B1 publication Critical patent/KR100317262B1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0067Rate matching
    • H04L1/0068Rate matching by puncturing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0009Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the channel coding
    • H04L1/0013Rate matching, e.g. puncturing or repetition of code symbols

Abstract

본 발명은 차세대 통신 시스템에 관한 것으로, 특히 광대역 코드 분할 다중 접속(이하, W-CDMA 라 약칭함) 방식을 이용하는 이동 통신 시스템의 코딩 및 다중화 절차 중 채널 심볼 레이트를 최적의 수준으로 조정하는데 사용되는 상향 링크에서의 채널화 코드 레이트 매칭 방법에 관한 것이다.TECHNICAL FIELD The present invention relates to a next generation communication system, and in particular, used to adjust channel symbol rate to an optimal level during a coding and multiplexing procedure of a mobile communication system using a wideband code division multiple access (hereinafter, abbreviated as W-CDMA) scheme. A channelization code rate matching method in the uplink.

본 발명은 이동 통신 시스템의 코딩 및 다중화 절차 중 채널 심볼 레이트를 최적의 수준으로 조정하기 위한 펑쳐링 알고리즘을 사용하여 상향 링크에서의 터보 코드에 대한 최적의 레이트 매칭 방법을 제공하며, 또한 통합된 펑쳐링 알고리즘을 사용하여 상향 링크에서의 채널화 코드에 대한 최적의 레이트 매칭 방법을 제공한다.The present invention provides an optimal rate matching method for the turbo code in the uplink using a puncturing algorithm for adjusting the channel symbol rate to an optimal level during the coding and multiplexing procedures of the mobile communication system. Using a charging algorithm, an optimal rate matching method for channelization codes in the uplink is provided.

Description

상향 링크에서의 채널화 코드 레이트 매칭 방법{Rate matching method for channelization code on up-link}Rate matching method for channelization code on up-link}

본 발명은 차세대 통신 시스템에 관한 것으로, 특히 W-CDMA 방식을 이용하는 이동 통신 시스템의 코딩 및 다중화 절차 중 채널 심볼 레이트를 최적의 수준으로 조정하는데 사용되는 상향 링크에서의 채널화 코드 레이트 매칭 방법에 관한 것이다.The present invention relates to a next generation communication system, and more particularly, to a channelization code rate matching method in uplink used to adjust channel symbol rate to an optimal level during coding and multiplexing procedures of a mobile communication system using a W-CDMA scheme. will be.

최근 일본의 ARIB, 유럽의 ETSI, 미국의 T1, 한국의 TTA 및 일본의 TTC는 음성, 영상 및 데이터와 같은 멀티미디어를 서비스하는 기존 이동 통신 세계화 시스템(GSM : Global system for mobile communications)의 코어 네트워크와 무선 접속 기술을 기본으로 한 보다 진화된 차세대 이동 통신 시스템을 구상하였다.Recently, ARIB in Japan, ETSI in Europe, T1 in the US, TTA in Korea, and TTC in Japan are the core networks of the existing global system for mobile communications (GSM) that provide multimedia services such as voice, video and data. The next generation of mobile communication system based on wireless access technology was envisioned.

진화된 차세대 이동 통신 시스템에 대한 기술적인 명세를 제시하기 위하여 이들은 공동 연구에 동의하였으며, 이를 위한 프로젝트를 3세대 공동 프로젝트(Third Generation Partnership Project ; 이하, 3GPP 라 약칭함)라 하였다.In order to present technical specifications for the next generation evolved mobile communication system, they agreed to joint research, and the project for this was called Third Generation Partnership Project (hereinafter abbreviated as 3GPP).

3GPP는 크게 다음의 세 가지 기술 연구 영역을 포함한다.3GPP includes three major technical research areas.

첫 째, 3GPP 시스템 및 서비스 부문이다, 이는 3GPP 명세를 근거로 한 시스템의 구조 및 서비스 능력에 대한 연구를 하는 부문이다.The first is the 3GPP system and service sector, which is a study of the structure and service capabilities of the system based on the 3GPP specification.

둘 째, 범지구 무선 접속 네트워크(UTRAN : Universal Terrestrial Radio Access Network)에 대한 연구 부문이다, 여기서 범지구 무선 접속 네트워크(UTRAN)는 주파수 분할 듀플렉스(FDD : Frequency Division Duplex) 모드에 따르는 W-CDMA와 시간 분할 듀플렉스(TDD : Time Division Duplex) 모드에 따르는 TD-CDMA를 적용한 무선 접속 네트워크(RAN : Radio Access Network)이다.Second, it is a research area for Universal Terrestrial Radio Access Network (UTRAN), where the Universal Terrestrial Radio Access Network (UTRAN) is based on W-CDMA according to Frequency Division Duplex (FDD) mode. Radio Access Network (RAN) using TD-CDMA according to Time Division Duplex (TDD) mode.

세 째, 2세대의 이동 통신 세계화 시스템(GSM)에서 진화되어 이동성 관리 및 전세계적 로밍(Global roaming)과 같은 3세대 네트워킹 능력을 갖는 코어 네트워크(Core network)에 대한 연구 부문이다.Third, it is a research section for core network that has evolved from the second generation mobile communication globalization system (GSM) and has third generation networking capability such as mobility management and global roaming.

상기한 3GPP의 기술 연구 부문들 중에서 범지구 무선 접속 네트워크(UTRAN)에 대한 연구 부문에서는 전송 채널(transport channel)과 물리 채널(physical channel)에 대한 정의 및 이에 대한 설명을 기술하고 있으며, 특히 S1 시리즈 중 S1.12에는 주파수 분할 듀플렉스(FDD) 모드에 따르는 다중화(Multiplexing), 채널 코딩(channel coding) 및 인터리빙(interleaving)에 대한 정의와 이에 대한 설명을기술하고 있다.In the above-mentioned technical research divisions of 3GPP, the research section for the global radio access network (UTRAN) describes the definition and description of the transport channel and the physical channel, in particular, the S1 series. S1.12 describes definitions and explanations of multiplexing, channel coding, and interleaving according to the frequency division duplex (FDD) mode.

도 1 은 3GPP 무선 접속 네트워크(RAN) 규격에 따른 상향 링크에서의 코딩 및 다중화 절차를 나타낸 도면으로, 전송 채널에 대한 코딩 및 다중화 절차를 나타내었다.1 is a diagram illustrating a coding and multiplexing procedure in an uplink according to a 3GPP radio access network (RAN) standard, and illustrates a coding and multiplexing procedure for a transport channel.

전송 채널 상의 데이터 스트림은 전송 블록군(Transport block sets) 형태로 코딩/다중화 블록(1,2)에 도착한다. 이때 각 전송 블록(Transport block)은 일정 시간 간격으로 각자의 전송 채널을 통해 도착한다.The data streams on the transport channel arrive at the coding / multiplexing blocks (1, 2) in the form of transport block sets. At this time, each transport block arrives through its own transport channel at regular time intervals.

이 때 각 코딩/다중화 블록(1,2)에 도착하는 각 전송 블록에는 순환 중복 검사(Cyclic Redundancy Check ; 이하, CRC 라 약칭함)를 위한 CRC 비트들이 추가되며(S1), 이후 동일한 서비스 품질(Quality of Service ; 이하, QoS 라 약칭함)의 전송 채널들은 다중화된다(S2).In this case, CRC bits for cyclic redundancy check (hereinafter referred to as CRC) are added to each transport block arriving at each coding / multiplexing block (1, 2) (S1), and then the same quality of service ( Transmission channels of Quality of Service (hereinafter referred to as QoS) are multiplexed (S2).

CRC는 전송 블록의 에러 검출에 적용되며, CRC 비트들은 모든 전송 채널들의 각 전송 블록에 추가된다.CRC is applied to error detection of a transport block, and CRC bits are added to each transport block of all transport channels.

다중화된 동일한 QoS의 전송 채널들은 채널 코딩(Channel coding)(S3), 인터리빙(interleaving)(S4) 및 레이트 매칭(rate matching)(S5) 과정을 거치게 된다.The multiplexed transmission channels of the same QoS are subjected to channel coding (S3), interleaving (S4), and rate matching (S5).

채널 코딩으로는 컨벌루션 코딩(Convolutional coding) 또는 터보 코딩(Turbo coding) 중 어느 하나를 사용하며, 그밖에도 서비스에 따라 특정 코딩이 사용되기도 한다.As the channel coding, either convolutional coding or turbo coding is used. In addition, specific coding may be used depending on a service.

각 코딩/다중화 블록(1,2)에서 레이트 매칭(S5)에 의해 최적 수준의 채널 심볼 레이트로 조정된 서로 다른 QoS의 전송 채널들은 다시 다중화되며, 이후 데이터스트림은 분할된 물리 채널을 통해 각각 인터리빙되어 전송된다.In each coding / multiplexing block (1, 2), the transmission channels of different QoS adjusted to an optimal level of channel symbol rate by rate matching (S5) are multiplexed again, and then the data streams are respectively interleaved through the divided physical channels. Is sent.

도 2 는 3GPP 무선 접속 네트워크(RAN) 규격에 따른 하향 링크에서의 코딩 및 다중화 절차를 나타낸 도면으로, 이 하향 링크에서 전송 채널에 대한 코딩 및 다중화 절차는 상향 링크와 유사하기는 하지만 레이트 매칭(S13) 이후 비연속 전송 표시 비트 삽입(insert of discontinuous transmission indication bits)(S14) 및 인터리빙(S15)이 수행된다는 것이 다르다.FIG. 2 is a diagram illustrating a coding and multiplexing procedure in a downlink according to the 3GPP radio access network (RAN) standard. Although the coding and multiplexing procedure for a transport channel in this downlink is similar to the uplink, rate matching (S13). It is different that inserting discontinuous transmission indication bits S14 and interleaving S15 are performed after the.

이 하향 링크에서도 전송 채널 상의 데이터 스트림은 전송 블록군(Transport block sets) 형태로 코딩/다중화 블록(10,20)에 도착한다. 이때 각 전송 블록(Transport block)은 일정 시간 간격으로 각자의 전송 채널을 통해 도착한다.Even in this downlink, the data stream on the transport channel arrives at the coding / multiplexing blocks 10 and 20 in the form of transport block sets. At this time, each transport block arrives through its own transport channel at regular time intervals.

이 때 각 코딩/다중화 블록(10,20)에 도착하는 각 전송 블록에는 CRC를 위한 CRC 비트들이 추가되며(S10), 이후 동일한 QoS의 전송 채널들은 다중화된다(S11).At this time, CRC bits for CRC are added to each transport block arriving at each coding / multiplexing block (10, 20) (S10), and then the transport channels of the same QoS are multiplexed (S11).

CRC는 전송 블록의 에러 검출에 적용되며, CRC 비트들은 모든 전송 채널들의 각 전송 블록에 추가된다.CRC is applied to error detection of a transport block, and CRC bits are added to each transport block of all transport channels.

다중화된 동일한 QoS의 전송 채널들은 채널 코딩(Channel coding)(S12), 레이트 매칭(rate matching)(S13), 비연속 전송 표시 비트 삽입(S14) 및 인터리빙(interleaving)(S15) 과정을 거치게 된다.The multiplexed transmission channels of the same QoS are subjected to channel coding (S12), rate matching (S13), discontinuous transmission indication bit insertion (S14), and interleaving (S15).

채널 코딩으로는 컨벌루션 코딩(Convolutional coding) 또는 터보 코딩(Turbo coding) 중 어느 하나를 사용하며, 그밖에도 서비스에 따라 특정 코딩이 사용되기도 한다.As the channel coding, either convolutional coding or turbo coding is used. In addition, specific coding may be used depending on a service.

각 코딩/다중화 블록(10,20)에서 레이트 매칭(S13)에 의해 최적 수준의 채널심볼 레이트로 조정된 후 인터리빙(S15)을 거친 서로 다른 QoS의 전송 채널들은 다시 다중화되며, 이후 데이터 스트림은 분할된 물리 채널을 통해 각각 인터리빙되어 전송된다.In each coding / multiplexing block (10, 20), after adjusting to the optimal level of the channel symbol rate by rate matching (S13), the transmission channels of different QoS through interleaving (S15) are multiplexed again, and then the data stream is divided. Interleaved and transmitted through the physical channel.

상기한 3GPP 무선 접속 네트워크(RAN) 규격에 따른 상향 링크 또는 하향 링크에서의 코딩 및 다중화 절차 중 주목할 것은 레이트 매칭(Rate matching)이다.Of note in the coding and multiplexing procedure in the uplink or downlink according to the 3GPP radio access network (RAN) standard is rate matching.

이 레이트 매칭은 서로 다른 전송 채널에 대해 반복(repetition)과 펑쳐링(puncturing)을 적용하여 최적 수준의 채널 심볼 레이트로 조정하는 과정이다.This rate matching is a process of adjusting the optimal channel symbol rate by applying repetition and puncturing for different transmission channels.

현재 W-CDMA 방식을 적용한 3GPP 무선 접속 네트워크(RAN) 규격에서는 컨벌루션 코드(Convolutional code)에 대한 펑쳐링 기법이 상향 링크와 하향 링크에서 고려되고 있으며, 터보 코드(Turbo code)에 대한 펑쳐링 기법은 하향 링크에서 고려하고 있다.Currently, in the 3GPP radio access network (RAN) standard using the W-CDMA scheme, puncturing schemes for convolutional codes are considered in uplink and downlink, and puncturing schemes for turbo codes are Considered in the downlink.

여기서, 컨벌루션 코드에 대한 펑쳐링 기법의 목적은 펑쳐링되는 코드 비트들의 위치를 가능한 골고루 분포되도록 하자는 것이다. 이러한 목적을 만족시킬 수 있는 펑쳐링 알고리즘은 하향 링크에서 쉽게 구현할 수 있다. 하지만 상향 링크에서는 이미 앞에서도 설명했듯이 인터리빙을 거친 비트열에 대해 펑쳐링이 수행되기 때문에 코드 비트 단위의 균일한 펑쳐링을 만족시키기 위해서는 하향 링크에서의 펑쳐링 조건에 또다른 조건들이 추가되어야 한다.Here, the purpose of the puncturing technique for the convolutional code is to distribute the positions of the punctured code bits as evenly as possible. A puncturing algorithm that can meet this goal can be easily implemented in the downlink. However, in the uplink, as described above, puncturing is performed on the interleaved bit strings, and thus additional conditions must be added to the puncturing conditions in the downlink to satisfy uniform puncturing in the code bit unit.

현재는 이러한 점을 고려한 상향 링크에서의 컨벌루션 코드에 대한 펑쳐링 기법이 계속 제안되고 있다.Currently, puncturing techniques for convolutional codes in the uplink have been continuously proposed in view of such a point.

예로써, 하향 링크에서의 컨벌루션 코드에 대한 펑쳐링 절차는 매우 간단하다. 이는 단지 코드 비트를 균일하게 펑쳐링하는 조건만 만족하면 되기 때문이다.As an example, the puncturing procedure for convolutional code in the downlink is very simple. This is because only the condition of puncturing the code bits uniformly needs to be satisfied.

따라서 코드 비트 단위의 전체 비트열에 대해 펑쳐링 거리(N)를 구한 후 N번째 비트마다 펑쳐링하는 알고리즘을 구성하면 된다.Therefore, after the puncturing distance N is obtained for the entire bit string in the code bit unit, an algorithm for puncturing every Nth bit may be configured.

만약 펑쳐링 거리가 '5'라면, 컨벌루션 코드에 대한 전체 비트열에 대해 (5×n)번째 비트들을 펑쳐링한다.(이 때, n=1,2,3,…)If the puncturing distance is '5', puncture the (5xn) th bits for the entire bit string for the convolutional code (where n = 1, 2, 3, ...).

그런데, 만약 펑쳐링 거리가 정수가 아닌 '5.5'라면, 전체 펑쳐링의 개수 중에서 절반에 대해서는 펑쳐링 거리가 '5'일 때의 펑쳐링 절차가 수행되고, 나머지 절반에 대해서는 펑쳐링 거리가 '6'일 때의 펑쳐링 절차를 수행하면 된다.However, if the puncturing distance is' 5.5 'rather than an integer, the puncturing procedure when the puncturing distance is' 5' is performed for half of the total punctures, and for the other half, the puncturing distance is' Just execute the puncturing procedure when 6 '.

터보 코드(Turbo code)에 대한 펑쳐링 기법은 하향 링크에서만 고려되고 있다.The puncturing technique for the turbo code is only considered in the downlink.

여기서 터보 코드는 컨벌루션 코드와 달리 각 코드 비트의 중요도가 서로 다르다. 즉, 특정 코드 레이트를 갖는 터보 코드에서 시스티메틱(Systematic) 비트가 복호 과정에서 상대적으로 중요하며 이를 제외한 나머지 패리티(Parity) 비트들은 중요도가 떨어진다.Unlike the convolutional code, the turbo code has different importance of each code bit. That is, in the turbo code having a specific code rate, systematic bits are relatively important in the decoding process, and the remaining parity bits are less important.

따라서, 터보 코드에 대한 펑쳐링 기법에서는 시스티메틱 비트에 대한 펑쳐링을 배제해야 하며, 나머지 패리티 비트들에 대한 펑쳐링이 균등하게 수행되도록 하는 알고리즘이 필수적이다.Therefore, in the puncturing technique for the turbo code, puncturing for the systematic bits should be excluded, and an algorithm for puncturing the remaining parity bits is necessary.

현재 고려되고 있는 하향 링크에서의 터보 코드에 대한 펑쳐링 알고리즘은 모두 기본적으로 코드 비트가 아닌 코드 심볼 단위로 펑쳐링이 일어난다.All of the puncturing algorithms for turbo code in the downlink under consideration are basically punctured in code symbol units rather than code bits.

여기서 코드 심볼의 의미는 다음과 같다. 우선적으로 채널 코드의 코드 레이트가 1/3이라고 가정하도록 하자. 이 코드 레이트의 의미는 채널 코드 블록이 하나의 정보 비트를 입력으로 하여 3비트의 코드 비트들을 출력한다는 것이다. 이때, 출력된 코드 비트들을 편의상 x,y,z라고 나타내면, 상기 채널 코드 블록의 출력열은 다음과 같이 시간 인덱스를 사용하여 표현할 수 있다.{x0,y0,z0,x1,y1,z1, ..... xk,yk,zk, ....}즉, 0번째 입력 정보 비트에 대해서는 3개의 코드 비트들 x0,y0,z0가 출력된다. 이때, 이 3개의 코드 비트들의 그룹을 하나의 코드 심볼이라고 표현한다. 즉, x0,y0,z0는 함께 0번째 코드 심볼을 구성한다.예로써, 현재까지 제안된 하향 링크에서의 터보 코드에 대한 펑쳐링 알고리즘 중 하나는 펑쳐링이 코드 심볼 단위로 균일하게 일어나도록 코드 심볼의 펑쳐링 위치를 결정한 후 패리티 비트들을 교대로 펑쳐링하는 알고리즘이다. 다른 하나는 코드 심볼 단위로 펑쳐링이 일어날 수 있는 위치를 두 배 거리만큼 증가시킨 후 각 펑쳐링이 일어날 코드 심볼마다 패리티 비트들을 동시에 펑쳐링하는 알고리즘이다.The meaning of the code symbol is as follows. First, assume that the code rate of the channel code is 1/3. This code rate means that the channel code block outputs three bits of code bits with one information bit as input. In this case, if the output code bits are represented as x, y, z for convenience, the output string of the channel code block may be expressed using a time index as follows. {X0, y0, z0, x1, y1, z1,. xk, yk, zk, ....} That is, three code bits x0, y0, z0 are output for the 0 th input information bit. At this time, the group of three code bits is expressed as one code symbol. That is, x0, y0, and z0 together constitute the 0th code symbol. For example, one of the puncturing algorithms for turbo codes in the downlink proposed so far is that the puncturing occurs uniformly in code symbol units. After the puncturing position of the symbol is determined, the parity bits are alternately punctured. The other is an algorithm that increases the position where puncturing can occur in code symbol units by a double distance and then punctures parity bits for each code symbol in which puncturing will occur.

지금까지 설명한 터보 코드에 대한 펑쳐링 알고리즘은 하향 링크에서 고려된 것으로, 하향 링크에서의 펑쳐링 절차는 인터리빙 전단에서 발생하므로 인터리빙 절차와 독립적으로 수행될 수 있다.The puncturing algorithm for the turbo code described so far is considered in the downlink, and the puncturing procedure in the downlink may be performed independently of the interleaving procedure since the puncturing procedure occurs in the interleaving front end.

그러나, 상향 링크에서는 인터리빙 후단에서 레이트 매칭 절차가 수행되므로, 터보 코드에 대한 펑쳐링 절차를 수행함에 있어 추가로 고려해야 할 사항들이 존재한다.However, since the rate matching procedure is performed after the interleaving in the uplink, there are additional considerations in performing the puncturing procedure for the turbo code.

이러한 추가적인 사항들을 해결하기 위해서는 상향 링크에서의 터보 코드에 대한 최적의 펑쳐링 알고리즘이 제안되어야 하는데, 이러한 터보 코드에 대한 펑쳐링 기법은 아직까지 고려되고 있지 않은 실정이다.In order to solve these additional matters, an optimal puncturing algorithm for the turbo code in the uplink has to be proposed, and such a puncturing technique for the turbo code has not been considered yet.

또한, 현재까지 제안되고 있는 상향 링크에서의 채널화 코드인 컨벌루션 코드와 터보 코드에 대한 통합된 펑쳐링 알고리즘을 사용하는 레이트 매칭 방법은 아직까지 제안되고 있지 않은 실정이다.In addition, a rate matching method using an integrated puncturing algorithm for a convolution code and a turbo code, which is a channelization code in the uplink, which has been proposed so far, has not been proposed until now.

본 발명의 목적은 상기한 점을 감안하여 안출한 것으로, W-CDMA 방식을 이용하는 이동 통신 시스템의 코딩 및 다중화 절차 중 채널 심볼 레이트를 최적의 수준으로 조정하기 위한 펑쳐링 알고리즘을 사용하여 상향 링크에서의 터보 코드에 대한 최적의 레이트 매칭 방법을 제공하는데 있다.SUMMARY OF THE INVENTION An object of the present invention has been made in view of the above, and in the uplink using a puncturing algorithm for adjusting the channel symbol rate to an optimal level during the coding and multiplexing procedure of a mobile communication system using the W-CDMA scheme To provide an optimal rate matching method for the turbo code.

본 발명의 또다른 목적은 W-CDMA 방식을 이용하는 이동 통신 시스템의 코딩 및 다중화 절차 중 채널 심볼 레이트를 최적의 수준으로 조정하기 위한 통합된 펑쳐링 알고리즘을 사용하여 상향 링크에서의 채널화 코드에 대한 최적의 레이트 매칭 방법을 제공하는데 있다.It is still another object of the present invention to provide an integrated puncturing algorithm for optimally adjusting channel symbol rates during coding and multiplexing procedures in a mobile communication system using a W-CDMA scheme. It is to provide an optimal rate matching method.

상기한 목적을 달성하기 위한 본 발명에 따른 상향 링크에서의 채널화 코드 레이트 매칭 방법의 특징은, 채널화 코드를 사용하는 이동 통신 시스템의 상향 링크에서, 전송 채널에 대한 채널 코딩을 수행하여 다수의 비트열을 코드 심볼 단위로 출력하는 단계와, 상기 출력된 다수 비트열에 대해 일정 간격의 코드 심볼 단위로 균일 펑쳐링이 발생하도록, 상기 비트열을 코드 심볼 단위로 그룹화하여 인터리빙하는 단계와, 상기 인터리빙된 비트열들에 대해 일정 간격의 코드 심볼 단위로 펑쳐링을 수행하는 단계로 이루어진다.A feature of the channelization code rate matching method in the uplink according to the present invention for achieving the above object is, in the uplink of the mobile communication system using the channelization code, by performing channel coding for a transport channel a plurality of Outputting a bit string in units of code symbols, grouping and interleaving the bit strings in units of code symbols so that uniform puncturing occurs at regular intervals with respect to the output plurality of bit sequences; The puncturing is performed on the coded bits in units of code symbols at a predetermined interval.

바람직하게는, 상기 펑쳐링 단계가 상기 채널 코딩에 의해 출력되는 특정 비트열을 제외하고, 복호에 사용되는 나머지 비트열들에 대해 일정 간격의 코드 심볼 단위로 수행되며, 여기서 상기 펑쳐링은 상기 채널 코딩에 의해 출력되는 각 비트열의 중요도를 고려하여, 상대적으로 중요도가 높은 상기 특정 비트열에 대한 펑쳐링이 배제된다.Preferably, the puncturing step is performed in units of code symbols at intervals for the remaining bit strings used for decoding, except for a specific bit string output by the channel coding, wherein the puncturing is performed in the channel. In consideration of the importance of each bit string output by coding, puncturing for the specific bit string having a relatively high importance is excluded.

또한 상기 펑쳐링 단계에는, 상기 인터리빙된 비트열들에 대해 각 열에서 일정 간격의 균일 펑쳐링 알고리즘이 적용된다.In the puncturing step, a uniform puncturing algorithm of a predetermined interval is applied to each of the interleaved bit strings.

상기한 목적을 달성하기 위한 본 발명의 또다른 특징은, 터보 코드를 사용하는 이동 통신 시스템의 상향 링크에서, 전송 채널에 대한 채널 코딩 결과로 시스티메틱 비트와, 하나 또는 그 이상의 패리티 비트들이 심볼 단위로 병렬 출력되는 단계와, 상기 출력되는 각 심볼 단위마다 상기 패리티 비트들의 순서를 바꾸어 주는 단계와, 이렇게 출력된 코드 비트열들에 대해 인터리빙된 패리티 비트들에 대해 각 심볼 단위의 일정 간격으로 펑쳐링을 수행하는 단계로 이루어진다.Another feature of the present invention for achieving the above object is that, in the uplink of a mobile communication system using a turbo code, a systematic bit and one or more parity bits are symbolized as a result of channel coding for a transport channel. Outputting in parallel in units, changing the order of the parity bits for each symbol unit outputted, and popping at intervals of each symbol unit with respect to the interleaved parity bits for the output code bit streams. It is a step of performing cheering.

바람직하게는, 상기 펑쳐링 단계가 상기 인터리빙된 후 각 종렬(parallel sequence) 비트열에 대해 균일한 회수의 펑쳐링이 발생한다.Advantageously, a uniform number of puncturing occurs for each parallel bit string after the puncturing step is interleaved.

상기한 목적을 달성하기 위한 본 발명의 마지막 특징은, 이동 통신 시스템의 전송 채널에 대한 채널 코딩 결과로 시스티메틱 비트와, 하나 또는 그 이상의 패리티 비트들이 심볼 단위로 병렬 출력되는 단계와, 상기 출력되는 각 심볼 단위마다 상기 패리티 비트들의 순서를 바꾸어 주는 단계와, 이렇게 출력된 코드 비트열들에 대해 인터리빙된 패리티 비트들에 대해 각 심볼 단위의 일정 간격으로 펑쳐링을 수행하는 단계로 이루어진다.In order to achieve the above object, a final feature of the present invention is to output a systematic bit and one or more parity bits in symbol units as a result of channel coding for a transmission channel of a mobile communication system, and outputting The order of the parity bits is changed for each symbol unit, and the puncturing is performed at a predetermined interval of each symbol unit with respect to the interleaved parity bits for the output code bit streams.

도 1 은 3GPP 무선 접속 네트워크(RAN) 규격에 따른 상향 링크에서의 코딩 및 다중화 절차를 나타낸 도면.1 is a diagram illustrating a coding and multiplexing procedure in the uplink according to the 3GPP Radio Access Network (RAN) standard.

도 2 는 3GPP 무선 접속 네트워크(RAN) 규격에 따른 하향 링크에서의 코딩 및 다중화 절차를 나타낸 도면.2 is a diagram illustrating a coding and multiplexing procedure in downlink according to the 3GPP Radio Access Network (RAN) standard.

도 3 은 상향 링크에서의 컨벌루션 코드에 대한 최적화된 펑쳐링 알고리즘을 터보 코드를 사용하는 시스템에 적용할 경우의 펑쳐링 패턴을 나타낸 도면.3 is a diagram illustrating a puncturing pattern when applying an optimized puncturing algorithm for a convolution code in uplink to a system using a turbo code.

도 4 는 본 발명에 따른 상향 링크에서의 터보 코드 레이트 매칭을 위한 펑쳐링 알고리즘이 적용된 예를 기존 코드 심볼 단위의 펑쳐링 알고리즘의 적용 예와 비교한 도면.4 is a view comparing an example of applying a puncturing algorithm for turbo code rate matching in uplink according to the present invention with an example of applying a puncturing algorithm in units of existing code symbols.

도 5 는 인터리버의 열 개수 K=8인 경우에 MIL 인터리버로부터 출력되는 종렬 비트열의 순서를 일 예로 나타낸 도면.5 is a diagram illustrating an example of a sequence of serial bit strings output from a MIL interleaver when the number of columns of the interleaver K = 8.

도 6 은 본 발명에서 터보 코드에 대한 코드 심볼 단위의 균일 펑쳐링을 실현하기 위한 코드 심볼 단위의 펑쳐링 위치를 나타낸 도면.FIG. 6 illustrates puncturing positions in code symbol units for realizing uniform puncturing in code symbol units for turbo codes in the present invention. FIG.

도 7 은 본 발명에서 채널화 코드에 대해 코드 심볼 단위로 펑쳐링되는 실제적인 펑쳐링 패턴을 나타낸 도면.FIG. 7 illustrates an actual puncturing pattern punctured in code symbol units for channelization codes in the present invention. FIG.

도 8 은 본 발명에 따른 코드 심볼 단위의 균일 펑쳐링을 실현하기 위해 컨벌루션 코드에서 특정 비트(x)만을 펑쳐링하기 위한 코드 심볼 단위의 패턴을 나타낸 도면.8 is a diagram illustrating a pattern in code symbol units for puncturing only a specific bit (x) in a convolutional code to realize uniform puncturing in code symbol units according to the present invention.

도 9 는 본 발명에 따른 컨벌루션 코드에서 코드 심볼 단위로 특정 비트(x)만을 펑쳐링하는 실제적인 펑쳐링 패턴을 나타낸 도면.9 is a view showing an actual puncturing pattern puncturing only a specific bit (x) in code symbol units in a convolutional code according to the present invention.

이하, 본 발명에 따른 상향 링크에서의 채널화 코드 레이트 매칭 방법에 대한 바람직한 일 실시 예를 첨부된 도면을 참조하여 설명한다.Hereinafter, a preferred embodiment of a channelization code rate matching method in uplink according to the present invention will be described with reference to the accompanying drawings.

본 발명에서는 상향 링크에서의 컨벌루션 코드에 대한 펑쳐링 알고리즘이 다음의 조건들을 만족하도록 구현하였다.In the present invention, the puncturing algorithm for the convolution code in the uplink is implemented to satisfy the following conditions.

첫 째, 펑쳐링되는 코드 비트들의 위치가 전체 코드 비트열상에서 가능한 골고루 분포되도록 한다.First, the positions of punctured code bits are distributed as evenly as possible over the entire code bit string.

둘 째, 각 인터리빙된 비트열마다 동일한 수의 코드 비트가 펑쳐링되도록 한다. 이는 인터리빙 되기 이전의 비트열에 대해서도 균일한 펑쳐링이 발생하도록 하자는 것이다.Second, the same number of code bits are punctured for each interleaved bit string. This is to allow uniform puncturing to occur even before the interleaved bit strings.

또한 본 발명에서는 상향 링크에서의 터보 코드에 대한 펑쳐링 알고리즘이 다음의 조건들을 만족하도록 구현하였다.In the present invention, the puncturing algorithm for the turbo code in the uplink is implemented to satisfy the following conditions.

첫 째, 시스티메틱 비트에 대한 펑쳐링은 배제한다.First, puncturing for systematic bits is excluded.

둘 째, 패리티 비트들에 대해서는 모든 패리티 비트들에서 균등하게 펑쳐링이 일어나도록 한다. 즉, 1/3 레이트의 터보 부호를 고려할 경우, y 패리티 비트들의 펑쳐링 양과, z 패리티 비트들의 펑쳐링 양을 가급적 동일하게 유지하도록 한다.Secondly, for parity bits, puncturing occurs evenly in all parity bits. That is, when considering a turbo code of 1/3 rate, the puncturing amount of the y parity bits and the puncturing amount of the z parity bits are kept to be the same as much as possible.

세 째, 상기 둘째 조건에서 각각의 y 패리티 비트들과 z 패리티 비트들의 각 집합에서 펑쳐링 위치의 각 간격은 균등하도록 한다.Third, in the second condition, each interval of puncturing positions in each set of y parity bits and z parity bits is equalized.

본 발명에서는 이러한 세 조건 이외에도 다음의 한 조건을 더 고려해야 한다. 이는 상향 링크에서 인터리빙을 거친 비트열에 대해 레이트 매칭 절차가 수행되기 때문이다.In addition to these three conditions, the present invention should consider one of the following conditions. This is because the rate matching procedure is performed on the bit streams interleaved in the uplink.

네 째, 인터리빙을 거친 모든 프레임들에 대해 동일한 펑쳐링이 일어나야 한다는 것이다. 이는 다시 말해서 인터리빙된 비트열인 각 종렬 비트열들에 대해 균등한 코드 비트가 펑쳐링되어야 한다는 것이다.Fourth, the same puncturing should occur for all interleaved frames. In other words, an even code bit should be punctured for each of the serial bit strings that are the interleaved bit strings.

본 발명에서는 상기한 채널화 코드인 터보 코드에 대한 펑쳐링 조건을 모두 만족시키는 상향 링크에서의 터보 코드에 대한 펑쳐링 알고리즘을 제안한다.The present invention proposes a puncturing algorithm for the turbo code in the uplink that satisfies all the puncturing conditions for the turbo code, which is the channelization code.

또한 본 발명에서는 상기한 채널화 코드인 컨벌루션 코드뿐만 아니라 터보 코드에 대한 펑쳐링 조건을 모두 만족시키는 상향 링크에서의 통합 펑쳐링 알고리즘을 제안한다.In addition, the present invention proposes an integrated puncturing algorithm in the uplink that satisfies not only the convolution code, which is the channelization code, but also the puncturing condition for the turbo code.

다음은 본 발명에 따른 상향 링크에서의 터보 코드에 대한 펑쳐링 알고리즘을 설명한다.The following describes a puncturing algorithm for the turbo code in the uplink according to the present invention.

설명에 앞서 터보 코드를 사용하는 시스템에서는 터보 복호기 두 개를 사용하며, MAP 복호기를 사용하거나 연판정(Soft decision) 복호 출력을 나타내는 비터비 복호기(viterbi decoder)가 사용된다.Prior to the description, a system using a turbo code uses two turbo decoders, a MAP decoder, or a Viterbi decoder indicating a soft decision decoding output.

이들 두 터보 복호기는 터보 인터리버의 양단에 위치하며, 제1 터보 복호기와 제2 터보 복호기로 입력되는 코드 비트들은 패리티 비트들이다.These two turbo decoders are located at both ends of the turbo interleaver, and the code bits input to the first turbo decoder and the second turbo decoder are parity bits.

따라서 송신측에서는 패리티 비트들에 대한 균일 펑쳐링이 발생하도록 조정하는 것이 매우 중요하다. 또한 채널 코딩된 모든 비트열에 대해서도 균일한 펑쳐링이 발생하도록 분포시키는 것이 중요하다.Therefore, it is very important to adjust so that uniform puncturing of the parity bits occurs on the transmitting side. It is also important to distribute the uniform puncturing for all channel coded bit streams.

따라서 앞에서 나열된 상향 링크에서의 터보 코드에 대한 펑쳐링 조건들을 만족시키는 펑쳐링 알고리즘을 본 발명에서 제안한다.Therefore, the present invention proposes a puncturing algorithm that satisfies the puncturing conditions for the turbo code in the uplink listed above.

도 3은 상향 링크에서의 컨벌루션 코드에 대한 최적화된 펑쳐링 알고리즘을 터보 코드를 사용하는 시스템에 적용할 경우의 펑쳐링 패턴을 나타낸 도면이다. 도 3에선 음영 부분의 코드 비트들이 펑쳐링된다.FIG. 3 is a diagram illustrating a puncturing pattern when the optimized puncturing algorithm for a convolution code in the uplink is applied to a system using a turbo code. In FIG. 3, the code bits of the shaded portion are punctured.

도 3은 인터리버의 열 개수(K)가 8인 경우로써, 나타낸 x는 시스티메틱 비트를 나타내고, y는 제1 패리티 비트를 나타내고, z는 제2 패리티 비트를 나타낸다.이 비트들은 전송 채널에 대한 채널 코딩 결과 출력되는 것들로써, 패리티 비트들은 각 RSC 코더(Recursive systematic convolutional coder)의 출력이다.3 shows a case in which the number of columns K of the interleaver is 8, where x represents a systematic bit, y represents a first parity bit, and z represents a second parity bit. As the result of the channel coding for the parity bits, the parity bits are the output of each RSC coder (Recursive systematic convolutional coder).

도 3에서 알 수 있듯이, 시스티메틱 비트에 대한 펑쳐링이 발생하며, 또한 패리티 비트들 중 제2 패리티 비트들(z)에 대해서만 펑쳐링이 발생한다.As can be seen in FIG. 3, puncturing for the systematic bits occurs, and puncturing occurs only for the second parity bits z of the parity bits.

이는 전체 비트열에 대한 균일 펑쳐링 조건과, 인터리빙을 거친 모든 프레임들에 대한 동일 펑쳐링 조건은 만족시키지만, 시스티메틱 비트에 대한 펑쳐링 조건을 배제한다는 조건과, 각 패리티 비트에 대한 균등한 양의 펑쳐링 조건을 만족시키지 못한다.This satisfies the uniform puncturing condition for the entire bit stream, the same puncturing condition for all interleaved frames, but excludes the puncturing condition for the systematic bits, and an equal amount for each parity bit. The puncturing condition of does not meet.

이에 대해 본 발명에서는 상기에서 나열된 터보 코드에 대한 4가지 펑쳐링 조건을 모두 만족시키는 상향 링크에서의 터보 코드에 대한 펑쳐링 알고리즘을 제안한다.In contrast, the present invention proposes a puncturing algorithm for the turbo code in the uplink that satisfies all four puncturing conditions for the turbo codes listed above.

본 발명은 도 1에 도시된 코딩/다중화 블록에서 인터리빙되는 비트열들의 순서를 변형시키고, 기존 행별로 코드 심볼 단위의 균일 펑쳐링이 발생하던 것에 추가로 열별로도 균일 펑쳐링이 발생하도록 한다는 것이다.The present invention modifies the order of the interleaved bit strings in the coding / multiplexing block shown in FIG. 1, and causes the uniform puncturing to occur in each column in addition to the uniform puncturing per code symbol for each row. .

또한 본 발명에서는 채널 코딩된 비트열들의 인터리빙 순서를 변형하여, 다음과 같은 순서로 인터리버 메모리의 각 행을 채우게 된다. 즉 'x y z x z y x y z x z y …' 순서로 인터리버의 메모리에 저장시킨다.In the present invention, the interleaving order of channel coded bit strings is modified to fill each row of the interleaver memory in the following order. That is, 'x y z x z y x y z x z y... 'Save to the interleaver's memory in order.

다음은 본 발명에 따른 상향 링크에서의 터보 코드 레이트 매칭을 위한 펑쳐링 절차를 보다 상세하게 설명한다. 이후, 설명되어질 절차는 인터리버의 열 개수(K)가 1, 2, 4인 각 경우에도 적용할 수 있지만 편의상 인터리버의 열 개수(K)가 '8'인 경우에 대해서만 설명하도록 한다.The following describes the puncturing procedure for turbo code rate matching in the uplink according to the present invention in more detail. Hereinafter, the procedure to be described may be applied to each case where the number of columns K of the interleaver is 1, 2, and 4, but for convenience, only the case where the number of columns K of the interleaver is '8' will be described.

도 4는 본 발명에 따른 상향 링크에서의 터보 코드 레이트 매칭을 위한 펑쳐링 알고리즘이 적용된 예를 기존 코드 심볼 단위의 펑쳐링 알고리즘의 적용 예와 비교한 도면이다.FIG. 4 is a diagram comparing an example of applying a puncturing algorithm for turbo code rate matching in an uplink with an example of applying a puncturing algorithm in units of existing code symbols.

도 4a는 터보 코드에 대한 펑쳐링 알고리즘 중 펑쳐링이 코드 심볼 단위로 균일하게 일어나도록 코드 심볼의 펑쳐링 위치를 결정한 후, 패리티 비트들을 교대로 펑쳐링하는 알고리즘이 적용된 예를 나타낸 것이다. 여기서는, 각각의 코드 심볼들마다 1/2 레이트를 만드는 경우를 설명한 도면이다.도 4a에 도시된 바와 같이, 각각의 코드 심볼들마다 한 비트씩의 패리티 비트들을 펑쳐링하고 있으며, 0번째 코드 심볼에 대해서는 y0 패리티를, 첫 번째 패리티 비트들에 대해서는 z1 패리티 비트를 펑쳐링하는 방법을 사용하고 있다. 또한, 코딩/다중화 블록에서 인터리버로 입력되는 채널 부호화기의 출력열의 순서는 'x y z x y z x y z...'의 순이다.4A illustrates an example in which an algorithm for puncturing parity bits is alternately applied after determining a puncturing position of a code symbol such that puncturing occurs uniformly in units of code symbols among puncturing algorithms for a turbo code. Here, a case in which a half rate is generated for each code symbol is described. As shown in FIG. 4A, one bit of parity bits is punctured for each code symbol, and a 0th code symbol is shown. For example, a method of puncturing y0 parity and z1 parity bits for the first parity bits is used. In addition, the output sequence of the channel encoder input to the interleaver in the coding / multiplexing block is in the order of 'x y z x y z x y z ...'.

또한 도 4a를 살펴보면, 터보 코드 펑쳐링 조건 중 인터리빙을 거친 모든 프레임들에 대한 동일 펑쳐링 조건을 만족시키지 못한다. 이는 다시 말해서 인터리빙된 비트열인 각 종렬 비트열들에 대해 비트가 균일하게 펑쳐링 되지 않는다는 것이다. 도 4a에서는 0 번째, 2 번째, 4 번째 및 6 번째 종렬 비트열에서 펑쳐링이 발생하지 않고 있다.Also, referring to FIG. 4A, among the turbo code puncturing conditions, the same puncturing condition for all frames that have undergone interleaving cannot be satisfied. In other words, the bit is not punctured uniformly for each of the column bit streams that are the interleaved bit streams. In FIG. 4A, puncturing does not occur in the 0th, 2nd, 4th, and 6th column bit streams.

그러나, 본 발명에 따른 터보 코드에 대한 펑쳐링 알고리즘이 적용된 도 4b에서는 모든 종렬 비트열에서 펑쳐링이 발생하고 있다. 이는 기존 펑쳐링 알고리즘에서와 달리 도 1에 도시된 코딩/다중화 블록에서 채널 부호화기의 출력열의 순서를 'x y z x z y x y z x z y …'순으로 바꾸어준 후, 이를 인터리버 메모리에 채우는 방법을 사용하기 때문이다.However, in FIG. 4B to which the puncturing algorithm for the turbo code according to the present invention is applied, puncturing occurs in all of the column bit streams. Unlike the conventional puncturing algorithm, the output sequence of the channel encoder in the coding / multiplexing block shown in FIG. 1 is changed to 'x y z x z y x y z x z y... This is because it uses a method of changing the order in order and then filling the interleaver memory.

여기서, 채널 부호화기의 출력열의 순서를 바꾸어주는 것은 이 부호화기의 출력단에 스위치를 구비함으로써 쉽게 이루어진다.Here, it is easy to change the order of the output strings of the channel encoder by providing a switch at the output terminal of the encoder.

1/3 코드 레이트에서 1/2 코드 레이트의 코드를 얻기 위해 본 발명에 따른 터보 코드에 대한 펑쳐링 알고리즘을 적용한 예가 도 4b이다.도 4a와, 도 4b를 통하여 본 발명에서 사용하는 채널 부호화기의 출력열의 순서 바꾸어주는 이유를 알 수 있다.An example of applying a puncturing algorithm for a turbo code according to the present invention to obtain a code of 1/2 code rate at 1/3 code rate is shown in FIG. 4B. You can see the reason for changing the order of output string.

다음은 본 발명에 따른 터보 코드에 대한 통합 펑쳐링 알고리즘을 설명한다.본 발명에 따른 펑쳐링 알고리즘을 설명하기에 앞서 본 발명을 실현시키기 위해 사용되는 인터리버에 대해 설명한다.The following describes an integrated puncturing algorithm for turbo code according to the present invention. Prior to describing the puncturing algorithm according to the present invention, an interleaver used to realize the present invention will be described.

본 발명에서는 멀티스테이지 인터리버(Multi-stage interleaver ; 이하, MIL 인터리버라 약칭함)를 사용한다.In the present invention, a multi-stage interleaver (hereinafter referred to as MIL interleaver) is used.

MIL 인터리버는 입력되는 비트열을 행 단위로 인터리버 메모리에 기입하며, 열 단위로 읽어서 인터리빙된 출력 비트열을 구성하는 인터리버이다. 이 때 특이한 점은 인터리버의 메모리를 읽는 순서가 비트 리버싱 순서(Bit reversing order) 규칙을 적용한다는 것이다.The MIL interleaver writes the input bit string into the interleaver memory in units of rows and reads in units of columns to form an interleaved output bit string. The peculiarity of this is that the order of reading the interleaver's memory applies the bit reversing order rule.

예로써, 인터리빙된 비트열이 출력되는 열 번호를 나타내는 비트값이 8비트라면 열 번호 '0 1 2 3 4 5 6 7' 순서대로 종렬 비트열이 출력되지 않고, 열 번호 비트값을 역전(reverse)시켜, 즉 '0(000)→0(000)', '1(001)→4(100)', '2(010)→2(010)', '3(011)→6(110)', '4(100)→1(001)', '5(101)→5(101)', '6(110)→3(011)', '7(111)→7(111)' 시켜 '0 4 2 6 1 5 3 7' 순서의 종렬 비트열을 출력시킨다는 것이다.For example, if the bit value indicating the column number at which the interleaved bit string is output is 8 bits, the column bit string is not output in the column number '0 1 2 3 4 5 6 7' and the column number bit value is reversed. I.e., '0 (000) → 0 (000)', '1 (001) → 4 (100)', '2 (010) → 2 (010)', '3 (011) → 6 (110)' '4 (100) → 1 (001)', '5 (101) → 5 (101)', '6 (110) → 3 (011)', '7 (111) → 7 (111)' It outputs a serial bit string in the order of '0 4 2 6 1 5 3 7'.

다음 표 1에는 MIL 인터리버로부터 출력되는 종렬 비트열의 순서를 인터리버의 열별로 나타내었다.Table 1 below shows the order of the column bit strings output from the MIL interleaver for each interleaver column.

R(k)KR (k) K R(0)R (0) R(1)R (1) R(2)R (2) R(3)R (3) R(4)R (4) R(5)R (5) R(6)R (6) R(7)R (7) 22 00 1One N.AN.A N.AN.A N.AN.A N.AN.A N.AN.A N.AN.A 44 00 22 1One 33 N.AN.A N.AN.A N.AN.A N.AN.A 88 00 44 22 66 1One 55 33 77

표 1에는 인터리버의 열(Column)이 2, 4, 8인 경우를 나타내었으며, R(k)는 비트 리버싱(bit reversing) 결과를 나타낸 것이다.Table 1 shows the case where the columns of the interleaver are 2, 4, and 8, and R (k) shows the bit reversing result.

도 5는 인터리버의 열 개수 K=8 인 경우에, MIL 인터리버로부터 출력되는 종렬 비트열의 순서를 일 예로 나타낸 도면이다.FIG. 5 is a diagram illustrating an example of a sequence of column bits output from the MIL interleaver when the number of columns of the interleaver K = 8.

도 5에서 음영 부분의 숫자는 실제로 인터리버로부터 종렬 비트열이 출력되는 순서를 나타낸다. 즉 첫 번째 종렬 비트열은 최초로 출력되며, 두 번째 종렬 비트열은 다섯 번째로 출력되며, 세 번째 종렬 비트열은 세 번째로 출력되며, 네 번째 종렬 비트열은 일곱 번째로 출력되며, 다섯 번째 종렬 비트열은 두 번째로 출력되며, 여섯 번째 종렬 비트열은 여섯 번째로 출력되며, 일곱 번째 종렬 비트열은 네 번째로 출력되며, 마지막 여덟 번째 종렬 비트열은 여덟 번째로 출력된다는 것이다.본 발명에서는 코드 심볼들을 홀수 번째 코드 심볼들의 그룹과 짝수 번째 코드 심볼들의 그룹으로 나누는 방법을 사용하게 된다. 즉, 만일 채널 부호화기로 입력되는 비트가 0에서 N-1까지의 값을 가진다고 가정하고, 채널 부호화기의 코드율을 1/3로 가정한다면 코드 비트의 인덱스는 0에서 3N-1까지의 값을 가지게 될 것이다. 그리고 코드 심볼의 인덱스는 0에서 N-1까지의 인덱스를 가지게 될 것이다. 이때, 코드 심볼을 다음의 두 그룹으로 나누어준다. 우선적으로 짝수 번째 코드 심볼 그룹은 {0,2,4,6,....}번째 코드 심볼 인덱스들의 그룹이고, 홀수 번째 코드 심볼 그룹은 {1,3,5,7...}번째 코드 심볼 인덱스들의 그룹이다.본 발명에 따라서 터보 부호화기의 출력열의 순서를 x,y,z,x,z,y...로 스위칭했다고 가정을 한다면 다음과 같은 출력열을 얻을 수 있다.{x0,y0,z0, x1,z1,y1, x2,y2,z2, x3,z3,y3, x4,y4,z4, x5,z5,y5, ......., }이때 본 발명에서 사용하는 짝수 번째 코드 심볼 그룹에서는 y 패리티 비트만을, 그리고 홀수 번째 코드 심볼 그룹에서는 z 패리티 비트만을 펑쳐링하는 방법을 사용하는 것이다. 그리고 각각의 코드 심볼 그룹내에서 펑쳐링이 수행될 코드 심볼 인덱스는 각각의 코드 심볼 그룹내에서의 펑쳐링 간격이 되도록 균일하게 이루어지도록 선택한다.도 6은 본 발명에 따른 터보 부호에 대한 코드 심볼 단위의 균일 펑쳐링을 실현하기 위한 코드 심볼 단위의 펑쳐링 위치를 나타낸 도면이다.도 6에서는 본 발명에 따른 터보 코드에 대한 코드 심볼 단위의 균일 펑쳐링을 실현하기 위해 코드 심볼들을 짝수 번째 코드 심볼들과 홀수 번째 코드 심볼들로 나누고, 각각의 코드 심볼들의 그룹에서 펑쳐링이 발생하게 될 코드 심볼들의 인덱스를 도 6a와, 도 6b에 음영으로 나타내었다.In FIG. 5, the numbers of the shaded portions actually indicate the order in which the column bit strings are output from the interleaver. That is, the first column bit string is output first, the second column bit string is output fifth, the third column bit string is output third, the fourth column bit string is output seventh, and the fifth column is output. The bit string is output second, the sixth column bit string is output sixth, the seventh column bit string is output fourth, and the last eight column bit strings are output eighth. The code symbols are divided into groups of odd code symbols and groups of even code symbols. That is, if the bit input to the channel encoder has a value from 0 to N-1, and the code rate of the channel encoder is assumed to be 1/3, the index of the code bit has a value from 0 to 3N-1. Will be. The index of the code symbol will be from 0 to N-1. At this time, the code symbols are divided into the following two groups. First, the even-numbered code symbol group is a group of {0,2,4,6, ....} th code symbol indices, and the odd-numbered code symbol group is a {1,3,5,7 ...} th code According to the present invention, assuming that the output sequence of the turbo encoder is switched to x, y, z, x, z, y ... according to the present invention, the following output sequence can be obtained. y0, z0, x1, z1, y1, x2, y2, z2, x3, z3, y3, x4, y4, z4, x5, z5, y5, .......,} In the first code symbol group, only the y parity bits and the odd code symbol group are punctured only the z parity bits. The code symbol index to be punctured in each code symbol group is selected to be uniform so as to have a puncturing interval in each code symbol group. FIG. 6 is a code symbol for a turbo code according to the present invention. Code puncturing position in units of code symbols for realizing uniform puncturing in units. In FIG. 6A and FIG. 6B, and the index of code symbols to be punctured in each group of code symbols.

이 때 1/3 레이트의 터보 부호를 가정하였으며, 전체 코드 심볼의 개수는 96개로 가정하였다. 따라서, 전체 코드 비트의 개수는 288(96*3)개가 된다. 그리고, 코드 심볼의 인덱스는 0에서 95까지의 값을 가지게 된다.도 6a 는 짝수 번째 코드 심볼 인덱스를 추출하여 구성된 인터리버이다. 그리고 도 6b 는 홀수 번째 코드 심볼 인덱스를 추출하여 구성된 인터리버를 나타낸다. 그리고 우리가 원하는 전체 펑쳐링의 양은 각각의 종렬단 2비트씩이다.즉, 인터리버의 하나의 종렬은 12개의 코드 심볼 (36개의 코드 비트들)로 이루어지며, 이들 가운데에서 2개씩의 펑쳐링을 원한다고 가정한다. 도 6a 의 첫 번째 종렬에서의 펑쳐링의 위치들은 12개의 코드 심볼 인덱스 가운데에서 2개의 인덱스를 등간격 조건 (uniformity constraint)을 만족하도록 찾아준 것이다. 즉, 12개의 코드 심볼 인덱스 {0, 8, 16, 24, 32, 40, 48, 56, 64, 72, 80, 88} 가운데에서, 16번 코드 심볼 인덱스와 64번 코드 심볼 인덱스를 선택한다. 이 두 인덱스간의 거리는 6인 것을 알 수 있다. 이와 같이 등간격 조건을 만족하도록 코드 심볼 인덱스를 구하는 방법은 다음의 간단한 알고리듬을 사용한다.예 1)e = N = 12; (초기 오차값)y = 2; (desired number of puncturing for each interleaver column)m = 1;do while m<= 12e = e-2*yif (e <=0) thenselect m;e = e + 2yend ifm = m+1end do상기 알고리즘에서 m은 1에서 12까지 증가하는 값으로 몇 번째 코드 심볼 인덱스를 선택하게 될 지를 나타내는 인덱스가 된다. 즉, 위의 알고리듬을 수행하게 되면 m=3 일 때와 m=9일때가 선택된다. 결국 {0, 8, 16, 24, 32, 40, 48, 56, 64, 72, 80, 88} 중에서 코드 심볼 인덱스 16과 코드 심볼 인덱스 64가 위의 알고리듬에 의하여 선택되게 된다.상기 알고리즘을 도 6a 의 모든 인터리버 종렬상에서 수행하게 되면 선택되는 심볼 인덱스는 두 번째 열에 대해서는 {18, 66}, 세 번째 열에 대해서는 {20, 68}, 네 번째 열에 대해서는 {22, 70} 이 될 것이다. 이러한 심볼 인덱스를 선택하여 결과적으로 그 심볼 인덱스에 해당하는 y 패리티 비트를 펑쳐링하게 될 것이다.그러나 이러한 방법을 적용하게 되면 펑쳐링되는 y 패리티 비트들의 위치가 전체 96개의 y 패리티 비트들 중에서 {y16, y18, y20, y22, y64, y66, y68, y70}이 될 것이다. 즉, 균등 간격의 펑쳐링이라는 관점에서 이는 바람직한 펑쳐링 패턴이 아니며, 어떤 다른 동작이 가해져야 한다.본 발명에서 사용하는 방법은 도 6a의 각각의 인터리버 종렬에 대하여 예 1의 알고리듬을 적용할 적에 각기 다른 초기 오차값 e를 사용하자는 것이다.즉, 각각의 인터리버의 종렬별로 초기 오차값 e를 적절한 값을 사용하게 되면, 인터리버의 종렬별로 예 1의 알고리듬을 적용하여 심볼 인덱스를 균등 간격조건으로 선택하였을 경우, 이 선택된 심볼 인덱스들이 인터리빙이 되기 전의 원래의 심볼 인덱스 공간 상에서 보았을 경우에도, 되도록 균등 간격을 가지도록 할 수 있다는 것이다.이러한 목적을 위하여 본 발명에서 사용하는 방법은 인터리버의 각각의 종렬에 대하여 쉬프팅 파라미터 S를 계산하고, 이 쉬프팅 파라미터를 통하여 예 1에서 사용하게 될 초기 오차값 e를 계산하게 된다.쉬프팅 파라미터 S의 의미는 다음과 같다. 만일 어떤 종렬에 대하여 쉬프팅 파라미터 S를 계산하여 이 값이 1이 나왔다고 한다면, 이는 쉬프팅 파라미터가 0인 첫 번째 종렬에서 선택된 심볼 패턴에 비하여 아래로 하나만큼 선택된 패턴이 쉬프팅이 된다는 것을 의미한다. 즉, 만일 도 6a의 3번째 종렬을 가정하면, 쉬프팅 파라미터는 1이 되고, 이때 예 1에서 사용하게 될 초기 오차값 e를 (2*1*2+12) mod 24로 계산하여 16을 사용한다면, m=4일 때와 m=9일 때 심볼 인덱스를 선택하게 되는 것이다. 이는 결과적으로 심볼 인덱스 28번과 심볼 인덱스 76번을 나타내게 된다. 이때 각각의 인터리버 종렬에서 사용하게 될 쉬프팅 파라미터 S는 다음과 같은 계산을 통하여 구하게 된다.(각 인터리버의 열에서 사용될 쉬프팅 파라미터 S의 계산 알고리즘)N : 인터리버의 각 종렬당 총 코드 심볼 인덱스 수y : 원하는 펑쳐링 수q =if(q<=2){for (k=0; k<K/2; k++){ k는 짝수 번째 또는 홀수 번째 코드 심볼 인터리버의 종렬 번호if(k=짝수)S[k] = 0;else S[k] = 1;}}else {if q is even q' = q -else q' = qfor(i=0; i<K/2; i++){k =S[k] =div K/2}}위의 알고리듬에서 q' = q - i=0 i=1 i=2 i=3 S[i] 0 4 1 2 e[i] 12 4 16 20 위의 e[i] 값을 예 1의 알고리듬에 대입하고 각각의 종렬별로 알고리듬을 수행하게 되면 결과적으로 도 6a 의 음영 부분이 선택되게 된다. 이러한 과정을 통하여 선택된 코드 심볼 인덱스는 전체 0에서 95 사이의 심볼 인덱스들 가운데에서 {2, 16, 28, 38, 50, 64, 76, 86} 이 되며, 따라서 펑쳐링되는 코드 비트들은 {y2, y16, y28, y38, y50, y64, y76, y86}이 된다.마찬가지 과정을 홀수 번째 코드 심볼 그룹에 적용하게 되면 도 6b의 결과를 얻을 수 있으며, 펑쳐링 되는 코드 비트들은 {z3, z17, z29, z39, z51, z65, z77, z87} 이 된다.이상의 과정에서 보았듯이, 우선적으로 채널 부호화기의 출력열의 순서를 x,y,z,x,z,y,x,y,z,....의 순서로 출력하고, 이를 인터리버에 기억시킨 후, 전체 코드 심볼 그룹들을 짝수 번째 코드 심볼과 홀수 번째 코드 심볼로 나누어 준다.그리고 각각의 코드 심볼 그룹들에 대하여 원래의 MIL 인터리버의 종렬 개수에 비하여 1/2로 축소된 열의 개수를 가지는 심볼 인터리버 상에서 쉬프팅 파라미터 S를 계산한 후, 이를 이용하여 펑쳐링이 발생하게 되는 코드 심볼들의 인덱스를 구하게 된다.다음은 짝수 번째 심볼 인터리버 상에서 선택된 코드 심볼 인덱스에 해당하는 y 패리티 비트와, 홀수 번째 심볼 인터리버 상에서 선택된 코드 심볼 인덱스에 해당하는 z 패리티 비트들을 펑쳐링한다. 이런 과정을 통하여, 상기한 상향 링크에서의 터보 코드에 대한 펑쳐링 조건을 모두 만족시킬 수 있다.도 7은 본 발명에서 채널화 코드에 대해 코드 심볼 단위로 펑쳐링되는 실제적인 펑쳐링 패턴을 나타낸 도면이다.도 7은 결과적인 원래의 첫 번째 MIL 인터리버 상에서의 펑쳐링 패턴을 나타내고 있다. 이제부터 도 7의 펑쳐링 패턴을 얻기 위한 상세한 알고리듬에 대하여 설명한다.도 6a와 도 6b로부터 구한 각각의 인터리버 종렬상에서의 쉬프팅 파라미터 S값들을 실제적으로 레이트 매칭 과정이 수행될 MIL 인터리버 상의 각각의 종렬들로 사상시키는 방법은 다음과 같다.이 사상 규칙을 구하는 방법은 짝수 번째 심볼들에 대한 심볼 인터리버는 y 패리티 비트들을 펑쳐링하기 위한 것이고, 홀수 번째 심볼들에 대한 심볼 인터리버는 z 패리티 비트들을 펑쳐링하기 위한 것이라는 가정 하에서, MIL 인터리버의 각각의 종렬들과, 짝수 번째 또는 홀수 번째 심볼 인터리버의 종렬을 비교하여 관계식을 나타내면 다음과 같다. In this case, it is assumed that a turbo code of 1/3 rate is assumed and the total number of code symbols is 96. Therefore, the total number of code bits is 288 (96 * 3). The index of the code symbol has a value from 0 to 95. FIG. 6A illustrates an interleaver configured by extracting an even code symbol index. 6B shows an interleaver configured by extracting an odd code symbol index. And the total amount of puncturing we want is 2 bits for each column, that is, one column of the interleaver consists of 12 code symbols (36 code bits). Suppose you want The positions of puncturing in the first column of FIG. 6A are two indexes among 12 code symbol indices to satisfy uniformity constraints. That is, 16 code symbol indexes and 64 code symbol indexes are selected from among 12 code symbol indexes {0, 8, 16, 24, 32, 40, 48, 56, 64, 72, 80, 88}. It can be seen that the distance between these two indices is 6. In order to obtain the code symbol index to satisfy the equal interval condition, the following simple algorithm is used. Example 1) e = N = 12; (Initial error value) y = 2; (desired number of puncturing for each interleaver column) m = 1; do while m <= 12e = e-2 * yif (e <= 0) thenselect m; e = e + 2yend ifm = m + 1end do Is an increment value from 1 to 12, indicating the number of code symbol indices to select. In other words, when the above algorithm is executed, m = 3 and m = 9 are selected. As a result, among the {0, 8, 16, 24, 32, 40, 48, 56, 64, 72, 80, 88}, the code symbol index 16 and the code symbol index 64 are selected by the above algorithm. On all interleaver columns of 6a, the selected symbol index will be {18, 66} for the second column, {20, 68} for the third column, and {22, 70} for the fourth column. Selecting this symbol index will result in puncturing the y parity bits corresponding to that symbol index, but with this method, the position of the punctured y parity bits is equal to {y16 out of the 96 y parity bits. , y18, y20, y22, y64, y66, y68, y70}. In other words, in terms of equally spaced puncturing, this is not a desirable puncturing pattern, and some other action must be taken. The method used in the present invention is adapted to apply the algorithm of Example 1 to each interleaver column of FIG. 6A. Different initial error values e are to be used, i.e., if the initial error value e is used for each column of the interleaver, the symbol index is selected as an equally spaced condition by applying the algorithm of Example 1 to each column of the interleaver. In this case, the selected symbol indices can be evenly spaced even if they are seen in the original symbol index space before interleaving. For this purpose, the method used in the present invention is applied to each column of the interleaver. Calculate the shifting parameter S with respect to this shifting parameter The initial error value e to be used is calculated. The meaning of the shifting parameter S is as follows. If the shifting parameter S is calculated for a certain column and the value is 1, this means that the selected pattern is shifted by one below the symbol pattern selected in the first column having the shifting parameter of zero. That is, if the third column of FIG. 6a is assumed, the shifting parameter becomes 1, and if the initial error value e to be used in Example 1 is calculated by using (2 * 1 * 2 + 12) mod 24 and 16 is used. , the symbol index is selected when m = 4 and m = 9. This results in symbol index 28 and symbol index 76. In this case, the shifting parameter S to be used in each interleaver column is obtained through the following calculation (calculation algorithm of the shifting parameter S to be used in each interleaver's column) N: Total number of code symbol indexes for each column of the interleaver y: Desired number of punctures q = if (q <= 2) {for (k = 0; k <K / 2; k ++) {k is the serial number of the even or odd code symbol interleaver if (k = even) S [k] = 0; else S [k] = 1;}} else {if q is even q '= q- else q '= qfor (i = 0; i <K / 2; i ++) {k = S [k] = div K / 2}} In the above algorithm, q '= q- i = 0 i = 1 i = 2 i = 3 S [i] 0 4 One 2 e [i] 12 4 16 20 Substituting the above e [i] value into the algorithm of Example 1 and performing the algorithm for each column results in the selection of the shaded portion of FIG. 6A. The code symbol index selected through this process becomes {2, 16, 28, 38, 50, 64, 76, 86} among the symbol indices between 0 and 95, so that the punctured code bits are {y2, y16, y28, y38, y50, y64, y76, y86}. If the same procedure is applied to the odd-numbered code symbol group, the result of FIG. 6B can be obtained, and the punctured code bits are {z3, z17, z29. , z39, z51, z65, z77, z87}. As shown in the above process, the order of output sequence of the channel encoder is first set to x, y, z, x, z, y, x, y, z, ... And then store the code groups in the interleaver, dividing the entire code symbol groups into even and odd code symbols, and for each code symbol group compared to the number of columns of the original MIL interleaver. Shifting parameter S on a symbol interleaver with the number of columns reduced by one half After the calculation, the indexes of the code symbols where puncturing occurs are obtained. Next, the y parity bit corresponding to the code symbol index selected on the even-numbered symbol interleaver and the code symbol index selected on the odd-numbered symbol interleaver are calculated. Punch corresponding z parity bits. Through this process, all the puncturing conditions for the turbo code in the uplink may be satisfied. FIG. 7 illustrates an actual puncturing pattern punctured in code symbol units for the channelization code in the present invention. Figure 7 shows the puncturing pattern on the resulting original first MIL interleaver. A detailed algorithm for obtaining the puncturing pattern of FIG. 7 will now be described. [0039] Each of the columns on the MIL interleaver to which the rate matching process is actually performed on the shifting parameter S values on the respective interleaver columns obtained from FIGS. The mapping method is as follows. The method of obtaining the mapping rule is that the symbol interleaver for even-numbered symbols is for puncturing y parity bits, and the symbol interleaver for odd-numbered symbols is a function of z parity bits. Under the assumption that the data is intended to be equalized, each relation of the MIL interleaver and the even or odd symbol interleaver are compared with each other.

위의 식들에서 K는 MIL 인터리버의 열의 개수를 나타내며, k는 구성된 각각의 심볼 인터리버의 열 번호를, 그리고 결과적인 Q[k] 값은 k번째 심볼 인터리버에서 구해진 쉬프팅 파라미터를 사용하게 될 MIL 인터리버의 종렬 번호를 나타내게 된다.상기 두 식(식1, 식2)이 의미하는 바는 다음과 같다.우선적으로 짝수번째 코드 심볼 그룹을 생각하면, 이 그룹 인터리버의 각각의 종렬에서 구한 쉬프팅 파라미터들은 실제적으로 MIL 인터리버의 1번열, 7번열, 5번열, 3번열에서 사용하게 된다. 도 6a의 최상단 음영 부분의 숫자는 이러한 사상관계를 나타내는 숫자이다.마찬가지로 짝수번 째 코드 심볼 그룹을 생각하면 이 심볼 그룹 인터리버의 각각의 종렬에서 구한 쉬프팅 파라미터들은 실제적으로 MIL 인터리버의 4번열, 2번열, 0번열, 6번열에서 사용하게 된다. 도 6b의 최상단 음영 부분의 숫자는 이러한 사상관계를 나타내는 숫자이다.결과적으로 첫 번째 MIL 인터리버의 출력 순서를 고려하여 구성되는 최종적인 알고리듬은 다음과 같이 2단계로 쓸 수 있다.단계 1a: MIL의 출력열의 순서별 쉬프팅 파라미터의 계산 (터보 코드용)N : MIL 인터리버의 각각의 종렬당 코드 심볼의 갯수=(Nc : MIL 인터리버의 각 종렬당 코드 비트들의 갯수)y : 원하는 펑쳐링 수q =: 평균 펑쳐링 거리 In the above equations, K denotes the number of columns of the MIL interleaver, k denotes the column number of each configured symbol interleaver, and the resulting Q [k] value represents the MIL interleaver that will use the shifting parameters obtained from the kth symbol interleaver. The two equations (Equation 1 and Equation 2) mean the following. First of all, considering the even-numbered code symbol group, the shifting parameters obtained at each column of the group interleaver are actually used. It is used in row 1, row 7, row 5 and row 3 of the MIL interleaver. The number in the uppermost shaded portion of Fig. 6A is a number representing this mapping. Similarly, considering the even-numbered code symbol groups, the shifting parameters obtained from the respective columns of the symbol group interleaver are actually columns 4 and 2 of the MIL interleaver. , Columns 0 and 6 are used. The number of the uppermost shaded portion of FIG. 6B is a number representing this mapping relationship. As a result, the final algorithm configured in consideration of the output order of the first MIL interleaver can be written in two steps as follows. Step 1a: Calculation of the shifting parameters for the order of the output strings of the MIL (for the turbo code) N: Number of code symbols per column of the MIL interleaver = (Nc: number of code bits per column of MIL interleaver) y: desired number of puncturing q = Average puncturing distance

' '

for (k=0;k<K/2;k++){여기서 K는 MIL 인터리버의 열의 개수for (k = 0; k <K / 2; k ++) {where K is the number of columns in the MIL interleaver

if(k=짝수)if (k = even)

if q is even if q is even

div K/2 div K / 2

div K/2}}위의 알고리듬에서는 *를 넘지 않는 최대의 정수를 나타내고,*를 넘는 최소의 정수를 나타낸다. 위의 알고리듬에서 S[r] 은 r번째 (r=0,1,2,...K-1) MIL 인터리버의 출력열에 대하여 레이트 매칭 과정에서 사용하게 될 쉬프팅 파라미터를 나타낸다.그리고 R[.]은 표 1에 주어진 MIL 인터리빙의 비트 리버싱 인터리빙 규칙을 나타낸다. 즉, S[R[(6k+1) mod K]]가 의미하는 바는 짝수 번째 코드 심볼들에 대한 인터리버 상에서 구한 쉬프팅 파라미터를 MIL 인터리버 상의 각각의 종렬 번호로 사상시킨 후, 이 값을 MIL 인터리버의 출력 순서로 사상시키는 것을 의미한다. div K / 2}} from the algorithm above Represents the largest integer not greater than *, Represents the smallest integer greater than *. In the above algorithm, S [r] represents the shifting parameter to be used in the rate matching process for the output string of the r-th (r = 0,1,2, ... K-1) MIL interleaver, and R [.] Denotes the bit reversal interleaving rule of MIL interleaving given in Table 1. That is, S [R [(6k + 1) mod K]] means that the shifting parameter obtained on the interleaver for even-numbered code symbols is mapped to each serial number on the MIL interleaver, and then this value is converted to the MIL interleaver. It means to map in order of output.

단계 2 : 각각의 MIL 인터리버의 출력열 별로 펑쳐링될 위치를 결정S0={d1,d2,d3,..,dNc} : MIL 인터리버의 종렬 출력 코드 비트들의 집합 Step 2: Determine the position to be punctured by the output string of each MIL interleaver S0 = {d1, d2, d3, .., dNc}: set of serial output code bits of the MIL interleaver

e[r]=(2*S[r]*y+N)mod 2N ; r번째 MIL 인터리버의 출력열에 대하여 사용하게 될 초기 오차값. 만일 e[r]=0이면 e[r]=2N을 사용한다.e [r] = (2 * S [r] * y + N) mod 2N; Initial error value to be used for the output string of the r th MIL interleaver. If e [r] = 0, use e [r] = 2N.

y = 각각의 MIL 인터리버의 출력열에 대하여 가해질 펑쳐링의 양y = the amount of puncturing to be applied to the output string of each MIL interleaver

m = 1m = 1

a[r] = (K(R[r]-1)+11) mod 3do while m<= Ne = e-2*yif (e <=0) thenpuncture bitamonge = e + 2yend ifm = m+1end do상기 단계 2 절차에서, a[r]이 의미하는 것은 MIL 인터리버의 r번째 출력열에서 코드 심볼 단위로 펑쳐링 위치를 선택하는 경우, 하나의 코드 심볼 내에서 실제로 펑쳐링이 수행될 위치를 나타내게 된다.즉, 각각의 MIL 인터리버의 종렬을 3개의 코드 비트들로 나누어 주고, 이것을 하나의 코드 심볼이라고 가정하는 경우, 현재의 코드 심볼이 선택되었을 경우, 이중에서 몇 번째 코드 비트를 펑쳐링할 것인지를 결정하는 인덱스가 된다.이때 MIL 인터리버의 출력을라고 표시하도록 하자. 이때 인덱스 i는 1에서사이의 값을 가지게 된다. 만일 MIL 인터리버의 가장 좌측의 열을 생각하게 되면, {}이 될 것이다. 이때 MIL 인터리버의 가장 좌측열에 대해서는 a=0으로 계산되며, 따라서 MIL 인터리버의 각각의 열상의 코드 비트들을 3개씩 그룹을 지었을 경우, 이 중에서 마지막 3번째 비트가 실제적으로 펑쳐링이 되는 위치임을 나타내게 된다.표 3에는 도 7의 펑쳐링 패턴을 얻기 위하여 사용된, MIL 인터리버의 출력열별 쉬프팅 파라미터 S와, 초기 오차 e 값, 그리고 a 값을 정리하여 놓았다. 정리하면 r 0 1 2 3 4 5 6 7 i 0 4 2 6 1 5 3 7 S[r] 1 0 4 2 0 1 2 4 e[r] 16 12 4 20 12 16 20 4 a[r] 0 2 1 0 2 1 0 2 결과적으로 각각의 MIL 인터리버의 출력열들에 대하여, 해당 쉬프팅 파라미터를 계산하고, 그리고 그 값을 이용하여 레이트 매칭 알고리듬에서 사용하게 될 초기 오차값을 구한 후, a 값을 계산하여 단계 2의 알고리듬을 수행하면 결과적으로 도 7의 펑쳐링 패턴을 얻을 수 있다.위와 같은 과정을 통하여, 상향 링크에서의 터보 코드에 대한 펑쳐링 알고리듬을 수행하게 되면, 상기한 바와 같이 시스티메틱 비트열들에 대한 펑쳐링을 배제할 수 있게 되고, 각각의 RSC 부호기로부터의 출력 패리티인 y 패리티와, z 패리티에 대하여 균등한 양의 펑쳐링을 가할 수 있으며, 또한 각각의 y 패리티열들과, z 패리티 열들 상에서 보았을 적에 균일한 간격을 가지는 펑쳐링 위치를 선택할 수 있다. 또한 위와 같은 모든 조건들을, MIL 인터리버 상의 각각의 종렬들에 대하여 동일한 양의 펑쳐링을 가하면서 만족시킬 수 있게 된다.상기한 단계 1과 단계 2를 통한 상향 링크에서의 터보 코드에 대한 펑쳐링 과정은 MIL 인터리버의 열의 개수인 K가 2 이상인 경우에만 적용된다. 이는 K=1인 경우에는 실제적으로 MIL 인터리버가 존재하지 않는 것으로 여길 수 있으며, 이에 따라 하향 링크에서 사용하는 펑쳐링 과정을 수행하면 된다.다음은 컨벌루션 코드에 대한 상향 링크에서의 펑쳐링 과정을 터보 코드의 경우와 마찬가지로 코드 심볼 단위로 수행하는 방법에 대하여 기술한다.기본적으로 사용하는 방법은 상기한 단계 1과 단계 2를 컨벌루션 코드에 맞추어 변형하는 것이다.일반적으로 컨벌루션 코드의 경우에는 터보 코드와는 달리 코드 심볼을 구성하는 코드 비트들의 중요도가 다르지 않은 것으로 여겨지고 있다. 이에 따라 컨벌루션 코드에 대한 레이트 매칭 과정에서는 코드 비트 단위로 레이트 매칭 과정을 수행하며, 코드 심볼을 구성하는 어떤 코드 비트들도 펑쳐링이 될 수 있다는 가정을 사용한다.이에 따라 기존의 컨벌루션 코드에 대한 펑쳐링 과정에서는 전체 코드 비트열 상에서 보았을 적의 등간격 펑쳐링 조건을 만족시키는 방법을 사용하고 있다. 그러나 현재 사용되고 있는 1/3 레이트의 컨벌루션 코드의 경우에는, 각 코드 심볼 단위로 펑쳐링을 수행할 경우, 한 코드 심볼 내의 어느 한 코드 비트만을 펑쳐링하는 경우, 전체 복호 성능에 끼치는 영향이 다른 코드 비트를 펑쳐링하였을 경우의 성능에 비하여 좋은 코드 비트가 존재한다.현재 3GPP 규격 상에서 사용하고 있는 1/3 레이트의 컨벌루션 코드의 한 코드 심볼을 x, y, z라고 표시하도록 하자. 이때 x 비트는 생성 다항식에 의하여 출력되는 비트이고, y 비트는 생성 다항식, 그리고 z 비트는에 의하여 생성되는 비트이다. 이 중, x 비트에 대한 펑쳐링을 수행하는 것이 다른 y 비트나 z 비트에 대한 펑쳐링을 수행하는 것에 비하여 전체 복호 성능에 끼치는 영향이 적은 것으로 판단된다.이에 따라 컨벌루션 코드에 대한 펑쳐링 과정에서도 상기한 단계 1과 단계 2의 코드 심볼 단위의 펑쳐링 과정을 수행하며, 펑쳐링되는 비트를 x 비트로 한정하는 방법을 사용할 수 있다.이를 위해 본 발명에서는 컨벌루션 코딩된 비트열들의 출력 순서를 변형하여 MIL 인터리버로 입력시킬 때, 다음과 같은 순서를 사용한다. 즉, 'y x z y x z y x z y…' 순으로 인터리버의 메모리에 저장시킨다. 이렇게 컨벌루션 코드의 출력 순서를 변형시키는 이유는 상기한 단계 2의 레이트 매칭 과정을 터보 코드와 컨벌루션 코드에 대하여 통합하여 사용하려고 하기 때문이다.이후, 터보 코드에서 사용했던 단계 1의 과정을 변형하여 MIL 인터리버의 각 출력 종렬에서 사용하게 될 쉬프팅 파라미터를 계산해야 한다. 여기에서 터보 코드에서 사용했던 단계 1과 달라지는 부분은 심볼 인터리버의 구성 방법과 MIL 인터리버의 각 열로의 사상 규칙이다.터보 코드의 경우에는 심볼 인터리버를 구성하는 경우, 상단 RSC와 하단 RSC의 패리티에 대한 펑쳐링을 수행하기 때문에 홀수 번째 심볼들에 대한 인터리버와 짝수 번째 심볼들에 대한 인터리버를 독립적으로 구성하였다. 그러나 컨벌루션 코드에 대해서는 이러한 과정을 수행하지 않아도 된다.a [r] = (K (R [r] -1) +11) mod 3do while m <= Ne = e-2 * yif (e <= 0) thenpuncture bit among e = e + 2yend ifm = m + 1end do In the above procedure of step 2, a [r] means that if a puncturing position is selected in code symbol units in the rth output string of the MIL interleaver, it is within one code symbol. Where the puncturing is actually performed, i.e. dividing each MIL interleaver into three code bits, assuming that it is one code symbol, and if the current code symbol is selected, This is the index that determines the number of code bits to puncture in the output of the MIL interleaver. Let's say Where index i is 1 It will have a value between. If you consider the leftmost column of the MIL interleaver, } Will be. In this case, the leftmost column of the MIL interleaver is calculated as a = 0. Therefore, when three code bits of each column of the MIL interleaver are grouped, this indicates that the last third bit of the MIL interleaver is actually punctured. Table 3 summarizes the shifting parameter S, the initial error e value, and the a value of each output string of the MIL interleaver used to obtain the puncturing pattern of FIG. 7. In short r 0 One 2 3 4 5 6 7 i 0 4 2 6 One 5 3 7 S [r] One 0 4 2 0 One 2 4 e [r] 16 12 4 20 12 16 20 4 a [r] 0 2 One 0 2 One 0 2 As a result, for the output strings of each MIL interleaver, the corresponding shifting parameter is calculated, and the initial error value to be used in the rate matching algorithm is calculated using the value, and then the value of a is calculated to calculate the algorithm of step 2. As a result, the puncturing pattern of FIG. 7 is obtained as a result. When the puncturing algorithm for the turbo code in the uplink is performed through the above process, the puncturing for the systematic bit strings is performed as described above. It is possible to exclude the sampling, and to apply an equal amount of puncturing for the z parity, y parity, which is the output parity from each RSC coder, and also seen on the respective y parity columns and z parity columns. You can select puncturing positions that are evenly spaced at the enemy. In addition, all the above conditions can be satisfied by applying the same amount of puncturing for each column on the MIL interleaver. The puncturing process for the turbo code in the uplink through steps 1 and 2 described above. Applies only if K, the number of columns of the MIL interleaver, is greater than 2. If K = 1, it can be considered that there is no MIL interleaver, and accordingly, the puncturing process used in the downlink can be performed. Next, the puncturing process in the uplink to the convolutional code is turbo. As in the case of the code, a method of performing the code symbol unit is described. Basically, the method to be used is to transform the steps 1 and 2 to the convolutional code. Generally, the convolutional code is different from the turbo code. Otherwise, the importance of the code bits constituting the code symbol is considered to be different. Accordingly, the rate matching process for the convolutional code performs the rate matching process in units of code bits and uses the assumption that any code bits constituting the code symbol can be punctured. The puncturing process uses a method that satisfies the equal interval puncturing conditions seen in the entire code bit stream. However, in the case of the currently used 1/3 rate convolution code, when puncturing is performed for each code symbol unit, when puncturing only one code bit in one code symbol, the effect on the total decoding performance is different. There is a good code bit compared to the performance when puncturing the bit. Let us denote a code symbol of x, y, and z in the third rate convolution code currently used in the 3GPP specification. Where x bits are the generated polynomial Is the bit output by y, and the y bit is the generating polynomial , And the z bit Is a bit generated by Among these, puncturing on x bits has less impact on overall decoding performance than puncturing on other y or z bits. A puncturing process in units of code symbols of steps 1 and 2 may be performed, and a method of limiting punctured bits to x bits may be used. For this purpose, in the present invention, the output order of convolutionally coded bit strings is modified to be MIL. When entering the interleaver, use the following order. That is, 'yxzyxzyxzy…' In order. The reason for modifying the output sequence of the convolutional code is that the rate matching process of step 2 is to be used in combination with the turbo code and the convolutional code. We need to calculate the shifting parameters that will be used for each output column of the interleaver. Here, the difference from the step 1 used in the turbo code is the configuration method of the symbol interleaver and the mapping rule of each column of the MIL interleaver. In the case of the turbo code, the parity of the upper RSC and the lower RSC when Because puncturing is performed, the interleaver for odd-numbered symbols and the interleaver for even-numbered symbols are independently configured. However, you do not have to do this for convolutional code.

도 8은 본 발명에 따른 코드 심볼 단위의 균일 펑쳐링을 실현하기 위해 컨벌루션 코드에서 특정 비트(x)만을 펑쳐링하기 위한 코드 심볼 단위의 패턴을 나타낸 도면이다.펑쳐링을 원하는 비트는 코드 심볼을 구성하는 비트들 중에서, x 비트만을 펑쳐링을 하기를 원한다. 이러한 가정하에서 심볼 인터리버의 심볼 인덱스와 MIL 인터리버의 인덱스를 비교하게 되면, 심볼 인터리버에서 구한 각각의 종렬별 쉬프팅 파라미터 S 값을 사용하게 될 MIL 인터리버의 종렬 번호를 구하는 사상 규칙을 만들 수 있다.이 규칙이 도 8의 최상단 행에 음영으로 표현되어 있다. 즉, 도 8의 심볼 인터리버의 가장 좌측 종렬(0번열)에서 구한 쉬프팅 파라미터는 MIL 인터리버의 1번 종렬에서 사용한다는 것을 나타내고, 심볼 인터리버의 1번열에서 구한 쉬프팅 파라미터는 MIL 인터리버의 4번 종렬에서 사용한다는 것을 나타낸다. 이러한 규칙은 MIL 인터리버의 출력열에 대하여 레이트 매칭 과정을 코드 심볼 단위로 수행하며, 이때 선택된 코드 심볼들 중에서 x 비트만을 펑쳐링할 수 있도록 만들어진 사상 규칙이다. 이러한 사상 규칙은 다음과 같은 수학식으로 간단하게 표현된다. Q[k]=(3k+1) mod K : k=0,1,2,...,K 상기 수학식 3에서 K는 MIL 인터리버의 종렬의 개수를 나타내며, k는 구성된 심볼 인터리버의 열 번호를, 그리고 결과적인 Q[k] 값은 k번째 심볼 인터리버에서 구해진 쉬프팅 파라미터를 사용하게 될 MIL 인터리버의 종렬 번호를 나타내게 된다.위의 사상 규칙을 쉬프팅 파라미터 계산 과정에 적용하면 결과적으로 다음과 같은 쉬프팅 파라미터 계산 알고리즘을 얻을 수 있다.FIG. 8 is a diagram illustrating a pattern in code symbol units for puncturing only a specific bit (x) in a convolutional code to realize uniform puncturing in code symbol units according to the present invention. Among the constituent bits, only the x bits are desired to be punctured. Under these assumptions, comparing the symbol interleaver's symbol index with the MIL interleaver's index, we can create a mapping rule to determine the serial number of the MIL interleaver that will use the shifting parameter S for each column obtained from the symbol interleaver. This is represented by the shading in the top row of FIG. That is, the shifting parameter obtained from the leftmost column (column 0) of the symbol interleaver of FIG. 8 indicates that the shifting parameter obtained from column 1 of the MIL interleaver is used by the column 4 of the MIL interleaver. Indicates that This rule performs a rate matching process on a code symbol basis for the output string of the MIL interleaver, and is a mapping rule designed to puncture only x bits among selected code symbols. This mapping rule is simply expressed by the following equation. Q [k] = (3k + 1) mod K: k = 0,1,2, ..., K In Equation 3, K denotes the number of columns of the MIL interleaver, k denotes the column number of the configured symbol interleaver, and the resulting Q [k] value corresponds to the shifting parameter obtained from the k-th symbol interleaver. By applying the above mapping rule to the shifting parameter calculation process, the following shifting parameter calculation algorithm can be obtained.

단계 1b : MIL의 출력열의 순서별 쉬프팅 파라미터의 계산(컨벌루션 코드용)Step 1b: Calculation of the Shifting Parameters for the Order of the Output String of the MIL (for Convolutional Code)

N : MIL 인터리버의 각각의 종렬당 코드 심볼의 개수=(Nc : MIL 인터리버의 각 종렬당 코드 비트들의 개수)N = number of code symbols per column of MIL interleaver (Nc: number of code bits per column of MIL interleaver)

y : 원하는 펑쳐링 수y: desired puncturing number

q :: 평균 펑쳐링 거리q: Average puncturing distance

if(q<=2){if (q <= 2) {

여기서 K는 MIL 인터리버의 열의 개수 Where K is the number of columns in the MIL interleaver

if(k=짝수)if (k = even)

if q is even if q is even

이상에서 설명한 바와 같이 상향 링크에서의 채널화 코드에 대한 통합 펑쳐링 알고리즘을 이하 정리한다.As described above, the integrated puncturing algorithm for the channelization code in the uplink is summarized below.

우선적으로 펑쳐링 알고리즘을 시작하기 전에, 터보 코드 또는 컨벌루션 코드 중에 채널화 코드로 어떤 코드가 사용되는가? 사용되는 MIL 인터리버의 열 개수(K)가 2 이상인가? 에 따라 채널 코딩 후 출력 패턴을 결정한다.Prior to starting the puncturing algorithm, which code is used as the channelization code in the turbo code or the convolutional code? Is the number of columns (K) of the MIL interleaver used more than 2? According to the channel coding after the output pattern is determined.

만일, K가 2 이상의 값이고 사용하는 채널 코드가 터보 코드라면, 채널 코드 블록의 출력 순서는 x,y,z,x,z,y,x,y,z,x,z,y,...의 순서가 되며, 컨벌루션 코드의 경우에는 y,x,z,y,x,z,..의 순서가 된다. 채널 코딩 후 출력된 비트열은 MIL 인터리버 메모리에 채워지며, 이후 인터리빙된 각 열 단위의 비트열은 다음의 통합 펑쳐링 알고리즘에 적용된다.If K is a value greater than 2 and the channel code to be used is a turbo code, the output order of the channel code block is x, y, z, x, z, y, x, y, z, x, z, y, .. In order of convolution code, and in the order of y, x, z, y, x, z, .. The bit stream output after the channel coding is filled in the MIL interleaver memory, and then the interleaved bit strings are applied to the following integrated puncturing algorithm.

' if(인터리버의 열 개수 K=1)'if (number of columns in the interleaver K = 1)

{ 기존 하향 링크에서의 펑쳐링 알고리즘을 적용 }{Apply puncturing algorithm on existing downlink}

else {else {

if (컨벌루션 코드)if (convolution code)

각 MIL 인터리버의 출력열들에 대해 단계 1b를 사용하여 쉬 프팅 파라미터(S)를 계산Calculate the shifting parameter (S) using step 1b for the output strings of each MIL interleaver

else if (터보 코드)else if (turbo code)

각 MIL 인터리버의 출력열들에 대해 단계 1a를 사용하여 쉬프팅 파라미터(S)를 계산Calculate the shifting parameter (S) using step 1a for the output strings of each MIL interleaver

상향 링크에서 채널화 코드에 대해 단계 2의 펑쳐링 알고리즘 수행}Perform the puncturing algorithm of step 2 for channelization code in the uplink}

이상에서 설명한 바와 같이 본 발명에 따른 상향 링크에서의 채널화 코드에 대한 레이트 매칭 방법에서는, 상향 링크에서의 터보 코드에 대한 펑쳐링 조건 중 RSC 코더들의 각 패리티 비트에 대해 균일한 코드 심볼 거리를 가지는 펑쳐링이 실현된다. 또한, 각 패리티 비트에 대한 균등한 양의 펑쳐링 조건도 만족시킬 수 있다.As described above, in the rate matching method for the channelization code in the uplink according to the present invention, the puncturing condition for the turbo code in the uplink has a uniform code symbol distance for each parity bit of the RSC coders. Puncturing is realized. In addition, an equal amount of puncturing conditions for each parity bit can be satisfied.

또한, 터보 코드와 컨벌루션 코드와 같은 채널화 코드에 대해 통합된 펑쳐링 알고리즘을 구현하여, 상향 링크에서의 최적의 레이트 매칭을 실현할 수 있다.In addition, integrated puncturing algorithms for channelization codes such as turbo codes and convolutional codes can be implemented to achieve optimal rate matching in the uplink.

그밖에도 상향 링크에서 컨벌루션 코드에 대한 펑쳐링을 실현할 수 있으며, 기존의 컨벌루션 코드에 대한 펑쳐링 알고리즘이 코드 비트 단위로 수행되었던 것과 달리 코드 심볼 단위의 펑쳐링인 수행된다. 또한 본 발명에 따른 통합 펑쳐링 알고리즘에서는 각 코드 심볼들에 대해 펑쳐링이 발생할 위치를 지정할 수 있기 때문에 균일 펑쳐링을 실현하여 전체 복호 성능을 현저히 향상시킬 수 있다.In addition, puncturing for convolutional codes in the uplink can be realized, and puncturing in code symbol units is performed unlike the conventional puncturing algorithm for convolutional codes. In addition, in the integrated puncturing algorithm according to the present invention, since puncturing occurs for each code symbol, it is possible to realize uniform puncturing to significantly improve overall decoding performance.

Claims (9)

채널화 코드를 사용하는 이동 통신 시스템의 상향 링크에서,In the uplink of the mobile communication system using the channelization code, 전송 채널에 대한 채널 코딩을 수행하여 다수의 비트열을 코드 심볼 단위로 출력하는 단계와,Outputting a plurality of bit strings in code symbol units by performing channel coding on a transmission channel; 상기 출력된 다수 비트열에 대해 일정 간격의 코드 심볼 단위로 균일 펑쳐링이 발생하도록, 상기 비트열을 코드 심볼 단위로 그룹화하여 인터리빙하는 단계와,Grouping and interleaving the bit strings in code symbol units so that uniform puncturing occurs in units of code symbols at regular intervals with respect to the outputted plurality of bit strings; 상기 인터리빙된 비트열들에 대해 일정 간격의 코드 심볼 단위로 펑쳐링을 수행하는 단계로 이루어지는 것을 특징으로 하는 레이트 매칭 방법.Performing puncturing on the interleaved bit streams in units of code symbols at predetermined intervals. 제 1 항에 있어서, 상기 펑쳐링 단계는,The method of claim 1, wherein the puncturing step, 상기 채널 코딩에 의해 출력되는 특정 비트열을 제외하고, 복호에 사용되는 나머지 비트열들에 대해 일정 간격의 코드 심볼 단위로 수행되는 것을 특징으로 하는 레이트 매칭 방법.Except for the specific bit string output by the channel coding, the rate matching method characterized in that the remaining bit strings used for decoding are performed in units of code symbols at regular intervals. 제 2 항에 있어서, 상기 펑쳐링은 상기 채널 코딩에 의해 출력되는 각 비트열의 중요도를 고려하여, 상대적으로 중요도가 높은 상기 특정 비트열에 대한 펑쳐링이 배제되는 것을 특징으로 하는 레이트 매칭 방법.3. The method of claim 2, wherein the puncturing excludes puncturing for the specific bit string having a relatively high importance in consideration of the importance of each bit string output by the channel coding. 제 1 항에 있어서, 상기 펑쳐링 단계에는, 상기 인터리빙된 비트열들에 대해각 열에서 일정 간격의 균일 펑쳐링 알고리즘이 적용되는 것을 특징으로 하는 레이트 매칭 방법.The method of claim 1, wherein the puncturing step includes applying a uniform puncturing algorithm at a predetermined interval in each column to the interleaved bit streams. 채널화 코드를 사용하는 이동 통신 시스템의 상향 링크에서,In the uplink of the mobile communication system using the channelization code, 전송 채널에 대한 채널 코딩 결과로 시스티메틱 비트와, 하나 또는 그 이상의 패리티 비트들이 심볼 단위로 병렬 출력되는 단계와,Outputting the systematic bits and one or more parity bits in symbol units as a result of channel coding for the transmission channel; 상기 출력되는 각 심볼 단위마다 상기 패리티 비트들이 서로 다른 우선 순위로 인터리빙되는 단계와,Interleaving the parity bits with different priorities for each symbol unit output; 상기 인터리빙된 패리티 비트들에 대해 각 심볼 단위의 일정 간격으로 펑쳐링을 수행하는 단계로 이루어지는 것을 특징으로 하는 레이트 매칭 방법.Performing puncturing on the interleaved parity bits at a predetermined interval of each symbol unit. 제 5 항에 있어서, 상기 펑쳐링 단계는,The method of claim 5, wherein the puncturing step, 상기 인터리빙된 후 각 종렬 비트열에 대해 균일한 회수의 펑쳐링이 발생하는 것을 특징으로 하는 레이트 매칭 방법.And a uniform number of puncturing occurs for each column bit stream after the interleaving. 이동 통신 시스템의 전송 채널에 대한 채널 코딩 결과로 시스티메틱 비트와, 하나 또는 그 이상의 패리티 비트들이 심볼 단위로 병렬 출력되는 단계와,Outputting the systematic bits and one or more parity bits in symbol units as a result of channel coding on a transmission channel of the mobile communication system; 상기 출력되는 각 심볼 단위마다 상기 패리티 비트들이 서로 다른 우선 순위로 그룹화되어 인터리빙되는 단계와,Parity bits are grouped and interleaved at different priorities for each output symbol unit; 상기 각 인터리빙된 그룹의 패리티 비트들에 대해 각 심볼 단위의 일정 간격으로 펑쳐링을 수행하는 단계로 이루어지는 것을 특징으로 하는 레이트 매칭 방법.Performing puncturing on the parity bits of each interleaved group at predetermined intervals in each symbol unit. 제 7 항에 있어서, 상기 펑쳐링 단계는,The method of claim 7, wherein the puncturing step, 상기 각 인터리빙 그룹의 각 종렬 비트열에 대해 균일한 회수의 펑쳐링이 일정 간격으로 발생하는 것을 특징으로 하는 레이트 매칭 방법.And a uniform number of puncturings occur at regular intervals for each column bit string of each interleaving group. 제 1 항에 있어서, 상기 코드 심볼 단위의 비트들의 우선 순위를 달리하는 것을 특징으로 하는 레이트 매칭 방법.The rate matching method of claim 1, wherein the priority of the bits in the code symbol unit is changed.
KR1019990027379A 1999-07-08 1999-07-08 Rate matching method for channelization code on up-link KR100317262B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019990027379A KR100317262B1 (en) 1999-07-08 1999-07-08 Rate matching method for channelization code on up-link

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990027379A KR100317262B1 (en) 1999-07-08 1999-07-08 Rate matching method for channelization code on up-link

Publications (2)

Publication Number Publication Date
KR20010009158A KR20010009158A (en) 2001-02-05
KR100317262B1 true KR100317262B1 (en) 2001-12-22

Family

ID=19600116

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990027379A KR100317262B1 (en) 1999-07-08 1999-07-08 Rate matching method for channelization code on up-link

Country Status (1)

Country Link
KR (1) KR100317262B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100918765B1 (en) * 2001-10-20 2009-09-24 삼성전자주식회사 Apparatus and method for coding and rate mating in cdma mobile communication
KR100462555B1 (en) * 2002-07-22 2004-12-17 한국전자통신연구원 Apparatus and method of interleaving/deinterleaving in communication systems using channel reciprocity

Also Published As

Publication number Publication date
KR20010009158A (en) 2001-02-05

Similar Documents

Publication Publication Date Title
US7697487B2 (en) Physical layer processing for a wireless communication system using code division multiple access
US7146552B2 (en) Apparatus and method for performing coding and rate matching in a CDMA mobile communication system
KR100317262B1 (en) Rate matching method for channelization code on up-link
KR100720566B1 (en) Method of Data Rate Matching and apparatus for data processing
KR100504463B1 (en) Parameter Optimization method of Parallel Puncturing Algorithm
JP3450292B2 (en) Transport channel multiplexing method
KR100404181B1 (en) Method and Apparatus of Rate Matching for Channelization Code On up-link
KR20000067738A (en) Rate matching Method for channel code in mobile communication system
KR100344873B1 (en) parameter determinating Method for uplink rate matching
KR100404183B1 (en) Rate matching method for channelization code

Legal Events

Date Code Title Description
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: 20061031

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee