KR20190112124A - 높은 레이트의 긴 ldpc 코드 - Google Patents

높은 레이트의 긴 ldpc 코드 Download PDF

Info

Publication number
KR20190112124A
KR20190112124A KR1020197026181A KR20197026181A KR20190112124A KR 20190112124 A KR20190112124 A KR 20190112124A KR 1020197026181 A KR1020197026181 A KR 1020197026181A KR 20197026181 A KR20197026181 A KR 20197026181A KR 20190112124 A KR20190112124 A KR 20190112124A
Authority
KR
South Korea
Prior art keywords
matrix
parity check
check matrix
rows
bit
Prior art date
Application number
KR1020197026181A
Other languages
English (en)
Other versions
KR102262186B1 (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 KR20190112124A publication Critical patent/KR20190112124A/ko
Application granted granted Critical
Publication of KR102262186B1 publication Critical patent/KR102262186B1/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
    • H03M13/1131Scheduling of bit node or check node processing
    • H03M13/114Shuffled, staggered, layered or turbo decoding schedules
    • 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/1157Low-density generator matrices [LDGM]
    • 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/1174Parity-check or generator matrices built from sub-matrices representing known block codes such as, e.g. Hamming codes, e.g. generalized 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1575Direct decoding, e.g. by a direct determination of the error locator polynomial from syndromes and subsequent analysis or by matrix operations involving syndromes, e.g. for codes with a small minimum Hamming distance
    • 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/65Purpose and implementation aspects
    • H03M13/6508Flexibility, adaptability, parametrability and configurability of the implementation
    • H03M13/6516Support of multiple code parameters, e.g. generalized Reed-Solomon decoder for a variety of generator polynomials or Galois fields
    • 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • H04L1/0063Single parity check

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Algebra (AREA)
  • Computing Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Error Detection And Correction (AREA)
  • Optical Communication System (AREA)
  • Dc Digital Transmission (AREA)

Abstract

소스 워드를 인코딩하고 LDPC 매트릭스로 코드워드를 디코딩하는 방법 및 디바이스가 개시된다.

Description

높은 레이트의 긴 LDPC 코드
본 출원은 모바일 무선 인터페이스 기술에 관한 것으로, 더욱 상세하게 말하자면, 이진 저밀도 패리티 검사(low density parity check, LDPC) 코드를 인코딩 및 디코딩하는 방법 및 시스템에 관한 것이다.
송신기의 LDPC 인코더는 소스 워드(source word)를 인코딩하여 코드워드(codeword)를 생성하는 데 사용된다. 수신기의 LDPC 디코더는 수신된 코드워드를 디코딩하는 데 사용된다. 다양한 레이트(rate)의 LDPC 코드가 IEEE 802.11ad 표준에서 채택되었으며 현재 IEEE 802.11ay 표준 개발과 관련하여 제안되었다. 현재까지, 7/8 LDPC 코드 레이트에 대해 제안된 긴 LDPC 코드는 긴 LDPC 코드에 대해 상이한 코드 레이트를 위해 사용된 코드워드 길이와는 상이한 코드워드 길이를 갖는다. 그러나 긴 LDPC 코드에 대한 상이한 코드 레이트에 대해 상이한 LDPC 코드워드 길이를 사용하는 것은 각각 송신기 및 수신기에서의 블로킹 및 디블로킹(de-blocking) 프로세스의 구현에 영향을 미칠 수 있다. 따라서, 상이한 코드 레이트에 대해 일관된 코드워드 길이를 갖는 것이 바람직하다.
예시적인 실시 예들에 따르면, 다른 가능한 솔루션과 비교하여 인코딩 및 단일 캐리어(single carrier, SC) 블로킹에서 더 적은 제로로의 패딩(with padding fewer zeros)으로 구현을 단순화하고 스펙트럼 효율성을 향상시키기 위해, 상이한 코드 레이트를 갖는 다른 LDPC 코드들에 의해 사용되는 1344의 코드워드 길이를 유지하는 레이트 7/8(1344, 1176) LDPC 코드를 포함하는 신규의 높은 레이트의(high rate)의 긴 LDPC 코드가 제공된다.
예시적인 측면에 따르면 소스 워드를 인코딩하는 방법 및 시스템이 제공되며, 이는 1×K 소스 워드 행 벡터
Figure pct00001
를 수신하는 단계; 및 1×N 코드워드 벡터
Figure pct00002
를 생성하는 단계를 포함하고,
Figure pct00003
는 패리티 검사 매트릭스 H l 으로부터 유도된 K x N 생성 매트릭스(generator matrix)이며, H l 은 최적화된 리프팅 매트릭스를 베이스(base) 패리티 검사 매트릭스 H 에 적용하는 것에 의해 베이스 패리티 검사 매트릭스 H 로부터 유도되고, 상기 최적화된 리프팅 매트릭스는
Figure pct00004
또는
Figure pct00005
이다.
일부 예시에서, 중간(intermediate) 베이스 패리티 검사 매트릭스에서 상이한 행이 합산되어 H l 이 획득된다. 일부 예시에서, 상기 H l
Figure pct00006
이다.
예시적인 측면에 따르면 소스 워드를 인코딩하는 방법 및 시스템이 제공되며, 이는 1×K 소스 워드 행 벡터
Figure pct00007
를 수신하는 단계; 및 1×N 코드워드 벡터
Figure pct00008
를 생성하는 단계를 포함하고,
Figure pct00009
는 패리티 검사 매트릭스 H l 으로부터 유도된 K×N 생성 매트릭스이며, 베이스 패리티 검사 매트릭스 H 에서 상이한 행을 합산하여 중간 패리티 검사 매트릭스를 획득하고, 리프팅 매트릭스를 중간 베이스 패리티 검사 매트릭스에 적용하여 H l 을 획득하는 것에 의해, H l 이 베이스 패리티 검사 매트릭스 H 로부터 유도된다.
예시적인 측면에 따르면 소스 워드를 인코딩하는 방법 및 시스템이 제공되며, 이는 1×K 소스 워드 행 벡터
Figure pct00010
를 수신하는 단계; 및 1×N 코드워드 벡터
Figure pct00011
를 생성하는 단계를 포함하고,
Figure pct00012
는 패리티 검사 매트릭스 H l 으로부터 유도된 K×N 생성 매트릭스이며, H l 은 베이스 패리티 검사 매트릭스 H 에 적용된 리프팅 계수를 증가시켜 확장된 베이스 패리티 검사 매트릭스를 획득하고, 확장된 베이스 패리티 검사 매트릭스에서 상이한 행을 합산하여 H l 을 획득하는 것에 의해, 베이스 패리티 검사 매트릭스 H 로부터 유도된다.
이제, 예로서, 본 출원의 예시적인 실시 예를 도시하고 첨부 도면을 참조할 것이다.
도 1a는 본 개시의 일 구현에 따른 예시적인 통신 시스템을 도시하는 블록도이다.
도 1b는 본 개시의 일 구현에 따른 예시적인 처리 시스템(processing system)을 도시하는 블록도이다.
도 2a는 본 개시의 송신기의 예시적인 구현을 나타내는 블록도이다.
도 2b는 본 개시의 정보비트 스트림을 처리하는 방법의 예시적인 단계들을 도시하는 블록도이다.
도 3은 본 개시의 LDCP 인코더의 예시적인 구현을 나타내는 블록도이다.
도 4a는 802.11ad의 예시적인 단일 반송파 프레임 포맷을 도시한 도면이다.
도 4b는 802.11ad의 단일 캐리어 프레임 포맷의 데이터 블록의 예시적인 구조를 도시한 도면이다.
도 5a 내지 도 5d는 코드워드 길이가 672인 IEEE802.11ad에 지정된 분할된(partitioned) LDPC 패리티 검사(check) 매트릭스이고, 도 5e는 4×4 항등 매트릭스(identity matrix)로부터 획득된 순환 순열 서브 매트릭스(cyclic-permutation submatrices)을 도시한다.
도 6a 내지 도 6d는 코드워드 길이가 1344인 IEEE802.11ay에서 제안된 분할된 LPDC 패리티 검사 매트릭스이다.
도 7a 내지 도 7c는 상이한 변조 기술을 갖는 단일 반송파 블로킹을 도시하는 도면이다.
도 8은 802.11의 레이트 3/4 LDPC에 기반한 코드 레이트 7/8의 짧은 길이의 LDPC 매트릭스 H n 을 도시한다.
도 9는 Z = 4의 단순화된 경우에 대한 순환 순열 매트릭스를 합산하는 예를 도시한 도이다.
도 10은 본 개시에 따른 802.11의 레이트 3/4 LDPC에 기반한 코드 레이트 7/8의 길이 1344 LDPC 매트릭스 H l 을 생성하는 방법을 도시한다.
도 11은 본 개시에 따른 802.11의 레이트 3/4 LDPC에 기반한 코드 레이트 7/8의 길이 1344 LDPC 매트릭스 H l 을 생성하는 다른 방법의 다른 예를 도시한다.
도 12는 도 11의 방법에 사용하기 위한 대안적인 리프팅 매트릭스를 도시한다.
도 13은 본 개시에 따른 802.11에서 레이트 3/4 LDPC에 기반한 코드 레이트 7/8의 길이 1344 LDPC 매트릭스 H l 을 생성하는 다른 방법의 또 다른 예를 도시한다.
도 14는 도 13의 방법에 사용하기 위한 대안적인(alternative) 리프팅 매트릭스를 도시한다.
도 15a는 본 개시의 수신기의 예시적인 구현을 나타내는 블록도이다.
도 15b는 본 개시의 일 실시 예에 따른 수신된 신호를 디코딩하는 프로세스의 예시적인 단계들을 나타내는 블록도이다.
도 16은 본 개시의 LDCP 디코더의 예시적인 구현을 나타내는 블록도이다.
도 17은 예시적인 LDPC 디코딩 프로세스를 도시한 도면이다.
유사한 엘리먼트 및 특징을 나타내기 위해 도면 전체에 걸쳐 유사한 참조 부호가 사용된다. 본 발명의 측면이 예시된 실시 예와 관련하여 설명될 것이지만, 본 발명을 이러한 실시 예로 제한하려는 것은 아님을 이해할 것이다.
본 개시는 무선 네트워크에서 소스 워드를 인코딩하고 코드워드를 디코딩하는 방법, 디바이스 및 시스템을 교시한다. 802.11ay 호환 네트워크와 관련하여 아래에서 주로 설명되지만, 본 개시는 다른 블로킹 코딩 기반 시스템에도 적용될 수 있다.
IEEE 802.11ad에 지정된 대응하는 672비트 LDPC 코드워드의 2단계 리프팅을 기반으로, 더 낮은 코드 레이트
Figure pct00013
, 5/8,
Figure pct00014
및 13/16에 대해 1344비트의 길이를 가지는 긴 LDPC 코드워드가 생성될 수 있다. 그러나 1344비트와 같은 더 낮은 레이트의 긴 코드워드와 동일한 길이의 긴 코드워드를 사용하는 7/8 레이트 코드와 같은 더 높은 레이트 LDPC 코드에 대한 적절한 필요가 남아 있다. 이와 관련하여, 본 개시는 1344비트-긴 코드워드를 갖는 7/8 레이트 LDPC 코드와 같은, 높은 레이트의 긴 LDPC 코드를 기술한다.
문맥상, 802.11ay 표준의 개발과 관련하여 LDPC 코드와 관련된 제출물은 "IEEE 802.11-16/0676-01-00ay-length-1344-LDPC-codes-for-11ay"[REF 1] 및 "IEEE 802.11-16/1495-00-00ay-rate-7-8-ldpc-code-for-11ay"[REF 2]를 포함한다. [REF 1]은 길이 1344비트의 레이트 13/16 LDPC 코드워드의 처음 96 패리티 비트를 천공하여(puncturing) 생성된 레이트 7/8 길이의 LDPC 코드를 제안한다. 그러나 길이-1344 LDPC 코드에 적용되는 이 천공 프로세스는 더 낮은 레이트 LDPC 코드의 1344 코드워드 길이와 비교하여, 1248비트의 코드워드 길이를 갖는 레이트 7/8 LDPC 코드를 생성한다. 상이한 LDPC 코드워드 크기는 송신기 및 수신기에서 인코딩 및 단일 캐리어(single carrier, SC) 블로킹(심볼을 블록에 매핑)의 구현에 영향을 미칠 것이다. 따라서, 상이한 코드 레이트에 대한 코드워드 길이가 동일하게 유지되는 것이 바람직하다.
[REF 2]는 확장 계수(expansion factor) 42 및 코드워드 길이 672를 802.11ad [3]에서 낮은 레이트 코드에 대해 지정된 것과 동일하게 유지하는 코드워드 길이 672비트를 갖는 높은 레이트의 (7/8) 짧은 LDPC 코드를 제안한다. 본 개시는 더 낮은 레이트 코드들에 적용될 수 있는 코드워드 길이를 사용하여 구현되는 높은 레이트의 긴 LDPC 코드를 기술한다.
이하에서 상세히 설명되는 LDPC 코딩 시스템이 동작할 수 있는 환경의 예가 도 1a 및 1b를 참조하여 제공될 것이다. 도 1a는 복수의 스테이션(STA)(102) 및 액세스 포인트(access point, AP)(104)를 포함하는 통신 네트워크(100)를 도시한다. STA(102) 및 AP(104) 각각은 여기에 설명된 바와 같이 송신기, 수신기, 인코더 및/또는 디코더를 포함할 수 있다. 네트워크(100)는 IEEE 802.11 네트워크, 5세대(5G) 또는 4세대(4G) 통신 네트워크, LTE(Long-Term Evolution), 3GPP(3rd Generation Partnership Project), UMTS(Universal Mobile Telecommunications System) 및 다른 무선 또는 이동 통신 네트워크를 포함하지만 이에 제한되지 않는 하나 이상의 통신 또는 데이터 표준 또는 기술에 따라 동작할 수 있다. STA(102)는 일반적으로 무선 통신을 제공하거나 802.11 프로토콜을 사용할 수 있는 임의의 디바이스일 수 있다. STA(102)는 랩탑, 데스크탑 PC, PDA, 액세스 포인트 또는 Wi-Fi 전화, 무선 송신/수신 유닛(wireless transmit/receive unit, WTRU), 이동국(mobile station, MS), 이동 단말, 스마트 폰, 셀룰러 전화 또는 다른 무선 가능 컴퓨팅 또는 이동 디바이스일 수 있다. 일부 실시 예에서, STA(102)는 통신 네트워크(100)에서 데이터를 송신, 수신 또는 송신 및 수신하는 능력을 갖지만 통신 이외의 주요 기능을 수행하는 머신을 포함한다. 일 실시 예에서, 머신은 통신 네트워크(100)를 통해 데이터를 송신 및/또는 수신하는 수단을 갖는 장치 또는 디바이스를 포함하지만, 이러한 장치 또는 디바이스는 일반적으로 통신의 주요 목적을 위해 사용자에 의해 작동되지 않는다. AP(104)는 기지국(base station, BS), eNB(evolved Node B), 무선 라우터, 또는 네트워크(100)에서 STA(102)에 대한 무선 송신 및/또는 수신 포인트로서 기능하는 다른 네트워크 인터페이스를 포함할 수 있다. AP(104)는 AP(104)와 다른 원격 네트워크, 노드, AP 및 디바이스(도시되지 않음) 사이에서 데이터가 교환될 수 있게 하는 백홀 네트워크(110)에 연결된다. AP(104)는 도 1a의 화살표로 나타낸 바와 같이, 각각의 STA(102)와 상향링크 및 하향링크 통신 채널을 구축하는 것에 의해 각각의 STA(102)와의 통신을 지원할 수 있다. 네트워크(100)의 통신은 스케줄링되지 않거나, AP(104)에 의해 또는 네트워크(100)의 스케줄링 또는 관리 엔티티(도시되지 않음)에 의해 스케줄링되거나, 스케줄링된 통신과 스케줄링되지 않은 통신의 혼합일 수 있다.
도 1b는 STA(102) 또는 AP(104)와 같은 여기에서 기술된 방법 및 시스템을 구현하는 데 사용될 수 있는 예시적인 처리 시스템(150)을 도시한다. 처리 시스템(150)은 기지국, 무선 라우터, 모바일 디바이스, 예를 들어, 또는 임의의 적합한 처리 시스템일 수 있다. 본 개시를 구현하기에 적합한 다른 처리 시스템이 사용될 수 있으며, 이는 아래에서 논의되는 것과 상이한 구성 요소를 포함할 수 있다. 도 1b는 각각의 구성 요소의 단일 인스턴스(single instance)를 도시하지만, 처리 시스템(150)에는 각각의 구성 요소의 여러 인스턴스가 있을 수 있다.
처리 시스템(150)은 프로세서, 마이크로프로세서, ASIC(application-specific integrated circuit), FPGA(field-programmable gate array), 전용 로직 회로, 또는 이들의 조합과 같은 하나 이상의 처리 디바이스(152)를 포함할 수 있다. 처리 시스템(150)은 또한 하나 이상의 적절한 입력 디바이스 및/또는 출력 디바이스(도시되지 않음)와의 인터페이스를 가능하게 할 수 있는 하나 이상의 입/출력(I/O) 인터페이스(154)를 포함할 수 있다. 하나 이상의 입력 디바이스 및/또는 출력 디바이스는 처리 시스템(150)의 구성 요소로서 포함되거나 처리 시스템(150)의 외부에 있을 수 있다. 처리 시스템(150)은 인트라넷, 인터넷, P2P 네트워크, WAN, LAN, WLAN 및/또는 5G, 4G, LTE 또는 위에 언급된 다른 네트워크와 같은 셀룰러 또는 이동 통신 네트워크와 같은, 유선 또는 무선 통신을 위한 하나 이상의 네트워크 인터페이스(158)를 포함할 수 있으며, 이에 한정되지 않는다. 네트워크 인터페이스(들)(208)는 네트워크 내 통신 및/또는 네트워크 간 통신을 위한 유선 링크(예를 들어, 이더넷 케이블) 및/또는 무선 링크(예를 들어, 하나 이상의 무선 주파수 링크)를 포함할 수 있다. 네트워크 인터페이스(들)(158)는 예를 들어, 하나 이상의 송신기 또는 송신 안테나, 하나 이상의 수신기 또는 수신 안테나, 및 다양한 신호 처리 하드웨어 및 소프트웨어를 통해 무선 통신을 제공할 수 있다. 이 예에서, 단일 안테나(160)가 도시되며, 이는 송신 및 수신 안테나 둘 다로서 기능할 수 있다. 그러나 다른 예들에서, 송신 및 수신을 위한 별도의 안테나들이 있을 수 있다. 네트워크 인터페이스(들)(158)는 네트워크(100)에서 백홀 네트워크(110) 또는 다른 사용자 디바이스, 액세스 포인트, 수신 포인트, 송신 포인트, 네트워크 노드, 게이트웨이 또는 릴레이(도시되지 않음)로 데이터를 송수신하도록 구성될 수 있다.
처리 시스템(150)은 또한 고체 상태 드라이브, 하드 디스크 드라이브, 자기 디스크 드라이브 및/또는 광 디스크 드라이브와 같은 대용량 저장 유닛을 포함할 수 있는 하나 이상의 저장 유닛(170)을 포함할 수 있다. 처리 시스템(150)은 휘발성 또는 비휘발성 메모리(예를 들어, 플래시 메모리, 랜덤 액세스 메모리(random access memory, RAM) 및/또는 판독 전용 메모리(read-only memory, ROM))를 포함할 수 있는 하나 이상의 메모리(172)를 포함할 수 있다. 비 일시적 메모리(들)(172)는 본 개시를 수행하기 위한 것과 같은, 처리 디바이스(들)(152)에 의한 실행을 위한명령들을 저장할 수 있다. 메모리(들)(172)는 운영 체제 및 다른 애플리케이션/기능을 구현하기 위한 것과 같은 다른 소프트웨어 명령을 포함할 수 있다. 일부 예들에서, 하나 이상의 데이터 세트들 및/또는 모듈(들)은 외부 메모리(예를 들어, 처리 시스템(150)과 유선 또는 무선 통신하는 외부 드라이브)에 의해 제공될 수 있거나, 일시적 또는 비 일시적 컴퓨터 판독 가능 매체에 의해 제공될 수 있다. 비 일시적 컴퓨터 판독 가능 매체의 예는 RAM, ROM, 소거 가능 프로그램 가능 ROM(erasable programmable ROM, EPROM), 전기 소거 가능 프로그램 가능 ROM(electrically erasable programmable ROM, EEPROM), 플래시 메모리, CD-ROM 또는 다른 휴대용 메모리 저장 장치를 포함한다.
예시적인 실시 예에서, 처리 시스템(150)은 소스 워드를 코드워드로 인코딩하기 위한 인코더(162) 및 코드워드를 심볼로 변조하기 위한 변조기(164)를 포함한다. 후술하는 바와 같이, 인코더(162)는 소스 워드에 대해 LDPC 인코딩을 수행하여비트인 코드워드를 생성한다. 변조기(164)는 (예를 들어, BPSK, QPSK, 16QAM 또는 64QAM과 같은 변조 기술에 의해) 코드워드에 대한 변조를 수행한다. 일부 예들에서, 인코더(162) 및/또는 변조기(164)가 처리 시스템의 별개의(distinct) 물리적인 모듈이 아닐 수 있도록, 메모리(172)에 코딩된 명령들은 인코더(162) 및/또는 변조기(164)의 기능을 수행하도록 처리 디바이스(152)를 구성할 수 있다. 일부 예들에서, 인코더(162) 및 변조기(164)는 처리 시스템(150)의 송신기 모듈 내에 실시될 수 있다. 일부 예들에서, 송신 안테나(160), 인코더(162) 및 변조기(164)는 처리 시스템(150)의 외부에 있는 송신기 구성 요소로서 실시될 수 있으며, 처리 시스템(150)으로부터 소스 워드를 단순히 통신할 수 있다.
처리 시스템(150)은 수신된 신호를 처리하기 위한 복조기(180) 및 디코더(190)를 포함할 수 있다. 복조기(180)는 수신된 변조 신호(예를 들어, BPSK, QPSK, 16QAM 또는 64QAM 신호)에 대해 복조를 수행할 수 있다. 디코더(190)는 수신된 신호에 포함된 원래 신호를 복구하기 위해 복조된 신호에 대해 적절한 디코딩을 수행할 수 있다. 일부 예들에서, 복조기(180) 및/또는 디코더(190)가 처리 시스템(150)의 별개의 물리적 모듈이 아닐 수 있도록, 메모리(172)에 코딩된 명령들은 복조기(180) 및/또는 디코더(190)의 기능을 수행하도록 처리 디바이스(152)를 구성할 수 있다. 일부 예들에서, 복조기(180) 및 디코더(190)는 처리 시스템(150)의 수신기 모듈 내에서 실시될 수 있다. 일부 예들에서, 수신 안테나(160), 복조기(180) 및 디코더(190)는 외부의 수신기 구성 요소로서 실시될 수 있다. 처리 시스템(150)은 수신된 신호로부터 디코딩된 신호를 처리 시스템(150)으로 간단히 통신할 수 있다.
처리 디바이스(들)(152), I/O 인터페이스(들)(154), 네트워크 인터페이스(들)(158), 인코더(162), 변조기(164), 저장 유닛(들)(170), 메모리(들)(172), 복조기(180) 및 디코더(190)를 포함하는 처리 시스템(150)의 구성 요소들 사이에서 통신을 제공하는 버스(192)가 있을 수 있다. 버스(192)는 예를 들어 메모리 버스, 주변 버스 또는 비디오 버스를 포함하는 임의의 적합한 버스 아키텍처일 수 있다.
네트워크(100)에서 STA(102)와 AP(104) 사이의 통신은 LDPC(Low Density Parity Check) 인코딩 기술을 사용하여 전송될 소스 워드를 인코딩하는 것에 의해 및/또는 LDPC 코드 디코딩 기술을 사용하여 수신된 코드워드를 디코딩하는 것에 의해 구현될 수 있다. 소스 워드가 LDPC 인코딩 기술로 인코딩된 후, 인코딩된 코드워드가 AP(104)로부터 STA(102)로 또는 STA(102)에서 AP(104)로의 신호로 전송될 때, 전송된 신호의 LDPC 인코딩 정보는 전송된 프레임에 포함될 수 있다. 전송된 신호가 STA(102) 또는 AP(104)에 의해 수신된 후, 수신된 신호의 LDPC 인코딩 정보와 함께, STA(102) 또는 AP(104)는 수신된 신호를 디코딩하기 위해 적절한 LDPC 디코딩 기술을 선택할 수 있다.
송신기 및 인코더
도 2a는 STA(102) 또는 AP(104)의 송신기의 예시적인 구현을 나타낸다. 송신기는 소스 워드 세그먼팅(segmenting) 모듈(202), LDPC 인코더(162), 비트-심볼 매핑 변조기(164) 및 블로킹 모듈(208)을 포함할 수 있다.
도 2b는 송신기에 의해 입력 정보 비트 스트림을 처리하는 예시적인 단계를 도시한다.
소스 워드 세그먼팅 모듈(202)은 입력 정보비트 스트림을 적절한 크기를 갖는 소스 워드
Figure pct00015
로 세그먼팅하는 데 사용될 수 있다(단계 222). 예를 들어, 소스 워드 세그먼팅 모듈(202)에서, 입력 정보 비트 스트림은 1344비트의 LDPC 코드워드 크기를 갖는 LDPC 7/8 코드 레이트의 경우에 1176비트의 크기를 갖는 소스 워드
Figure pct00016
로 세그먼팅될 수 있다.
K비트의 소스 워드
Figure pct00017
는 1×K 행 벡터 또는 1차원 이진 1×K 매트릭스
Figure pct00018
로 간주될 수 있다. 예를 들어, 1176비트 소스 워드는 1×1176 행 벡터 또는 1차원 이진 1×1176 매트릭스로 간주될 수 있다.
K-비트 소스 워드
Figure pct00019
는 LDPC 인코더(162)에 의해 N-비트 코드워드
Figure pct00020
로 인코딩된다(단계 224). 도 3은 LDPC 인코더(162)의 예시적인 구현을 나타낸다. 일 실시 예에서, LDPC 인코더(162)는 LDPC 매트릭스 생성기(302), 생성 매트릭스(generator matrix) 모듈(304), 소스 워드 입력 인터페이스(306) 및 코드워드 생성기(308)를 포함할 수 있다.
LDPC 매트릭스 생성기(302)는 이진(N-K)×N 매트릭스, 예를 들어 N = 1344, K = 1176인 LDPC 패리티 검사 매트릭스 H 를 생성하는 데 사용된다. LDPC 코드는 기능적으로 희소(sparse) 패리티 검사 매트릭스에 의해 정의된다. (n, k) LDPC 코드는 {0, 1}n의 k 차원 서브 스페이스를 가지는 선형 이진 블록 코드 C이다. 가우시안 제거 및 열(column)의 재정렬을 사용하면 체계적인 형식
Figure pct00021
에서 동등한(equivalent) 패리티 검사 매트릭스가 생성될 수 있으며,
Figure pct00022
는 이진 매트릭스이며,
Figure pct00023
는 차수 n-k의 항등 매트릭스(identify matrix)이다.
LDPC 매트릭스 생성기(302)에 의해 생성된 LDPC 패리티 검사 매트릭스 H 에 기반하여, 생성 매트릭스 모듈(304)은 생성 매트릭스 G 를 생성한다. H 에 대응하는 체계적인 형식의 생성 매트릭스 G
Figure pct00024
로 나타낼 수 있으며, 여기서 "T"는 매트릭스 전치(matrix transpose)를 나타낸다. 생성 매트릭스 G 는 이진 K×N 매트릭스이다. G 의 행 공간은 GH T =0이 되도록 H 와 직교한다. 따라서, LDPC 인코딩에서, 일단 H 가 설계되면, 그에 따라 G 도 결정될 수 있다. 또한, 매트릭스 H
Figure pct00025
만족하며,
Figure pct00026
은 N비트의 코드워드이다. 생성 매트릭스 모듈(304)은 생성된 이진(K×N) 생성 매트릭스 G 를 코드워드 생성기(308)로 전달한다.
소스 워드 입력 인터페이스(306)는 소스 워드 세그먼팅 모듈(202)로부터 소스 워드를 수신한다. 전술한 바와 같이, 수신된 소스 워드는 행 벡터
Figure pct00027
로서 간주될 수 있다. 소스 워드 입력 인터페이스(306)는 수신된 소스 워드를 코드워드 생성기(308)에 전달한다. 소스 워드
Figure pct00028
와 이진(K×N) 생성 매트릭스 G 를 이용하여, 소스 워드에 생성 매트릭스 G 를 곱하는 것
Figure pct00029
에 의해, 코드워드 생성기(308)는 N비트의 코드워드
Figure pct00030
를 생성한다.
일 실시 예에서, 생성 매트릭스 G 는 LDPC 인코더(162)에 사전 저장될 수 있다. 소스 워드
Figure pct00031
가 코드워드 생성기(308)에 의해 수신된 후, 코드워드 생성기(308)는 LDPC 매트릭스 H 또는 생성 매트릭스 G 를 재생성하지 않고 코드워드
Figure pct00032
를 생성할 수 있다.
도 2a 및 도 2b를 참조하면, 인코딩된 코드워드
Figure pct00033
는 비트-심볼 매핑 변조기(164)에서 심볼로 변조된다(단계 226). 적합한 변조 기술은 BPSK, QPSK, 16QAM 또는 64QAM일 수 있지만 이에 제한되지는 않는다. BPSK, QPSK 및 16QAM 변조는 802.11ad에 지정되어 있다. 64QAM 변조는 802.11ay에서 채택된다. BPSK 변조에서, 이진 비트는 단순히 양극(bipolar) {-1, 1} 심볼로 매핑된다. QPSK, 16QAM 및 64QAM 변조에서, 입력 인코딩된 비트 스트림(비트인 코드워드
Figure pct00034
)는 각각 2비트, 4비트 및 6비트의 세트로 그룹화된다. 각각의 비트의 세트는 대응하는 성상도(constellation) 상의 심볼로 매핑된다. 예를 들어, BPSK, QPSK, 16QAM 및 64QAM의 경우, 심볼은 각각 1비트, 2비트, 4비트 및 6비트를 나타낸다. 복수의 심벌은 변조된 코드워드로서 그룹화될 수 있다. 예를 들어, 크기가 672인 802.11ad 코드에 대한 변조된 코드워드는 336개의 심볼(802.11ad의 단일 캐리어(SC) QPSK 블로킹의 경우), 168개의 심볼(802.11ad의 SC 16QAM 블로킹의 경우), 112개의 심볼(802.11ad에서 SC 64QAM 블로킹의 경우)을 포함할 수 있다.
변조된 코드워드는 블로킹 모듈(208)에서 적절한 크기의 데이터 블록(BLK)으로 추가로 어셈블리될(assembled) 수 있다(단계 228). 일 실시 예에서, 어셈블리된 데이터 블록은 448개의 심볼을 포함할 수 있다.
도 4a는 어셈블리된 데이터 블록(BLKS)을 패키징하는 데 사용될 수 있는 예시적인 단일 캐리어(SC) 데이터 유닛 또는 프레임 구조를 도시한다. IEEE 802.11ad에 지정된 도시된 프레임은, STF(Short Training Field), CE(Channel Estimation) 필드, PHY 헤더, SC 데이터 블록(BLK), 그리고 빔 형성 트레이닝을 위한 선택적 자동 이득 제어(automatic gain control, AGC) 및 TRN-R/T 서브필드를 포함한다. 프레임은 도 4a에 도시된 바와 같이 복수의 BLK를 포함할 수 있다.
도 4b는 802.11ad 표준에 따른 SC 데이터 블록(BLK)의 구성 예를 도시한다. 도 4b에서, 각각의 BLK는 448개의 심볼로 구성된다. 64비트 가드 인터벌(guard interval, GI)은 인접한 데이터 블록을 분리하기 위해 인접한 두 BLK마다 사용된다.
802. 11ad에서 코드워드 길이가 672인 LDPC 코드
본 개시에 제시된 높은 레이트의 긴 LDPC 코드의 실시 예는 IEEE 802.11ad에 지정된 LDPC 코드를 기반으로 하며, 따라서 IEEE 802.11ad LDPC 코드에 대한 간단한 설명이 이하에서 상세히 설명되는 실시 예의 이해를 돕기 위해 제공될 것이다. LDPC 인코딩된 코드워드
Figure pct00035
가 소스 워드
Figure pct00036
와 생성 매트릭스 G 의 연산(operation)을 통해 생성될 때, 생성 매트릭스 G 가 LDPC 패리티 검사 매트릭스 H 로부터 유도될 때, LDPC 패리티 검사 매트릭스 H 는 소스 워드
Figure pct00037
를 코드워드
Figure pct00038
로 인코딩하는 것에 영향을 준다. LDPC 패리티 검사 매트릭스 H 의 설계는 코드의 성능을 향상시킬 수 있다. 패리티 검사 매트릭스 H 는 Z×Z 크기의 정사각 서브 매트릭스로 더 분할될 수 있다. Z는 리프팅 계수(lifting factor)이다. 서브 매트릭스는 Z×Z 항등 매트릭스 P 0 의 순환 순열이거나 엔트리가 모두 0인 널(null) 서브 매트릭스이다.
도 5a 내지 도 5d는 1/2, 5/8, 3/4 및 13/16의 레이트로 802.11ad에 지정된 4개의 LDPC 코드의 패리티 검사 매트릭스 H를 도시한다. 802.11ad에서, 각각의 LDPC 코드는 672비트의 공통 코드워드 길이를 가진다. 코드 레이트 K/N은 K 비트 소스 워드
Figure pct00039
가 N 비트 코드워드
Figure pct00040
로 인코딩됨을 나타낸다. 802.11ad 표준과 관련하여, 코드워드 길이 N은 672비트이다. 따라서 1/2, 5/8, 3/4 및 13/16의 코드 레이트에 대해, 대응하는 소스 워드
Figure pct00041
의 크기 K가 각각 336비트, 420비트, 504비트 및 546비트이다.
매트릭스 H 에서 각각의 비-블랭크(non-blank) 셀 엘리먼트에서의 인덱스 값 i는 매트릭스 P 0 의 열을 오른쪽 i 열로 주기적으로 시프트하는 것에 의해 Z×Z 항등 매트릭스 P 0 으로부터 획득된 순환 순열 서브 매트릭스 P i 를 나타낸다. 블랭크 엔트리는 모두 0의 Z×Z 매트릭스를 지시한다.
도 5e는 Z = 4인 예시적인 Z×Z 항등 매트릭스 P 0 으로부터 획득된 순환 순열 서브 매트릭스 P 1 P 3 의 예를 도시한다. P 1 P 0 의 열을 하나의 엘리먼트만큼 오른쪽으로 시프트하는 것에 의해 획득되고, P 3 P 0 의 열을 3개의 엘리먼트만큼 오른쪽으로 시프트하는 것에 의해 획득된다. 도 5w에 도시된 바와 같이, 항등 매트릭스 P 0 는 매트릭스를 가로 질러 대각선으로 배열된 Z "1"을 포함하고, 다른 모든 값은 "0"이다.
도 5a에서, 인덱스 값 i = "0"을 갖는 매트릭스 셀 위치는 42×42 항등 서브 매트릭스인 서브 매트릭스 P 0 을 나타내고, 도 5a에서 인덱스 값 i = "40"을 갖는 왼쪽 위 셀 위치는 P 0 의 열을 오른쪽으로 40개의 엘리먼트만큼 시프트하는 것에 의해 획득된 서브 매트릭스를 나타낸다. 유사하게, 도 5b 내지 도 5d에서 임의의 0이 아닌 값 i 서브 매트릭스 P i 는 또한 각각의 항등 매트릭스 P 0 로부터 획득될 수 있다.
도 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는 13/16, 3/4, 5/8 및 1/2의 레이트를 가지는 [REF 1]에서 802.11ay에 대해 제안된 4가지의 낮은 레이트 LDPC 코드를 도시한다. 전술한 바와 같이, 코드 레이트 K/N은 K비트 소스 워드
Figure pct00042
가 N 비트 코드워드
Figure pct00043
로 인코딩됨을 나타낸다. 코드워드 길이 N = 1344비트를 가지고 13/16, 3/4, 5/8 및 1/2의 코드 레이트는 각각 1092비트, 1008비트, 840비트 및 672비트의 대응하는 소스 워드 길이를 갖는다.
도 6a 내지 도 6d에 도시된 긴 LDPC 코드는 2단계 리프팅 프로세스를 통해 생성된다. 도 6a의 예에서, 코드워드 길이가 1344인 레이트 13/16(1344, 1092) LDPC 코드(606)는 리프팅 매트릭스(602)를 베이스 매트릭스(604)에 적용하는 것에 의해 생성된다. 베이스 매트릭스(604)는 IEEE 802.11ad에 의해 지정되어 있는 레이트 13/16 길이 672 분할된 매트릭스이다. 3행 및 16열의 서브 매트릭스를 갖는 레이트 13/16 베이스 매트릭스(604)는 "1" 및 "0"의 시작(originating) 126행×672열 매트릭스에 적용된 Z = 42의 리프팅 계수에 대응한다. 따라서, 리프팅 계수 Z = 42에 의한 제1 리프트는 레이트 13/16 베이스 매트릭스(604)를 제공하고, 이는 레이트 13/16 LDPC 코드(606)를 생성하기 위해 이어서 리프팅 매트릭스(602)의 적용을 통해 두 번째로 리프팅된다.
도 6a에 도시된 바와 같이, 리프팅 매트릭스(602)는 802.11ad의 레이트 13/16 매트릭스(604)와 동일한 수의 행 및 열(3×16)을 갖는다. 리프팅 매트릭스(602)의 각각의 셀 엘리먼트는 3개의 가능한 값 "1", "0" 및 "-1" 중 하나가 할당된다. 베이스 매트릭스(604)의 서브 매트릭스가 "-1"로 표시되는 널(즉, 모두 0 엔트리)이면, 리프팅 매트릭스(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"의 값을 갖는 경우, 리프트 매트릭스(602)를 베이스 매트릭스(604)에 적용하면 다음과 같은 4개의 매트릭스:
Figure pct00044
가 생성된다.
베이스 매트릭스(604)의 값 "V"를 갖는 서브 매트릭스에 대해, 대응하는 리프팅 매트릭스(602)의 엔트리가 "0"의 값을 갖는 경우, 리프트 매트릭스(602)를 베이스 매트릭스(604)에 적용하면 다음과 같은 4개의 서브 매트릭스:
Figure pct00045
가 생성된다.
도 6a에서, "29"의 값을 갖는 베이스 매트릭스(604)의 행 1, 열 1에서의 서브 매트릭스의 예에서, 리프팅 매트릭스(602)의 행 1, 열 1에서의 대응하는 엔트리가 1의 값을 가지므로, 베이스 매트릭스(604)의 대응하는 서브 매트릭스로 리프팅 매트릭스(602)의 엔트리를 적용하면 다음과 같은 4개의 서브 매트릭스:
Figure pct00046
가 생성된다.
또한, "4"의 값을 갖는 베이스 매트릭스(604)의 행 3, 열 9에서의 서브 매트릭스의 예에서, 리프팅 매트릭스(602)의 행 3, 열 9에서의 대응하는 엔트리가 "0"의 값을 가지므로, 베이스 매트릭스(604)의 대응하는 서브 매트릭스로 리프팅 매트릭스(602)의 엔트리를 적용하면, 다음과 같은 4개의 서브 매트릭스:
Figure pct00047
가 생성된다.
베이스 매트릭스(604)에서 "-1"의 값을 갖는 서브 매트릭스들에 대해, 리프팅 매트릭스(602)의 대응하는 엔트리들은 또한 "-1"의 값을 갖는다. 리프팅 매트릭스(602)에서 "-1"의 값을 갖는 하나의 엔트리를 베이스 매트릭스(604)의 대응하는 서브 매트릭스에 적용하면 4개의 널 서브 매트릭스가 생성된다.
유사하게, 코드워드 길이가 1344인 레이트 13/16 LDPC 코드(606)를 획득하기 위해 전술한 동일한 규칙이 도 6b 내지 도 6d에 도시된 바와 같이 대응하는 리프팅 매트릭스(602)와 함께 IEEE 802.11ad에 지정된 코드워드 길이 672인 코드 레이트 3/4, 5/8 및 1/2인 베이스 매트릭스들(604)에 적용되어, 각각 코드워드 길이가 1344인 대응하는 레이트 3/4, 5/8 및 1/2 LDPC 코드들을 생성한다.
높은 레이트의 LDPC 코드
IEEE 802.11ad 표준은 7/8(REF 2)의 높은 코드 레이트를 가지는 LDPC 코드를 지정한다. 유사하게, 위에서 언급한 것처럼 [REF 1]은 코드워드 길이가 1248인 레이트 7/8 LDPC 코드를 제안했다. 전술한 바와 같이, 802.11ad에 지정된 레이트 13/16 길이 672 베이스 LDPC 코드로부터 도출된, 도 6a에 도시된 매트릭스(606)에 의해 표현된 레이트 13/16(1344,1092) LDPC 코드로부터 첫번째 96개의 패리티 비트를 천공하는 것에 의해, 레이트 7/8 길이 1248의 LDPC 코드[REF 1]가 생성된다. 일 구현에서, 송신기는 천공된 비트를 전송하지 않으며, 수신기는 천공된 비트에 대해 1/0에 대해 동일한 가능성(likelihood)을 갖는다. 따라서, 천공을 통해 생성된 도 6a의 제안된 레이트 7/8 LDPC 코드는 긴 코드, 더 낮은 레이트 LDPC 코드에 대해 제안된 코드워드 길이 1344가 아니라 1248의 코드워드 길이를 초래한다.
도 4a, 4b와 관련하여 위에서 언급한 바와 같이, 전송 전에 LDPC 코드워드
Figure pct00048
를 비트-심볼 매핑을 거친 다음, 정의된 개수의 심볼(예를 들어 448 심볼 또는 896 심볼)을 갖는 블록(BLK)으로 블로킹된다. 따라서, 상이한 코드 레이트에 대해 상이한 코드워드 길이를 사용하는 것은 정의된 블록 길이를 갖는 데이터 프레임 구조가 상이한 코드 레이트를 지원하도록 의도된 환경에서 블로킹 비효율성을 초래할 수 있다. 특히, 변조된 코드워드를 데이터 블록으로 어셈블링하는 블로킹 프로세스는 다른 레이트 이외의 상이한 코드워드 길이를 사용하는 레이트 7/8 LDPC 코드에 대한 인코딩 및 디코딩을 구현하기 위해 추가 프로세스를 요구할 수 있다. 13/16 레이트 코드를 천공하여 획득된 레이트 7/8 길이 1248 LDPC 코드의 경우, 천공은 리던던시(인코딩 및 SC 블로킹 동안 패딩 제로(padding zeros))를 증가시키고 SC 블로킹의 복잡성을 증가시킨다.
예를 들어, 도 7a는 왼쪽에, 코드워드 길이 1344(N = 1344, K = 1176)를 사용하는 레이트 7/8 DLPC 코드에 대한 SC QPSK 블로킹의 예를 도시하며, 오른쪽에 천공된 코드워드 길이 1248(N = 1248, K = 1092)을 사용하는 레이트 7/8 DLPC 코드에 대한 SC QPSK 블로킹의 예를 도시한다. 도 7a의 예는 비트-투 심볼 매핑을 위해 QPSK 변조를 사용한다. (N = 1344, K = 1176) QPSK를 사용하여, 변조후 1344비트 코드워드가 672 심볼 코드워드가 된다. 각각 448개의 심볼을 포함하는 3개의 SC 데이터 블록(BLK1, BLK2, BLK3) 마다 2개의 심볼 코드워드(각각의 블록은 1 또는 2개의 코드워드로 구성됨)로 구성된다. 이에 비해, (N = 1248, K = 1092) QPSK를 사용하여, 변조 후 1248비트 코드워드는 624 심볼 코드워드가 된다. 결과적으로 블로킹 프로세스는 더욱 복잡해지며; 39개의 데이터 블록마다 28개의 코드워드로 구성되고 각각의 데이터 블록은 하나 또는 두 개의 코드워드로 구성된다.
도 7b는 (1248, 1092) LDPC(오른쪽)와 비교하여(1344, 1176) LDPC(왼쪽)를 갖는 SC 16QAM 블로킹의 예를 도시한다. 16QAM를 사용하는 (1344, 1176) LDPC의 경우, 변조 후 하나의 1344비트 코드워드가 하나의 336 심볼 코드워드가 된다. 3개의 SC 데이터 블록마다 4개의 336 심볼 코드워드로 구성되고, 각각의 448 심볼 데이터 블록은 2개의 심볼 코드워드로 구성된다. 그러나, (1248, 1092) LDPC를 사용하면, 각각의 인코딩된 코드워드는 1248비트를 포함하며, 이는 16QAM 변조 후 312 심볼 코드워드가 된다. 결과적으로 블로킹 프로세스가 더욱 복잡해지며; 39개의 데이터 블록마다 56개의 코드워드로 구성된다.
유사하게, 도 7c는 (1248, 1092) LDPC(오른쪽)와 비교하여 (1344, 1176) LDPC(왼쪽)를 갖는 SC 64QAM 블로킹의 예를 도시한다. 64QAM을 사용하는 (1344, 1176) LDPC의 경우, 변조 후 하나의 1344비트 코드워드가 하나의 224 심볼 코드워드가 된다. 각각의 448 심볼 데이터 블록은 2개의 심볼 코드워드로 구성된다. 그러나 (1248, 1092) LDPC의 경우, 변조 후 하나의 1248비트 코드워드는 하나의 208 심볼 코드워드가 된다. 결과적으로, 블로킹 프로세스는 더욱 복잡해지며; 13개의 데이터 블록마다 28개의 코드워드로 구성되고, 각각의 데이터 블록을 3개 또는 4개의 코드워드로 구성된다.
[REF 2]는 N = 672의 짧은 코드워드 길이에 대한 높은 레이트의 7/8 LPDC 코드를 제안한다. 도 8을 참조하면 [REF 2]에서 레이트 7/8 길이 672 LPDC 매트릭스 Hn(860)은 802.11ad 지정된 레이트
Figure pct00049
길이 672(672, 504) LDPC 매트릭스 H(850)로부터 행을 합산하는 것에 의해 유도된다. 위에서 언급한 것처럼, 802.11ad 레이트 3/4 길이 672 LPDC 매트릭스(850)는 168행(N-K = 168)× 672열(N = 672)의 원래 이진 매트릭스를 분할하기 위해 리프트 계수 Z = 42를 사용하는 것에 의해 획득되며, 항등 매트릭스(또는 "널" 모두 0 서브 매트릭스임을 지시하기 위한 "블랭크" 또는 "-")에 적용된 순환 시프트를 나타내는 인덱스 값 i에 의해 어레이 엘리먼트에 표시되는 각각의 서브 매트릭스 Pi를 가지는, 4행(R =(N-K/42)) 및 16열(C = N/42)로 표시될 수 있는 3/4 길이 672 베이스 매트릭스 H(850)를 제공한다. 베이스 3/4 길이 672 LPDC 매트릭스 H(850)로부터 선택된 행들은 모두 합산되어 3/4 길이 672 LPDC 매트릭스 Hn(850)을 제공한다. 특히, 베이스 코드 매트릭스 H(850)의 제1 행(R1) 및 제3 행(R3)으로부터의 서브 매트릭스들이 합산되어 신규 LDPC 매트릭스 Hn(850)의 제1 행에서의 대응하는 열 엔트리에 대한 서브 매트릭스를 제공하며, 베이스 코드 매트릭스 H(850)의 제2 행(R2) 및 제4 행(R4)으로부터의 서브 매트릭스들이 모듈로-2 덧셈(modulo-2 addition)을 사용하여 합산되어 신규 LDPC 매트릭스 Hn(850)의 제2 행에서의 대응하는 열 엔트리에 대한 서브 매트릭스를 제공한다. 예시를 위해, 도 9는 모듈로-2 덧셈을 사용하여 Z = 4인 단순화된 경우에 대한 순환 순열 매트릭스의 덧셈을 도시한다.
길이가 N = 1344인 높은 레이트의 7/8 긴 LDPC 코드
보다 낮은 레이트 코드, 즉 N = 1344에 대해 지정된 것과 일치하는 코드-워드 길이를 제공하는 높은 레이트의 긴 LDPC 코드에 관한 예시적인 실시 예들이 이제 설명될 것이다.
도 10은 일 예시적인 실시 예에 따른 코드워드 길이가 N = 1344인 레이트 7/8 LDPC 매트릭스 Hl(1020)을 생성하는 방법을 나타낸다. 도 10의 예에서 802.11ad 지정 레이트
Figure pct00050
길이 672(672, 504) LDPC 매트릭스 H(850)이 베이스 매트릭스로 사용되지만, 리프팅 계수는 Z = 42에서 Z = 84로 증가하여 레이트
Figure pct00051
길이 1344 LDPC 매트릭스 Hint(1010)을 중간 매트릭스로서 생성한다. 특히, 코드워드 크기 672×2 = 1344인
Figure pct00052
레이트 LDPC 매트릭스 Hint(1010)을 구성하기 위해, 베이스 매트릭스(850)의 구조 및 열 위치 시프트는 동일하게 유지되지만 리프팅 계수는 Z = 42에서 Z = 84로 증가된다. 예를 들어, 802.11ad의 코드워드 길이가 672인 이진 3/4 베이스 매트릭스(850)는 168행×672열, Z = 42를 포함한다. 도 10에 도시된 바와 같이, 분할된 3/4 베이스 매트릭스(840)는 4행×16열의 서브 매트릭스들을 포함하고, 각각의 서브 매트릭스의 크기는 Z×Z(42×42)이다. 리프팅 계수 Z가 42에서 84로 증가할 때, 중간 분할된 3/4 길이 1344 LDPC 매트릭스 Hint(1010)은 4행×16열의 서브 매트릭스들을 포함하며, 336행×1344열의 이진 매트릭스를 나타낸다.
예시적인 실시 예에서, 중간 레이트
Figure pct00053
길이 1344 LDPC 매트릭스 Hint의 선택된 행은 합산되어 코드워드 길이 N = 1344인 레이트 7/8 LDPC 매트릭스 H1(1010)을 생성한다. 특히, 중간 LPDC 매트릭스 Hint(1010)의 제1 행(R1) 및 제3 행(R3)으로부터의 서브 매트릭스들은 모듈로-2 덧셈을 사용하여 합산되어 신규 LDPC 매트릭스 H1(1020)의 제1 행에서의 대응하는 열 엔트리에 대한 서브 매트릭스를 제공하며, 중간 LPDC 매트릭스 Hint(1010)의 제2 행(R2) 및 제4 행(R4)으로부터의 서브 매트릭스들은 모듈로-2 덧셈을 사용하여 합산되어 신규 LDPC 매트릭스 H1(1020)의 제2 행에서의 대응하는 열 엔트리에 대한 서브 매트릭스를 제공한다.
도 11은 하나의 예시적인 실시 예에 따른 코드워드 길이가 N = 1344인 레이트 7/8 LDPC 매트릭스 H1(1130)를 생성하는 방법의 다른 예시적인 실시 예를 나타낸다. 도 11의 예에서, 802.11ad 지정 레이트
Figure pct00054
길이 672(672, 504) LDPC 매트릭스 H(850)가 베이스 매트릭스로 다시 사용되지만, 바로 앞의 예에서 설명한 확장된 리프팅 계수를 사용하는 대신에, 리프팅 매트릭스(1110)가 중간 매트릭스 Hint(1120)를 생성하는 데 사용된다. 리프팅 매트릭스(1110)는 최적화된 에러 레이트 성능을 산출하기 위한 기준을 사용하는 최적화 검색을 통해 선택된다. 도시된 실시 예에서, 제1 행 및 제3 행이 상보적(complimentary)이고 제2 행 및 제4 행이 상보적이도록, 리프팅 매트릭스(1110)가 선택된다.
리프팅 매트릭스(1110)는 도 6a 내지 도 6d와 관련하여 전술한 것과 동일한 방식으로 중간 매트릭스 Hint(1120)를 생성하기 위해 802.11ad 지정 레이트
Figure pct00055
길이 672(672, 504) LDPC 매트릭스 H(850)에 적용된다. 결과적인 중간 매트릭스 Hint(1120)는 8행, 32열의 서브 매트릭스 엘리먼트들을 포함하며, 각각의 서브 매트릭스 엘리먼트는 Z×Z(Z = 42) 항등 매트릭스 P 0 에 적용된 순환 시프트를 나타내는 인덱스 값 i 또는 모든“0" 서브매트릭스를 지시하는 널 값에 의해 표시된다. 따라서, 분할된 중간 매트릭스 Hint(1120)는 336행×1344열 이진 매트릭스를 나타낸다.
도 11에 도시된 바와 같이, 중간 매트릭스 Hint(1120)의 주기적인 행들은 코드워드 길이가 N = 1344인 레이트 7/8 LDPC 매트릭스 H1(1130)을 생성하도록 합산된다. 특히, 중간 매트릭스 Hint(1120)의 제1 행(R1) 및 제5 행(R5)으로부터의 서브 매트릭스들은 모듈로-2 덧셈을 사용하여 합산되어 신규 LDPC 매트릭스 H1(1130)의 제1 행에서의 대응하는 열 엔트리에 대한 서브 매트릭스를 제공한다. 유사하게, 중간 매트릭스 Hint(1120)의 제2 행 및 제6 행은 신규 LDPC 매트릭스 H1(1130)의 제2 행에합산되고; 중간 매트릭스 Hint(1120)의 제3 행 및 제7 행은 신규 LDPC 매트릭스 H1(1130)의 제3 행을 제공하기 위해 합산되고; 중간 매트릭스 Hint(1120)의 제4 행 및 제8 행은 신규 LDPC 매트릭스 H1(1130)의 제4 행을 제공하도록 합산된다. 도 11에 도시된 바와 같이, 분할된 LDPC 매트릭스 H1(1130)는 32열의 4행의 서브 매트릭스 엘리먼트들을 포함하며, 각각의 서브 매트릭스 엘리먼트는 이진 매트릭스 H1이 168행×1344열의 크기를 가지도록 Z = 42인 Z×Z 서브 매트릭스를 나타낸다.
도 11의 예는 매트릭스 H1(1130)을 생성하기 위해 리프팅 단계와 합산 단계의 조합에 의존한다는 것이 이해될 것이다.
적어도 일부 예에서, 도 11에 도시된 리프팅 매트릭스(1110) 대신에 상이한 최적화된 리프팅 매트릭스가 사용될 수 있고, 이와 관련하여 도 12는 리프팅 매트릭스(1110) 대신에 일부 예에서 사용될 수 있는 추가로 최적화된 리프팅 매트릭스(1210)의 예를 도시한다.
도 13은 다른 예시적인 실시 예에 따른 코드워드 길이 N = 1344를 갖는 레이트 7/8 LDPC 매트릭스 H1(330)를 생성하는 방법의 다른 예시적인 실시 예를 나타낸다. 도 13의 예에서, 802.11ad 지정 레이트
Figure pct00056
길이 672(672, 504) LDPC 매트릭스 H(850)은 다시 베이스 매트릭스로 사용되며, 특히 레이트 7/8 길이 672 LPDC 매트릭스 Hn(860)을, 도 8에 대해 전술한 바와 같은 동일한 방식으로 중간 매트릭스(intermediate matrix)로서 생성하는 데 사용된다. 2행×16열 최적화된 리프팅 매트릭스(1310)는 전술한 동일한 리프팅 매트릭스 기술을 사용하여 레이트 7/8 길이 672 LPDC 매트릭스 Hn(860)에 적용되어 레이트 7/8 길이 1344 LDPC 매트릭스 Hl(1330)을 획득한다. 도 13에 도시된 바와 같이, 분할된 LDPC 매트릭스 H1(1320)은 32열의 8행의 서브 매트릭스 엘리먼트들을 포함하며, 이진 매트릭스 H1(1320)은 336행×1344열의 크기를 가지도록, 각각의 서브 매트릭스 엘리먼트는 Z = 42를 갖는 Z×Z 서브 매트릭스를 나타낸다.
예시적인 실시 예에서, 최적화된 리프팅 매트릭스는 최적화된 에러 레이트 성능을 제공하는 리프팅 매트릭스에 대한 최적화 검색을 수행하는 것에 의해 선택된다. 최적화된 리프팅 매트릭스(1310)의 경우, 일부 예시적인 실시 예에서, 랜덤 인터리버(interleaver)가 LDPC 인코더에서의 인코딩과 비트-심볼 변조기(206)에서의 변조 사이에 포함된다.
적어도 일부 예에서, 도 13에 도시된 리프팅 매트릭스(1310) 대신에 상이한 최적화된 리프팅 매트릭스가 사용될 수 있고, 이와 관련하여 도 14는 일부 예에서 리프팅 매트릭스(131) 대신에 사용될 수 있는 추가로 최적화된 리프팅 매트릭스(1410)의 예를 도시한다. 최적화된 리프팅 매트릭스(1410)의 경우, 일부 예시적인 실시 예에서, 레귤러 행-열 인터리버(regular row-column interleaver)가 LDPC 인코더에서의 인코딩과 비트-심볼 변조기(206)에서의 변조 사이에 포함된다.
적어도 일부 구성에서, 7/8 길이 1344 LDPC 매트릭스 H1의 실시 예는 다음의 특징: 11ad와 역호환 가능하고; 11ad와 공존하며; IEEE 802.11ay가 제안한 상이한 코드 레이트의 다른 LPDC 코드로부터 1344의 코드워드 길이를 변경시키지 않도록 유지하는 레이트 7/8 LDPC 코드를 제공하고; 인코딩 및 단일 반송파 블로킹에서 리던던시(패딩 제로)를 감소시키며; 천공 솔루션과 보다 비교할만하거나 우수한 성능을 가지도록 신규 레이트 7/8 LDPC 코드를 최적화하는 것 중 하나 이상을 제공할 수 있는 LDPC 구조를 제공한다.
디코더 및 디코딩 방법
LDPC 인코딩된 신호는 STA(102) 또는 AP(104)의 수신기에서 수신될 수 있다. 도 15a의 예에 도시된 바와 같이, 수신기는 등화 및 디블로킹 모듈(1502), 복조기(180), LLR 계산기(1506) 및 LDPC 디코더(190)를 포함한다. 선택적으로, LLR 계산기(1506)는 복조기(180)의 구성 요소일 수 있다. 도 15b에 도시된 바와 같이, 수신된 LDPC 인코딩된 신호로, 등화 및 디블로킹 모듈(1502)은 먼저 수신된 신호(1501)를 등화시켜, 수신된 신호가 송신되는 채널에 의해 야기되는 심볼 간 간섭을 감소시키고, 그 다음에 등화된 신호를 디블록킹하여 코드워드 심볼들을 복구한다(단계 1522). 복조기(180)는, 예를 들어, BPSK, QPSK, 16QAM 또는 64QAM에 의해 디블록킹된 코드워드 심볼을 비트 단위의 코드워드로 복조한다(단계 1524). LLR 계산기(180)는 디블로킹된 코드워드 심볼의 비트 값의 로그 우도비를 생성하는 데 사용될 수 있다(단계 1526). 로그 우도비는 LDPC 디코더(190)의 입력으로서 사용될 수 있다. LDPC 디코더(190)는 1×N 행 벡터 S 를 갖는 복조된 신호를 디코딩하기 위해 소스 워드를 인코딩하는 데 사용되는 LDPC 매트릭스 H n 를 사용할 수 있다(단계 1528). LDPC 디코더(190)는 1×K 소스 워드 행 벡터
Figure pct00057
를 복구하기 위해 1×N 행 벡터
Figure pct00058
를 생성한다. 유효한 코드워드
Figure pct00059
이기 위해,
Figure pct00060
이다. LDPC 인코딩된 신호를 디코딩하기 위해 다양한 알고리즘, 예를 들어 메시지 전달 알고리즘이 이용 가능하다. 도 16은 LDPC 인코딩된 소스 워드를 디코딩하기 위해 메시지 전달 알고리즘을 이용하는 LDPC 디코더의 예이다. LDPC 디코딩을 구현하기 위해 다른 디코딩 알고리즘이 사용될 수도 있다. 메시지 전달 알고리즘이 사용되는 경우, LDPC 디코더(190)는 컨트롤러(1602), 검사 노드 모듈(1604) 및 가변 노드 모듈(1606)을 포함할 수 있다.
상술한 바와 같이, 소스 워드를 인코딩하는 데 사용되는 K/N 레이트 LPDC 코드 H n =(N-K)×N LDPC 매트릭스의 정보와 같이, 전송된 신호의 LDPC 인코딩 정보는 전송된 프레임에 포함될 수 있다. 본 출원의 일 실시 예에서, K/N 레이트 LPDC 코드 H n =(N-K)×N은 LDPC 디코더(190)에서 리프팅 계수 Z와 함께 사용될 수 있다. 인코딩 프로세스에서 설명된 바와 같이, H n 은 복수의 서브 매트릭스를 포함하며, 각각의 서브 매트릭스는 Z×Z의 크기를 가진다. 패리티 검사 매트릭스를 생성하는 방법은 인코딩 프로세스에서 설명되었다.
비트 단위의 코드워드는 예를 들어 LLR 값과 함께 메시지 패싱 알고리즘(message passing algorithm, MPA)을 사용하여, 매트릭스 H l 로 디코딩될 수 있다. 도 17의 예에 도시된 바와 같이, MPA를 이용한 LDPC 디코딩은 LPDC 패리티 검사 매트릭스 H l 의 그래픽 표현인 Tanner 그래프의 구조를 사용하는 반복 디코딩 알고리즘이다. LDPC 디코더(190)에서, 각각의 검사 노드(1702)는 그것이 패리티 검사 수식에서 유일한 소거 비트(erased bit)이면 LLR 값에 기반하여 소거 비트의 값을 결정한다. 메시지는 Tanner 그래프 에지(1706)를 통과했다. 알고리즘의 각각의 반복에 대해, 각각의 가변 노드(1704)는 가변 노드(1704)가 연결된 각각의 검사 노드(1702)에 메시지("외부 정보(extrinsic information)")를 송신한다. 각각의 검사 노드(1702)는 검사 노드(1702)가 연결된 가변 노드(1704)에 메시지("외부 정보")를 송신한다. 이 콘텍스트에서 "외부"는 검사 노드(1702) 또는 가변 노드(1704)가 이미 보유하고 있는 정보가 그 노드로 전달되지 않음을 의미한다. 각각의 코드워드 비트에 대한 사후 확률(posteriori probability)은 LLR 계산기(1506)에서 수신된 신호 및 H l 에 정의된 패리티 제약을 기반으로 계산되며, 즉 유효한 코드워드
Figure pct00061
이기 위해,
Figure pct00062
이다.
LDPC 디코더(190)의 계층 구조에서, Z 병렬 검사 노드 프로세서는 패리티 검사 매트릭스의 Z 행의 서브 매트릭스에 대한 에지(edge)의 메시지를 순차적으로 처리한다. 일례에서, Z = 42이고 에지는 16이다. 순환 시프트 구조는 간단한 배럴 쉬프터(barrel shifter)로 병렬 프로세서에 공급할 수 있는 디코더 아키텍처를 단순화시킨다. 계층 처리가 종료되는 경우, 패리티 검사 프로세서가 다시 초기화되고 다음 계층이 처리된다.
본 개시는 개시된 방법 및 시스템의 예를 구현하기 위한 특정 예시적인 알고리즘 및 계산을 제공한다. 그러나 본 개시 내용은 임의의 특정 알고리즘 또는 계산에 구속되지 않는다. 본 개시는 특정 순서로 단계를 갖는 방법 및 프로세스를 설명하지만, 방법 및 프로세스의 하나 이상의 단계는 생략되거나 적절하게 변경될 수 있다. 하나 이상의 단계는 설명된 것과 다른 순서로 적절하게 수행될 수 있다.
전술한 실시 예들의 설명을 통해, 본 발명은 하드웨어만을 사용하거나 소프트웨어 및 필요한 범용 하드웨어 플랫폼을 사용하거나 하드웨어와 소프트웨어의 조합에 의해 구현될 수 있다. 이러한 이해에 기반하여, 본 발명의 기술적 솔루션은 소프트웨어 제품의 형태로 구현될 수 있다. 소프트웨어 제품은 CD-ROM(compact disk read-only memory), USB 플래시 드라이브 또는 하드 디스크일 수 있는 비 휘발성 또는 비 일시적 저장 매체에 저장될 수 있다. 소프트웨어 제품은 컴퓨터 디바이스(개인용 컴퓨터, 서버 또는 네트워크 디바이스)가 본 발명의 실시 예에서 제공되는 방법을 실행할 수 있게 하는 다수의 명령을 포함한다.
본 발명 및 그 장점이 상세하게 설명되었지만, 첨부된 청구 범위에 의해 정의된 바와 같이 본 발명을 벗어나지 않고 다양한 변경, 대체 및 변경이 본 명세서에서 이루어질 수 있음을 이해해야 한다.
또한, 본 출원의 범위는 본 명세서에 기술된 프로세스, 머신, 제조, 물질의 조성, 수단, 방법 및 단계의 특정 실시 예로 제한되지 않는다. 당업자는 여기에 기술된 대응하는 실시 예가 본 개시에 따라 이용될 수 있는 것과 같이 실질적으로 동일한 기능을 수행하거나 실질적으로 동일한 결과를 달성할 수 있는, 프로세스, 머신, 제조, 물질의 조성, 수단, 방법 또는 단계, 현재 존재하거나 나중에 개발될 것을 본 발명의 개시로부터 쉽게 이해할 것이다. 따라서, 첨부된 청구 범위는 그러한 프로세스, 머신, 제조, 물질 조성, 수단, 방법 또는 단계를 그 범위 내에 포함하도록 의도된다.

Claims (21)

  1. 소스 워드(source word)를 인코딩하는 방법으로서,
    1×K 소스 워드 행 벡터
    Figure pct00063
    를 수신하는 단계; 및
    1×N 코드워드 벡터
    Figure pct00064
    를 생성하는 단계
    를 포함하고,
    Figure pct00065
    는 패리티 검사 매트릭스 H l 으로부터 유도된 K×N 생성 매트릭스(generator matrix)이며,
    H l 은 최적화된 리프팅 매트릭스를 베이스(base) 패리티 검사 매트릭스 H 에 적용하는 것에 의해 베이스 패리티 검사 매트릭스 H 로부터 유도되고,
    상기 최적화된 리프팅 매트릭스는
    Figure pct00066

    또는
    Figure pct00067

    인 방법.
  2. 제1항에 있어서,
    중간(intermediate) 베이스 패리티 검사 매트릭스에서 상이한 행이 합산되어 H l 이 획득되는, 방법.
  3. 제1항 또는 제2항에 있어서,
    상기 H l
    Figure pct00068

    인 방법.
  4. 소스 워드를 인코딩하는 방법으로서,
    1×K 소스 워드 행 벡터
    Figure pct00069
    를 수신하는 단계; 및
    1×N 코드워드 벡터
    Figure pct00070
    를 생성하는 단계
    를 포함하고,
    Figure pct00071
    는 패리티 검사 매트릭스 H l 으로부터 유도된 K×N 생성 매트릭스이며,
    베이스 패리티 검사 매트릭스 H 에서 상이한 행을 합산하여 중간 패리티 검사 매트릭스를 획득하고, 리프팅 매트릭스를 중간 베이스 패리티 검사 매트릭스에 적용하여 H l 을 획득하는 것에 의해, H l 이 베이스 패리티 검사 매트릭스 H 로부터 유도되는, 방법.
  5. 제4항에 있어서,
    상기 리프팅 매트릭스는
    Figure pct00072

    또는
    Figure pct00073

    인 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 베이스 패리티 검사 매트릭스 H 는 레이트(rate) ¾ 길이 672 코드워드에 대해 802.11ad에 지정된 LDPC 매트릭스인, 방법.
  7. 소스 워드를 인코딩하는 방법으로서,
    1×K 소스 워드 행 벡터
    Figure pct00074
    를 수신하는 단계; 및
    1×N 코드워드 벡터
    Figure pct00075
    를 생성하는 단계
    를 포함하고,
    Figure pct00076
    는 패리티 검사 매트릭스 H l 으로부터 유도된 K×N 생성 매트릭스이며,
    H l 은 K/N보다 작은 워드 벡터 크기에 대한 코드워드 벡터 크기에 대한 코드워드 생성을 지원하도록 설계된 베이스 패리티 검사 매트릭스 H 로부터 유도되고,
    Figure pct00077
    이며, 여기서,
    Figure pct00078
    이진 매트릭스이고,
    Figure pct00079
    는 n-k차수의 항등 매트릭스(identify matrix)이고, "T"는 매트릭스 전치를 나타내며, 패리티 검사 매트릭스
    Figure pct00080
    이고, 그리고
    베이스 패리티 검사 매트릭스 H 에 적용된 리프팅 계수(factor)를 증가시켜 확장된 베이스 패리티 검사 매트릭스를 획득하고, 확장된 베이스 패리티 검사 매트릭스에서 상이한 행을 합산하여 H l 을 획득하는 것에 의해, H l 이 베이스 패리티 검사 매트릭스 H 로부터 유도되는, 방법.
  8. 제7항에 있어서,
    상기 H l 은, 베이스 패리티 검사 매트릭스 H 에서 상이한 행을 합산하여 중간 패리티 검사 매트릭스를 획득하고, 중간 베이스 패리티 검사 매트릭스에 리프팅 매트릭스를 적용하여 H l 을 획득하는 것에 의해, 베이스 패리티 검사 매트릭스 H 로부터 유도되는, 방법.
  9. 제7항 내지 제8항 중 어느 한 항에 있어서,
    상기 베이스 패리티 검사 매트릭스 H는 504 비트의 입력 소스 워드 벡터 크기로부터 672 비트의 출력 코드워드 벡터 크기에 대한 코드워드 생성을 지원하도록 설계된 레이트 ¾ LDPC(low density parity check) 매트릭스이며, 상기 베이스 패리티 검사 매트릭스 H 는 4행 x 16열 매트릭스:
    Figure pct00081

    로 분할될 수 있으며,
    각각의 분할된 매트릭스 엘리먼트는 대응하는 42비트 x 42비트 서브 매트릭스를 나타내고, 각각의 42비트 x 42비트 서브 매트릭스는 42비트 x 42비트 이진 항등 매트릭스의 순환 순열(cyclic permutation)이거나, 또는 모두 0 값을 포함하며,
    이진 항등 매트릭스의 순환 순열에 대응하는 엘리먼트는 엘리먼트에 대응하는 서브 매트릭스를 획득하기 위해 이진 항등 매트릭스에 적용되는 순환 시프트를 지시하는 정수 인덱스 값으로 지시되고, 모두 0 값을 포함하는 서브 매트릭스에 대응하는 엘리먼트는 블랭크(blank) 엘리먼트에 의해 지시되는, 방법.
  10. 제7항 내지 제9항 중 어느 한 항에 있어서,
    N = 1344이고 K/N의 비는 7/8인, 방법.
  11. 제7항에 있어서,
    N = 1344이고 K/N의 비는 7/8이며,
    베이스 패리티 검사 매트릭스 H 에 적용된 리프팅 계수를 증가시켜 확장된 베이스 패리티 검사 매트릭스를 획득하는 것은,
    42비트×42비트 이진 항등 매트릭스의 크기를 84비트×84비트 이진 항등 매트릭스로 증가시키고, 베이스 패리티 검사 매트릭스 H 에 대응하는 84비트×84비트 서브 매트릭스의 확장된 4행×16열 매트릭스를 결정하는 것을 포함하고,
    확장된 베이스 패리티 검사 매트릭스에서 상이한 행을 합산하여 H l 을 획득하는 것은,
    모듈로-2 덧셈(modulo-2 addition)을 사용하여 확장된 베이스 패리티 검사 매트릭스의 제1행 및 제3행으로부터 서브 매트릭스를 합산하여 H l (1020)의 제1행에서의 대응하는 열 엔트리에 대한 서브 매트릭스를 제공하고, 모듈로-2 덧셈을 사용하여 확장된 베이스 패리티 검사 매트릭스의 제2 행 및 제4 행으로부터 서브 매트릭스를 합산하여 H l (1020)의 제2 행에서의 대응하는 열 엔트리에 대한 서브 매트릭스를 제공하는 것을 포함하는, 방법.
  12. 제10항에 있어서,
    N = 1344이고 K/N의 비가 7/8이며,
    베이스 패리티 검사 매트릭스 H 에 리프팅 매트릭스를 적용하여 중간 패리티 검사 매트릭스를 획득하는 것은,
    4행×16열 최적화된 이진 리프팅 매트릭스를 분할된 4행×16열 매트릭스에 적용하여, 42비트×42비트 이진 항등 매트릭스의 순환 순열이거나 모두 0의 값을 포함하는 42비트×42비트 서브 매트릭스의 8행 및 32 열을 가지는 중간 패리티 검사 매트릭스를 획득하는 것을 포함하며,
    중간 베이스 패리티 검사 매트릭스에서 상이한 행을 합산하여 H l 을 획득하는 것은,
    중간 패리티 검사 매트릭스의 제1 행 및 제5 행을 합산하여 H l 의 제1 행을 획득하고, 중간 패리티 검사 매트릭스의 제2 행 및 제6 행을 합산하여 H l 의 제2 행을 획득하며, 중간 패리티 검사 매트릭스의 제3 행 및 제7 행을 합산하여 H l 의 제3 행을 획득하고, 그리고 중간 패리티 검사 매트릭스의 제4 행 및 제8 행을 합산하여 H l 의 제4행을 획득하는 것을 포함하며,
    상기 리프팅 매트릭스는
    Figure pct00082

    또는
    Figure pct00083

    인 방법.
  13. 제12항에 있어서,
    상기 H l
    Figure pct00084

    에 의해 표현되는, 방법.
  14. 제8항에 있어서,
    N = 1344이고 K/N의 비가 7/8이며,
    베이스 패리티 검사 매트릭스 H 에서 상이한 행을 합산하여 중간 패리티 검사 매트릭스를 획득하는 것은,
    분할된 베이스 패리티 검사 매트릭스의 제1 행 및 제3 행을 합산하고, 분할된 베이스 패리티 검사 매트릭스의 제2 행 및 제4 행을 합산하여, 2개의 행을 가지며 다음과 같이:
    Figure pct00085

    표현되는 중간 베이스 매트릭스를 획득하는 것을 포함하며,
    중간 패리티 검사 매트릭스에 리프팅 매트릭스를 적용하여 H l 을 획득하는 것은,
    2행×16열의 최적화된 이진 리프팅 매트릭스를 분할된 2행×16열의 중간 패리티 검사 매트릭스에 적용하여, 42비트×42비트 이진 항등 매트릭스의 순환 순열이거나 모두 0의 값을 포함하는 42비트×42비트의 서브 매트릭스의 4행 및 32열을 가지는 H l 을 획득하는 것을 포함하는, 방법.
  15. 제14항에 있어서,
    상기 리프팅 매트릭스는
    Figure pct00086

    에 의해 표현되는, 방법.
  16. 제14항에 있어서,
    상기 리프팅 매트릭스는
    Figure pct00087

    에 의해 표현되는, 방법.
  17. 제7항 또는 제8항에 있어서,
    상기 H l
    Figure pct00088

    에 의해 표현되는, 방법.
  18. 제2항에 있어서,
    상기 중간 베이스 패리티 검사 매트릭스의 행 1 및 행 3이 합산되는, 방법.
  19. 제2항 또는 제18항에 있어서,
    상기 중간 베이스 패리티 검사 매트릭스의 행 2 및 행 4가 합산되는, 방법.
  20. 제2항, 제18항 또는 제19항에 있어서,
    상기 리프팅 매트릭스는 블랭크 행-열 엔트리 및 비 블랭크(non-blank) 행-열 엔트리로 구성되고, 중간 베이스 패리티 검사 매트릭스의 합산된 서브 매트릭스에 대응하는 두 비-블랭크 엔트리들의 쌍은 상보적(complementary)인, 방법.
  21. 프로세서를 포함하는 시스템으로서,
    상기 프로세서는 시스템이 청구항 제1항 내지 제20항 중 어느 한 항의 방법을 수행하게 하도록 구성되는, 시스템.
KR1020197026181A 2017-03-03 2017-03-03 높은 레이트의 긴 ldpc 코드 KR102262186B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2017/075616 WO2018157390A1 (en) 2017-03-03 2017-03-03 High-rate long ldpc codes

Publications (2)

Publication Number Publication Date
KR20190112124A true KR20190112124A (ko) 2019-10-02
KR102262186B1 KR102262186B1 (ko) 2021-06-08

Family

ID=63369733

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197026181A KR102262186B1 (ko) 2017-03-03 2017-03-03 높은 레이트의 긴 ldpc 코드

Country Status (7)

Country Link
US (2) US11082061B2 (ko)
EP (2) EP3571770B1 (ko)
JP (1) JP6873262B2 (ko)
KR (1) KR102262186B1 (ko)
CN (2) CN113676188A (ko)
RU (1) RU2733826C1 (ko)
WO (1) WO2018157390A1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110583023B (zh) * 2017-05-04 2022-03-01 三星电子株式会社 在通信或广播系统中用于信道编码和解码的方法和设备
CN110754042B (zh) 2017-06-15 2024-06-04 华为技术有限公司 信息处理的方法和通信装置
CN110677157B (zh) 2017-06-27 2023-02-07 华为技术有限公司 信息处理的方法、装置和通信设备
CN109327225B9 (zh) 2017-06-27 2021-12-10 华为技术有限公司 信息处理的方法、装置和通信设备
CN109639392B (zh) * 2018-11-09 2020-03-27 清华大学 广播信道传输的空间耦合ldpc码的构造方法及系统
CN113078911A (zh) 2020-01-03 2021-07-06 华为技术有限公司 Ldpc码的编码的方法和通信装置
CN114915297A (zh) * 2021-02-09 2022-08-16 华为技术有限公司 一种编码和译码方法及相关装置
US20240097817A1 (en) * 2021-03-18 2024-03-21 Qualcomm Incorporated Bit replacing for low density parity check encoding

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090113869A (ko) * 2007-01-24 2009-11-02 콸콤 인코포레이티드 가변 크기들의 패킷들의 ldpc 인코딩 및 디코딩

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050283707A1 (en) * 2004-06-22 2005-12-22 Eran Sharon LDPC decoder for decoding a low-density parity check (LDPC) codewords
US7346832B2 (en) * 2004-07-21 2008-03-18 Qualcomm Incorporated LDPC encoding methods and apparatus
US7996746B2 (en) 2004-10-12 2011-08-09 Nortel Networks Limited Structured low-density parity-check (LDPC) code
EP1850485A1 (en) * 2006-04-28 2007-10-31 Nokia Siemens Networks Gmbh & Co. Kg Method for encoding a data message K' for transmission from a sending station to a receiving station as well as method for decoding, sending station, receiving station and software
KR101370903B1 (ko) * 2007-03-16 2014-03-10 엘지전자 주식회사 Ldpc 코드를 이용한 부호화 및 복호화 방법
US8392814B2 (en) 2008-10-07 2013-03-05 Qualcomm Incorporated Method and apparatus for high speed structured multi rate low density parity check codes
US9634693B2 (en) * 2010-08-12 2017-04-25 Samsung Electronics Co., Ltd Apparatus and method for decoding LDPC codes in a communications system
CN101951264B (zh) * 2010-08-31 2014-03-12 宁波大学 一种多码率准循环低密度奇偶校验码解码器
CN102412842B (zh) * 2010-09-25 2016-06-15 中兴通讯股份有限公司 一种低密度奇偶校验码的编码方法及装置
CN102868483A (zh) * 2011-07-06 2013-01-09 北京新岸线无线技术有限公司 一种用于数据传输的方法及装置
US8910025B2 (en) * 2011-10-03 2014-12-09 Samsung Electronics Co., Ltd. Method and apparatus of QC-LDPC convolutional coding and low-power high throughput QC-LDPC convolutional encoder and decoder
US8832520B2 (en) * 2011-11-29 2014-09-09 California Institute Of Technology High order modulation protograph codes
US9100052B2 (en) * 2013-02-01 2015-08-04 Samsung Electronics Co., Ltd. QC-LDPC convolutional codes enabling low power trellis-based decoders
JP6542132B2 (ja) * 2013-02-13 2019-07-10 クゥアルコム・インコーポレイテッドQualcomm Incorporated 高レート、高並列性、および低エラーフロアのために、疑似巡回構成を使用し、パンクチャするldpc設計
US9160369B1 (en) * 2013-03-01 2015-10-13 Proton Digital Systems, Inc. Method for iterative error correction with designed error floor performance
EP2833553B1 (en) * 2013-07-30 2021-03-31 Alcatel Lucent LDPC decoder
US20160380722A1 (en) * 2015-06-25 2016-12-29 Mohamed K. Hassanin Access point (ap), user station (sta) and methods for variable length encoding and for iterative decoding
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090113869A (ko) * 2007-01-24 2009-11-02 콸콤 인코포레이티드 가변 크기들의 패킷들의 ldpc 인코딩 및 디코딩

Also Published As

Publication number Publication date
EP3571770A4 (en) 2020-06-03
EP3571770A1 (en) 2019-11-27
WO2018157390A1 (en) 2018-09-07
RU2733826C1 (ru) 2020-10-07
KR102262186B1 (ko) 2021-06-08
US11082061B2 (en) 2021-08-03
EP4373019A3 (en) 2024-07-10
EP3571770B1 (en) 2024-02-21
CN110249536A (zh) 2019-09-17
EP4373019A2 (en) 2024-05-22
US20190393890A1 (en) 2019-12-26
EP3571770C0 (en) 2024-02-21
JP2020515125A (ja) 2020-05-21
CN110249536B (zh) 2021-07-20
US20210376857A1 (en) 2021-12-02
CN113676188A (zh) 2021-11-19
US11671115B2 (en) 2023-06-06
JP6873262B2 (ja) 2021-05-19

Similar Documents

Publication Publication Date Title
US10868567B2 (en) Methods and systems for encoding and decoding for LDPC codes
KR102262186B1 (ko) 높은 레이트의 긴 ldpc 코드
US11139835B2 (en) Method and apparatus for data processing with structured LDPC codes
US20200083904A1 (en) Apparatus and method for channel encoding/decoding in communication or broadcasting system
US11664928B2 (en) Multi-label offset lifting method
US11646818B2 (en) Method and apparatus for encoding/decoding channel in communication or broadcasting system
EP3580865B1 (en) Mcs for long ldpc codes
KR20170075627A (ko) 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치
CN115885491B (zh) 用于混合自动重传请求的置换扩展和缩短的低密度奇偶校验码
EP3542481B1 (en) Apparatus and method for channel encoding/decoding in communication or broadcasting system
JP7030932B2 (ja) Ldpc符号の符号化および復号化のための方法およびシステム
KR102302366B1 (ko) 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치
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
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant