KR102227250B1 - 코드를 인코딩 및 디코딩하기 위한 방법과 시스템 - Google Patents

코드를 인코딩 및 디코딩하기 위한 방법과 시스템 Download PDF

Info

Publication number
KR102227250B1
KR102227250B1 KR1020197004561A KR20197004561A KR102227250B1 KR 102227250 B1 KR102227250 B1 KR 102227250B1 KR 1020197004561 A KR1020197004561 A KR 1020197004561A KR 20197004561 A KR20197004561 A KR 20197004561A KR 102227250 B1 KR102227250 B1 KR 102227250B1
Authority
KR
South Korea
Prior art keywords
matrix
parity check
rows
check matrix
row
Prior art date
Application number
KR1020197004561A
Other languages
English (en)
Other versions
KR20190028788A (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 KR20190028788A publication Critical patent/KR20190028788A/ko
Application granted granted Critical
Publication of KR102227250B1 publication Critical patent/KR102227250B1/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/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/1177Regular LDPC codes with parity-check matrices wherein all rows and columns have the same row weight and column weight, respectively
    • 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/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/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/615Use of computational or mathematical techniques
    • H03M13/616Matrix operations, especially for generator matrices or check matrices, e.g. column or row permutations
    • 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
    • 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
    • H03M13/6368Error control coding in combination with rate matching by puncturing using rate compatible puncturing or complementary puncturing
    • H03M13/6393Rate compatible low-density parity check [LDPC] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing
    • 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/6522Intended application, e.g. transmission or communication standard
    • H03M13/6527IEEE 802.11 [WLAN]

Landscapes

  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Engineering & Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Algebra (AREA)
  • Computing Systems (AREA)
  • Error Detection And Correction (AREA)

Abstract

LDPC 행렬로 소스 워드를 인코딩하고 코드워드를 디코딩하기 위한 방법 및 장치가 개시된다. 상기 방법과 장치는 리프팅 팩터 Z의 LDPC 행렬을 이용한다. LDPC 행렬 Hn은 복수의 부분행렬을 포함하고, 각각의 부분행렬은 Z×Z의 크기를 가지고 있으며, 적어도 하나의 부분행렬은 m1개의 "1"의 대각선을 가지고 있다. m1은 2보다 크거나 같은 정수이다.

Description

코드를 인코딩 및 디코딩하기 위한 방법과 시스템
본 출원은 모바일 무선 인터페이스 기술에 관한 것으로, 상세하게는 이진 저밀도 패리티 검사(binary low density parity check, LDPC) 코드를 인코딩하고 디코딩하는 방법 및 시스템에 관한 것이다.
송신기에서의 LDPC 인코더는 소스 워드를 인코딩하여 코드워드를 생성하는 데 사용된다. 수신기에서의 LDPC 디코더는 수신된 코드워드를 디코딩하는 데 사용된다. 다양한 레이트의 LDPC 코드가 IEEE 802.11ad 표준에 채택되어 있다.
IEEE 802.11REVmc에는 여러 개의 레이트 7/8 LDPC 코드가 제안되어 있다. 하지만, 제안된 LDPC 코드는 오류율 성능 관점에서 최적화되어 있지 않거나, 또는 IEEE 802.11ad 표준에서의 LDPC 코드와는 다른 코드워드 길이를 가지고 있다. 코드워드 길이의 차이는 각각 송신기와 수신기에서의 블록화(blocking) 과정과 역블록화(de-blocking) 과정의 구현에 각각 영향을 미칠 수 있다.
본 개시의 일 실시예에 따르면, 소스 워드를 인코딩하기 위한 방법이 제공된다. 상기 소스 워드를 인코딩하기 위한 방법은, 1×K 소스 워드 행 벡터
Figure 112019016080087-pct00001
를 수신하는 단계; 및 1×N 코드워드 벡터
Figure 112019016080087-pct00002
를 생성하는 단계를 포함한다. 여기서, G는 K×N 생성 행렬이고, G는 패리티 검사 행렬 Hn으로부터 도출되며,Hn은 리프팅 팩터(lifting factor) Z를 가지고 있고, Hn은 복수의 부분행렬을 포함하며, 각각의 부분행렬은 Z×Z의 크기를 가지고 있고, 하나 이상의 부분행렬은 m1개의 "1"의 대각선을 가지고 있으며, m1은 2보다 크거나 같은 정수이다.
본 개시의 일 실시예에 따르면,
Figure 112019016080087-pct00003
이고,
Figure 112019016080087-pct00004
는 이진 행렬이며,
Figure 112019016080087-pct00005
는 차수 n-k의 단위 행렬이고, "T"는 행렬 전치를 나타내며; 패리티 검사 행렬
Figure 112019016080087-pct00006
이다.
본 개시의 일 실시예에 따르면, Hn은, Z의 리프팅 팩터로 M×N 제1 패리티 검사 행렬 H를 정방 부분행렬로 분할하고 - 여기서, M=I×Z이고, N=J×Z이며, I는 2보다 큰 정수이고, J는 0보다 큰 정수이며, 분할된 패리티 검사 행렬 H는 (M/Z)행×(N/Z)열의 부분행렬을 포함하고 있음 -; 분할된 패리티 검사 행렬 H의 부분행렬의 M/Z개의 행으로부터 m1개의 행을 선택하며; 분할된 제1 패리티 검사 행렬 H의 부분행렬의 m1개의 행을 행렬 Hn의 부분행렬의 행으로 추가하여 생성된다. 여기서, m1은 2보다 크거나 같은 정수이다. 일 실시예에서, M-(m1xZ)+Z=N-K이다. 일 실시예에서, Z=42이고, N=672이다. 다른 실시예에서, K=588이고, 새로운 행렬 Hn 84행×672열을 포함한다.
본 개시의 일 실시예에 따르면, 분할된 패리티 검사 행렬 H의 부분행렬의 나머지 행으로부터 m2개의 행이 새로운 행렬 Hn의 부분행렬의 새로운 2번째 행으로 추가된다. 여기서, m2는 1보다 크거나 같은 정수이다. 일 실시예에서, m2=((M/Z)-m1)이다.
본 개시의 일 실시예에 따르면, 상기 소스 워드를 인코딩하기 위한 방법은, 분할된 제1 패리티 검사 행렬 H의 부분행렬의 나머지 (M/Z-m1)개의 행으로부터 m2개의 행을 새로운 행렬 Hn의 제2 부분행렬 행으로 추가하는 단계; 분할된 제1 패리티 검사 행렬 H의 부분행렬의 나머지 (M/Z-m1-m2)개의 행으로부터 m3개의 행을 새로운 행렬 Hn의 3번째 부분행렬 행으로 추가하는 단계; 및 분할된 제1 패리티 검사 행렬 H의 부분행렬의 나머지 (M/Z-m1-m2-m3)개의 행으로부터 m4개의 행을 새로운 행렬 Hn의 4번째 부분행렬 행으로 추가하는 단계를 더 포함한다. 여기서, N=1344이고, Z=42이며, m1, m2, m3, 및 m4 정수이고, m1+m2+m3+m4=<M/Z이며, m1 >1이고, m2>=1이며, m3>=1이고, m4>=1이다.
본 개시의 일 실시예에 따르면, 제1 패리티 검사 행렬 H는 802.11 ad에 지정된 코드 레이트 13/16 LDPC 행렬이고, 제1 행렬 H는 126행×672열이며, Z=42이고, 제2 행렬 Hn은 파라미터 m1로 생성되고, m1=2이고, Z=42이다.
본 개시의 일 실시예에 따르면, 제1 패리티 검사 행렬 H는 코드 레이트 13/16 저밀도 패리티 검사(low density parity check, LDPC) 행렬이고, 제1 행렬 H=252행×1344열이며, Z=84이고, 제2 행렬 Hn은 파라미터 m1로 생성되며, m1=2이고, Z=84이다.
본 개시의 일 실시예에 따르면, 제2 행렬 Hn은,
Figure 112019016080087-pct00007
이다.
본 개시의 일 실시예에 따르면, 제2 행렬 Hn은,
Figure 112019016080087-pct00008
이다.
본 개시의 일 실시예에 따르면, 제1 패리티 검사 행렬 H는 802.11 ad에 지정된 코드 레이트 3/4 LDPC 행렬이고, 제1 행렬 H는 168행×672열이며, Z=42이고, 제2 행렬 Hn는 파라미터 m1 m2로 생성되며, m1=2이고, m2=2이며, Z=42이다.
본 개시의 일 실시예에 따르면, 제1 패리티 검사 행렬 H는 코드 레이트 3/4 로우 LDPC 행렬이고, 제1 행렬 H는 336행×1344열이며, Z=84이고, 제2 행렬 Hn은 파라미터 m1 m2로 생성되며, m1=2이고, m2=2이며, Z=84이다.
본 개시의 일 실시예에 따르면, 제2 행렬 Hn은,
Figure 112019016080087-pct00009
이다.
본 개시의 일 실시예에 따르면, 제2 행렬 Hn은,
Figure 112019016080087-pct00010
이다.
본 개시의 일 실시예에 따르면, Hn=[H1H2]이고, H1은 리프팅 팩터 Z를 갖는 (n-k)×(k) 행렬이며, H1은 복수의 부분행렬을 포함하고, 각각의 부분행렬은 Z×Z의 크기를 가지고 있으며, H2는 마지막 열을 제외하고 열이 2인 풀-랭크(full-rank) (n-k)×(n-k) 행렬이다.
본 개시의 일 실시예에 따르면, H1은,
Figure 112019016080087-pct00011
이고,
H2는,
Figure 112019016080087-pct00012
이다.
본 개시의 일 실시예에 따르면, 복조 신호를 디코딩하기 위한 방법이 제공된다. 상기 복조 신호를 디코딩하기 위한 방법은, 1×N 행 벡터 S를 갖는 복조 신호를 수신하는 단계; 및 인코딩 과정에 사용된 패리티 검사 행렬 Hn으로 1×N 행 벡터 S를 디코딩하는 단계; 및 1×N 벡터
Figure 112019016080087-pct00013
를 생성하여 1×K 소스 워드 행 벡터
Figure 112019016080087-pct00014
를 복원하는 단계를 포함한다. 여기서,
Figure 112019016080087-pct00015
이고, Hn은 복수의 부분행렬을 포함하며, Hn은 리프팅 팩터 Z를 가지고 있고, 각각의 부분행렬은 Z×Z의 크기를 가지고 있으며, 적어도 하나의 부분행렬은 m1개의 "1"의 대각선을 가지고 있고, m1은 2보다 크거나 같은 정수이다.
본 개시의 일 실시예에 따르면, 전술한 방법을 수행하기 위한 시스템이 제공된다.
본 개시의 일 실시예에 따르면, 전술한 방법을 구현하기 위한 시스템이 제공된다. 일 실시예에서, 상기 시스템은 스테이션이다. 일 실시예에서, 상기 시스템은 액세스 포인트이다. 일 실시예에서, 상기 시스템은 무선 송수신기 유닛이다.
이하, 본 출원의 예시적인 실시예를 나타내는 첨부 도면을 참조하여 설명한다.
도 1a는 본 개시의 일 실시예에 따른 예시적인 통신 시스템을 나타낸 블록도이다.
도 1b는 본 개시의 일 실시예에 따른 예시적인 처리 시스템을 나타낸 블록도이다.
도 2a는 본 개시의 송신기의 예시적인 실시예를 나타낸 블록도이다.
도 2b는 본 개시의 정보 비트 스트림을 처리하는 방법의 예시적인 단계를 나타낸 블록도이다.
도 3은 본 개시의 LDCP 인코더의 예시적인 실시예를 나타낸 블록도이다.
도 4a는 802.11ad의 예시적인 단일 캐리어 프레임 포맷을 나타낸 도면이다.
도 4b는 802.11ad의 단일 캐리어 프레임 포맷의 데이터 블록의 예시적인 구조를 나타낸 도면이다.
도 5a 내지 도 5d는 IEEE802.11ad에 지정된 672의 코드워드 길이를 갖는 LDPC 패리티 검사 행렬이고, 도 5e는 4×4 항등 행렬로부터 얻어지는 순환-순열 부분행렬(cyclic-permutation submatrice)을 나타낸 도면이다.
도 6a 내지 도 6d는 IEEE802.11ay에 제안된 1344의 코드워드 길이를 갖는 LPDC 패리티 검사 행렬이다.
도 7a 내지 도 7c는 802.11ad 및 802.11REVmc에서 다른 변조 기법을 갖는 단일 캐리어 블록화(single carrier blocking)를 나타낸 도면이다.
도 8은 본 개시의 일 실시예에 따른 LDPC 인코딩을 위한 패리티 검사 행렬 Hn을 생성하는 과정의 예시적인 단계를 나타낸 블록도이다.
도 9a 및 도 9b는 본 개시에 따른 802.11에서의 레이트 13/16 LDPC에 기초한 코드 레이트 7/8의 예시적인 LDPC 패리티 검사 행렬 Hn을 나타낸 도면이다.
도 10a 및 도 10b는 본 개시에 따른 802.11에서의 레이트 3/4 LDPC에 기초한 코드 레이트 7/8의 예시적인 LDPC 패리티 검사 행렬 Hn을 나타낸 도면이다.
도 11은 본 개시에 따른 LDPC 패리티 검사 행렬 Hn의 예시적인 부분 행렬을 나타낸 도면이다.
도 12는 본 발명의 일 실시예에 따라 생성된 예시적인 LDPC 패리티 검사 행렬 Hn을 나타낸 도면이다.
도 13a 내지 도 13c는 다른 변조 방법을 사용하는 다양한 LDPC 코드의 성능을 나타낸 도면이다.
도 14a 내지 도 14c는 다른 변조 방법을 사용하는 다양한 LDPC 코드의 성능을 나타낸 도면이다.
도 15a는 본 개시의 수신기의 예시적인 실시예를 나타낸 블록도이다.
도 15b는 본 개시의 일 실시예에 따른 수신된 신호를 디코딩하는 과정의 예시적인 단계를 나타낸 블록도이다.
도 16은 본 개시의 LDCP 디코더의 예시적인 실시예를 나타낸 블록도이다.
도 17은 예시적인 LDPC 디코딩 과정을 나타낸 도면이다.
동일한 구성 요소와 특징을 나타내기 위해 도면 전체에 걸쳐 동일한 참조 번호가 사용된다. 도시된 실시예와 함께 본 발명의 양태에 대해 설명할 것이지만, 본 발명을 이러한 실시예로 제한하려는 의도가 아니라는 것을 이해할 것이다.
본 개시는 무선 네트워크에서 소스 워드를 디코딩하고 코드워드를 디코딩하는 방법, 장치, 및 시스템을 교시한다. 이하에서는 주로 802.11ad 네트워크와 관련하여 설명하지만, 본 개시는 다른 블록화 코딩(blocking coding) 기반의 시스템에도 적용될 수 있다.
도 1a는 복수의 스테이션(STA)(102)과 액세스 포인트(AP)(104)를 포함하는 통신 네트워크(100)를 도시한 도면이다. STA(102)와 AP(104) 각각은 본 명세서에서 설명된 송신기, 수신기, 인코더 및/또는 디코더를 포함할 수 있다. 네트워크(100)는 IEEE 802.11 네트워크, 5세대(5G) 또는 4세대(4G) 통신 네트워크, 롱 텀 에벌루션(Long-Term Evolution, LTE), 3세대 파트너십 프로젝트(3rd Generation Partnership Project, 3GPP), 범용 이동 통신 시스템(Universal Mobile Telecommunications SystemUMTS), 및 다른 무선 통신 네트워크 또는 이동 통신 네트워크를 포함하는 하나 이상의 통신 또는 데이터 표준이나 기술에 따라 동작할 수 있지만 이에 제한되지 않는다. 일반적으로, STA(102)는 무선 통신을 제공하거나 또는 802.11 프로토콜을 사용할 수 있는 임의의 장치일 수 있다. STA(102)는 랩톱, 데스크탑 PC, PDA, 액세스 포인트 또는 와이파이 폰, 무선 송신/수신 유닛(wireless transmit/receive unit, WTRU), 이동국(mobile station, MS), 모바일 단말기, 스마트폰, 셀룰러 전화기, 또는 다른 무선 활성화된 컴퓨팅 장치나 모바일 장치일 수 있다. 일부 실시예에서, STA(102)는 통신 네트워크(100)에서 데이터를 송신하거나, 수신하거나, 송수신하지만 통신 이외의 주요 기능을 수행하는 기능을 가진 기계를 포함한다. 일 실시예에서, 기계는 통신 네트워크(100)를 통해 데이터를 송신하거나 및/또는 수신하는 수단을 구비한 장치 또는 디바이스를 포함하지만, 이러한 장치 또는 디바이스는 통상적으로 통신의 주요 목적을 위해 사용자에 의해 조작되지 않는다. AP(104)는 네트워크(100)에서 STA(102)에 대한 무선 전송점 및/또는 수신점으로서 기능하는 기지국(BS), 또는 진화된 노드 B(evolved Node B, eNB), 또는 무선 라우터, 또는 다른 네트워크 인터페이스를 포함할 수 있다. AP(104)는 데이터가 AP(104)와 다른 원격 네트워크, 노드, AP, 및 장치(도시되지 않음) 간에 교환될 수 있게 하는 백홀 네트워크(110)에 연결된다. AP(104)는 도 1a의 화살표로 나타낸 바와 같이, 각각의 STA(102)와의 상향링크 통신 및 하향링크 통신 채널을 구축함으로써 각각의 STA(102)와의 통신을 지원할 수 있다. 네트워크(100)에서의 통신은 스케줄링되지 않거나, 또는 AP(104)에 의해 스케줄링되거나, 또는 네트워크(100) 내의 스케줄링 엔티티 또는 관리 엔티티(도시되지 않음)에 의해 스케줄링되거나, 또는 스케줄링되는 통신과 스케줄링되지 않은 통신을 혼합한 것일 수 있다.
도 1b는 본 명세서에서 설명된 방법과 시스템을 구현하는 데 사용될 수 있는 예시적인 처리 시스템(150), 예컨대 STA(102) 또는 AP(104)를 나타낸 도면이다. 처리 시스템(150)은 예를 들어, 기지국, 무선 라우터, 모바일 장치, 또는 임의의 적절한 처리 시스템일 수 있다. 본 개시 내용을 구현하기에 적합한 다른 처리 시스템이 사용될 수 있으며, 처리 시스템은 후술하는 구성 요소와 다른 구성 요소를 포함할 수 있다. 도 1b는 각 구성 요소의 단일 예를 도시하고 있지만, 처리 시스템(150)에는 각 구성 요소의 복수의 예가 있을 수 있다.
처리 시스템(150)은 하나 이상의 처리 장치(152), 예컨대 프로세서, 마이크로 프로세서, 주문형 반도체(application-specific integrated circuit, ASIC), 필드 프로그래머블 게이트 어레이(field-programmable gate array, FPGA), 전용 논리 회로, 또는 이들의 조합을 포함할 수 있다. 처리 시스템(150)은 하나 이상의 적절한 입력 장치 및/또는 출력 장치(도시되지 않음)와 인터페이스할 수 있게 하는 하나 이상의 입력/출력(I/O) 인터페이스(154)를 포함할 수 있다. 하나 이상의 입력 장치 및/또는 출력 장치는 처리 시스템(150)의 구성 요소로서 포함될 수 있거나 또는 처리 시스템(150)의 외부에 있을 수 있다. 전술한 바와 같이, 처리 시스템(150)은 네트워크, 인트라넷, 인터넷, P2P 네트워크, WAN, LAN, WLAN 및/또는 5G, 4G, LTE와 같은 셀룰러 네트워크 또는 이동 통신 네트워크, 또는 다른 네트워크와의 유선 통신 또는 무선 통신을 위한 하나 이상의 네트워크 인터페이스(158)를 포함할 수 있지만 이에 제한되지 않는다. 네트워크 인터페이스(208)는 네트워크 내 통신 및/또는 네트워크 간 통신을 위한 유선 링크(예를 들어, 이더넷 케이블) 및/또는 무선 링크(예를 들어, 하나 이상의 무선 주파수 링크)를 포함할 수 있다. 예를 들어, 네트워크 인터페이스(158)는 하나 이상의 송신기 또는 송신 안테나, 하나 이상의 수신기 또는 수신 안테나, 및 다양한 신호 처리 하드웨어와 소프트웨어를 통해 무선 통신을 제공할 수 있다. 이 예에서는, 송신 안테나와 수신 안테나 양쪽으로 기능할 수 있는 단일 안테나(160)가 도시되어 있다. 하지만, 다른 예에서는, 송신 및 수신을 위한 별도의 안테나가 있을 수 있다. 네트워크 인터페이스(158)는 백홀 네트워크(110) 또는 네트워크(100) 내의 다른 사용자 장치, 액세스 포인트, 수신점, 송신점, 네트워크 노드, 게이트웨이 또는 릴레이(도시하지 않음)에 데이터를 송수신하도록 구성될 수 있다.
처리 시스템(150)은 솔리드 스테이트 드라이브(solid state drive), 하드 디스크 드라이브, 자기 디스크 드라이브 및/또는 광 디스크 드라이브와 같은 대용량 저장 장치를 포함할 수 있는 하나 이상의 저장 유닛(170)을 더 포함할 수 있다. 처리 시스템(150)은 휘발성 또는 비휘발성 메모리(예를 들어, 플래시 메모리, 랜덤 액세스 메모리(RAM) 및/또는 읽기 전용 메모리(ROM))를 포함할 수 있는 하나 이상의 메모리(172)를 포함할 수 있다. 비일시적인 메모리(172)는 본 개시를 수행하는 것과 같이 처리 장치(152)가 실행하기 위한 명령을 저장할 수 있다. 메모리(172)는, 예컨대 운영체제 및 다른 애플리케이션/기능을 구현하기 위해 다른 소프트웨어 명령을 포함할 수 있다. 일부 예에서, 하나 이상의 데이터 세트 및/또는 모듈이 외부 메모리(예를 들어, 처리 시스템(150)과 유선 통신하거나 또는 무선 통신하는 외부 드라이브)에 의해 제공될 수 있거나, 또는 일시적 또는 비일시적 컴퓨터 판독가능 매체에 의해 제공될 수 있다. 비일시적 컴퓨터 판독 가능 매체의 예는 RAM, ROM, EPROM, EPROM, 플래시 메모리, CD-ROM, 또는 다른 휴대용 메모리 저장소(storage)를 포함한다.
처리 시스템(150)은 소스 워드를 코드워드로 인코딩하기 위한 인코더(162) 및/또는 코드워드를 심볼로 변조하기 위한 변조기(164)를 포함할 수 있다. 인코더(162)는 비트 단위로 코드워드를 생성하기 위해 소스 워드에 대한 인코딩을 수행할 수 있다. 변조기(164)는 그 다음에 (예를 들어, BPSK, QPSK, 16QAM, 또는 64QAM과 같은 변조 기술에 의해) 코드워드에 대한 변조를 수행할 수 있다. 일부 예에서, 메모리(172)에 인코딩된 명령은, 인코더(162) 및/또는 변조기(164)가 처리 시스템(150)의 별개의 모듈이 아닐 수 있도록 처리 장치(152)를 구성하여 인코더(162) 및/또는 변조기(164)의 기능을 수행할 수 있다. 일부 예에서, 인코더(162)와 변조기(164)는 처리 시스템(150)의 송신기 모듈에 구현되어 있을 수 있다. 일부 실시예에서, 송신 안테나(160), 인코더(162), 및 변조기(164)는 처리 시스템(150) 외부의 송신기 컴포넌트로서 구현될 수 있으며, 단순히 처리 시스템 (150)으로부터의 소스 워드를 전달할 수 있다.
처리 시스템(150)은 수신된 신호를 처리하기 위해 복조기(180)와 디코더(190)를 포함할 수 있다. 복조기(180)는 수신된 변조 신호(예를 들어, BPSK, QPSK, 16QAM, 또는 64QAM 신호)에 대한 복조를 수행할 수 있다. 그다음에, 디코더(190)는 수신된 신호에 포함된 원래의 신호를 복원하기 위해 복조된 신호에 대해 적절한 디코딩을 수행할 수 있다. 일부 예에서, 메모리(172)에 인코딩된 명령은, 복조기(180) 및/또는 디코더(190)가 처리 시스템(150)의 별개의 모듈이 아닐 수 있도록 처리 장치(152)를 구성하여 복조기(180) 및/또는 디코더(190)의 기능을 수행할 수 있다. 일부 예에서, 복조기(180)와 디코더는(190)는 처리 시스템(150)의 수신기 모듈에 구현되어 있을 수 있다. 일부 예에서, 수신 안테나(160), 복조기(180), 및 디코더(190)는 처리 시스템(150) 외부의 수신기 구성요소로서 구현되어 있을 수 있으며, 수신된 신호로부터 디코딩된 신호를 처리 시스템(150)에 단순히 전달할 수 있다.
처리 시스템(150)의 구성요소들 간에 통신을 제공하는 버스(192)가 있을 수 있으며, 구성요소는 처리 장치(152), I/O 인터페이스(154), 네트워크 인터페이스(158), 인코더(162), 변조기(164), 저장 유닛(170), 메모리(172), 복조기(180), 및 디코더(190)를 포함한다. 버스(192)는 예를 들어, 메모리 버스, 주변 장치용 버스, 또는 비디오 버스를 포함하는 임의의 적합한 버스 아키텍처일 수 있다.
네트워크(100) 내의 STA(102)와 AP(104) 간의 통신은 저밀도 패리티 검사(low density parity check, LDPC) 인코딩 기술을 이용하여 송신될 소스 워드를 인코딩하거나, 및/또는 수신된 코드워드를 LDPC 코드 디코딩 기술을 이용하여 디코딩하여 구현될 수 있다. 소스 워드가 LDPC 인코딩 기법으로 인코딩된 후, 인코딩된 코드워드가 AP(104)에서 STA(102)로 또는 STA(102)에서 AP(104)로 신호로 전송되는 경우, 전송된 신호의 LDPC 인코딩 정보는 전송된 프레임에 포함되어 있을 수 있다. 송신 신호가 STA(102) 또는 AP(104)에 의해 수신된 후, STA(102) 또는 AP(104)는 적절한 LDPC 디코딩 기술을 선택하여, 수신된 신호를 수신된 신호의 LDPC 인코딩 정보로 디코딩할 수 있다.
(송신기 및 인코더)
도 2a는 STA(102) 또는 AP(104)의 송신기의 예시적인 구현예을 도시한 도면이다. 송신기는 소스 워드 분할 모듈(202), LDPC 인코더(204), 비트-심볼 맵핑 변조기(206), 및 블록화 모듈(208)을 포함할 수 있다.
도 2b는 송신기가 입력 정보 비트 스트림을 처리하는 예시적인 단계를 도시한다.
소스 워드 분할 모듈(202)은 입력 정보 비트 스트림을 적절한 크기를 갖는 소스 워드로 분할하는 데 사용될 수 있다(단계 222). 예를 들어, 소스 워드 분할 모듈(202)에서, 입력 정보 비트 스트림은 336 비트(802.11ad에서의 ½ 코드 레이트를 위한 비트), 420 비트(802.11ad에서의 5/8 코드 레이트를 위한 비트), 504 비트(802.11ad에서의 3/4 코드 레이트를 위한 비트), 546 비트(802.11ad에서의 13/16 코드 레이트를 위한 비트), 및 588 비트(672 비트의 코드워드 크기를 갖는 7/8 코드 레이트를 위한 비트)의 크기를 갖는 소스 워드로 분할될 수 있다. K 비트의 소스 워드가 1×K 행 벡터 또는 일차원 이진 1×K 행렬로서 고려될 수 있다. 예를 들어, 588 비트 소스 워드가 1×588 행 벡터 또는 1차원 2진 1×588 행렬로서 고려될 수 있다.
그런 다음, LDPC 인코더(204)로 소스 워드가 코드워드로 인코딩될 수 있다(단계 224). 도 3은 LDPC 인코더(204)의 예시적인 구현을 나타낸다. 일 실시예에서, LDPC 인코더(204)는 LDPC 행렬 생성부(302), 생성부 행렬 모듈(304), 소스 워드 입력 인터페이스(306), 및 코드워드 생성부(308)를 포함할 수 있다.
LDPC 패리티 검사 행렬 생성부(302)는 2진 (N-K)×N 행렬, 예를 들어 N=672이고, K=588 인 LDPC 패리티 검사 행렬 H를 생성할 수 있다. LDPC 코드는 기능적으로 스파스 패리티 검사 행렬(sparse parity-check matrix)에 의해 정의된다. (n, k) LDPC 코드는 {0, 1}n의 k차원 부공간을 갖는 선형 이진 블록 코드 C이다. 열의 가우시안 제거와 재배열(reordering)을 이용하면 체계적 형태의 동등한 패리티 검사 행렬
Figure 112019016080087-pct00016
를 얻을 수 있다. 여기서,
Figure 112019016080087-pct00017
는 이진 행렬이고,
Figure 112019016080087-pct00018
는 차수 n-k의 단위 행렬이다.
LDPC 행렬 생성부(302)에 의해 생성된 LDPC 패리티 검사 행렬에 기초하여, 생성부 행렬 모듈(304)은 생성부 행렬 G를 생성할 수있다. H에 대응하는 체계적인 형태의 생성부 행렬 G는
Figure 112019016080087-pct00019
일 수 있다. 여기서, "T"는 행렬 전치(matrix transpose)를 나타낸다. 생성부 행렬 G는 이진 K×N 행렬이다. G의 행 공간은, GHT=0일 수 있도록 H와 직교한다. 따라서, LDPC 인코딩에서, 일단 H가 설계되면, G도 그에 따라 결정될 수 있다. 또한, 행렬 H는
Figure 112019016080087-pct00020
을 만족하며,
Figure 112019016080087-pct00021
는 N 비트의 코드워드이다. 그다음에, 생성기 행렬 모듈(304)은 생성된 2진 (K×N) 생성부 행렬 G를 코드워드 생성부(308)에 포워딩한다.
소스 워드 입력 인터페이스(306)는 소스 워드 분할 모듈(202)로부터 소스 워드를 수신한다. 전술한 바와 같이, 수신된 소스 워드는 행 벡터
Figure 112019016080087-pct00022
로서 고려될 수 있다. 그런 다음, 소스 워드 입력 인터페이스(306)는 수신된 소스 워드를 코드워드 생성부(308)에 포워딩한다. 소스 워드
Figure 112019016080087-pct00023
와 2진 (K×N) 생성부 행렬 G를 이용하여, 소스 워드를 생성부 행렬 G와 곱함으로써, 코드워드 생성부(308)는 N 비트의 코드워드
Figure 112019016080087-pct00024
를 생성한다.
일 실시예에서, 생성부 행렬 G는 LDPC 인코더(204)에 미리 저장되어 있을 수 있다. 소스 워드
Figure 112019016080087-pct00025
가 코드워드 생성부(308)에 의해 수신된 후에, 코드워드 생성부(308)는 LDPC 행렬 H 또는 생성부 행렬 G를 생성하지 않고 코드워드
Figure 112019016080087-pct00026
와 코드워드
Figure 112019016080087-pct00027
를 생성할 수 있다.
도 2를 참조하면, 인코딩된 코드워드는
Figure 112019016080087-pct00028
는 그다음에 비트-심볼 매핑 변조부(206)에서 심볼로 변조될 수 있다(단계 226). 적합한 변조 기술이 BPSK, QPSK, 16QAM, 또는 64QAM 일 수 있지만, 이에 한정되는 것은 아니다. BPSK, QPSK, 및 16QAM 변조는 802.11ad에 명시되어 있다. 64QAM 변조는 802.11REVmc에 채택되어 있다. BPSK 변조에서, 이진 비트가 단순히 양극성 {-1, 1} 심볼로 매핑된다. PSK, 16QAM, 및 64QAM 변조에서, 입력되어 인코딩된 비트 스트림(비트 단위의 코드워드
Figure 112019016080087-pct00029
)은 각각 2비트, 4비트, 및 6비트의 세트로 그룹화된다. 비트의 각각의 세트는 대응하는 성상도(constellation) 상의 심볼에 매핑된다. 예를 들어, BPSK, QPSK, 16QAM, 및 64QAM의 경우, 심볼이 각각 1 비트, 2 비트, 4 비트, 및 6 비트를 나타낸다. 복수의 심볼은 변조된 코드워드로서 그룹화될 수 있다. 예를 들어, 변조된 코드워드는 336개의 심볼(802.11 ad에서의 SC QPSK 블록화), 168개의 심볼(802.11ad에서의 SC 16QAM 블록화), 및 112개의 심볼(802.11ad에서의 SC 64QAM 블록화)을 포함할 수 있다.
변조된 코드워드는 블록화 모듈(208)에서 적절한 크기를 갖는 데이터 블록(BLK)으로 추가로 조립될 수 있다(단계 228). 일 실시예에서, 조립된 데이터 블록은 802.11ad 표준에 명시된 바와 같이 448개의 심볼을 포함할 수 있다.
따라서, 도 2의 송신기는 802.11ad 표준에서 요구된 데이터 블록을 생성하는 데 사용될 수 있다.
도 4a는 802.11ad 표준의 예시적인 단일 캐리어(single carrier, SC) 프레임 구조를 도시한 도면이다. 프레임은 숏 트레이닝 필드(short training field, STF), 채널 추정(channel estimation, CE) 필드, PHY 헤더, SC 데이터 블록(BLK), 및 빔 형성 트레이닝을 위한 선택적 자동 이득 제어(automatic gain control, AGC) 서브필드와 TRN-R/T 서브필드를 포함한다. 802.11ad 표준의 SC 프레임이 도 4a와 도 4b에 도시된 바와 같이 복수의 BLK를 포함할 수 있다.
도 4b는 802.11ad 표준에 따른 SC 데이터 블록(BLK)의 예시적인 구성을 나타낸 도면이다. 도 4b에서, 각각의 BLK는 448개의 심볼로 구성된다. 64 비트 가드 인터벌(guard interval, GI)은 인접한 데이터 블록을 분리하기 위해 인접한 모든 2개의 BLK 사이에 사용된다.
(802.11ad에서 코드워드 길이가 672인 LDPC 코드)
LDPC 인코딩된 코드워드가 소스 워드와 생성부 행렬 G의 연산을 통해 생성되고, 생성부 행렬 G가 LDPC 패리티 검사 행렬 H로부터 유도됨에 따라, LDPC 패리티 검사 행렬 H는 소스 워드를 코드워드로 인코딩한다. LDPC 패리티 검사 행렬 H의 설계가 코드의 성능을 향상시킬 수 있다. 패리티 검사 행렬 H는 크기 Z×Z의 정방 부분행렬로 더 분할될 수 있다. Z은 리프팅 팩터(lifting factor)이다. 부분행렬은 항등 행렬의 순환 치환이거나, 또는 모두 0인 성분을 갖는 널(null) 부분행렬이다.
인덱스 i를 갖는 위치는 i개의 엘리먼트씩 열을 오른쪽으로 주기적으로 시프트하여 Z×Z 항등 행렬 P0으로부터 얻어진 순환 치환 부분행렬 Pi를 나타낸다.
도 5a 내지 도 5d는 1/2, 5/8, 3/4, 및 13/16의 레이트로 802.11ad에 명시된 4개의 LDPC 코드의 패리티 검사 행렬을 나타낸 도면이다. 802.11ad에서, 각각의 LDPC 코드는 672 비트의 공통 코드워드 길이를 가지고 있다. 코드 레이트 K/N은 K 비트 소스 워드가 N 비트 코드워드로 인코딩된다는 것을 나타낸다. 802.11ad 표준과 관련하여, 코드워드 길이 N이 672 비트이다. 따라서, 1/2, 5/8, 3/4, 및 13/16의 코드 레이트의 경우, 대응하는 소스 워드의 크기가 각각 336 비트, 420 비트, 504 비트, 및 546 비트이다.
도 5e는 Z×Z 항등 행렬 P0으로부터 얻어진 순환 치환 부분행렬 P1과 순환 치환 부분행렬 P3의 예를 나타낸 도면이다. 도 5E에서, Z=4이다. P1은 P0의 열을 하나의 원소만큼 오른쪽으로 시프트하여 얻어지고, P3는 P0의 열을 3개의 원소만큼 오른쪽으로 시프트하여 얻어진다.
도 5a에서, 값 "0"을 갖는 부분행렬은 42×42 단위 부분행렬인 P0를 나타내며, 도 5a에서 값 "40"을 갖는 제1 부분행렬은 P0의 열을 40개의 원소만큼 오른쪽으로 시프트하여 얻어진다. 유사하게, 도 5b 내지 도 5d에서 0이 아닌 값 i개의 부분행렬 Pi는 또한 각각의 항등 행렬 P0으로부터 얻어질 수 있다.
도 5a는 Z=42인 코드 레이트 1/2 LDPC 패리티 검사 행렬 H=336행×672열을 나타낸 도면이다. 도 5b는 Z=42인 코드 레이트 5/8 LDPC 패리티 검사 행렬 H=252행×672열을 나타낸 도면이다. 도 5c는 Z=42인 코드 레이트 3/4 LDPC 패리티 검사 행렬 H=168행×672열을 나타낸 도면이다. 도 5d는 Z=42인 코드 레이트 13/16 LDPC 패리티 검사 행렬 H=126 행×672열을 나타낸 도면이다. 도 5a 내지 도 5d에서, 공백 성분은 모두 0인 성분을 갖는 Z×Z 부분행렬을 나타낸다.
(802.11ay에서 코드워드 길이가 1344인 LDPC 코드)
도 6a 내지 도 6d는 802.11ay에서 제안된 11/16, 3/4, 5/8, 및 1/2의 레이트를 갖는 4개의 LDPC 코드를 도시한다. 코드 레이트 K/N은 K 비트 소스 워드가 N 비트 코드워드로 인코딩된다는 것을 나타낸다. 802.11ay 표준과 관련하여, 코드워드 길이 N이 1344 비트이다. 따라서, 코드 레이트가 13/16, 3/4, 5/8, 및 1/2인 경우, 대응하는 소스 워드의 크기가 각각 1092, 1008, 840, 및 672 비트이다.
도 6a 내지 도 6d에 도시된 LDPC 코드는 2단계 리프팅에 의해 생성된다. 도 6a의 예에서, 1344의 코드워드 길이를 갖는 레이트 13/16 LDPC 코드(606)는, 도 5d에 도시된 바와 같이, 리프팅 행렬(602) 및 리프팅 팩터 Z(Z=42)를 갖는 802.11ad의 레이트 13/16 베이스 행렬(base matrix)(604)로부터 생성된다. 다시 말해, 베이스 행렬(604)은 126행×672열이거나(Z=42), 또는 3행×16열의 부분행렬을 가지고 있다.
도 6a에 도시된 바와 같이, 리프팅 행렬(602)은 802.11ad의 레이트 13/16 베이스 행렬(604)과 동일한 행과 열의 부분행렬을 가지고 있다.
리프팅 행렬(602)은 IEEE 802.11ay 표준화에서 제안되어 2번째 리프팅을 제공한다. 리프팅 행렬(602)의 각각의 성분은 3개의 가능한 값 "1", "0", 및 "-1" 중 하나를 가지고 있다. 베이스 행렬(604)의 부분행렬이 널("-1"로 표시됨)인 경우, 리프팅 행렬(604)의 대응하는 성분 역시 "-1"로서 표시된다. 예를 들어, 리프팅 행렬(604)의 1행, 16열에서의 성분이 베이스 행렬(602)의 1행, 16열에서의 부분행렬에 대응한다. 리프팅 행렬(604)의 성분과 베이스 행렬(602)의 부분행렬은 모두 "-1"의 값을 갖는다.
코드워드 길이가 1344인 13/16 LDPC 코드(606)를 생성하기 위해, 리프팅 행렬(602)은 코드워드 길이가 672인 13/16 LDPC 베이스 행렬(604)에 적용된다. 특히, 베이스 행렬(604)의 값 "V"를 갖는 부분행렬의 경우, 대응하는 리프팅 행렬(602)의 성분이 "1"의 값을 가지고 있으면, 베이스 행렬(604)에 리프팅 행렬(602)를 적용하면 다음과 같이 4개의 부분행렬이 생성된다.
Figure 112019016080087-pct00030
베이스 매트릭스(604)의 값 "V"를 갖는 부분행렬의 경우, 대응하는 리프팅 행렬(602)의 성분이 "0"의 값을 갖는 경우, 베이스 행렬(604)에 리프팅 매트릭스 (602)를 적용하면 다음과 같은 4개의 부분행렬이 생성된다.
Figure 112019016080087-pct00031
도 6a에서, 행 1의 부분행렬의 예에서, "29"의 값을 갖는 베이스 행렬(604)의 1열은 1행의 대응하는 성분으로서, 리프팅 행렬(602)의 1열은 "1"의 값을 가지고 있고, 리프팅 행렬(602)의 성분을 베이스 행렬(604)의 대응하는 부분행렬과 함께 적용하면 다음과 같이 4개의 부분행렬이 생성된다.
Figure 112019016080087-pct00032
또한, "4"의 값을 갖는 베이스 행렬(604)의 3행, 9열에서의 부분행렬의 예에서, 리프팅 행렬(602)의 3행 9열에서의 대응하는 성분이 "0"이므로, 리프팅 행렬(602)의 성분을 베이스 행렬(604)의 대응하는 부분행렬과 함께 적용하면 다음과 같이 4개의 부분행렬이 생성된다.
Figure 112019016080087-pct00033
베이스 행렬(604)에서 "-1"의 값을 갖는 부분행렬의 경우, 리프팅 행렬(602)의 대응하는 엔트리 역시 "-1"의 값을 갖는다. 리프팅 행렬(602)에서 "-1"의 값을 갖는 하나의 성분을 베이스 행렬(604)의 대응하는 부분행렬에 적용하면 4개의 널 부분행렬이 생성된다.
유사하게, 코드워드 길이가 1344인 레이트 13/16 LDPC 코드와 관련하여 전술한 동일한 규칙으로, 도 6b 내지 도 6d에 도시된 바와 같이, 대응하는 리프팅 행렬(602)을 802.11ad의 672의 코드워드 길이를 갖는 레이트 3/4, 5/8, 및 1/2 베이스 행렬(604)에 적용하면 1344의 코드워드 길이를 갖는 레이트 3/4, 5/8, 및 1/2 LDPC 코드가 생성된다.
또한, 코드워드 길이가 1344인 LDPC 코드는 리프팅 팩터 Z를 증가시켜서 생성될 수 있다. 특히, 부분행렬 크기가 672×2=1344인 코드를 구성하기 위해, 베이스 행렬의 구조와 열 위치 시프트가 유지되지만, 리프팅 팩터가 Z=42에서 Z=84로 증가된다. 예를 들어, 도 5c에 도시된 바와 같이, 802.11ad의 672의 코드워드 길이를 갖는 3/4 베이스 행렬(Z=42)은 168행×672열를 포함한다. 다시 말해, 3/4 베이스 행렬은 4행×16열의 부분행렬을 포함하며, 각각의 부분 행렬은 Z×Z(42×42)의 크기를 가지고 있다. 리프팅 팩터 Z가 42에서 84로 증가되면, 4행×16열의 부분행렬을 포함하는 3/4 베이스 행렬이 336행×1344열이 될 것이다.
(제안된 코드)
802.11ad 표준은 코드 레이트가 7/8인 LDPC 코드를 명시하지 않는다. 802.11 REVmc에는 코드워드 길이가 624인 레이트 7/8 LDPC 코드가 도입되었다. 802.11 REVmc의 레이트 7/8 LDPC 코드는 802.11ad에 명시된 기존의 레이트 13/16 LDPC 코드에 기초하여 레이트 13/16 코드워드로부터 처음 48개의 패리티 비트를 천공하여(puncturing) 생성된다. 구현에 있어서, 송신기는 천공된 비트를 송신하지 않고, 수신기는 천공된 비트에 대해 1/0에 대해 동일한 우도를 둔다. 레이트 7/8 코드의 소스 워드와 코드워드의 크기는 각각 546 비트와 624 비트이다.
코드워드 길이가 1248인 레이트 7/8 LDPC 코드가 802.11 ay에 도입되어 있다. 802.11ay의 레이트 7/8 LDPC 코드는 코드워드 길이가 1344인 레이트 13/16 LDPC 코드로부터의 처음 96 패리티 비트를 천공하여 생성된다. 구현시, 송신기는 천공된 비트를 송신하지 않고, 수신기는 천공된 비트를 위한 1/0에 대해 우도(likelihood)가 동일하다. 레이트 7/8 코드의 소스 워드와 코드워드의 크기는 각각 1092 비트와 1248 비트이다.
802.11 REVmc와 802.11ay에 도입된 7/8 LDPC 코드가 최적화되지 않았기 때문에 성능이 더 향상될 수 있다.
또한, LDPC 코드워드의 크기가 802.11ad에서의 표준 672 비트에서 802.11 REVmc에서의 624 비트로 변경되었고, 레이트 1/2, 5/8, 3/4, 및 13/16에 대한 1344 비트에서 802.11ay에서의 레이트 7/8에 대한 1248 비트로 변경되었다. 하지만, 변조된 코드워드가 802.11ad에서의 448개의 심볼의 블록 사이즈를 갖는 데이터 블록, 또는 802.11ay에서의 896개의 심볼의 데이터 블록으로 여전히 조립되어야 하므로, 변조된 코드워드를 데이터 블록으로 조립하는 블록화 과정이 그에 따라 변경되어야 한다. 데이터 블록을 조립하는 데 있어서의 이러한 변경은 802.11 REVmc에 도입된 7/8 LDPC 코드 또는 802.11ay에 제안된 LDPC 코드에 대한 인코딩 및 디코딩을 구현하기 위해 추가적인 과정을 필요로 한다.
예를 들어, 도 7a는 802.11ad와 802.11REVmc에서의 SC QPSK 블록화의 예를 도시한 도면이다. 802.11ad에서, QPSK를 사용하면, 변조 이후의 하나의 672 비트의 코드워드가 하나의 336 심볼 코드워드가 된다. 모든 3개의 SC 데이터 블록은 4개의 336 심볼 코드워드로 구성되고, 각각의 448 심볼 데이터 블록은 2개의 336 심볼 코드워드, 즉 448=336+112 또는 448=224+224로 구성된다. 하지만, 802.11REVmc에서, 첫 번째 48개의 패리티 비트가 레이트 13/16 LDPC 코드로부터 천공되었기 때문에, 인코딩된 코드워드 각각이 624비트를 포함하고, QPSK를 이용하여, 변조 이후의 하나의 624 비트 코드워드가 하나의 312개의 심볼 코드워드가 된다. 결과적으로, 블록화 과정이 더 복잡해진다. 모든 39개의 데이터 블록이 56개의 코드워드로 구성되고, 각각의 데이터 블록이 2개 또는 3개의 코드워드, 예를 들어 448=312+136이나 448=176+272, 또는 448=40+312+96, 또는 448=216+232 등으로 구성된다.
도 7b는 802.11ad와 802.11REVmc에서의 SC 16QAM 블록화의 예를 나타낸다. 802.11ad에서, 16QAM으로, 변조 이후의 하나의 672비트 코드워드가 하나의 168 심볼 코드워드가 된다. 모든 3개의 SC 데이터 블록은 7개의 168 심볼 코드워드로 구성되고, 각각의 448 심볼 데이터 블록은 3개 또는 4개의 168개의 심볼 코드워드, 즉 448=168+168+112 또는 448=56+168+168+56으로 구성된다. 하지만, 802.11REVmc에서, 인코딩된 코드워드 각각이 624비트를 포함하고, 16QAM으로, 변조 이후의 하나의 624 비트 코드워드가 하나의 156 심볼 코드워드가 된다. 결과적으로, 블록화 과정이 더 복잡해진다. 모든 39개의 데이터 블록이 112개의 코드워드로 구성되고, 각각의 데이터 블록이 3개 또는 4개의 코드워드, 예를 들어 448=156+56+136, 448=20+156+156+116 등으로 구성된다.
유사하게, 도 7c는 802.11ad와 802.11REVmc에서의 SC 64QAM 블록화의 예를 도시한 도면이다. 802.11ad에서, 64QAM으로, 변조 이후의 하나의 672 비트 코드워드가 하나의 112개의 심볼 코드워드가 된다. 각각의 448 심볼 데이터 블록이 4개의 112 심볼 코드워드, 즉 448=112+112+112+112로 구성된다. 하지만, 802.11REVmc에서, 변조 이후의 하나의 624 비트 코드워드가 하나의 104 심볼 코드워드가 된다. 결과적으로, 블록화 과정이 더 복잡해진다. 모든 13개의 데이터 블록이 56개의 코드워드로 구성되며, 각각의 데이터 블록이 5개 또는 6개의 코드워드로 구성된다.
또한, 802.11 REVmc에 도입된 레이트 7/8 LDPC 코드가 802.11ad에 명시된 672 비트 LDPC 코드워드와는 다른 코드워드 길이(624 비트)를 갖기 때문에, 이러한 차이로 인해 송신기에서 소스 워드를 인코딩하는 데 있어서 그리고 수신기에서 코드워드를 디코딩하는 데 있어서 더 복잡해진다.
(새로운 코드)
본 개시의 일 실시예에서, LDPC 인코더(204)에서, 1×K 소스 워드 행 벡터
Figure 112019016080087-pct00034
가 1×N 코드워드 벡터
Figure 112019016080087-pct00035
로 인코딩될 수 있다. G는 K×N 생성 행렬이다. G는 리프팅 팩터 Z를 갖는 (N-K)×N 패리티 검사 행렬
Figure 112019016080087-pct00036
으로부터 도출될 수 있다.
Figure 112019016080087-pct00037
는 이진 행렬이고,
Figure 112019016080087-pct00038
는 차수 N-K의 단위 행렬이다. Hn은 복수의 부분행렬을 포함하고, 각각의 부분행렬은 Z×Z의 크기를 가지고 있다. Hn 내의 적어도 하나의 부분행렬은 m1개의 "1"의 대각선을 가지고 있고, m1은 2보다 크거나 같은 정수이다.
그런 다음, G가 H, 즉
Figure 112019016080087-pct00039
에서 도출된다. "T"는 행렬
Figure 112019016080087-pct00040
전치를 나타낸다.
본 개시의 일 실시예에서, K/N 레이트 LPDC 패리티 검사 행렬 Hn은, LDPC 행렬 생성부(302)에서, Z의 리프팅 팩터를 갖는 M×N 패리티 검사 행렬 H로부터 생성될 수 있다. 여기서, M=I×Z이고, N=J×Z이며, I와 J는 2보다 크거나 같은 정수이다. 도 8에 도시된 바와 같이, M×N 패리티 검사 행렬 H는 Z×Z 크기의 정방 부분행렬로 더 분할될 수 있다(단계 802). 분할된 패리티 검사 행렬 H는 (M/Z)행×(N/Z)열의 부분행렬을 포함한다. 다시 말해, 분할된 패리티 검사 행렬 H는 M/Z개의 검사 노드와 N/Z개의 변수 노드(variable node)를 포함한다. K/N 레이트 LPDC 코드는 리프팅 팩터 Z으로 분할된 패리티 검사 행렬 H로부터 새로운 패리티 검사 행렬 Hn을 생성하여 얻어질 수 있다. 특히, LDPC 행렬 생성부(302)는 분할된 패리티 검사 행렬 H의 부분행렬의 M/Z개의 행으로부터 m1(m1>=2)개의 행을 선택하고(단계 804), 분할된 패리티 검사 행렬 H의 부분행렬의 m1개의 행을 새로운 행렬 Hn의 부분행렬의 하나의 새로운 행으로 추가할 수 있다(단계 806). 분할된 패리티 검사 행렬 H의 부분행렬의 나머지 행((M/Z)-m1) 각각이 새로운 행렬 Hn의 하나의 행이 된다. 이때, 새로운 패리티 검사 행렬 행렬 Hn은 ((M/Z)-m1+1)행×(N/Z)열의 부분행렬을 포함한다. 다시 말해, 새로운 패리티 검사 행렬 Hn은 (((M/Z)-m1+1)×Z)=N-K를 포함한다.
일 실시예에서, LDPC 행렬 생성부(302)는 분할된 패리티 검사 행렬 H의 나머지 행((M/Z)-m1) 부분행렬로부터 m2개의 행을 새로운 행렬 Hn의 부분행렬의 새로운 2번째 행으로 추가할 수 있다(단계 808). 여기서, m1과 m2는 정수이고, m1+m2=<M/Z이며, m1>1이고, m2>=1이다. 일 실시예에서, m2+m2=M/Z이고, 그러므로, 본 실시예에서, 새로운 행렬 Hn은 2행×(N/Z)열의 부분행렬을 포함한다.
일 실시예에서, N=672이고, Z=42이며, LDPC 패리티 검사 행렬 Hn은 M행×672열의 LDPC 패리티 검사 행렬 H로부터 생성될 수 있고, Z=42이다. M×672 패리티 검사 행렬 H는 42×42 크기의 정방 행렬로 더 분할될 수 있다. 분할된 패리티 검사 행렬 H는 (M/42)행×(672/42)열의 부분행렬을 포함한다. 다시 말해, 분할된 패리티 검사 행렬 H는 M개의 검사 노드와 672개의 변수 노드를 포함한다. 일 실시예에서, 7/8 레이트 LPDC 코드가 새로운 행렬 Hn(Z=42)에 기초하여 분할된 패리티 검사 행렬 H로부터 얻어질 수 있다. 특히, LDPC 행렬 생성부(302)는 분할된 패리티 검사 행렬 H의 부분행렬의 m1개의 행을 새로운 행렬 Hn의 제1 부분행렬 행으로 추가한다. 일 실시예에서, LDPC 행렬 생성부(302)는 분할된 패리티 검사 행렬 H의 부분행렬의 나머지 행((M/Z)-m1)으로부터 m2개의 행을 새로운 행렬 Hn의 부분행렬의 2번째 행으로 추가한다. 여기서, m2>=1이고, m2+m2=<M/42이다. 일 실시예에서, m2+m2=M/42이고, 따라서, 본 실시예에서, 새로운 행렬 Hn은 2행×(672/42)열의 부분행렬을 포함한다.
일 실시예에서, N=1344이고, Z=84이다. LDPC 패리티 검사 행렬 Hn은 M행×1344열의 LDPC 패리티 검사 행렬 H에 기초하여 생성될 수 있고, Z=84이다. M×344 패리티 검사 행렬 H는 84×84 크기의 정방 행렬로 더 분할될 수 있다. 분할된 패리티 검사 행렬 H는 (M/84)행×(1344/84)열을 포함한다. 다시 말해, 분할된 패리티 검사 행렬 H는 M개의 검사 노드와 1344개의 변수 노드를 포함한다. 일 실시예에서, 7/8 레이트 LPDC 코드가 새로운 행렬 Hn(Z=84)에 기초하여 분할된 패리티 검사 행렬 H로부터 얻어질 수 있다. 특히, 먼저, LDPC 행렬 생성부(302)는 분할된 패리티 검사 행렬 H의 부분행렬의 m1개의 행을 새로운 행렬 Hn의 제1 부분행렬 행으로 추가한다. 두 번째로, LDPC 행렬 생성부(302)는 분할된 패리티 검사 행렬 H의 부분행렬의 m2개의 행을 새로운 행렬 Hn의 제2 부분행렬 행으로 추가한다. m1과 m2 는 정수이고, m1+m2 =<M/84이며, m1 >1이고, m2>=1이다. 일 실시예에서, m1+m2 =M/84이고, 따라서, 본 실시예에서, 새로운 행렬 Hn은 Z=84인 2행×6열의 부분행렬을 포함한다.
일 실시예에서, N=1344이고, Z=42이며, LDPC 패리티 검사 행렬 Hn은 Z=42인 M행×1344열의 LDPC 패리티 검사 행렬 H에 기초하여 생성될 수 있다. M×1344 패리티 검사 행렬 H는 42×42 크기의 정방 행렬로 더 분할될 수 있다. 분할된 패리티 검사 행렬 H는 (M/42)행×(1344/42)열의 부분행렬을 포함한다. 다시 말해, 분할된 패리티 검사 행렬 H는 M개의 검사 노드와 1344개의 변수 노드를 포함한다. 일 실시예에서, 7/8 레이트 LPDC 코드가 새로운 행렬 Hn(Z=42)에 기초하여 분할된 패리티 검사 행렬 H로부터 얻어질 수 있다. 특히, 먼저, LDPC 행렬 생성부(302)는 분할된 패리티 검사 행렬 H의 부분행렬의 m1개의 행을 새로운 행렬 Hn의 제1 부분행렬 행으로 추가한다. 두 번째로, LDPC 행렬 생성부(302)는 분할된 패리티 검사 행렬 H의 부분행렬의 m2개의 행을 새로운 행렬 Hn의 제2 부분행렬 행으로 추가한다. 세 번째로, LDPC 행렬 생성부(302)는 분할된 패리티 검사 행렬 H의 부분행렬의 m3개의 행을 새로운 행렬 Hn의 제3 부분행렬 행으로 추가한다. 마지막으로, LDPC 행렬 생성부(302)는 분할된 패리티 검사 행렬 H의 부분행렬의 나머지 행으로부터 m4개의 행을 새로운 행렬 Hn의 부분행렬의 4번째 행으로 추가한다. m1, m2, m3, 및 m4 정수이고, m1+m2+m3+m4=< M/42이며, m1>1이고, m2>=1이며, m3>=1이고, m4>=1이다. 일 실시예에서, m1+m2+m3+m4=M/42이고, 따라서, 새로운 행렬 Hn 4행×32열의 부분행렬을 포함한다.
일 실시예에서, LDPC 패리티 검사 행렬 H에서, M=126이고, N=672이며, Z=42이고, 새로운 행렬 Hn은 84행×672열을 포함한다.
일 실시예에서, LDPC 패리티 검사 행렬 H에서, M=168이고, N=672이며, Z=42이고, 새로운 행렬 Hn은 84행×672열을 포함한다.
일 실시예에서, LDPC 패리티 검사 행렬 H에서, M=252이고, N=672이며, Z=42이고, 새로운 행렬 Hn은 84행×672열을 포함한다.
일 실시예에서, LDPC 패리티 검사 행렬 H에서, M=336이고, N=672이며, Z=42이고, 새로운 행렬 Hn은 84행×672열을 포함한다.
일 실시예에서, LDPC 패리티 검사 행렬 H에서, M=252이고, N=1344이며, Z=42이고, 새로운 행렬 Hn은 168행×1344열을 포함한다.
일 실시예에서, LDPC 패리티 검사 행렬 H에서, M=336이고, N=1344이며, Z=42이고, 새로운 행렬 Hn은 168행×1344열을 포함한다.
일 실시예에서, LDPC 패리티 검사 행렬 H에서, M=504이고, N=1344이며, Z=42이고, 새로운 행렬 Hn은 168행×1344열을 포함한다.
일 실시예에서, LDPC 패리티 검사 행렬 H에서, M=672이고, N=1344이며, Z=42이고, 새로운 행렬 Hn은 168행×1344열을 포함한다.
이하에서 설명될 도 11의 예에 도시된 바와 같이, 분할된 패리티 검사 행렬 H의 부분행렬의 M/Z개의 행으로부터 m1, m2, m3, 또는 m4개의 행을 추가하여 새로운 행을 생성함으로써, 새로운 행의 부분행렬 중 적어도 하나가 m1, m2 m3, 또는 m4개의 "1"의 대각선을 포함한다.
일 실시예에서, 7/8 레이트 LDPC 패리티 검사 행렬 Hn은 802.11ad에 명시된 126행×672열의 레이트 13/16 LDPC 패리티 검사행렬 H(Z=42), 또는 252행×1344열을 포함하는 레이트 13/16 LDPC 패리티 검사 행렬 H(Z=84)로부터 생성될 수 있다.
도 5d에 도시된 바와 같이, 레이트 13/16 LDPC 패리티 검사 행렬 H(Z=42)인 =126행×672열이다. 다시 말해, 레이트 13/16 LDPC 패리티 검사 행렬 H는 분할된 부분행렬의 3(=126/42)행×16(=672/42)열을 포함하고, 각각의 부분행렬은 42×42의 크기를 가지고 있다. 일 실시예에서, 7/8 레이트 LDPC 코드는 802.11ad에서의 레이트 13/16 LDPC 패리티 검사 행렬 H의 분할된 부분행렬의 2번째 행과 함께 1번째 행을 선택하고, 분할된 부분행렬의 2번째 행과 함께 1번째 행을 새로운 LDPC 패리티 검사 행렬 Hn의 1번째 행으로 추가하여 얻어질 수 있다. 나머지 3번째 행은 새로운 LDPC 패리티 검사 행렬 Hn의 2번째 행으로서 선택된다. 도 9a에 도시된 바와 같이, 새로운 LDPC 패리티 검사 행렬 Hn은 42×42의 2행×16열 부분행렬을 포함한다.
유사하게, 1344의 코드워드 길이를 갖는 레이트 13/16 LDPC 패리티 검사 행렬 H는 분할된 부분행렬(Z=84)의 3(=252/84)행×16(=1344/84)열을 포함하고, 각각의 부분행렬은 84×84의 크기를 가지고 있다. 일 실시예에서, 7/8 레이트 LDPC 코드는 1344의 코드워드 길이의 레이트 13/16 LDPC 패리티 검사 행렬 H의 분할된 부분행렬의 2번째 행과 함께 1번째 행을 선택하고, 분할된 부분행렬의 2번째 행과 함께 1번째 행을 새로운 LDPC 패리티 검사 행렬 Hn의 1번째 행으로 추가하여 얻어질 수 있다. 나머지 3번째 행은 새로운 LDPC 패리티 검사 행렬 Hn의 2번째 행으로서 선택된다.
다른 실시예에서, 7/8 레이트 LDPC 패리티 검사 행렬 Hn은 802.11ad에서의 레이트 13/16 LDPC 패리티 검사 행렬 H의 분할된 부분행렬의 2번째 행을 새로운 LDPC 패리티 검사 행렬 Hn의 1번째 행으로 선택하고, 그다음에 레이트 13/16 LDPC 패리티 검사 행렬 H의 분할된 부분행렬의 1번째 행과 3번째 행을 선택하고, 분할된 부분행렬의 3번째 행과 1번째 행을 새로운 LDPC 패리티 검사 행렬 Hn의 2번째 행으로 추가하여 생성될 수 있다. 다시, 도 10b에 도시 된 바와 같이, 새로운 LDPC 패리티 검사 행렬 Hn은 42×42의 2행×16열의 부분행렬을 포함한다.
유사하게, 7/8 레이트 LDPC 패리티 검사 행렬 Hn은 코드워드 길이가 1344이고 Z=84인 레이트 13/16 LDPC 패리티 검사 행렬 H의 분할된 부분행렬의 2번째 행을 새로운 LDPC 패리티 검사 행렬 Hn의 1번째 행으로 선택하고, 그다음에 코드워드 길이가 1344인 레이트 13/16 LDPC 패리티 검사 행렬 H의 분할된 부분행렬의 1번째 행과 3번째 행을 선택하며, 분할된 부분행렬의 3번째 행과 함께 1번째 행을 새로운 LDPC 패리티 검사 행렬 Hn의 2번째 행으로 선택하여 얻어질 수 있다. 다시, 새로운 LDPC 패리티 검사 행렬 Hn은 84×84의 2행×16열의 부분행렬을 포함한다.
일반적으로, 7/8 레이트 LDPC 패리티 검사 행렬 Hn은 126행×672열을 포함하는 H(Z=42)와 함께 802.11ad에 명시된 레이트 13/16 LDPC 코드, 또는 252행×1344열을 포함하는 레이트 13/16 LDPC 패리티 검사 행렬 H(Z=84)로부터 생성될 수 있다. 먼저, LDPC 행렬 생성부(302)는 레이트 13/16 LDPC 패리티 검사 행렬 H의 분할된 부분행렬의 임의의 2개의 행을 선택 및 추가하여 새로운 7/8 레이트 LDPC 패리티 검사 행렬 Hn의 하나의 행을 생성한다. 두 번째로, LDPC 행렬 생성부(302)는 레이트 13/16 LDPC 패리티 검사 행렬 H의 분할된 부분행렬의 나머지 하나의 행을 새로운 7/8 레이트 LDPC 패리티 검사 행렬 Hn의 또 다른 행으로서 선택할 수 있다.
일 실시예에서, 7/8 레이트 LDPC 패리티 검사 행렬 Hn은 168행×672열을 포함하는 레이트 3/4 LDPC 패리티 검사 행렬 H(Z=42) 또는 336행×1344열을 포함하는 레이트 3/4 LDPC 패리티 검사 행렬 H(Z=84)로부터 생성될 수 있다.
도 5c에 도시된 바와 같이, 168행×672열을 포함하는 레이트 3/4 LDPC 패리티 검사 행렬 H(Z=42)로부터 생성될 수 있다. 다시 말해, 레이트 3/4 LDPC 패리티 검사 행렬 H는 분할된 부분행렬의 4(=168/42)행×16(=672/42)열을 포함하고, 각각의 부분행렬은 42×42의 크기를 가지고 있다. 유사하게, 336행×344열을 포함하는 레이트 3/4 LDPC 패리티 검사 행렬 H(Z=84) 역시 분할된 부분행렬의 4행×16열로 구성되고, 각각의 부분행렬은 84×84의 크기를 가지고 있다.
일 실시예에서, 코드워드 길이가 672이거나 또는 1344인 7/8 레이트 LDPC 패리티 검사 행렬 Hn의 패리티 검사 행렬은, 레이트 3/4 LDPC 패리티 검사 행렬 H의 분할된 부분행렬의 1번째 행과 3번째 행을 선택하고, 분할된 부분행렬의 3번째 행과 함께 1번째 행을 새로운 LDPC 패리티 검사 행렬 Hn의 1번째 행으로 추가하여 생성될 수 있다. 분할된 부분행렬의 나머지 2번째 행과 4번째 행이 그다음에 선택되어 새로운 LDPC 패리티 검사 행렬 Hn의 2번째 행으로 추가될 수 있다. 도 10a는 2행×16열의 부분행렬을 포함하는 새로운 레이트 7/8 LDPC 패리티 검사 행렬 Hn을 도시하고 있다. 부분행렬은 각각 Z×Z의 크기를 가지고 있으며, Z=42×42이다.
다른 실시예에서, 코드워드 길이가 672이거나 또는 1344인 7/8 레이트 LDPC 패리티 검사 행렬 Hn은, 레이트 3/4 LDPC 패리티 검사 행렬의 분할된 부분행렬의 2번째 행과 3번째 행을 먼저 선택하고, 선택된 분할된 부분행렬의 2번째 행과 3번째 행을 새로운 LDPC 패리티 검사 행렬 Hn의 1번째 행으로 추가하여 생성될 수 있다. 분할된 부분행렬의 나머지 1번째 행과 제4행은 그다음에 선택되어 새로운 LDPC 패리티 검사 행렬 Hn의 2번째 행으로 추가된다. 도 10b는 2행×16열의 부분행렬을 포함하는 새로운 LDPC 패리티 검사 행렬 Hn을 나타낸 도면이다. 각각의 부분행렬은 Z×Z의 크기를 가지고 있고, Z=42이다.
일반적으로, 코드워드 길이가 672이거나 또는 1344인 7/8 레이트 LDPC 패리티 검사 행렬 Hn은, 레이트 13/16 LDPC 패리티 검사 행렬 H의 분할된 부분행렬의 임의의 2개의 행을 선택하여 새로운 7/8 레이트 LDPC 패리티 검사 행렬 Hn의 1번째 행으로 추가하고, 나머지 하나의 행을 새로운 7/8 레이트 LDPC 패리티 검사 행렬 Hn의 2번째 행으로 이용하여 레이트 13/16 LDPC 패리티 검사 행렬 H로부터 생성될 수 있다. 코드워드 길이가 672이면, Z=42이고; 코드워드 길이가 1344이면, Z=84이다.
또한, 코드워드 길이가 672이거나 또는 1344인 7/8 레이트 LDPC 패리티 검사 행렬 Hn은, 레이트 3/4 LDPC 패리티 검사 행렬 H의 분할된 부분행렬의 임의의 2개 이상의 행을 새로운 7/8 레이트 LDPC 패리티 검사 행렬 Hn의 1번째 행으로 선택 및 추가하고 또한 나머지 하나 이상의 행을 새로운 7/8 레이트 LDPC 패리티 검사 행렬 Hn의 2번째 행으로 추가함으로써 레이트 3/4 LDPC 패리티 검사 행렬 H로부터 생성될 수 있다. 코드워드 길이가 672이면, Z=42이고; 코드워드 길이가 1344이면, Z=84이다.
유사하게, 코드워드 길이가 672이거나 또는 1344인 7/8 레이트 LDPC 패리티 검사 행렬 Hn은, 레이트 1/2 또는 5/8 LDPC 패리티 검사 행렬 H의 분할된 부분행렬의 임의의 2개 이상의 행을 새로운 7/8 레이트 LDPC 패리티 검사 행렬 Hn의 1번째 행으로 추가하고, 그다음에 나머지 행을 새로운 7/8 레이트 LDPC 패리티 검사 행렬 Hn의 2번째 행으로 추가함으로써 레이트 1/2 또는 5/8 LDPC 패리티 검사 행렬 H로부터 생성될 수 있다. 코드워드 길이가 672이면, Z=42이고, 코드워드 길이가 1344이면, Z=84이다.
코드워드 길이는 1344이고, Z=42이다.
일 실시예에서, 1344의 코드워드 길이를 갖는 7/8 레이트 LDPC 코드가 336 행×1344열을 포함하고 레이트 13/16 LDPC 패리티 검사 행렬 H(Z=42)로부터 생성될 수 있다. 도 6a에 도시돤 바와 같이, 생성된 행렬(606) H는 6행×32열의 부분행렬을 가지고 있고, 각각의 부분행렬은 42×42의 크기를 가지고 있다. 일 실시예에서, 도 6a의 생성된 1344 코드 행렬(606)의 부분행렬의 임의의 3개의 행이 새로운 7/8 레이트 LDPC 패리티 검사 행렬 Hn의 하나의 행으로 추가될 수 있고, 나머지 3개의 행이 코드워드 길이가 1344인 7/8 레이트 LDPC 행렬 Hn의 3개의 행이 된다. 이 때, 코드워드 길이가 1344인 7/8 레이트 LDPC 행렬은 4행×32열의 부분행렬을 가지고 있고, Z=42이다.
다른 실시예에서, 도 6a에서는 부분행렬의 임의의 2개의 행이 코드워드 길이가 1344인 생성된 행렬(606) H의 6개의 행으로부터 선택될 수 있다. 2개의 선택된 행이 그다음에 새로운 7/8 레이트 LDPC 패리티 검사 행렬 Hn의 하나의 행으로 추가될 수 있다. 또 다른 2개의 행이 행렬(606) H의 부분행렬의 나머지 4개의 행으로부터 선택되어 새로운 7/8 레이트 LDPC 패리티 검사 행렬 Hn의 또 다른 행으로 추가될 수 있다. 행렬(606) H의 나머지 2개의 행이 코드워드 길이 1344인 7/8 레이트 LDPC 행렬 Hn의 나머지 2개의 행이 된다. 이때, 코드워드 길이 1344인 7/8 레이트 LDPC 행렬 Hn은 4행×32열의 부분행렬을 가지고 있고, Z=42이다.
일 실시예에서, 선택된 행은 기본 패리티 검사 행렬(604)의 서로 다른 행에서 도출된다.
일 실시예에서, K/N 레이트 LDPC 패리티 검사 행렬 Hn 및/또는 Hn의 대응하는 생성 행렬 G, 예를 들어 7/8 레이트 LDPC 패리티 검사 행렬 Hn 및/또는 Hn의 대응하는 생성 행렬 G가, 소스 워드를 인코딩하기 위해 송신기의 메모리에 미리 저장되거나, 또는 복조된 코드워드를 디코딩하기 위한 수신기의 메모리에 미리 저장될 수 있다.
도 9a 내지 도 9b와 도 10a 내지 도 10b의 예에서, 레이트 13/16 또는 3/4 LDPC 패리티 검사 행렬 H의 분할된 부분행렬의 2개의 행을 추가한 결과로서, 앞에서 생성된 7/8 레이트 LDPC 행렬에서는, 이중 순환 시프트 순열 행렬(double cyclic shift permutation matrix)이 일부 부분행렬에 존재할 수 있다. 도 9a 내지 도 9b와 도 10a 내지 도 10b에서, "-"는 모든 0인 성분을 갖는 널 부분행렬을 나타낸다. 2개의 결합하는 부분행렬이 모두 0인 성분을 갖는 널 부분행렬이 아니라면, 이중 순환 시프트 순열 행렬이 존재한다.
예를 들어, 7/8 코드의 패리티 검사 행렬 Hn에서 "37+29"으로 표시된 도 9a의 부분행렬은, 802.11ad에서의 LDPC의 레이트 13/16 패리티 검사 행렬 H의 2번째 행과 함께 1번째 행을 추가하거나 또는 802.11ad에서의 LDPC의 레이트 3/4 패리티 검사 행렬 H의 3번째 행과 함께 2번째 행을 새로운 LDPC 패리티 검사 행렬 Hn의 1번째 행으로 추가하여 얻어진다. 도 11에 도시된 바와 같이, "37+29"로 표시된 부분행렬은 2개의 "1"의 대각선을 나타낸다. "1"의 첫 번째 대각선은 0열에서부터 36열까지이고, 그다음에 37열에서부터 41열까지이며, 두 번째 대각선은 0열에서부터 28열까지이고, 그다음에 29열에서부터 41열까지이다.
2개의 행이 추가되면, 코드의 변수 노드 차수 분포가 바뀌지 않으며, 검사 노드의 차수가 2배가 된다. 즉, 각각의 행에는 2개의 "1"이 있다. 예를 들어, 도 11에서, "10"행에는 2개의 "1"이 있다. 하나는 5열에 있고, 나머지는 40열에 있다.
전술한 바와 같이, 코드워드 길이가 672인 예에서, LDPC 행렬 생성부(302)가 분할된 패리티 검사 행렬 H로부터 새로운 K/N 레이트 LPDC 코드 행렬 Hn을 생성하는 경우, LDPC 행렬 생성부(302)는 먼저, 분할된 패리티 검사 행렬 H의 부분행렬의 m1개의 행을 새로운 행렬 Hn의 부분행렬의 하나의 행으로 추가하고(단계 806), 선택적으로, 분할된 패리티 검사 행렬 H의 나머지 부분행렬로부터 선택된 m2개의 행이 또한 새로운 행렬 Hn의 부분행렬의 2번째 행으로 추가될 수 있다(단계 808). 여기서, m1과 m2는 정수이고, m1+m2=<M/Z이며, m1 >1이고, m2>=1이다. 코드워드 길이가 1344인 예에서, m3개의 행과 m4개의 행 역시 분할된 패리티 검사 행렬 H의 나머지 부분행렬로부터 선택되고, 또한 새로운 행렬 Hn의 3번째 행이나 또는 4번째 행으로 추가될 수 있다. 이 경우에, m1+m2+m3+m4=< M/Z이고, m1>1이며, m2>=1이고, m3>=1이며, m4>=1이다.
분할된 패리티 검사 행렬 H의 부분행렬의 M/Z개의 행으로부터 m1, m2, m3, 및/또는 m4개의 행을 추가하여 부분행렬의 새로운 행을 생성함으로써, 적어도 하나의 부분행렬이 m1 m2, m3, 또는 m4개의 널이 아닌 부분행렬 모두에 의해 생성되면, 새로운 행의 부분행렬 중 적어도 하나가 m1 m2, m3, 또는 m4개의 "1"의 대각선을 포함한다. m1 m2, m3, 또는 m4개의 행이 추가된 경우, 코드의 변수 노드 차수 분포가 바뀌지 않고, 검사 노드의 차수가 m1 m2, m3, 또는 m4이다. 즉, 각각의 행에는 m1 m2, m3, 또는 m4개의 "1"이 있다.
병렬 배치(Juxtaposition)
LDPC 코드는, 2개의 행렬 H=[H1H2]를 병렬 배치하여 얻어진 (n-k, n) 패리티 검사 행렬에 의해 특징지어지는 강화된 불규칙 반복 누적(enhanced irregular repeat accumulate, eIRA) 코드 구조로 제약될 수 있다. 여기서, H1은 도 12에 도시된 바와 같이, 구성 부분행렬이 Z×Z 널 행렬이거나 또는 주기적으로 시프트된 항등 행렬 블록 구조의 행렬인 (n-k)×(k) 체계적 부분이고, H2 마지막 열을 제외하고는 열이 2인 풀-랭크(full-rank) (n-k)×(n-k) 행렬이다.
에러-플로어(error-floor) 성능을 향상시킬 수 있는 가장 큰 가변-노드 차수를 증가시키기 위해, 설계 알고리즘은 필요한 경우 순환 시프트가 다른 2개 이상의 대각선을 갖는 구성 부분 행렬을 허용한다. 예를 들어, 도 12에서, 값 "9+24+31"을 갖는 부분 행렬은 3개의 대각선을 포함한다.
도 12에서, 1번째 행(1202)은 부분행렬 인덱스이고, H1의 일부를 구성하지 않는다. 2번째 행과 3번째 행(1204)은 H1의 부분행렬이고, LDPC 행렬 H를 생성하는 데 사용된다.
일 실시예에서, 파라미터(K=588, N=672, 및 Z=42)를 갖는 레이트 7/8 LDPC 행렬 H를 생성하기 위해, 이 코드의 행렬 H1(1201)은 크기 42×42의 부분행렬의 2개의 행(1204)만을 가지고 있다. 도 12의 예에서, 변수 노드 차수는 4, 예를 들어 1번째 열 (9+24+31)+41까지일 수 있다. H2는 Z=42인 84×84 풀-랭크 행렬이다.
도 12에 도시된 바와 같이, H1은 2행×14열의 부분행렬(Z=42)을 포함한다. H2는 84x84 풀-랭크 행렬(Z=42)이고, 그 크기가 2행×2열의 부분행렬과 동일하 다. 따라서, H=[H1H2]의 크기는 2행×16 열의 부분행렬(Z=42)과 동일하다.
일 실시예에서, 파라미터(K=1176, N=1344, 및 Z=84)를 갖는 레이트 7/8 LDPC 행렬 H를 생성하기 위해, 코드의 행렬 H1(1201)은 크기 84×84의 부분행렬의 2개의 행(1204)만을 가지고 있다. H2는 68×168 풀-랭크 행렬이다.
도 12에 도시된 바와 같이, H1은 Z=84인 2행×14열의 부분행렬을 포함한다. H2는 Z=84인 168×168 풀-랭크 행렬이고, 그 크기는 2행×2열의 부분행렬과 동일하다. 따라서, H=[H1H2]의 크기는 2행×16열의 부분행렬(Z=84)과 동일하다.
(성능)
도 13a 내지 도 13c의 예는 13/16 코드를 천공하고, 802.11ad의 13/16 코드의 1행과 2행을 추가하고, H1과 H2를 병치하여 3/4 코드와 최적화 코드의 1행과 3행 및 2행과 3행을 추가하여 생성된 N = 672 코드 Hn(Z=42)의 레이트 7/8의 성능을 나타낸다. 도 13a, 13b 및 13c의 코드워드는 각각 QPSK, 16QAM, 및 64QAM에 의해 변조된다.
도 13a, 13b 및 13c에 도시된 바와 같이, 소정의 신호 대 잡음비(SNR) 값으로, H1과 H2를 병치함으로써 1행과 3행을 추가하고 또한 3/4 코드와 최적화된 코드의 2행과 4행을 추가하여 생성되는 7/8 레이트 LDPC 패리티 검사 Hn은, 일반적으로 더 낮은 프레임 오류율(frame error rate, FER)를 산출한다. 대안적으로, H1과 H2를 병치함으로써 1행과 3행을 추가하고 또한 3/4 코드와 최적화된 코드의 2행과 4행을 추가하여 생성된 7/8 레이트 LDPC 패리티 검사 Hn은, 소정의 FER을 달성하기 위해 더 낮은 SNR 값을 필요로 한다.
13/16 코드의 1행과 2행을 추가하여 생성된 7/8 코드에 대해, 소정의 SNR을 위해, 1행과 2행을 추가하여 생성된 7/8 레이트 LDPC 패리티 검사 Hn은 일반적으로 미세하게 더 높은 FER을 가지고 있다. 하지만, 이 코드의 코드워드 길이가 802.11ad에 명시된 다른 코드의 코드워드와 동일한 672이므로, 이 7/8 레이트 LDPC 패리티 검사 Hn의 블록화와 역블록화의 구현이 바뀌지지 않고, 반면에 802.11ad의 13/16 코드로부터 천공된 7/8 코드의 블록화와 역블록화가 송신기와 수신기에서 추가적인 변경을 필요로 한다.
도 14a 내지 도 14c의 예는, 13/16 코드(n=1248, K=1092)를 천공하고 또한 3/4 코드의 1행과 3행 그리고 2행과 4행을 추가하여 생성되는 N=1344 코드 Hn(Z=42)의 레이트 7/8의 성능을 나타낸다. 도 14a, 14b 및 14c의 코드워드는 각각 QPSK, 16QAM, 및 64QAM에 의해 변조된다. 도 14a, 14b, 및 14c에 도시된 바와 같이, 소정의 신호 대 잡음비(SNR)로, 3/4 코드의 1행과 3행 그리고 2행과 4행에 의해 생성된 7/8 레이트 LDPC 패리티 검사 Hn은 더 낮은 프레임 오류율(FER)을 갖는다.
(디코더 & 디코딩 방법)
LDPC 인코딩된 신호가 STA(102) 또는 AP(104)의 수신기에 수신될 수 있다. 도 15a의 예에 도시된 바와 같이, 수신기는 등화 및 역블록화 모듈(equalization and de-blocking module)(1502), 복조기(1504), LLR 계산부(1506), 및 LDPC 디코더(1508)를 포함한다. 선택적으로, LLR 계산부(1506)는 복조기(1504)의 구성요소일 수 있다. 도 15b에 도시된 바와 같이, 수신된 LDPC 인코딩된 신호로, 등화 및 역블록화 모듈(1502)은 먼저, 수신된 신호가 전송된 채널로 인한 심볼 간 간섭을 줄이기 위해 수신된 신호(1501)를 등화하고, 그다음에 등화된 신호를 역블록화하여 코드워드 심볼을 복원한다(단계 1522). 복조기(1504)는 예를 들어 BPSK, QPSK, 16QAM, 또는 64QAM에 의해 역블록화된 코드워드 심볼을 비트 단위의 코드워드로 복조한다(단계 1524). LLR 계산부(1504)는 역블록화된 코드워드 심볼의 비트 값의 로그 우도 비율을 생성하는 데 사용될 수 있다(단계 1526). 로그 우도 비율은 LDPC 디코더의 입력(1508)으로서 사용될 수 있다. LDPC 디코더(1508)은 그다음에 소스 워드를 인코딩하는 데 사용된 LDPC 행렬 Hn을 이용하여, 1×N 행 벡터 S를 갖는 복조 신호를 디코딩한다(단계 1528). LDPC 디코더(1508)는 1×N 행 벡터
Figure 112019016080087-pct00041
를 생성하여 1×K 소스 워드 행 벡터
Figure 112019016080087-pct00042
를 복원한다. 유효한 코드워드
Figure 112019016080087-pct00043
이기 위해,
Figure 112019016080087-pct00044
이다. LDPC 인코딩된 신호를 디코딩하기 위해 다양한 알고리즘, 예를 들어 메시지 전달 알고리즘이 이용 가능하다. 도 16은 LDPC 인코딩된 소스 워드를 디코딩하기 위해 메시지 전달 알고리즘을 이용하는 예시적인 LDPC 디코더이다. LDPC 디코딩을 구현하기 위해 다른 디코딩 알고리즘이 사용될 수도 있다. 메시지 전달 알고리즘이 사용되는 경우, LDPC 디코더(1508)는 컨트롤러(1602), 검사 노드 모듈(1604), 및 변수 노드 모듈(1606)을 포함할 수 있다.
전술한 바와 같이, 송신된 신호의 LDPC 인코딩 정보는, 소스 워드를 인코딩하는 데 사용된 K/N 레이트 LPDC 코드 Hn=(N-K)×N LDPC 행렬의 정보와 같이, 송신된 프레임에 포함될 수 있다. 본 출원의 일 실시예에서, K/N 레이트 LPDC 코드 Hn =(N-K)×N이 Z의 리프팅 팩터로 LDPC 디코더(1508)에서 사용될 수 있다. 인코딩 과정에서 설명된 바와 같이, Hn은 복수의 부분행렬을 포함하고, 각각의 부분행렬은 Z×Z의 크기를 가지고 있다. Hn 내의 적어도 하나의 부분행렬은 m1(m1은 2보다 큰 정수)개의 "1"의 대각선을 포함한다. 패리티 검사 행렬을 생성하는 방법은 인코딩 과정에서 설명되었다.
비트 단위의 코드워드는, 예를 들어 LLR 값을 갖는 메시지 전달 알고리즘(MPA)을 이용하여 Hn으로 디코딩될 수 있다. 도 17의 예에 도시된 바와 같이, MPA로 디코딩하는 LDPC 디코딩은 LPDC 패리티 검사 행렬 Hn의 그래픽 표현인 태너 그래프(Tanner graph)의 구조를 이용하는 반복적 디코딩 알고리즘이다. LDPC 디코더(1508)에서, 각각의 검사 노드(1702)는 소거된 비트가 패리티 체크 방정식에서 소거된 유일한 비트이면 LLR 값에 기초하여 소거된 비트의 값을 결정한다. 이 메시지는 태너 그래프 가장자리(1706)를 따라 지나간다. 알고리즘의 반복마다, 각각의 변수 노드(1704)는 변수 노드(1704)가 연결된 각각의 검사 노드(1702)에 메시지("부가정보(extrinsic information)")를 송신한다. 각각의 검사 노드(1702)는 검사 노드(1702)가 연결된 변수 노드(1704)에 메시지("부가정보")를 송신한다. 이 문맥에서의 "부가(extrinsic)"란, 검사 노드(1702) 또는 변수 노드(1704)가 이미 소유하고 있는 정보가 그 노드에는 전달되지 않는다는 것을 의미한다. LLR 계산부(1506)에 수신된 신호 및 Hn에 정의된 패리티 제약조건, 즉 유효 코드워드
Figure 112019016080087-pct00045
가 되는 제약조건에 기초하여 각각의 코드워드 비트에 대한 사후 확률이 계산되며,
Figure 112019016080087-pct00046
이다.
디코딩에서, Hn 내의 적어도 하나의 부분행렬은 m1(m1>=2)개의 대각선 "1"을 포함하므로, 패리티 체크 행렬 Hn에서 중첩된 층의 존재가 LDPC 디코더(1508)의 구현에 거의 영향을 미치지 않으며, LDPC 디코더는 계층화된 아키텍처를 가지고 있다고 가정할 수 있다.
LDPC 디코더(1508)의 계층화된 아키텍처에서, Z개의 병렬 검사 노드 프로세서는 패리티 검사 행렬의 Z행의 부분행렬에 대한 가장자리의 메시지를 순차적으로 처리한다. 일 예에서, Z=42이고, 가장자리는 16이다. 순환 쉬프트 구조는 병렬 프로세서에 단순한 배럴 쉬프터(barrel shifter)를 제공할 수 있게 하는 디코더 아키텍처를 단순화한다. 계층의 처리가 종료되면, 패리티 검사 프로세서가 다시 초기화되고 다음 계층이 처리된다.
m1개의 행이 패리티 검사 노드에 중첩될 때, Hn에서의 적어도 하나의 부분행렬은 m1(m1은 2보다 크거나 같은 정수)개의 "1"의 대각선을 포함한다. 프로세서는 첫 번째 계층이 끝난 후에 초기화되지 않고 오히려 중첩된 부분행렬 행의 다음 16개의 가장자리를 계속 처리한다. 이러한 과정이 m1회 반복될 것이다. 따라서, 디코딩 복잡도는 원본 코드 중 하나와 동일하게 유지되며, 기존 하드웨어 아키텍처가 재사용될 수 있다.
본 개시는 본 개시된 방법 및 시스템의 예를 구현하기 위한 소정의 예시적인 알고리즘 및 계산을 제공한다. 그러나, 본 개시는 임의의 특정한 알고리즘 또는 계산에 의해 한정되지 않는다. 본 개시는 특정한 순서의 단계를 갖는 방법 및 과정에 대해 설명하지만, 이 방법과 과정의 단계 중 하나 이상이 적절하게 생략되거나 또는 변경될 수 있다. 하나 이상의 단계가 설명된 순서와는 다른 순서로 적절하게 수행될 수 있다.
전술한 실시예의 설명을 통해, 본 발명이 하드웨어만을 이용하여 구현되거나, 소프트웨어와 필요한 범용 하드웨어 플랫폼을 이용하여 구현되거나, 또는 하드웨어와 소프트웨어의 조합에 의해 구현될 수 있다. 이러한 이해에 기초하여, 본 발명의 기술적 해결책은 소프트웨어 제품의 형태로 구현될 수 있다. 소프트웨어 제품은 CD-ROM, 또는 USB 플래시 드라이브, 또는 하드 디스크 일 수 있는 비휘발성 저장 매체 또는 비일시적 저장 매체에 저장될 수 있다. 소프트웨어 제품은 컴퓨터 장치(개인용 컴퓨터, 서버, 또는 네트워크 장치)가 본 발명의 실시예에서 제공되는 방법을 실행할 수 있게 하는 다수의 명령을 포함한다.
본 발명 및 본 발명의 이점이 상세하게 설명되었으나, 첨부된 청구 범위에 의해 정의된 바와 같이 본 발명에서 벗어나지 않고 다양한 변경, 대체, 및 변형이 이루어질 수 있다고 이해해야 한다.
또한, 본 출원의 범위가 본 명세서에서 설명된 과정, 기계, 제조물, 물질의 구성, 방식, 방법, 및 단계의 구체적인 실시예로 한정하려는 것이 아니다. 당업자는 본 발명의 개시 내용로부터 즉시 이해할 것이므로, 여기서 설명된 대응하는 실시예로 실질적으로 동일한 결과를 달성하거나 실질적으로 동일한 기능을 수행하는, 현재 존재하거나 나중에 개발될 공정, 기계, 제조물, 물질의 구성, 방식, 방법 또는 단계가 본 발명에 따라 이용될 수 있을 것이다. 따라서, 첨부된 청구 범위는 청구 범위에 이러한 공정, 기계, 제조물, 물질의 조성, 수단, 방법, 또는 단계를 포함하고자 한다.

Claims (58)

  1. 소스 워드를 인코딩하기 위한 방법으로서,
    1×K 소스 워드 행 벡터
    Figure 112020111022575-pct00047
    를 수신하는 단계; 및
    1×N 코드워드 벡터
    Figure 112020111022575-pct00048
    를 생성하는 단계
    를 포함하고,
    G는 K×N 생성 행렬이고, G는 패리티 검사 행렬 Hn으로부터 도출되며,
    Hn은 리프팅 팩터(lifting factor) Z를 가지고 있고,
    Hn은 복수의 부분행렬을 포함하고, 각각의 부분행렬은 Z×Z의 크기를 가지고 있고,
    Hn은, Z의 리프팅 팩터와 M×N 패리티 검사 행렬 H로부터 도출되고, M=I×Z이고, N=J×Z이며, I는 2보다 큰 정수이고, J는 0보다 큰 정수이며, 패리티 검사 행렬 H는 (M/Z)행×(N/Z)열의 부분행렬을 포함하고,
    상기 (M/Z)행으로부터의 m1개의 행을 상기 행렬 Hn의 첫 번째 행으로 추가하고, 상기 (M/Z)행의 나머지 행으로부터의 m2개의 행을 상기 행렬 Hn의 두 번째 행으로 추가하고,
    m1은 2보다 크거나 같은 정수이고, m2는 1보다 크거나 같은 정수인, 소스 워드를 인코딩하기 위한 방법.
  2. 삭제
  3. 삭제
  4. 제1항에 있어서,
    N=672이고, Z=42인, 소스 워드를 인코딩하기 위한 방법.
  5. 제1항에 있어서,
    패리티 검사 행렬 Hn은 84행×672열을 포함하는, 소스 워드를 인코딩하기 위한 방법.
  6. 제1항에 있어서,
    상기 패리티 검사 행렬 H는 802.11 ad에 지정된 코드 레이트 3/4 로우 LDPC 행렬(code rate 3/4 Low LDPC matrix)이고, 패리티 검사 행렬 H=168행×672열이며, Z=42이며, 패리티 검사 행렬 Hn은 파라미터 m1과 m2로 생성되고, m1=2이며, m2=2이고, Z=42인, 소스 워드를 인코딩하기 위한 방법.
  7. 제1항에 있어서,
    패리티 검사 행렬 Hn은,
    Figure 112020007093858-pct00120
    인, 소스 워드를 인코딩하기 위한 방법.
  8. 코드워드를 디코딩하기 위한 방법으로서,
    1×N 행 벡터 S를 갖는 복조 신호를 수신하는 단계; 및
    인코딩 과정에 사용된 패리티 검사 행렬 Hn으로 1×N 행 벡터 S를 디코딩하는 단계
    를 포함하고,
    Hn은 복수의 부분행렬을 포함하고, Hn은 리프팅 팩터 Z를 가지고 있으며, 각각의 부분행렬은 Z×Z의 크기를 가지고 있고,
    Hn은, Z의 리프팅 팩터와 M×N 패리티 검사 행렬 H로부터 도출되고, M=I×Z이고, N=J×Z이며, I는 2보다 큰 정수이고, J는 0보다 큰 정수이며, 패리티 검사 행렬 H는 (M/Z)행×(N/Z)열의 부분행렬을 포함하고,
    상기 (M/Z)행으로부터의 m1개의 행을 상기 행렬 Hn의 첫 번째 행으로 추가하고, 상기 (M/Z)행의 나머지 행으로부터의 m2개의 행을 상기 행렬 Hn의 두 번째 행으로 추가하고,
    m1은 2보다 크거나 같은 정수이고, m2는 1보다 크거나 같은 정수인, 코드워드를 디코딩하기 위한 방법.
  9. 삭제
  10. 삭제
  11. 제8항에 있어서,
    N=672이고, Z=42인, 코드워드를 디코딩하기 위한 방법.
  12. 제8항에 있어서,
    패리티 검사 행렬 Hn은 84행×672열을 포함하는, 코드워드를 디코딩하기 위한 방법.
  13. 제8항에 있어서,
    상기 패리티 검사 행렬 H는 802.11 ad에 지정된 코드 레이트 3/4 로우 LDPC 행렬(code rate 3/4 Low LDPC matrix)이고, 패리티 검사 행렬 H=168행×672열이며, Z=42이고, 패리티 검사 행렬 Hn은 파라미터 m1과 m2로 생성되며, m1=2이고, m2=2이며, Z=42인, 코드워드를 디코딩하기 위한 방법.
  14. 제8항에 있어서,
    패리티 검사 행렬 Hn은,
    Figure 112020007093858-pct00124
    인, 코드워드를 디코딩하기 위한 방법.
  15. 인코더로서,
    1×K 소스 워드 행 벡터
    Figure 112020111022575-pct00125
    를 수신하도록 구성되는 송수신기; 및
    1×N 코드워드 벡터
    Figure 112020111022575-pct00126
    를 생성하도록 구성되는 프로세서
    를 포함하고,
    G는 K×N 생성 행렬이고,
    G는 패리티 검사 행렬 Hn으로부터 도출되며,
    Hn은 복수의 부분행렬을 포함하고, Hn은 리프팅 팩터 Z를 가지고 있으며, 각각의 부분행렬은 Z×Z의 크기를 가지고 있고,
    Hn은, Z의 리프팅 팩터와 M×N 패리티 검사 행렬 H로부터 도출되고, M=I×Z이고, N=J×Z이며, I는 2보다 큰 정수이고, J는 0보다 큰 정수이며, 패리티 검사 행렬 H는 (M/Z)행×(N/Z)열의 부분행렬을 포함하고,
    상기 (M/Z)행으로부터의 m1개의 행을 상기 행렬 Hn의 첫 번째 행으로 추가하고, 상기 (M/Z)행의 나머지 행으로부터의 m2개의 행을 상기 행렬 Hn의 두 번째 행으로 추가하고,
    m1은 2보다 크거나 같은 정수이고, m2는 1보다 크거나 같은 정수인, 인코더.
  16. 제15항에 있어서,
    N=672이고, Z=42인, 인코더.
  17. 삭제
  18. 디코더로서,
    1×N 행 벡터 S를 갖는 복조 신호를 수신하도록 구성되는 송수신기; 및
    인코딩 과정에 사용된 패리티 검사 행렬 Hn으로 행 벡터 S를 디코딩하도록 구성되는 프로세서
    를 포함하고,
    Hn은 복수의 부분행렬을 가지고 있고, Hn은 리프팅 팩터 Z를 가지고 있으며, 각각의 부분행렬은 Z×Z의 크기를 가지고 있고,
    Hn은, Z의 리프팅 팩터와 M×N 패리티 검사 행렬 H로부터 도출되고, M=I×Z이고, N=J×Z이며, I는 2보다 큰 정수이고, J는 0보다 큰 정수이며, 패리티 검사 행렬 H는 (M/Z)행×(N/Z)열의 부분행렬을 포함하고,
    상기 (M/Z)행으로부터의 m1개의 행을 상기 행렬 Hn의 첫 번째 행으로 추가하고, 상기 (M/Z)행의 나머지 행으로부터의 m2개의 행을 상기 행렬 Hn의 두 번째 행으로 추가하고,
    m1은 2보다 크거나 같은 정수이고, m2는 1보다 크거나 같은 정수인, 디코더.
  19. 제18항에 있어서,
    N=672이고, Z=42인, 디코더.
  20. 제15항에 있어서,
    패리티 검사 행렬 Hn은 84행×672열을 포함하는, 인코더.
  21. 제15항에 있어서,
    상기 패리티 검사 행렬 H는 802.11 ad에 지정된 코드 레이트 3/4 로우 LDPC 행렬(code rate 3/4 Low LDPC matrix)이고, 패리티 검사 행렬 H=168행×672열이며, Z=42이며, 패리티 검사 행렬 Hn은 파라미터 m1과 m2로 생성되고, m1=2이며, m2=2이고, Z=42인, 인코더.
  22. 제15항에 있어서,
    패리티 검사 행렬 Hn은,
    Figure 112020111022575-pct00127
    인, 인코더.
  23. 제18항에 있어서,
    패리티 검사 행렬 Hn은 84행×672열을 포함하는, 디코더.
  24. 제18항에 있어서,
    상기 패리티 검사 행렬 H는 802.11 ad에 지정된 코드 레이트 3/4 로우 LDPC 행렬(code rate 3/4 Low LDPC matrix)이고, 패리티 검사 행렬 H=168행×672열이며, Z=42이며, 패리티 검사 행렬 Hn은 파라미터 m1과 m2로 생성되고, m1=2이며, m2=2이고, Z=42인, 디코더.
  25. 제18항에 있어서,
    패리티 검사 행렬 Hn은,
    Figure 112020111022575-pct00128
    인, 디코더.
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
  41. 삭제
  42. 삭제
  43. 삭제
  44. 삭제
  45. 삭제
  46. 삭제
  47. 삭제
  48. 삭제
  49. 삭제
  50. 삭제
  51. 삭제
  52. 삭제
  53. 삭제
  54. 삭제
  55. 삭제
  56. 삭제
  57. 삭제
  58. 삭제
KR1020197004561A 2016-07-20 2016-07-20 코드를 인코딩 및 디코딩하기 위한 방법과 시스템 KR102227250B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2016/090775 WO2018014272A1 (en) 2016-07-20 2016-07-20 Methods and systems for encoding and decoding for ldpc codes

Publications (2)

Publication Number Publication Date
KR20190028788A KR20190028788A (ko) 2019-03-19
KR102227250B1 true KR102227250B1 (ko) 2021-03-12

Family

ID=60992754

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197004561A KR102227250B1 (ko) 2016-07-20 2016-07-20 코드를 인코딩 및 디코딩하기 위한 방법과 시스템

Country Status (7)

Country Link
US (1) US10868567B2 (ko)
EP (1) EP3479486B1 (ko)
JP (1) JP6798004B2 (ko)
KR (1) KR102227250B1 (ko)
CN (1) CN109417392B (ko)
RU (1) RU2716044C1 (ko)
WO (1) WO2018014272A1 (ko)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020515133A (ja) * 2017-03-09 2020-05-21 ホアウェイ・テクノロジーズ・カンパニー・リミテッド 長ldpc符号用のmcs
WO2018182369A1 (ko) 2017-03-30 2018-10-04 엘지전자 주식회사 무선 통신 시스템에서 ldpc 부호의 패리티 검사 행렬을 기반으로 부호화를 수행하는 방법 및 이를 이용한 단말
CN110583023B (zh) * 2017-05-04 2022-03-01 三星电子株式会社 在通信或广播系统中用于信道编码和解码的方法和设备
JP6970210B2 (ja) 2017-06-25 2021-11-24 エルジー エレクトロニクス インコーポレイティドLg Electronics Inc. 無線通信システムにおいてldpc符号のパリティ検査行列に基づいて符号化を行う方法及びそれを用いる端末
WO2019005653A1 (en) 2017-06-26 2019-01-03 Intel IP Corporation APPARATUS, SYSTEM AND METHOD FOR COMMUNICATING PHYSICAL LAYER PROTOCOL DATA UNIT (PPDU)
CN116073954A (zh) * 2017-08-10 2023-05-05 三星电子株式会社 用于在通信或广播系统中对信道进行编码和解码的方法和设备
WO2019079011A1 (en) * 2017-10-18 2019-04-25 Intel IP Corporation APPARATUS, SYSTEM AND METHOD FOR COMMUNICATING PHYSICAL LAYER PROTOCOL DATA UNIT (PPDU)
WO2020030257A1 (en) 2018-08-08 2020-02-13 Huawei Technologies Co., Ltd. Transmitter device and receiver device for efficient transmission of information messages
CN109639392B (zh) * 2018-11-09 2020-03-27 清华大学 广播信道传输的空间耦合ldpc码的构造方法及系统
CN110096384B (zh) * 2019-04-23 2021-06-25 西安电子科技大学 高可靠航天数据及中间变量的保护方法
US11177830B2 (en) 2019-09-10 2021-11-16 Samsung Electronics Co., Ltd. Method and apparatus for data decoding in communication or broadcasting system
CN111431543B (zh) * 2020-05-13 2023-08-01 东南大学 可变码长可变码率qc-ldpc译码方法及装置
WO2022080975A1 (ko) * 2020-10-15 2022-04-21 삼성전자 주식회사 통신 또는 방송 시스템에서 데이터 복호화 방법 및 장치
CN113114271A (zh) * 2021-03-11 2021-07-13 苏州华兴源创科技股份有限公司 低密度奇偶校验编码装置和方法
CN114095125B (zh) * 2021-11-09 2024-07-05 湖南省时空基准科技有限公司 一种窄带数据广播的信道编码方法及设备
CN115031314B (zh) * 2022-06-01 2023-08-04 深圳市瑞尔时代科技有限公司 用于无人值守机房的节能控制系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100115371A1 (en) * 2008-10-31 2010-05-06 Broadcom Corporation Selective merge and partial reuse LDPC (Low Density Parity Check) code construction for limited number of layers Belief Propagation (BP) decoding

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7162684B2 (en) * 2003-01-27 2007-01-09 Texas Instruments Incorporated Efficient encoder for low-density-parity-check codes
US7581157B2 (en) * 2004-06-24 2009-08-25 Lg Electronics Inc. Method and apparatus of encoding and decoding data using low density parity check code in a wireless communication system
US7346832B2 (en) * 2004-07-21 2008-03-18 Qualcomm Incorporated LDPC encoding methods and apparatus
US7395490B2 (en) * 2004-07-21 2008-07-01 Qualcomm Incorporated LDPC decoding methods and apparatus
US7992066B2 (en) 2004-08-09 2011-08-02 Lg Electronics Inc. Method of encoding and decoding using low density parity check matrix
KR100713371B1 (ko) 2004-08-10 2007-05-04 삼성전자주식회사 블록 저밀도 패리티 검사 부호 부호화/복호 장치 및 방법
WO2006062351A1 (en) * 2004-12-08 2006-06-15 Electronics And Telecommunications Research Institute Ldpc encoder and decoder and ldpc encoding and decoding methods
KR100641052B1 (ko) * 2004-12-08 2006-11-02 한국전자통신연구원 Ldpc 부호기 및 복호기, 및 ldpc 부호화 방법 및복호화 방법
JP4617985B2 (ja) 2005-04-25 2011-01-26 ソニー株式会社 符号装置および符号化方法
KR100929079B1 (ko) 2005-10-31 2009-11-30 삼성전자주식회사 저밀도 패리티 검사 부호를 사용하는 통신 시스템의 복호 장치 및 방법
TW201334425A (zh) * 2007-01-24 2013-08-16 Qualcomm Inc 可變大小之封包的低密度同位檢查編碼與解碼
CN101488761B (zh) * 2009-02-27 2011-01-19 北京交通大学 一种无短环无低码重码的ldpc码构造方法
JP4929342B2 (ja) 2009-12-15 2012-05-09 インターナショナル・ビジネス・マシーンズ・コーポレーション ノイズ分散による入力対数尤度比のスケーリングに基づくsum−product復号法(ビリーフプロパゲーション法)の計算手法
US9634693B2 (en) * 2010-08-12 2017-04-25 Samsung Electronics Co., Ltd Apparatus and method for decoding LDPC codes in a communications system
US8726122B2 (en) * 2011-05-11 2014-05-13 Samsung Electronics Co., Ltd. High throughput LDPC decoder
US9100052B2 (en) * 2013-02-01 2015-08-04 Samsung Electronics Co., Ltd. QC-LDPC convolutional codes enabling low power trellis-based decoders
KR20150005853A (ko) * 2013-07-05 2015-01-15 삼성전자주식회사 송신 장치 및 그의 신호 처리 방법
GB2510932B (en) * 2013-08-27 2015-01-21 Imagination Tech Ltd An improved decoder for low-density parity-check codes
CN104779961B (zh) * 2014-01-09 2019-02-26 上海数字电视国家工程研究中心有限公司 一种ldpc结构、码字及对应的编码器、解码器和编码方法
US9276610B2 (en) * 2014-01-27 2016-03-01 Tensorcom, Inc. Method and apparatus of a fully-pipelined layered LDPC decoder
US9692451B2 (en) * 2014-09-30 2017-06-27 Avago Technologies General Ip (Singapore) Pte. Ltd Non-binary low density parity check (NB-LDPC) codes for communication systems

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100115371A1 (en) * 2008-10-31 2010-05-06 Broadcom Corporation Selective merge and partial reuse LDPC (Low Density Parity Check) code construction for limited number of layers Belief Propagation (BP) decoding

Also Published As

Publication number Publication date
KR20190028788A (ko) 2019-03-19
RU2716044C1 (ru) 2020-03-05
US10868567B2 (en) 2020-12-15
WO2018014272A1 (en) 2018-01-25
JP2019522435A (ja) 2019-08-08
EP3479486B1 (en) 2023-05-31
CN109417392A (zh) 2019-03-01
CN109417392B (zh) 2021-10-15
EP3479486A4 (en) 2019-07-10
EP3479486A1 (en) 2019-05-08
US20190222229A1 (en) 2019-07-18
JP6798004B2 (ja) 2020-12-09

Similar Documents

Publication Publication Date Title
KR102227250B1 (ko) 코드를 인코딩 및 디코딩하기 위한 방법과 시스템
US11956076B2 (en) Apparatus and method for encoding and decoding channel in communication or broadcasting system
US11671115B2 (en) High-rate long LDPC codes
US8627166B2 (en) LDPC code family for millimeter-wave band communications in a wireless network
US20200083904A1 (en) Apparatus and method for channel encoding/decoding in communication or broadcasting system
US11664928B2 (en) Multi-label offset lifting method
US10887047B2 (en) Apparatus and method for encoding and decoding channel in communication or broadcasting system
US20230421177A1 (en) Apparatus and method for channel encoding/decoding in communication or broadcasting system
JP7030932B2 (ja) Ldpc符号の符号化および復号化のための方法およびシステム
AU2018288953A1 (en) Method and apparatus for channel encoding and decoding in communication or broadcasting system

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant