KR101960127B1 - 통신 시스템에서 디코딩 파라미터를 변경하는 시스템 및 방법 - Google Patents

통신 시스템에서 디코딩 파라미터를 변경하는 시스템 및 방법 Download PDF

Info

Publication number
KR101960127B1
KR101960127B1 KR1020147019575A KR20147019575A KR101960127B1 KR 101960127 B1 KR101960127 B1 KR 101960127B1 KR 1020147019575 A KR1020147019575 A KR 1020147019575A KR 20147019575 A KR20147019575 A KR 20147019575A KR 101960127 B1 KR101960127 B1 KR 101960127B1
Authority
KR
South Korea
Prior art keywords
decoder
error rate
data
bit error
stage
Prior art date
Application number
KR1020147019575A
Other languages
English (en)
Other versions
KR20140092420A (ko
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 자일링크스 인코포레이티드
Publication of KR20140092420A publication Critical patent/KR20140092420A/ko
Application granted granted Critical
Publication of KR101960127B1 publication Critical patent/KR101960127B1/ko

Links

Images

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/0045Arrangements at the receiver end
    • H04L1/0047Decoding adapted to other signal detection operation
    • H04L1/005Iterative decoding, including iteration between signal detection and decoding operation
    • H04L1/0051Stopping criteria
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • H03M13/2909Product codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3707Adaptive decoding and hybrid decoding, e.g. decoding methods or techniques providing more than one decoding algorithm for one code
    • H03M13/3715Adaptation to the number of estimated errors or to the channel state
    • 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/0002Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission rate
    • 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/0015Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy
    • H04L1/0017Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy where the mode-switching is based on Quality of Service requirement

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)

Abstract

통신 시스템은 특정 비트 에러율를 얻도록 동적으로 구성될 수 있는 반복적 다단계 디코더(170)를 포함한다. 일 실시예에서, 회로는 통신 채널을 통해 수신되는 데이터를 디코딩하기 위해 제 1 디코더 블록(158) 및 제 2 디코더 블록(159)을 포함한다. 제어 회로(171)는 특정된 비트 에러율 및 수신된 데이터의 검출된 신호 대 잡음비에 기반하여 상기 수신된 데이터를 디코딩하기 위해 상기 디코더 블록들(158, 159)에 의해 수행되는 반복 횟수를 변경할 수 있다. 상기 디코더 블록들에서 이용되는 연산 유닛들(160, 161)의 갯수는 원하는 시스템 성능을 얻기 위해 동적으로 변경될 수 있다. 일 실시예에서, 연결을 개시하는 시스템에 기반하여 자원들이 할당된다. 프로그램가능 회로들이 상기 다단계 디코더를 재구성하기 위해 일부 실시예들에서 이용된다.

Description

