KR20180031555A - 극 부호의 병렬화된 연속 제거 디코딩 및 연속 제거 리스트 디코딩을 위한 장치 및 방법 - Google Patents

극 부호의 병렬화된 연속 제거 디코딩 및 연속 제거 리스트 디코딩을 위한 장치 및 방법 Download PDF

Info

Publication number
KR20180031555A
KR20180031555A KR1020170061094A KR20170061094A KR20180031555A KR 20180031555 A KR20180031555 A KR 20180031555A KR 1020170061094 A KR1020170061094 A KR 1020170061094A KR 20170061094 A KR20170061094 A KR 20170061094A KR 20180031555 A KR20180031555 A KR 20180031555A
Authority
KR
South Korea
Prior art keywords
node
decoding
level
tree structure
scd
Prior art date
Application number
KR1020170061094A
Other languages
English (en)
Other versions
KR102223968B1 (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 KR20180031555A publication Critical patent/KR20180031555A/ko
Application granted granted Critical
Publication of KR102223968B1 publication Critical patent/KR102223968B1/ko

Links

Images

Classifications

    • 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/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/3961Arrangements of methods for branch or transition metric calculation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/398Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L22/00Testing or measuring during manufacture or treatment; Reliability measurements, i.e. testing of parts without further processing to modify the parts as such; Structural arrangements therefor
    • H01L22/10Measuring as part of the manufacturing process
    • 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/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • 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/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • H03M13/091Parallel or block-wise CRC computation
    • 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/13Linear 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/45Soft decoding, i.e. using symbol reliability information
    • H03M13/451Soft decoding, i.e. using symbol reliability information using a set of candidate code words, e.g. ordered statistics decoding [OSD]
    • 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/65Purpose and implementation aspects
    • H03M13/6561Parallelized implementations
    • 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
    • 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/0052Realisations of complexity reduction techniques, e.g. pipelining or use of look-up tables
    • 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/0054Maximum-likelihood or sequential decoding, e.g. Viterbi, Fano, ZJ algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Artificial Intelligence (AREA)
  • Manufacturing & Machinery (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Power Engineering (AREA)
  • Computing Systems (AREA)
  • Error Detection And Correction (AREA)

Abstract

극 부호의 병렬화된 연속 제거 디코딩 및 연속 제거 리스트 디코딩을 위한 장치 및 방법이 제공된다. 상기 장치는 길이 m j 의 코드워드를 수신하는 입력을 포함하는 수신기로, 상기 mj는 정수인 수신기, 상기 수신된 코드워드에 대하여 m j 개의 리프 노드(leaf node)를 갖는 디코딩 노드 트리 구조(decoding node tree structure)를 결정하고, 오더 m (order m)의 병렬 처리(parallelism)가 상기 디코딩 노드 트리 구조에 적용되는 레벨을 지시하는 정수 i를 수신하는 프로세서로, i는 0 내지 j까지의 상기 디코딩 노드 트리 구조의 레벨을 가리키고, m i 노드는 레벨 j에서 상기 m j 개의 리프 노드를 갖는 상기 디코딩 노드 트리 구조에서 레벨 i에 있음을 가리키는, 프로세서, 및 동시에(in parallel) 적용되는 m 개의 연속 제거 디코더(Successive Cancellation Decoder; SCD)를 포함하되, 레벨 i의 병렬 처리와 함께 각각의 상기 SCD가 레벨 i의 상기 디코딩 노드 트리 구조의 m 개의 자식 노드(child node) 중 하나에 적용되고, 상기 m 개의 SCD 모두는 동시에 실행되고, 상기 m 개의 SCD 각각은 길이 m j-i 의 서브코드에 대한 소프트 우도 척도(soft likelihood metric)를 결정하고, 상기 m 개의 SCD 각각은 다른 m 개의 SCD들에 의해 동시에 동작하는 노드들의 연판정 또는 경판정 추정(soft or hard decision estimate)을 사용하지 않고 관련된 부모 노드(parent node)의 소프트 우도 척도를 사용하고, 병렬 SCD들 각각은 또한 상기 길이 m j-k 의 서브코드의 비트에 대응하는 레벨 k에서의 노드의 m j- k 개의 다중도(multiplicity)를 동시에 처리하되, k는 디코딩 노드 트리 구조의 i 내지 j까지의 레벨을 의미한다.

Description

극 부호의 병렬화된 연속 제거 디코딩 및 연속 제거 리스트 디코딩을 위한 장치 및 방법{APPARATUS AND METHOD FOR PARALLELIZED SUCCESSIVE CANCELLATION DECODING AND SUCCESSIVE CANCELLATION LIST DECODING OF POLAR CODES}
본 발명은 극 부호(polar code)의 연속 제거 디코딩(successive cancellation decoding) 및 연속 제거 리스트 디코딩(successive cancellation list decoding)을 위한 장치 및 방법에 관한 것이며, 더욱 구체적으로는 극 부호의 병렬화된(parallelized) 연속 제거 디코딩 및 연속 제거 리스트 디코딩을 위한 장치 및 방법에 관한 것이다.
극 부호(polar code)는 최근 상당한 주목을 받고 있으며, 5세대(5G) 통신 시스템의 채널 부호(channel code) 사양으로 간주되는 용량 달성 코드(capacity achieving code)이다. 극 부호는 또한 메모리 시스템에서 에러 정정 코드로 간주되고 있다.
극 부호는 종래에 길이 N(N은 정수)의 코드에 대하여
Figure pat00001
오더(order)의 계산 복잡도를 갖는 연속 제거 디코더(Successive Cancellation Decoder; SCD)로 디코딩된다. 그러나, SCD의 직렬 특성(serial nature)은 또한
Figure pat00002
(N은 코드 길이) 오더의 큰 디코딩 레이턴시를 야기한다. 상기 SCD 디코딩 레이턴시는 디코딩 트리에서의 각 노드의 다중성이 동시에 디코딩되는 다차원 극 디코딩(multidimensional polar decoding)을 이용하여 2N - 2로 감소될 수 있다. 더 나은 디코딩 성능은 리스트 디코딩 극 부호에 의하여 얻어질 수 있다. 그러나, 극 부호의 리스트 디코딩은 리스트 크기 L에 대하여 O(
Figure pat00003
)의 계산 복잡도를 가지며, 이는 극 부호의 연속 제거 디코딩의 계산 복잡도로부터 L 배 증가된 것이다.
본 발명이 해결하고자 하는 기술적 과제는 극 부호의 병렬화된 연속 제거 디코딩 장치를 제공하는 것이다.
본 발명이 해결하고자 하는 다른 기술적 과제는 극 부호의 병렬화된 연속 제거 리스트 디코딩 장치를 제공하는 것이다.
본 발명이 해결하고자 하는 또 다른 기술적 과제는 극 부호의 병렬화된 연속 제거 디코딩 방법을 제공하는 것이다.
본 발명이 해결하고자 하는 또 다른 기술적 과제는 극 부호의 병렬화된 연속 제거 리스트 디코딩 방법을 제공하는 것이다.
본 발명이 해결하고자 하는 또 다른 기술적 과제는 극 부호의 병렬화된 연속 제거 디코딩 장치의 제조 방법을 제공하는 것이다.
본 발명이 해결하고자 하는 또 다른 기술적 과제는 극 부호의 병렬화된 연속 제거 디코딩 장치를 포함하는 집적 회로의 구성 방법을 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 기술적 과제를 달성하기 위한 본 발명의 몇몇 실시예에 따른 극 부호의 병렬화된 연속 제거 디코딩 장치는, 길이 m j 의 코드워드를 수신하는 입력을 포함하는 수신기로, 상기 mj는 정수인 수신기, 상기 수신된 코드워드에 대하여 m j 개의 리프 노드(leaf node)를 갖는 디코딩 노드 트리 구조(decoding node tree structure)를 결정하고, 오더 m (order m)의 병렬 처리(parallelism)가 상기 디코딩 노드 트리 구조에 적용되는 레벨을 지시하는 정수 i를 수신하는 프로세서로, i는 0 내지 j까지의 상기 디코딩 노드 트리 구조의 레벨을 가리키고, m i 노드는 레벨 j에서 상기 m j 개의 리프 노드를 갖는 상기 디코딩 노드 트리 구조에서 레벨 i에 있음을 가리키는, 프로세서, 및 동시에(in parallel) 적용되는 m 개의 연속 제거 디코더(Successive Cancellation Decoder; SCD)를 포함하되, 레벨 i의 병렬 처리와 함께 각각의 상기 SCD가 레벨 i의 상기 디코딩 노드 트리 구조의 m 개의 자식 노드(child node) 중 하나에 적용되고, 상기 m 개의 SCD 모두는 동시에 실행되고, 상기 m 개의 SCD 각각은 길이 m j-i 의 서브코드에 대한 소프트 우도 척도(soft likelihood metric)를 결정하고, 상기 m 개의 SCD 각각은 다른 m 개의 SCD들에 의해 동시에 동작하는 노드들의 연판정 또는 경판정 추정(soft or hard decision estimate)을 사용하지 않고 관련된 부모 노드(parent node)의 소프트 우도 척도를 사용하고, 병렬 SCD들 각각은 또한 상기 길이 m j-k 의 서브코드의 비트에 대응하는 레벨 k에서의 노드의 m j- k 개의 다중도(multiplicity)를 동시에 처리하되, k는 디코딩 노드 트리 구조의 i 내지 j까지의 레벨을 의미한다.
상기 기술적 과제를 달성하기 위한 본 발명의 몇몇 실시예에 따른 극 부호의 병렬화된 연속 제거 리스트 디코딩 장치는, 길이 m j 의 코드워드를 수신하는 입력을 포함하는 수신기로, 상기 mj는 정수인 수신기, 상기 수신된 코드워드에 대하여 m j 개의 리프 노드(leaf node)를 갖는 디코딩 노드 트리 구조(decoding node tree structure)를 결정하고, 오더 m (order m)의 병렬 처리(parallelism)가 상기 디코딩 노드 트리 구조에 적용되는 레벨을 지시하는 정수 i를 수신하는 프로세서로, i는 0 내지 j까지의 상기 디코딩 노드 트리 구조의 레벨을 가리키고, m i 노드는 레벨 j에서 상기 m j 개의 리프 노드를 갖는 상기 디코딩 노드 트리 구조에서 레벨 i에 있음을 가리키는, 프로세서, 및 동시에 적용되어 길이 m j /m의 L 개의 부분 워드(partial word)들의 리스트를 결정하는 m 개의 연속 제거 리스트 디코더(Successive Cancellation List Decoder; SCLD)를 포함하되, 상기 m 개의 SCLD 각각은 다른 m 개의 SCLD에 의해 동시에 동작하는 노드들의 연판정 또는 경판정 추정(soft or hard decision estimate)을 사용하지 않고 관련된 부모 노드(parent node)의 로그 우도비(Log Likelihood Ratio; LLR)를 이용하고, L은 정수이다.
상기 기술적 과제를 달성하기 위한 본 발명의 몇몇 실시예에 따른 극 부호의 병렬화된 연속 제거 디코딩 방법은, 수신기에 의하여, 길이 m j 의 코드워드를 수신하되 상기 mj는 정수이고, 프로세서에 의하여, 상기 수신된 코드워드에 대하여 m j 개의 리프 노드(leaf node)를 갖는 디코딩 노드 트리 구조(decoding node tree structure)를 결정하고, 오더 m (order m)의 병렬 처리(parallelism)가 상기 디코딩 노드 트리 구조에 적용되는 레벨을 지시하는 정수 i를 수신하되 i는 0 내지 j까지의 상기 디코딩 노드 트리 구조의 레벨을 가리키고, m i 노드는 레벨 j에서 상기 m j 개의 리프 노드를 갖는 상기 디코딩 노드 트리 구조에서 레벨 i에 있음을 가리키고, 동시에(in parallel) 적용되는 m 개의 연속 제거 디코더(Successive Cancellation Decoder; SCD)를 이용하여 디코딩하는 것을 포함하되, 레벨 i의 병렬 처리와 함께 각각의 상기 SCD가 레벨 i의 상기 디코딩 노드 트리 구조의 m 개의 자식 노드(child node) 중 하나에 적용되고, 상기 m 개의 SCD 모두는 동시에 실행되고, 상기 m 개의 SCD 각각은 길이 m j-i 의 서브코드에 대한 소프트 우도 척도(soft likelihood metric)를 결정하고, 상기 m 개의 SCD 각각은 다른 m 개의 SCD들에 의해 병렬로 동작하는 노드들의 연판정 또는 경판정 추정(soft or hard decision estimate)을 사용하지 않고 관련된 부모 노드의 소프트 우도 척도를 사용하고, 병렬 SCD들 각각은 또한 상기 길이 m j-k 의 서브코드의 비트에 대응하는 레벨 k에서의 노드의 m j- k 개의 다중도(multiplicity)를 동시에 처리하고, k는 디코딩 노드 트리 구조의 i 내지 j까지의 레벨을 의미한다.
상기 기술적 과제를 달성하기 위한 본 발명의 몇몇 실시예에 따른 극 부호의 병렬화된 연속 제거 리스트 디코딩 방법은, 수신기에 의하여, 길이 m j 의 코드워드를 수신하되 상기 mj는 정수이고, 프로세서에 의하여, 상기 수신된 코드워드에 대하여 m j 개의 리프 노드(leaf node)를 갖는 디코딩 노드 트리 구조(decoding node tree structure)를 결정하고, 오더 m (order m)의 병렬 처리(parallelism)가 상기 디코딩 노드 트리 구조에 적용되는 레벨을 지시하는 정수 i를 수신하되 i는 0 내지 j까지의 상기 디코딩 노드 트리 구조의 레벨을 가리키고, m i 노드는 레벨 j에서 상기 m j 개의 리프 노드를 갖는 상기 디코딩 노드 트리 구조에서 레벨 i에 있음을 가리키고, 동시에(in parallel) 적용되는 m 개의 연속 제거 디코더(Successive Cancellation Decoder; SCD)를 이용하여 길이 m j /mL 개의 부분 워드(partial word)들의 리스트를 결정하는 것을 포함하되, 상기 m 개의 SCLD 각각은 다른 m 개의 SCLD에 의해 동시에 동작하는 노드들의 연판정 또는 경판정 추정(soft or hard decision estimate)을 사용하지 않고 관련된 부모 노드(parent node)의 로그 우도비(Log Likelihood Ratio; LLR)를 이용하고, 상기 L은 정수이다.
상기 기술적 과제를 달성하기 위한 본 발명의 몇몇 실시예에 따른 극 부호의 병렬화된 연속 제거 디코딩 장치의 제조 방법은, 적어도 하나의 다른 장치를 포함하는 웨이퍼 또는 패키지에 장치를 생성하되, 상기 장치는 길이 m j 의 코드워드를 수신하는 입력을 포함하는 수신기로, 상기 mj는 정수인 수신기, 상기 수신된 코드워드에 대하여 m j 개의 리프 노드(leaf node)를 갖는 디코딩 노드 트리 구조(decoding node tree structure)를 결정하고, 오더 m (order m)의 병렬 처리(parallelism)가 상기 디코딩 노드 트리 구조에 적용되는 레벨을 지시하는 정수 i를 수신하는 프로세서로, i는 0 내지 j까지의 상기 디코딩 노드 트리 구조의 레벨을 가리키고, m i 노드는 레벨 j에서 상기 m j 개의 리프 노드를 갖는 상기 디코딩 노드 트리 구조에서 레벨 i에 있음을 가리키는, 프로세서, 및 동시에(in parallel) 적용되는 m 개의 연속 제거 디코더(Successive Cancellation Decoder; SCD)를 포함하되, 레벨 i의 병렬 처리와 함께 각각의 상기 SCD가 레벨 i의 상기 디코딩 노드 트리 구조의 m 개의 자식 노드(child node) 중 하나에 적용되고, 상기 m 개의 SCD 모두는 동시에 실행되고, 상기 m 개의 SCD 각각은 길이 m j-i 의 서브코드에 대한 소프트 우도 척도(soft likelihood metric)를 결정하고, 상기 m 개의 SCD 각각은 다른 m 개의 SCD들에 의해 동시에 동작하는 노드들의 연판정 또는 경판정 추정(soft or hard decision estimate)을 사용하지 않고 관련된 부모 노드(parent node)의 소프트 우도 척도를 사용하고, 병렬 SCD들 각각은 또한 상기 길이 m j-k 의 서브코드의 비트에 대응하는 레벨 k에서의 노드의 m j- k 개의 다중도(multiplicity)를 동시에 처리하되, k는 디코딩 노드 트리 구조의 i 내지 j까지의 레벨을 의미하고, 상기 장치를 테스트하는 것을 포함하되 상기 장치의 테스트는 하나 이상의 전기-광 변환기, 광 신호를 둘 이상의 광 신호로 분배하는 하나 이상의 광 분배기, 및 하나 이상의 광-전기 변환기를 이용하여 상기 장치를 테스트하는 것을 포함한다.
상기 기술적 과제를 달성하기 위한 본 발명의 몇몇 실시예에 따른 집적 회로의 구성 방법은, 집적 회로의 레이어에 대한 특징 세트(feature set)를 위한 마스크 레이아웃을 생성하되, 상기 마스크 레이아웃은 길이 m j 의 코드워드를 수신하는 입력을 포함하는 리시버로, 상기 m 및 j는 정수인 리시버, 상기 수신된 코드워드에 대하여 m j 개의 리프 노드(leaf node)를 갖는 디코딩 노드 트리 구조(decoding node tree structure)를 결정하고, 오더 m (order m)의 병렬 처리(parallelism)가 상기 디코딩 노드 트리 구조에 적용되는 레벨을 지시하는 정수 i를 수신하는 프로세서로, i는 0 내지 j까지의 상기 디코딩 노드 트리 구조의 레벨을 가리키고, m i 노드는 레벨 j에서 상기 m j 개의 리프 노드를 갖는 상기 디코딩 노드 트리 구조에서 레벨 i에 있음을 가리키는, 프로세서, 및 동시에(in parallel) 적용되는 m 개의 연속 제거 디코더(Successive Cancellation Decoder; SCD)를 포함하는 하나 이상의 회로 특징에 대한 스탠다드 셀 라이브러리 매크로(standard cell library macro)를 포함하되, 레벨 i의 병렬 처리와 함께 각각의 상기 SCD가 레벨 i의 상기 디코딩 노드 트리 구조의 m 개의 자식 노드(child node) 중 하나에 적용되고, 상기 m 개의 SCD 모두는 동시에 실행되고, 상기 m 개의 SCD 각각은 길이 m j-i 의 서브코드에 대한 소프트 우도 척도(soft likelihood metric)를 결정하고, 상기 m 개의 SCD 각각은 다른 m 개의 SCD들에 의해 병렬로 동작하는 노드들의 연판정 또는 경판정 추정(soft or hard decision estimate)을 사용하지 않고 관련된 부모 노드의 소프트 우도 척도를 사용하고, 병렬 SCD들 각각은 또한 상기 길이 m j-k 의 서브코드의 비트에 대응하는 레벨 k에서의 노드의 m j- k 개의 다중도(multiplicity)를 동시에 처리하되, k는 디코딩 노드 트리 구조의 i 내지 j까지의 레벨을 의미하고, 상기 마스크 레이아웃의 생성 도중에 레이아웃 디자인 룰의 준수를 위해 상기 매크로의 상대적인 위치를 무시하고, 상기 마스크 레이아웃의 생성 이후에 상기 레이아웃 디자인 룰 준수를 위해 상기 매크로의 상기 상대적인 위치를 검사하고, 상기 매크로 중 상기 레이아웃 디자인 룰을 준수하지 않은 임의의 매크로에 대하여, 상기 준수하지 않은 매크로 각각을 수정함으로써 상기 마스크 레이아웃을 수정하여 상기 레이아웃 디자인 룰을 준수시키고, 상기 집적 회로의 상기 레이어의 상기 특징 세트를 갖는 상기 수정된 마스크 레이아웃에 따라 마스크를 생성하고, 상기 마스크에 따라 상기 집적 회로 레이어를 제조하는 것을 포함한다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
도 1은 길이 N = 4인 극 부호를 디코딩하는 SCD 시스템의 블록도이다.
도 2는 도 1의 SCD에 대응하는 디코딩 트리 상의 디코딩 스케줄(decoding schedule)을 도시한다.
도 3은 길이 N=8 인 극 부호에 대한 SCD 시스템의 블록도이다.
도 4는 도 3의 SCD에 대응하는 디코딩 트리 상의 디코딩 스케줄을 도시한다.
도 5는 본 발명의 몇몇 실시예에 따른 길이 8의 극 부호에 대한 병렬화된 SCD의 디코딩 스케줄을 도시한다.
도 6은 길이 8인 극 부호에 대하여 병렬화되지 않은 SCD와 병렬화된 SCD의 디코딩 스케줄을 비교하여 도시한다.
도 7은 본 발명의 몇몇 실시예에 따른 병렬화된 SCD의 블록도이다.
도 8은 본 발명의 몇몇 실시예에 따른 병렬화된 SCLD의 블록도이다.
도 9는 본 발명의 몇몇 실시예에 따른 병렬화된 SCD의 방법을 설명하기 위한 순서도이다.
도 10은 본 발명의 몇몇 실시예에 따른 병렬화된 SCLD의 방법을 설명하기 위한 순서도이다.
도 11은 본 발명의 몇몇 실시예에 따른 장치의 제조 방법을 설명하기 위한 순서도이다.
도 12는 본 발명의 몇몇 실시예에 따른 집적 회로의 구성 방법을 설명하기 위한 순서도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 도면에서 표시된 구성요소의 크기 및 상대적인 크기는 설명의 명료성을 위해 과장된 것일 수 있다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭하며, "및/또는"은 언급된 아이템들의 각각 및 하나 이상의 모든 조합을 포함한다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다.
비록 제1, 제2 등이 다양한 소자나 구성요소들을 서술하기 위해서 사용되나, 이들 소자나 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 소자나 구성요소를 다른 소자나 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 소자나 구성요소는 본 발명의 기술적 사상 내에서 제2 소자나 구성요소 일 수도 있음은 물론이다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
본 발명의 실시예들은 설명된 기능 또는 기능들을 수행하는 블록들에 의해 기술되고 예시될 수 있다. 본 실시예에서 사용되는 사용되는 '부' 또는 '모듈'이라는 용어는 소프트웨어 또는 FPGA또는 ASIC과 같은 하드웨어 구성요소를 의미하며, '부' 또는 '모듈'은 어떤 역할들을 수행한다. 그렇지만 '부' 또는 '모듈'은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '부' 또는 '모듈'은 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '부' 또는 '모듈'은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함할 수 있다. 구성요소들과 '부' 또는 '모듈'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '부' 또는 '모듈'들로 결합되거나 추가적인 구성요소들과 '부' 또는 '모듈'들로 더 분리될 수 있다.
본 발명의 몇몇 실시예는 SCD(Successive Cancellation Decoding) 뿐만 아니라 연속 제거 리스트 디코딩(Successive Cancellation List Decoding; SCLD)을 위한 극 부호의 디코딩 레이턴시를 감소시키는 병렬 디코딩 방법 및 장치에 관한 것이고, 여기서 SCD는 리스트가 길이 1인 경우의 SCLD이다. 본 발명의 몇몇 실시예는 SCD의 서로 다른 병렬화도(degree of parallelization)를 포함하는 디코딩 동작의 유연한 병렬화(flexible parallelization)을 제공한다. 병렬화도는 성능, 하드웨어 복잡도, 및 레이턴시 중 적어도 하나에 기초하여 조정될 수 있다. 병렬화된 디코더 동작은 성능 저하를 피하기 위하여 에러 체킹 메커니즘(error-checking mechanism)을 통해 병렬화되지 않은(non-parallelized) 디코더와 통합될 수 있다.
본 발명은 극 부호에 대한 적용을 개시한다. 그러나, 본 발명은 이에 제한되는 것은 아니다. 본 발명은 다른 부호들(예를 들어, 최적 재귀 코드(optimized recursive code) 및 Reed-Muller 코드의 변형과 같이 본 발명과 유사한 SCD 및 SCLD 구조를 사용하는 임의의 부호)에도 적용될 수 있다.
본 발명의 몇몇 실시예는 SCLD를 병렬화하며, 본 발명의 몇몇 실시예는 부분 코드워드(partial codeword)의 리스트를 완전한 코드워드(complete codeword)의 리스트와 조합한다.
도 1은 길이 N = 4인 극 부호를 디코딩하는 SCD 시스템(100)의 블록도이다.
도 1을 참조하면, Y 1 내지 Y 4 는 수신된 코드워드 비트를 나타낸다. 각각의 W(101, 103, 105, 107)는 각각 Y 1 내지 Y 4 가 수신되는 채널을 나타내며, 이는 노이즈가 많을(noisy) 수 있다. 가산기(109, 111, 113, 115)는 입력 메시지 비트(U 1 ~ U 4 )를, X 1 내지 X 4 로 나타나는 극 코드워드(polar codeword)로 변환하는 극 인코더(polar encoder)를 나타낸다. 연속 제거 디코더(SCD)는 수신된 심볼 Y 1 내지 Y 4 의 우도비(likelihood ratio) 또는 로그 우도비(log likelihood ratio; LLR)의 추정을 이용하여 비트 U 1 내지 U 4 의 경판정 추정(hard-decision estimate)을 생성한다. 상기 경판정 추정은 중간 인코딩된(intermediate encoded) 비트 값들의 우도비를 연속적으로 추정하여, 결과적으로 입력 비트의 우도비 및 경판정 추정이 추정될 때까지 사용된다. 소프트(soft) 연속 제거 디코딩의 경우에, 소프트(soft) 신뢰성 추정이 경판정 대신 노드 사이를 통과한다.
도 1은 이에 대응하는 디코더에 의한 우도비의 처리 및 경판정의 순서를 도시하고, 상기 처리 순서는 1 내지 6의 숫자로 나타나며, 상기 처리 순서는 작은 수로부터 큰 수로 진행된다. 디코더는 다차원(multidimensional) 디코딩을 이용하고, 동시에 N/2 디코딩 동작을 수행할 수 있는 충분한 디코딩 모듈을 갖는 것으로 가정된다. 따라서 이는 가산기(109) 및 가산기(113)의 입력에서 동시에 중간 비트(intermediate bit)의 로그 우도비(LLR)를 독립적으로 계산할 수 있고, 이는 X3X4의 LLR을 독립적으로 동시에 계산하는데 각각 사용된다.
도 2는 도 1의 SCD에 대응하는 디코딩 트리 상의 디코딩 스케줄(decoding schedule)을 도시한다.
도 2를 참조하면, 디코딩 처리 순서는 이진 트리(binary tree)에 의해 나타나며, 이진 트리의 각각의 노드는 다중 작업(multiple operation)을 의미한다. 앞서 설명한 것과 같이, N/ 2 개의 디코딩 모듈을 포함하는 SCD는 다차원 디코딩을 이용하고 입력(109, 113)에서의 LLR을 동시에 계산할 수 있다. 그러나 1로 표시된 노드에서의 디코딩 트리는 또한, 만약 배치된 디코딩 모듈의 수가 N/ 2 보다 작다면, 입력(109) 및 입력(113)에서의 종래의 SCD에 의한 LLR의 순차적 계산을 나타낼 수도 있다.
본 발명은 이진 극 부호에 제한되지 않는다. 본 발명의 몇몇 실시예에서 m진(m-ary) 극 부호를 이용할 수 있으며, 디코딩 스케줄은 m진 트리에 의해 나타날 수 있고, m은 정수이며, m진 트리의 각각의 노드는 m 개의 자손(descendant)이 있으며, m 개의 디코더는 디코딩 순서에 의해 실행된다.
종래의 SCD의 각각의 노드에서(예를 들어, 부모 노드), 부모 노드의 자식 노드 중 하나(예를 들어, 왼쪽 자식 노드)의 우도비는, 부모 노드(예를 들어 y i )의 우도비를 이용하여 계산되며, 경판정이 상기 계산된 자식 노드의 우도비에 기초하여 결정되어 우도비의 값이 추정되며, 부모 노드로 추정된 값을 전파된다(propagate). 부모 노드의 다른 자식 노드(예를 들어 오른쪽 자식 노드)의 우도비는 부모 노드의 우도비 및 다른 노드(예를 들어 왼쪽 자식 노드)의 경판정 추정을 이용하여 추정되고, 경판정이 다른 노드(예를 들어 오른쪽 자식 노드)의 우도비에 기초하여 결정되어 다른 노드의 우도비의 값이 추정되며, 부모 노드로 추정된 값을 전파한다.
도 3은 길이 N=8 인 극 부호에 대한 SCD 시스템(300)의 블록도이다.
도 3을 참조하면, Y 1 내지 Y s 는 수신된 코드워드 비트를 의미한다. 각각의 W(301, 303, 305, 307, 309, 311, 313, 315)는 각각 Y 1 내지 Y s 가 수신되는 채널을 의미하고, 이는 노이즈가 많을 수 있다. X 1 내지 Xs는 각각 노이즈 있는 Y 1 내지 Y s 에 의해 의도된 노이즈 없는(noiseless) 코드워드 비트를 의미한다. 가산기(317, 319, 321, 323, 325, 327, 329, 331, 333, 335, 337, 339)는 입력 메시지 비트(U 1 ~ U 8 )를, X 1 내지 X 8 로 나타나는 극 코드워드(polar codeword)로 변환하는 극 인코더(polar encoder)를 의미한다. SCD는 수신된 심볼 Y 1 내지 Y 8 의 우도비 또는 로그 우도비(LLR)의 추정을 이용하여 비트 U 1 내지 U 8 의 경판정 추정(hard-decision estimate)을 생성한다. 상기 경판정 추정은 중간 인코딩된(intermediate encoded) 비트 값들의 우도비를 연속적으로 추정하여, 결과적으로 입력 비트의 우도비 및 경판정 추정이 추정될 때까지 사용된다. 소프트(soft) 연속 제거 디코딩의 경우에, 소프트(soft) 신뢰성 추정이 경판정 대신 노드 사이를 통과한다.
도 3은 이에 대응하는 디코더에 의한 우도비의 처리 및 경판정의 순서를 도시하고, 상기 처리 순서는 1 내지 14의 숫자로 나타나며, 상기 처리 순서는 작은 수로부터 큰 수로 진행된다. 디코더는 다차원(multidimensional) 디코딩을 이용하고, 동시에 N/2 디코딩 동작을 수행할 수 있는 충분한 디코딩 모듈을 갖는 것으로 가정된다. 따라서 가산기(317) 및 가산기(323) 그리고 가산기(327) 및 가산기(331)의 입력에서 동시에 중간 비트(intermediate bit)의 로그 우도비(LLR)를 독립적으로 계산할 수 있고, 이는 X5X6, X7 X8의 LLR을 독립적으로 동시에 계산하는데 각각 사용된다.
도 4는 도 3의 SCD에 대응하는 디코딩 트리 상의 디코딩 스케줄을 도시한다.
도 4를 참조하면, 디코딩 처리 순서는 이진 트리에 의해 나타나며, 이진 트리의 각각의 노드는 다중 작업을 의미한다. 앞서 설명한 것과 같이, N/ 2 개의 디코딩 모듈을 포함하는 SCD는 다차원 디코딩을 이용하고 입력(317, 323)과, 입력(327, 331)에서의 LLR을 동시에 계산할 수 있다. 그러나 1로 표시된 노드에서의 디코딩 트리는 또한, 만약 배치된 디코딩 모듈의 수가 N/ 2 보다 작을 때 입력(317), 입력(323), 입력(327) 및 입력(331)에서의 종래의 SCD에 의한 LLR의 순차적 계산을 나타낼 수도 있다.
본 발명은 이진 극 부호에 제한되지 않는다. 본 발명의 몇몇 실시예에서 m진(m-ary) 극 부호를 이용할 수 있으며, 디코딩 스케줄은 m진 트리에 의해 나타날 수 있고, m은 정수이며, m진 트리의 각각의 노드는 m 개의 자손(descendant)이 있으며, m 개의 디코더는 디코딩 순서에 의해 실행된다.
각각의 노드(예를 들어, 부모 노드), 부모 노드의 자식 노드 중 하나(예를 들어, 왼쪽 자식 노드)의 우도비는, 부모 노드(예를 들어 y i )의 우도비를 이용하여 계산되며, 경판정이 상기 계산된 자식 노드의 우도비에 기초하여 결정되어 우도비의 값이 추정되며, 부모 노드로 추정된 값이 전파된다(propagate). 부모 노드의 다른 자식 노드(예를 들어 오른쪽 자식 노드)의 우도비는 부모 노드의 우도비 및 다른 노드(예를 들어 왼쪽 자식 노드)의 경판정 추정을 이용하여 추정되고, 경판정이 다른 노드(예를 들어 오른쪽 자식 노드)의 우도비에 기초하여 결정되어 다른 노드의 우도비의 값이 추정되며, 부모 노드로 추정된 값을 전파한다.
본 발명의 몇몇 실시예에서, 디코더는 길이 2인 코드에 대한 것이며, y 1 y 2 는 두 개의 수신된 코드워드 비트 Y 1 Y 2 의 우도비이다. 종래의 SCD에 대한 하나의 코드워드 비트의 LR y 1 (예를 들어 왼쪽 코드워드 비트)가 아래의 수학식 1과 같이 계산될 수 있다.
[수학식 1]
Figure pat00004
코드워드 비트 u 1 (예를 들어, 왼쪽 코드워드 비트)의 경판정 추정
Figure pat00005
Figure pat00006
의 값에 대하여 경판정을 하는 것에 의해 얻어질 수 있다. 이진 디코더에서 다른 코드워드 비트 y 2 (예를 들어 오른쪽 코드워드 비트 i)의 LR은 다음의 수학식 2와 같이 계산될 수 있다.
[수학식 2]
Figure pat00007
이는
Figure pat00008
의 값에 대한 경판정에 의해
Figure pat00009
의 값을 결정하는 것으로 이어진다. 코드워드 길이 N이 2 보다 큰 본 발명의 다른 몇몇 실시예에서, 왼쪽의 LLR 연산은 경판정이 수행되는 리프 노드에 이를 때까지 디코딩 트리의 각각의 노드에 대하여 재귀적으로 수행된다. 그리고 LLR은 이들의 경판정과 함께 이진 트리의 부모들에 재귀적으로 전파되고, 오른쪽 자식 노드에 있는 비트들의 LR을 계산하는데 사용된다. 그러므로, 극부호에 대한 다차원 SCD의 레이턴시는 이진 트리에서 방문한 노드들의 수, 즉
Figure pat00010
과 같이 기술될 수 있다. N = 8에서, 다차원 SCD에서 방문한 노드의 순서는 앞서 설명한 것과 같이 도 3 및 4에 묘사된다. 그러나, 본 발명은 이진 트리에 제한되지 않는다. 각각의 노드가 m 개의 자식을 갖는 m 진수 트리 또한 사용될 수 있다.
길이 N = 2n 의 코드에 대하여, 루트 노드는 레벨 0으로 간주되고 리프 노드는 레벨 n으로 간주될 수 있으며, 레벨 i (i = 0, 1, ..., n)에서 노드는 2 n-1 리프 노드를 자식으로 갖는다. 본 발명의 몇몇 실시예에서, 병렬 처리가 트리 구조 디코딩에 수행되며, 예를 들어 다차원 디코딩에 대해 2N - 2의 레이턴시를 갖는다.
도 5는 본 발명의 몇몇 실시예에 따른 길이 8의 극 부호에 대한 병렬화된 SCD의 디코딩 스케줄을 도시한다.
도 5를 참조하면, 디코딩 스케줄은 2차의 병렬화(즉, 병렬화는 디코딩 스케줄의 이진 트리에서 레벨 2에 적용된다.)를 갖는다. 레벨 j에서의 병렬화는 동일한 부모 노드에 속하는 레벨 j에서의 모든 노드가 동시에 디코딩되도록 하며, 여기서 m (예를 들어 2) 개의 연속 제거 디코더가 길이 m n-j(예를 들어 2n-j)의 코드 각각에 동시에 사용될 수 있다. 종래의 연속 제거 디코더가 m n-j 연산을 레벨 j의 각각의 노드에서 순차적으로 실행하는 것에 반하여, 다차원 연속 제거 디코더 각각은 레벨 j에서 m n-j 연산을 동시에 수행한다. 뒤에 도 6을 참조하여 설명하는 것과 같이, 병렬화 차수 2(예를 들어 m = 2)에 대하여 병렬화되지 않은 SCD(도 4)와 병렬화된 SCD(도 5) 사이의 디코딩 스케줄의 차이를 결정하기 위하여 도 5는 도 4와 비교된다.
예를 들어, 길이 m n의 코드에 대하여, 레벨 n 병렬 처리는 리프 노드에서 m 정보 비트(길이 1의 코드)를 동시에 디코딩하도록 하여 N/m 단계를 세이브(save)하도록 한다. m = 2의 이진 코드에 대하여, 다차원 디코딩의 디코딩 레이턴시는 1.5N - 2로 감소된다.
이진 코드에 대하여, 앞서 설명된 레벨 1 병렬 처리는 길이 N/2의 코드에 동시에 대응하는 2 개의 서브트리를 디코딩하도록 한다. 따라서, 레이턴시는 반으로 감소하여 디코딩 레이턴시는 N - 1이 된다.
일반적으로, 이진 코드에 대하여 레벨 j 병렬화된 다차원 연속 제거 디코더의 레이턴시는 다음의 수학식 3으로 표현될 수 있다.
[수학식 3]
Figure pat00011
따라서, 레벨 (n - 3) 병렬 디코더는 1.0625 N - 2의 디코딩 레이턴시를 갖는다.
주어진 레벨에서 병렬화를 가능하도록 하기 위하여, m(예를 들어 2) 개의 디코더가 동시에 실행될 수 있다. 하나의 디코더(예를 들어 왼쪽 디코더)는 종래의 병렬화되지 않은 디코더와 같이 모든 채널 정보를 이용하여 하나의 LLR(예를 들어 왼쪽의 LLR)을 결정한다. 다른 하나의 디코더(예를 들어 오른쪽 디코더)는 하나의 디코더(예를 들어 왼쪽 디코더)로부터의 결정을 기다리지 않고 다른 하나의 LLR(예를 들어 오른쪽의 LLR)을 동시에 결정한다. 따라서, 디코딩 레이턴시가 감소된다. 이를 통해, 다른 하나의 디코더(예를 들어 오른쪽 디코더)는 가능한 채널 정보만을 이용하여 하나의 디코더(예를 들어 왼쪽 디코더)로부터의 결정을 추정한다. 따라서, 성능 저하가 발행할 수 있다.
앞에서 설명한 N = 2인 극 부호의 디코딩 블록에 대하여,
Figure pat00012
가 사용 가능하지 않기 때문에,
Figure pat00013
가 입력 코드워드의 LLR의 함수 f로써 다음과 같이 수학식 4로 결정될 수 있다.
[수학식 4]
Figure pat00014
본 발명의 몇몇 실시예에서,
Figure pat00015
는 경판정
Figure pat00016
가 각각 0 또는 1인 경우에 LLR 중 어느 하나(예를 들어 왼쪽의 LLR)의 함수이고, 다음의 수학식 5와 같이 나타난다.
[수학식 5]
Figure pat00017
본 발명의 몇몇 실시예에서,
Figure pat00018
이고, f가 독립임을 가정할 때 L(y 1 )을 무시하여 위의 수학식 4 및 수학식 5 모두에서 일정하다. 그리고 f'는 수학식 5와 수학식 2를 이용하여 기하 평균 함수가 될 수 있다. 다른 함수들(예를 들어 산술 평균)이 사용될 수도 있다. 이러한 함수(예를 들어 기사 평균 함수, 산술 평균 함수 등)은 병렬화 함수(parallelization function)로 지칭될 수 있다.
이전에 디코딩된 비트에 대한 불완전한 정보로 인한 성능 저하를 피하기 위하여, 병렬화된 다차원 SCD는, 종래의 다차원 SCD 간의 중복 함수들(overlapping function) 및 에러 체킹 메커니즘을 공유하여 다른 종래의 다차원 SCD와 통합될 수 있다. 예를 들어, 정보 비트는 CRC(Cyclic Redundancy Check) 코드와 같은 에러 검출 코드로 인코딩될 수 있다. 미리 정해진 병렬화 레벨의 병렬 디코더는 에러 검출 코드로 인코딩된 수신된 정보 비트에 대해 실행될 수 있다.
에러 검출 코드로 인코딩된 정보 비트를 디코딩한 이후에, 출워드 결과는 에러 검출 메커니즘을 이용하여 에러가 검사될 수 있다. 만약 에러가 검출되지 않는다면, 디코딩은 성공적이고, 디코딩 레이턴시는 감소된다. 만약 에러가 검출된다면, 디코딩은 실패이며, 에러 검출 코드로 인코딩된 정보 비트는 병렬화된 디코더의 연산 중 몇몇 다시 사용하는(re-use) 종래의 병렬화되지 않은 디코더로 디코딩되고, 이는 병렬화로 인한 성능 감소가 없음을 보장한다. 그러나, 어떤 종래의 병렬화되지 않은 디코더가 실행되었느냐에 의해 에러가 속도(frequency)를 결정하므로, 병렬화된 디코더의 디코딩 에러율에 의한 기대 레이턴시는 증가한다.
본 발명의 몇몇 실시예에서, 병렬화된 SCD와 종래의 다차원 SCD 사이의 공통 연산은 반복될 필요는 없으나, 종래의 다차원 SCD에 의하여 다시 사용될 수는 있다. 최악의 경우, 즉 아무런 연산이 공유되지 않을 때, 병렬화된 SCD와 종래의 다차원 SCD를 동시에 실행하기 위하여 동일한 구성 요소가 사용되어, 병렬화된 디코더의 출력에서 에러가 검출된 경우에 종래의 디코더에 의하여 실행될 남은 디코딩 연산의 수를 감소시킬 수 있고, 여기서 병렬화된 SCD와 종래의 다차원 SCD는 별도의 메모리 레지스터를 갖는다.
도 6은 길이 8인 극 부호에 대하여 병렬화되지 않은 SCD와 병렬화된 SCD의 디코딩 스케줄을 비교하여 도시한다.
도 6을 참조하면, 레벨 2 병렬화된 SCD와 종래의 다차원 SCD의 혼합 구조(hybrid)의 디코딩 스케줄이 도시된다. 여기서 병렬화된 SCD 디코딩 순서는 원 안의 숫자로 표시되고, 종래의 다차원 SCD 디코딩 순서는 일반 숫자로 나타난다. 디코딩 순서는 낮은 수로부터 높은 수로 진행된다.
최악의 레이턴시는 종래의 병렬화되지 않은 다차원 SCD의 레이턴시 이고, 최적의 레이턴시는 병렬화된 SCD의 레이턴시이다. 많은 통신 시스템에서, 레이턴시 오구치는 복수의 코드 블록을 포함하는 전송 블록을 위해 만들어지고, 병렬화된 디코더와 함께 평균 실험(empirical) 코드 블록 에러율(code block error rate)을 이용하여 코드 블록 당 최종 평균 레이턴시가 다음의 수학식 6과 같이 표현될 수 있다.
[수학식 6]
혼합 구조 디코더의 레이턴시 = (병렬화된 디코더의 레이턴시) * (1 - 병렬화된 디코더의 코드 블록 에러율) + (종래의 디코더의 레이턴시) * (병렬화된 디코더의 코드 블록 에러율)
본 발명의 몇몇 실시예에서, 병렬화된 연속 제거 디코딩은 SCLD를 통해 리스트 디코딩으로 확장될 수 있다. 종래의 SCLD(다차원 방법을 이용하는)에서, 디코딩 레이턴시는 최적의 L 경로를 선택하기 위한 2L 경로 척도(metric)를 소팅하는 리프 노드에서, N 개의 디코딩된 비트 각각을 소팅하는데 필요한 여분의 N 사이클로 인하여 3N - 2이다. 이러한 레이턴시를 얻기 위하여, L 개의 SCD가 동시에 실행되는 것으로 가정한다. 따라서, SCD에 대한 병렬화 스킴은 각 병렬 SCD에 대하여 적용될 수 있으며, 레이턴시는 동일한 지수(same factor)로 감소된다. 즉, 레벨 j 병렬화된 디코더에 대하여, 레이턴시는 다음의 수학식 7과 같이 표현된다.
[수학식 7]
Figure pat00019
그러나, 각각의 병렬 디코더는 부분 워드(partial word)의 리스트(예를 들어 레벨 1 병렬화의 병렬화된 리스트 디코딩)를 생성한다. 그러나, 본 발명은 다른 병렬화 레벨까지 확장될 수 있다.
레벨 1 병렬화는 길이 N/2인 두 개의 서브 코드를 디코딩한다. 앞서 설명한 병렬화된 SCD를 이용하여, 하나의 연속 제거 리스트(Successive Cancelation List; SCL)(예를 들어, 왼쪽의 SCL)와 다른 SCL(예를 들어 오른쪽의 SCL)이 동시에 실행될 수 있다. 오른쪽에서 디코딩된 비트의 가설(hypothesis)에 관한 정보가 필요하지 않기 때문에, 왼쪽의 SCL은 정확하다.
본 발명의 몇몇 실시예에서, 길이 N인 워드의 리스트가, 2 개의 길이 N/2인 부분 워드 리스트로부터 생성되고, 이는 동시에 생성된다. 오른쪽 리스트의 각각의 워드는 왼쪽 리스트의 워드와 연결되는(concatenated) 두 개의 리스트의 모든 L 2 조합은, 길이 N의 후보 워드(candidiate word)를 생성하는 것으로 간주된다. 생성된 리스트의 각각의 워드의 우도비는 이에 대응하는 SCL 디코더의 출력에서의 왼쪽 및 오른쪽 우도비의 곱(product)이다. 생성된 리스트로부터 가장 큰 우도비 곱을 갖는 L 개의 워드가 선택된다. 그러나 "오른쪽" 우도비가 정확하지 않기 때문에 곱해진 우도비도 정확하지 않다.
본 발명의 몇몇 실시예에서, 왼쪽 및 오른쪽 리스트 사이에서 가능한 조합 각각에 대하여, 오른쪽 리스트로부터의 길이 N/2의 워드를 왼쪽 리스트의 그것에 참조하여 길이 N의 후보 워드를 생성함으로써 길이 N의 워드가 형성된다. 길이 N의 워드는 재인코딩되어 길이 N의 전송된 후보 코드워드(candidate transmitted codeword)를 생성한다. 수신된 시퀀스 y의 우도(likelihood)는 리스트 내의 각각의 전송된 후보 코드워드를 고려하여 계산된다. 상기 우도는 전송된 후보 코드워드와 수신된 시퀀스 y 사이의 유클리드 거리의 함수로써 계산될 수 있다. 최대 우도 척도(metric)(또는 하나만 필요하다면 최적값)를 갖는 L 개의 전송된 후보 코드워드에 대응하는 L 개의 워드는 리스트로부터 선택된다.
본 발명의 몇몇 실시예에서, 전술한 것과 같이 크기 L 2의 리스트를 생성하는 대신에, 최대 2L의 LR 만을 생성하는 조합이 선택될 수도 있다. 최적의
Figure pat00020
개의 후보는 가능한 조합을 생성하기 이전에 왼쪽 리스트 및 오른쪽 리스트 각각으로부터 선택되어 크기 2L의 리스트가 생성될 수 있다. 최적의 L 후보(각각의 방법에 따른), 또는 단일 디코딩된 출력이 요청된 경우의 최적의 후보가 선택될 수 있다.
본 발명의 몇몇 실시예에서, 구성 요소 부호(component code)의 최대 우도 디코딩(maximum likelihood decoding)으로부터 야기될 수 있는 디코딩 복잡도의 지수적 증가(exponential increase) 없이도 병렬 연속 제거 디코딩이 제공된다. 또한, 병렬화된 SCD는 종래의 병렬화되지 않은 다차원 SCD 및 에러 체킹 메커니즘과 조합되어 성능 저하를 방지할 수 있다. 또한, 연산 복잡도의 지수적 증가 없이도 병렬 연속 제거 리스트 디코딩이 제공되고, 여기서 병렬화된 연속 제거 리스트 디코딩을 위해 부분 워드의 리스트가 전체 워드(full word)의 리스트와 조합된다.
도 7은 본 발명의 몇몇 실시예에 따른 병렬화된 SCD(700)의 블록도이다.
도 7을 참조하면, SCD(700)는 수신기(701), 프로세서(703), 및 m 개의 SCD들(705)을 포함한다.
수신기(701)는 길이 m j 의 코드워드를 수신하는 입력과, 출력을 포함하고, 여기서 mj는 각각 정수이다.
프로세서(703)은 수신기(701)의 출력과 연결된 입력과, 출력을 포함한다. 프로세서(703)은 수신된 코드워드에 대하여, m j 개의 리프 노드를 갖는 디코딩 노드 트리 구조를 결정하고, 오더 m의 병렬 처리(parallelism)가 상기 디코딩 노드 트리 구조에 적용되는 레벨을 가리키는 정수 i를 수신하되, i는 0 내지 j까지의 디코딩 노드 트리 구조의 레벨을 가리키고, m i 노드는 레벨 j에서 m j 리프 노드를 갖는 디코딩 노드 구조에서 레벨 i에 있음을 의미한다.
m 개의 SCD들(705) 각각은 프로세서(703)의 출력에 연결된 입력과, 출력을 포함한다. m 개의 SCD들(705)은 동시에 적용되며, 레벨 i의 병렬 처리와 함께 각각의 SCD들(705)이 레벨 i에서 디코딩 노드 트리 구조의 m 개의 자식 노드 중 어느 하나에 적용된다. m 개의 SCD들(705) 모두는 동시에 실행되고, m 개의 SCD들(705) 각각은 길이 m j-i 의 서브 코드에 대한 소프트 우도 척도(soft likelihood metric)를 결정하되, m 개의 SCD들(705) 각각은 다른 m 개의 SCD들(705)에 의해 동시에 동작하는 노드들의 연판정 또는 경판정 추정(soft or hard decision estimate)을 사용하지 않고 관련된 부모 노드의 소프트 우도 척도를 사용한다. 그리고 병렬 SCD들(705) 각각은 또한 길이 m j-k 의 서브코드의 비트에 대응하는 레벨 k에서의 노드의 m j-k 개의 다중도(multiplicity)를 동시에 처리하고, k는 디코딩 노드 트리 구조의 i 내지 j까지의 레벨을 의미한다.
도 8은 본 발명의 몇몇 실시예에 따른 병렬화된 SCLD(800)의 블록도이다.
도 8을 참조하면, SCD(800)는 수신기(801), 프로세서(803), 및 m 개의 SCD들(805)을 포함한다.
수신기(801)는 길이 m j 의 코드워드를 수신하는 입력과, 출력을 포함하고, 여기서 mj는 각각 정수이다.
프로세서(803)은 수신기(801)의 출력과 연결된 입력과, 출력을 포함한다. 프로세서(803)은 수신된 코드워드에 대하여, m j 개의 리프 노드를 갖는 디코딩 노드 트리 구조를 결정하고, 오더 m의 병렬 처리(parallelism)가 상기 디코딩 노드 트리 구조에 적용되는 레벨을 가리키는 정수 i를 수신하되, i는 0 내지 j까지의 디코딩 노드 트리 구조의 레벨을 가리키고, m i 노드는 레벨 j에서 m j 리프 노드를 갖는 디코딩 노드 구조에서 레벨 i에 있음을 의미한다.
m 개의 SCLD(805)는 프로세서(803)의 출력에 연결된 입력과, 출력을 포함한다. m 개의 SCLD(805)는 동시에 적용되어 길이 m j /mL 개의 부분 워드의 리스트를 결정한다. m 개의 SCLD(805) 각각은 다른 m 개의 SCLD들(805)에 의해 동시에 동작하는 노드들의 연판정 또는 경판정 추정(soft or hard decision estimate)을 사용하지 않고, 관련된 부모 노드의 LLR을 사용하고, 여기서 L은 정수이다.
도 9는 본 발명의 몇몇 실시예에 따른 병렬 SCD의 방법을 설명하기 위한 순서도이다.
도 9를 참조하면, 수신기에 의하여 길이 m j 인 코드워드가 수신되고(901), 여기서 m j는 각각 정수이다.
프로세서는 수신된 코드워드에 대하여 m j 개의 리프 노드를 갖는 디코딩 노드 트리 구조를 결정하고, 오더 m의 병렬 처리가 상기 디코딩 노드 트리 구조에 적용되는 레벨을 가리키는 정수 i를 수신하되(903), i는 0 내지 j까지의 디코딩 노드 트리 구조의 레벨을 가리키고, m i 노드는 레벨 j에서 m j 리프 노드를 갖는 디코딩 노드 구조에서 레벨 i에 있음을 의미한다.
레벨 i에서 디코딩 노드 트리 구조의 각각의 노드의 각각의 자식 노드가 동시에 m 개의 SCD들 중 하나에 의해 동시에 디코딩되고(905), m 개의 SCD들 모두는 동시에 실행되고, m 개의 SCD들 각각은 길이 m j-i 의 서브 코드에 대한 소프트 우도 척도(soft likelihood metric)를 결정하되, m 개의 SCD들 각각은 다른 m 개의 SCD들에 의해 동시에 동작하는 노드들의 연판정 또는 경판정 추정(soft or hard decision estimate)을 사용하지 않고 관련된 부모 노드의 소프트 우도 척도를 사용한다. 그리고 병렬 SCD들 각각은 또한 길이 m j-k 의 서브코드의 비트에 대응하는 레벨 k에서의 노드의 m j- k 개의 다중도(multiplicity)를 동시에 처리하고, k는 디코딩 노드 트리 구조의 i 내지 j까지의 레벨을 의미한다.
도 10은 본 발명의 몇몇 실시예에 따른 병렬화된 SCLD의 방법을 설명하기 위한 순서도이다.
도 10을 참조하면, 수신기에 의하여 길이 m j 인 코드워드가 수신되고(1001), 여기서 m j는 각각 정수이다.
프로세서는 수신된 코드워드에 대하여 m j 개의 리프 노드를 갖는 디코딩 노드 트리 구조를 결정하고, 오더 m의 병렬 처리가 상기 디코딩 노드 트리 구조에 적용되는 레벨을 가리키는 정수 i를 수신하되(1003), i는 0 내지 j까지의 디코딩 노드 트리 구조의 레벨을 가리키고, m i 노드는 레벨 j에서 m j 리프 노드를 갖는 디코딩 노드 구조에서 레벨 i에 있음을 의미한다.
프로세서는 동시에 적용된 m 개의 SCLD에 의하여 길이 m j /mL 개의 부분 워드의 리스트를 결정한다(1005). m 개의 SCLD 각각은 다른 m 개의 SCLD들에 의해 동시에 동작하는 노드들의 연판정 또는 경판정 추정(soft or hard decision estimate)을 사용하지 않고, 관련된 부모 노드의 LLR을 사용한다.
도 11은 본 발명의 몇몇 실시예에 따른 장치의 제조 방법을 설명하기 위한 순서도이다.
도 11을 참조하면, 장치는 적어도 하나의 다른 장치를 포함하는 웨이퍼 또는 패키지 상에 형성되고(1101), 여기서 상기 장치는 길이 m j (mj는 각각 정수)의 코드워드를 수신하는 입력과, 출력을 포함하는 수신기, 수신된 코드워드에 대하여, m j 개의 리프 노드를 갖는 디코딩 노드 트리 구조를 결정하고, 오더 m의 병렬 처리(parallelism)가 상기 디코딩 노드 트리 구조에 적용되는 레벨을 가리키는 정수 i를 수신하는 프로세서(i는 0 내지 j까지의 디코딩 노드 트리 구조의 레벨을 가리키고, m i 노드는 레벨 j에서 m j 리프 노드를 갖는 디코딩 노드 구조에서 레벨 i에 있음을 의미한다.), 및 동시에 적용되는 m 개의 SCD들을 포함하되, 레벨 i의 병렬 처리와 함께 각각의 SCD들이 레벨 i에서 디코딩 노드 트리 구조의 m 개의 자식 노드 중 어느 하나에 적용되고, m 개의 SCD들 모두는 동시에 실행되고, m 개의 SCD들 각각은 길이 m j-i 의 서브코드에 대한 소프트 우도 척도(soft likelihood metric)를 결정하고, m 개의 SCD들 각각은 다른 m 개의 SCD들에 의해 동시에 동작하는 노드들의 연판정 또는 경판정 추정(soft or hard decision estimate)을 사용하지 않고 관련된 부모 노드의 소프트 우도 척도를 사용하고, 병렬 SCD들 각각은 또한 길이 m j-k 의 서브코드의 비트에 대응하는 레벨 k에서의 노드의 m j- k 개의 다중도(multiplicity)를 동시에 처리하되, k는 디코딩 노드 트리 구조의 i 내지 j까지의 레벨을 의미한다.
상기 장치의 기능이 테스트된다(1103). 상기 장치의 테스트는 하나 이상의 전기-광 변환기, 광 신호를 둘 이상의 광 신호로 분배하는 하나 이상의 광 분배기, 및 하나 이상의 광-전기 변환기를 이용하여 상기 장치를 테스트하는 것을 포함한다.
도 12는 본 발명의 몇몇 실시예에 따른 집적 회로의 구성 방법을 설명하기 위한 순서도이다.
도 12를 참조하면, 초기 레이아웃 데이터가 구성된다(1201). 예를 들어, 마스크 레이아웃은 집적 회로의 레이어를 위한 특징 세트에 대하여 생성될 수 있으며, 상기 마스크 레이아웃은 길이 m j (mj는 각각 정수)의 코드워드를 수신하는 입력과, 출력을 포함하는 수신기, 수신된 코드워드에 대하여, m j 개의 리프 노드를 갖는 디코딩 노드 트리 구조를 결정하고, 오더 m의 병렬 처리(parallelism)가 상기 디코딩 노드 트리 구조에 적용되는 레벨을 가리키는 정수 i를 수신하는 프로세서(i는 0 내지 j까지의 디코딩 노드 트리 구조의 레벨을 가리키고, m i 노드는 레벨 j에서 m j 리프 노드를 갖는 디코딩 노드 구조에서 레벨 i에 있음을 의미한다.), 및 동시에 적용되는 m 개의 SCD들을 포함하는 하나 이상의 회로 특징에 대한 스탠다드 셀 라이브러리 매크로(standard cell library macro)를 포함하되, 레벨 i의 병렬 처리와 함께 각각의 SCD들이 레벨 i에서 디코딩 노드 트리 구조의 m 개의 자식 노드 중 어느 하나에 적용되고, m 개의 SCD들 모두는 동시에 실행되고, m 개의 SCD들 각각은 길이 m j-i 의 서브 코드에 대한 소프트 우도 척도(soft likelihood metric)를 결정하고, m 개의 SCD들 각각은 다른 m 개의 SCD들에 의해 동시에 동작하는 노드들의 연판정 또는 경판정 추정(soft or hard decision estimate)을 사용하지 않고 관련된 부모 노드의 소프트 우도 척도를 사용하고, 병렬 SCD들 각각은 또한 길이 m j-k 의 서브코드의 비트에 대응하는 레벨 k에서의 노드의 m j- k 개의 다중도(multiplicity)를 동시에 처리하되, k는 디코딩 노드 트리 구조의 i 내지 j까지의 레벨을 의미한다.
다음으로, 디자인 룰 검사가 수행된다(1203). 예를 들어, 상기 방법은 마스크 레이아웃을 생성한 이후에 레이아웃 디자인 룰의 준수를 위해 매크로의 상대적인 위치를 검사할 수 있다.
다음으로, 레이아웃이 조정된다(1205). 예를 들어, 임의의 매크로에 의한 레이아웃 디자인 룰의 비준수(noncompliance)가 검출되면, 상기 방법은 레이아웃 디자인 룰을 준수하도록 비준수된 매크로 각각을 변경함으로써 마스크 레이아웃을 변경할 수 있다.
다음으로, 새로운 레이아웃 데이터가 생성된다(1207). 예를 들어, 상기 방법은 집적 회로의 특징 세트(set of feature)를 갖는 변경된 마스크 레이아웃에 따른 마스크를 생성할 수 있다. 그리고, 마스크에 따른 집적 회로 레이아웃이 제조될 수 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였으나, 본 발명은 상기 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 제조될 수 있으며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
100, 300: SCD 시스템 101, 103, 105, 107: 채널
109, 111, 113, 115: 가산기 700: SCD
701, 801: 수신기 703, 803: 프로세서
705: m 개의 SCD 800: SCLD
805: m 개의 SCLD

Claims (20)

  1. 길이 m j 의 코드워드를 수신하는 입력을 포함하는 수신기로, 상기 mj는 정수인 수신기;
    상기 수신된 코드워드에 대하여 m j 개의 리프 노드(leaf node)를 갖는 디코딩 노드 트리 구조(decoding node tree structure)를 결정하고, 오더 m (order m)의 병렬 처리(parallelism)가 상기 디코딩 노드 트리 구조에 적용되는 레벨을 지시하는 정수 i를 수신하는 프로세서로, i는 0 내지 j까지의 상기 디코딩 노드 트리 구조의 레벨을 가리키고, m i 노드는 레벨 j에서 상기 m j 개의 리프 노드를 갖는 상기 디코딩 노드 트리 구조에서 레벨 i에 있음을 가리키는, 프로세서; 및
    동시에(in parallel) 적용되는 m 개의 연속 제거 디코더(Successive Cancellation Decoder; SCD)를 포함하되,
    레벨 i의 병렬 처리와 함께 각각의 상기 SCD가 레벨 i의 상기 디코딩 노드 트리 구조의 m 개의 자식 노드(child node) 중 하나에 적용되고,
    상기 m 개의 SCD 모두는 동시에 실행되고,
    상기 m 개의 SCD 각각은 길이 m j-i 의 서브코드에 대한 소프트 우도 척도(soft likelihood metric)를 결정하고, 상기 m 개의 SCD 각각은 다른 m 개의 SCD들에 의해 동시에 동작하는 노드들의 연판정 또는 경판정 추정(soft or hard decision estimate)을 사용하지 않고 관련된 부모 노드(parent node)의 소프트 우도 척도를 사용하고,
    병렬 SCD들 각각은 또한 상기 길이 m j-k 의 서브코드의 비트에 대응하는 레벨 k에서의 노드의 m j-k 개의 다중도(multiplicity)를 동시에 처리하되,
    k는 디코딩 노드 트리 구조의 i 내지 j까지의 레벨을 의미하는, 극 부호(polar code)의 병렬화된(parallelized) 연속 제거 디코딩(successive cancellation decoding) 장치.
  2. 제 1항에 있어서,
    m = 2이고, 상기 m 개의 SCD 중 하나는 다음의 로그 우도비(Log Likelihood Ratio; LLR) 결정을 위한 수식 중 하나를 이용하여 LLR을 결정하되,
    Figure pat00021
    ,
    Figure pat00022
    ,
    Figure pat00023
    ,
    y 1 y 2 는 상기 수신된 코드워드의 수신된 채널 비트(channel bits)의 LLR이고,
    Figure pat00024
    Figure pat00025
    는 각각 상기 m 개의 SCD의 경판정 추정이고, f'는 기하 평균 함수 또는 산술 평균 함수 중 어느 하나로부터 선택되는, 극 부호의 병렬화된 연속 제거 디코딩 장치.
  3. 제 1항에 있어서,
    상기 수신된 코드워드는 극 부호로 인코딩되기 이전에 에러 검출 코드로 인코딩되는, 극 부호의 병렬화된 연속 제거 디코딩 장치.
  4. 제 3항에 있어서,
    상기 에러 검출 코드는 CRC(Cyclic Redundancy Check) 코드인, 극 부호의 병렬화된 연속 제거 디코딩 장치.
  5. 제 1항에 있어서,
    상기 병렬화된 SCD의 결과의 에러를 검사하는 에러 검사기, 및
    에러가 검출되는 경우 상기 병렬화된 디코더의 상기 m 개의 SCD의 연산을 재이용하고, 상기 수신된 코드워드를 디코딩하는데 추가적으로 필요한 연산만을 수행함으로써 상기 수신된 코드워드를 디코딩하는 병렬화되지않은(non-parallelized) SCD를 더 포함하는, 극 부호의 병렬화된 연속 제거 디코딩 장치.
  6. 길이 m j 의 코드워드를 수신하는 입력을 포함하는 수신기로, 상기 mj는 정수인 수신기;
    상기 수신된 코드워드에 대하여 m j 개의 리프 노드(leaf node)를 갖는 디코딩 노드 트리 구조(decoding node tree structure)를 결정하고, 오더 m (order m)의 병렬 처리(parallelism)가 상기 디코딩 노드 트리 구조에 적용되는 레벨을 지시하는 정수 i를 수신하는 프로세서로, i는 0 내지 j까지의 상기 디코딩 노드 트리 구조의 레벨을 가리키고, m i 노드는 레벨 j에서 상기 m j 개의 리프 노드를 갖는 상기 디코딩 노드 트리 구조에서 레벨 i에 있음을 가리키는, 프로세서; 및
    동시에 적용되어 길이 m j /m의 L 개의 부분 워드(partial word)들의 리스트를 결정하는 m 개의 연속 제거 리스트 디코더(Successive Cancellation List Decoder; SCLD)를 포함하되,
    상기 m 개의 SCLD 각각은 다른 m 개의 SCLD에 의해 동시에 동작하는 노드들의 연판정 또는 경판정 추정(soft or hard decision estimate)을 사용하지 않고 관련된 부모 노드(parent node)의 로그 우도비(Log Likelihood Ratio; LLR)를 이용하고, L은 정수인, 극 부호(polar code)의 병렬화된(parallelized) 연속 제거 리스트 디코딩(successive cancellation list decoding) 장치.
  7. 제 6항에 있어서,
    상기 프로세서는, m 개의 리스트 각각으로부터 상기 부분 워드를 조합하여 길이 m j 의 후보 워드(candidate word)를 생성하고, 각각의 후보 워드에 대한 우도 척도(likelihood metric)를 결정하고, 최대의 우도 척도를 갖는 L 개의 워드를 선택하는, 극 부호의 병렬화된 연속 제거 리스트 디코딩 장치.
  8. 제 6항에 있어서,
    상기 프로세서는, 상기 후보 워드를 재인코딩하고, 상기 재인코딩된 후보 워드가 상기 수신된 코드워드인 확률을 결정하고, 상기 최대의 우도 척도를 갖는 재인코딩된 상기 L 개의 후보 워드에 대응하는 L 개의 워드를 선택하는, 극 부호의 병렬화된 연속 제거 리스트 디코딩 장치.
  9. 제 8항에 있어서,
    상기 재인코딩된 후보 워드가 상기 수신된 코드워드인 확률은, 상기 재인코딩된 후보 워드와 상기 수신된 코드워드 사이의 유클리드 거리(Euclidean distance)인, 극 부호의 병렬화된 연속 제거 리스트 디코딩 장치.
  10. 수신기에 의하여, 길이 m j 의 코드워드를 수신하되 상기 mj는 정수이고,
    프로세서에 의하여, 상기 수신된 코드워드에 대하여 m j 개의 리프 노드(leaf node)를 갖는 디코딩 노드 트리 구조(decoding node tree structure)를 결정하고, 오더 m (order m)의 병렬 처리(parallelism)가 상기 디코딩 노드 트리 구조에 적용되는 레벨을 지시하는 정수 i를 수신하되 i는 0 내지 j까지의 상기 디코딩 노드 트리 구조의 레벨을 가리키고, m i 노드는 레벨 j에서 상기 m j 개의 리프 노드를 갖는 상기 디코딩 노드 트리 구조에서 레벨 i에 있음을 가리키고,
    동시에(in parallel) 적용되는 m 개의 연속 제거 디코더(Successive Cancellation Decoder; SCD)를 이용하여 디코딩하는 것을 포함하되,
    레벨 i의 병렬 처리와 함께 각각의 상기 SCD가 레벨 i의 상기 디코딩 노드 트리 구조의 m 개의 자식 노드(child node) 중 하나에 적용되고,
    상기 m 개의 SCD 모두는 동시에 실행되고,
    상기 m 개의 SCD 각각은 길이 m j-i 의 서브코드에 대한 소프트 우도 척도(soft likelihood metric)를 결정하고, 상기 m 개의 SCD 각각은 다른 m 개의 SCD들에 의해 병렬로 동작하는 노드들의 연판정 또는 경판정 추정(soft or hard decision estimate)을 사용하지 않고 관련된 부모 노드의 소프트 우도 척도를 사용하고,
    병렬 SCD들 각각은 또한 상기 길이 m j-k 의 서브코드의 비트에 대응하는 레벨 k에서의 노드의 m j- k 개의 다중도(multiplicity)를 동시에 처리하고, k는 디코딩 노드 트리 구조의 i 내지 j까지의 레벨을 의미하는, 극 부호의 병렬화된 연속 제거 디코딩 방법.
  11. 제 10항에 있어서,
    m = 2이고, 상기 m 개의 SCD 중 하나는 다음의 로그 우도비(Log Likelihood Ratio; LLR) 결정을 위한 수식 중 하나를 이용하여 LLR을 결정하되,
    Figure pat00026
    ,
    Figure pat00027
    ,
    Figure pat00028
    ,
    y 1 y 2 는 상기 수신된 코드워드의 수신된 채널 비트(channel bits)의 LLR이고,
    Figure pat00029
    Figure pat00030
    는 각각 상기 m 개의 SCD의 경판정 추정이고, f'는 기하 평균 함수 또는 산술 평균 함수 중 어느 하나로부터 선택되는, 극 부호의 병렬화된 연속 제거 디코딩 방법.
  12. 제 10항에 있어서,
    상기 입력을 극 부호로 인코딩되기 이전에 에러 검출 코드로 인코딩하는 것을 더 포함하는, 극 부호의 병렬화된 연속 제거 디코딩 방법.
  13. 제 12항에 있어서,
    상기 에러 검출 코드로 상기 수신된 코드워드를 인코딩하는 것은 CRC 코드를 이용하여 상기 수신된 코드워드를 인코딩하는 것을 포함하는, 극 부호의 병렬화된 연속 제거 디코딩 방법.
  14. 제 12항에 있어서,
    에러 검사기에 의하여, 상기 병렬화된 SCD의 결과의 에러를 검사하고,
    에러가 검출되는 경우 병렬화되지않은(non-parallelized) SCD를 이용하여, 상기 병렬화된 디코더의 상기 m 개의 SCD의 연산을 재이용하고,
    상기 수신된 코드워드를 디코딩하는데 추가적으로 필요한 연산만을 수행함으로써 상기 수신된 코드워드를 디코딩하는 것을 더 포함하는, 극 부호의 병렬화된 연속 제거 디코딩 방법.
  15. 수신기에 의하여, 길이 m j 의 코드워드를 수신하되 상기 mj는 정수이고,
    프로세서에 의하여, 상기 수신된 코드워드에 대하여 m j 개의 리프 노드(leaf node)를 갖는 디코딩 노드 트리 구조(decoding node tree structure)를 결정하고, 오더 m (order m)의 병렬 처리(parallelism)가 상기 디코딩 노드 트리 구조에 적용되는 레벨을 지시하는 정수 i를 수신하되 i는 0 내지 j까지의 상기 디코딩 노드 트리 구조의 레벨을 가리키고, m i 노드는 레벨 j에서 상기 m j 개의 리프 노드를 갖는 상기 디코딩 노드 트리 구조에서 레벨 i에 있음을 가리키고,
    동시에(in parallel) 적용되는 m 개의 연속 제거 디코더(Successive Cancellation Decoder; SCD)를 이용하여 길이 m j /mL 개의 부분 워드(partial word)들의 리스트를 결정하는 것을 포함하되,
    상기 m 개의 SCLD 각각은 다른 m 개의 SCLD에 의해 동시에 동작하는 노드들의 연판정 또는 경판정 추정(soft or hard decision estimate)을 사용하지 않고 관련된 부모 노드(parent node)의 로그 우도비(Log Likelihood Ratio; LLR)를 이용하고, 상기 L은 정수인, 극 부호의 병렬화된 연속 제거 리스트 디코딩 방법.
  16. 제 15항에 있어서,
    상기 프로세서에 의하여, m 개의 리스트 각각으로부터 상기 부분 워드를 조합하여 길이 mj의 후보 워드(candidate word)를 생성하고, 각각의 후보 워드에 대한 우도 척도(likelihood metric)를 결정하고, 최대의 우도 척도를 갖는 L 개의 워드를 선택하는 것을 더 포함하는, 극 부호의 병렬화된 연속 제거 리스트 디코딩 방법.
  17. 제 16항에 있어서,
    상기 프로세서에 의하여, 상기 후보 워드를 재인코딩하고, 상기 재인코딩된 후보 워드가 상기 수신된 코드워드인 확률을 결정하고, 상기 최대의 우도 척도를 갖는 재인코딩된 상기 L 개의 후보 워드에 대응하는 L 개의 워드를 선택하는 것을 더 포함하는, 극 부호의 병렬화된 연속 제거 리스트 디코딩 방법.
  18. 제 17항에 있어서,
    상기 재인코딩된 후보 워드가 상기 수신된 코드워드인 확률을 결정하는 것은, 상기 재인코딩된 후보 워드와 상기 수신된 코드워드 사이의 유클리드 거리(Euclidean distance)를 결정하는 것을 포함하는, 극 부호의 병렬화된 연속 제거 리스트 디코딩 방법.
  19. 적어도 하나의 다른 장치를 포함하는 웨이퍼 또는 패키지에 장치를 생성하되, 상기 장치는 길이 m j 의 코드워드를 수신하는 입력을 포함하는 수신기로, 상기 mj는 정수인 수신기, 상기 수신된 코드워드에 대하여 m j 개의 리프 노드(leaf node)를 갖는 디코딩 노드 트리 구조(decoding node tree structure)를 결정하고, 오더 m (order m)의 병렬 처리(parallelism)가 상기 디코딩 노드 트리 구조에 적용되는 레벨을 지시하는 정수 i를 수신하는 프로세서로, i는 0 내지 j까지의 상기 디코딩 노드 트리 구조의 레벨을 가리키고, m i 노드는 레벨 j에서 상기 m j 개의 리프 노드를 갖는 상기 디코딩 노드 트리 구조에서 레벨 i에 있음을 가리키는, 프로세서, 및 동시에(in parallel) 적용되는 m 개의 연속 제거 디코더(Successive Cancellation Decoder; SCD)를 포함하되, 레벨 i의 병렬 처리와 함께 각각의 상기 SCD가 레벨 i의 상기 디코딩 노드 트리 구조의 m 개의 자식 노드(child node) 중 하나에 적용되고, 상기 m 개의 SCD 모두는 동시에 실행되고, 상기 m 개의 SCD 각각은 길이 m j-i 의 서브코드에 대한 소프트 우도 척도(soft likelihood metric)를 결정하고, 상기 m 개의 SCD 각각은 다른 m 개의 SCD들에 의해 동시에 동작하는 노드들의 연판정 또는 경판정 추정(soft or hard decision estimate)을 사용하지 않고 관련된 부모 노드(parent node)의 소프트 우도 척도를 사용하고, 병렬 SCD들 각각은 또한 상기 길이 m j-k 의 서브코드의 비트에 대응하는 레벨 k에서의 노드의 m j- k 개의 다중도(multiplicity)를 동시에 처리하되, k는 디코딩 노드 트리 구조의 i 내지 j까지의 레벨을 의미하고,
    상기 장치를 테스트하는 것을 포함하되 상기 장치의 테스트는 하나 이상의 전기-광 변환기, 광 신호를 둘 이상의 광 신호로 분배하는 하나 이상의 광 분배기, 및 하나 이상의 광-전기 변환기를 이용하여 상기 장치를 테스트하는 것을 포함하는, 극 부호의 병렬화된 연속 제거 디코딩 장치의 제조 방법.
  20. 집적 회로의 레이어에 대한 특징 세트(feature set)를 위한 마스크 레이아웃을 생성하되, 상기 마스크 레이아웃은 길이 m j 의 코드워드를 수신하는 입력을 포함하는 리시버로, 상기 m 및 j는 정수인 리시버, 상기 수신된 코드워드에 대하여 m j 개의 리프 노드(leaf node)를 갖는 디코딩 노드 트리 구조(decoding node tree structure)를 결정하고, 오더 m (order m)의 병렬 처리(parallelism)가 상기 디코딩 노드 트리 구조에 적용되는 레벨을 지시하는 정수 i를 수신하는 프로세서로, i는 0 내지 j까지의 상기 디코딩 노드 트리 구조의 레벨을 가리키고, m i 노드는 레벨 j에서 상기 m j 개의 리프 노드를 갖는 상기 디코딩 노드 트리 구조에서 레벨 i에 있음을 가리키는, 프로세서, 및 동시에(in parallel) 적용되는 m 개의 연속 제거 디코더(Successive Cancellation Decoder; SCD)를 포함하는 하나 이상의 회로 특징에 대한 스탠다드 셀 라이브러리 매크로(standard cell library macro)를 포함하되, 레벨 i의 병렬 처리와 함께 각각의 상기 SCD가 레벨 i의 상기 디코딩 노드 트리 구조의 m 개의 자식 노드(child node) 중 하나에 적용되고, 상기 m 개의 SCD 모두는 동시에 실행되고, 상기 m 개의 SCD 각각은 길이 m j-i 의 서브코드에 대한 소프트 우도 척도(soft likelihood metric)를 결정하고, 상기 m 개의 SCD 각각은 다른 m 개의 SCD들에 의해 병렬로 동작하는 노드들의 연판정 또는 경판정 추정(soft or hard decision estimate)을 사용하지 않고 관련된 부모 노드의 소프트 우도 척도를 사용하고, 병렬 SCD들 각각은 또한 상기 길이 m j-k 의 서브코드의 비트에 대응하는 레벨 k에서의 노드의 m j- k 개의 다중도(multiplicity)를 동시에 처리하되, k는 디코딩 노드 트리 구조의 i 내지 j까지의 레벨을 의미하고,
    상기 마스크 레이아웃의 생성 도중에 레이아웃 디자인 룰의 준수를 위해 상기 매크로의 상대적인 위치를 무시하고,
    상기 마스크 레이아웃의 생성 이후에 상기 레이아웃 디자인 룰 준수를 위해 상기 매크로의 상기 상대적인 위치를 검사하고,
    상기 매크로 중 상기 레이아웃 디자인 룰을 준수하지 않은 임의의 매크로에 대하여, 상기 준수하지 않은 매크로 각각을 수정함으로써 상기 마스크 레이아웃을 수정하여 상기 레이아웃 디자인 룰을 준수시키고,
    상기 집적 회로의 상기 레이어의 상기 특징 세트를 갖는 상기 수정된 마스크 레이아웃에 따라 마스크를 생성하고,
    상기 마스크에 따라 상기 집적 회로 레이어를 제조하는 것을 포함하는, 집적 회로의 구성 방법.
KR1020170061094A 2016-09-20 2017-05-17 극 부호의 병렬화된 연속 제거 디코딩 및 연속 제거 리스트 디코딩을 위한 장치 및 방법 KR102223968B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201662397053P 2016-09-20 2016-09-20
US62/397,053 2016-09-20
US15/398,378 2017-01-04
US15/398,378 US10153787B2 (en) 2016-09-20 2017-01-04 Apparatus and method for parallelized successive cancellation decoding and successive cancellation list decoding of polar codes

Publications (2)

Publication Number Publication Date
KR20180031555A true KR20180031555A (ko) 2018-03-28
KR102223968B1 KR102223968B1 (ko) 2021-03-10

Family

ID=61621431

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170061094A KR102223968B1 (ko) 2016-09-20 2017-05-17 극 부호의 병렬화된 연속 제거 디코딩 및 연속 제거 리스트 디코딩을 위한 장치 및 방법

Country Status (4)

Country Link
US (2) US10153787B2 (ko)
KR (1) KR102223968B1 (ko)
CN (1) CN107846261B (ko)
TW (1) TWI754670B (ko)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101940664B1 (ko) * 2018-04-06 2019-01-21 한국항공대학교산학협력단 저전력 연속-제거 극 복호기를 위한 포화 인식 llr 처리 장치 및 방법
KR102144266B1 (ko) * 2019-05-10 2020-08-13 포항공과대학교 산학협력단 통신 시스템에서 폴라 코드에 기초한 디코딩 방법 및 장치
KR102242762B1 (ko) * 2019-12-27 2021-04-20 한국항공대학교산학협력단 연속 제거 극 복호기의 스토리지 구조를 갖는 장치 및 연속 제거 극 복호기의 스토리지 구조를 이용한 데이터 처리 방법
WO2021107746A1 (ko) * 2019-11-29 2021-06-03 삼성전자 주식회사 통신 및 방송 시스템에서 극부호의 복호화 방법 및 장치
KR20210093243A (ko) * 2018-11-23 2021-07-27 아셀산 엘렉트로닉 사나이 베 티카렛 아노님 시르케티 연속 제거 리스트 디코더를 위한 하드웨어 복잡성 감소 기술
WO2021163010A1 (en) * 2020-02-14 2021-08-19 Micron Technology, Inc. Error detection code generation techniques
US11509334B2 (en) 2020-02-26 2022-11-22 Samsung Electronics Co., Ltd. Decoding apparatus and decoding method for decoding operation in channel coding
KR20230040702A (ko) * 2021-09-16 2023-03-23 아주대학교산학협력단 극 부호를 이용하는 복호화를 위한 복호 위치 제어 정보 생성 방법 및 장치
US12021619B2 (en) 2022-11-21 2024-06-25 Samsung Electronics Co., Ltd. Method and device for performing PAC code-based hybrid decoding in wireless communication system

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10389484B2 (en) * 2016-07-29 2019-08-20 Lg Electronics Inc. Method for performing polar coding and apparatus therefor
EP3520222A1 (en) * 2016-09-30 2019-08-07 Telefonaktiebolaget LM Ericsson (PUBL) Soft output decoding of polar codes
US10313056B2 (en) * 2017-02-06 2019-06-04 Mitsubishi Electric Research Laboratories, Inc. Irregular polar code encoding
GB2563419B (en) * 2017-06-15 2020-04-22 Accelercomm Ltd Polar decoder, communication unit, integrated circuit and method therefor
CN110391868B (zh) * 2018-04-18 2022-04-12 华为技术有限公司 一种极化Polar码的译码方法及通信设备
CN108768411A (zh) * 2018-07-09 2018-11-06 中国计量大学 基于scl的极化码低复杂度分段译码器设计
CN111200439B (zh) * 2018-11-16 2022-05-06 华为技术有限公司 译码方法、装置及设备
CN111817729B (zh) * 2019-04-10 2023-10-20 大唐移动通信设备有限公司 一种译码终止方法及装置
CN112583422A (zh) * 2019-09-30 2021-03-30 深圳市中兴微电子技术有限公司 数据译码方法和装置及计算机存储介质
WO2021174484A1 (en) 2020-03-05 2021-09-10 Nokia Shanghai Bell Co., Ltd. Enhanced decoding for polarization code
CN112187290B (zh) * 2020-10-13 2023-02-17 中山大学 一种基于Polar编译码树的多元码编译码方法及系统
US11463114B2 (en) * 2021-02-22 2022-10-04 Mitsubishi Electric Research Laboratories, Inc. Protograph quasi-cyclic polar codes and related low-density generator matrix family
US11784751B1 (en) * 2022-05-16 2023-10-10 Qualcomm Incorporated List size reduction for polar decoding

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150079479A (ko) * 2013-12-31 2015-07-08 삼성전자주식회사 폴라 프로세싱 메커니즘을 포함하는 컴퓨팅 시스템 및 그것의 동작 방법
KR20150108362A (ko) * 2013-01-23 2015-09-25 삼성전자주식회사 연접한 극성 코드를 사용하여 인코딩 및 디코딩하는 방법 및 시스템
KR20150123781A (ko) * 2012-12-03 2015-11-04 디지털 파워라디오, 엘엘씨 연접 코딩 시스템의 개선된 반복 디코딩 및 채널 추정을 위한 시스템 및 방법

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8279977B2 (en) * 2010-12-14 2012-10-02 VeriSilicon MIMO signal detector, a method of detecting MIMO signals and a MIMO receiver
US9176927B2 (en) * 2011-11-08 2015-11-03 The Royal Institution For The Advancement Of Learning/Mcgill University Methods and systems for decoding polar codes
CN103220001B (zh) * 2012-01-20 2016-09-07 华为技术有限公司 与循环冗余校验级联的极性码的译码方法和译码装置
CN103368583B (zh) * 2012-04-11 2016-08-17 华为技术有限公司 极性码的译码方法和译码装置
CN104038234B (zh) 2013-03-07 2017-09-29 华为技术有限公司 极性码的译码方法和译码器
CN104124979B (zh) * 2013-04-27 2018-04-17 华为技术有限公司 极性码的译码方法和译码装置
US9467253B2 (en) * 2013-07-09 2016-10-11 Samsung Electronics Co., Ltd. Computing system with coordinated multiple-access mechanism and method of operation thereof
US9467164B2 (en) * 2013-10-01 2016-10-11 Texas Instruments Incorporated Apparatus and method for supporting polar code designs
KR101496182B1 (ko) * 2013-12-16 2015-03-09 성균관대학교산학협력단 최소거리가 확장된 극 부호 생성 방법 및 장치
KR101819015B1 (ko) 2013-12-24 2018-01-16 후아웨이 테크놀러지 컴퍼니 리미티드 폴라 코드 디코딩 방법 및 디코딩 장치
RU2571587C2 (ru) * 2014-04-10 2015-12-20 Самсунг Электроникс Ко., Лтд. Способ и устройство кодирования и декодирования данных в скрученном полярном коде
US10193578B2 (en) * 2014-07-10 2019-01-29 The Royal Institution For The Advancement Of Learning / Mcgill University Flexible polar encoders and decoders
US9628114B2 (en) * 2015-03-31 2017-04-18 Macronix International Co., Ltd. Length-compatible extended polar codes
CN105049061B (zh) * 2015-04-28 2018-06-01 北京邮电大学 基于超前计算的高维基极化码译码器和极化码译码方法
CN105141322B (zh) * 2015-09-16 2018-09-07 哈尔滨工业大学 一种基于极化码sc译码的部分和方法
CN105281785B (zh) * 2015-10-22 2018-08-31 东南大学 一种列表连续消除极化码译码方法、装置
EP3381128B1 (en) * 2015-11-24 2020-01-01 Coherent Logix, Incorporated Memory management and path sorting in a polar code successive cancellation list decoder
CN105720992B (zh) * 2016-01-22 2019-07-23 哈尔滨工业大学深圳研究生院 一种极化码的简化译码方法
US10305514B2 (en) * 2016-02-04 2019-05-28 The Royal Institution For The Advancement Of Learning/Mcgill University Multi-mode unrolled polar decoders
CN105811998B (zh) * 2016-03-04 2019-01-18 深圳大学 一种基于密度演进的极化码构造方法及极化码编译码系统
US10361728B2 (en) * 2016-06-17 2019-07-23 Huawei Technologies Co., Ltd. Multiple-symbol combination based decoding for general polar codes
US10361717B2 (en) * 2016-06-17 2019-07-23 Huawei Technologies Co., Ltd. Apparatus and methods for error detection coding
US10425107B2 (en) * 2016-09-09 2019-09-24 Huawei Technologies Co., Ltd. Partial sum computation for polar code decoding

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150123781A (ko) * 2012-12-03 2015-11-04 디지털 파워라디오, 엘엘씨 연접 코딩 시스템의 개선된 반복 디코딩 및 채널 추정을 위한 시스템 및 방법
KR20150108362A (ko) * 2013-01-23 2015-09-25 삼성전자주식회사 연접한 극성 코드를 사용하여 인코딩 및 디코딩하는 방법 및 시스템
KR20150079479A (ko) * 2013-12-31 2015-07-08 삼성전자주식회사 폴라 프로세싱 메커니즘을 포함하는 컴퓨팅 시스템 및 그것의 동작 방법

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101940664B1 (ko) * 2018-04-06 2019-01-21 한국항공대학교산학협력단 저전력 연속-제거 극 복호기를 위한 포화 인식 llr 처리 장치 및 방법
KR20210093243A (ko) * 2018-11-23 2021-07-27 아셀산 엘렉트로닉 사나이 베 티카렛 아노님 시르케티 연속 제거 리스트 디코더를 위한 하드웨어 복잡성 감소 기술
KR102144266B1 (ko) * 2019-05-10 2020-08-13 포항공과대학교 산학협력단 통신 시스템에서 폴라 코드에 기초한 디코딩 방법 및 장치
WO2021107746A1 (ko) * 2019-11-29 2021-06-03 삼성전자 주식회사 통신 및 방송 시스템에서 극부호의 복호화 방법 및 장치
US11824654B2 (en) 2019-11-29 2023-11-21 Samsung Electronics Co., Ltd. Method and apparatus for decoding polar code in communication and broadcasting system
KR102242762B1 (ko) * 2019-12-27 2021-04-20 한국항공대학교산학협력단 연속 제거 극 복호기의 스토리지 구조를 갖는 장치 및 연속 제거 극 복호기의 스토리지 구조를 이용한 데이터 처리 방법
WO2021163010A1 (en) * 2020-02-14 2021-08-19 Micron Technology, Inc. Error detection code generation techniques
US11281529B2 (en) 2020-02-14 2022-03-22 Micron Technology, Inc. Error detection code generation techniques
US11675656B2 (en) 2020-02-14 2023-06-13 Micron Technology, Inc. Error detection code generation techniques
US11509334B2 (en) 2020-02-26 2022-11-22 Samsung Electronics Co., Ltd. Decoding apparatus and decoding method for decoding operation in channel coding
KR20230040702A (ko) * 2021-09-16 2023-03-23 아주대학교산학협력단 극 부호를 이용하는 복호화를 위한 복호 위치 제어 정보 생성 방법 및 장치
US12021619B2 (en) 2022-11-21 2024-06-25 Samsung Electronics Co., Ltd. Method and device for performing PAC code-based hybrid decoding in wireless communication system

Also Published As

Publication number Publication date
CN107846261B (zh) 2021-08-10
TW201815077A (zh) 2018-04-16
US20180083655A1 (en) 2018-03-22
KR102223968B1 (ko) 2021-03-10
US20190109604A1 (en) 2019-04-11
TWI754670B (zh) 2022-02-11
US10673467B2 (en) 2020-06-02
US10153787B2 (en) 2018-12-11
CN107846261A (zh) 2018-03-27

Similar Documents

Publication Publication Date Title
KR102223968B1 (ko) 극 부호의 병렬화된 연속 제거 디코딩 및 연속 제거 리스트 디코딩을 위한 장치 및 방법
CN110582786A (zh) 以低空间开销和渐近输入计数进行魔幻态纯化
JP2006121686A (ja) 低密度パリティ検査コードを効率的に復号する方法及び装置
US9843414B2 (en) Low complexity error correction
JP2002353946A (ja) 有限サイズのデータブロックに対して誤り訂正符号を評価する方法
US20130007551A1 (en) Stochastic Stream Decoding of Binary LDPC Codes
US10848182B2 (en) Iterative decoding with early termination criterion that permits errors in redundancy part
CN107979445A (zh) 使用预先排序的输入的基于基本校验节点的校正子解码
US9590657B2 (en) Low power low-density parity-check decoding
US20200052719A1 (en) Communication method and apparatus using polar codes
US11075651B2 (en) Generalized low-density parity check codes (GLDPC)
JP6533039B2 (ja) メッセージパッシングを用いた訂正符号の復号、特にldpc符号又はターボ符号の復号改良方法
Lou et al. Channel Coding
Kestel et al. Polar code decoder exploration framework
US10298262B2 (en) Decoding low-density parity-check maximum-likelihood single-bit messages
KR102607761B1 (ko) 극 부호를 이용하는 복호화를 위한 복호 위치 제어 정보 생성 방법 및 장치
Sha et al. Stage-combined belief propagation decoding of polar codes
Dupraz et al. Practical LDPC encoders robust to hardware errors
Süral An FPGA implementation of successive cancellation list decoding for polar codes
Sarkis et al. Unrolled polar decoders, part ii: Fast list decoders
Moradi Performance and computational analysis of polarization-adjusted convolutional (PAC) codes
JP2006340016A (ja) 誤り訂正符号復号装置及びそれを用いた復号方法
JP2010535459A (ja) 線形計画法復号のための座標上昇法
WO2007116339A1 (en) Iterative soft decoding of constrained code words
Broulim et al. OpenCL/CUDA algorithms for parallel decoding of any irregular LDPC code using GPU

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant