KR102142142B1 - 높은 레이트, 높은 병렬성, 및 낮은 에러 플로어를 위해 준순환 구조들 및 펑처링을 사용하는 ldpc 설계 - Google Patents

높은 레이트, 높은 병렬성, 및 낮은 에러 플로어를 위해 준순환 구조들 및 펑처링을 사용하는 ldpc 설계 Download PDF

Info

Publication number
KR102142142B1
KR102142142B1 KR1020157024376A KR20157024376A KR102142142B1 KR 102142142 B1 KR102142142 B1 KR 102142142B1 KR 1020157024376 A KR1020157024376 A KR 1020157024376A KR 20157024376 A KR20157024376 A KR 20157024376A KR 102142142 B1 KR102142142 B1 KR 102142142B1
Authority
KR
South Korea
Prior art keywords
base
nodes
punctured
ldpc code
bits
Prior art date
Application number
KR1020157024376A
Other languages
English (en)
Other versions
KR20150118992A (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 KR20150118992A publication Critical patent/KR20150118992A/ko
Application granted granted Critical
Publication of KR102142142B1 publication Critical patent/KR102142142B1/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/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
    • H03M13/1105Decoding
    • 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
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/118Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
    • 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/033Theoretical methods to calculate these checking codes
    • H03M13/036Heuristic code construction methods, i.e. code construction or code search based on using trial-and-error
    • 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
    • H03M13/1105Decoding
    • H03M13/1131Scheduling of bit node or check node processing
    • H03M13/1137Partly parallel processing, i.e. sub-blocks or sub-groups of nodes being processed in parallel
    • 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
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/116Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
    • 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
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/116Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
    • H03M13/1168Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices wherein the sub-matrices have column and row weights greater than one, e.g. multi-diagonal sub-matrices
    • 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
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/118Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
    • H03M13/1185Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure wherein the parity-check matrix comprises a part with a double-diagonal
    • 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
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/118Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
    • H03M13/1185Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure wherein the parity-check matrix comprises a part with a double-diagonal
    • H03M13/1188Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure wherein the parity-check matrix comprises a part with a double-diagonal wherein in the part with the double-diagonal at least one column has an odd column weight equal or greater than three
    • 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/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/611Specific encoding aspects, e.g. encoding by means of decoding
    • 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/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • H03M13/6362Error control coding in combination with rate matching by puncturing

Landscapes

  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

LDPC 인코딩/디코딩 방법이 개시된다. 인코더는 정보 비트들의 세트를 수신하고, 하나 이상의 펑처링된 노드들을 포함하는 베이스 LDPC 코드를 사용하여 코드워드를 생성하기 위해 정보 비트들에 대해 리프팅된 LDPC 인코딩 동작을 수행한다. 하나 이상의 펑처링된 노드들을 포함하는 베이스 LDPC 코드는 노드 쌍들 사이에 어떠한 다수의 에지들도 갖지 않고, 반면에 하나 이상의 펑처링된 노드들이 없는 베이스 LDPC 코드는 노드 쌍들 사이에 다수의 에지들을 갖는다. 따라서, 펑처링된 노드는 리프팅된 LDPC 코드에 대한 베이스 그래프에서 다수의 에지들을 제거하는데 사용된다. 이어서, 인코더는 베이스 LDPC 코드의 하나 이상의 펑처링된 베이스 비트들에 대응하는 코드워드의 모든 리프팅된 비트들을 펑처링한다. 하나 이상의 펑처링된 베이스 비트들은 베이스 LDPC 코드의 하나 이상의 펑처링된 베이스 노드들에 각각 대응하는 것들이다. 일부 실시예들에서, 하나 이상의 펑처링된 베이스 노드들은 하나 이상의 2 차수의 가변 노드들에 대응한다. LDPC 디코더는 반복적인 디코딩 동작 동안에 펑처링된 코드워드 비트들을 소거되는 것으로 처리한다.

Description

높은 레이트, 높은 병렬성, 및 낮은 에러 플로어를 위해 준순환 구조들 및 펑처링을 사용하는 LDPC 설계{LDPC DESIGN USING QUASI―CYCLIC CONSTRUCTIONS AND PUNCTURING FOR HIGH RATE, HIGH PARALLELISM, AND LOW ERROR FLOOR}
[0001] 본 실시예들은 일반적으로 통신들 및 데이터 저장 시스템들에 관한 것이며, 구체적으로는, LDPC 코드들을 사용하는 통신들 및 데이터 저장 시스템들에 관한 것이다.
[0002] 많은 통신 시스템들은 에러-정정 코드들을 사용한다. 구체적으로, 에러 정정 코드들은, 리던던시(redundancy)를 데이터 스트림에 도입함으로써 이러한 시스템들에서 정보 전달의 본질적인 불확실성(unreliability)을 보상한다. LDPC(low density parity check) 코드들은, 반복적인 코딩 시스템을 사용하는 특정 타입의 에러 정정 코드들이다. LDPC 코드들은 이분 그래프들(bipartite graphs)("테너(Tanner) 그래프들"로 종종 지칭됨)에 의해 표현될 수 있고, 여기서 한 세트의 가변 노드들은 코드워드의 비트들에 대응하고, 한 세트의 체크 노드들은 코드를 정의하는 한 세트의 패리티(parity) 체크 제약들에 대응한다. 가변 노드 및 체크 노드는, 그들이 그래프에서 에지에 의해 접속되는 경우에, "이웃들"로 고려된다. 가변 노드 시퀀스와 일 대 일 연관성을 갖는 비트 시퀀스는, 각각의 체크 노드에 대해, 모든 이웃하는 가변 노드들과 연관된 비트들의 합이 제로 모듈로(modulo) 2가 되는 것과 필요 충분 조건(if and only if)인 유효 코드워드이다(즉, 그들은 짝수의 1들을 포함함).
[0003] 예를 들면, 도 1a는 예시적인 LDPC 코드를 나타내는 이분 그래프(100)를 도시한다. 이분 그래프(100)는 4 개의 체크 노드들(120)(정사각형들로 표현됨)에 접속된 5 개의 가변 노드들(110)(원형들로 표현됨)의 세트를 포함한다. 그래프(100) 내의 에지들은 가변 노드들(110)을 체크 노드들(120)에 접속한다. 도 1b는 이분 그래프(100)의 매트릭스 표현(150)을 도시한다. 매트릭스 표현(150)은 패리티 체크 매트릭스(H) 및 코드워드 벡터(x)를 포함하고, 여기서 x1-x5는 코드워드(x)의 비트들을 나타낸다. 더 구체적으로, 코드워드 벡터(x)는, Hx = 0인 것과 필요 충분 조건인 유효 코드워드를 나타낸다. 도 2는, 예를 들면, 공동으로 소유된 미국 특허 제 7,552,097 호에 설명된 바와 같이, 도 1a의 그래프의 3 개의 사본들을 만드는 효과를 그래프로 예시한다. 3 개의 사본들은 사본들 사이에서 유사한 에지들을 치환(permuting)함으로써 상호 접속될 수 있다. 이러한 치환들이 순환 치환들로 제한되면, 결과적인 그래프는 리프팅(Z=3) 경우의 준순환(quasi-cyclic) LDPC에 대응한다. 오리지널 그래프 ― 오리지널 그래프로부터 3 개의 사본들이 만들어짐 ― 는 본원에서 베이스 그래프로 지칭된다.
[0004] 수신된 LDPC 코드워드는 오리지널 코드워드의 재구성된 버전을 생성하도록 디코딩될 수 있다. 에러들의 부재 시에 또는 정정 가능한 에러들의 경우에, 디코딩은 인코딩된 오리지널 데이터 유닛을 복원하는데 사용될 수 있다. LDPC 디코더(들)는 일반적으로, 에지들을 따라 이분 그래프(100) 내에서 메시지들을 교환하고, 인입하는 메시지들에 기초하여 노드들에서 계산들을 수행함으로써 이러한 메시지들을 업데이트함으로써 동작한다. 예를 들면, 그래프(100) 내의 각각의 가변 노드(110)에는, 통신 채널로부터의 관측들에 의해 결정된 연관된 비트의 값의 추정치를 나타내는 "소프트 비트(예를 들면, 코드워드의 수신된 비트를 나타냄)"가 초기에 제공될 수 있다. 이러한 소프트 비트들을 사용하여, LDPC 디코더들은, 메모리로부터 메시지들 또는 메시지들의 일부 부분을 반복적으로 판독하고, 업데이트된 메시지 또는 메시지들의 일부 부분을 다시 메모리에 기록함으로써 메시지들을 업데이트할 수 있다. 업데이트 동작들은 통상적으로 대응하는 LDPC 코드의 패리티 체크 제약들에 기초한다. 리프팅된 LDPC 코드들에 대한 구현들에서, 유사한 에지들 상의 메시지들이 종종 동시에 프로세싱된다.
[0005] 고속 애플리케이션들을 위해 설계된 LDPC 코드들은, 인코딩 및 디코딩 동작들에서 높은 병렬성(parallelism)을 지원하기 위해 큰 리프팅 배율들 및 비교적 작은 베이스 그래프들을 갖는 준순환 구조들을 종종 사용한다. 더 높은 코드 레이트들(예를 들면, 메시지 길이(K) 대 코드워드 길이(N)의 비율)을 갖는 LDPC 코드들은 비교적 더 적은 패리티 체크들을 갖는 경향이 있다. 베이스 패리티 체크들의 수가 가변 노드의 차수(degree)(예를 들면, 가변 노드에 접속된 에지들의 수)보다 더 작다면, 베이스 그래프에서, 그 가변 노드는 2 개 이상의 에지들에 의해 베이스 패리티 체크들 중 적어도 하나에 접속된다(예를 들면, 가변 노드는 "이중 에지"를 가질 수 있음). 2 개 이상의 에지들에 의해 베이스 가변 노드 및 베이스 체크 노드가 접속되는 것은 병렬 하드웨어 구현 목적들에 대해 일반적으로 바람직하지 않다. 예를 들면, 그러한 이중 에지들은 동일한 메모리 위치들로의 다수의 동시의 판독 및 기록 동작들을 발생시킬 수 있고, 이것은 차례로 데이터 일관성(data coherency) 문제들을 생성할 수 있다. 병렬 메시지 업데이트들의 파이프라이닝은 이중 에지들의 존재에 의해 불리하게 영향을 받을 수 있다.
[0006] 이 요약은 상세한 설명에서 하기에 추가로 설명되는 개념들의 선택을 단순화된 형태로 소개하도록 제공된다. 이 요약은 청구된 청구 대상의 핵심적인 특징들 또는 본질적인 특징들을 식별하도록 의도되지 않고 청구된 청구 대상의 범위를 제한하도록 의도되지도 않는다.
[0007] LDPC(low density parity check) 코드워드들의 인코딩 및/또는 디코딩을 보조할 수 있는 디바이스 및 동작 방법이 개시된다. 펑처링된 가변 노드(또한 상태 가변 노드로 알려짐)의 베이스 그래프 설계로의 부가는, 코드의 레이트 파라미터들(k 및 n)을 변경하지 않고서, 그래프 내의 체크들의 수를 1만큼 효과적으로 증가시킬 수 있다는 것이 유의된다. 일부 실시예들에서, 인코더는 정보 비트들의 세트를 수신하고, 코드워드를 생성하기 위해 정보 비트들에 대해 LDPC 인코딩 동작을 수행할 수 있다. 이어서, 상기 디바이스는 LDPC 인코딩 동작에 사용되는 리프팅된 LDPC 코드에 기초하여 하나 이상의 베이스 가변 노드들에 대응하는 리프팅된 코드워드 비트들의 세트를 펑처링할 수 있고, 여기서 펑처링된 비트들은 베이스 LDPC 그래프의 하나 이상의 펑처링된 베이스 가변 노드들에 각각 대응한다. 코드의 그래픽 설명에서 펑처링된 가변 노드들이 리프팅된 패리티 체크 매트릭스 상에서 동작하는 체크 노드 결합 프로세스에 의해 그 설명으로부터 제거될 수 있다는 것이 이해된다. 따라서, 하나 이상의 펑처링된 베이스 노드들 중 적어도 하나는, 펑처링된 가변 노드의 제거가 다수의 에지들을 발생시킬 때, 리프팅된 LDPC 코드에 대한 베이스 그래프의 노드 쌍들 사이의 다수의 에지들을 제거하는 것으로 이해된다.
[0008] 일부 실시예들에서, 하나 이상의 펑처링된 노드들은 LDPC 코드의 체크 노드들의 수와 동일하거나 이보다 1이 더 적은 차수(degree)를 갖는 가변 노드를 포함할 수 있다. 예를 들면, 펑처링된 노드들 중 적어도 하나는 LDPC 코드의 가장 높은 차수의 가변 노드일 수 있다. 그러한 실시예에서, 코드의 성능을 개선하기 위해 고차수의 노드가 종종 요구된다. 예를 들면, 펑처링은, 베이스 그래프에서 이중 에지들을 회피하면서, 더 높은 가변 노드 차수를 허용한다. 그래프 내의 펑처링된 가변 노드의 존재는, 그렇지 않는 경우에, 동일한 크기 및 레이트의 코드의 베이스 그래프에서 존재할 체크 노드들의 수를 효과적으로 증가시킨다. 다른 실시예들에서, 펑처링된 노드들 중 적어도 하나는, 체크 노드를 분할하지 않는 경우에, 2 개 이상의 에지들에 의해 LDPC 코드의 가변 노드에 접속될 체크 노드를 분할하는데 사용되는 2 차수의 가변 노드일 수 있다. 펑처링된 2 차수의 노드가 접속되는 2 개의 패리티 체크들을 부가함으로써 설명으로부터 펑처링된 2 차수의 노드가 제거될 수 있다. 따라서, 적어도 하나의 펑처링된 베이스 2 차수의 가변 노드는 베이스 LDPC 그래프에서 이중 에지들을 제거하는데 사용될 수 있다. 마찬가지로, 가변 노드의 차수를 1로 효과적으로 감소시키기 위한 제약 노드들을 합산하는 제거 프로세스에 의해 패리티 체크 매트릭스 표현으로부터 고차수의 펑처링된 노드가 제거될 수 있다. 1 차수의 펑처링된 노드는, 코드를 변경하지 않고서, 자신의 이웃하는 체크 노드와 함께 그래프로부터 제거될 수 있다. 그러한 제거 프로세스는 이중 또는 다수의 에지들을 그 표현에 도입시킬 가능성이 있고, 이것은 디코딩의 병렬 구현에서 바람직하지 않다.
[0009] 베이스 LDPC 그래프로부터 이중(또는 다수의) 에지들을 제거 또는 감소시킴으로써, 본 실시예들은 LDPC 디코딩 동작을 병렬로 수행하는 하드웨어의 복잡성을 감소시킬 수 있고, 이로써 리프팅된 LDPC 코드들을 구현하는 LDPC 디코더들의 프로세싱 효율을 증가시킨다. 이것은 또한 메모리에서 수행되는 판독 및/또는 기록 동작들을 간소화하고, 판독 및 기록 동작들이 비순차적으로 수행되지 않는다는 것을 보장한다. 이중 에지들을 회피하면서, 더 큰 가변 노드 차수들을 허용함으로써, 본 실시예들은 또한 LDPC 코딩 시스템의 에러 정정 성능을 개선할 수 있다.
[0010] 본 실시예들은 예로서 예시되며, 첨부 도면들의 그림들에 의해 제한되도록 의도되지 않는다.
[0011] 도 1a 및 도 1b는 예시적인 LDPC 코드의 그래픽 및 매트릭스 표현들을 도시한다.
[0012] 도 2는 도 1a의 그래프의 3 개의 사본들을 만드는 효과를 그래프로 예시한다.
[0013] 도 3은 일부 실시예들에 따른 통신 시스템을 도시한다.
[0014] 도 4는 일부 실시예들에 따른 통신 디바이스의 블록도이다.
[0015] 도 5는 일부 실시예들에 따른 LDPC 인코딩 동작을 도시한 예시적인 흐름도이다.
[0016] 도 6은 일부 실시예들에 따른 LDPC 디코딩 동작을 도시한 예시적인 흐름도이다.
[0017] 도 7은 레이트(r=27/30)를 갖는 LDPC 코드와 연관된 예시적인 패리티 체크 매트릭스를 도시한다.
[0018] 도 8은 레이트(r=13/15)를 갖는 LDPC 코드와 연관된 예시적인 패리티 체크 매트릭스를 도시한다.
[0019] 도 9는 레이트(r=21/28)를 갖는 LDPC 코드와 연관된 예시적인 패리티 체크 매트릭스를 도시한다.
[0020] 도 10은 일부 실시예들에 따른 통신 디바이스의 블록도이다.
[0021] 다음의 설명에서, 특정한 컴포넌트들, 회로들, 및 프로세스들의 예들과 같은 다수의 특정한 세부사항들이 본 발명의 완전한 이해를 제공하기 위해 제시된다. 본 명세서에서 사용된 바와 같이, 용어 "커플링"은 직접적으로 접속되거나 또는 하나 이상의 개재 컴포넌트들 또는 회로들을 통해 접속된다는 것을 의미한다. 또한, 다음의 설명에서 그리고 설명의 목적들을 위해, 특정한 명칭이 본 발명의 실시예들의 완전한 이해를 제공하기 위해 제시된다. 그러나, 이들 특정한 세부사항들이 본 발명의 실시예들을 실시하도록 요구되지는 않을 수도 있다는 것이 당업자에게 명백할 것이다. 다른 예시들에서, 잘 알려진 회로들 및 디바이스들은 본 발명을 불명료하게 하는 것을 회피하기 위해 블록도 형태로 도시된다. 본 명세서에서 설명된 다양한 버스들을 통해 제공되는 신호들 중 임의의 신호는, 다른 신호들과 시간-멀티플렉싱될 수 있으며, 하나 이상의 공통 버스들을 통해 제공될 수 있다. 부가적으로, 회로 엘리먼트들 또는 소프트웨어 블록들 사이의 상호접속은 버스들 또는 단일 신호 라인들로서 도시될 수도 있다. 버스들 각각은 대안적으로 단일 신호 라인일 수도 있고, 단일 신호 라인들 각각은 대안적으로 버스들일 수도 있고, 단일 라인 또는 버스는, 컴포넌트들 사이의 통신을 위한 다수의 물리적 또는 논리적 메커니즘들 중 임의의 하나 이상을 표현할 수도 있다. 본 발명의 실시예들은, 본 명세서에 설명된 특정한 예들로 제한되도록 해석되는 것이 아니라, 오히려 첨부된 청구항들에 의해 정의된 모든 실시예들을 그 범위 내에 포함하도록 해석될 것이다.
[0022] 도 3은 일부 실시예들에 따른 통신 시스템(300)을 도시한다. 전송기(310)는 신호를 채널(320) 상으로 전송하고, 수신기(330)는 채널(320)로부터 신호를 수신한다. 전송기(310) 및 수신기(330)는, 예를 들면, 컴퓨터들, 스위치들, 라우터들, 허브들, 게이트웨이들 및/또는 유사한 디바이스들일 수 있다. 일부 실시예들에서, 채널(320)은 무선이다. 다른 실시예들에서, 채널(320)은 유선 링크(예를 들면, 동축 케이블 또는 다른 물리적 접속)이다.
[0023] 통신 시스템(300) 내의 다양한 컴포넌트들의 결함들은 신호 소스들의 손상이 되고, 따라서 신호 저하를 발생시킬 수 있다. 예를 들면, 채널(320)의 결함들은, 선형 왜곡, 다중-경로 효과들 및/또는 AWGN(Additive White Gaussian Noise)을 포함할 수 있는 채널 왜곡을 도입할 수 있다. 잠재적인 신호 저하를 방지(combat)하기 위해, 전송기(310) 및 수신기(330)는 LDPC 인코더들 및 디코더들을 포함할 수 있다. 구체적으로, 전송기(310)는, 오리지널 데이터를 복원하기 위해 (예를 들면, LDPC 디코딩 동작을 통해) 수신기(330)에 의해 후속으로 디코딩될 수 있는 코드워드를 생성하기 위해 인출되는 데이터에 대해 LDPC 인코딩을 수행할 수 있다. 일부 실시예들에서, 전송기(310)는, 예를 들면, 하나 이상의 펑처링된(punctured) 가변 노드들을 갖는 LDPC 코드에 기초하여 하나 이상의 "펑처링된" 비트들을 갖는 LDPC-인코딩된 코드워드들을 전송할 수 있다.
[0024] "리프팅"은, 큰 LDPC 코드들과 통상적으로 연관된 복잡성을 또한 감소시키면서, LDPC 코드들이 병렬 인코딩 및/또는 디코딩 구현들을 사용하여 구현되는 것을 가능하게 한다. 더 구체적으로, 리프팅은 더 작은 베이스 코드의 다수의 사본들로부터 상대적으로 큰 LDPC 코드를 생성하기 위한 기술이다. 예를 들면, 리프팅된 LDPC 코드는, 베이스 그래프의 다수(Z 개)의 병렬 사본들을 생성하고 이어서 베이스 그래프의 각각의 사본의 에지 클러스터들의 치환들을 통해 병렬 사본들을 상호접속함으로써 생성될 수 있다. 리프팅된 LDPC 코드들의 더 상세한 논의는, 예를 들면, Tom Richardson 및 Ruediger Urbanke에 의해 2008년 3월 17일자로 공개된 "Modern Coding Theory"란 명칭의 책에서 발견될 수 있고, 그로 인해 이것은 그의 전체 내용이 인용에 의해 통합된다.
[0025] 예를 들면, 리프팅 크기(Z) 경우의 코드워드를 프로세싱할 때, LDPC 디코더는, 리프팅된 그래프의 모두 Z 개의 에지들에 대해 동시에 패리티 체크 또는 가변 노드 동작들을 수행하기 위해 Z 개의 프로세싱 엘리먼트들을 사용할 수 있다. 구체적으로, 각각의 패리티 체크 동작은 메모리로부터 대응하는 소프트 비트 값을 판독하는 것, 소프트 비트 값과, 체크 노드와 연관된 다른 소프트 비트 값들을 결합하는 것 및 체크 노드 동작으로부터 기인한 소프트 비트를 다시 메모리에 기록하는 것을 수반할 수 있다. 베이스 그래프 내의 이중 에지들은, 단일의 병렬 패리티 체크 업데이트 동안에 두번, 메모리 위치에서 동일한 소프트 비트 값의 병렬 판독을 트리거링할 수 있다. 따라서, 업데이트들 둘 모두를 적절히 통합하기 위해, 메모리에 다시 기록되는 소프트 비트 값들을 결합하기 위한 부가적인 회로가 필요로 될 수 있다. 베이스 그래프 내의 이중 에지들을 제거하는 것은 이러한 추가의 복잡성을 회피하는 것을 돕는다.
[0026] 베이스 LDPC 코드로부터 이중(및/또는 다수의) 에지들을 제거 또는 감소시킴으로써, 펑처링은 병렬 체크 노드 또는 가변 노드 동작들을 수행하는 하드웨어의 복잡성을 감소시킬 수 있고, 따라서 대응하는 LDPC 디코더의 병렬 프로세싱 효율을 증가시킨다. 이것은 메모리에서 수행되는 판독 및/또는 기록 동작들을 추가로 간소화하고, 판독 및 기록 동작들이 비순차적으로 수행되지 않는 것을 보장한다.
[0027] 펑처링은 더 짧은 코드워드를 산출하기 위해 코드워드로부터 비트들을 제거하는 동작이다. 따라서, 펑처링된 가변 노드들은 실제 전송되지 않는 코드워드 비트들에 대응한다. LDPC 코드에서 가변 노드를 펑처링하는 것은 (예를 들면, 비트의 제거로 인해) 단축된 코드를 생성하면서, 또한 체크 노드를 효과적으로 제거한다. 구체적으로, 펑처링될 비트들을 포함하는 LDPC 코드 ― 여기서 펑처링될 가변 노드는 1의 차수(degree)를 가짐 ― 의 매트릭스 표현(코드가 적절한 경우에, 그러한 표현은 행(row) 결합을 통해 가능할 수 있음)에 대해, 가변 노드를 펑처링하는 것은 코드로부터 연관된 비트를 제거하고, 그래프로부터 자신의 단일 이웃하는 체크 노드를 효과적으로 제거한다. 결과적으로, 그래프 내의 체크 노드들의 수는 1만큼 감소된다. 베이스 전송된 블록 길이가 n-p이면 ― 여기서 p는 펑처링된 열들(columns)의 수이고, 베이스 패리티 체크들의 수는 m임 ― , 레이트는 (n-m)/(n-p)이다. 이진 정보 블록 크기는 (n-m)*Z이고, 전송된 블록 크기는 (n-p)*Z이다. n 및 p가 1만큼 증가되는 경우에, m이 1만큼 증가되고, 레이트 및 블록 크기가 변하지 않게 할 수 있다는 것을 유의하라.
[0028] 예로서, 베이스 블록 길이가 30 인 레이트 0.9 코드를 고려하라. 펑처링이 없다면, 베이스 코드를 정의하는데 사용될 체크 노드들의 수는 3이고, (27, 30) 코드(예를 들면, K = 27 메시지 비트들, N = 30 코드워드 비트들)를 발생시킨다. 그러한 코드는 (예를 들면, 모든 가변 노드들이 최대 3의 차수를 갖지 않는다면) 적어도 하나의 체크 노드를 가변 노드에 접속하는 이중(또는 그 초과의) 에지들을 가질 가능성이 있다. 그러나, 예를 들면, 심도있는 에러 플로어(deep error floor)를 보장하기 위해 더 큰 차수의 가변 노드들(예를 들면, 차수 ≥ 4)을 갖는 것이 바람직할 수 있다. 펑처링된 가변 노드가 LDPC 코드에 도입되고, 이로써 가변 노드들의 총수를 31로 증가시키면, 베이스 체크 노드들의 수는 4로 증가된다. 베이스 그래프에서 이중 에지들 없이 4 차수의 베이스 가변 노드들을 갖는 것이 이제 가능하다. 그러나, 그러한 LDPC 코드가 여전히 (27, 30) 코드인 것이 유의된다.
[0029] LDPC 코드의 이분 그래프 표현에서, 펑처링된 2 차수의 가변 노드는 자신의 2 개의 이웃하는 체크 노드들을 단일 체크 노드로 효과적으로 합병한다. 펑처링된 2 차수의 가변 노드는, 자신의 2 개의 이웃하는 체크 노드들이 2 차수의 노드가 없는 동일한 패리티를 갖는다는 것을 효과적으로 나타낸다. 따라서, 펑처링된 2 차수의 가변 노드들은 체크 노드들을 "분할"하는데 사용될 수 있고, 이로써 체크 노드들의 총수를 증가시키는 것처럼 보인다. 따라서, 이러한 메커니즘은 LDPC 코드로부터 다수의 에지들을 제거하는데 사용될 수 있다. 가변 노드는 통상적으로, 가변 노드의 차수가 베이스 그래프 내의 체크 노드들의 총수(N)보다 더 큰 경우에, 2 개 이상의 에지들에 의해 적어도 하나의 체크 노드에 접속된다. 따라서, 하나 이상의 2 차수의 가변 노드들을 도입함으로써(즉, 베이스 그래프 내의 적어도 하나의 가변 노드가 N보다 더 큰 차수를 갖는다고 가정하면), 베이스 그래프 내의 다수의 에지들이 회피 및/또는 제거될 수 있다.
[0030] LDPC 코드의 고차수의 베이스 가변 노드를 펑처링하는 것은 또한 체크 노드들의 수를 증가시킬 수 있다. 또한, 고차수의 체크 노드들은 고성능 LDPC 설계에서 바람직할 수 있다. 예를 들면, 가장 높은 차수의 가변 노드는, 베이스 그래프 내의 체크 노드들의 총수와 동일한(또는 총수보다 1이 더 적은) 차수를 갖는 가변 노드에 대응할 수 있다. 그러한 고차수 가변 노드는, 어떠한 이중 에지들도 없이, 베이스 그래프에서 분명히 존재할 수 있다. 아래에 더 상세히 설명될 바와 같이, 펑처링된 가변 노드는 디코딩 시에 "소거"되는 것으로 처리된다. 따라서, 낮은 에러 레이트들을 목표로 하는 코드들에 대해, 에러 플로어 이벤트들을 생기게 하는 결합 구조들(예를 들면, 트래핑(trapping) 세트들 또는 근처의 코드워드들)에 그러한 노드들이 참여하는 것을 방지하는 것이 바람직할 수 있다. 고차수를 갖는 것은 일반적으로, 노드가 에러 플로어 이벤트에 기여할 것 같은 것을 덜 가능하게 한다.
[0031] 또한, 그래프 내의 고차수의 펑처링된 가변 노드들은 코드의 성능을 개선할 수 있다. 그래프 내의 펑처링된 노드들이 소위 코드 구조의 반복 임계치를 개선할 수 있다는 것이 알려져 있다. 일반적인 불규칙적인 LDPC 설계들(즉, 펑처링된 가변 노드들이 없음)에서, 임계치들은, 이분 그래프에서 평균 차수를 증가시키고 따라서 가변 및 체크 노드들의 차수들을 증가시킴으로써 개선될 수 있다. 펑처링된 가변 노드들을 통해, 더 낮은 평균 차수의 경우에 동일한 효과가 달성될 수 있고, 이로써 LDPC 코드의 복잡성을 감소시킨다. 또한, 더 낮은 평균 차수를 갖는 LDPC 코드 구조들은 더 작은 그래프들에 대해 더 양호하게 수행될 수 있다. 따라서, 고차수의 가변 노드들을 펑처링하는 것은 체크 노드들의 수를 증가시킬 뿐만 아니라(따라서, 더 높은 차수들을 허용함), 최대 가변 노드 차수들이 제한되는 경우에 코드들의 성능을 개선할 수 있다.
[0032] 도 4는 일부 실시예들에 따른 통신 디바이스(400)의 블록도이다. 통신 디바이스(400)는 인코더(410), 디코더(420) 및 트랜시버(430)를 포함하고, 트랜시버(430)는 통신 채널을 통해 LDPC-인코딩된 코드워드들을 전송 및/또는 수신한다. 인코더(410)는 메모리(412) 및 LDPC 인코더(414)를 포함한다. 메모리(412)는 LDPC 인코더(414)에 의해 인코딩될 데이터(즉, 정보 비트들)를 저장하는데 사용될 수 있다. LDPC 인코더(414)는, 다른 디바이스로 전송될 LDPC 코드에 기초하여 코드워드들을 생성함으로써 메모리(412)에 저장되는 정보 비트들을 프로세싱한다.
[0033] 일부 실시예들에서, LDPC 코드는 리프팅된 LDPC 코드일 수 있다. 또한, 일부 실시예에서, 베이스 LDPC 코드는 하나 이상의 펑처링된 노드들을 포함할 수 있다. 따라서, LDPC 인코더(414)는, 베이스 LDPC 코드의 각각의 펑처링된 노드들에 대응하는 코드워드의 하나 이상의 비트들을 펑처링할 수 있다. 이러한 펑처링된 코드워드 비트들은 트랜시버(430)에 의해 전송되지 않는다. 일부 실시예들에서, 펑처링된 노드들은 LDPC 코드의 체크 노드들의 수와 동일하거나 체크 노드들의 수보다 1이 더 적은 차수를 갖는 베이스 가변 노드를 포함할 수 있다. 예를 들면, 펑처링된 노드들 중 적어도 하나는 LDPC 코드의 가장 높은 차수의 가변 노드일 수 있다. 다른 실시예들에서, 펑처링된 노드들 중 적어도 하나는, 2 개 이상의 에지들에 의해 LDPC 코드의 가변 노드에 접속되는 체크 노드를 분할하는데 사용될 수 있다. 그러한 펑처링된 노드는 리프팅된 LDPC 코드에 대한 베이스 그래프에서 이중 에지들을 제거하는데 사용될 수 있다.
[0034] 디코더(420)는 메모리(422) 및 LDPC 디코더(424)를 포함한다. 메모리(422)는, 트랜시버(430)를 통해 수신되고 LDPC 디코더(424)에 의해 디코딩될 코드워드들을 저장한다. LDPC 디코더(424)는, LDPC 코드를 사용하여 패리티 체크 동작들을 반복적으로 수행하고 에러로 수신될 수 있는 임의의 비트들을 정정하려고 시도함으로써 메모리(424)에 저장된 코드워드들을 프로세싱한다. 일부 실시예들에서, LDPC 코드는 리프팅된 LDPC 코드일 수 있다. 또한, 일부 실시예들에서, 수신된 코드워드는, 예를 들면, 대응하는 LDPC 코드의 펑처링된 노드들의 세트에 기초하여 결정된 하나 이상의 펑처 비트들을 포함할 수 있다. 앞서 설명된 바와 같이, 도 3을 참조하면, 펑처링된 노드들은 LDPC 노드의 가변 노드들의 차수들에 기초하여 결정될 수 있다. 따라서, LDPC 디코더(424)는 디코딩 목적으로 이러한 펑처링된 노드들을 소거되는 것으로 처리할 수 있다. 예를 들면, LDPC 디코더(424)는 초기화 시에 펑처링된 노드들의 LLR들(log-likelihood ratios)을 제로로 설정할 수 있다.
[0035] 일부 실시예들에서, LDPC 디코더(424)는 패리티 체크 또는 가변 노드 동작들을 병렬로 수행하기 위한 복수의 프로세싱 엘리먼트들을 포함할 수 있다. 예를 들면, 리프팅 크기(Z) 경우의 코드워드를 프로세싱할 때, LDPC 디코더(424)는 리프팅된 그래프의 모두 Z 개의 에지들에 대해 패리티 체크 동작들을 동시에 수행하기 위해 다수(Z 개)의 프로세싱 엘리먼트들을 사용할 수 있다. 구체적으로, 각각의 패리티 체크 동작은 메모리(422)로부터 대응하는 소프트 비트 값을 판독하는 것, 소프트 비트 값과, 체크 노드와 연관된 다른 소프트 비트 값들을 결합하는 것, 및 체크 노드 동작으로부터 기인한 소프트 비트를 다시 메모리(422)에 기록하는 것을 수반할 수 있다. 베이스 LDPC 코드 내의 이중 에지는 단일의 병렬 패리티 체크 업데이트 동안에 두 번 동일한 소프트 비트 값 메모리 위치의 병렬 판독을 트리거링할 수 있다. 따라서, 업데이트들 둘 모두를 적절히 통합하기 위해, 메모리에 다시 기록되는 소프트 비트 값들을 결합하기 위한 부가적인 회로가 통상적으로 필요로 된다. 그러나, 예를 들면, 도 3을 참조하여 앞서 설명된 바와 같이, LDPC 코드에서 이중 에지들을 제거하는 것은 이러한 추가의 복잡성을 회피하는 것을 돕는다.
[0036] 도 5는 일부 실시예들에 따른 LDPC 인코딩 동작(500)을 도시한 예시적인 흐름도이다. 예를 들면, 도 4를 참조하면, 인코더(410)는 먼저 인코딩될 정보 비트들의 세트를 수신한다(510). 정보 비트는 통신 채널 또는 네트워크를 통해 다른 디바이스(예를 들면, 수신 디바이스)로 전송되도록 의도된 데이터에 대응할 수 있다. 예를 들면, 정보 비트들은 CPU(central processing unit)로부터 수신되고, 메모리(412)에 저장될 수 있다.
[0037] 이어서, 인코더(410)는 LDPC 코드워드를 생성하기 위해 정보 비트들에 대해 LDPC 인코딩 동작을 수행할 수 있다(520). 일부 실시예들에서, LDPC 인코더(414)는, 인코더(410) 및 (예를 들면, 수신 디바이스의) 대응하는 디코더에 의해 공유되는 LDPC 코드에 기초하여 정보 비트들을 LDPC 코드워드들로 인코딩할 수 있다. 각각의 코드워드는 오리지널 정보 비트들, 또는 이들의 일부분뿐만 아니라, 오리지널 정보 비트들에 대해 패리티 체크 동작을 수행하고 및/또는 오리지널 정보 비트들을 복원하는데 (예를 들면, 디코더에 의해) 사용될 수 있는 패리티 비트들의 세트를 포함할 수 있다. 인코더(410)는 또한 LDPC 코드의 베이스 펑처링된 가변 노드들에 기초하여 LDPC 코드워드의 하나 이상의 비트들을 펑처링할 수 있다(530). 예를 들면, 하나 이상의 펑처링된 코드워드 비트들은 베이스 LDPC 코드의 하나 이상의 베이스 가변 펑처링된 노드들에 각각 대응할 수 있다. 구체적으로, 리프팅된 LDPC 코드의 베이스 그래프에서 노드 쌍들 사이의 다수의 에지들을 제거하기 위해, 펑처링된 노드들 중 적어도 일부가 제공된다. 일부 실시예들에서, 펑처링된 노드들은 LDPC 코드의 체크 노드들의 수와 동일하거나 이보다 1이 더 적은 차수를 갖는 가변 노드를 포함할 수 있다. 다른 실시예들에서, 펑처링된 노드들 중 적어도 하나는 2 차수의 가변 노드일 수 있다. 예를 들면, 2 차수의 가변 노드는, 분할되지 않는 경우에, 2 개 이상의 에지들에 의해 LDPC 코드의 다른 가변 노드에 접속될 체크 노드를 분할하는데 사용될 수 있다. 일부 실시예들에서, 이들 양자가 발생할 수 있는데, 구체적으로, 고차수의 펑처링된 가변 노드 및 2 차수의 펑처링된 노드 둘 모두가 베이스 그래프에서 발생할 수 있다. 일부 실시예들에서, LDPC 코드는 리프팅된 LDPC 코드일 수 있다. 또한, LDPC 코드는 준순환 리프팅에 기초할 수 있고, 여기서 에지 클러스터들의 치환들은 순환 치환들이다.
[0038] 도 6은 일부 실시예들에 따른 LDPC 디코딩 동작(600)을 도시한 예시적인 흐름도이다. 예를 들면, 도 4를 참조하면, 디코더(420)는 먼저 디코딩될 LDPC 코드워드를 수신한다(610). LDPC 코드워드는, 예를 들면, QAM(quadrature amplitude modulated) 데이터 신호 형태로 전송 디바이스로부터 수신될 수 있다. 따라서, LDPC 코드워드는 디맵핑된 QAM 데이터 신호의 라벨링 비트들의 서브세트에 대응할 수 있다.
[0039] 디코더(420)는 LDPC 코드의 베이스 펑처링된 노드들에 기초하여 LDPC 코드워드의 하나 이상의 펑처링된 비트들을 식별할 수 있다(620). 예를 들면, 하나 이상의 펑처링된 코드워드 비트들은 LDPC 코드의 하나 이상의 베이스 펑처링된 노드들에 각각 대응할 수 있다. 앞서 설명된 바와 같이, 리프팅된 LDPC 코드의 베이스 그래프에서 노드 쌍들 사이의 다수의 에지들을 제거하기 위해, 베이스 펑처링된 노드들 중 적어도 일부가 제공된다. 일부 실시예들에서, 펑처링된 노드들은 LDPC 코드의 체크 노드들의 수와 동일하거나 이보다 1이 더 적은 차수를 갖는 가변 노드를 포함할 수 있다. 다른 실시예들에서, 펑처링된 노드들 중 적어도 하나는 2 차수의 가변 노드일 수 있다. 앞서 설명된 바와 같이, 2 차수의 가변 노드는, 분할되지 않는 경우에, 2 개 이상의 에지들에 의해 LDPC 코드의 다른 가변 노드에 접속될 체크 노드를 분할하는데 사용될 수 있다. 일부 실시예들에서, LDPC 코드는 (예를 들면, 준순환 리프팅에 기초한) 리프팅된 LDPC 코드일 수 있다.
[0040] 이어서, 디코더(420)는 오리지널 정보 비트들을 복원하기 위해 수신된 코드워드에 대해 LDPC 디코딩 동작을 수행할 수 있다(630). 예를 들면, LDPC 디코더(424)는, LDPC 코드를 사용하여 패리티 체크 동작들을 반복적으로 수행하고, 에러로 수신될 수 있는 임의의 비트들을 정정하려고 시도함으로써 코드워드를 프로세싱할 수 있다. 일부 실시예들에서, LDPC 디코더(424)는, 예를 들면, 초기화 시에 펑처링된 노드들의 LLR들을 제로로 설정함으로써, 디코딩 동작 동안에 펑처링된 코드워드 비트들을 소거되는 것으로 처리할 수 있다.
[0041] 본 실시예들에서, LDPC 코드들 각각은 크기(Z×n)의 2 차원 이진 어레이로서 보여질 수 있고, 여기서 n은 베이스(전송) 블록 길이이다. 일부 실시예들에서, 제안된 다운스트림 코드들은, Z=360이 되도록 정의된다. 각각의 성상도(constellation)에서, 한 번에 k 개의 비트들이 차원마다 취해질 수 있다(예를 들면, 1024 QAM에 대해, k=5). 또한, k는 360 배(factor)이고, 한 번에 k 개의 비트들이 열 방식(columnwise)으로 취해질 수 있고, 따라서 열 당 360/k 차원들 또는 180/k 심볼들을 생성한다. 따라서, 관심있는 경우들에서, 세트 k ∈ {1, 2, 3, 4, 5, 6}에 대해 k가 60 배인 것이 유의되어야 한다.
[0042] 도 7, 도 8 및 도 9는 일부 실시예들에 따른 예시적인 패리티 체크 매트릭스들(700, 800 및 900)을 각각 도시한다. 패리티 체크 매트릭스들(700, 800 및 900) 각각에서, 최상부 행은 H의 열들을 인덱싱한다. 제 2 행은 정보(1) 및 패리티(0) 열들을 나타낸다. 제 3 행은 전송된 행들(1) 및 펑처링된 열들(0)을 나타낸다.
[0043] 레이트들(r = 27/30 및 r = 13/15)의 경우의 LDPC 코드들과 각각 연관된 패리티 체크 매트릭스들(700 및 800)이 체계적이라는 것을 유의하라. 그러나, 레이트(r = 21/28)의 경우의 LDPC 코드와 연관된 패리티 체크 매트릭스(900)는 펑처링된 정보 열을 갖고, 따라서 완전히 체계적이지는 않다.
[0044] 또한, 패리티 체크 매트릭스(700)는 펑처링된 2 차수의 가변 노드(인덱스 0)를 갖는다. 그러한 노드는 단일 패리티 체크를 2 개로 분할할 수 있다. 이것은, 베이스 매트릭스가 어떠한 이중 에지들도 갖지 않는다는 것을 보장하고, 본원에 설명된 실시예들 중 일부를 가능하게 한다. 2 개의 패리티 체크들을 합병하고, 펑처링된 2 차수의 가변 노드를 제거함으로써 등가의 코드 표현이 구성될 수 있다. 또한, 그러한 등가의 표현은 베이스 그래프에서 이중 또는 다수의 에지들을 가져야 한다.
[0045] 도 10은 일부 실시예들에 따른 통신 디바이스(1000)의 블록도이다. 통신 디바이스(1000)는 트랜시버(1010), 프로세서(1020) 및 메모리(1030)를 포함한다. 트랜시버(1010)는 통신 디바이스(1000)에 및/또는 통신 디바이스기(1000)로부터의 데이터를 통신하는데 이용될 수 있다. 예를 들어, 트랜시버(1010)는 통신 디바이스(1000)와 CPU 사이에서 정보 비트들을 수신 및/또는 전송할 수 있다. 트랜시버(1010)는 또한 네트워크 내의 다른 통신 디바이스와 통신 디바이스(1000) 사이에서 LDPC 코드워드들을 출력 및/또는 수신할 수 있다.
[0046] 메모리(1030)는 수신된 정보 비트들 및/또는 코드워드들을 저장하기 위해 로컬 캐시로서 사용될 수 있는 데이터 스토어(1032)를 포함할 수 있다. 또한, 메모리(1030)는 다음의 소프트웨어 모듈들을 저장할 수 있는 비-일시적인 컴퓨터-판독 가능한 저장 매체(예를 들어, EPROM, EEPROM, 플래시 메모리, 하드 드라이브 등과 같은 하나 이상의 비휘발성 메모리 엘리먼트들)를 포함할 수 있다.
·코드워드를 생성하기 위해, LDPC 코드를 사용하여 정보 비트들의 세트를 인코딩하기 위한 LDPC 인코딩 모듈(1034)
·LDPC 코드를 사용하여 LDPC 코드워드들을 디코딩하기 위한 LDPC 디코딩 모듈(1036)
각각의 소프트웨어 모듈은 프로세서(1020)에 의해 실행될 때, 통신 디바이스(1000)로 하여금 대응하는 기능을 수행하게 할 수 있는 명령들을 포함할 수 있다. 따라서, 메모리(1030)의 비-일시적인 컴퓨터-판독 가능한 저장 매체는 도 5 및 도 6에 관하여 위에서 설명된 동작들 중 일부 또는 전부를 수행하기 위한 명령들을 포함할 수 있다. 모듈들(1034-1036)이 메모리(1030) 내의 소프트웨어로서 도시되지만, 모듈 중 임의의 것은 하드웨어, 소프트웨어, 펌웨어 또는 앞서 말한 것의 조합으로 구현될 수 있다는 것이 유의되어야 한다.
[0047] 트랜시버(1010)와 메모리(1030) 간에 커플링되는 프로세서(1020)는 통신 디바이스(1000)에 (예를 들어, 메모리(1030) 내에) 저장된 하나 이상의 소프트웨어 프로그램들의 명령들의 스크립트들을 실행할 수 있는 임의의 적합한 프로세서일 수 있다. 예를 들어, 프로세서(1020)는 LDPC 인코딩 모듈(1034) 및/또는 LDPC 디코딩 모듈(1036)을 실행할 수 있다.
[0048] LDPC 인코딩 모듈(1034)은, 코드워드를 생성하기 위해 LDPC 코드를 사용하여 정보 비트들을 인코딩하도록 프로세서(1020)에 의해 실행될 수 있다. 예를 들면, 프로세서(1020)는, LDPC 인코딩 모듈(1034)을 실행하는데 있어서, LDPC 인코딩 모듈(1034) 및 대응하는 수신 디바이스의 디코딩 모듈에 의해 공유되는 LDPC 코드에 기초하여 정보 비트들에 대해 LDPC 인코딩 동작을 수행할 수 있다. 각각의 코드워드는 오리지널 정보 비트들뿐만 아니라, 오리지널 정보 비트들에 대해 패리티 체크를 수행하고 및/또는 오리지널 정보 비트들을 복원하는데 사용될 수 있는 패리티 비트들의 세트를 포함할 수 있다. 일부 실시예들에서, LDPC 코드는 (예를 들면, 준순환 리프팅에 기초한) 리프팅된 LDPC 코드일 수 있다.
[0049] 프로세서(1020)는, LDPC 인코딩 모듈(1034)을 실행하는데 있어서, 또한 대응하는 LDPC 코드에 기초하여 코드워드의 하나 이상의 비트들을 펑처링할 수 있다. 예를 들면, 하나 이상의 펑처링된 코드워드 비트들은 LDPC 코드의 하나 이상의 펑처링된 노드들에 각각 대응할 수 있다. 앞서 설명된 바와 같이, 리프팅된 LDPC 코드에 대한 베이스 그래프에서 노드 쌍들 사이의 다수의 에지들을 제거하기 위해, 펑처링된 노드들 중 적어도 일부가 제공된다. 일부 실시예들에서, 펑처링된 노드들은 LDPC 코드의 체크 노드들의 수와 동일하거나 이보다 1이 더 적은 차수를 갖는 가변 노드를 포함할 수 있다. 다른 실시예들에서, 펑처링된 노드들 중 적어도 하나는 (예를 들면, 분할되지 않는 경우에, 2 개 이상의 에지들에 의해 LDPC 코드의 다른 가변 노드에 접속될 체크 노드를 분할하는데 사용되는) 2 차수의 가변 노드일 수 있다.
[0050] LDPC 디코딩 모듈(1036)은 LDPC 코드를 사용하여 LDPC 코드워드를 디코딩하기 위해 프로세서(1020)에 의해 실행될 수 있다. 일부 실시예들에서, 프로세서(1020)는, LDPC 디코딩 모듈(1036)을 실행하는데 있어서, 먼저 LDPC 코드에 기초하여 수신된 코드워드의 하나 이상의 펑처링된 비트들을 식별할 수 있다. 이어서, 프로세서(1020)는, 펑처링된 코드워드 비트들을 소거되는 것으로 처리하면서, 수신된 코드워드에 대해 LDPC 디코딩 동작을 수행할 수 있다. 예를 들면, LDPC 디코딩 모듈(1036)은, 프로세서(1020)에 의해 실행될 때, 초기화 시에 펑처링된 노드들의 LLR들을 제로로 설정할 수 있다. 일부 실시예들에서, LDPC 코드는 (예를 들면, 준순환 리프팅에 기초한) 리프팅된 LDPC 코드일 수 있다.
[0051] 앞서 설명된 바와 같이, 펑처링된 코드워드 비트들은 LDPC 코드의 각각의 펑처링된 노드들에 대응할 수 있고, 여기서 리프팅된 LDPC 코드에 대한 베이스 그래프에서 노드 쌍들 사이의 다수의 에지들을 제거하기 위해, 펑처링된 노드들 중 적어도 일부가 제공된다. 일부 실시예들에서, 펑처링된 노드들은 LDPC 코드의 체크 노드들의 수와 동일하거나 이보다 1이 더 적은 차수를 갖는 가변 노드를 포함할 수 있다. 다른 실시예들에서, 펑처링된 노드들 중 적어도 하나는 (예를 들면, 분할되지 않는 경우에, 2 개 이상의 에지들에 의해 LDPC 코드의 다른 가변 노드에 접속될 체크 노드를 분할하는데 사용되는) 2 차수의 가변 노드일 수 있다.
[0052] 앞서 말한 명세서에서, 본 실시예들은 그의 특정한 예시적인 실시예들을 참조하여 설명되었다. 그러나, 첨부된 청구항들에서 기술된 바와 같은 본 개시의 광의의 범위로부터 벗어남 없이, 그 실시예들에 대해 다양한 변형들 및 변경들이 이루어질 수 있다는 것이 자명할 것이다. 따라서, 명세서 및 도면들은 제한적인 의미보단 오히려 예시적인 의미로 간주될 것이다. 예를 들어, 도 5 및 도 6의 흐름도들에서 도시된 방법 단계들은 다수의 적합한 순서들로 수행될 수 있고, 다수의 단계들은 단일 단계로 결합될 수 있고 그리고/또는 몇몇 단계들이 생략될 수 있다.

Claims (44)

  1. 데이터 인코딩 방법으로서,
    정보 비트들의 세트를 수신하는 단계;
    코드워드를 생성하기 위해 상기 정보 비트들의 세트에 대해 리프팅된(lifted) LDPC(low density parity check) 인코딩 동작을 수행하는 단계; 및
    상기 LDPC 인코딩 동작에 대해 사용되는 베이스 LDPC 코드의 하나 또는 그 초과의 펑처링된(punctured) 베이스 비트들에 대응하는 상기 코드워드의 모든 리프팅된 비트들을 펑처링하는 단계를 포함하고,
    상기 하나 또는 그 초과의 펑처링된 베이스 비트들은 상기 베이스 LDPC 코드의, 하나 또는 그 초과의 펑처링된 베이스 노드들과 각각 대응하는 비트들이고; 그리고
    상기 베이스 LDPC 코드는 가변 노드 및 체크 노드를 각각 포함하는 노드 쌍들 사이에 어떠한 다수의 에지들도 갖지 않고,
    상기 하나 또는 그 초과의 펑처링된 베이스 노드들 중 적어도 하나는 상기 베이스 LDPC 코드의 가장 높은 차수(highest-degree)의 가변 노드에 대응하는,
    데이터 인코딩 방법.
  2. 제 1 항에 있어서,
    상기 하나 또는 그 초과의 펑처링된 베이스 노드들은 상기 베이스 LDPC 코드의 체크 노드들의 수와 동일하거나 또는 그보다 1이 더 적은 차수(degree)를 갖는 하나 또는 그 초과의 가변 노드들에 대응하는,
    데이터 인코딩 방법.
  3. 제 1 항에 있어서,
    상기 하나 또는 그 초과의 펑처링된 베이스 노드들은 하나 또는 그 초과의 2 차수의 가변 노드들에 대응하는,
    데이터 인코딩 방법.
  4. 제 3 항에 있어서,
    상기 하나 또는 그 초과의 펑처링된 베이스 노드들은 다른 가변 노드에 각각 접속되는 하나 또는 그 초과의 각각의 체크 노드들을 분할하고, 그리고
    다른 가변 노드들 각각은 대응하는 분할된 체크 노드의 엘리먼트들 둘 모두에 에지들에 의해 접속되는,
    데이터 인코딩 방법.
  5. 제 3 항에 있어서,
    상기 하나 또는 그 초과의 펑처링된 베이스 노드들은 상기 베이스 LDPC 코드에서 이중(double) 에지들을 제거하는,
    데이터 인코딩 방법.
  6. 제 1 항에 있어서,
    준순환 리프팅(quasi-cyclic lifting)이 상기 베이스 LDPC 코드에 적용되고, 그리고
    상기 준순환 리프팅에서 에지 클러스터들의 치환(permutation)들은 순환 치환들인,
    데이터 인코딩 방법.
  7. 데이터 디코딩 방법으로서,
    LDPC 코드워드를 수신하는 단계;
    베이스 LDPC 코드의 하나 또는 그 초과의 펑처링된 베이스 비트들에 대응하는 상기 LDPC 코드워드의 모든 리프팅된 비트들을 식별하는 단계 ― 상기 하나 또는 그 초과의 펑처링된 베이스 비트들은 상기 베이스 LDPC 코드의, 하나 또는 그 초과의 펑처링된 베이스 노드들과 각각 대응하는 비트들이고; 그리고 상기 베이스 LDPC 코드는 가변 노드 및 체크 노드를 각각 포함하는 노드 쌍들 사이에 어떠한 다수의 에지들도 갖지 않음 ―; 및
    정보 비트들의 세트를 복원하기 위해, 상기 수신된 LDPC 코드워드에 대해 LDPC 디코딩 동작을 수행하는 단계를 포함하고,
    상기 식별된 리프팅된 비트들은 디코딩 목적으로 소거(erase)되는 것으로 처리되고,
    상기 하나 또는 그 초과의 펑처링된 베이스 노드들 중 적어도 하나는 상기 베이스 LDPC 코드의 가장 높은 차수의 가변 노드에 대응하는,
    데이터 디코딩 방법.
  8. 제 7 항에 있어서,
    상기 하나 또는 그 초과의 펑처링된 베이스 노드들은 상기 베이스 LDPC 코드의 체크 노드들의 수와 동일하거나 또는 그보다 1이 더 적은 차수를 갖는 하나 또는 그 초과의 가변 노드들에 대응하는,
    데이터 디코딩 방법.
  9. 제 7 항에 있어서,
    상기 하나 또는 그 초과의 펑처링된 베이스 노드들은 하나 또는 그 초과의 2 차수의 가변 노드들에 대응하는,
    데이터 디코딩 방법.
  10. 제 9 항에 있어서,
    상기 하나 또는 그 초과의 펑처링된 베이스 노드들은 다른 가변 노드에 각각 접속되는 하나 또는 그 초과의 각각의 체크 노드들을 분할하고, 그리고
    다른 가변 노드들 각각은 대응하는 분할된 체크 노드의 엘리먼트들 둘 모두에 에지들에 의해 접속되는,
    데이터 디코딩 방법.
  11. 제 9 항에 있어서,
    상기 하나 또는 그 초과의 펑처링된 베이스 노드들은 상기 베이스 LDPC 코드에서 이중 에지들을 제거하는,
    데이터 디코딩 방법.
  12. 제 7 항에 있어서,
    준순환 리프팅이 상기 베이스 LDPC 코드에 적용되고, 그리고
    상기 준순환 리프팅에서 에지 클러스터들의 치환들은 순환 치환들인,
    데이터 디코딩 방법.
  13. 프로그램 명령들을 포함하는 컴퓨터-판독 가능 저장 매체로서,
    상기 프로그램 명령들은, 통신 디바이스 내에 제공되는 프로세서에 의해 실행될 때, 상기 디바이스로 하여금:
    정보 비트들의 세트를 수신하게 하고;
    코드워드를 생성하기 위해 상기 정보 비트들의 세트에 대해 리프팅된 LDPC 인코딩 동작을 수행하게 하고; 그리고
    상기 LDPC 인코딩 동작에 대해 사용되는 베이스 LDPC 코드의 하나 또는 그 초과의 펑처링된 베이스 비트들에 대응하는 상기 코드워드의 모든 리프팅된 비트들을 펑처링하게 하고,
    상기 하나 또는 그 초과의 펑처링된 베이스 비트들은 상기 베이스 LDPC 코드의, 하나 또는 그 초과의 펑처링된 베이스 노드들과 각각 대응하는 비트들이고; 그리고
    상기 베이스 LDPC 코드는 가변 노드 및 체크 노드를 각각 포함하는 노드 쌍들 사이에 어떠한 다수의 에지들도 갖지 않고,
    상기 하나 또는 그 초과의 펑처링된 베이스 노드들 중 적어도 하나는 상기 베이스 LDPC 코드의 가장 높은 차수의 가변 노드에 대응하는,
    컴퓨터-판독 가능 저장 매체.
  14. 제 13 항에 있어서,
    상기 하나 또는 그 초과의 펑처링된 베이스 노드들은 상기 베이스 LDPC 코드의 체크 노드들의 수와 동일하거나 또는 그보다 1이 더 적은 차수를 갖는 하나 또는 그 초과의 가변 노드들에 대응하는,
    컴퓨터-판독 가능 저장 매체.
  15. 제 13 항에 있어서,
    상기 하나 또는 그 초과의 펑처링된 베이스 노드들은 하나 또는 그 초과의 2 차수의 가변 노드들에 대응하는,
    컴퓨터-판독 가능 저장 매체.
  16. 제 15 항에 있어서,
    상기 하나 또는 그 초과의 펑처링된 베이스 노드들은 다른 가변 노드에 각각 접속되는 하나 또는 그 초과의 각각의 체크 노드들을 분할하고, 그리고
    다른 가변 노드들 각각은 대응하는 분할된 체크 노드의 엘리먼트들 둘 모두에 에지들에 의해 접속되는,
    컴퓨터-판독 가능 저장 매체.
  17. 제 15 항에 있어서,
    상기 하나 또는 그 초과의 펑처링된 베이스 노드들은 상기 베이스 LDPC 코드에서 이중 에지들을 제거하는,
    컴퓨터-판독 가능 저장 매체.
  18. 제 13 항에 있어서,
    준순환 리프팅이 상기 베이스 LDPC 코드에 적용되고, 그리고
    상기 준순환 리프팅에서 에지 클러스터들의 치환들은 순환 치환들인,
    컴퓨터-판독 가능 저장 매체.
  19. 프로그램 명령들을 포함하는 컴퓨터-판독 가능 저장 매체로서,
    상기 프로그램 명령들은, 통신 디바이스 내에 제공되는 프로세서에 의해 실행될 때, 상기 디바이스로 하여금:
    LDPC 코드워드를 수신하게 하고;
    베이스 LDPC 코드의 하나 또는 그 초과의 펑처링된 베이스 비트들에 대응하는 상기 LDPC 코드워드의 모든 리프팅된 비트들을 식별하게 하고 ― 상기 하나 또는 그 초과의 펑처링된 베이스 비트들은 상기 베이스 LDPC 코드의, 하나 또는 그 초과의 펑처링된 베이스 노드들과 각각 대응하는 비트들이고; 그리고 상기 베이스 LDPC 코드는 가변 노드 및 체크 노드를 각각 포함하는 노드 쌍들 사이에 어떠한 다수의 에지들도 갖지 않음 ―; 그리고
    정보 비트들의 세트를 복원하기 위해, 상기 수신된 LDPC 코드워드에 대해 LDPC 디코딩 동작을 수행하게 하고,
    상기 식별된 리프팅된 비트들은 디코딩 목적으로 소거되는 것으로 처리되고,
    상기 하나 또는 그 초과의 펑처링된 베이스 노드들 중 적어도 하나는 상기 베이스 LDPC 코드의 가장 높은 차수의 가변 노드에 대응하는,
    컴퓨터-판독 가능 저장 매체.
  20. 제 19 항에 있어서,
    상기 하나 또는 그 초과의 펑처링된 베이스 노드들은 상기 베이스 LDPC 코드의 체크 노드들의 수와 동일하거나 또는 그보다 1이 더 적은 차수를 갖는 하나 또는 그 초과의 가변 노드들에 대응하는,
    컴퓨터-판독 가능 저장 매체.
  21. 제 19 항에 있어서,
    상기 하나 또는 그 초과의 펑처링된 베이스 노드들은 하나 또는 그 초과의 2 차수의 가변 노드들에 대응하는,
    컴퓨터-판독 가능 저장 매체.
  22. 제 21 항에 있어서,
    상기 하나 또는 그 초과의 펑처링된 베이스 노드들은 다른 가변 노드에 각각 접속되는 하나 또는 그 초과의 각각의 체크 노드들을 분할하고, 그리고
    다른 가변 노드들 각각은 대응하는 분할된 체크 노드의 엘리먼트들 둘 모두에 에지들에 의해 접속되는,
    컴퓨터-판독 가능 저장 매체.
  23. 제 21 항에 있어서,
    상기 하나 또는 그 초과의 펑처링된 베이스 노드들은 상기 베이스 LDPC 코드에서 이중 에지들을 제거하는,
    컴퓨터-판독 가능 저장 매체.
  24. 제 19 항에 있어서,
    준순환 리프팅이 상기 베이스 LDPC 코드에 적용되고, 그리고
    상기 준순환 리프팅에서 에지 클러스터들의 치환들은 순환 치환들인,
    컴퓨터-판독 가능 저장 매체.
  25. 통신 디바이스로서,
    정보 비트들의 세트를 저장하기 위한 메모리; 및
    인코더를 포함하고,
    상기 인코더는:
    코드워드를 생성하기 위해 상기 정보 비트들의 세트에 대해 리프팅된 LDPC 인코딩 동작을 수행하고; 그리고
    상기 LDPC 인코딩 동작에 대해 사용되는 베이스 LDPC 코드의 하나 또는 그 초과의 펑처링된 베이스 비트들에 대응하는 상기 코드워드의 모든 리프팅된 비트들을 펑처링하기 위한 것이고,
    상기 하나 또는 그 초과의 펑처링된 베이스 비트들은 상기 베이스 LDPC 코드의, 하나 또는 그 초과의 펑처링된 베이스 노드들과 각각 대응하는 비트들이고; 그리고
    상기 베이스 LDPC 코드는 가변 노드 및 체크 노드를 각각 포함하는 노드 쌍들 사이에 어떠한 다수의 에지들도 갖지 않고,
    상기 하나 또는 그 초과의 펑처링된 베이스 노드들 중 적어도 하나는 상기 베이스 LDPC 코드의 가장 높은 차수의 가변 노드에 대응하는,
    통신 디바이스.
  26. 제 25 항에 있어서,
    상기 하나 또는 그 초과의 펑처링된 베이스 노드들은 상기 베이스 LDPC 코드의 체크 노드들의 수와 동일하거나 또는 그보다 1이 더 적은 차수를 갖는 하나 또는 그 초과의 가변 노드들에 대응하는,
    통신 디바이스.
  27. 제 25 항에 있어서,
    상기 하나 또는 그 초과의 펑처링된 베이스 노드들은 하나 또는 그 초과의 2 차수의 가변 노드들에 대응하는,
    통신 디바이스.
  28. 제 27 항에 있어서,
    상기 하나 또는 그 초과의 펑처링된 베이스 노드들은 다른 가변 노드에 각각 접속되는 하나 또는 그 초과의 각각의 체크 노드들을 분할하고, 그리고
    다른 가변 노드들 각각은 대응하는 분할된 체크 노드의 엘리먼트들 둘 모두에 에지들에 의해 접속되는,
    통신 디바이스.
  29. 제 27 항에 있어서,
    상기 하나 또는 그 초과의 펑처링된 베이스 노드들은 상기 베이스 LDPC 코드에서 이중 에지들을 제거하는,
    통신 디바이스.
  30. 제 25 항에 있어서,
    준순환 리프팅이 상기 베이스 LDPC 코드에 적용되고, 그리고
    상기 준순환 리프팅에서 에지 클러스터들의 치환들은 순환 치환들인,
    통신 디바이스.
  31. 통신 디바이스로서,
    LDPC 코드워드를 저장하기 위한 메모리; 및
    디코더를 포함하고,
    상기 디코더는:
    베이스 LDPC 코드의 하나 또는 그 초과의 펑처링된 베이스 비트들에 대응하는 상기 LDPC 코드워드의 모든 리프팅된 비트들을 식별하고 ― 상기 하나 또는 그 초과의 펑처링된 베이스 비트들은 상기 베이스 LDPC 코드의, 하나 또는 그 초과의 펑처링된 베이스 노드들과 각각 대응하는 비트들이고; 그리고 상기 베이스 LDPC 코드는 가변 노드 및 체크 노드를 각각 포함하는 노드 쌍들 사이에 어떠한 다수의 에지들도 갖지 않음 ―; 그리고
    정보 비트들의 세트를 복원하기 위해, 상기 LDPC 코드워드에 대해 LDPC 디코딩 동작을 수행하기 위한 것이고,
    상기 식별된 리프팅된 비트들은 디코딩 목적으로 소거되는 것으로 처리되고,
    상기 하나 또는 그 초과의 펑처링된 베이스 노드들 중 적어도 하나는 상기 베이스 LDPC 코드의 가장 높은 차수의 가변 노드에 대응하는,
    통신 디바이스.
  32. 제 31 항에 있어서,
    상기 하나 또는 그 초과의 펑처링된 베이스 노드들은 상기 베이스 LDPC 코드의 체크 노드들의 수와 동일하거나 또는 그보다 1이 더 적은 차수를 갖는 하나 또는 그 초과의 가변 노드들에 대응하는,
    통신 디바이스.
  33. 제 31 항에 있어서,
    상기 하나 또는 그 초과의 펑처링된 베이스 노드들은 하나 또는 그 초과의 2 차수의 가변 노드들에 대응하는,
    통신 디바이스.
  34. 제 33 항에 있어서,
    상기 하나 또는 그 초과의 펑처링된 베이스 노드들은 다른 가변 노드에 각각 접속되는 하나 또는 그 초과의 각각의 체크 노드들을 분할하고, 그리고
    다른 가변 노드들 각각은 대응하는 분할된 체크 노드의 엘리먼트들 둘 모두에 에지들에 의해 접속되는,
    통신 디바이스.
  35. 제 33 항에 있어서,
    상기 하나 또는 그 초과의 펑처링된 베이스 노드들은 상기 베이스 LDPC 코드에서 이중 에지들을 제거하는,
    통신 디바이스.
  36. 제 31 항에 있어서,
    준순환 리프팅이 상기 베이스 LDPC 코드에 적용되고, 그리고
    상기 준순환 리프팅에서 에지 클러스터들의 치환들은 순환 치환들인,
    통신 디바이스.
  37. 인코더로서,
    정보 비트들의 세트를 수신하기 위한 수단;
    코드워드를 생성하기 위해 상기 정보 비트들의 세트에 대해 LDPC 인코딩 동작을 수행하기 위한 수단; 및
    상기 LDPC 인코딩 동작에 대해 사용되는 베이스 LDPC 코드의 하나 또는 그 초과의 펑처링된 베이스 비트들에 대응하는 상기 코드워드의 모든 리프팅된 비트들을 펑처링하기 위한 수단을 포함하고,
    상기 하나 또는 그 초과의 펑처링된 베이스 비트들은 상기 베이스 LDPC 코드의, 하나 또는 그 초과의 펑처링된 베이스 노드들과 각각 대응하는 비트들이고; 그리고
    상기 베이스 LDPC 코드는 가변 노드 및 체크 노드를 각각 포함하는 노드 쌍들 사이에 어떠한 다수의 에지들도 갖지 않고,
    상기 하나 또는 그 초과의 펑처링된 베이스 노드들 중 적어도 하나는 상기 베이스 LDPC 코드의 가장 높은 차수의 가변 노드에 대응하는,
    인코더.
  38. 디코더로서,
    LDPC 코드워드를 수신하기 위한 수단;
    베이스 LDPC 코드의 하나 또는 그 초과의 펑처링된 베이스 비트들에 대응하는 상기 LDPC 코드워드의 모든 리프팅된 비트들을 식별하기 위한 수단 ― 상기 하나 또는 그 초과의 펑처링된 베이스 비트들은 상기 베이스 LDPC 코드의, 하나 또는 그 초과의 펑처링된 베이스 노드들과 각각 대응하는 비트들이고; 그리고 상기 베이스 LDPC 코드는 가변 노드 및 체크 노드를 각각 포함하는 노드 쌍들 사이에 어떠한 다수의 에지들도 갖지 않음 ―; 및
    정보 비트들의 세트를 복원하기 위해, 상기 수신된 LDPC 코드워드에 대해 LDPC 디코딩 동작을 수행하기 위한 수단을 포함하고,
    상기 식별된 리프팅된 비트들은 디코딩 목적으로 소거되는 것으로 처리되고,
    상기 하나 또는 그 초과의 펑처링된 베이스 노드들 중 적어도 하나는 상기 베이스 LDPC 코드의 가장 높은 차수의 가변 노드에 대응하는,
    디코더.
  39. 삭제
  40. 삭제
  41. 삭제
  42. 삭제
  43. 삭제
  44. 삭제
KR1020157024376A 2013-02-13 2014-02-13 높은 레이트, 높은 병렬성, 및 낮은 에러 플로어를 위해 준순환 구조들 및 펑처링을 사용하는 ldpc 설계 KR102142142B1 (ko)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201361764476P 2013-02-13 2013-02-13
US61/764,476 2013-02-13
US14/179,871 2014-02-13
PCT/US2014/016261 WO2014127129A1 (en) 2013-02-13 2014-02-13 Ldpc design using quasi-cyclic constructions and puncturing for high rate, high parallelism, and low error floor
US14/179,942 US9306601B2 (en) 2013-02-13 2014-02-13 LDPC design for high parallelism, low error floor, and simple encoding
US14/179,871 US20140229788A1 (en) 2013-02-13 2014-02-13 Ldpc design for high rate, high parallelism, and low error floor
US14/179,942 2014-02-13

Publications (2)

Publication Number Publication Date
KR20150118992A KR20150118992A (ko) 2015-10-23
KR102142142B1 true KR102142142B1 (ko) 2020-08-06

Family

ID=51298356

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020157024378A KR101662747B1 (ko) 2013-02-13 2014-02-13 높은 병렬성, 낮은 에러 플로어, 및 간단한 인코딩 원리를 갖는 리프팅된 ldpc 코드들에 대한 설계
KR1020157024376A KR102142142B1 (ko) 2013-02-13 2014-02-13 높은 레이트, 높은 병렬성, 및 낮은 에러 플로어를 위해 준순환 구조들 및 펑처링을 사용하는 ldpc 설계

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020157024378A KR101662747B1 (ko) 2013-02-13 2014-02-13 높은 병렬성, 낮은 에러 플로어, 및 간단한 인코딩 원리를 갖는 리프팅된 ldpc 코드들에 대한 설계

Country Status (7)

Country Link
US (2) US20140229788A1 (ko)
EP (2) EP2957037A1 (ko)
JP (2) JP6542132B2 (ko)
KR (2) KR101662747B1 (ko)
CN (2) CN104981978B (ko)
BR (1) BR112015019409B1 (ko)
WO (2) WO2014127129A1 (ko)

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3035539A1 (en) * 2014-12-19 2016-06-22 Xieon Networks S.à r.l. Encoder, decoder and encoding method with low error floor
CN106160937B (zh) 2015-04-15 2019-01-04 中兴通讯股份有限公司 一种实现码块分割的方法及装置
US10523364B2 (en) * 2015-11-06 2019-12-31 Samsung Electronics Co., Ltd. Channel coding framework for 802.11AY and larger block-length LDPC codes for 11AY with 2-step lifting matrices and in-place property
US10784901B2 (en) * 2015-11-12 2020-09-22 Qualcomm Incorporated Puncturing for structured low density parity check (LDPC) codes
US10404280B2 (en) * 2015-11-19 2019-09-03 Westhold Corporation Error correction using cyclic code-based LDPC codes
US11043966B2 (en) * 2016-05-11 2021-06-22 Qualcomm Incorporated Methods and apparatus for efficiently generating multiple lifted low-density parity-check (LDPC) codes
US10454499B2 (en) * 2016-05-12 2019-10-22 Qualcomm Incorporated Enhanced puncturing and low-density parity-check (LDPC) code structure
US9917675B2 (en) 2016-06-01 2018-03-13 Qualcomm Incorporated Enhanced polar code constructions by strategic placement of CRC bits
US10313057B2 (en) 2016-06-01 2019-06-04 Qualcomm Incorporated Error detection in wireless communications using sectional redundancy check information
US10291354B2 (en) 2016-06-14 2019-05-14 Qualcomm Incorporated High performance, flexible, and compact low-density parity-check (LDPC) code
KR20180009558A (ko) 2016-07-19 2018-01-29 삼성전자주식회사 저밀도-패리티 체크 코드를 이용하는 디코더 및 이를 포함하는 메모리 컨트롤러
SG11201810437XA (en) 2016-07-27 2019-02-27 Qualcomm Inc Design of hybrid automatic repeat request (harq) feedback bits for polar codes
EP3522378A4 (en) * 2016-09-30 2020-09-16 LG Electronics Inc. -1- LDPC QC CODE RATE ADAPTATION PROCESS AND ASSOCIATED DEVICE
CN107959501B (zh) * 2016-10-17 2021-06-29 上海数字电视国家工程研究中心有限公司 一种ldpc编码器
US10756761B2 (en) 2016-10-24 2020-08-25 Lg Electronics Inc. Method for dividing carrying block of LDPC code and apparatus therefor
WO2018084735A1 (en) * 2016-11-03 2018-05-11 Huawei Technologies Co., Ltd. Efficiently decodable qc-ldpc code
PL3327936T3 (pl) * 2016-11-23 2021-10-25 Suez Groupe Kodowanie/dekodowanie za pomocą quasi-cyklicznego, półregularnego kodu ldpc o krótkiej długości do zastosowań o niskim poborze mocy, takich jak zdalny odczyt
EP3567730A4 (en) * 2017-01-06 2020-09-02 LG Electronics Inc. -1- PROCEDURE FOR SELECTING A LDPC BASIC CODE WITH A MULTI-LPDC CODE AND DEVICE FOR IT
EP3571770B1 (en) * 2017-03-03 2024-02-21 Huawei Technologies Co., Ltd. High-rate long ldpc codes
CN115065368A (zh) * 2017-03-24 2022-09-16 中兴通讯股份有限公司 一种准循环低密度奇偶校验编码处理方法及装置
US11368169B2 (en) 2017-03-24 2022-06-21 Zte Corporation Processing method and device for quasi-cyclic low density parity check coding
CN108809325B (zh) * 2017-05-05 2022-01-28 上海数字电视国家工程研究中心有限公司 Ldpc译码器
CN110535474B (zh) * 2017-05-05 2023-06-06 华为技术有限公司 信息处理的方法、通信装置
WO2018201540A1 (zh) * 2017-05-05 2018-11-08 华为技术有限公司 信息处理的方法、通信装置
RU2667772C1 (ru) * 2017-05-05 2018-09-24 Хуавэй Текнолоджиз Ко., Лтд. Способ и устройство обработки информации и устройство связи
US10680646B2 (en) 2017-05-12 2020-06-09 Qualcomm Incorporated Row orthogonality in LDPC rate compatible design
CN108988871A (zh) * 2017-05-31 2018-12-11 电信科学技术研究院 一种编码方法及装置、计算机存储介质
CN108988869B (zh) * 2017-05-31 2021-07-30 大唐移动通信设备有限公司 一种确定校验矩阵的方法及装置、计算机存储介质
US10312939B2 (en) 2017-06-10 2019-06-04 Qualcomm Incorporated Communication techniques involving pairwise orthogonality of adjacent rows in LPDC code
WO2018227681A1 (zh) * 2017-06-15 2018-12-20 华为技术有限公司 信息处理的方法和通信装置
CN109150191A (zh) * 2017-06-15 2019-01-04 华为技术有限公司 信息处理的方法、装置和通信设备
CN109150196B (zh) 2017-06-27 2024-06-18 华为技术有限公司 信息处理的方法、装置和通信设备
CN109150197B (zh) * 2017-06-27 2024-05-14 华为技术有限公司 信息处理的方法、装置和通信设备
KR102385274B1 (ko) 2017-07-07 2022-04-08 퀄컴 인코포레이티드 저밀도 패리티 체크 코드 베이스 그래프 선택을 적용한 통신 기술
US10887791B2 (en) * 2017-07-28 2021-01-05 Qualcomm Incorporated Techniques and apparatuses for low density parity check base graph determination and indication
KR101917829B1 (ko) * 2017-11-30 2018-11-12 고려대학교 산학협력단 Ldpc 부호의 셔플 복호를 위한 복호 순서 결정 방법 및 장치
US11973593B2 (en) * 2018-02-23 2024-04-30 Nokia Technologies Oy LDPC codes for 3GPP NR ultra-reliable low-latency communications
CN112204888A (zh) * 2018-05-22 2021-01-08 华为技术有限公司 具有高效编码和良好误码平层特性的一类qc-ldpc码
KR101991447B1 (ko) * 2018-09-10 2019-06-20 국방과학연구소 블록 간섭 및 블록 페이딩에 강인한 고부호율 프로토그래프 기반 ldpc 부호 설계 기법
CN111064475A (zh) * 2018-10-16 2020-04-24 华为技术有限公司 基于低密度奇偶校验码的译码方法及装置
CN109639392B (zh) * 2018-11-09 2020-03-27 清华大学 广播信道传输的空间耦合ldpc码的构造方法及系统
US11303303B2 (en) * 2020-01-03 2022-04-12 Qualcomm Incorporated Rate 7/8 low-density parity-check (LDPC) code
US11455208B2 (en) 2020-08-20 2022-09-27 Western Digital Technologies, Inc. Soft information for punctured bit estimation in a data storage device
KR102476160B1 (ko) * 2020-11-11 2022-12-08 포항공과대학교 산학협력단 비이진 저밀도 패리티 검사 코드 복호기 및 이를 이용한 복호화 방법
US11575390B2 (en) * 2021-07-02 2023-02-07 Hong Kong Applied Science and Technology Research Insitute Co., Ltd. Low-latency segmented quasi-cyclic low-density parity-check (QC-LDPC) decoder
CN116644071B (zh) * 2023-06-08 2024-04-05 中国长江三峡集团有限公司 一种物资编码管理方法、装置、计算机设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004531972A (ja) 2001-06-15 2004-10-14 フラリオン テクノロジーズ,インコーポレーテッド Ldpc符号を復号する方法と装置
KR100724922B1 (ko) 2004-05-12 2007-06-04 포항공과대학교 산학협력단 가변 부호화율을 가지는 블록 저밀도 패리티 검사 부호부호화/복호 장치 및 방법
US20130139024A1 (en) 2011-11-29 2013-05-30 Thuy V. NGUYEN High order modulation protograph codes
KR101433375B1 (ko) 2006-12-04 2014-08-29 삼성전자주식회사 통신 시스템에서 블록 저밀도 패리티 검사 부호부호화/복호 장치 및 방법

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6961888B2 (en) * 2002-08-20 2005-11-01 Flarion Technologies, Inc. Methods and apparatus for encoding LDPC codes
US6957375B2 (en) 2003-02-26 2005-10-18 Flarion Technologies, Inc. Method and apparatus for performing low-density parity-check (LDPC) code operations using a multi-level permutation
KR100809619B1 (ko) * 2003-08-26 2008-03-05 삼성전자주식회사 이동 통신 시스템에서 블록 저밀도 패러티 검사 부호부호화/복호 장치 및 방법
KR100922956B1 (ko) * 2003-10-14 2009-10-22 삼성전자주식회사 저밀도 패리티 검사 코드의 부호화 방법
US7346832B2 (en) * 2004-07-21 2008-03-18 Qualcomm Incorporated LDPC encoding methods and apparatus
US7143333B2 (en) 2004-08-09 2006-11-28 Motorola, Inc. Method and apparatus for encoding and decoding data
US7506238B2 (en) * 2004-08-13 2009-03-17 Texas Instruments Incorporated Simplified LDPC encoding for digital communications
WO2006039801A1 (en) 2004-10-12 2006-04-20 Nortel Networks Limited System and method for low density parity check encoding of data
CN100550655C (zh) * 2004-11-04 2009-10-14 中兴通讯股份有限公司 一种低密度奇偶校验码的编码器/译码器及其生成方法
KR100856235B1 (ko) 2005-09-26 2008-09-03 삼성전자주식회사 가변 부호화율을 가지는 블록 저밀도 패리티 검사 부호부호화/복호 장치 및 방법
US8132072B2 (en) 2006-01-06 2012-03-06 Qualcomm Incorporated System and method for providing H-ARQ rate compatible codes for high throughput applications
EP1999852B1 (en) * 2006-03-30 2011-08-03 Fujitsu Ltd. Construction of parity-check matrices for non-binary ldpc codes
US8028216B1 (en) * 2006-06-02 2011-09-27 Marvell International Ltd. Embedded parity coding for data storage
KR101191196B1 (ko) * 2006-06-07 2012-10-15 엘지전자 주식회사 패리티 검사 행렬을 이용하여 부호화 및 복호화하는 방법
JP2010508728A (ja) 2006-10-26 2010-03-18 クゥアルコム・インコーポレイテッド 無線通信送信のための符合化スキーム
US8161363B2 (en) * 2006-12-04 2012-04-17 Samsung Electronics Co., Ltd Apparatus and method to encode/decode block low density parity check codes in a communication system
WO2008092040A2 (en) * 2007-01-24 2008-07-31 Qualcomm Incorporated Ldpc encoding and decoding of packets of variable sizes
US8261155B2 (en) * 2007-03-09 2012-09-04 Qualcomm Incorporated Methods and apparatus for encoding and decoding low density parity check (LDPC) codes
KR101119302B1 (ko) * 2007-04-20 2012-03-19 재단법인서울대학교산학협력재단 통신 시스템에서 저밀도 패리티 검사 부호 부호화 장치 및방법
KR20080102902A (ko) * 2007-05-22 2008-11-26 삼성전자주식회사 가변 부호화율을 가지는 ldpc 부호 설계 방법, 장치 및그 정보 저장 매체
US7966548B2 (en) * 2007-06-29 2011-06-21 Alcatel-Lucent Usa Inc. Method and system for encoding data using rate-compatible irregular LDPC codes based on edge growth and parity splitting
JP5354985B2 (ja) 2007-07-30 2013-11-27 パナソニック株式会社 符号化装置及び復号化装置
CN101227193B (zh) * 2008-02-02 2010-06-02 中国科学院计算技术研究所 一种低密度校验码的编解码装置和方法
EP2099135B1 (en) * 2008-03-03 2018-02-28 Samsung Electronics Co., Ltd. Apparatus and method for channel encoding and decoding in communication system using low-density parity-check codes
US8433972B2 (en) * 2009-04-06 2013-04-30 Nec Laboratories America, Inc. Systems and methods for constructing the base matrix of quasi-cyclic low-density parity-check codes
EP2244387A1 (en) 2009-04-23 2010-10-27 Georgia Tech Research Corporation Method and transmitter for use in secure communication using error correction codes

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004531972A (ja) 2001-06-15 2004-10-14 フラリオン テクノロジーズ,インコーポレーテッド Ldpc符号を復号する方法と装置
KR100724922B1 (ko) 2004-05-12 2007-06-04 포항공과대학교 산학협력단 가변 부호화율을 가지는 블록 저밀도 패리티 검사 부호부호화/복호 장치 및 방법
KR101433375B1 (ko) 2006-12-04 2014-08-29 삼성전자주식회사 통신 시스템에서 블록 저밀도 패리티 검사 부호부호화/복호 장치 및 방법
US20130139024A1 (en) 2011-11-29 2013-05-30 Thuy V. NGUYEN High order modulation protograph codes

Also Published As

Publication number Publication date
US20140229788A1 (en) 2014-08-14
BR112015019409B1 (pt) 2022-01-11
KR20150118992A (ko) 2015-10-23
US9306601B2 (en) 2016-04-05
CN104981978B (zh) 2017-12-08
WO2014127140A1 (en) 2014-08-21
JP2016507200A (ja) 2016-03-07
EP2957038B1 (en) 2020-06-10
JP6542132B2 (ja) 2019-07-10
KR101662747B1 (ko) 2016-10-06
US20140229789A1 (en) 2014-08-14
JP2016510185A (ja) 2016-04-04
JP5976960B2 (ja) 2016-08-24
BR112015019409A2 (pt) 2017-07-18
CN105075128A (zh) 2015-11-18
WO2014127129A1 (en) 2014-08-21
KR20150118993A (ko) 2015-10-23
CN104981978A (zh) 2015-10-14
EP2957037A1 (en) 2015-12-23
EP2957038A1 (en) 2015-12-23
CN105075128B (zh) 2018-07-17

Similar Documents

Publication Publication Date Title
KR102142142B1 (ko) 높은 레이트, 높은 병렬성, 및 낮은 에러 플로어를 위해 준순환 구조들 및 펑처링을 사용하는 ldpc 설계
CA2915740C (en) Method and apparatus for encoding and decoding low density parity check codes
KR102395201B1 (ko) 길이가 16200이며, 부호율이 10/15인 ldpc 부호어 및 256-심볼 맵핑을 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법
KR102557439B1 (ko) 길이가 64800이며, 부호율이 2/15인 ldpc 부호어 및 256-심볼 맵핑에 상응하는 bicm 수신 장치 및 방법
KR102546120B1 (ko) 길이가 64800이며, 부호율이 2/15인 ldpc 부호어 및 4096-심볼 맵핑에 상응하는 bicm 수신 장치 및 방법
EP2892157A1 (en) Offset Min-Sum decoding of LDPC codes
KR102557432B1 (ko) 길이가 16200이며, 부호율이 3/15인 ldpc 부호어 및 16-심볼 맵핑에 상응하는 bicm 수신 장치 및 방법
KR102546119B1 (ko) 길이가 64800이며, 부호율이 3/15인 ldpc 부호어 및 256-심볼 맵핑에 상응하는 bicm 수신 장치 및 방법
KR102554687B1 (ko) 길이가 16200이며, 부호율이 4/15인 ldpc 부호어 및 64-심볼 맵핑에 상응하는 bicm 수신 장치 및 방법
US11463114B2 (en) Protograph quasi-cyclic polar codes and related low-density generator matrix family
Sridharan et al. Convergence analysis for a class of LDPC convolutional codes on the erasure channel
KR102546125B1 (ko) 길이가 64800이며, 부호율이 3/15인 ldpc 부호어 및 4096-심볼 맵핑에 상응하는 bicm 수신 장치 및 방법
KR102536693B1 (ko) 길이가 64800이며, 부호율이 4/15인 ldpc 부호어 및 256-심볼 맵핑을 위한 bicm 수신 장치 및 이를 이용한 방법
KR102616481B1 (ko) 수신 장치 및 그의 신호 처리 방법
US20160049962A1 (en) Method and apparatus of ldpc encoder in 10gbase-t system
CN107733441B (zh) 编码方法及装置、译码方法及装置
EP2911304A1 (en) Sliding window decoding of LDPC convolutional codes (LDPC-CC)
US9356734B2 (en) Transmitter, receiver, and signal processing method thereof
KR102546121B1 (ko) 길이가 64800이며, 부호율이 4/15인 ldpc 부호어 및 4096-심볼 맵핑에 상응하는 bicm 수신 장치 및 방법
KR102536691B1 (ko) 길이가 16200이며, 부호율이 10/15인 ldpc 부호어 및 256-심볼 맵핑을 위한 bicm 수신 장치 및 이를 이용한 방법
KR102546124B1 (ko) 길이가 64800이며, 부호율이 3/15인 ldpc 부호어 및 1024-심볼 맵핑에 상응하는 bicm 수신 장치 및 방법
KR102538290B1 (ko) 길이가 16200이며, 부호율이 4/15인 ldpc 부호어 및 16-심볼 맵핑을 위한 bicm 수신 장치 및 이를 이용한 방법
KR102538291B1 (ko) 길이가 64800이며, 부호율이 5/15인 ldpc 부호어 및 64-심볼 맵핑을 위한 bicm 수신 장치 및 이를 이용한 방법
Narang et al. imAGE PRoCEssiNG

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