통신 시스템에서 디코딩 파라미터를 변경하는 시스템 및 방법{SYSTEMS AND METHODS FOR CHANGING DECODING PARAMETERS IN A COMMUNICATION SYSTEM}
본 개시의 실시예들은 집적 회로 소자(integrated circuit devices; ICs)에 관한 것이다. 보다 구체적으로, 실시예는 통신 시스템에서 디코딩 파라미터들을 변경하는 시스템 및 방법에 관한 것이다.
통신 시스템들은 정보를 전달하기 위해서 이용된다. 통신 시스템들은 하나의 전자 시스템에서 다른 전자 시스템으로 정보(예를 들면, 데이터)를 전송하기 위해 이용될 수 있다. 전송 전자 시스템은 통상 통신 채널을 통해 전송하기 위해 데이터를 처리하는 송신기를 포함한다. 수신 전자 시스템은 상기 통신 채널을 통해 수신된 신호들을 처리하는 수신기를 포함한다. 통상적으로, 하나의 전자 시스템에 의해 데이터가 발생되어 상기 송신기로 전달되며, 상기 송신기는 상기 채널을 통해 전송하기 위해 상기 데이터를 처리한다. 유사하게, 상기 수신기는 상기 수신된 신호를 처리하여 상기 데이터를 제 2 전자 시스템에 전달한다.
통신 시스템들은 통상 전송 전에 데이터를 코딩한다. 예를 들면, 수신기는 특정 코딩 방식을 이용하여 상기 데이터를 코딩할 수 있으며, 상기 데이터를 수신하는 상기 송신기는 상기 인코딩된 데이터를 복원하기 위해 디코딩 방식을 이용한다. 상기 디코딩 방식은 통상 상기 데이터를 코딩하기 위해 사용된 상기 특정 코딩 방식을 고려한다. 상기 데이터의 코딩은, 상기 통신 채널을 통해 전송하는 동안 발생할 수 있는, 상기 데이터에서의 에러들을 감소 및/또는 복원시키는데 도움이 된다.
많은 통신 응용기기들에서, 코딩 및/또는 디코딩을 위한 데이터 처리는 상기 시스템의 주요 제약조건(promary constraint)이다. 예를 들면, 셀룰러 통신 시스템에서, 많은 휴대폰 단말기들(cellular handsets)로부터의 데이터를 디코딩하기 위해 기지국이 필요할 수 있다. 따라서, 기지국에서의 디코딩은 매우 하드웨어 집중적일(hardware intensive) 수 있으며, 상기 기지국의 물리 계층 비용의 50 퍼센트 이상을 차지할 수 있다. 또한, 일부 시스템들에서 100 Mbps의 데이터 레이트들(data rates)은 차세대 시스템들에서 기가비트 레이트들로 이동하고 있다. 연산 복잡도 요구조건들은 일부 기지국들에 대한 처리 능력의 500 GOPs(여기서 "OPs"는 대략 8-비트 내지 12-비트 정밀도(precision) 변수들에서 이용된다) 정도에서 관여된다. 일반적으로, 통신 시스템에서 데이터를 디코딩하는 더 효율적인 기법들을 갖는 것이 유리할 것이다.
일 실시예에서, 방법은 비트 에러율(bit error rate)을 특정하는 단계; 수신기에서 인코딩된 데이터를 수신하는 단계; 상기 인코딩된 데이터에 대한 신호 대 잡음비(signal-to-noise ratio)를 검출하는 단계; 상기 검출된 신호 대 잡음비에 대해 상기 특정된 비트 에러율을 얻기 위해 반복적 디코딩 알고리즘에 대한 디코딩 반복 횟수를 결정하는 단계; 및 상기 수신기의 반복적 다단계 디코더(iterative multi-stage decoder)에서 상기 인코딩된 데이터를 디지털 방식으로 처리하는 단계를 포함하고, 상기 반복적 다단계 디코더는 상기 결정된 디코딩 반복 횟수에 대해 상기 반복적 디코딩 알고리즘을 수행할 수 있다.
본 실시예 및 다른 실시예들에서, 상기 방법은 상기 특정된 비트 에러율을 유지하기 위해, 상기 검출된 신호 대 잡음비에 대한 변화들에 기반하여, 상기 반복적 다단계 디코더를 재구성하는(reconfiguring) 단계를 더 포함할 수 있다.
본 실시예 및 다른 실시예들에서, 상기 반복적 다단계 디코더를 재구성하는 단계는 상기 반복적 다단계 디코더의 각 단계에서 작동하는 연산 유닛들의 갯수를 변경하는 단계를 포함할 수 있다.
본 실시예 및 다른 실시예들에서, 상기 반복적 다단계 디코더의 적어도 일부는 프로그램가능 회로(programmable circuit) 상에 구성될 수 있으며, 상기 반복적 다단계 디코더를 재구성하는 단계는, 상기 인코딩된 데이터에 대한 상기 신호 대 잡음비를 검출하는 단계에 기반하여, 연산 유닛들의 상이한 갯수로 상기 프로그램가능 회로를 부분적으로 재구성하는 단계를 포함할 수 있다.
본 실시예 및 다른 실시예들에서, 상기 연산 유닛들은 오프셋을 갖는 애드-컴페어-셀렉트(Add-Compare-Select; ACS) 작동 유닛들을 포함할 수 있다.
본 실시예 및 다른 실시예들에서, 상기 반복적 다단계 디코더는 터보 디코더(Turbo decoder)일 수 있다.
본 실시예 및 다른 실시예들에서, 상기 반복적 다단계 디코더는 저밀도 패리티 체크(Low Density Parity Check; LDPC) 디코더일 수 있다.
본 실시예 및 다른 실시예들에서, 상기 방법은 모바일 장치와 상기 수신기 간의 통신 시스템에서의 연결을 설정하는(establishing) 단계; 및 상기 연결에 대한 최소 처리량(minimum throughput)을 결정하는 단계에 있어서, 상기 최소 처리량은 상기 연결을 설정하는 상기 모바일 장치의 식별을 기반으로 하는 것을 특징으로 하는 단계를 더 포함할 수 있다.
본 실시예 및 다른 실시예들에서, 상기 연결은 상기 모바일 장치와의 제 1 연결일 수 있고, 상기 모바일 장치의 제 1 사용자는 제 1 서비스 품질(first quality of service)을 특정하는 제 1 서비스 계획(first service plan)을 가질 수 있으며, 상기 최소 비트 에러율은 상기 제 1 서비스 품질에 대응할 수 있고, 상기 방법은: 다른 모바일 장치와 기지국 간에 제 2 연결을 설정하는 단계에 있어서, 상기 제 2 무선 모바일 장치의 제 2 사용자는 제 2 서비스 품질을 특정하는 제 2 서비스 계획을 갖는 것을 특징으로 하는 단계; 상기 제 2 연결에 대한 제 2 최소 비트 에러율을 결정하는 단계에 있어서, 상기 제 2 최소 비트 에러율은 상기 연결을 설정하는 상기 다른 모바일 장치의 식별을 기반으로 하며, 상기 제 2 최소 비트 에러율은 상기 제 2 서비스 품질에 대응할 수 있는 것을 특징으로 하는 단계; 및 상기 다른 모바일 장치로부터 상기 기지국에서 수신한 디지털 데이터를 디코딩하기 위해 상기 기지국에서 상기 반복적 다단계 디코더를 구성하는 단계에 있어서, 상기 반복적 다단계 디코더는 상기 제 1 최소 비트 에러율과 상이한 상기 제 2 연결에 대한 적어도 상기 제 2 최소 비트 에러율을 얻도록 구성되는 것을 특징으로 하는 단계를 더 포함할 수 있다.
본 실시예 및 다른 실시예들에서, 상기 방법은: 상기 수신기의 제 1 디코더 블록에서 구조화(systematic) 데이터 및 제 1 패리티 비트들을 수신하는 단계에 있어서, 상기 제 1 패리티 비트들은 제 1 코딩 알고리즘을 이용하여 상기 구조화 데이터를 코딩함으로써 발생될 수 있는 것을 특징으로 하는 단계; 및 상기 수신기의 제 2 디코더 블록에서 인터리브(interleaved) 구조화 데이터 및 제 2 패리티 비트들을 수신하는 단계에 있어서, 상기 제 1 패리티 비트들 및 상기 제 2 패리티 비트들이 실질적으로 상호 관련되지 않도록, 상기 제 1 코딩 알고리즘을 사용하여 전송 전에 인터리브 구조화 데이터를 코딩함으로써 상기 제 2 패리티 비트들이 발생되는 것을 특징으로 하는 단계를 더 포함할 수 있다.
회로의 일 실시예는: 인코딩된 데이터를 수신하고 상기 인코딩된 데이터에 대한 신호 대 잡음비을 검출하며, 상기 검출된 신호 대 잡음비에 대해 특정된 비트 에러율을 얻기 위해 반복적 디코딩 알고리즘에 대한 디코딩 반복 횟수를 결정하도록 구성된 수신기에 있어서, 상기 수신기는: 상기 결정된 디코딩 반복 횟수에 대해 상기 반복적 디코딩 알고리즘을 수행하도록 구성된 디코더; 및 상기 디코더에 결합되고, 상기 디코더에 의해 수행되는 반복 횟수를 변경하도록 구성되는 제어 회로를 포함할 수 있는 것을 특징으로 하는, 수신기를 포함할 수 있다.
본 실시예 및 다른 실시예들에서, 상기 디코더는: 구조화 데이터 및 제 1 패리티 비트들을 수신하도록 구성된 제 1 디코더 블록에 있어서, 상기 제 1 패리티 비트들은 제 1 코딩 알고리즘을 이용하여 상기 구조화 데이터를 코딩함으로써 발생되는 것을 특징으로 하는 제 1 디코더 블록; 및 인터리브 구조화 데이터 및 제 2 패리티 비트들을 수신하도록 구성된 제 2 디코더 블록에 있어서, 상기 제 2 패리티 비트들은, 상기 제 1 패리티 비트들 및 상기 제 2 패리티 비트들이 실질적으로 상호 관련되지 않도록, 상기 제 1 코딩 알고리즘을 이용하여 전송 전에 상기 인터리브 구조화 데이터를 코딩함으로써 발생될 수 있는 것을 특징으로 하는 제 2 디코더 블록을 더 포함할 수 있다.
본 실시예 및 다른 실시예들에서, 상기 제어 회로는, 상기 특정된 비트 에러율을 유지하기 위해, 상기 검출된 신호 대 잡음비에 대한 변화들에 기반하여 상기 제 1 디코더 블록 및 상기 제 2 디코더 블록을 재구성할 수 있다.
본 실시예 및 다른 실시예들에서, 상기 제 1 디코더 블록은 제 1 복수의 연산 유닛들을 포함할 수 있고, 상기 제 2 디코더 블록은 제 2 복수의 연산 유닛들을 포함할 수 있으며, 상기 제어 회로는 상기 제 1 및 제 2 디코더 블록들에서 작동하는 연산 유닛들의 갯수를 변경시킬 수 있다.
본 실시예 및 다른 실시예들에서, 상기 회로는 프로그램가능 회로를 포함할 수 있고, 상기 프로그램가능 회로는 상기 제 1 및 제 2 디코더 블록들에서 작동하는 연산 유닛들의 갯수를 변경시킬 수 있도록 부분적으로 재구성될 수 있다.
본 실시예 및 다른 실시예들에서, 상기 연산 유닛들은 상기 연산 유닛들을 온 및 오프시키기 위해 인에이블 회로들(enable circuits)을 포함할 수 있고, 상기 제어 회로는 상기 제 1 및 제 2 디코더 블록들에서 작동하는 상기 연산 유닛들을 온 및 오프시킨다.
본 실시예 및 다른 실시예들에서, 제 1 인터리버(first interleaver)는 상기 구조화 데이터를 수신하고 인터리브 구조화 데이터를 발생시키도록 구성될 수 있고; 제 2 인터리버는 상기 제 1 디코더 블록으로부터 상기 구조화 데이터에 대한 제 1 우도 데이터(first likelihood data)를 수신하고 인터리브 제 1 우도 데이터를 발생시키도록 구성될 수 있으며; 및 제 3 인터리버는 상기 제 1 인터리버의 역(inverse)이고, 상기 제 2 디코더 블록으로부터 상기 인터리브 구조화 데이터에 대한 제 2 우도 데이터를 수신하고 디인터리브(deinterleaved) 제 2 우도 데이터를 발생시키도록 구성될 수 있으며, 상기 제 1 디코더 블록, 상기 제 2 디코더 블록, 및 제 1, 제 2 및 제 3 인터리버들은 프로그램가능 회로 상에서 구현된다.
방법의 다른 실시예는 제 1 시스템과 제 2 시스템 간의 통신 시스템에서 연결을 설정하는 단계; 상기 연결에 대한 최소 비트 에러율을 결정하는 단계에 있어서, 상기 최소 비트 에러율은 상기 연결을 설정하는 상기 제 1 전자 시스템의 식별을 기반으로 할 수 있는 것을 특징으로 하는 단계; 및 상기 제 2 전자 시스템에서의 반복적 다단계 디코더가 상기 제 1 시스템으로부터 상기 제 2 전자 시스템에서 수신한 디지털 데이터를 디코딩하도록 구성하는 단계에 있어서, 상기 반복적 다단계 디코더는 적어도 상기 최소 비트 에러율을 얻도록 구성되는 것을 특징으로 하는 단계를 포함할 수 있다.
본 실시예 및 다른 실시예들에서, 상기 방법은 상기 연결에 대한 최소 처리량을 결정하는 단계에 있어서, 상기 최소 처리량은 상기 연결을 설정하는 상기 제 1 전자 시스템의 식별을 기반으로 하는 것을 특징으로 하는 단계를 더 포함할 수 있으며, 상기 반복적 다단계 디코더를 구성하는 단계는 상기 반복적 다단계 디코더의 각 단계에서 작동하는 연산 유닛들의 갯수를 변경하는 단계를 포함할 수 있다.
본 실시예 및 다른 실시예들에서, 상기 반복적 다단계 디코더는 프로그램가능 회로 상에 구성될 수 있고, 상기 반복적 다단계 디코더를 구성하는 단계는, 상기 최소 비트 에러율을 유지하기 위해, 연산 유닛들의 상이한 갯수로 상기 프로그램가능 회로를 부분적으로 재구성하는 단계를 포함할 수 있다.
본 실시예 및 다른 실시예들에서, 상기 제 2 시스템은 무선 기지국일 수 있고 상기 제 1 시스템은 제 1 무선 모바일 장치일 수 있으며, 상기 연결은 상기 제 1 무선 모바일 장치와의 제 1 연결일 수 있고, 여기서 상기 제 1 무선 모바일 장치의 제 1 사용자는 제 1 서비스 품질을 특정하는 제 1 서비스 계획을 가질 수 있으며, 상기 최소 비트 에러율은 상기 제 1 서비스 품질에 대응하고, 상기 방법은: 제 2 무선 모바일 장치와 무선 기지국 간에 제 2 연결을 설정하는 단계에 있어서, 상기 제 2 무선 모바일 장치의 제 2 사용자는 제 2 서비스 품질을 특정하는 제 2 서비스 계획을 갖는 것을 특징으로 하는 단계; 상기 제 2 연결에 대한 제 2 최소 비트 에러율을 결정하는 단계에 있어서, 상기 제 2 최소 비트 에러율은 상기 연결을 설정하는 상기 다른 모바일 장치의 식별을 기반으로 하며, 상기 제 2 최소 비트 에러율은 상기 제 2 서비스 품질에 대응할 수 있는 것을 특징으로 하는 단계; 및 상기 제 2 무선 모바일 장치로부터 상기 무선 기지국에서 수신한 디지털 데이터를 디코딩하기 위해 상기 무선 기지국에서 상기 반복적 다단계 디코더를 구성하는 단계에 있어서, 상기 반복적 다단계 디코더는 상기 제 1 최소 비트 에러율과 상이한 상기 제 2 연결에 대한 적어도 상기 제 2 최소 비트 에러율을 얻도록 구성되는 것을 특징으로 하는 단계를 더 포함할 수 있다.
본 실시예 및 다른 실시예들에서, 상기 반복적 다단계 디코더는 터보 디코더 또는 저밀도 패리티 체크(Low Density Parity Check; LDPC) 디코더일 수 있다.
도 1은 일 실시예에 따른, 통신 시스템에서 디코딩 파라미터들을 변경하는 단계를 도시하고 있다.
도 2는 일 실시예에 따른, 예시적인 송신 인코더 및 수신 디코더를 도시하고 있다.
도 3은 일 실시예에 따른, 동적 디코딩 기능을 가진 프로그램가능 장치를 도시하고 있다.
도 4는 다른 실시예에 따른, 상이한 서비스 품질들에 대한 디코더의 파라미터들을 변경하는 단계를 도시하고 있다.
도 5는 실시예에 따른, 상기 회로들을 구현하는 프로그램가능 장치의 블록도이다.
도 1은 일 실시예에 따른, 통신 시스템에서 디코딩 파라미터들을 변경하는 단계를 도시하고 있다. 본 명세서에 개시된 하나 이상의 실시예들은, 예를 들면, 원하는 시스템 성능 기준(system performance criteria)을 기반으로 한 수신기에서의 디코더의 반복 회수와 같은, 처리 파라미터들을 동적으로 변경하는 단계를 포함한다. 이 예에서, 송신기(151)는 인코더(152)를 포함한다. 송신기(151)는 데이터를 수신하고 인코더(152)는 특정 코딩 알고리즘(coding algorithm)을 이용하여 상기 데이터를 인코딩한다. 상기 코딩된 데이터는, 무선 채널과 같은, 통신 채널(153)을 통해 수신기(154)로 전송된다. 수신기(154)는 아날로그 프론트엔드(analog frontend, 155), 아날로그-디지털 변환기(analog-to-digital converter; "A/D", 156), 검출기(157), 및 디코더(170)를 포함한다. 디코더(170)는 디코더 블록(158) 및 디코더 블록(159)을 포함하는 반복적 다단계 디코더(iterative multi-stage decoder)이다. 예를 들면, 예시적인 반복적 다단계 디코더들은 터보 디코더들(Turbo decoders) 및 저밀도 패리티 체크(Low Density Parity Check) 디코더들을 포함한다. 아날로그 프론트엔드(155)는 상기 통신 채널(153)을 통해 신호들을 수신하며, 예를 들면, 증폭, 복조, 필터링, 또는 이득 제어와 같은, 전처리(preprocessing)를 수행한다. A/D(156)는 상기 아날로그 신호들을, 전송 전에 인코딩된, 디지털 데이터로 변환한다. 검출기(157)는 그것의 입력에서 상기 A/D(156)로부터 시계열 신호(time series signal)를 수신하고, 채널 디코딩의 준비를 위해 상기 신호를 복조 및 등화(equalize)한다. 인코딩된 디지털 데이터는 반복적 다단계 디코더(170)에서 수신된다.
하기에서 더 상세히 설명하는 바와 같이, 일부 실시예들은, 특정된 비트 에러율 및 수신된 데이터의 검출된 신호 대 잡음비에 기반하여 상기 수신된 데이터를 디코딩하기 위해, 디코더(170)에 의해 수행되는 반복 횟수를 변경하는 제어 회로(171)를 포함할 수 있다. 일 실시예에서, 비트 에러율은, 예를 들면, 수신기 작동 파라미터들의 일부로서 특정될 수 있다. 상기 인코딩된 데이터 신호가 수신기(154)에서 수신되는 경우, 상기 인코딩된 데이터 신호에 대한 신호 대 잡음비가 검출될 수 있다. 상기 수신기 시스템은, 상기 검출된 신호의 상기 신호 대 잡음비에 대해 상기 특정된 비트 에러율을 얻기 위해, 반복적 디코딩 알고리즘에 대한 디코딩 반복 횟수를 결정할 수 있다. 하기에서 더 상세히 설명하는 바와 같이, 반복적 디코더들은 더 많은 반복들로 특정 디코딩 알고리즘을 반복함으로써 향상된 비트 에러율을 얻을 수 있다. 따라서, 예를 들면, 제어 회로(171)는 반복적 다단계 디코더(170)가 낮은 신호 대 잡음비를 위해 더 많은 반복을 수행하도록 구성할 수 있으며, 제어 회로(171)는 반복적 다단계 디코더(170)가 더 높은 신호 대 잡음비를 위해 더 적은 반복을 수행하도록 구성할 수 있다. 예를 들면, 몬테카를로 시뮬레이션들(Monte-Carlo simulations)과 같은, 시뮬레이션들이 특정 비트 에러율을 유지하기 위해 상이한 신호 대 잡음비들에 필요한 상이한 디코딩 반복 횟수를 결정하는데 이용될 수 있다. 예를 들면, 특정 LDPC 디코더 구성에 대해, 28, 22, 16, 11, 7, 5, 4, 및 3회의 디코딩 반복이, 특정 비트 에러율 목표를 얻기 위해, 0.5, 0.7, 0.9, 1.1, 1.3, 1.5, 1.7, 및 1.9 Eb/No의 간격으로 신호 대 잡음비에 필요할 수 있다. 하기에서 더 상세히 설명하는 바와 같이, 레이턴시(latency) 및 처리량(throughput)은, 예를 들면, 신호 대 잡음비의 함수로서 상기 디코딩 프로세스에서 작동하는 상기 디코더 단계들에서 연산 유닛들의 갯수를 변경함으로써, 광범위한 신호 대 잡음비들에 걸쳐서 유지될 수 있다. 상기 신호 대 잡음비가 낮은 경우, 레이턴시를 줄이고 처리량을 높이기 위한 더 높은 정도의 병렬 처리를 위해 더 많은 연산 유닛들이 이용될 수 있으며, 상기 신호 대 잡음비가 더 높은 경우, 파워(power) 및 자원들을 절약하기 위해 더 적은 연산 유닛들이 이용될 수 있다.
다시 도 1을 참조하면, 반복적 다단계 디코더(170)는 디코더(158) 및 디코더(159)를 포함한다. 각 디코더 단계는 디코딩 작업들을 수행하는 연산 유닛들을 포함한다. 디코더(158)는 연산 유닛들(161A-N)을 포함하며, 디코더(159)는 연산 유닛들(160A-N)을 포함한다. 이 예에서, 상기 연산 유닛들은 오프셋을 가진 애드-컴페어-셀렉트(Add-Compare-Select; ACS) 작동 유닛들(Add-Compare-Select operational units with an offset; "ACSO")이다. 디코더(158)에서의 연산 유닛들(161A-N) 및 디코더(159)에서의 연산 유닛들(160A-N)은 반복적 디코딩 알고리즘(예를 들면, 터보 또는 LDPC)을 수행하기 위해 상기 인코딩된 데이터 신호를 디지털 방식으로 처리하는데 이용된다. 예를 들면, 결과적인 디코딩된 데이터는 상기 수신기의 출력에서 생성된다.
디코더들(158 및 159)은 제어 회로(171)에 의해 결정된 디코딩 반복 횟수에 걸쳐서 - 예를 들면, 여기서 상기 반복 횟수는 상기한 바와 같이 상기 신호 대 잡음비에 기반한다 - 실행되도록 구성될 수 있다. 특정 실시예들에 따른 반복적 다단계 디코더들은, 디코딩 결과들의 정확도를 향상시키기 위해, 상기 디코딩 프로세스의 반복들(예를 들면, 중간 결과들의 우도들(likelihoods of intermediate results)) 동안에 데이터 경로(190)에서 정보를 교환한다. 일 실시예에서, 상기 시스템은 수신된 신호의 신호 대 잡음비를 검출하고, 상기 특정된 비트 에러율을 유지하기 위해 상기 검출된 신호 대 잡음비에 대한 변화들에 기반하여 반복적 다단계 디코더(170)를 재구성한다. 예를 들면, 상기 비트 에러율이 특정되면, 제어 회로(171)는 상기 특정된 비트 에러율을 유지하기 위해 상기 검출된 신호 대 잡음비에 대한 변화들에 기반하여 디코더 블록(158) 및 디코더 블록(159)를 재구성할 수 있다. 예를 들면, 상기 신호 대 잡음비가 변경되는 경우, 반복 횟수가 변경될 수 있다. 다른 실시예에서, 상기 반복적 다단계 디코더의 각 단계에서 작동하는 연산 유닛들(160 내지 161)의 갯수는, 상기 신호 대 잡음비가 변하는 경우, 변할 수 있다. 예를 들면, 연산 유닛들(160 내지 161)은 상기 연산 유닛들을 온 및 오프시키기 위해 인에이블 회로들(미도시)을 포함할 수 있다. 예를 들면, 제어 회로(171)는 신호들을 각 유닛의 상기 인에이블 회로들에 전송하여 연산 유닛 회로 블록들을 온 및 오프시킴으로써 상기 제 1 및 제 2 디코더 블록들에서 작동하는 연산 유닛들의 갯수를 변경할 수 있다. 일 실시예에서, 예를 들면, 상기 수신기의 부분들은 프로그램가능 회로(예를 들면, 프로그램가능 논리 회로)에서 구현될 수 있고, 디코딩에 이용되는 연산 유닛들의 갯수는 상기 프로그램가능 회로를 부분적으로 재구성함으로써 변경될 수 있다.
도 2는 일 실시예에 따른, 예시적인 송신 인코더 및 수신 디코더를 도시하고 있다. 이 도시된 예에서, 송신 인코더(201)는 비트 스트림(b(n))을 수신한다. 상기 비트들이 인코더(201)의 출력을 향해 전달됨에 따라, 상기 비트들은, 본 발명이 속하는 분야의 숙련된 자들에게 익숙한 용어인, "구조화(systematic)" 데이터에 대한 "s"로 라벨링된다. 인코더(201)는 두 개의 패리티 비트 스트림들(p1 및 p2)을 생성시킨다. 상기 제 1 패리티 비트들은 코딩 알고리즘을 이용하여 구조화 비트들(s)을 인코딩함으로써 발생된다. 이 예에서, 상기 제 1 패리티 비트들은, 예를 들면, 선형 피드백 시프트 레지스터(linear feedback shift register)일 수 있는 회귀적 구조화 코더(recursive systematic coder, 210)(RSC1)를 이용하여 인코딩된다. 구조화 비트들(s)은, 제 2 패리티 비트들(p2)을 발생시키기 위해, 인터리버(211)에 의해 처리되고 다른 회귀적 구조화 코더(212)(RSC2)에 의해 인코딩된다. 이 예에서, 상기 구조화 비트들 및 상기 두 개의 패리티 비트 스트림들은, 전송을 위한 조합된 비트 스트림을 형성하기 위해, 정류자(213)에서 조합된다. 다음의 간단한 예는 상기 비트 스트림들을 예시한다:
s = [b0, b1, b2, b3, b4, b5, b6, b7, b8, ...],
p1 = [p01, p11, p21, p31, p41, p51, p61, p71, p81, ...], 및
p2 = [p02, p12, p22, p32, p42, p52, p62, p72, p82, ...].
패리티 비트들(p2)은 상기 인터리브 구조화 비트들에 대한 패리티 비트들이며, 실질적으로 패리티 비트들(p1)과 상관성이 없다. 이 예에서, 정류자(213)의 출력은 [b0, p01, p02, b1, p11, p12, ...]이다. 정류된 데이터는 상기 통신 채널(299)을 통해 전송되어 상기 수신 디코더(202)에 제공될 수 있다.
수신 디코더(202)는 상기 구조화 데이터(s), 제 1 패리티 비트들(p1), 및 제 2 패리티 비트들(p2)을 수신한다. 디코더(202)는, 디코더(220), 디코더(221), 및 인터리버들(222 내지 224)을 포함하는 터보 디코더의 예이다. 인터리버(223)는 인터리버들(211, 222, 및 224) 대비 역 인터리브 기능을 수행한다. 디코더(220)는 구조화 데이터(s), 및 제 1 패리티 비트들(p1)을 수신한다. 디코더(220)는, 이 예에서는 ACSO 유닛들인, 연산 유닛들(230A-N)을 포함한다. 유사하게, 디코더(221)는 또한 구조화 데이터 및 제 2 패리티 비트들(p2)을 수신한다. 그러나, 상기 제 2 패리티 비트들은 상기 인코더에서 인터리브 구조화 데이터를 이용하여 발생되므로, 인터리버(224)는, 디코더(221)에 의해 작동되는 상기 구조화 데이터 시퀀스가 상기 제 2 패리티 비트들(p2)에 대응하도록, 상기 구조화 데이터(s)와 디코더(221)의 입력 사이에 구성된다. 디코더(221)는 유사하게, 이 예에서 또한 ACSO 유닛들인, 연산 유닛들(231A-N)을 포함한다. 예를 들면, 디코더들(220 내지 221)은 최대 사후(maximum a posteriori; MAP) 디코더들일 수 있다.
디코더들(220 내지 221)은 구조화 데이터 입력, 패리티 비트들, 및 다른 하나의 디코더로부터의 정보를 수신한다. 이 예에서, 디코더(220)는 구조화 데이터(s), 패리티 데이터(p1), 및 디코더(221)로부터의 우도 정보를 수신한다. 디코더(220)는 각각의 수신된 구조화 데이터 비트에 대해 우도 값들을 출력한다. 유사하게, 디코더(221)는 인터리브 구조화 데이터(s'), 패리티 데이터(p2), 및 디코더(220)로부터의 우도 정보를 수신한다. 디코더(221)는 우도 값들을 출력한다. 상기 우도 값들은 각 디코더에 의해 처리된 상기 특정 구조화 비트들 각각에 대한 정보를 제공한다. 예를 들면, 우도 값들은 범위가 양 및 음의 값들 사이일 수 있다(예를 들면, 2.4, -1.74, 5.123, 1.8, -0.6, ...). 더 큰 양의 값일수록 상기 비트가 '1'일 가능성이 있다는 것을 표시할 수 있다. 더 큰 음의 값일수록 상기 비트가 '0'일 가능성이 있다는 것을 표시할 수 있다. 0에 가까운 값들은 상기 비트 값이 불확실하다는 것을 표시할 수 있다. 디코더(220)에 의해 발생된 상기 우도 값들은 인터리버(222)에 결합되며, 디코더(220)로부터의 상기 인터리브 우도 값들은 디코더(221)에 입력으로서 제공된다. 유사하게, 디코더(221)에 의해 발생된 상기 우도 값들은 인터리버(223)(인터리버(222)의 역)에 결합되며, 디코더(221)로부터의 상기 인터리브 우도 값들(또는 구조화 데이터(s)에 대해 디인터리브 값들)은 디코더(220)에 입력으로서 제공된다. 디코더(220)에 의해 발생되고 디코더(221)로 전송되는 우도 값들은 L12 e로 표시된다. 디코더(221)에 의해 발생되고 디코더(220)로 전송되는 우도 값들은 L21 e로 표시된다. 초기에, 제 1 반복시에, 디코더들(220 및 221)은 다른 하나의 디코더 단계로부터의 우도 입력들 없이 출력들을 발생시킨다. 제 2 반복시에, 다른 디코더들로부터의 우도 출력들은 각 디코더에 의해 발생된 상기 우도 값들을 향상시키기 위해 이용된다. 각 반복 시에 발생된 상기 우도 값들은 차후의 반복들의 우도 값들을 향상시키기 위해 이용된다. 추가적인 반복들은 상기 비트 에러율을 향상시키지만, 처리 시간으로 인해 레이턴시를 증가시키고 처리량을 감소시킨다.
이 예에서, 각 디코더에 의해 발생된 상기 우도 값들은 다른 하나의 디코더로부터의 상기 우도 값들에 의해 향상되지만, 상기 우도 값들은 단지 특정 반복 시에 얻은 새로운 정보를 나타낼 뿐이다. 우도 값들의 표시에서 "e"는 상기 우도 값들에 의해 표시되는 외부 정보를 의미한다. 예를 들면, 일 실시예에서, 우도 값들은 디코더에 의해 발생되고, 상기 입력 우도 값들은 상기 새로운(또는 외부의) 정보를 얻기 위해 상기 발생된 우도 값들에서 차감된다. 따라서, 실시예들은, 예를 들면, 오직 특정 반복 싸이클 시에 인지되었던 것만을 출력할 수 있다.
상기에서 언급한 바와 같이, 반복 횟수는 상기 비트 에러율에 영향을 미친다. 따라서, 어떤 문턱값(threshold)을 넘는 비트 에러율을 유지하기 위해 낮은 신호 대 잡음비들에 대해서는 반복을 증가시키는 것이 바람직할 것이다. 일 실시예에서, 상기 반복 횟수는 상기 신호 대 잡음비에 기반하여 설정되고, 디코더(202)는 상기 설정된 반복 횟수를 실행한다. 일 실시예에서, 싸이클 중복 체크(cycle redundancy check; CRC)가 각 반복 후에 실시될 수 있다. 예를 들면, 상기 데이터가 상기 CRC를 통과하면, 상기 시스템은 상기 설정된 반복 횟수에 이르기 전에 반복을 종료할 수 있다. 상기 반복 싸이클들이 완료되는 경우, 상기 우도 값들은 디코더(220)의 출력에서 제공된다.
도 3은 일 실시예에 따른, 동적 디코딩 기능을 가진 프로그램가능 장치를 도시하고 있다. 일 실시예에서, 디코더들은 프로그램가능 장치(350) 상에 구현될 수 있다. 터보(Turbo) 디코더들 및 LDPC 디코더들과 같은, 반복적 다단계 디코더들은, 예를 들면, 트렐리스(trellis)의 다수의 노드들에 걸쳐 동일한 계산들을 수행할 수 있다. 따라서, 그러한 회로들은 상기에서 언급한 동일한 연산 유닛들의 많은 인스턴스들을 가질 수 있다. 특정 실시예들에서, 연산 유닛들의 수를 변경하는 단계는, 상기한 바와 같이, 상기 연산 유닛들을 온 및 오프시키는 단계, 또는 상기 프로그램가능 장치를 부분적으로 재구성하는 단계를 포함할 수 있다. 다른 실시예에서, 블록들(301 및 302)은, 예를 들면, 프로세서 상의 소프트웨어 루틴들로서 구현될 수 있으며, 그러한 블록들의 상이한 갯수들은 소프트웨어 루틴들에 대한 호출(call)을 통해 액세스된다. 이 예는 프로그램가능 장치(350) 상에 ACSO 연산 유닛들(301 내지 302)의 특정 구현예를 예시하고 있다. ACSO(301)는 가산기들(adders; 310 내지 313), 멀티플렉서(315), 및 룩업 테이블(314)을 포함한다. 터보 코드를 구현하는 디코더들은, 예를 들면, 트렐리스(trellis)에 걸쳐서 값들을 처리하기 위해 많은 ACSO 유닛들을 필요로 할 수 있다. 가산기(310)는 이전 반복으로부터 제 1 분기 확률(first branch probability, Gk0) 및 순방향 상태 메트릭(forward state metric, Ak -1,0)을 수신하고, 가산기(311)는 이전 반복으로부터 상이한 분기 확률(Gk1) 및 순방향 상태 메트릭(Ak -1,1)을 수신한다. 상기 오프셋은 순방향 상태 확률(forward state probability, Ak)을 발생시키기 위한 보정 계수로서 제공된다.
도 4는 다른 실시예에 따른, 상이한 서비스 품질들에 대한 디코더의 파라미터들을 변경하는 단계를 도시하고 있다. 서비스 품질은 셀룰러 통신을 이용한 예의 맥락에서 설명된다. 예를 들면, 무선 모바일 장치들(예를 들면, 휴대 전화들(490A-N))은, 무선 통신 시스템에서, 하나 이상의 수신 채널들(410)을 포함하는 기지국과의 연결을 설정할 수 있다. 더욱 더 많은 휴대 전화들이 상기 기지국 채널을 액세스할수록, 디코딩 자원들에 대한 수요는 상승한다. 일부 예들에서, 일부 고객들에 대해 최소 비트 에러율을 보장하는 것이 바람직할 수 있다. 고객들은, 예를 들면, 최소 비트 에러율 및/또는 처리량을 보장할 수 있는 기지국들을 운영하는 무선 통신 사업자들(wireless carriers)과 함께 하는 서비스 계획들(service plans)에 대해 요금을 지불할 수 있다. 상기 기지국 수신 채널에서의 상기 디코더는 사이트(site)를 운영하는 셀룰러 사업자들과 맺은 계약(agreements)에 기반하여 상이한 고객들에게 상이한 작동 파라미터들(operating parameters)을 제공하도록 변경될 수 있다. 일 실시예에서, 휴대 전화와 상기 기지국 간에 연결이 설정된 경우, 상기 기지국은 상기 연결을 설정한 상기 휴대 전화의 식별자(identification)를 결정한다. 예를 들면, 상기 수신 채널(410)은 상기 휴대 전화의 식별자를 결정할 수 있다. 상기 휴대 전화의 상기 식별자를 이용하여, 상기 기지국은 상기 연결을 설정한 상기 휴대폰의 상기 식별자에 기반하여(예를 들면, 상기 휴대 전화 ID와 연관된 작동 파라미터들에 기반하여) 최소 비트 에러율을 결정할 수 있다. 수신 채널(410)은 아날로그 프론트엔드(analog frontend, 411), A/D(412), 검출기(413), 및 반복적 다단계 디코더(414)를 포함한다. ID 블록(415)은 상기 호출(call)을 설정하는 상기 휴대 전화를 결정하고 디코더(414)를 구성하는 파라미터들을 검색할(retrieve) 수 있다. 제어 회로(416)는 ID 블록(415)으로부터 상기 디코더 파라미터들을 수신할 수 있고, 상기 디코더가, 예를 들면, 상기 호출자의 계획에 의해 미리 규정된(prescribed) 특정 최소 비트 에러율을 성취하기 위해 필요한 반복을 수행하도록 구성할 수 있다. 수신 채널(410)은, 예를 들면, 호출자의 계획 요구조건들을 충족시키는데 필요한 반복을 설정하기 위해 신호 대 잡음비를 검출할 수 있다. 일 실시예에서, 상기 연결을 설정한 상기 휴대 전화에 대한 최소 처리량이 결정된다. 상기 최소 처리량은 최대 레이턴시와 동등하다는 것을 이해해야 할 것이며, 상기 시스템은 상기 디코더의 파라미터들을 조절함으로써 어느 하나를 설정할 수 있다. 상기 최소 처리량 요구조건은 또한, 예를 들면, 상기 연결을 설정하는 상기 휴대 전화를 식별함으로써 결정될 수 있다. 상기 반복적 다단계 디코더(414)는, 상기 디코더의 각 단계에서 작동하는 연산 유닛들의 갯수를 변경함으로써, 상이한 처리량 요구조건들을 충족시키도록 변경될 수 있다. 상기한 바와 같이, 연산 유닛들은 (예를 들면, 주문형 반도체(application specific integrated circuit; ASIC)에서의) 인에이블 회로들을 통해 온 및 오프될 수 있다. 대안적으로, 디코더(414)는 프로그램가능 회로 상에서 전체로서 또는 일부로서 구현될 수 있으며, 추가적인 또는 더 적은 연산 유닛들이, (예를 들면, 상기 휴대 전화를 식별함으로써 상기 처리량 요구조건이 결정된 후에) 상기 프로그램가능 회로를 부분적으로 재구성함으로써, 상기 디코더 내로 통합될 수 있다. 따라서, 제 1 휴대 전화(490A)는 기지국 수신 채널(410)과 연결을 설정할 수 있고, 상기 휴대 전화가 식별되며, 및 최소 비트 에러율 또는 처리량은, 제 1 반복들 및 연산 유닛들의 제 1 갯수로 상기 디코더(414)를 프로그래밍함으로써, 설정된다. 예를 들면, 제 2 휴대 전화(490B)는 기지국 수신 채널(410)과 다른 연결을 설정할 수 있고, 상기 제 2 휴대 전화가 식별되며, 및 상이한 최소 비트 에러율 또는 상이한 처리량이, 제 2 반복들 및 연산 유닛들의 제 2 갯수로 상기 디코더(414)를 프로그램밍함으로써, 설정된다. 상기 제 1 휴대 전화가 식별되는 경우, 프로그램가능 회로는, 상기 디코더가 최소 비트 에러율을 보장하기에 충분한 반복 횟수를 수행하도록, 부분적으로 재구성된다. 상기 프로그램가능 회로는 최소 처리량(최대 레이턴시)을 충족시키는데 필요한 연산 유닛들의 수를 포함하도록 부분적으로 재구성될 수 있다. 상기 제 2 휴대 전화가 식별되는 경우, 상기 프로그램가능 회로는, 상기 디코더가 상이한 최소 비트 에러율을 보장하기에 충분한 상이한 반복 횟수를 수행하도록, 부분적으로 재구성될 수 있다. 상기 프로그램가능 회로는 상이한 최소 처리량을 충족시키는데 필요한 더 적은 또는 추가적인 연산 유닛들을 포함하도록 부분적으로 재구성될 수 있다. 상기 예는 무선 셀룰러 네트워크를 대상으로 한 예시적 응용을 보여주고 있지만, 상기 기법은 다른 통신 시스템들에서 다른 전자 장치들 간의 연결들에 적용가능함을 이해해야 할 것이다.
FPGA들은 한 어레이에 여러 가지 상이한 유형의 프로그램가능 블록들을 포함할 수 있다. 다음은 상기에 설명한 디코더 성능을 변경하는 프로세스 및 회로들을 구현하는데 이용될 수 있는 프로그램가능 장치의 일 예를 예시한다. FPGA는 디코딩을 수행하기 위한 추가적인 또는 더 적은 연산 유닛들을 포함하도록 부분적으로 재구성될 수 있다. 도 5의 예는 멀티-기가비트 송수신기들(multi-gigabit transceivers; MGTs, 101), 구성가능 논리 블록들(configurable logic blocks; CLBs, 102), 랜덤 액세스 메모리 블록들(random access memory blocks; BRAMs, 103), 입/출력 블록들(input/output blocks; IOBs, 104), 구성 및 클록킹 논리(configuration and clocking logic; CONFIG/CLOCKS, 105), 디지털 신호 처리 블록들(digital signal processing blocks; DSPs, 106), 특수 입/출력 블록들(specialized input/output blocks; I/O, 107)(예를 들면, 구성 포트들(configuration ports) 및 클록 포트들, 및 디지털 클록 매니저들, 아날로그-디지털 변환기들, 및 시스템 모니터링 논리 등과 같은 기타 프로그램가능 블록들(108)을 포함하는 다수의 상이한 프로그램가능 타일들(tiles)을 포함하는 FPGA 구조(100)를 도시하고 있다. 일부 FPGA들은 또한 전용(dedicated) 프로세서 블록들(PROC, 110)도 포함한다.
일부 FPGA들에서, 각 프로그램가능 타일은 각 인접 타일에서 대응하는 상호연결 요소로의 및 상호연결 요소로부터의 표준화된 연결들을 갖는 프로그램가능 상호연결 요소(INT, 111)을 포함한다. 따라서, 상기 프로그램가능 상호연결 요소들은 모두 합쳐서 상기 도시한 FPGA에 대한 프로그램가능 상호연결 구조를 구현한다. 도 5의 상단에 포함된 예들로 나타낸 바와 같이, 상기 프로그램가능 상호연결 요소(INT, 111)는 또한 동일한 타일 내에서 상기 프로그램가능 요소로의 및 상기 프로그램가능 요소로부터의 연결들을 포함할 수 있다.
예를 들면, CLB(102)는 단일의 프로그램가능 상호연결 요소(INT, 111) 뿐만 아니라 사용자 논리를 구현하도록 프로그래밍될 수 있는 구성가능 논리 요소(configurable logic element; CLE, 112)를 포함할 수 있다. BRAM(103)은 하나 이상의 프로그램가능 상호연결 요소들에 부가하여 BRAM 논리 요소(BRAM logic element; BRL)를 포함할 수 있다. 통상적으로, 타일에 포함되는 상호연결 요소들의 수는 상기 타일의 높이에 의존한다. 도시된 실시예에서, BRAM 타일은 다섯 개의 CLB들과 동일한 높이를 갖지만, 다른 갯수들(예를 들면, 네 개)이 또한 이용될 수 있다. DSP 타일(106)은 적절한 수의 프로그램가능 상호연결 요소들에 부가하여 DSP 논리 요소(DSP logic element; DSPL, 114)를 포함할 수 있다. IOB(104)는, 예를 들면, 상기 프로그램가능 상호연결 요소(INT)의 하나의 인스턴스(instance)에 부가하여 입/출력 논리 요소(input/output logic element; IOL, 115)의 두 개의 인스턴스들을 포함할 수 있다. 본 발명이 속하는 기술분야의 숙련된 자들에게 명백한 바와 같이, 예를 들면, 상기 I/O 논리 요소(115)에 연결되는 실제 I/O 패드들(pads)은 통상 상기 입/출력 논리 요소(115)의 면적에 국한되지 않는다.
도시된 실시예에서, 다이(die)의 중심 근처의 컬럼형 영역(도 5에서 음영표시됨)은 구성(configuration), 클록, 및 다른 제어 논리를 위해 이용된다. 이 컬럼(column)으로부터 연장되는 수평 영역들(109)은 상기 FPGA의 폭에 걸쳐서 상기 클록들 및 구성 신호들을 분배하는데 이용된다. 다른 실시예들에서, 상기 구성 논리는, 상기 다이의 코너들과 같이, 상기 FPGA 다이의 상이한 영역들에 위치할 수 있다.
도 5에 도시된 구조(architecture)를 이용하는 일부 FPGA들은 상기 FPGA의 큰 부분을 구성하는 상기 보통의 컬럼형 구조(regular columnar structure)를 방해하는 추가적인 논리 블록들을 포함한다. 상기 추가적인 논리 블록들은 프로그램가능 블록들 및/또는 전용 논리일 수 있다. 예를 들면, 도 5에 도시한 상기 프로세서 블록 PROC(110)는 CLB들 및 BRAM들의 여러 컬럼들을 포괄한다.
도 5는 단지 예시적인 FPGA 구조를 도시하고자 한 것이라는 것에 주의해야 할 것이다. 예를 들면, 컬럼에서 논리 블록들의 갯수들, 상기 컬럼들의 상태적인 폭, 컬럼들의 갯수 및 순서, 상기 컬럼들에 포함된 논리 블록들의 유형들, 상기 논리 블록들의 상대적인 크기들, 상기 어레이 내에서 상기 논리 블록들의 위치들, 및 도 5의 상단에 포함된 상기 상호연결/논리 구현예들은 순전히 예시적인 것이다. 예를 들면, 실제 FPGA에서, CLB들의 하나 초과의 인접 컬럼은 통상적으로, 사용자 논리의 효율적인 구현을 원활하게 하기 위해, 상기 CLB들이 나타날 때마다 포함되지만, 인접 CLB의 수는 상기 FPGA의 전체 크기에 따라 달라진다.
상기에 개시된 하나 이상의 실시예들은 통신 시스템들에서 사용되는 다양한 구성가능 처리 기능들에 적용가능할 것으로 생각된다. 기타 측면들 및 실시예들은 본 명세서를 숙고하고 및 본 명세서에 개시된 기법들을 실시해 보면 본 발명이 속하는 기술분야의 숙련된 자들에게 명백해질 것이다. 본 명세서 및 예시한 실시예들은 단지 예시적인 것으로 고려되어야 할 것이며, 본 발명의 진정한 범위 및 기술적 사상은 다음의 청구항들에 의해 표시될 것이다.
105: 구성/클록들 108: 기타
109: 구성/클록 분배 151: 송신기
152: 인코더 153: 채널
154: 수신기 155: 아날로그 프론트엔드
156: A/D 157: 검출기
158, 159: 디코더 170: 반복적 다단계 디코더
171: 제어 회로 201: 송신 인코더
202: 수신 디코더 220, 221: 디코더
350: 프로그램가능 논리 410: 기지국 수신 채널
411: 아날로그 프론트엔드 412: A/D
413: 검출기 414: 반복적 다단계 디코더
415: ID 416: 제어 회로
490A, 490B, ..., 490N: 휴대 전화

Claims (15)

  1. 방법에 있어서,
    수신기(154)에 의해서 비트 에러율을 특정하는(specifying) 단계;
    상기 수신기(154)에서 인코딩된 데이터를 수신하는 단계;
    상기 인코딩된 데이터에 대한 신호 대 잡음비(signal-to-noise ratio)를 검출하는 단계;
    상기 검출된 신호 대 잡음비에 대해 상기 특정된 비트 에러율을 얻기 위해 반복적 디코딩 알고리즘(iterative decoding algorithm)에 대한 디코딩 반복 횟수를 결정하는 단계;
    상기 수신기(154)의 반복적 다단계 디코더(iterative multi-stage decoder, 170)에서 상기 인코딩된 데이터를 디지털 방식으로 처리하는 단계로서, 상기 반복적 다단계 디코더(170)는 상기 반복적 디코딩 알고리즘을 상기 결정된 디코딩 반복 횟수로 수행하고, 상기 반복적 다단계 디코더(170)는 디코더 블록들(158, 159, 220, 221)을 포함하고, 상기 디코더 블록들(158, 159, 220, 221)은 제 1 디코더 블록 및 제 2 디코더 블록을 가지고, 상기 제 1 디코더 블록은 복수의 애드-컴페어-셀렉트(Add-Compare-Select; ACS) 작동 유닛들(161)을 가지며, 상기 제 2 디코더 블록은 복수의 ACS 작동 유닛들(160)을 가지는 것인, 상기 처리 단계; 및
    상기 특정된 비트 에러율을 유지하기 위해 상기 검출된 신호 대 잡음비에 대한 변화들에 기초하여 상기 반복적 다단계 디코더(170)를 재구성하는 단계
    를 포함하는 방법.
  2. 삭제
  3. 제 1 항에 있어서,
    상기 반복적 다단계 디코더(170)를 재구성하는 단계는, 상기 반복적 다단계 디코더(170)의 상기 디코더 블록들(158, 159, 220, 221) 중 하나 이상의 디코더 블록에서 작동하는 상기 ACS 작동 유닛들(160, 161)의 갯수를 변경하는 단계를 포함하는 것인 방법.
  4. 제 3 항에 있어서,
    상기 반복적 다단계 디코더(170)의 적어도 일부는 프로그램가능 회로 상에 구성되고, 상기 반복적 다단계 디코더(170)를 재구성하는 단계는, 상기 인코딩된 디지털 데이터에 대한 상기 신호 대 잡음비를 검출하는 단계에 기반하여 상이한 갯수의 상기 ACS 작동 유닛들(160, 161)로 상기 프로그램가능 회로를 부분적으로 재구성하는 단계를 포함하는 것인 방법.
  5. 제 1 항, 제 3 항 및 제 4 항 중 어느 한 항에 있어서,
    상기 ACS 작동 유닛들은 순방향 상태 확률(forward state probability)을 발생시키는 보정 계수(correction factor)를 포함하는 것인 방법.
  6. 제 1 항, 제 3 항 및 제 4 항 중 어느 한 항에 있어서,
    모바일 장치(490A)와 수신기(410) 간의 통신 시스템에서의 연결을 설정하는(establishing) 단계; 및
    상기 연결에 대한 최소 처리량(minimum throughput)을 결정하는 단계
    를 더 포함하고,
    상기 최소 처리량은 상기 연결을 설정하는 상기 모바일 장치(490A)의 식별(identification)을 기반으로 하는 것인 방법.
  7. 제 6 항에 있어서,
    상기 연결은 상기 모바일 장치(490A)와의 제 1 연결이고, 상기 모바일 장치(490A)의 제 1 사용자는 제 1 서비스 품질을 특정하는 제 1 서비스 계획을 가지고, 상기 제 1 서비스 품질에 제 1 최소 비트 에러율이 대응하고,
    상기 방법은,
    제 2 무선 모바일 장치(490B) - 상기 제 2 무선 모바일 장치(490B)의 제 2 사용자는 제 2 서비스 품질을 특정하는 제 2 서비스 계획을 가짐 - 와 기지국 간에 제 2 연결을 설정하는 단계;
    상기 제 2 연결에 대한 제 2 최소 비트 에러율 - 상기 제 2 최소 비트 에러율은 상기 연결을 설정하는 상기 제 2 무선 모바일 장치(490B)의 식별을 기반으로 하고, 상기 제 2 최소 비트 에러율은 상기 제 2 서비스 품질에 대응함 - 을 결정하는 단계; 및
    상기 제 2 무선 모바일 장치(490B)로부터 상기 기지국에서 수신한 디지털 데이터를 디코딩하기 위해 상기 기지국에서 상기 반복적 다단계 디코더(170, 414)를 구성하는 단계
    를 더 포함하고,
    상기 반복적 다단계 디코더(170, 414)는 상기 제 1 최소 비트 에러율과는 상이한 상기 제 2 연결에 대한 적어도 상기 제 2 최소 비트 에러율을 얻도록 구성되는 것인 방법.
  8. 제 1 항, 제 3 항 및 제 4 항 중 어느 한 항에 있어서,
    수신기(202)의 상기 제 1 디코더 블록(220)에서 구조화(systematic) 데이터(s) 및 제 1 패리티 비트들(p1) - 상기 제 1 패리티 비트들(p1)은 제 1 코딩 알고리즘을 이용하여 상기 구조화 데이터(s)를 코딩함으로써 발생됨 - 을 수신하는 단계; 및
    상기 수신기(202)의 상기 제 2 디코더 블록(221)에서 인터리브(interleaved) 구조화 데이터(s') 및 제 2 패리티 비트들(p2)을 수신하는 단계
    를 더 포함하고,
    상기 제 1 패리티 비트들(p1) 및 상기 제 2 패리티 비트들(p2)이 실질적으로 상호 관련되지 않도록, 상기 제 1 코딩 알고리즘을 사용하여 전송 전에 인터리브 구조화 데이터(s')를 코딩함으로써 상기 제 2 패리티 비트들(p2)이 발생되는 것인 방법.
  9. 회로에 있어서,
    인코딩된 데이터를 수신하고 상기 인코딩된 데이터에 대한 신호 대 잡음비를 검출하며, 상기 검출된 신호 대 잡음비에 대해 특정된(specified) 비트 에러율을 얻기 위해 반복적 디코딩 알고리즘에 대한 디코딩 반복 횟수를 결정하도록 구성된 수신기(154)를 포함하고,
    상기 수신기(154)는,
    상기 반복적 디코딩 알고리즘을 상기 결정된 디코딩 반복 횟수로 수행하도록 구성된 반복적 다단계 디코더(170); 및
    상기 반복적 다단계 디코더(170)에 결합되고, 상기 반복적 다단계 디코더(170)에 의해 수행되는 반복 횟수를 변경하도록 구성되는 제어 회로(171)
    를 포함하고,
    상기 반복적 다단계 디코더(170)는 제 1 디코더 블록(158, 220) 및 제 2 디코더 블록(159, 221)을 포함하고, 상기 제 1 디코더 블록(158)은 제 1 복수의 애드-컴페어-셀렉트(Add-Compare-Select; ACS) 작동 유닛들(161)을 포함하며, 상기 제 2 디코더 블록(159, 221)은 제 2 복수의 ACS 작동 유닛들(160)을 포함하고,
    상기 제어 회로(171)는, 상기 특정된 비트 에러율을 유지하기 위해 상기 검출된 신호 대 잡음비에 대한 변화들에 기초하여 상기 제 1 디코더 블록(158, 220) 및 상기 제 2 디코더 블록(159, 221)을 재구성하는 것인, 회로.
  10. 제 9 항에 있어서,
    상기 제 1 디코더 블록(158, 220)은 구조화 데이터(s) 및 제 1 패리티 비트들(p1)을 수신하도록 구성되고, 상기 제 1 패리티 비트들(p1)은 제 1 코딩 알고리즘을 이용하여 상기 구조화 데이터(s)를 코딩함으로써 발생되고,
    상기 제 2 디코더 블록(159, 221)은 인터리브 구조화 데이터(s') 및 제 2 패리티 비트들(p2)을 수신하도록 구성되고, 상기 제 2 패리티 비트들(p2)은, 상기 제 1 패리티 비트들(p1) 및 상기 제 2 패리티 비트들(p2)이 실질적으로 상호 관련되지 않도록, 상기 제 1 코딩 알고리즘을 이용하여 전송 전에 인터리브 구조화 데이터(s')를 코딩함으로써 발생되는 것인 회로.
  11. 삭제
  12. 제 10 항에 있어서,
    상기 제어 회로(171)는 상기 제 1 및 제 2 디코더 블록들(158, 159, 220, 221)에서 작동하는 상기 ACS 작동 유닛들(160, 161)의 갯수를 변경하는 것인 회로.
  13. 제 12 항에 있어서,
    상기 회로는 프로그램가능 회로를 포함하고, 상기 프로그램가능 회로는 상기 제 1 및 제 2 디코더 블록들(158, 159, 220, 221)에서 작동하는 상기 ACS 작동 유닛들(160, 161)의 갯수를 변경하도록 부분적으로 재구성되는 것인 회로.
  14. 제 12 항에 있어서,
    상기 제 1 및 제 2 디코더 블록들(158, 159, 220, 221)에서의 상기 ACS 작동 유닛들(160, 161)은 상기 ACS 작동 유닛들(160, 161)을 온 및 오프시키기 위해 인에이블 회로들(enable circuits)을 포함하고, 상기 제어 회로(171)는 상기 제 1 및 제 2 디코더 블록들(158, 159, 220, 221)에서 작동하는 상기 ACS 작동 유닛들(160, 161)을 온 및 오프시키는 것인 회로.
  15. 제 10 항에 있어서,
    상기 구조화 데이터(s)를 수신하고 인터리브 구조화 데이터(s')를 발생시키도록 구성된 제 1 인터리버(224);
    상기 제 1 디코더 블록(158, 220)으로부터 상기 구조화 데이터(s)에 대한 제 1 우도 데이터(likelihood data)를 수신하고 인터리브 제 1 우도 데이터를 발생시키도록 구성된 제 2 인터리버(222); 및
    제 3 인터리버(223)
    를 더 포함하고,
    상기 제 3 인터리버(223)는 상기 제 1 인터리버(224)의 역(inverse)이고, 상기 제 3 인터리버(223)는 상기 제 2 디코더 블록(159, 221)으로부터 상기 인터리브 구조화 데이터(s')에 대한 제 2 우도 데이터를 수신하고 디인터리브(deinterleaved) 제 2 우도 데이터를 발생시키도록 구성되며,
    상기 제 1 디코더 블록(158, 220), 상기 제 2 디코더 블록(159, 221), 및 상기 제 1, 제 2, 및 제 3 인터리버들(222, 223, 224)은 프로그램가능 회로 상에서 구현되는 것인 회로.
KR1020147019575A 2011-12-14 2012-08-17 통신 시스템에서 디코딩 파라미터를 변경하는 시스템 및 방법 KR101960127B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/326,220 2011-12-14
US13/326,220 US8774324B2 (en) 2011-12-14 2011-12-14 Systems and methods for changing decoding parameters in a communication system
PCT/US2012/051509 WO2013089834A1 (en) 2011-12-14 2012-08-17 Systems and methods for changing decoding parameters in a communication system

Publications (2)

Publication Number Publication Date
KR20140092420A KR20140092420A (ko) 2014-07-23
KR101960127B1 true KR101960127B1 (ko) 2019-03-19

Family

ID=46755149

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147019575A KR101960127B1 (ko) 2011-12-14 2012-08-17 통신 시스템에서 디코딩 파라미터를 변경하는 시스템 및 방법

Country Status (7)

Country Link
US (1) US8774324B2 (ko)
EP (1) EP2792094B1 (ko)
JP (1) JP6081484B2 (ko)
KR (1) KR101960127B1 (ko)
CN (1) CN104040927B (ko)
IN (1) IN2014CN04348A (ko)
WO (1) WO2013089834A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9047882B2 (en) * 2013-08-30 2015-06-02 Lsi Corporation Systems and methods for multi-level encoding and decoding
US10333660B2 (en) 2014-05-09 2019-06-25 Telefonaktiebolaget Lm Ericsson (Publ) Determining a rate at which units of data are received erroneously
KR102205513B1 (ko) 2014-12-24 2021-01-21 에스케이하이닉스 주식회사 디코딩 회로
US10305630B2 (en) * 2015-10-30 2019-05-28 Panasonic Corporation Base station, controller, communication system, and interference avoidance method
US10250281B2 (en) 2016-12-30 2019-04-02 Sandisk Technologies Llc ECC decoder having adjustable parameters
CN107070592B (zh) * 2017-02-08 2020-05-08 扬智科技股份有限公司 混合译码方法及其高速以太网络接收器

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020168033A1 (en) * 2000-02-15 2002-11-14 Hiroshi Suzuki Turbo decoder
JP2005130199A (ja) * 2003-10-23 2005-05-19 Sony Ericsson Mobilecommunications Japan Inc 通信端末装置および通信方法
WO2009096194A1 (ja) * 2008-01-31 2009-08-06 Panasonic Corporation 無線通信装置および誤り訂正符号化方法
US20110246850A1 (en) * 2010-03-31 2011-10-06 David Rault Techniques To Control Power Consumption In An Iterative Decoder By Control Of Node Configurations

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2675971B1 (fr) * 1991-04-23 1993-08-06 France Telecom Procede de codage correcteur d'erreurs a au moins deux codages convolutifs systematiques en parallele, procede de decodage iteratif, module de decodage et decodeur correspondants.
JP3000938B2 (ja) * 1996-08-02 2000-01-17 日本電気株式会社 データ検出再生方法および装置
DE69941164D1 (de) * 1998-03-31 2009-09-03 Samsung Electronics Co Ltd Turboenkoder/dekoder und von der Servicequalität (QoS) abhängiges Rahmenverarbeitungsverfahren
KR100429506B1 (ko) * 1998-04-18 2004-11-20 삼성전자주식회사 통신시스템의 채널부호/복호장치 및 방법
US6898254B2 (en) 2000-01-31 2005-05-24 Texas Instruments Incorporated Turbo decoder stopping criterion improvement
US6614858B1 (en) * 2000-02-17 2003-09-02 Agere Systems Inc. Limiting range of extrinsic information for iterative decoding
GB2366159B (en) * 2000-08-10 2003-10-08 Mitel Corp Combination reed-solomon and turbo coding
US7234100B1 (en) * 2000-09-28 2007-06-19 Intel Corporation Decoder for trellis-based channel encoding
JP2005223405A (ja) * 2004-02-03 2005-08-18 Sony Corp 最尤復号方法及び最尤復号装置
JP2009033393A (ja) * 2007-07-26 2009-02-12 Sumitomo Electric Ind Ltd 復号器、復号システム、通信装置、反復終了条件設定装置、データ構造、及び通信品質調整方法
US8261170B2 (en) * 2007-06-19 2012-09-04 Mitsubishi Electric Research Laboratories, Inc. Multi-stage decoder for error-correcting codes
JP2009201057A (ja) * 2008-02-25 2009-09-03 Fujitsu Ltd 復号制御装置及び復号制御方法
CN101960766A (zh) * 2008-02-26 2011-01-26 日本电气株式会社 解码装置、解码方法和程序
US8655169B2 (en) * 2008-09-29 2014-02-18 Infinera Corporation Degradation adaptation network
US8335949B2 (en) * 2009-11-06 2012-12-18 Trellisware Technologies, Inc. Tunable early-stopping for decoders
CN101783720A (zh) * 2010-03-16 2010-07-21 中兴通讯股份有限公司 实现光通信设备工作性能调整的方法、装置和***

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020168033A1 (en) * 2000-02-15 2002-11-14 Hiroshi Suzuki Turbo decoder
JP2005130199A (ja) * 2003-10-23 2005-05-19 Sony Ericsson Mobilecommunications Japan Inc 通信端末装置および通信方法
WO2009096194A1 (ja) * 2008-01-31 2009-08-06 Panasonic Corporation 無線通信装置および誤り訂正符号化方法
US20110246850A1 (en) * 2010-03-31 2011-10-06 David Rault Techniques To Control Power Consumption In An Iterative Decoder By Control Of Node Configurations

Also Published As

Publication number Publication date
JP2015500613A (ja) 2015-01-05
WO2013089834A1 (en) 2013-06-20
CN104040927A (zh) 2014-09-10
IN2014CN04348A (ko) 2015-09-04
US20130156118A1 (en) 2013-06-20
US8774324B2 (en) 2014-07-08
CN104040927B (zh) 2017-05-17
JP6081484B2 (ja) 2017-02-15
EP2792094B1 (en) 2020-06-24
EP2792094A1 (en) 2014-10-22
KR20140092420A (ko) 2014-07-23

Similar Documents

Publication Publication Date Title
KR101960127B1 (ko) 통신 시스템에서 디코딩 파라미터를 변경하는 시스템 및 방법
AU751391B2 (en) Coding and modulation method and apparatus for its implementation
Yen et al. A 5.79-Gb/s energy-efficient multirate LDPC codec chip for IEEE 802.15. 3c applications
ES2291737T3 (es) Metodo y sistema para calcular la tasa de error de los bits de una señal recibida.
CN1154236C (zh) 纠错编码型的数字传输方法
JP2007515122A (ja) 移動通信システムで不均一誤り確率を有する符号化によるデータ送受信方法及び装置
US20130007571A1 (en) Early stop method and apparatus for turbo decoding
EP1894304A2 (en) Multi-channel ldpc decoder architecture
KR101781231B1 (ko) 터보 디코더에서의 코딩된 비트들에 대한 효율적인 소프트 값 생성
CN111801897B (zh) 用于极化码构造和编码的装置和方法
Wu et al. Low-complexity CRC aided joint iterative detection and SCL decoding receiver of polar coded SCMA system
Wu et al. Efficient VLSI implementation of soft-input soft-output fixed-complexity sphere decoder
US8923453B2 (en) System and method for iteration scheduling in joint equalization and turbo decoding
Imran Software implementation and performance of UMTS turbo code
Sujatha et al. Performance improvement of Turbo decoder using VLSI optimization Techniques
CN101895375B (zh) 低密度校验码的译码***
JP3910777B2 (ja) 復号装置
US8996948B2 (en) Methods, systems, and apparatus for tail termination of turbo decoding
AU716018B2 (en) Method and apparatus for conditionally combining bit metrics in a viterbi decoder for decoding a received information signal
KR20200132720A (ko) 통신 또는 방송 시스템에서 데이터 복호화 방법 및 장치
Samy et al. Improving bit error-rate based on adaptive Bose-Chaudhuri Hocquenghem concatenated with convolutional codes
US9136880B2 (en) Method for stopping iteration in an iterative turbo decoder and an iterative turbo decoder
Tomar et al. Efficiency enhancement techniques for wireless communication systems
JP3871063B2 (ja) 復号方法
US20110202819A1 (en) Configurable Error Correction Encoding and Decoding

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