KR100625242B1 - Apparatus and method for turbo decoder - Google Patents
Apparatus and method for turbo decoder Download PDFInfo
- Publication number
- KR100625242B1 KR100625242B1 KR1020030096771A KR20030096771A KR100625242B1 KR 100625242 B1 KR100625242 B1 KR 100625242B1 KR 1020030096771 A KR1020030096771 A KR 1020030096771A KR 20030096771 A KR20030096771 A KR 20030096771A KR 100625242 B1 KR100625242 B1 KR 100625242B1
- Authority
- KR
- South Korea
- Prior art keywords
- likelihood ratio
- value
- decoding
- output
- state metric
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
- H03M13/3905—Maximum a posteriori probability [MAP] decoding or approximations thereof based on trellis or lattice decoding, e.g. forward-backward algorithm, log-MAP decoding, max-log-MAP decoding
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/65—Purpose and implementation aspects
- H03M13/6502—Reduction of hardware complexity or efficient processing
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
Abstract
본 발명은 터보 복호화 장치 및 방법에 관한 것으로, 특히 터보 복호화기를 VLSI로 구현하기 위한 장치 및 방법에 관한 것이다.The present invention relates to a turbo decoding apparatus and method, and more particularly, to an apparatus and method for implementing a turbo decoder in VLSI.
본 발명에 따른 터보 복호화 장치는 순방향 상태 메트릭과 역방향 상태 메트릭을 동시에 연산하여 하나의 클럭당 하나의 대수우도비를 계산하는 MAP 복호기를 하나만 사용한다. 따라서, 하나의 MAP 복호기로 종래 두 개의 MAP 복호기와 동일한 동작을 하기 위해 각 복호 단계마다 입력 및 출력을 조정한다.The turbo decoding apparatus according to the present invention uses only one MAP decoder that calculates one large likelihood ratio per clock by simultaneously calculating a forward state metric and a reverse state metric. Therefore, one MAP decoder adjusts inputs and outputs for each decoding step in order to perform the same operation as two conventional MAP decoders.
이와 같이 하면, 터보 복호화기 연산 완료에 따른 지연시간이 단축되고 복호 속도를 개선함으로써 하드웨어 증가량을 최소화할 수 있다.In this way, the amount of hardware increase can be minimized by reducing the delay time for completing the turbo decoder operation and improving the decoding speed.
터보 복호화기, 최대사후방식, 지연시간, VLSI, 터보 코드, MAP 복호기Turbo Decoder, Post-Maximum Method, Delay Time, VLSI, Turbo Code, MAP Decoder
Description
도 1은 일반적인 부호율 1/3을 갖는 터보 부호기를 나타내는 도면이다.1 is a diagram illustrating a turbo encoder having a
도 2는 부호율 1/3을 갖는 터보 부호기를 위한 종래 터보 복호기를 나타내는 도면이다.2 is a diagram illustrating a conventional turbo decoder for a turbo encoder having a
도 3은 본 발명의 실시예에 따른 터보 복호기를 나타내는 도면이다.3 is a view showing a turbo decoder according to an embodiment of the present invention.
도 4는 본 발명의 실시예에 따른 MAP 복호기의 구성도이다.4 is a block diagram of a MAP decoder according to an embodiment of the present invention.
도 5는 본 발명의 실시예에 따른 MAP 복호기의 동작에 대한 흐름도이다.5 is a flowchart illustrating the operation of a MAP decoder according to an embodiment of the present invention.
도 6은 도 4의 MAP 복호기의 대수우도비 연산 과정에 대한 타이밍을 나타내는 도면이다.FIG. 6 is a diagram illustrating timing for an algebraic likelihood ratio calculation process of the MAP decoder of FIG. 4.
본 발명은 복호 속도를 향상시키고 하드웨어 구현에 있어서 면적 소모를 최소화하기 위한 터보 복호화기 장치 및 방법에 관한 것이다.The present invention relates to a turbo decoder apparatus and method for improving the decoding speed and minimizing the area consumption in hardware implementation.
일반적으로 유무선 디지털 통신 시스템에서는 전송로상의 오류를 보정하기 위해 송신단에서 정보비트에 부가 비트를 첨부하고 수신단에서는 오류 정정 알고리즘을 이용하여 오류를 보정한다. 이러한 오류정정알고리즘의 하나로 터보코드(Turbo Code)를 사용한다. 터보코드는 최근 각광 받고 있는 CDMA 2000 무선 통신 시스템과 WCDMA 무선 통신 시스템에 채택되고 있다. 터보 복호 알고리즘으로는 크게 최대 사후 알고리즘(MAP: Maximum A Posteriori)과 연성 출력 비터비 알고리즘(SOVA: Soft Out Viterbi Alogorithm)으로 나누어지고 최대 사후 알고리즘은 다시 순수한 최대 사후 방식(pure MAP), 로그 최대 사후 방식(LOG-MAP), 최대 로그 최대 사후(MAX-LOG-MAP or MIN-LOG-MAP) 방식으로 나누어진다. 하드웨어 구현을 위해서는 오류 정정 능력은 다소 떨어지나 구현 복잡도가 낮은 로그 최대 사후 방식이나 최대 로그 최대 사후 방식이 주로 이용된다.In general, in a wired / wireless digital communication system, an additional bit is added to an information bit at a transmitter to correct an error on a transmission path, and an error is corrected using an error correction algorithm at a receiver. As one of these error correction algorithms, Turbo Code is used. Turbocodes are being adopted in the popular CDMA 2000 wireless communication system and the WCDMA wireless communication system. Turbo decoding algorithms are largely divided into Maximum A Posteriori (MAP) and Soft Out Viterbi Alogorithm (SOVA). The maximum post algorithm is pure pure MAP and log maximum post. The method is divided into the LOG-MAP and MAX-LOG-MAP or MIN-LOG-MAP methods. For the hardware implementation, the log max post method or the max log max post method which are somewhat inferior in error correction capability but low in implementation complexity are mainly used.
도 1은 일반적인 부호율 1/3을 갖는 터보 부호기를 나타내는 도면이다.1 is a diagram illustrating a turbo encoder having a
도 1에서 보면, 부호율 1/3을 갖는 터보 부호기(10)는 x_k 입력으로부터 정보 비트 열로부터 제1 길쌈부호기(2)를 통해 패리티 비트(Parity bit;잉여 비트), X_k, Z_k가 생성된다. 또한, x_k 입력은 인터리버(1)에 의해 재배열 된 후, 제1 길쌈 부호기(2)와 병렬 연결된 제2 길쌈 부호기(3)를 통해 패리티 비트 {Z_k}', {X_k}'가 생성된다. 이렇게 생성된 패리티 비트는 병/직렬 변환부(4)를 통해 직렬로 변환되어 하나의 출력심볼이 생성된다.1, in the
이와 같이 구성된 터보 부호기(10)는 제1 및 제2 길쌈 부호기(2, 3)을 통해 독립적인 패리티를 발생시키게 함으로써 반복적인 복호가 가능하도록 한다. 따라서, 인터리버 크기가 커질수록 연집 오류의 분산도가 증가하고, 패리티간의 연관성이 줄어들어 오류 정정 성능이 우수해진다. 하지만 인터리버의 크기가 크면 복호시간 지연이 길어지고 많은 버퍼 메모리가 필요하는 단점이 있다.The
도 2는 도 1에서 부호율 1/3을 갖는 터보 부호기를 위한 종래 터보 복호기를 나타내는 도면이다.FIG. 2 is a diagram illustrating a conventional turbo decoder for a turbo encoder having a
도 2에 나타낸 바와 같이 일반적인 터보 복호기(20)는 두 개의 MAP(Maximum a posteriori) 복호기(5, 7)가 사용되고 MAP 복호기(21, 23) 사이에 비트열의 순서를 일치시키기 위한 인터리버(interleaver)(22)와 원래의 정보 비트와 같은 순서로 재배열하는 역인터리버(deinterleaver)(24, 25) 및 덧셈기의 결합으로 이루어진다. 그리고 최종 복호 결과인 정보 비트에 대한 결과값은 경판정기(26)를 통해 계산된다. 각 MAP 복호기(21, 23)에는 수신 심볼(x_k, y_k)과 전단의 MAP 복호기(23, 21)의 결과인 잉여 정보 값이 들어와 현재의 LLR 값을 계산하고 이 LLR 값과 입력 값을 이용하여 다음 단의 MAP 복호기(21, 23)의 입력 값으로 쓰일 새로운 잉여 정보를 생성한다. 이 잉여 정보는 수신 심볼과 결합하여 다음 단의 MAP 복호기(23, 21)에서 좀 더 신뢰도가 높은 LLR을 계산할 수 있도록 도와준다. 이러한 복호 과정을 반복함으로써 복호기의 연판정 결과값의 신뢰도가 점점 높아지게 되어 오류 정정 능력이 향상된다.As shown in FIG. 2, a
터보 복호기(20)의 핵심 연산 블록인 MAP 복호기(21, 23)의 일반적인 동작은 다음과 같다. MAP 복호기(21, 23)의 중요 요소에는 가지 메트릭 연산, 순방향 상태 메트릭 연산, 역방향 상태 메트릭 연산 및 가능도비(LLR;Log Likelihood Ratio) 연산이 있다. The general operation of the
가지 메트릭은 트렐리스 상에서 현재 시점에서 다음 시점으로 천이될 확률적 가중치로써 수신 심볼과 전단 MAP 복호기에서 계산되어진 잉여 정보 등을 이용하여 얻을 수 있다. The branch metric may be obtained using the received symbol and the surplus information calculated in the front end MAP decoder as a probabilistic weight to be shifted from the current time to the next time on the trellis.
순방향 상태 메트릭은 시간 0인 시점부터 시작하여 시간 N인 시점까지 모든 상태에 대한 확률적 가중치로써 이전 순방향 상태 메트릭과 현재의 가지 메트릭을 이용하여 현재 시점의 순방향 상태 메트릭을 계산한다.The forward state metric calculates the forward state metric at the present time by using the previous forward state metric and the current branch metric as probabilistic weights for all states starting from time 0 and time N.
역방향 상태 메트릭은 시간 N인 시점부터 시작하여 시간 0인 시점까지 모든 상태에 대한 확률적 가중치로써 이전 역방향 상태 메트릭과 현재 시점의 가지 메트릭을 이용하여 현재의 역방향 상태 메트릭을 계산한다. The reverse state metric calculates the current reverse state metric by using the previous reverse state metric and the branch metric of the current time as probabilistic weights for all states starting from the time point N until time 0.
LLR은 앞서 계산된 가지 메트릭, 순방향 상태 메트릭, 역방향 상태 메트릭을 이용하여 구할 수 있다.The LLR can be obtained by using the branch metric, the forward state metric, and the reverse state metric previously calculated.
이러한 과정을 하드웨어로 구현하기 위한 일반적인 방법은 다음과 같다. The general method for implementing this process in hardware is as follows.
MAP 복호기(20)의 동작은 크게 가지 메트릭 연산부, 순방향 상태 메트릭 연산부, 역방향 상태 메트릭 연산부, 그리고 LLR 연산부로 구분된다. LLR 연산부는 복호된 연판정 값을 출력한다. The operation of the
LLR 연산부 출력을 얻기 위해 종래의 방법에서는 가지 메트릭, 순방향 상태 메트릭 연산을 수행하면서 결과 값을 메모리에 저장하고 모든 순방향 상태 메트릭 연산이 끝난 후 역방향 상태 메트릭 계산을 시작한다. 이 때, 현재 계산되어진 역방향 상태 메트릭과 미리 계산되어 저장된 순방향 상태 메트릭을 이용하여 LLR을 계산하고 그 값을 출력 버퍼에 저장한다.In order to obtain the output of the LLR operator, the conventional method performs branch metric and forward state metric operations, stores the result value in memory, and starts calculating the reverse state metric after all forward state metric operations are completed. At this time, the LLR is calculated using the currently calculated reverse state metric and the pre-calculated and stored forward state metric, and the value is stored in the output buffer.
그러나, 종래의 터보 복호기는 차세대 이동 통신에서 요구되는 고속의 데이터 처리를 충족할 수 없다.However, conventional turbo decoders cannot satisfy the high speed data processing required in next generation mobile communication.
본 발명은 상기와 같은 문제점을 해결하고자 하는 것으로, 본 발명이 이루고자 하는 기술적 과제는 한 개의 MAP 복호기를 사용하면서 복호 시간을 단축시킬 수 있는 터보 복호화기 장치 및 방법을 제공하기 위한 것이다.The present invention is to solve the above problems, the technical problem to be achieved by the present invention is to provide a turbo decoder apparatus and method that can reduce the decoding time while using a single MAP decoder.
이러한 과제를 해결하기 위해 본 발명에서는 송신단으로부터 터보 코드에 의해 부호화하여 전송되는 송신 심볼을 복호화하기 위한 터보 복호화 장치가 제공된다.In order to solve this problem, the present invention provides a turbo decoding apparatus for decoding a transmission symbol encoded and transmitted by a turbo code from a transmitter.
본 발명의 하나의 특징에 따른 터보 복호화 장치는 순방향 상태 메트릭과 역방향 상태 메트릭에 대한 연산을 동시에 수행하여 심볼에 대한 터보 복호에 의하여 하나의 클럭 당 하나의 대수우도비를 계산하는 MAP 복호기; 상기 MAP 복호기의 복호 시에 입력 및 출력을 조정하는 다중화기; 역다중화기로부터 출력된 값을 다음 복호시 적용되는 심볼의 순서와 일치시키는 인터리버/디인터리버; 상기 MAP 복호기로부터 복호한 후 계산된 대수우도비를 디인터리빙하는 디인터리버; 및 상기 디인터리버로부터 출력된 값에 기초하여 상기 최종 복호 비트를 추정하는 경판정기를 포함한다. 이 때, MAP 복호기는, 수신 심볼열에 대해 0부터 N까지 번호를 부여한 후, 상기 수신 심볼에 대한 순방향 상태 메트릭 연산과 역방향 상태 메트릭 연산을 병렬로 수행하고, 그 결과값을 각각 저장하여 시간 N/2인 시점부터 대수우도비 연산을 수행하는 상단 연산부; 및 상기 시간 0부터 N/2-1인 시점까지만 대수우도비 연산을 수행하는 하단 연산부를 포함한다. 그리고 상기 상단 연산부와 상기 하단 연산부는 상하 대칭 구조일 수 있다.According to one aspect of the present invention, a turbo decoding apparatus includes: a MAP decoder configured to simultaneously perform operations on a forward state metric and a reverse state metric to calculate one large likelihood ratio per clock by turbo decoding on a symbol; A multiplexer for adjusting inputs and outputs when decoding the MAP decoder; An interleaver / deinterleaver that matches the value output from the demultiplexer with the order of symbols applied in the next decoding; A deinterleaver for deinterleaving the calculated likelihood ratio after decoding from the MAP decoder; And a hard determiner that estimates the final decoding bit based on the value output from the deinterleaver. At this time, the MAP decoder assigns a number from 0 to N to the received symbol string, and then performs forward state metric operation and reverse state metric operation on the received symbol in parallel, and stores the result value, respectively, to store time N / N. An upper operation unit performing an algebraic likelihood ratio operation from a time of two; And a lower operation unit performing an algebraic likelihood ratio operation only from the time 0 to the point N / 2-1. The upper operation unit and the lower operation unit may have a vertically symmetrical structure.
그리고 상기 상단 연산부는, 순차적으로 입력되는 상기 수심 심볼에 대한 가지 메트릭 연산을 수행하는 상단 가지 메트릭 연산부; 상기 상단 가지 메트릭 연산부의 결과값을 입력받아 순방향 상태 메트릭을 계산하는 순방향 상태 메트릭 연산부; 상기 수신 심볼 0부터 N/2-1에 해당하는 상기 순방향 상태 메트릭 연산부의 출력값을 저장하는 제1 메모리; 및 상기 수신 심볼 N/2부터 N까지에 대한 상기 순방향 상태 메트릭 연산부의 출력값을 입력받아 N/2 시점부터 동작하여 대수우도비 연산을 수행하는 상단 대수우도비 연산부를 포함한다.The upper calculating unit may include: an upper branch metric calculating unit which performs branch metric calculation on the sequentially input depth symbols; A forward state metric calculator which receives a result value of the upper branch metric calculator and calculates a forward state metric; A first memory configured to store an output value of the forward state metric calculator corresponding to the received symbols 0 to N / 2-1; And an upper log likelihood ratio calculator configured to receive an output value of the forward state metric calculator for the received symbols N / 2 to N and operate from N / 2 time points to perform algebraic likelihood ratio calculation.
또한, 상기 하단 연산부는, 역순으로 입력되는 상기 수신 심볼에 대한 가지 메트릭 연산을 수행하는 하단 가지 메트릭 연산부; 상기 하단 가지 메트릭 연산부의 결과값을 입력받아 역방향 상태 메트릭을 수행하는 역방향 상태 메트릭 연산부; 상기 수신 심볼 N부터 N/2에 해당하는 상기 역방향 상태 메트릭 연산부의 출력값을 저장하는 제2 메모리; 및 상기 수신 심볼 N/2-1부터 0까지에 대한 상기 역방향 상태 메트릭 연산부의 출력값을 입력받아 N/2시점부터 동작하여 대수우도비 연산을 수행하는 하단 대수우도비 연산부를 포함한다.The lower end calculating unit may further include a lower branch metric calculating unit configured to perform branch metric operations on the received symbols input in a reverse order; A reverse state metric calculator for receiving a result value of the lower branch metric calculator and performing a reverse state metric; A second memory configured to store an output value of the reverse state metric calculator corresponding to the received symbols N to N / 2; And a lower algebraic likelihood ratio calculator configured to receive an output value of the reverse state metric calculator for the received symbols N / 2-1 to 0 and operate from N / 2 time point to perform algebraic likelihood ratio calculation.
그리고 상기 MAP 복호기는, 상기 순방향 상태 메트릭 및 상기 역방향 상태 메트릭을 동시에 수행할 수 있다.The MAP decoder may simultaneously perform the forward state metric and the reverse state metric.
그리고 상기 상단 대수우도비 연산부는, 상기 수신 심볼 N/2부터 N까지에 대한 상기 순방향 상태 메트릭 연산부의 출력값과 상기 제2 메모리에 저장된 값 및 상기 상단 가지 메트릭 연산부의 출력값에 기초하여 대수우도비 연산을 수행할 수 있고, 상기 하단 대수우도비 연산부는, 수신 심볼 N/2-1부터 0까지에 대한 상기 역방향 상태 메트릭 연산부의 출력값과 상기 제1 메모리에 저장된 값 및 상기 하단 가지 메트릭 연산부의 출력값에 기초하여 대수우도비 연산을 수행할 수 있다.The upper likelihood ratio calculator is configured to calculate a logarithm likelihood ratio based on an output value of the forward state metric calculator for the received symbols N / 2 to N, a value stored in the second memory, and an output value of the upper branch metric calculator. The lower algebraic likelihood ratio calculator may be configured to output values of the reverse state metric calculator for received symbols N / 2-1 to 0, values stored in the first memory, and output values of the lower branch metric calculator. Algebra likelihood ratio calculation can be performed based on the above.
그리고 터보 복호화 장치는 상기 MAP 복호기로부터의 출력을 저장하는 제1 및 제2 메모리부를 더 포함할 수 있다. 이 때, 첫 번째 복호 수행시, 수신되는 심볼과 상기 제2 메모리부에 저장된 값을 더한 값이 입력되고, 두 번째 복호 수행시, 상기 제1 메모리에 저장된 값이 입력될 수 있다.The turbo decoding apparatus may further include first and second memory units for storing the output from the MAP decoder. In this case, a value obtained by adding a received symbol and a value stored in the second memory unit may be input when the first decoding is performed, and a value stored in the first memory may be input when the second decoding is performed.
그리고 상기 다중화기는, 상기 MAP 복호기의 입력을 조정하는 제1 및 제2 다중화기; 및 상기 MAP 복호기의 출력을 조정하는 제3 다중화기를 포함할 수 있다. 이 때, 상기 MAP 복호기는 제1 및 제2 다중화기로부터 입력되는 값을 입력받아 대수우도비를 출력할 수 있다. 그리고 상기 MAP 복호기로부터 출력된 대수우도비는, 상기 제3 다중화기로 입력될 수 있다. 또한, 상기 제3 다중화기는 상기 대수우도비에서 사전 정보와 수신 심볼의 합을 뺀 잉여 정보값이 상단으로 입력되고, 상기 대수우도비에서 사전 정보를 뺀 값이 하단으로 입력될 수 있다.And the multiplexer comprises: first and second multiplexers for adjusting the input of the MAP decoder; And a third multiplexer for adjusting the output of the MAP decoder. In this case, the MAP decoder may output a large likelihood ratio by receiving values input from the first and second multiplexers. The algebraic likelihood ratio output from the MAP decoder may be input to the third multiplexer. The third multiplexer may input a surplus information value obtained by subtracting the sum of the prior information and the received symbol from the algebraic likelihood ratio, and a value obtained by subtracting the dictionary information from the algebraic likelihood ratio to the bottom.
그리고 상기 MAP 복호기는 상기 MAP 복호기 앞단에 위치한 제1 다중화기로의 입력을 조정하는 제1 가산기; 및 상기 제3 다중화기로의 대수우도비 입력을 조정하는 제2 및 제3 가산기를 더 포함할 수 있다.And the MAP decoder includes: a first adder for adjusting an input to a first multiplexer located in front of the MAP decoder; And second and third adders for adjusting an algebraic likelihood ratio input to the third multiplexer.
본 발명에서는 송신단으로부터 터보 코드에 의해 부호화되어 전송되는 송신 심볼을 복호화하기 위한 터보 복호화 방법이 제공된다.The present invention provides a turbo decoding method for decoding a transmission symbol encoded and transmitted by a turbo code from a transmitter.
본 발명의 하나의 특징에 따른 터보 복호화 방법은 a) 상기 터보 코드에 의 해 부호화되어 수신된 송신 심볼을 멀티플렉싱하여 수신하는 단계; b) 상기 a)단계로부터 수신 심볼에 대한 대수우도비를 계산하고, 상기 계산된 제1 연판정 대수우도비를 연산하여 출력하는 1차 복조 단계; c) 상기 제1 대수우도비의 출력값을 조정하고, 조정된 출력값을 입력받아 제2 연판정 대수우도비를 연산하여 출력하는 2차 복조 단계; 및 d) 상기 2차 복호 후 출력된 제2 연판정 대수우도비로부터 경판정 복호값을 출력하여 복호하는 단계를 포함한다. 이 때, 상기 복호 단계마다 입력 및 출력이 조정될 수 있다.According to an aspect of the present invention, there is provided a turbo decoding method comprising the steps of: a) multiplexing and receiving a transmission symbol encoded and received by the turbo code; b) a first demodulation step of calculating a log likelihood ratio for the received symbol from step a) and calculating and outputting the calculated first soft decision log likelihood ratio; c) a second demodulation step of adjusting an output value of the first algebraic likelihood ratio, receiving an adjusted output value, and calculating and outputting a second soft decision algebraic likelihood ratio; And d) outputting and decoding the hard decision decoding value from the second soft decision large likelihood ratio output after the second decoding. At this time, input and output may be adjusted for each decoding step.
그리고 상기 b)단계 또는 c)단계에서 대수우도비 연산 결과, 상기 터보 복호를 위해 입력되는 사전 정보와, 상기 수신 심볼값 및 상기 터보 복호로부터 생성되어 다음 복호를 위한 사전 정보가 되는 잉여 정보가 출력될 수 있다.And as a result of the algebraic likelihood ratio calculation in step b) or c), the preliminary information input for the turbo decoding, the surplus information generated from the received symbol value and the turbo decoding, and the preliminary information for the next decoding are output. Can be.
그리고 상기 b)단계는, ⅰ) 상기 a)단계로부터 수신되는 입력값에 기초하여 1차 복호에 따른 제1 대수우도비를 출력하는 단계; ⅱ) 상기 제1 대수우도비의 출력값을 조정하여 멀티플렉싱하여 특정값을 출력하는 단계; 및 ⅲ) 상기 ⅱ)단계로부터 출력된 특정값을 인터리빙한 후 저장하는 단계를 포함한다.And the step b) comprises: i) outputting a first log likelihood ratio according to the first decoding based on the input value received from the step a); Ii) adjusting and multiplexing the output value of the first log likelihood ratio to output a specific value; And iv) interleaving and storing the specific value output from step ii).
또한, 상기 c)단계는, ⅳ) 상기 a)단계로부터 수신되는 입력값에 기초하여 2차 복호에 따른 제2 대수우도비를 출력하는 단계; ⅴ) 상기 제2 대수우도비의 출력값을 조정하여 멀티플렉싱하여 특정값을 출력하는 단계; 및 ⅵ) 상기 ⅴ)단계로부터 출력된 특정값을 인터리빙한 후 저장하는 단계를 포함한다.In addition, the step c), i) outputting a second log likelihood ratio according to the second decoding based on the input value received from the step a); Iv) adjusting and multiplexing the output value of the second log likelihood ratio to output a specific value; And iv) interleaving and storing the specific value output from the step iii).
그리고 상기 a) 단계에서, 상기 1차 복호와 상기 2차 복호를 위한 입력값이 각각 다르게 입력되도록 조정할 수 있다.In step a), the input values for the first decoding and the second decoding may be adjusted differently.
그리고 상기 대수우도비 연산 단계는, ⅶ) 하나의 수신 심볼열의 각 수신 심볼에 대해 수신된 순서에 따라 0부터 1씩 증가시켜 N까지 번호를 부여하고 순차적 또는 역순으로 입력되는 수신 심볼에 대해 각각 가지 메트리 연산을 수행하는 단계; ⅷ) 상기 순차적으로 입력되는 수신 심볼에 대한 가지 메트릭 연산 결과를 입력받아 순방향 상태 메트릭을 계산하고, 그와 동시에 역순으로 입력되는 수신 심볼에 대한 가지 메트릭 연산 결과를 입력받아 역방향 메트릭을 계산하는 단계; 및 ⅸ) 상기 순방향 상태 메트릭 및 역방향 메트릭 계산값에 기초하여 하나의 클럭 당 하나의 대수우도비를 계산하는 단계를 포함한다. In the algebraic likelihood ratio operation step, i) increase the number from 0 to 1 according to the received order for each received symbol of one received symbol string, number them up to N, and give the received symbols sequentially inputted in sequential or reverse order. Performing a metadata operation; Iii) calculating a forward state metric by receiving branch metric operation results of the sequentially input received symbols, and simultaneously receiving branch metric calculation results of received symbol input in reverse order and calculating a reverse metric; And iii) calculating one log likelihood ratio per clock based on the forward state metric and the reverse metric calculated value.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였다. 명세서 전체를 통하여 유사한 부분에 대해서는 동일한 도면 부호를 붙였다. DETAILED DESCRIPTION Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art may easily implement the present invention. As those skilled in the art would realize, the described embodiments may be modified in various different ways, all without departing from the spirit or scope of the present invention. In the drawings, parts irrelevant to the description are omitted in order to clearly describe the present invention. Like parts are designated by like reference numerals throughout the specification.
먼저, 본 발명의 실시예에 따른 터보 복호기에 대하여 도 3을 참고로 하여 상세하게 설명한다. 이하, 도 1에서 나타낸 3GPP 규격에 채택된 부호율 1/3인 터보 부호기에 따른 WCDMA 규격에 채택된 부호율 1/3인 터보 코드를 예로 들어서 본 발명의 구성 및 작용을 살펴보기로 한다.First, a turbo decoder according to an embodiment of the present invention will be described in detail with reference to FIG. 3. Hereinafter, the configuration and operation of the present invention will be described by taking a turbo code having a code rate of 1/3 applied to the WCDMA standard according to a turbo coder having a code rate of 1/3 adopted in the 3GPP standard illustrated in FIG. 1.
도 3은 본 발명의 실시예에 따른 터보 복호기를 나타내는 도면이다.3 is a view showing a turbo decoder according to an embodiment of the present invention.
도 3에 나타낸 바와 같이, 본 발명의 실시예에 따른 터보 복호기(100)는 하 나의 MAP 복호기(110)를 공유하여 사용한다. As shown in FIG. 3, the
본 발명의 실시예에 따른 터보 부호기(100)는 MAP 복호기(110), 가산기(112, 134, 136), 다중화기(114, 116, 118, 128), 인터리버/역인터리버(120), 역다중화기(122), 메모리(124, 126), 역인터리버(130) 및 경판정기(132)를 포함한다.
MAP 복호기(110)는 두 개의 입력값을 받아 복호 순서에 따른 입출력 값을 결정하기 위한 대수우도비를 출력한다.The
가산기(112, 134, 136)는 입력되는 값을 더하여 출력한다.The
다중화기(114, 116, 118, 128)는 입력되는 다수의 값 중 하나를 선택하여 출력으로 연결한다. 이와 같이 하여 MAP 복호기의 입력 및 출력을 조정한다.The
인터리버/역인터리버(120)는 정보의 순서를 재배열한다.The interleaver /
역다중화기(122)는 하나의 입력을 다수 개의 출력으로 연결한다.
메모리(124, 126)는 역다중화기(122)로부터 출력된 값을 저장한다.The
디인터리버(130)는 인터리버에 의해 재배열 된 정보를 원래의 정보와 같은 순서로 재배열한다. The
경판정기(132)는 최종 복호 값 출력을 결정한다.The
상기와 같이 구성된 터보 복호기(100)는 하나의 MAP 복호기(110)만을 사용하여 종래의 일반적인 터보 복호기와 동일한 동작을 하기 위해서 첫번째 복호 동작을 위한 복호기 입출력 값과 두번째 복호 동작을 위한 복호기 입출력 값은 서로 다르게 한다.The
복호 순서에 따른 입출력 값을 결정하기 위해 대수우도비에 대한 정의를 살펴보자. 대수우도비는 채널을 통과한 수신 심볼이 1일 확률값과 0일 확률값의 비에 대한 로그값으로 수학식 1로써 표현될 수 있다.Let's look at the definition of the logarithmic likelihood ratio to determine the input and output values according to the decoding order. The logarithmic likelihood ratio may be expressed as
여기서, R은 수신 심볼열을 의미하고 d는 부호화된 비트를 의미한다. Here, R denotes a received symbol string and d denotes a coded bit.
이러한 대수우도비는 수학적 정리를 거쳐 다음의 세가지 성분으로 나누어진다.This algebraic likelihood ratio is divided into three components through mathematical theorem.
여기서, 는 전단 MAP 복호기로부터 입력되는 사전 정보, 는 채널로 수신된 심볼값이고, 는 현재 MAP 복호기에서 생성된 잉여 정보로써 다음단 복호기의 사전 정보로써 활용되는 값이다.here, Preliminary information inputted from the shear map decoder, Is the symbol value received by the channel, Is the surplus information generated in the current MAP decoder and is used as dictionary information of the next stage decoder.
하나의 반복 복호 과정 중에서 첫번째 MAP 복호가 진행 될 때 MAP 복호기(110)의 입력 값은 두가지가 있는데 그 중 하나는 역다중화기(114)의 출력으로써 하단 입력을 선택하여 사전정보와 수신된 심볼들 중에서 송신단 부호기에서 부호화 되지 않은 심볼(x_k)을 더한 값으로써 역다중화기(114)의 하단 입력이고, 나머지 하나는 수신된 심볼들 중에서 제1 길쌈부호기(2)의 패리티 심볼(y_k)로써 역다중화기(116)의 상단 입력이다. When the first MAP decoding is performed in one iterative decoding process, there are two input values of the
MAP 복호기(110)는 이들 두개의 값을 입력받아 수식식 2에서 에 해당하는 대수우도비를 출력한다.
대수우도비는 두가지 형태로 처리되어 역다중화기(118)에 입력되는데 하단 입력 값은 대수우도비에서 사전 정보와 수신 심볼의 합을 뺀 잉여 정보 값이 들어가고 상단 입력 값은 대수우도비에서 사전 정보를 뺀 값 즉, 잉여 정보와 수신 심볼을 더한 값이 들어간다.The algebraic likelihood ratio is processed in two forms and is input to the
첫번째 MAP 복호 과정에서는 역다중화기(118)에 의해 상단 값을 선택하여 출력하고 다음단 복호시 적용되는 심볼의 순서와 일치시키기 위해 인터리버/디인터리버(120)에서 인터리빙된다.In the first MAP decoding process, the
두 번째 MAP 복호 과정은 송신단 부호기의 제2 길쌈 부호기(3)에 대응되는 과정이다. 두번째 MAP 복호가 진행될 때 상기 기술한 복호 과정과 유사하게 MAP 복호기(110)의 입력은 두 가지가 있는데 하나는 전단 MAP 복호(첫번째 MAP 복호) 후 저장된 값(사전 정보와 수신심볼을 더한 후 인터리빙 처리한 값)이고, 다른 하나는 수신된 심볼들 중에서 제 2길쌈부호기(3)의 패리티 심볼({y_k}')로써 역다중화기(116) 하단 입력값이다. MAP 복호기(110)는 이 두 개의 입력을 받아 제2 길쌈부호기(3)에 대응하는 복호를 수행하여 대수우도비를 출력한다. The second MAP decoding process corresponds to the second
다음단 복호에 사용될 잉여 정보를 생성하기 위해 대수우도비에서 MAP 복호기(110) 입력(사전정보와 수신심볼을 더한 값)을 뺀 다음 디인터리빙하여 제 2 메모리(122)에 저장된다.In order to generate redundant information to be used for subsequent decoding, the
최종으로 경판정 복호 값을 얻기 위해서 두번째 MAP 복호 후 생성된 연판정 대수우도비를 디인터리빙 한 후 경판정기(130)을 통과시킨다. Finally, to obtain the hard decision decoding value, after deinterleaving the soft decision algebraic likelihood ratio generated after the second MAP decoding, the
상술한 내용을 정리해 보면 MAP 복호기(110) 출력은 첫번째 MAP 복호와 두번째 MAP 복호 동작할 때와 관계 없이 동일하게 대수우도비를 출력하고, 입력은 첫번째 MAP 복호가 수행될 때에는 수신된 심볼과 제 2메모리(126)에 저장된 값을 더한 값이 되고, 두번째 MAP 복호가 수행될 때에는 오직 제 1 메모리(124)에 저장된 값이다.In summary, the
MAP 복호기 출력을 약간의 연산을 거쳐 메모리에 저장하는 방법은 첫번째 MAP 복호가 수행될 때 대수우도비에서 MAP 복호기(110) 입력을 뺀 후 인터리빙하여 제 1 메모리(124)에 저장하고, 두번째 MAP 복호가 수행될 때 대수우도비에서 MAP 복호기 전단의 역다중화기(114)의 상단 입력 값을 뺀 후 디인터리빙하여 제2 메모리(126)에 저장한다.The method of storing the MAP decoder output in the memory through some operations is that when the first MAP decoding is performed, the
다음, MAP 복호기의 구조 및 동작에 대해 도 4 내지 도 5를 참조하여 상세하게 설명한다.Next, the structure and operation of the MAP decoder will be described in detail with reference to FIGS. 4 to 5.
도 4 및 도 5는 본 발명의 실시예에 따른 MAP 복호기의 구성도 및 MAP 복호기의 동작에 대한 흐름도를 나타낸 도면이다.4 and 5 are diagrams illustrating a configuration diagram of a MAP decoder and an operation of the MAP decoder according to an embodiment of the present invention.
먼저 도 4를 보면, 본 발명의 실시예에 따른 MAP 복호기는 순방향 연산부(A) 및 역방향 연산부(B)를 포함한다.First, referring to FIG. 4, a MAP decoder according to an embodiment of the present invention includes a forward operator A and a backward operator B. FIG.
순방향 연산부(A)는 상단 가지 메트릭 연산부(101), 순방향 상태 메트릭 연산부(102), 제1 메모리(103) 및 상단 대수우도비 연산부(104)를 포함한다. 그리고 역방향 연산부(B)는 하단 가지 메트릭 연산부(105), 역방향 상태 메트릭 연산부(106), 제2 메모리(107), 하단 대수우도비 연산부(104, 108)를 포함한다.The forward calculator A includes an upper branch
본 발명의 실시예에 따른 MAP 복호기(110)는 순방향 상태 메트릭 연산부 (102)와 역방향 상태 메트릭 연산부(106)을 동시에 계산하여 처리 속도를 두 배 향상시키기 위하여 상하 대칭적인 형태로 각각 순방향 상태 메트릭 연산부(102)와 역방향 상태 메트릭 연산부(106)를 각각 별도로 배치하고, 가지 메트릭 연산부(101, 105)와 대수우도비 연산부(104, 108) 및 메모리(103, 107) 각각 하나씩 추가 배치한다. 여기서, 메모리(103, 107)는 그 크기가 일반적인 구조에서 사용되는 것에 절반이므로 메모리 용량은 기존과 동일하다.The
다음, 하나의 수신 심볼열에 대해서 각각의 심볼들을 수신된 순서에 따라 0부터 1씩 증가시켜 N까지 번호를 부여한 후 MAP 복호기의 동작을 설명한다.Next, the operation of the MAP decoder will be described after incrementing each symbol from 0 to 1 according to the received order and assigning a number to N for one received symbol string.
도 4에서 윗부분의 가지 메트릭 연산부(101)에는 0부터 N까지 순차적으로 수신 심볼이 입력되어 가지 메트릭 연산이 수행되고 이와 동시에 아래부분의 가지 메트릭 연산부(105)에는 N부터 0까지 역순으로 수신 심볼이 입력되어 가지 메트릭 연산을 수행한다(S40). In FIG. 4, a branch metric operation is performed by sequentially receiving received symbols from 0 to N in the upper branch
순방향 상태 메트릭 연산부(102)에서는 가지 메트릭 연산부(101)의 결과를 입력 받아 순방향 상태 메트릭을 계산하고(S42) 0 부터 N/2-1에 대해서만 그 결과를 제 1 메모리(103)에 저장하고 그 이후부터 즉, N/2부터 N까지에 대한 연산 결과는 상단 대수우도비 연산부(104)로 보낸다.The forward state
상단 대수우도연산부(104)는 시간 0부터 N/2-1인 시점까지는 동작을 하지 않고 N/2인 시점부터 동작을 시작한다. 대수우도비 연산을 위해서는 가지메트릭, 순 방향 상태 메트릭, 역방향 상태 메트릭 세가지 값이 필요하다. 이 들은 각각 가지 메트릭 연산부(101), 순방향 상태 메트릭 연산부(102) 그리고 제 2 메모리(107)에서 입력받아 대수우도비 연산을 수행한다(S44).The upper algebraic
하단 가지 메트릭 연산부(105)에서는 수신 심볼이 N부터 0까지 역순으로 들어오고 연산 결과를 역방향 상태 메트릭 연산부(106)로 보낸다.The lower branch
역방향 상태 메트릭 연산부(106)는 가지 메트릭 연산부(105)의 결과를 입력 받아 역방향 상태 메트릭을 계산하고(S42) N부터 역순으로 N/2까지는 그 결과를 제 2 메모리(107)에 저장하고 그 이후부터 즉, N/2-1부터 0까지에 대한 연산 결과는 하단 대수우도비 연산부(108)로 보낸다.The reverse state
하단 대수우도비 연산부(108)는 시간 N부터 역순으로 N/2인 시점까지는 동작을 하지 않고 N/2인 시점부터 동작을 시작한다. 대수우도비 연산을 위해서는 가지메트릭, 순방향 상태 메트릭, 역방향 상태 메트릭 세가지 값이 필요하다. 이 들은 각각 가지 메트릭 연산부(105), 역방향 상태 메트릭 연산부(106) 그리고 제 1 메모리(103)에서 입력 받아 대수우도비 연산을 수행한다(S44).The lower algebraic likelihood
상기에 기술한 일련의 과정이 도 5에 나타나 있다.The series of processes described above is shown in FIG. 5.
도 5는 MAP 복호기의 대수우도비 연산 과정에 대한 타이밍을 나타내는 도면이다. 5 is a diagram illustrating timing of a large likelihood ratio calculation process of a MAP decoder.
도 5에 나타낸 바와 같이, 순방향 상태 메트릭의 0번째 값과 역방향 상태 메트릭의 N번째 값은 초기값으로써 복호기 동작하기 전에 미리 정해진 값들이다. 그래서 실제 계산은 순방향 상태 메트릭은 1번째부터 순차적으로 N번째까지 메트릭을 계산하고 역방향 상태 메트릭은 N-1부터 연산이 시작하여 역순으로 1번째까지 메트릭을 계산한다. 도 5에서 '가' 구간동안은 대수우도비 연산은 이루어지지 않고 각각의 상태 메트릭 연산 결과를 메모리에 저장하고, '나' 구간 동안에 대수우도비 연산이 이루어진다.As shown in Fig. 5, the 0 th value of the forward state metric and the N th value of the reverse state metric are initial values and are predetermined values before the decoder operates. Therefore, the actual calculation calculates the metric from the first state to the Nth sequentially and the forward state metric calculates the metric from the N-1 to the first in reverse order. In FIG. 5, the logarithmic likelihood ratio calculation is not performed during the 'a' period, and each state metric calculation result is stored in the memory, and the logarithm likelihood ratio calculation is performed during the 'b' period.
예를 들어 상단 대수우도비 연산 과정을 살펴보면, N/2번째 대수우도비 연산을 위해 필요한 순방향 상태 메트릭은 A_N/2이고 역방향 상태 메트릭은 B_N/2+1이다. 그런데 A_N/2는 시간 N/2인 시점에서 계산되고 B_N/2+1은 이전 시간에 이미 계산되어서 메모리에 저장되어 있으므로 N/2번째 대수우도비를 계산할 수 있다. 마찬가지로 하단 대수우도비 연산 과정은 시간 N/2인 순간에 역방향 상태 메트릭 B_N/2가 계산되고 이전 시간에 이미 A_N/2-1이 계산되어 있으므로 이 값을 메모리로부터 읽어들여 N/2-1번째 대수우도비를 계산할 수 있다. For example, in the upper algebraic ratio calculation process, the forward state metric required for the N / 2th algebraic likelihood ratio operation is A_N / 2 and the reverse state metric is B_N / 2 + 1. However, since A_N / 2 is calculated at the time N / 2 and B_N / 2 + 1 is already calculated at the previous time and stored in the memory, the N / 2th algebraic likelihood ratio can be calculated. Similarly, the lower algebraic ratio calculation process reads the value from memory since N_-1 / 2 is calculated in the reverse state metric B_N / 2 at the time N / 2 and A_N / 2-1 is already calculated at the previous time. The algebraic likelihood ratio can be calculated.
이러한 방법으로 상단 대수우도비 연산부(104)는 N/2번째부터 N번째까지의 대수우도비를 계산하고, 하단 대수우도비 연산부(108)는 0부터 N/2-1번째까지의 대수우도비를 계산한다. In this way, the upper algebraic likelihood
이상의 실시예들은 본원 발명을 설명하기 위한 것으로, 본원 발명의 범위는 실시예들에 한정되지 아니하며, 첨부된 청구 범위에 의거하여 정의되는 본원 발명의 범주 내에서 당업자들에 의하여 변형 또는 수정될 수 있다.The above embodiments are intended to illustrate the present invention, the scope of the present invention is not limited to the embodiments, it can be modified or modified by those skilled in the art within the scope of the invention defined by the appended claims. .
본 발명에 의하면, 하나의 MAP 복호기를 이용하여 터보 복호기를 구현할 수 있다. 또한, 1비트를 복호하는데 있어 복호 속도를 증가시킬 수 있는 효과가 있다.According to the present invention, a turbo decoder can be implemented using one MAP decoder. In addition, there is an effect that the decoding speed can be increased in decoding one bit.
Claims (20)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020030096771A KR100625242B1 (en) | 2003-12-24 | 2003-12-24 | Apparatus and method for turbo decoder |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020030096771A KR100625242B1 (en) | 2003-12-24 | 2003-12-24 | Apparatus and method for turbo decoder |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20050065873A KR20050065873A (en) | 2005-06-30 |
KR100625242B1 true KR100625242B1 (en) | 2006-09-19 |
Family
ID=37257023
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020030096771A KR100625242B1 (en) | 2003-12-24 | 2003-12-24 | Apparatus and method for turbo decoder |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100625242B1 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100863702B1 (en) | 2005-12-14 | 2008-10-15 | 삼성전자주식회사 | Apparatus and method for iterative detection and decoding in mimo wireless communication system |
KR100923915B1 (en) | 2005-12-16 | 2009-10-28 | 삼성전자주식회사 | Iterative detection and decoding receiver and method in multiple antenna system |
KR20070079448A (en) * | 2006-02-02 | 2007-08-07 | 삼성전자주식회사 | Iterative detection and decoding receiver and method in multiple antenna system |
-
2003
- 2003-12-24 KR KR1020030096771A patent/KR100625242B1/en active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
KR20050065873A (en) | 2005-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3640924B2 (en) | Configuration decoding apparatus and method in mobile communication system | |
US6829313B1 (en) | Sliding window turbo decoder | |
EP1022860B1 (en) | Turbo decoding with variable number of iterations | |
JP4101653B2 (en) | Scaling demodulated data in interleaver memory | |
JP5479580B2 (en) | Method and apparatus for parallel TURBO decoding in LTE | |
US20030097633A1 (en) | High speed turbo codes decoder for 3G using pipelined SISO Log-Map decoders architecture | |
US6799295B2 (en) | High speed turbo codes decoder for 3G using pipelined SISO log-map decoders architecture | |
US6999531B2 (en) | Soft-decision decoding of convolutionally encoded codeword | |
KR20010072498A (en) | Partitioned deinterleaver memory for map decoder | |
JP4227481B2 (en) | Decoding device and decoding method | |
US8112698B2 (en) | High speed turbo codes decoder for 3G using pipelined SISO Log-MAP decoders architecture | |
KR100703307B1 (en) | Turbo decoding apparatus and method | |
JP2007510337A (en) | Viterbi / Turbo integrated decoder for mobile communication systems | |
EP1471677A1 (en) | Method of blindly detecting a transport format of an incident convolutional encoded signal, and corresponding convolutional code decoder | |
US8259870B2 (en) | System and method for decoding a received data sequence | |
KR101051933B1 (en) | Metric Computation for Map Decoding Using Trellis' Butterfly Structure | |
JP2002111519A (en) | Soft input/soft output decoder used for repeated error correction decoding device | |
EP1128560B1 (en) | Apparatus and method for performing SISO decoding | |
KR100625242B1 (en) | Apparatus and method for turbo decoder | |
US7634703B2 (en) | Linear approximation of the max* operation for log-map decoding | |
CN1129257C (en) | Maximum-likelihood decode method f serial backtracking and decoder using said method | |
US7120851B2 (en) | Recursive decoder for switching between normalized and non-normalized probability estimates | |
KR101066287B1 (en) | Apparatus and method for decoding using a map algorithm in mobile communication system | |
KR100612648B1 (en) | Apparatus and method for ctc decoder | |
CN111130570A (en) | Method for applying parallel Turbo decoding algorithm in LEO |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
N231 | Notification of change of applicant | ||
E902 | Notification of reason for refusal | ||
E90F | Notification of reason for final refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20120817 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20130816 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20140820 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20150820 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20160818 Year of fee payment: 11 |
|
FPAY | Annual fee payment |
Payment date: 20170818 Year of fee payment: 12 |
|
FPAY | Annual fee payment |
Payment date: 20180820 Year of fee payment: 13 |