KR100317262B1 - Rate matching method for channelization code on up-link - Google Patents
Rate matching method for channelization code on up-link Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 78
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 60
- 238000010295 mobile communication Methods 0.000 claims abstract description 15
- 230000005540 biological transmission Effects 0.000 claims description 12
- 230000009897 systematic effect Effects 0.000 claims description 12
- 238000004891 communication Methods 0.000 abstract description 2
- 230000008569 process Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 11
- 238000013507 mapping Methods 0.000 description 9
- 238000011160 research Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0067—Rate matching
- H04L1/0068—Rate matching by puncturing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0009—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the channel coding
- H04L1/0013—Rate 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
본 발명은 차세대 통신 시스템에 관한 것으로, 특히 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.
표 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 -
' '
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 값을 정리하여 놓았다. 정리하면
도 8은 본 발명에 따른 코드 심볼 단위의 균일 펑쳐링을 실현하기 위해 컨벌루션 코드에서 특정 비트(x)만을 펑쳐링하기 위한 코드 심볼 단위의 패턴을 나타낸 도면이다.펑쳐링을 원하는 비트는 코드 심볼을 구성하는 비트들 중에서, x 비트만을 펑쳐링을 하기를 원한다. 이러한 가정하에서 심볼 인터리버의 심볼 인덱스와 MIL 인터리버의 인덱스를 비교하게 되면, 심볼 인터리버에서 구한 각각의 종렬별 쉬프팅 파라미터 S 값을 사용하게 될 MIL 인터리버의 종렬 번호를 구하는 사상 규칙을 만들 수 있다.이 규칙이 도 8의 최상단 행에 음영으로 표현되어 있다. 즉, 도 8의 심볼 인터리버의 가장 좌측 종렬(0번열)에서 구한 쉬프팅 파라미터는 MIL 인터리버의 1번 종렬에서 사용한다는 것을 나타내고, 심볼 인터리버의 1번열에서 구한 쉬프팅 파라미터는 MIL 인터리버의 4번 종렬에서 사용한다는 것을 나타낸다. 이러한 규칙은 MIL 인터리버의 출력열에 대하여 레이트 매칭 과정을 코드 심볼 단위로 수행하며, 이때 선택된 코드 심볼들 중에서 x 비트만을 펑쳐링할 수 있도록 만들어진 사상 규칙이다. 이러한 사상 규칙은 다음과 같은 수학식으로 간단하게 표현된다.
단계 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)
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)
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 |
-
1999
- 1999-07-08 KR KR1019990027379A patent/KR100317262B1/en not_active IP Right Cessation
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 |