KR20010009158A - 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
KR20010009158A
KR20010009158A KR1019990027379A KR19990027379A KR20010009158A KR 20010009158 A KR20010009158 A KR 20010009158A KR 1019990027379 A KR1019990027379 A KR 1019990027379A KR 19990027379 A KR19990027379 A KR 19990027379A KR 20010009158 A KR20010009158 A KR 20010009158A
Authority
KR
South Korea
Prior art keywords
puncturing
code
bit
algorithm
units
Prior art date
Application number
KR1019990027379A
Other languages
Korean (ko)
Other versions
KR100317262B1 (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

PURPOSE: A channelization code rate matching method is provided to accomplish optimal rate matching by realizing united puncturing algorithm to a channelization code such as a turbo code and a convolution code. CONSTITUTION: A channelization code rate matching method comprises performing channel coding to a transfer channel to output a plurality of bit streams by a code symbol unit, grouping and interleaving the bit streams by the code symbol unit so that uniform puncturing to the output bit streams is performed by the code symbol unit of a constant interval, and performing puncturing to the interleaved bit streams by the code symbol unit.

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 descriptions of multiplexing, channel coding, and interleaving according to 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, a CRC bit for a cyclic redundancy check (hereinafter, referred to as CRC) is 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 a CRC bit is 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 the 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 a CRC bit is 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 channel symbol rate by rate matching (S13), the transmission channels of different QoS which have undergone 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 all bit strings, and the puncturing distance is '6' for the other half. Just execute the puncturing procedure at.

터보 코드(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 a turbo code having a specific code rate, systematic bit components are relatively important in the decoding process, and the remaining parity bits are excluded. Ingredients are less important.

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

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

예로써, 현재까지 제안된 하향 링크에서의 터보 코드에 대한 펑쳐링 알고리즘 중 하나는 펑쳐링이 코드 심볼 단위로 균일하게 일어나도록 코드 심볼의 펑쳐링 위치를 결정한 후 패리티 비트 성분들을 교대로 펑쳐링하는 알고리즘이다. 다른 하나는 코드 심볼 단위로 펑쳐링이 일어날 수 있는 위치를 두 배 거리만큼 증가시킨 후 각 펑쳐링이 일어날 코드 심볼마다 패리티 비트 성분들을 동시에 펑쳐링하는 알고리즘이다.For example, one of the puncturing algorithms for turbo codes in the downlink proposed up to now is to puncture parity bit components alternately after determining the puncturing position of code symbols so that puncturing occurs uniformly in code symbol units. Algorithm The other is an algorithm that increases the location where puncturing can occur in code symbol units by a double distance and then punctures the parity bit components simultaneously for each code symbol where 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, in the uplink of a mobile communication system using a channelization code, a systematic bit component and one or more parity bit components as a result of channel coding for a transport channel. Outputting in parallel in units of symbols; interleaving the parity bit components with different priorities for each symbol unit output; and puncturing the interleaved parity bit components at predetermined intervals for each symbol unit. It consists of steps to perform.

바람직하게는, 상기 펑쳐링 단계가 상기 인터리빙된 후 각 종렬 비트열에 대해 균일한 회수의 펑쳐링이 발생한다.Advantageously, a uniform number of puncturings occur for each column 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 component and one or more parity bit components in symbol units as a result of channel coding on a transmission channel of a mobile communication system, and The parity bit components are grouped and interleaved at different priority levels for each symbol unit to be output, and the puncturing of the parity bit components of each interleaving group is performed at predetermined intervals for each symbol unit.

도 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 는 본 발명에 따른 코드 심볼 단위의 균일 펑쳐링을 실현하기 위해 터보 코드에 대한 펑쳐링 위치를 나타낸 도면.5 is a view showing a puncturing position for a turbo code in order to realize uniform puncturing in code symbol units according to the present invention.

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

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

도 8 은 본 발명에 따른 코드 심볼 단위의 균일 펑쳐링을 실현하기 위해 채널화 코드에 대한 코드 심볼 단위의 펑쳐링 위치를 나타낸 도면.8 illustrates puncturing positions in code symbol units for channelization codes in order to realize uniform puncturing in code symbol units according to the present invention.

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

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

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

이하, 본 발명에 따른 상향 링크에서의 채널화 코드 레이트 매칭 방법에 대한 바람직한 일 실시 예를 첨부된 도면을 참조하여 설명한다.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, make the positions of punctured code bits as evenly distributed as possible.

둘 째, 각 인터리빙된 비트열마다 동일한 수의 코드 비트가 펑쳐링되도록 한다. 이는 인터리빙 되기 이전의 비트열에 대해서도 균일한 펑쳐링이 발생하도록 하자는 것이다.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 bit components is excluded.

둘 째, 패리티 비트 성분들에 대해서는 모든 패리티 비트 성분에서 균등하게 펑쳐링이 일어나도록 한다.Second, puncturing occurs evenly on all parity bit components with respect to the parity bit components.

세 째, 전체 비트열에 대해 균등하게 펑쳐링이 일어나도록 한다.Third, puncturing occurs uniformly over the entire bit string.

본 발명에서는 이러한 세 조건 이외에도 다음의 한 조건을 더 고려해야 한다. 이는 상향 링크에서 인터리빙을 거친 비트열에 대해 레이트 매칭 절차가 수행되기 때문이다.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 interleaver, and the code bits input to the first turbo decoder and the second turbo decoder are parity bit components.

따라서 송신측에서는 패리티 비트 성분들에 대한 균일 펑쳐링이 발생하도록 조정하는 것이 매우 중요하다. 또한 채널 코딩된 모든 비트열에 대해서도 균일한 펑쳐링이 발생하도록 분포시키는 것이 중요하다.Therefore, it is very important to adjust the transmission side so that uniform puncturing of the parity bit components occurs. 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에선 음영 부분의 코드 비트들이 펑쳐링된다.3 illustrates a puncturing pattern when the optimized puncturing algorithm for the 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 패리티 비트 성분이다.3 is a case where the number of columns K of the interleaver is 8, where x is a systematic bit component, y is a first parity bit component, and z is a second parity bit component.

이들 비트 성분들은 전송 채널에 대한 채널 코딩 결과 출력되는 것들로써, 패리티 비트 성분들은 각 RSC 코더(Recursive systematic convolutional coder)의 출력이다.These bit components are those that are output as a result of channel coding for the transport channel, and the parity bit components are the output of each RSC coder (Recursive systematic convolutional coder).

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

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

이에 대해 본 발명에서는 상기에서 나열된 터보 코드에 대한 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 core of the present invention is to modify the order of the interleaved bit strings in the coding / multiplexing block shown in FIG. 1, and to uniformly puncture by column in addition to the uniform puncturing by code symbol per row. Is that.

또한 본 발명에서는 채널 코딩된 비트열들의 인터리빙 순서를 변형하여, 다음과 같은 순서로 인터리버 메모리의 각 행을 채우게 된다. 즉 "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, they are stored in the interleaver's memory in the order of "x y z x z y x y z x z y ...".

다음은 본 발명에 따른 상향 링크에서의 터보 코드 레이트 매칭을 위한 펑쳐링 절차를 보다 상세하게 설명한다. 여기서는 인터리버의 열 개수(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. Although the number of columns K of the interleaver K is 1, 2, or 4, the present invention will be described only for the case where the number of columns K of the interleaver is 8, for convenience.

도 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는 터보 코드에 대한 펑쳐링 알고리즘 중 펑쳐링이 코드 심볼 단위로 균일하게 일어나도록 코드 심볼의 펑쳐링 위치를 결정한 후 패리티 비트 성분들을 교대로 펑쳐링하는 알고리즘이 적용된 예를 나타낸 것이다.4A illustrates an example in which an algorithm for puncturing parity bit components is alternately applied after determining a puncturing position of a code symbol so that puncturing occurs uniformly in units of code symbols among the puncturing algorithms for the turbo code.

도 4a에서 알 수 있듯이, 기존에는 도 1에 도시된 코딩/다중화 블록에서 인터리빙되는 비트열들의 순서를 "x y z x y z x y z …" 순으로 인터리버 메모리의 각 행을 채우게 된다. 여기서 인터리빙되는 비트열의 순서는 채널 코딩에 사용되는 터보 코더(turbo coder)의 출력단에서 스위칭에 의해 쉽게 구현될 수 있다.As shown in FIG. 4A, conventionally, each row of the interleaver memory is filled in the order of "x y z x y z x y z ..." in the order of the interleaved bit strings in the coding / multiplexing block shown in FIG. The order of the interleaved bit strings can be easily implemented by switching at the output of the turbo coder used for channel coding.

또한 도 4a를 살펴보면, 터보 코드 펑쳐링 조건 중 인터리빙을 거친 모든 프레임들에 대한 동일 펑쳐링 조건을 만족시키지 못한다. 이는 다시 말해서 인터리빙된 비트열인 각 종렬 비트열들에 대해 비트 성분이 균일하게 펑쳐링 되지 않는다는 것이다. 도 4a에서는 첫 번째, 세 번째, 다섯 번째 및 일곱 번째 종렬 비트열에서 펑쳐링이 발생하지 않고 있다.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 component 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 first, third, fifth, and seventh bitstreams.

그러나, 본 발명에 따른 터보 코드에 대한 펑쳐링 알고리즘이 적용된 도 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. This is because, unlike the conventional puncturing algorithm, the interleaver memory is filled with the order of the bit streams interleaved in the coding / multiplexing block shown in FIG. 1 in the order of "x y z x z y x y z x z y ...".

여기서도 인터리빙되는 비트열의 순서는 채널 코딩에 사용되는 터보 코더의 출력단에서 스위칭에 의해 쉽게 구현될 수 있다.Here again, the order of the interleaved bit strings can be easily implemented by switching at the output of the turbo coder used for channel coding.

1/3 코드 레이트에서 1/2 코드 레이트의 코드를 얻기 위해 본 발명에 따른 터보 코드에 대한 펑쳐링 알고리즘을 적용한 예가 도 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 FIG. 4B.

다음은 본 발명에 따른 상향 링크에서의 터보 코드에 대한 펑쳐링 알고리즘을 나타내었으며, 도 5 는 본 발명에 따른 코드 심볼 단위의 균일 펑쳐링을 실현하기 위해 터보 코드에 대한 펑쳐링 위치를 나타낸 도면이다.The following shows a puncturing algorithm for the turbo code in the uplink according to the present invention, Figure 5 is a diagram showing a puncturing position for the turbo code to realize uniform puncturing in units of code symbols according to the present invention. .

또한, 도 6 은 본 발명에서 터보 코드에 대해 코드 심볼 단위로 펑쳐링하는 실제적인 펑쳐링 패턴을 나타낸 도면이다.FIG. 6 is a diagram illustrating an actual puncturing pattern for puncturing turbo codes in code symbol units in the present invention.

상기한 도 5와 도 6에 나타낸 코드 심볼 단위의 균일 펑쳐링 패턴을 만들기 위해서는 각 인터리버의 열별로 레이크 매칭 절차를 수행하기 위한 초기 오차값을 구한 다음, 이를 사용하여 펑쳐링 알고리즘을 수행한다.In order to create a uniform puncturing pattern in units of code symbols shown in FIGS. 5 and 6, an initial error value for performing a rake matching procedure for each column of the interleaver And then use it to perform the puncturing algorithm.

우선 터보 코드 펑쳐링 알고리즘에서는 다음과 같은 가정이 필요하다. 이러한 가정에서 코드 심볼 단위의 펑쳐링 거리(q)를 계산한다.First, the turbo code puncturing algorithm requires the following assumptions. Under this assumption, the puncturing distance q in code symbol units is calculated.

첫 째,=비트들의 집합first, = Set of bits

둘 째,; 펑쳐링된 후의 코드 심볼 개수second, ; Number of code symbols after puncturing

세 째, Third,

결국이다. 여기서는 소수점 이하 버림을 의미한다.finally to be. here Means round off the decimal point.

" "

" "

상기한 알고리즘에서는 같은 열에서 계속 펑쳐링되는 것을 방지하기 위한 것으로, ""는의 최대 공약수를 나타내며,는 정수는 아니지만 1/8의 배수이다.In the above algorithm Is to prevent punctures in the same column over time, " Wow Represents the greatest common divisor of, Is not an integer but a multiple of 1/8.

또한 ""는 본 발명의 터보 코드에 대한 펑쳐링 패턴에 따른 매핑 규칙을 나타낸 식이다.Also " Is an expression representing a mapping rule according to the puncturing pattern for the turbo code of the present invention.

""는 인터리버의 각 열별 쉬프팅 파라미터(S)를 계산하기 위한 식이다." Is an expression for calculating the shifting parameter S for each column of the interleaver.

상기한 알고리즘에 의해 계산된 쉬프팅 파라미터(S)를 이용하여, 레이트 매칭 절차를 위한 각 인터리버의 열별로 다음과 같은 펑쳐링 알고리즘을 수행한다.Using the shifting parameter S calculated by the above algorithm, the following puncturing algorithm is performed for each column of the interleaver for the rate matching procedure.

우선 아래 펑쳐링 알고리즘에서도 다음과 같은 가정이 필요하다.First of all, the following puncturing algorithm requires the following assumptions.

첫 째,=비트들의 집합first, = Set of bits

둘 째,; 펑쳐링된 후의 코드 심볼 개수second, ; Number of code symbols after puncturing

세 째, Third,

네 째,; 첫 번째 인터리버의 열 번호 ;(여기서,는 첫 번째 인터리버의 열의 개수)Fourth, ; Column number of first interleaver; (here, Is the number of columns in the first interleaver)

" "

; 현재 펑쳐링 비율과 원하는 펑쳐링 비율 간의 초기 오차 ; Initial error between the current puncturing ratio and the desired puncturing ratio

; 현재 코드 심볼에 대한 인덱스 ; The index of the current code symbol

; 오차(e) 갱신 ; Error (e) update

; 인덱스인 코드 심볼에 대해 펑쳐링 발생 여부 검사 ; index Checking for puncturing on encoded symbols

; 오차(e) 갱신 ; Error (e) update

; 다음 코드 심볼에 대한 인덱스 ; Index for next code symbol

; 현재 펑쳐링 비율과 원하는 펑쳐링 비율 간의 초기 오차 ; Initial error between the current puncturing ratio and the desired puncturing ratio

; 현재 코드 심볼에 대한 인덱스 ; The index of the current code symbol

; 오차(e) 갱신 ; Error (e) update

; 인덱스인 코드 심볼에 대해 반복 여부 검사 ; index For iteration over encoded symbols

; 오차(e) 갱신 ; Error (e) update

; 다음 코드 심볼에 대한 인덱스 ; Index for next code symbol

" "

다음은 본 발명에 따른 채널화 코드에 대한 통합 펑쳐링 알고리즘을 설명한다. 이 통합 펑쳐링 알고리즘은 상기 기술된 터보 코드 펑쳐링 알고리즘의 변형된 형태이다.The following describes an integrated puncturing algorithm for channelization codes according to the present invention. This integrated puncturing algorithm is a variant of the turbo code puncturing algorithm described above.

본 발명에 따른 채널화 코드에 대한 통합 펑쳐링 알고리즘을 설명하기에 앞서 본 발명을 실현시키기 위해 사용되는 인터리버에 대해 설명한다.Before describing the integrated puncturing algorithm for the channelization code according to the present invention, the 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 where the interleaved bit string is output is 8 bits, the column bit string is not output in the order of 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 44 00 22 1One 33 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.

도 7 은 상기한 표 1에서 K=8 인 경우에, MIL 인터리버로부터 출력되는 종렬 비트열의 순서를 일 예로 나타낸 것이다.FIG. 7 illustrates an example of the order of the serial bit strings output from the MIL interleaver when K = 8 in Table 1 above.

도 7에서 음영 부분의 숫자는 실제로 인터리버로부터 종렬 비트열이 출력되는 순서를 나타낸다. 즉 첫 번째 종렬 비트열은 최초로 출력되며, 두 번째 종렬 비트열은 다섯 번째로 출력되며, 세 번째 종렬 비트열은 세 번째로 출력되며, 네 번째 종렬 비트열은 일곱 번째로 출력되며, 다섯 번째 종렬 비트열은 두 번째로 출력되며, 여섯 번째 종렬 비트열은 여섯 번째로 출력되며, 일곱 번째 종렬 비트열은 네 번째로 출력되며, 마지막 여덟 번째 종렬 비트열은 여덟 번째로 출력된다는 것이다.In FIG. 7, 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.

도 8에는 본 발명에 따른 코드 심볼 단위의 균일 펑쳐링을 실현하기 위해 채널화 코드에 대한 코드 심볼 단위의 펑쳐링 위치를 나타냈으며, 도 9 는 본 발명에서 채널화 코드에 대해 코드 심볼 단위로 펑쳐링되는 실제적인 펑쳐링 패턴을 나타낸 것이다.FIG. 8 shows puncturing positions in code symbol units for channelization codes in order to realize uniform puncturing in code symbol units according to the present invention. FIG. 9 shows puncturing in code symbol units for channelization codes in the present invention. It shows the actual puncturing pattern being punched.

도 8에서는 코드 심볼들을 짝수 번째 코드 심볼과 홀수 번째 코드 심볼로 그룹화하고, 각 그룹화된 코드 심볼들에 대해 코드 심볼 단위의 균일 펑쳐링을 적용한다. 그러면 도 8a와 도 8b와 같은 음영 부분의 코드 비트 위치에서 펑쳐링이 발생한다.In FIG. 8, code symbols are grouped into even and odd code symbols, and uniform puncturing in units of code symbols is applied to each grouped code symbol. Then, puncturing occurs at the code bit positions of the shaded portions as shown in FIGS. 8A and 8B.

이 때 전체 코드 심볼을 짝수 번째 코드 심볼과 홀수 번째 코드 심볼로 각각 그룹화하므로, 펑쳐링 알고리즘에서는 인터리브 열의 개수(K)로 4(=8/2)를 사용한다. 도 8에서 최상단 음영 부분의 숫자는 펑쳐링되는 인터리버 메모리상의 열 번호를 나타낸 것이다.In this case, since all code symbols are grouped into even and odd code symbols, the puncturing algorithm uses 4 (= 8/2) as the number K of interleaved columns. In FIG. 8, the number of the uppermost shaded portion represents the column number on the interleaver memory being punctured.

따라서 도 8을 살펴보면 짝수 번째 코드 심볼들에 대한 인터리버의 첫 번째 열(0)의 펑쳐링 패턴은 실제적으로 도 9에서 전체 코드 비트에 대한 인터리버의 첫 번째 열(이는 30 번째 코드 심볼)에 대해 적용되며, 두 번째 열(1)의 펑쳐링 패턴은 실제적으로 도 9에서 전체 코드 비트에 대한 인터리버의 두 번째 열(이는 17번째 코드 심볼)에 대해 적용된다.Therefore, referring to FIG. 8, the puncturing pattern of the first column (0) of the interleaver for even-numbered code symbols is actually applied to the first column of the interleaver (which is the 30th code symbol) for the entire code bit in FIG. 9. The puncturing pattern of the second column 1 is actually applied to the second column of the interleaver (this is the 17th code symbol) for the entire code bit in FIG. 9.

이 같은 매핑 규칙은 다음 식 1과 식 2와 같이 일반적으로 표현할 수 있다.Such a mapping rule can be generally expressed as Equation 1 and Equation 2 below.

상기한 식 1은 짝수 번째 코드 심볼들에 대한 매핑 규칙을 나타낸 것이며, 식 2는 홀수 번째 코드 심볼들에 대한 매핑 규칙을 나타낸 것이다.Equation 1 shows a mapping rule for even-numbered code symbols, and equation 2 shows a mapping rule for odd-numbered code symbols.

상기한 식들에서는 인터리버의 열 개수를 나타낸 것으로, 다음에 언급하겠지만인 경우를 제외하고이 될 수 있다.In the above equations Is the number of columns in the interleaver. Except This can be

이와 같은 MIL 인터리버를 사용하여 상기한 도 9의 펑쳐링 패턴을 만들기 위해서는 각 인터리버의 열별로 초기 오차값을 구해야 한다. 이 초기 오차값을 구하기 위해서는 각 비트열에 대한 인터리버 메모리 열에 적용할 쉬프팅 파라미터(S)를 다음의 제1 알고리즘에 의해 계산한다.In order to make the puncturing pattern of FIG. 9 using the MIL interleaver as described above, an initial error value for each column of each interleaver Should be obtained. This initial error value In order to obtain, the shifting parameter S to be applied to the interleaver memory string for each bit string is calculated by the following first algorithm.

쉬프팅 파라미터(S)를 계산하는 제1 알고리즘에서는, 먼저 각 인터리버 메모리 열이개의 코드 비트들로 구성되어 있고, 각 열마다개씩의 펑쳐링이 발생한다고 가정한다. 이 때 우선적으로은 실제 코드 심볼은 아니지만 코드 심볼처럼 간주한다.In the first algorithm for calculating the shifting parameter S, each interleaver memory string is first Consists of four code bits, each column Assume that puncturing occurs individually. At this point Is not actually a code symbol, but is considered a code symbol.

터보 코드에 대한 쉬프팅 파라미터(S)를 계산하기 위한 제1 알고리즘을 시작하기 전에 다음과 같은 기본 전제가 요구된다.Before starting the first algorithm for calculating the shifting parameter S for the turbo code, the following basic premise is required.

첫 째, 코드 심볼; 여기서를 넘지 않는 최대 정수값으로,의 소수점 이하 버림을 의미한다.First, code symbol ; here Is Maximum integer value not exceeding. Means rounding off.

둘 째, 펑쳐링된 후의 코드 심볼 개수 Second, the number of code symbols after puncturing

세 째,; 이 때는 코드 심볼 단위의 평균 펑쳐링 거리를 나타낸다.Third, ; At this time Denotes an average puncturing distance in code symbol units.

상기한 기본 전제로부터가 산출되며, 이 산출된값으로부터 각 열에 적용할 초기 오차값을 구하기 위한 제1 알고리즘은 다음과 같다.From the basic premise mentioned above Is calculated, and Initial error value to apply to each column from the value The first algorithm to find is as follows.

" "

" "

상기한 제1 알고리즘에서 ""는 같은 열에서 계속 펑쳐링되는 것을 방지하기 위한 것으로, ""는의 최대 공약수를 나타낸다.In the first algorithm described above, "Is to prevent puncturing in the same row," " Wow Represents the greatest common divisor of.

또한 "", "", ""나 ""들은 MIL 인터리버의 인터리빙 패턴을 나타낸다.Also " "," "," "I" Are the interleaving patterns of the MIL interleaver.

마지막 식 ""Last expression " "

"은 인터리버의 각 열별 쉬프팅 파라미터(S)를 계산하기 위한 식이다. Is an equation for calculating the shifting parameter S for each column of the interleaver.

상기한 제1 알고리즘에 의해 각 열별로 쉬프팅 파라미터(S)를 계산한 후 이로부터 구해진 초기 오차값을 사용하여 펑쳐링을 위한 다음의 제2 알고리즘을 수행한다.An initial error value calculated from the shifting parameter S for each column by the first algorithm. Performs the following second algorithm for puncturing using.

우선 제2 알고리즘에서는 다음과 같은 가정이 필요하다.First, the second algorithm requires the following assumptions.

첫 째,=비트들의 집합first, = Set of bits

둘 째,; 펑쳐링된 후의 코드 심볼 개수second, ; Number of code symbols after puncturing

세 째, Third,

네 째,; 첫 번째 인터리버의 열 번호 ;(여기서,는 첫 번째 인터리버의 열의 개수)Fourth, ; Column number of first interleaver; (here, Is the number of columns in the first interleaver)

이러한 가정 하에서 제2 알고리즘은 다음과 같다.Under this assumption, the second algorithm is as follows.

" "

; 초기 오차값 ; Initial error

; 현재 코드 심볼에 대한 인덱스 ; The index of the current code symbol

; 오차(e) 갱신 ; Error (e) update

; 인덱스인 코드 심볼에 대해 펑쳐링 발생 여부검사 ; index Check if puncturing occurs for the encoded symbol

; 오차(e) 갱신 ; Error (e) update

; 다음 코드 심볼에 대한 인덱스 ; Index for next code symbol

; 초기 오차값 ; Initial error

; 현재 코드 심볼에 대한 인덱스 ; The index of the current code symbol

; 오차(e) 갱신 ; Error (e) update

; 인덱스인 코드 심볼에 대해 반복 여부 검사 ; index For iteration over encoded symbols

; 오차(e) 갱신 ; Error (e) update

; 다음 코드 심볼에 대한 인덱스 ; Index for next code symbol

" "

상기한 제2 알고리즘은 K가 2 이상일 때 사용되는 것으로, 만약 K가 1이면 기존 하향 링크에서의 펑쳐링 알고리즘을 적용한다. 이는 K가 1인 경우 실제적으로 MIL 인터리빙이 필요 없기 때문이다.The second algorithm is used when K is 2 or more. If K is 1, the puncturing algorithm in the existing downlink is applied. This is because if K is 1, MIL interleaving is practically unnecessary.

다음은 컨벌루션 코드에 대한 쉬프팅 파라미터(S)를 계산하기 위한 제3 알고리즘에 대해 설명한다. 이 제3 알고리즘은 터보 코드에 대한 쉬프팅 파라미터를 계산하는 제1 알고리즘을 변형한 것이다.The following describes a third algorithm for calculating the shifting parameter S for the convolutional code. This third algorithm is a modification of the first algorithm for calculating the shifting parameters for the turbo code.

우선 컨벌루션 코드에서도 각 코드 심볼 단위에서 펑쳐링되어도 전체 복호 성능에 별 영향을 미치지 않는 코드 비트가 있으며, 반대로 펑쳐링을 배제하는 것이 전체 복호 성능에 많은 향상 효과를 가져다주는 코드 비트가 있다.First, even in the convolutional code, even if punctured in each code symbol unit, there are code bits that do not affect the overall decoding performance. On the contrary, there is a code bit that excludes puncturing has a significant effect on the overall decoding performance.

이에 따른 예로써, 1/3 코드 레이트인 컨벌루션 코드를 고려해 볼 때, 첫 번째 비트 성분(x)만을 펑쳐링하면 전체적인 복호 성능이 향상된다고 가정하면, 이 때 구현될 상향 링크에서의 컨벌루션 코드에 대한 펑쳐링 알고리즘은 비트 성분 x, y, z 중에서 x 비트 성분만을 펑쳐링할 수 있도록 한다.As an example, considering a convolutional code of 1/3 code rate, assuming that puncturing only the first bit component (x) improves the overall decoding performance, the convolutional code for the uplink to be implemented at this time The puncturing algorithm makes it possible to puncture only the x bit component among the bit components x, y, and z.

이를 위해 본 발명에서는 컨벌루션 코딩된 비트열들의 순서를 변형하여 인터리빙 시킬 때, 다음과 같은 순서로 각 행을 채우게 된다. 즉 "y x z y x z y x z y…" 순으로 인터리버의 메모리에 저장시킨다.To this end, in the present invention, when interleaving by changing the order of convolutionally coded bit strings, each row is filled in the following order. That is, "y x z y x z y x z y ..." is stored in the interleaver memory in this order.

이후, 인터리버 메모리 상에서 코드 심볼 단위의 균일 펑쳐링을 위해 초기 오차값을 계산하고, 이 계산된 초기 오차값을 각 인터리버의 열에 적용하여 펑쳐링을 수행한다.Afterwards, an initial error value for uniform puncturing in units of code symbols on the interleaver memory And calculate the calculated initial error Is applied to the columns of each interleaver to perform puncturing.

비트 성분 x만을 펑쳐링하는 상향 링크에서의 펑쳐링 알고리즘을 288 코드 비트, 즉 96(=288/3) 코드 심볼에 대해 적용하여 총 16개의 코드 비트를 펑쳐링하는 일 예를 도 10과 도 11에 나타내었다.Examples of puncturing a total of 16 code bits by applying a puncturing algorithm in the uplink that punctures only the bit component x to 288 code bits, that is, 96 (= 288/3) code symbols are illustrated in FIGS. 10 and 11. Shown in

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

또한, 도 11에는 컨벌루션 코드에서 코드 심볼 단위로 특정 비트 성분(x)만을 펑쳐링하는 실제적인 펑쳐링 패턴을 나타낸 도면이다.FIG. 11 is a diagram illustrating an actual puncturing pattern for puncturing only a specific bit component (x) in code symbol units in a convolutional code.

상기한 도 10 및 도 11에 나타낸 코드 심볼 단위의 균일 펑쳐링 패턴을 만들기 위해서는 각 인터리버의 열별로 초기 오차값을 구해야 한다. 이 초기 오차값을 구하기 위해서는 각 비트열에 대한 인터리버 메모리 열에 적용할 쉬프팅 파라미터(S)를 다음의 제3 알고리즘에 의해 계산한다.In order to make a uniform puncturing pattern in units of code symbols shown in FIGS. 10 and 11, an initial error value for each column of each interleaver Should be obtained. This initial error value In order to calculate, the shifting parameter S to be applied to the interleaver memory string for each bit string is calculated by the following third algorithm.

컨벌루션 코드에 대한 쉬프팅 파라미터(S)를 계산하기 위한 제3 알고리즘을 시작하기 전에도 다음과 같은 기본 전제가 요구된다.Before starting the third algorithm for calculating the shifting parameter S for the convolutional code, the following basic premise is required.

첫 째, 코드 심볼; 여기서를 넘지 않는 최대 정수값으로,의 소수점 이하 버림을 의미한다.First, code symbol ; here Is Maximum integer value not exceeding. Means rounding off.

둘 째, 펑쳐링된 후의 코드 심볼 개수 Second, the number of code symbols after puncturing

세 째,; 이 때는 코드 심볼 단위의 평균 펑쳐링 거리를 나타낸다.Third, ; At this time Denotes an average puncturing distance in code symbol units.

이러한 기본 전제는 터보 코드에 대한 쉬프팅 파라미터(S)를 계산하기 위한 제1 알고리즘에서의 기본 전제와 동일하다. 상기한 기본 전제로부터가 산출되며, 이 산출된값으로부터 각 열에 적용할 초기 오차값을 구하기 위한 제3 알고리즘은 다음과 같다.This basic premise is the same as the basic premise in the first algorithm for calculating the shifting parameter S for the turbo code. From the basic premise mentioned above Is calculated, and Initial error value to apply to each column from the value The third algorithm to find is as follows.

" "

상기한 제3 알고리즘에서 ""는 같은 열에서 계속 펑쳐링되는 것을 방지하기 위한 것으로, ""는의 최대 공약수를 나타내며, ""나 ""들은 MIL 인터리버의 인터리빙 패턴을 나타낸다.In the third algorithm described above, "Is to prevent puncturing in the same row," " Wow Represents the greatest common divisor of, " "I" Are the interleaving patterns of the MIL interleaver.

또한 ""는 인터리버의 각 열별 쉬프팅 파라미터(S)를 계산하기 위한 식이다.Also " Is an expression for calculating the shifting parameter S for each column of the interleaver.

상기한 제3 알고리즘에 의해 각 열별로 쉬프팅 파라미터(S)를 계산한 후 이로부터 구해진 초기 오차값을 사용하여 이미 설명한 펑쳐링을 위한 제2 알고리즘을 수행한다.An initial error value calculated from the shifting parameter S for each column by the third algorithm. To perform the second algorithm for puncturing already described.

또다른 예로써, 컨벌루션 코드에 있어서 각 코드 심볼의 두 번째 비트 성분(y)만을 펑쳐링하는 것이 전체 복호 성능을 향상시킨다면, 컨벌루션 코딩된 비트열들을 인터리빙 시킬 때 다음과 같은 순서로 각 행을 채우게 된다. 즉 "x y z x y z x y z x y z …" 순으로 인터리버의 메모리에 저장시킨다.As another example, if puncturing only the second bit component (y) of each code symbol in the convolutional code improves the overall decoding performance, then interleaving the convolutionally coded bitstreams fills each row in the following order: do. That is, "x y z x y z x y z x y z ..." is stored in the interleaver memory in this order.

이 후 상기한 제3 알고리즘과 제2 알고리즘에 이를 적용하여 펑쳐링을 수행한다.Thereafter, puncturing is performed by applying the same to the third algorithm and the second algorithm.

반면에, 컨벌루션 코드에 있어서 각 코드 심볼의 비트 성분을 펑쳐링할 때, 첫 번째 비트 성분(x)을 먼저 펑쳐링하고 이후 두 번째 비트 성분(y)을 펑쳐링하는 순서로 반복하는 것이 전체 복호 성능을 향상시킨다면, 컨벌루션 코딩된 비트열들을 인터리빙 시킬 때 "x y z x z y x y z x z y …" 순으로 인터리버의 메모리에 저장시킨 후 상기한 제1 알고리즘과 제2 알고리즘에 이를 적용하여 펑쳐링을 수행한다.On the other hand, when puncturing the bit components of each code symbol in the convolutional code, it is necessary to puncture the first bit component (x) first and then repeat the second bit component (y) in the order of puncturing. In order to improve performance, when interleaving convolutionally coded bit streams, they are stored in the memory of the interleaver in the order of “xyzxzyxyzxzy…” and then punctured by applying them to the first algorithm and the second algorithm.

결과적으로 제2 알고리즘은 상향 링크에서 채널화 코드인 터보 코드와 컨벌루션 코드에 대한 펑쳐링에 적용시킬 수 있는 통합된 알고리즘이다.As a result, the second algorithm is an integrated algorithm that can be applied to puncturing for the turbo code and the convolutional code, which are channelization codes in the uplink.

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

우선적으로 펑쳐링 알고리즘을 시작하기 전에, 터보 코드 또는 컨벌루션 코드 중에 채널화 코드로 어떤 코드가 사용되는가? 동시에 사용되는 인터리버의 열 개수(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 interleavers used simultaneously? According to the channel coding after the output pattern is determined.

채널 코딩 후 출력된 비트열은 인터리버 메모리에 채워지며, 이후 인터리빙된 각 열 단위의 비트열은 다음의 통합 펑쳐링 알고리즘에 적용된다.The bit strings output after the channel coding are filled in the 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)

각 열에 대해 제1 알고리즘 또는 제3 알고리즘을 사용하여Using either the first algorithm or the third algorithm for each column

쉬프팅 파라미터(S)를 계산Calculate Shifting Parameter (S)

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

각 열에 대해 제1 알고리즘을 사용하여 쉬프팅 파라미터(S) 를 계산Calculate shifting parameter S for each column using the first algorithm

상향 링크에서 채널화 코드에 대해 제2 펑쳐링 알고리즘 수행 }Perform a Second Punching Algorithm for Channelization Code in Uplink}

이상에서 설명한 바와 같이 본 발명에 따른 상향 링크에서의 채널화 코드에 대한 레이트 매칭 방법에서는, 상향 링크에서의 터보 코드에 대한 펑쳐링 조건 중 RSC 코더들의 각 패리티 비트 성분들에 대해 균일한 코드 심볼 거리를 가지는 펑쳐링이 실현된다.As described above, in the rate matching method for the channelization code in the uplink according to the present invention, a uniform code symbol distance for each parity bit component of RSC coders among puncturing conditions for the turbo code in the uplink Punching with is realized.

또한, 터보 코드와 컨벌루션 코드와 같은 채널화 코드에 대해 통합된 펑쳐링 알고리즘을 구현하여, 상향 링크에서의 최적의 레이트 매칭을 실현할 수 있다.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 (8)

채널화 코드를 사용하는 이동 통신 시스템의 상향 링크에서,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 bit component and one or more parity bit components in symbol units in parallel as a result of channel coding on the transmission channel; 상기 출력되는 각 심볼 단위마다 상기 패리티 비트 성분들이 서로 다른 우선 순위로 인터리빙되는 단계와,Interleaving the parity bit components with different priorities for each symbol unit output; 상기 인터리빙된 패리티 비트 성분들에 대해 각 심볼 단위의 일정 간격으로 펑쳐링을 수행하는 단계로 이루어지는 것을 특징으로 하는 레이트 매칭 방법.And performing puncturing on the interleaved parity bit components 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 bit component and one or more parity bit components in symbol units as a result of channel coding on a transmission channel of a mobile communication system; 상기 출력되는 각 심볼 단위마다 상기 패리티 비트 성분들이 서로 다른 우선 순위로 그룹화되어 인터리빙되는 단계와,Parity bit components are grouped into different priorities and interleaved for each output symbol unit; 상기 각 인터리빙 그룹의 패리티 비트 성분들에 대해 각 심볼 단위의 일정 간격으로 펑쳐링을 수행하는 단계로 이루어지는 것을 특징으로 하는 레이트 매칭 방법.Performing puncturing on the parity bit components of each interleaving 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.
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 true KR20010009158A (en) 2001-02-05
KR100317262B1 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)

Cited By (2)

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

Cited By (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
KR100317262B1 (en) 2001-12-22

Similar Documents

Publication Publication Date Title
US7697487B2 (en) Physical layer processing for a wireless communication system using code division multiple access
KR100918765B1 (en) Apparatus and method for coding and rate mating in cdma mobile communication
EP1933465A1 (en) Data multiplexing method and data multiplexer, and data transmitting method and data transmitter
US7814388B2 (en) System and method for interleaving data in a wireless transmitter
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
KR20010009158A (en) Rate matching method for channelization code on up-link
KR20020006592A (en) Method and apparatus for flexible data rate matching by symbol insertion for a data 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