KR102197173B1 - 레이트 호환가능한 qc-ldpc 코드들에 대한 로우 직교성으로 패리티 체크 행렬들의 구성 - Google Patents

레이트 호환가능한 qc-ldpc 코드들에 대한 로우 직교성으로 패리티 체크 행렬들의 구성 Download PDF

Info

Publication number
KR102197173B1
KR102197173B1 KR1020197033238A KR20197033238A KR102197173B1 KR 102197173 B1 KR102197173 B1 KR 102197173B1 KR 1020197033238 A KR1020197033238 A KR 1020197033238A KR 20197033238 A KR20197033238 A KR 20197033238A KR 102197173 B1 KR102197173 B1 KR 102197173B1
Authority
KR
South Korea
Prior art keywords
parity check
rows
check matrix
row
ldpc
Prior art date
Application number
KR1020197033238A
Other languages
English (en)
Other versions
KR20200003829A (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 KR20200003829A publication Critical patent/KR20200003829A/ko
Application granted granted Critical
Publication of KR102197173B1 publication Critical patent/KR102197173B1/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
    • 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/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1131Scheduling of bit node or check node processing
    • H03M13/1137Partly parallel processing, i.e. sub-blocks or sub-groups of nodes being processed in parallel
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/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/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/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/618Shortening and extension of 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/63Joint error correction and other techniques
    • H03M13/6306Error control coding in combination with Automatic Repeat reQuest [ARQ] and diversity transmission, e.g. coding schemes for the multiple transmission of the same information or the transmission of incremental redundancy
    • 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/6561Parallelized implementations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0067Rate matching
    • H04L1/0068Rate matching by puncturing
    • H04L1/0069Puncturing patterns
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1812Hybrid protocols; Hybrid automatic repeat request [HARQ]

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (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)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

본 개시물의 특정 양태들은 일반적으로 완전한 로우-직교성을 갖는 패리티 체크 행렬을 사용하여, 저밀도 패리티 체크 (LDPC) 코드들을 디코딩하기 위한 방법들 및 장치에 관한 것이다. 저밀도 패리티 체크 (LDPC) 디코딩을 수행하기 위한 예시적인 방법은, LDPC 코드워드에 연관된 소프트 비트들을 수신하는 단계 및 패리티 체크 행렬을 사용하여 소프트 비트들의 LDPC 디코딩을 수행하는 단계를 포함하며, 여기서 상기 패리티 체크 행렬의 각 로우는 리프트된 LDPC 코드의 리프트된 패리티 체크에 대응하고, 상기 패리티 체크 행렬의 적어도 2 개의 컬럼들은 리프트된 LDPC 코드의 펑처링된 변수 노드들에 대응하고, 그리고 상기 패리티 체크 행렬은 적어도 2 개의 펑처링된 변수 노드들 양자가 연결되는 로우 아래에 있는, 연속하는 로우들의 각 쌍 간에 로우 직교성을 갖는다.

Description

레이트 호환가능한 QC-LDPC 코드들에 대한 로우 직교성으로 패리티 체크 행렬들의 구성
관련 출원들에 대한 상호 참조
본 특허 출원은, 2017 년 5 월 12 일자로 출원된 미국 가출원 제 62/505,573 호, 및 2018 년 5 월 9 일자로 출원된 미국 특허 출원 제 15/975,440 호를 우선권 주장하며, 이들 출원들 양자는 본원의 양수인에게 양도되고, 이로써 본 명세서에 참조로 분명히 통합된다.
기술 분야
본 개시물의 특정 양태들은 일반적으로, 무선 통신들을 위한 방법들 및 장치에 관한 것으로, 더 상세하게는, 저밀도 패리티 체크 (LDPC) 레이트 호환가능 설계에서 로우 직교성에 관한 것이다.
무선 통신 시스템들은 음성, 데이터 등과 같은 다양한 타입들의 통신 컨텐츠를 제공하기 위하여 폭넓게 전개된다. 이 시스템들은 이용가능한 시스템 리소스들 (예컨대, 대역폭 및 송신 전력) 을 공유함으로써 다수의 사용자들과의 통신을 지원할 수 있는 다중-액세스 시스템들일 수도 있다. 이러한 다중-액세스 시스템들의 예들은 롱텀 에볼루션 (LTE) 시스템들, 코드 분할 다중 액세스 (CDMA) 시스템들, 시간 분할 다중 액세스 (TDMA) 시스템들, 주파수 분할 다중 액세스 (FDMA) 시스템들, 3 세대 파트너십 프로젝트 (3GPP) 롱텀 에볼루션 (LTE) 시스템들, 롱텀 에볼루션 어드밴스드 (LTE-A) 시스템들, 및 직교 주파수 분할 다중 액세스 (OFDMA) 시스템들을 포함한다.
일반적으로, 무선 다중-액세스 통신 시스템은 다중의 무선 노드들에 대한 통신을 동시에 지원할 수 있다. 각각의 노드는 순방향 및 역방향 링크들 상에서의 송신들을 통해 하나 이상의 기지국들과 통신한다. 순방향 링크 (또는 다운링크) 는 기지국들로부터 노드들로의 통신 링크를 지칭하고, 역방향 링크 (또는 업링크) 는 노드들로부터 기지국들로의 통신 링크를 지칭한다. 통신 링크들은 단일-입력 단일-출력, 다중-입력 단일-출력, 또는 다중-입력 다중-출력 (MIMO) 시스템을 통해 확립될 수도 있다.
현대 정보 시대에서, 이진 값들 (예를 들어, 1들 및 0들) 은 비디오, 오디오, 통계 정보 등과 같은 다양한 유형의 정보를 표현하고 통신하는데 사용된다. 불행히도, 이진 데이터의 저장, 송신 및/또는 프로세싱 동안, 의도하지 않은 에러들이 도입될 수도 있다; 예를 들어, 1 이 0 으로 또는 그 반대로 변경될 수도 있다.
일반적으로, 데이터 송신의 경우에, 수신기는 잡음 또는 왜곡의 존재 시에 각각의 수신된 비트를 관찰하고, 오직 비트의 값의 표시가 획득된다. 이 상황들 하에서, 관찰된 값들은 "소프트 (soft)" 비트들의 소스 (source) 로서 해독된다. 소프트 비트는 비트의 값 (예컨대, 1 또는 0) 의 선호된 추정치를, 그 추정치의 신뢰성의 일부 표시와 함께 표시한다. 에러들의 수가 상대적으로 낮을 수도 있지만, 심지어 작은 수의 에러들 또는 왜곡의 레벨은 데이터가 이용불가능한 것으로 귀착될 수 있거나, 송신 에러들의 경우에는, 데이터의 재송신을 필요로 할 수도 있다.
에러들에 대하여 체킹하기 위한 메커니즘을 제공하기 위하여, 그리고 일부 경우들에는, 에러들을 정정하기 위하여, 이진 데이터는 주의 깊게 설계된 중복성 (redundancy) 을 도입하도록 코딩될 수 있다. 데이터의 유닛의 코딩은 코드 워드 (code word) 로서 통상적으로 지칭되는 것을 생성한다. 그 중복성으로 인해, 코드 워드는 종종, 코드 워드가 그로부터 생성되었던 데이터의 입력 유닛보다 더 많은 비트들을 포함할 것이다.
중복적인 비트들은 코드 워드를 생성하기 위하여 인코더에 의해 송신된 비트 스트림에 추가된다. 송신된 코드 워드들로부터 발생하는 신호들이 수신되었거나 프로세싱되었을 때, 신호에서 관찰된 바와 같은 코드 워드 내에 포함된 중복적인 정보는 원래의 데이터 유닛을 복원하기 위하여 수신된 신호에서 에러들을 식별하고 및/또는 정정하거나, 수신된 신호로부터 왜곡을 제거하기 위하여 이용될 수 있다. 이러한 에러 체킹 및/또는 정정은 디코딩 프로세스의 일부로서 구현될 수 있다. 에러들의 부재 시에, 또는 정정가능한 에러들 또는 왜곡의 경우에는, 디코딩은 프로세싱되는 소스 데이터로부터, 인코딩되었던 원래의 데이터 유닛을 복원하기 위하여 이용될 수 있다. 복원불가능한 에러들의 경우에, 디코딩 프로세스는 원래의 데이터가 완전히 복원될 수 없다는 일부 표시를 생성할 수도 있다. 디코딩 실패의 이러한 표시들은 데이터의 재송신을 개시하기 위하여 이용될 수 있다.
데이터 송신을 위한 광섬유 라인들의 증가된 이용, 및 데이터가 데이터 저장 디바이스들 (예컨대, 디스크 드라이브들, 테이프들 등) 로부터 판독될 수 있고 데이터 저장 디바이스들로 저장될 수 있는 레이트에서의 증가들로, 데이터 저장 및 송신 용량의 효율적인 이용 뿐만 아니라, 높은 레이트들의 속력으로 데이터를 인코딩하고 이를 디코딩하기 위한 능력에 대한 증가하는 필요성이 있다.
인코딩 효율 및 높은 데이터 레이트들이 중요하지만, 인코딩 및/또는 디코딩 시스템이 광범위한 디바이스들 (예컨대, 소비자 디바이스들) 에서의 이용을 위하여 실용적이기 위해서는, 인코더들 및/또는 디코더들이 합리적인 비용으로 구현될 수 있는 것이 중요하다.
통신 시스템들은 몇몇 상이한 레이트들에서 동작할 필요가 종종 있다. 구현을 가능한 한 간단하게 유지하고 상이한 레이트들에서의 코딩 및 디코딩을 제공하기 위한 하나의 방법은 조절가능한 저밀도 패리티 체크 (LDPC) 코드들을 이용하는 것이다. 특히, 누군가는 더 낮은 레이트의 코드들을 펑처링 (puncturing) 함으로써 더 높은 레이트의 LDPC 코드들을 생성할 수 있다.
이 다중 액세스 기술들은, 상이한 무선 디바이스들이 도시, 국가, 지역, 및 심지어 글로벌 레벨 상에서 통신하는 것을 가능하게 하는 공통 프로토콜을 제공하기 위하여 다양한 통신 표준들에서 채택되었다. 최근에 생긴 통신 표준의 예는 뉴 라디오 (new radio; NR) 이다. NR 은 3 세대 파트너십 프로젝트 (Third Generation Partnership Project; 3GPP) 에 의해 반포된 LTE 이동 표준 (예컨대, 5G 라디오 액세스) 에 대한 개량들의 세트이다. 이는 스펙트럼 효율을 개선하는 것, 비용을 저감시키는 것, 서비스들을 개선하는 것, 새로운 스펙트럼을 이용하는 것, 및 다운링크 (DL) 상의 및 업링크 (UL) 상의 사이클릭 프리픽스 (CP) 를 갖는 OFDMA 뿐 아니라 빔포밍, 다중입력 다중출력 (MIMO) 안테나 기술, 및 캐리어 집성을 이용하여 다른 공개 표준들과 더 우수하게 통합하는 것에 의해, 모바일 광대역 인터넷 액세스를 더 우수하게 지원하도록 설계된다.
이동 광대역 액세스에 대한 수요가 증가하는 것을 계속함에 따라, NR 기술에서의 추가의 개선들에 대한 필요성이 존재한다. 바람직하게는, 이 개선들은 다른 멀티-액세스 기술들과, 이 기술들을 채용하는 통신 표준들에 적용가능해야 한다. 개선들을 위한 하나의 분야는 NR 에 적용가능한, 인코딩/디코딩의 분야이다. 예를 들어, NR 을 위한 고성능 LDPC 코드들에 대한 기법들이 바람직하다.
본 개시물의 시스템들, 방법들, 및 디바이스들은 각각 몇몇 양태들을 가지고, 그 단일의 하나가 그 바람직한 속성 (attribute) 들을 전적으로 담당하지는 않는다. 뒤따르는 청구항들에 의해 표현된 바와 같은 이 개시물의 범위를 제한하지 않으면서, 일부 특징들이 간략하게 이제 논의될 것이다. 이 논의를 고려한 이후, 특히, "상세한 설명" 이라는 제목의 섹션을 읽은 후, 무선 네트워크에서 액세스 포인트들과 스테이션들 간의 개선된 통신들을 포함한 이점들을 본 개시물의 특징부들이 어떻게 제공하는지를 이해할 것이다.
본 개시물의 특정 양태들은 저밀도 패리티 체크 (LDPC) 디코딩을 수행하기 위한 방법을 제공한다. 이 방법은 일반적으로, LDPC 코드워드에 연관된 소프트 비트들을 수신하는 단계 및 패리티 체크 행렬을 사용하여 소프트 비트들의 LDPC 디코딩을 수행하는 단계를 포함하며, 여기서 상기 패리티 체크 행렬의 각 로우는 리프트된 LDPC 코드의 리프트된 패리티 체크에 대응하고, 상기 패리티 체크 행렬의 적어도 2 개의 컬럼들은 리프트된 LDPC 코드의 펑처링된 변수 노드 (variable node) 들에 대응하고, 그리고 상기 패리티 체크 행렬은 적어도 2 개의 펑처링된 변수 노드들 양자가 연결되는 로우 아래에 있는, 연속하는 로우들의 각 쌍 간에 로우 직교성을 갖는다.
본 개시물의 특정 양태들은 저밀도 패리티 체크 (LDPC) 디코딩을 수행하기 위한 장치를 제공한다. 이 장치는 일반적으로, 상기 장치로 하여금, LDPC 코드워드에 연관된 소프트 비트들을 수신하게 하고 패리티 체크 행렬을 사용하여 소프트 비트들의 LDPC 디코딩을 수행하게 하도록 구성된 프로세서를 포함하며, 여기서 상기 패리티 체크 행렬의 각 로우는 계층화된 리프트된 LDPC 코드의 리프트된 패리티 체크에 대응하고, 상기 패리티 체크 행렬의 적어도 2 개의 컬럼들은 리프트된 LDPC 코드의 펑처링된 변수 노드들에 대응하고, 그리고 상기 패리티 체크 행렬은 적어도 2 개의 펑처링된 변수 노드들 양자가 연결되는 로우 아래에 있는, 연속하는 로우들의 각 쌍 간에 로우 직교성을 갖는다. 그 장치는 또한, 일반적으로 프로세서와 커플링된 메모리를 포함한다.
본 개시의 특정 양태들은 저밀도 패리티 체크 (LDPC) 디코딩을 수행하기 위한 장치를 제공한다. 이 장치는 일반적으로, LDPC 코드워드의 소프트 비트들을 수신하는 수단 및 패리티 체크 행렬을 사용하여 소프트 비트들의 LDPC 디코딩을 수행하는 수단을 포함하며, 여기서 상기 패리티 체크 행렬의 각 로우는 리프트된 LDPC 코드의 리프트된 패리티 체크에 대응하고, 상기 패리티 체크 행렬의 적어도 2 개의 컬럼들은 리프트된 LDPC 코드의 펑처링된 변수 노드들에 대응하고, 그리고 상기 패리티 체크 행렬은 적어도 2 개의 펑처링된 변수 노드들 양자가 연결되는 로우 아래에 있는, 연속하는 로우들의 각 쌍 간에 로우 직교성을 갖는다.
본 개시의 특정 양태들은 저밀도 패리티 체크 (LDPC) 디코딩을 수행하기 위한 컴퓨터 판독가능 매체를 제공한다. 컴퓨터 판독가능 매체는 일반적으로, 적어도 하나의 프로세서에 의해 실행될 때, 상기 적어도 하나의 프로세서로 하여금, LDPC 코드워드에 연관된 소프트 비트들을 수신하게 하고 패리티 체크 행렬을 사용하여 소프트 비트들의 LDPC 디코딩을 수행하게 하는 명령들을 포함하며, 여기서 상기 패리티 체크 행렬의 각 로우는 리프트된 LDPC 코드의 리프트된 패리티 체크에 대응하고, 상기 패리티 체크 행렬의 적어도 2 개의 컬럼들은 리프트된 LDPC 코드의 펑처링된 변수 노드들에 대응하고, 그리고 상기 패리티 체크 행렬은 적어도 2 개의 펑처링된 변수 노드들 양자가 연결되는 로우 아래에 있는, 연속하는 로우들의 각 쌍 간에 로우 직교성을 갖는다.
본 개시의 특정 양태들은 저밀도 패리티 체크 (LDPC) 인코딩을 수행하기 위한 방법을 제공한다. 이 방법은 일반적으로, 코드워드의 정보 비트들을 획득하는 단계 및 패리티 체크 행렬에 따라 LDPC 코드워드의 패리티 비트들을 연산하기 위해 정보 비트들의 인코딩을 수행하는 단계를 포함하며, 여기서 상기 패리티 체크 행렬의 각 로우는 리프트된 LDPC 코드의 리프트된 패리티 체크에 대응하고, 상기 패리티 체크 행렬의 적어도 2 개의 컬럼들은 리프트된 LDPC 코드의 펑처링된 변수 노드들에 대응하고, 그리고 상기 패리티 체크 행렬은 적어도 2 개의 펑처링된 변수 노드들 양자가 연결되는 로우 아래에 있는, 연속하는 로우들의 각 쌍 간에 로우 직교성을 갖는다.
본 개시의 특정 양태들은 저밀도 패리티 체크 (LDPC) 인코딩을 수행하기 위한 장치를 제공한다. 이 장치는 일반적으로, 상기 장치로 하여금, 코드워드의 정보 비트들을 획득하게 하고 패리티 체크 행렬에 따라 LDPC 코드워드의 패리티 비트들을 연산하기 위해 정보 비트들의 인코딩을 수행하게 하도록 구성된 프로세서를 포함하며, 여기서 상기 패리티 체크 행렬의 각 로우는 리프트된 LDPC 코드의 리프트된 패리티 체크에 대응하고, 상기 패리티 체크 행렬의 적어도 2 개의 컬럼들은 리프트된 LDPC 코드의 펑처링된 변수 노드들에 대응하고, 그리고 상기 패리티 체크 행렬은 적어도 2 개의 펑처링된 변수 노드들 양자가 연결되는 로우 아래에 있는, 연속하는 로우들의 각 쌍 간에 로우 직교성을 갖는다. 그 장치는 또한, 일반적으로 프로세서와 커플링된 메모리를 포함한다.
본 개시물의 특정 양태들은 저밀도 패리티 체크 (LDPC) 디코딩을 수행하기 위한 장치를 제공한다. 이 장치는 일반적으로, 코드워드의 정보 비트들을 획득하는 수단 및 패리티 체크 행렬에 따라 LDPC 코드워드의 패리티 비트들을 연산하기 위해 정보 비트들의 인코딩을 수행하는 수단을 포함하며, 여기서 상기 패리티 체크 행렬의 각 로우는 리프트된 LDPC 코드의 리프트된 패리티 체크에 대응하고, 상기 패리티 체크 행렬의 적어도 2 개의 컬럼들은 리프트된 LDPC 코드의 펑처링된 변수 노드들에 대응하고, 그리고 상기 패리티 체크 행렬은 적어도 2 개의 펑처링된 변수 노드들 양자가 연결되는 로우 아래에 있는, 연속하는 로우들의 각 쌍 간에 로우 직교성을 갖는다.
본 개시물의 특정 양태들은 저밀도 패리티 체크 (LDPC) 디코딩을 수행하기 위한 컴퓨터 판독가능 매체를 제공한다. 이 장치는 일반적으로, 적어도 하나의 프로세서에 의해 실행될 때, 상기 적어도 하나의 프로세서로 하여금, 코드워드의 정보 비트들을 획득하게 하고 패리티 체크 행렬에 따라 LDPC 코드워드의 패리티 비트들을 연산하기 위해 정보 비트들의 인코딩을 수행하게 하는 명령들을 포함하며, 여기서 상기 패리티 체크 행렬의 각 로우는 리프트된 LDPC 코드의 리프트된 패리티 체크에 대응하고, 상기 패리티 체크 행렬의 적어도 2 개의 컬럼들은 리프트된 LDPC 코드의 펑처링된 변수 노드들에 대응하고, 그리고 상기 패리티 체크 행렬은 적어도 2 개의 펑처링된 변수 노드들 양자가 연결되는 로우 아래에 있는, 연속하는 로우들의 각 쌍 간에 로우 직교성을 갖는다.
본 개시물의 다른 양태들, 특징들, 및 실시형태들은 첨부 도면들과 연계하여 본 발명의 특정, 예시적인 실시형태들의 다음의 설명을 검토할 시, 본 기술 분야의 통상의 기술자들에게 명백하게 될 것이다. 본 발명의 특징들이 아래의 특정한 실시형태들 및 도면들에 대해 논의될 수도 있지만, 본 발명의 모든 실시형태들은 본 명세서에서 논의되는 유리한 특징들 중 하나 이상을 포함할 수 있다. 다르게 말하면, 하나 이상의 실시형태들이 특정한 유리한 특징들을 갖는 것으로서 논의될 수도 있지만, 이러한 특징들 중 하나 이상은 본 명세서에서 논의되는 본 발명의 다양한 실시형태들에 따라 또한 사용될 수도 있다. 유사한 방식으로, 예시적인 실시형태들이 디바이스, 시스템, 또는 방법 실시형태들로서 아래에서 논의될 수도 있지만, 이러한 예시적인 실시형태들은 다양한 디바이스들, 시스템들, 및 방법들로 구현될 수 있다는 것이 이해되어야 한다.
본 개시물의 위에서 언급된 특징들이 상세히 이해될 수 있도록, 위에서 간략하게 요약된 보다 특정한 설명은 양태들을 참조로 이루질 수도 있으며, 그 양태들 중 일부가 첨부된 도면들에 예시된다. 그러나, 첨부된 도면들은 오직 이 개시물의 어떤 전형적인 양태들을 예시하고, 그러므로, 설명이 다른 동일하게 효과적인 양태들을 인정할 수도 있으므로, 그 범위의 제한으로 고려되지 않아야 한다.
도 1 은 본 개시물의 특정 양태들에 따른, 예시적인 다중 액세스 무선 통신 시스템을 예시한다.
도 2 는 본 개시물의 특정 양태들에 따른, 기지국과 무선 노드의 블록 다이어그램을 예시한다.
도 3 은 본 개시물의 특정 양태들에 따른, 무선 디바이스에서 활용될 수도 있는 다양한 컴포넌트들을 예시한다.
도 4a 및 도 4b 는 본 개시물의 특정 양태들에 따른, 예시적인 저밀도 패리티 체크 (LDPC) 코드의 그래픽 및 행렬 표현들을 도시한다.
도 5 는 본 개시물의 특정 양태들에 따른, 도 4a 의 LDPC 코드의 리프팅을 그래픽으로 예시한다.
도 6 은 준-사이클릭 (quasi-cyclic) IEEE 802.11 LDPC 코드에 대한 행렬의 정수 표현이다.
도 7 은 본 개시물의 특정 양태들에 따른, 인코더를 예시한 단순화된 블록 다이어그램이다.
도 8 은 본 개시물의 특정 양태들에 따른, 디코더를 예시한 단순화된 블록 다이어그램이다.
도 9 는 본 개시물의 특정 양태들에 따른, 일반적인 계층화된 LDPC 디코더의 상위 레벨 블록 다이어그램을 예시한다.
도 10 은 본 개시물의 특정 양태들에 따른, 패리티 체크 행렬에서 비트 LLR들 및 사후 LLR들을 연산/업데이트하기 위한 이 프로세스의 예를 예시한다.
도 11a 및 도 11b 는 본 개시물의 특정 양태들에 따른, 예시적인 계층화된 디코더 파이프라인 프로세싱 타임라인을 예시한다.
도 12 및 도 12a 내지 도 12h 는 본 개시물의 특정 양태들에 따른, 준-로우 직교성을 갖는 패리티 체크 행렬을 예시한다.
도 13 및 도 13a 내지 도 13h 는 본 개시물의 특정 양태들에 따른, 풀-로우 직교성을 갖는 패리티 체크 행렬을 예시한다.
도 14 는 본 개시물의 특정 양태들에 따른, 저밀도 패리티 체크 (LDPC) 코드들을 디코딩하기 위한 예시적인 동작들을 예시하는 흐름도이다.
도 15 는 본 개시물의 특정 양태들에 따른, 저밀도 패리티 체크 (LDPC) 인코딩을 수행하기 위한 예시적인 동작들을 예시하는 흐름도이다.
이해를 용이하게 하기 위해, 동일한 참조 부호들은, 가능할 경우, 도면들에 공통인 동일한 엘리먼트들을 지정하도록 사용되었다. 하나의 실시형태에서 개시된 엘리먼트들은 특정 언급 없이도 다른 실시형태들에 대해 유익하게 활용될 수도 있다는 것이 고려된다.
본 개시물의 양태들은 뉴 라디오 (NR) (뉴 라디오 액세스 기술) 를 위한 인코딩을 위한 장치, 방법들, 프로세싱 시스템들, 및 컴퓨터 프로그램 제품들을 제공한다. 뉴 라디오 (NR) 은 새로운 무선 인터페이스 (air interface) 또는 고정된 전송 계층에 따라 동작하도록 구성된 라디오 (radio) 들을 지칭할 수도 있다. NR 은 넓은 대역폭 (예를 들어, 80MHz 이상) 통신 시스템들을 목표로 하는 eMBB (enhanced mobile broadband) 기술들, 높은 캐리어 주파수 (예를 들어, 27 GHz 이상) 통신 시스템들을 목표로 하는 밀리미터 파 (mmW) 기술들, 비-역호환성 MTC (machine type communication) 시스템들을 목표로 하는 mMTC (massive machine type communications) 기술들, 및 URLLC (ultra-reliable low latency communications) 을 목표로 하는 미션 크리티컬 기술들을 포함할 수도 있다. 이들 일반적인 주제들에 대하여, 저밀도 패리티 체크 (LDPC) 코딩, 및 폴라 (polar) 코딩을 포함하는, 코딩 기술들과 같은 상이한 기술들이 고려된다. NR 셀은 새로운 에어 인터페이스 또는 고정된 전송 계층에 따라 동작하는 셀을 지칭할 수도 있다. NR 노드 B (예를 들어, 5G 노드 B) 는 하나 또는 다수의 송신 수신 포인트들 (TRP들) 에 대응할 수도 있다.
본 개시물의 특정 양태들은 일반적으로 저밀도 패리티 체크 (LDPC) 인코딩된 송신들을 디코딩하기 위한 방법들 및 장치에 관한 것이고, 보다 상세하게는 다수의 쌍으로 된 완전한 로우-직교성인 로우들을 갖는 패리티 체크 행렬을 사용하여 LDPC 인코딩된 송신들을 디코딩하는 것에 관한 것이다.
본 개시물의 다양한 양태들은 첨부 도면들을 참조하여 이하 더 충분히 설명된다. 하지만, 본 개시물은 다수의 상이한 형태들로 구현될 수도 있으며, 본 개시물 전반에 걸쳐 제시된 임의의 특정 구조 또는 기능으로 한정되는 것으로서 해석되지 않아야 한다. 오히려, 이들 양태들은, 본 개시물이 철저하고 완전할 것이며 그리고 본 개시물의 범위를 당업자에게 충분히 전달할 것이도록 제공된다. 본 명세서에서의 교시들에 기초하여, 당업자는, 본 개시물의 임의의 다른 양태와는 독립적으로 구현되든 임의의 다른 양태와 결합되든, 본 개시물의 범위가 본 명세서에서 개시된 본 개시물의 임의의 양태를 커버하도록 의도됨을 인식할 것이다. 예를 들어, 본 명세서에 기재된 임의의 수의 양태들을 이용하여 일 장치가 구현될 수도 있거나 일 방법이 실시될 수도 있다. 추가적으로, 개시물의 범위는 본원에서 기재된 개시물의 다양한 양태들에 추가하여, 또는 이 다양한 양태들 이외에, 다른 구조, 기능성, 또는 구조 및 기능성을 이용하여 실시되는 이러한 장치 또는 방법을 커버하도록 의도된다. 본원에서 개시된 개시물의 임의의 양태는 청구항의 하나 이상의 엘리먼트들에 의해 구체화될 수도 있다는 것이 이해되어야 한다. 단어 "예시적인" 은 “예, 예증, 또는 예시로서 기능함” 을 의미하도록 본 명세서에서 사용된다. "예시적인" 것으로서 본 명세서에서 설명된 임의의 양태는 다른 양태들에 비해 반드시 선호되거나 유리한 것으로서 해석되지는 않는다.
특정 양태들이 본 명세서에서 설명되지만, 이들 양태들의 다수의 변형들 및 치환들은 본 개시물의 범위 내에 있다. 선호된 양태들의 일부 이익들 및 이점들이 언급되지만, 본 개시물의 범위는 특정 이익들, 사용들, 또는 목적들로 한정되도록 의도되지 않는다. 오히려, 본 개시물의 양태들은 상이한 무선 기술들, 시스템 구성들, 네트워크들, 및 송신 프로토콜들에 널리 적용가능하도록 의도되며, 이들 중 일부는 도면들에서, 그리고 선호된 양태들의 다음의 설명에서 예로써 예시된다. 상세한 설명 및 도면들은 한정하는 것보다는 본 개시물의 단지 예시일 뿐이며, 본 개시물의 범위는 첨부된 청구항들 및 그 균등물들에 의해 정의된다.
본원에서 설명된 기법들은 롱텀 에볼루션 (LTE), 코드 분할 다중 액세스 (CDMA) 네트워크들, 시간 분할 다중 액세스 (TDMA) 네트워크들, 주파수 분할 다중 액세스 (FDMA) 네트워크들, 직교 FDMA (OFDMA) 네트워크들, 단일-캐리어 FDMA (SC-FDMA) 네트워크들 등과 같은 다양한 무선 통신 네트워크들을 위하여 이용될 수도 있다. 용어들 "네트워크들" 및 "시스템들" 은 종종 상호교환가능하게 사용된다. CDMA 네트워크는 유니버셜 지상 무선 액세스 (UTRA), CDMA2000 등과 같은 무선 기술을 구현할 수도 있다. UTRA 는 광대역-CDMA (W-CDMA) 및 LCR (low chip rate) 를 포함한다. CDMA2000 은 IS-2000, IS-95, 및 IS-856 표준들을 커버한다. TDMA 네트워크는 이동 통신을 위한 글로벌 시스템 (GSM) 과 같은 라디오 기술을 구현할 수도 있다. OFDMA 네트워크는 NR (예를 들어, 5G RA), 진화된 UTRA (E-UTRA), IEEE 802.11, IEEE 802.16, IEEE 802.20, 플래시-OFDM®, 등과 같은 무선 기술을 구현할 수도 있다. UTRA, E-UTRA, 및 GSM 는 범용 이동 통신 시스템 (UMTS) 의 일부이다. 롱 텀 에볼루션 (LTE) 은 E-UTRA 를 사용하는 UMTS 의 릴리스이다. UTRA, E-UTRA, GSM, UMTS 및 LTE 는 "제 3 세대 파트너쉽 프로젝트" (3GPP) 로 명명된 조직으로부터의 문헌들에서 설명된다. CDMA2000 은 "제3세대 파트너쉽 프로젝트 2" (3GPP2) 로 명명된 조직으로부터의 문헌들에서 설명된다. NR 은 5G 기술 포럼 (5GTF) 과 함께 개발 중인 신생의 무선 통신 기술이다. 이 통신 네트워크들은 이 개시물에서 설명된 기법들이 적용될 수도 있는 네트워크들의 예들로서 단지 열거되지만; 그러나, 이 개시물은 위에서 설명된 통신 네트워크로 제한되지는 않는다.
단일 캐리어 주파수 분할 다중 액세스 (SC-FDMA) 는 송신기 측에서 단일 캐리어 변조 (single carrier modulation) 를, 그리고 수신기 측에서 주파수 도메인 등화 (frequency domain equalization) 를 사용하는 송신 기법이다. SC-FDMA 는 OFDMA 시스템의 그것들과 유사한 성능 및 필수적으로 동일한 전체적인 복잡도를 가진다. 그러나, SC-FDMA 신호는 그 본래의 단일 캐리어 구조로 인해 더 낮은 피크-대-평균 전력 비율 (PAPR) 을 가진다. SC-FDMA 는 특히, 더 낮은 PAPR 이 송신 전력 효율의 측면에서 무선 노드에 크게 유익한 업링크 (UL) 통신들에서 큰 주목을 끌었다.
액세스 포인트 ("AP") 는 노드B, 무선 네트워크 제어기 ("RNC"), e노드B (eNB), 노드 B (예를 들어, 5G 노드 B), 송신 수신 포인트 (TRP), 기지국 제어기 ("BSC"), 베이스 트랜시버 스테이션 ("BTS"), 기지국 ("BS"), 트랜시버 기능부 ("TF"), 무선 라우터, 무선 트랜시버, 기본 서비스 세트 ("BSS"), 확장된 서비스 세트 ("ESS"), 무선 기지국 ("RBS"), 또는 일부 다른 용어를 포함하거나, 그 용어로서 구현되거나, 또는 그 용어로서 공지될 수 있다.
액세스 단말 ("AT") 은 액세스 단말, 가입자국, 가입자 유닛, 이동국, 원격국, 원격 단말기, 사용자 단말기, 사용자 에이전트, 사용자 디바이스, 사용자 장비 (UE), 사용자국, 무선 노드, 또는 일부 다른 용어를 포함하거나, 그 용어로서 구현되거나, 또는 그 용어로서 공지될 수도 있다. 일부 구현들에 있어서, 액세스 단말은 셀룰러 전화기, 스마트폰, 코드리스 전화기, 세션 개시 프로토콜 ("SIP") 전화기, 무선 로컬 루프 ("WLL") 스테이션, 개인용 디지털 보조기 ("PDA"), 태블릿, 넷북, 스마트북, 울트라북, 무선 접속 능력을 갖는 핸드헬드 디바이스, 스테이션 ("STA"), 또는 무선 모뎀에 접속된 기타 다른 적합한 프로세싱 디바이스를 포함할 수도 있다. 이에 따라, 본 명세서에서 교시된 하나 이상의 양태들은 전화기 (예를 들어, 셀룰러 폰, 스마트 폰), 컴퓨터 (예를 들어, 데스크탑), 휴대용 통신 디바이스, 휴대용 컴퓨팅 디바이스 (예를 들어, 랩탑, 개인용 데이터 보조기, 태블릿, 넷북, 스마트북, 울트라북), 의료용 디바이스들 또는 장비, 생체인식 센서들/디바이스들, 엔터테인먼트 디바이스 (예를 들어, 음악 또는 비디오 디바이스, 또는 위성 라디오), 차량관련 컴포넌트 또는 센서, 스마트 계량기들/센서들, 산업 제조 장비, 글로벌 포지셔닝 시스템 디바이스, 또는 무선 또는 유선 매체를 통해 통신하도록 구성된 임의의 다른 적합한 디바이스에 통합될 수도 있다. 일부 양태들에서, 노드는 무선 노드이다. 무선 노드는 예를 들어, 유선 또는 무선 통신 링크를 통해 네트워크 (예컨대, 인터넷 또는 셀룰러 네트워크와 같은 광역 네트워크) 를 위한 또는 이러한 네트워크로의 접속성을 제공할 수도 있다.
양태들은 3G 및/또는 4G 무선 기술들과 보편적으로 연관된 용어를 이용하여 본원에서 설명될 수도 있지만, 본 개시물의 양태들은 NR 기술들을 포함하는, 5G 및 그 이후와 같은 다른 세대-기반 통신 시스템들에서 적용될 수도 있다.
예시적인 무선 통신 시스템
도 1 은, 본 개시물의 양태들이 수행될 수도 있는 예시적인 통신 네트워크 (100) 를 예시한다. 예시된 바와 같이, 노드 B (102) (예컨대, TRP 또는 5G 노드 B) 는 다수의 안테나 그룹들을 포함할 수도 있고, 하나의 그룹은 안테나들 (104 및 106) 을 포함할 수도 있고, 또 다른 그룹은 안테나들 (108 및 110) 을 포함할 수도 있고, 추가적인 그룹은 안테나들 (112 및 114) 을 포함할 수도 있다. 도 1 에 있어서, 각각의 안테나 그룹에 대해 오직 2개의 안테나들만이 도시되어 있지만, 각각의 안테나 그룹에 대해, 더 많거나 더 적은 안테나들이 활용될 수도 있다. 무선 노드 (116) 는 안테나들 (112 및 114) 과 통신 중일 수도 있고, 여기서, 안테나들 (112 및 114) 은 무선 노드 (116) 로의 정보를 순방향 링크 (120) 상으로 송신하고 무선 노드 (116) 로부터의 정보를 역방향 링크 (118) 상으로 수신한다. 무선 노드 (122) 는 안테나들 (106 및 108) 과 통신 중일 수도 있고, 여기서, 안테나들 (106 및 108) 은 무선 노드 (122) 로의 정보를 순방향 링크 (126) 상으로 송신하고 무선 노드 (122) 로부터의 정보를 역방향 링크 (124) 상으로 수신한다. 노드 B (102) 는 또한, 예를 들어, 사물 인터넷 (IoT) 디바이스들일 수도 있는 다른 무선 노드들과 통신할 수도 있다. IoT 디바이스 (136) 는 노드 B (102) 의 하나 이상의 다른 안테나들과 통신할 수도 있고, 여기서, 안테나들은 정보를 순방향 링크 (140) 상에서 IoT 디바이스 (136) 로 송신하고, 역방향 링크 (138) 상에서 IoT 디바이스 (136) 로부터 정보를 수신한다. IoT 디바이스 (142) 는 노드 B (102) 의 하나 이상의 다른 안테나들과 통신할 수도 있고, 여기서, 안테나들은 정보를 순방향 링크 (146) 상에서 IoT 디바이스 (142) 로 송신하고, 역방향 링크 (144) 상에서 IoT 디바이스 (142) 로부터 정보를 수신한다. 주파수 분할 듀플렉스 (FDD) 시스템에 있어서, 통신 링크들 (118, 120, 124, 126, 138, 140, 144, 및 146) 은 통신을 위해 상이한 주파수를 사용할 수도 있다. 예를 들어, 순방향 링크 (120) 는 영방향 링크 (118) 에 의해 이용된 것과는 상이한 주파수를 이용할 수도 있고, 순방향 링크 (140) 는 역방향 링크 (138) 에 의해 이용된 것과는 상이한 주파수를 이용할 수도 있다.
안테나들의 각 그룹 및/또는 이들이 통신하도록 설계된 영역은 종종 노드 B 의 섹터로 지칭된다. 본 개시물의 일 양태에서, 각각의 안테나 그룹은 노드 B (102) 에 의해 커버되는 영역들의 섹터 내의 무선 노드들과 통신하도록 설계될 수도 있다.
무선 노드 (130) 는 노드 B (102) 와 통신할 수도 있고, 여기서, 노드 B (102) 로부터의 안테나들은 정보를 순방향 링크 (132) 상에서 무선 노드 (130) 로 송신하고, 역방향 링크 (134) 상에서 무선 노드 (130) 로부터 정보를 수신한다.
순방향 링크들 (120 및 126) 상으로 통신시, BS (102) 의 송신 안테나들은, 상이한 무선 노드들 (116, 122, 136, 및 142) 에 대한 순방향 링크들의 신호대 잡음비를 개선하기 위해 빔포밍을 활용할 수도 있다. 또한, 그 커버리지 (coverage) 를 통해 무작위로 산재된 무선 노드들로 송신하기 위하여 빔포밍을 이용하는 노드 B 는 단일 안테나를 통해 그 모든 무선 노드들로 송신하는 노드 B 보다는, 이웃하는 셀들에서의 무선 노드들에 대한 더 적은 간섭을 야기시킨다.
본원에서 설명된 예들의 양태들은 LTE 기술들과 연관될 수도 있지만, 본 개시물의 양태들은 NR 과 같은 다른 무선 통신 시스템들과 함께 적용가능할 수도 있다. NR 은 업링크 및 다운링크 상에서 CP 를 갖는 직교 주파수-분할 멀티플렉싱 (OFDM) 을 사용할 수도 있고, 시간 분할 듀플렉스 (TDD) 를 이용한 하프-듀플렉스 (half-duplex) 동작에 대한 지원을 포함할 수도 있다. 100 MHZ 의 단일 컴포넌트 캐리어 대역폭이 지원될 수도 있다. NR 리소스 블록들은 0.1 ms 지속기간에 걸쳐 75 kHz 의 서브캐리어 대역폭을 갖는 12개의 서브캐리어들에 걸쳐 있을 수도 있다. 각 무선 프레임은 길이가 10 ms 인, 각각 5 개의 서브프레임들로 구성된 2 개의 하프 프레임들로 구성될 수도 있다. 결과적으로, 각각의 서브프레임은 1 ms 의 길이를 가질 수도 있다. 각각의 서브프레임은 데이터 송신을 위한 링크 방향 (즉, 다운링크 (DL) 또는 업링크 (UL)) 을 표시할 수도 있고, 각각의 서브프레임에 대한 링크 방향은 동적으로 스위칭될 수도 있다. 각각의 서브프레임은 DL/UL 데이터뿐만 아니라, DL/UL 제어 데이터를 포함할 수도 있다. 빔포밍이 지원될 수도 있고, 빔 방향은 동적으로 구성될 수도 있다. 프리코딩 (precoding) 을 갖는 MIMO 송신들이 또한 지원될 수도 있다. DL 에서의 MIMO 구성들은 8 개에 이르는 스트림들을 갖는 멀티-계층 DL 송신들로 8 개에 이르는 송신 안테나들을 지원할 수도 있다. UE 당 2 개에 이르는 스트림들을 갖는 멀티-계층 송신들이 지원될 수도 있다. 다수의 셀들의 어그리게이션 (aggregation) 은 8 개에 이르는 서빙 셀 (serving cell) 들로 지원될 수도 있다. 대안적으로, NR 은 OFDM-기반 무선 인터페이스 이외의 상이한 무선 인터페이스를 지원할 수도 있다. NR 네트워크들은 이러한 중앙 유닛들 또는 분산된 유닛들과 같은 엔티티 (entity) 들을 포함할 수도 있다.
도 2 는 본 개시물의 양태들이 실시될 수도 있는 다중-입력 다중-출력 (MIMO) 시스템 (200) 에서의 송신기 시스템 (210) (예컨대, 기지국으로서 또한 알려짐) 및 수신기 시스템 (250) (예컨대, 무선 노드로서 또한 알려짐) 의 양태의 블록 다이어그램을 예시한다. 시스템 (210) 과 시스템 (250) 의 각각은 송신하고 수신하는 양자의 능력들을 갖는다. 시스템 (210) 또는 시스템 (250) 이 송신하고 있거나, 수신하고 있고, 동시에 송신하고 수신하고 있는지 여부는 애플리케이션에 종속된다. 송신기 시스템 (210) 에서, 다수의 데이터 스트림들에 대한 트래픽 데이터는 데이터 소스 (212) 로부터 송신 (TX) 데이터 프로세서 (214) 로 제공된다.
본 개시물의 하나의 양태에서, 각각의 데이터 스트림은 개개의 송신 안테나 상에서 송신될 수도 있다. TX 데이터 프로세서 (214) 는 코딩된 데이터를 제공하기 위하여 그 데이터 스트림에 대하여 선택된 특정한 코딩 방식 (예컨대, 저밀도 패리티 체크 (LDPC)) 에 기초하여 각각의 데이터 스트림에 대한 트래픽 데이터를 포맷팅하고, 코딩하고, 인터리빙 (interleaving) 한다.
각각의 데이터 스트림에 대한 코딩된 데이터는 OFDM 기법들을 이용하여 파일럿 데이터 (pilot data) 와 멀티플렉싱될 수도 있다. 파일럿 데이터는 전형적으로, 알려진 방식으로 프로세싱되는 알려진 데이터 패턴이고, 채널 응답을 추정하기 위하여 수신기 시스템에서 이용될 수도 있다. 각각의 데이터 스트림에 대한 멀티플렉싱된 파일럿 및 코딩된 데이터는 그 다음으로, 변조 심볼 (modulation symbol) 들을 제공하기 위하여 그 데이터 스트림에 대하여 선택된 특정한 변조 방식 (예컨대, BPSK, QSPK, M-PSK, 또는 M-QAM) 에 기초하여 변조 (예컨대, 심볼 맵핑 (symbol mapping)) 된다. 각각의 데이터 스트림에 대한 데이터 레이트, 코딩, 및 변조는 프로세서 (230) 에 의해 수행된 명령들에 의해 결정될 수도 있다. 메모리 (232) 는 송신기 시스템 (210) 을 위한 데이터 및 소프트웨어/펌웨어를 저장할 수도 있다.
모든 데이터 스트림들에 대한 변조 심볼들은 그 다음으로, (예컨대, OFDM 을 위하여) 변조 심볼들을 추가로 프로세싱할 수도 있는 TX MIMO 프로세서 (220) 에 제공된다. TX MIMO 프로세서 (220) 는 그 후에, NT (예컨대, 여기서 NT 는 양수 정수임) 개의 변조 심볼 스트림들을 NT 개의 송신기들 (TMTR) (222a 내지 222t) 에 제공한다. 본 개시물의 특정 양태들에 있어서, TX MIMO 프로세서 (220) 는 빔포밍 가중치들을 데이터 스트림들의 심볼들에, 그리고 심볼이 송신되고 있는 안테나에 적용한다.
각각의 송신기 (222) 는 하나 이상의 아날로그 신호들을 제공하기 위하여 개개의 심볼 스트림을 수신하고 이를 프로세싱하고, MIMO 채널 상에서의 송신을 위하여 적당한 변조된 신호를 제공하기 위하여 아날로그 신호들을 추가로 조절 (예컨대, 증폭, 필터링, 및 업컨버팅 (upconverting)) 한다. 그 후, 송신기들 (222a 내지 222t) 로부터의 NT 개의 변조된 신호들은, 각각, NT 개의 안테나들 (224a 내지 224t) 로부터 송신된다.
수신기 시스템 (250) 에서, 송신된 변조된 신호들은 NR (예컨대, 여기서, NR 은 양수 정수임) 개의 안테나들 (252a 내지 252r) 에 의해 수신될 수도 있고, 각각의 안테나 (252) 로부터의 수신된 신호는 개개의 수신기 (RCVR) (254a 내지 254r) 에 제공될 수도 있다. 각각의 수신기 (254) 는 개별 수신된 신호를 컨디셔닝 (예를 들어, 필터링, 증폭, 및 하향변환) 하고, 컨디셔닝된 신호를 디지털화하여 샘플들을 제공하고, 그 샘플들을 더 프로세싱하여 대응하는 "수신된" 심볼 스트림을 제공할 수도 있다.
그 후, 수신 (RX) 데이터 프로세서 (260) 는 특정 수신기 프로세싱 기법에 기초하여 NR 개의 수신기들 (254) 로부터의 NR 개의 수신된 심볼 스트림들을 수신 및 프로세싱하여 NT 개의 "검출된" 심볼 스트림들을 제공한다. 그 후, RX 데이터 프로세서 (260) 는 각각의 검출된 심볼 스트림을 복조, 디인터리빙, 및 디코딩하여 데이터 스트림에 대한 트래픽 데이터를 복원한다. RX 데이터 프로세서 (260) 에 의한 프로세싱은 송신기 시스템 (210) 에서의 TX MIMO 프로세서 (220) 및 TX 데이터 프로세서 (214) 에 의해 수행된 것과 상보적일 수도 있다.
프로세서 (270) 는 어느 프리-코딩 행렬을 사용할 것인지를 주기적으로 결정한다. 프로세서 (270) 는 행렬 인덱스 (matrix index) 부분 및 등급 값 (rank value) 부분을 포함하는 역방향 링크 메시지를 공식화 (formulate) 한다. 메모리 (272) 는 수신기 시스템 (250) 을 위한 데이터 및 소프트웨어/펌웨어를 저장할 수도 있다. 역방향 링크 메시지는 통신 링크 및/또는 수신된 데이터 스트림에 관한 다양한 타입들의 정보를 포함할 수도 있다. 그 후, 역방향 링크 메시지는, 다수의 데이터 스트림들에 대한 트래픽 데이터를 데이터 소스 (236) 로부터 또한 수신하는 TX 데이터 프로세서 (238) 에 의해 프로세싱되고, 변조기 (280) 에 의해 변조되고, 송신기들 (254a 내지 254r) 에 의해 컨디셔닝되며, 송신기 시스템 (210) 에 다시 송신된다.
송신기 시스템 (210) 에서, 수신기 시스템 (250) 으로부터 변조된 신호들은 안테나 (224) 에 의해 수신되고, 수신기 (RCVR) (222) 에 의해 컨디셔닝되고, 복조기 (240) 에 의해 복조되고, RX 데이터 프로세서 (242) 에 의해 처리되어 수신기 시스템 (250) 에 의해 송신된 역방향 링크 메시지를 추출한다. 그 후, 프로세서 (230) 는 빔포밍 가중치들을 결정하기 위해 어느 프리-코딩 행렬을 사용할 것인지를 결정하고, 그 후, 추출된 메시지를 프로세싱한다.
수신기 시스템 (250) 의 프로세서 (270), RX 데이터 프로세서 (260), 다른 프로세서들/엘리먼트들, 또는 그 조합 중의 임의의 하나, 및/또는 송신기 시스템 (210) 의 프로세서 (230), RX 데이터 프로세서 (242), 다른 프로세서들/엘리먼트들, 또는 그 조합 중의 임의의 하나는 도 14 를 참조하여 이하에서 논의된 본 개시물의 특정 양태들에 따라, 저밀도 패리티 체크 (LDPC) 디코딩을 위한 절차들을 수행하도록 구성될 수도 있다. 일 양태에서, 프로세서 (270) 및 RX 데이터 프로세서 (260) 중 적어도 하나는 본원에 설명된 LDPC 디코딩을 수행하기 위해 메모리 (272) 에 저장된 알고리즘들을 실행하도록 구성될 수도 있다. 다른 양태에서, 프로세서 (230) 및 RX 데이터 프로세서 (242) 중 적어도 하나는 본원에 설명된 LDPC 디코딩을 수행하기 위해 메모리 (232) 에 저장된 알고리즘들을 실행하도록 구성될 수도 있다.
수신기 시스템 (250) 의 프로세서 (270), TX 데이터 프로세서 (238), 다른 프로세서들/엘리먼트들, 또는 그 조합 중의 임의의 하나, 및/또는 송신기 시스템 (210) 의 프로세서 (230), TX MIMO 프로세서 (220), TX 데이터 프로세서 (214), 다른 프로세서들/엘리먼트들, 또는 그 조합 중의 임의의 하나는 도 15 를 참조하여 이하에서 논의된 본 개시물의 특정 양태들에 따라, 저밀도 패리티 체크 (LDPC) 인코딩을 위한 절차들을 수행하도록 구성될 수도 있다. 일 양태에서, 프로세서 (270) 및 TX 데이터 프로세서 (238) 중 적어도 하나는 본원에 설명된 LDPC 인코딩을 수행하기 위해 메모리 (272) 에 저장된 알고리즘들을 실행하도록 구성될 수도 있다. 다른 양태에서, 프로세서 (220), TX MIMO 프로세서 (220), 및 TX 데이터 프로세서 (214) 중 적어도 하나는 본원에 설명된 LDPC 인코딩을 수행하기 위해 메모리 (232) 에 저장된 알고리즘들을 실행하도록 구성될 수도 있다.
도 3 은, 도 1 에 도시된 무선 통신 시스템 (100) 내에서 채용될 수 있는 무선 디바이스 (302) 에서 활용될 수 있는 다양한 컴포넌트들을 도시한다. 무선 디바이스 (302) 는, 본원에서 설명된 다양한 방법들을 구현하도록 구성될 수도 있는 디바이스의 일 예이다. 무선 디바이스 (302) 는 노드 B (102) (예컨대, TRP), 또는 무선 노드들 (예컨대, 무선 노드들 (116, 122, 130), 또는 IoT 디바이스 (136 또는 142) 중의 임의의 것일 수도 있다. 예를 들어, 무선 디바이스 (302) 는 도 14 및 도 15 에 설명된 동작들 (1400 및 1500) (뿐만 아니라 본원에 설명된 다른 동작들) 을 수행하도록 구성될 수도 있다.
무선 디바이스 (302) 는, 무선 디바이스 (302) 의 동작을 제어하는 프로세서 (304) 를 포함할 수도 있다. 프로세서 (304) 는 또한, 중앙 프로세싱 유닛 (CPU) 으로서 지칭될 수도 있다. 양자의 판독-전용 메모리 (ROM) 및 랜덤 액세스 메모리 (RAM) 를 포함할 수도 있는 메모리 (306) 는 명령들 및 데이터를 프로세서 (304) 에 제공한다. 메모리 (306) 의 부분은 또한, 비휘발성 랜덤 액세스 메모리 (NVRAM) 를 포함할 수도 있다. 프로세서 (304) 는 전형적으로, 메모리 (306) 내에서 저장된 프로그램 명령들에 기초하여 논리적 또는 산술적 동작들을 수행한다. 메모리 (306) 내의 명령들은 예컨대, UE 가 LDPC 디코딩 및/또는 LDPC 인코딩을 수행하게 하기 위해, 본 명세서에서 설명된 방법들을 구현하도록 실행가능할 수도 있다. 프로세서 (304) 의 일부 비-제한적인 예들은 Snapdragon 프로세서, 애플리케이션용 집적 회로들 (ASIC들), 프로그래밍가능 로직, 등을 포함할 수도 있다.
무선 디바이스 (302) 는 또한, 무선 디바이스 (302) 와 원격 위치 간의 데이터의 송신 및 수신을 허용하기 위한 송신기 (310) 및 수신기 (312) 를 포함할 수도 있는 하우징 (308) 을 포함할 수도 있다. 송신기 (310) 및 수신기 (312) 는 트랜시버 (314) 로 조합될 수도 있다. 단일의 또는 복수의 송신 안테나들 (316) 은 하우징 (308) 에 부착될 수도 있고, 트랜시버 (314) 에 전기적으로 결합될 수도 있다. 무선 디바이스 (302) 는 또한, (도시되지 않은) 다수의 송신기들, 다수의 수신기들, 및 다수의 트랜시버들을 포함할 수도 있다. 무선 디바이스 (302) 는 또한, 무선 배터리 충전 장비를 포함할 수 있다.
무선 디바이스 (302) 는 또한, 트랜시버 (314) 에 의해 수신된 신호들의 레벨을 검출하고 수량화 (quantify) 하기 위한 노력에서 이용될 수도 있는 신호 검출기 (318) 를 포함할 수도 있다. 신호 검출기 (318) 는 이러한 신호들을 총 에너지, 심볼 당 서브캐리어 당 에너지, 전력 스펙트럼 밀도, 및 다른 신호들로서 검출할 수도 있다. 무선 디바이스 (302) 는 또한, 신호들을 프로세싱할 시의 이용을 위한 디지털 신호 프로세서 (DSP) (320) 를 포함할 수도 있다.
추가적으로, 무선 디바이스는 또한, 송신을 위하여 신호들을 인코딩할 시의 이용을 위한 인코더 (322), 및 수신된 신호들을 디코딩할 시의 이용을 위한 디코더 (324) 를 포함할 수도 있다. 특정 양태들에 따르면, 인코더 (322) 는 (예컨대, 도 15 에서 예시된 동작들 (1500) 을 구현함으로써) 본원에서 제시된 특정 양태들에 따라 인코딩을 수행할 수도 있다. 특정 양태들에 따르면, 디코더 (324) 는 (예컨대, 도 14 에서 예시된 동작들 (1400) 을 구현함으로써) 본원에서 제시된 특정 양태들에 따라 디코딩을 수행할 수도 있다.
무선 디바이스 (302) 의 다양한 컴포넌트들은, 데이터 버스에 더하여 전력 버스, 제어 신호 버스, 및 상태 신호 버스를 포함할 수도 있는 버스 시스템 (326) 에 의해 함께 커플링될 수도 있다. 프로세서 (304) 는 이하에 논의된 본 개시물의 양태들에 따라, LDPC 디코딩 및/또는 LDPC 인코딩을 수행하기 위해 메모리 (306) 에 저장된 명령들에 액세스하도록 구성될 수도 있다.
예시적인 에러 정정 코딩
많은 통신 시스템들은 에러-정정 코드들을 이용한다. 구체적으로, 에러-정정 코드들은 중복성을 데이터 스트림 내로 도입함으로써 이 시스템들에서의 정보 전달의 내재적인 비신뢰성 (intrinsic unreliability) 을 보상한다. 저밀도 패리티 체크 (LDPC) 코드들은 반복적인 코딩 시스템을 이용하는 특정한 타입의 에러 정정 코드들이다. 특히, 갤러거 코드 (Gallager code) 들은 규칙적 LDPC 코드들의 초기의 예이다. LDPC 코드들은 그 패리티 체크 행렬 H 의 엘리먼트들의 대부분이 '0' 으로 설정되는 선형 블록 코드 (linear block code) 들이다.
LDPC 코드들은 이분 그래프 (bipartite graph) 들 ("태너 그래프 (Tanner graph) 들" 로서 종종 지칭됨) 에 의해 표현될 수 있고, 여기서, 변수 노드 (variable node) 들의 세트는 코드 워드의 비트들 (예컨대, 정보 비트들 또는 시스템 비트들) 에 대응하고, 체크 노드 (check node) 들의 세트는 코드를 정의하는 패리티-체크 제약들의 세트에 대응한다. 그래프에서의 에지들은 변수 노드들을 체크 노드들에 접속한다. 이에 따라, 그래프의 노드들은 2 개의 상이한 타입들의 노드들을 접속하는 에지들을 갖는 2 개의 별개의 세트들, 변수 노드들 및 체크 노드들로 분리된다.
리프트된 그래프는 프로토파 그래프, 다수 회, Z 로 알려질 수도 있는 이분 기반 그래프 (G) 를 카피함으로써 생성된다. 변수 노드 및 체크 노드는 그래프에서 "에지" (즉, 변수 노드 및 체크 노드를 연결하는 선) 에 의해 연결될 경우, "이웃들" 로 고려될 수도 있다. 추가로, 이분 기반 그래프 (G) 의 각 에지 (e) 에 대하여, G 의 Z 개 카피들을 상호연결하기 위해 에지 (e) 의 z 개 카피들에 치환이 적용된다. 변수 노드 시퀀스와의 일대일 연관성을 가지는 비트 시퀀스는, 각각의 체크 노드에 대하여, 모든 이웃하는 변수 노드들과 연관된 비트들이 제로 모듈로 2 (zero modulo 2) (즉, 그것들은 짝수 개의 1 들을 포함함) 로 합산될 경우에, 그리고 그러한 경우에만 유효한 코드워드이다. 결과적인 LDPC 코드는 이용된 치환들이 사이클릭 (cyclic) 일 경우에 준-사이클릭 (QC) 일 수도 있다.
도 4a 및 도 4b 는 본 개시물의 특정 양태들에 따른, 예시적인 LDPC 코드의 그래픽 및 행렬 표현들을 도시한다. 예를 들어, 도 4a 는 예시적인 LDPC 코드를 표현하는 이분 그래프 (400) 를 도시한다. 이분 그래프 (400) 는 4 개의 체크 노드들 (420) (정사각형들에 의해 표현됨) 에 접속된 5 개의 변수 노드들 (410) (원들에 의해 표현됨) 의 세트를 포함한다. 그래프 (400) 에서의 에지들 (430) 은 변수 노드들 (410) 을 체크 노드들 (420) 에 접속한다 (변수 노드들 (410) 을 체크 노드들 (420) 에 접속하는 라인들에 의해 표현됨). 이 그래프는 |E| = 12 개의 에지들에 의해 접속된, |V| = 5 개의 변수 노드들 및 |C| = 4 개의 체크 노드들로 구성된다.
이분 그래프는 패리티 체크 행렬로서 또한 알려질 수도 있는 단순화된 인접 행렬 (adjacency matrix) 에 의해 표현될 수도 있다. 도 4b 는 이분 그래프 (400) 의 행렬 표현 (400A) 을 도시한다. 행렬 표현 (450) 은 패리티 체크 행렬 H 및 코드 워드 벡터 x 를 포함하고, 여기서, x1 내지 x5 는 코드 워드 x 의 비트들을 표현한다. 패리티 행렬 H 은 수신된 신호가 정상적으로 디코딩되었는지 여부를 결정하기 위하여 이용된다. 패리티 체크 행렬 H 은 j 개의 체크 노드들에 대응하는 C 개의 로우들 및 i 개의 변수 노드들 (즉, 복조된 심볼) 에 대응하는 V 개의 컬럼들을 가지고, 여기서, 로우들은 수학식들을 표현하고, 컬럼들은 코드 워드의 비트들을 표현한다. 도 4b 에서, 행렬 H 은 4 개의 체크 노드들 및 5 개의 변수 노드들에 각각 대응하는 4 개의 로우들 및 5 개의 컬럼들을 가진다. j 번째 체크 노드가 에지에 의해 i 번째 변수 노드에 접속되면, 즉 2 개의 노드들이 이웃들인 경우, 패리티 체크 행렬 (H) 의 i 번째 컬럼 및 j 번째 로우에서의 엘리먼트에 1 이 존재한다. 즉, i 번째 로우와 j 번째 컬럼의 교점은 에지가 대응하는 꼭지점들을 연결하는 경우에 "1" 및 대응하는 꼭지점들을 연결하는 에지가 없는 경우에 "0" 을 포함한다. 코드워드 벡터 x 는 Hx = 0 일 경우에 (예컨대, 각각의 제약 노드에 대하여, (변수 노드들과의 그 연관성을 통해) 제약과 이웃하는 비트들이 제로 모듈로 2 로 합산되고, 즉, 그것들이 짝수 개의 1 들을 포함할 경우에), 그리고 그러한 경우에만 유효한 코드워드를 표현한다. 이에 따라, 코드워드가 올바르게 수신될 경우에, Hx = 0 (mod 2) 이다. 코딩된 수신된 신호 및 패리티 체크 행렬 H 의 곱 (product) 이 '0' 이 될 때, 이것은 에러가 발생하지 않았다는 것을 의미한다. 패리티 체크 행렬은 C 로우 X V 컬럼 2 진 행렬이다. 로우들은 수학식들을 표현하고, 컬럼들은 코드워드에서의 숫자들을 표현한다.
복조된 심볼들 또는 변수 노드들의 수는 LDPC 코드 길이이다. 로우에서의 비-제로 엘리먼트들의 수는 로우 가중치 dc 로서 정의된다. 컬럼에서의 비-제로 엘리먼트들의 수는 컬럼 가중치 dv 로서 정의된다.
노드의 차수 (degree) 는 그 노드에 연결된 에지들의 수를 지칭한다. 이러한 특징은 도 4 에 도시된 H 행렬에 예시되어 있으며, 여기서, 변수 노드 (410) 에 입사하는 에지들의 수는 대응하는 컬럼에서의 1들의 수와 동일하며 변수 노드 차수 d(v) 로 지칭된다. 유사하게, 체크 노드 (420) 와 접속된 에지들의 수는 대응하는 로우에서의 접속된 에지들의 수와 동일하고, 체크 노드 차수 d(c) 로 칭해진다.
규칙적 그래프 또는 코드는 모든 변수 노드들이 동일한 차수 j 를 가지고 모든 제약 노드들이 동일한 차수 k 를 가지는 것이다. 이 경우, 코드는 (j, k) 정규 코드로 지칭될 수도 있다. 다른 한편으로, 불규칙적 코드는 상이한 차수들의 제약 노드들 및/또는 변수 노드들을 가진다. 예를 들어, 일부 변수 노드들은 차수 4 일 수도 있고, 다른 것들은 차수 3 일 수도 있고, 또 다른 것들은 차수 2 일 수도 있다.
"리프팅" 은 LDPC 코드들이 큰 LDPC 코드들과 전형적으로 연관된 복잡도를 또한 감소시키면서, 병렬 인코딩 및/또는 디코딩 구현들을 이용하여 구현되는 것을 가능하게 한다. 리프팅은 상대적으로 간결한 설명을 여전히 가지면서, LDPC 디코더들의 효율적인 병렬화를 가능하게 하는 것을 돕는다. 더 구체적으로, 리프팅은 더 작은 기본 코드의 다수의 카피들로부터 상대적으로 큰 LDPC 코드를 생성하기 위한 기법이다. 예를 들어, 리프트된 LDPC 코드는 기본 그래프 (예컨대, 사진) 의 Z 개의 병렬 카피들을 생성함으로써, 그리고 그 다음으로, 기본 그래프의 각각의 카피의 에지 번들 (edge bundle) 들의 치환들을 통해 병렬 카피들을 상호접속함으로써 생성될 수도 있다. 기본 그래프는 코드의 (매크로 (macro)) 구조를 정의하고, 다수 (K) 의 정보 비트-열들 및 다수 (N) 의 코드 비트 열들로 구성된다. 기본 그래프를 횟수 (Z) 만큼 리프팅하는 것은 KZ 의 최종 정보 블록 길이로 귀착된다. KZ 미만의 정보 블록 길이를 실현하기 위해 일부 정보 비트를 단축 (0 으로 설정) 할 수 있다.
이에 따라, 기본 그래프의 다수의 카피들이 만들어지고 단일의 리프트된 그래프를 형성하기 위하여 접속되는 "카피 및 치환" 동작에 의해, 더 큰 그래프가 획득될 수 있다. 다수의 카피들에 대하여, 단일의 기본 에지의 카피들의 세트인 유사한 에지들은 치환되고, 기본 그래프보다 Z 배 더 큰 접속된 그래프를 형성하기 위하여 접속된다.
도 5 는 도 4a 의 그래프의 3 개의 카피들을 만드는 효과를 그래픽으로 예시한다. 3 개의 카피들은 카피들 사이에서 유사한 에지들을 치환함으로써 상호접속될 수도 있다. 치환들이 사이클릭 치환들로 한정될 경우, 결과적인 그래프는 리프팅 Z = 3 을 갖는 준-사이클릭 LDPC 에 대응한다. 3 개의 카피들이 그로부터 만들어지는 원래의 그래프는 기본 그래프로서 본원에서 지칭된다. 상이한 크기들의 유도된 그래프들을 획득하기 위하여, 우리는 "카피 및 치환" 동작을 기본 그래프에 적용할 수 있다.
리프트된 그래프의 대응하는 패리티 체크 행렬은 기본 패리티 체크 행렬에서의 각각의 엔트리 (entry) 를 ZxZ 행렬로 대체함으로써 기본 그래프의 패리티 체크 행렬로부터 구축될 수 있다. 0 엔트리들 (기본 에지들을 가지지 않는 것들) 은 0 행렬로 대체되고, 1 엔트리들 (기본 에지를 표시함) 은 ZxZ 치환 행렬로 대체된다. 사이클릭 리프팅들의 경우에, 치환들은 사이클릭 치환들이다.
사이클릭 리프트된 LDPC 코드는 또한, 이진 다항식들 모듈로
Figure 112019115021521-pct00001
의 링 상에서 코드로서 해석될 수 있다. 이 해석에서, 이진 다항식
Figure 112019115021521-pct00002
Figure 112019115021521-pct00003
은 기본 그래프의 각 변수 노드에 연관될 수도 있다. 이진 벡터
Figure 112019115021521-pct00004
는 리프트된 그래프에서의 대응하는 변수 노드들, 즉, 단일의 기본 변수 노드의 카피들에 연관된 비트들에 대응한다. 이진 벡터의 k 에 의한 사이클릭 치환은 대응하는 이진 다항식을 xk 에 의해 승산함으로써 달성되고, 여기서, 승산은 모듈로
Figure 112019115021521-pct00005
로 취해진다. 기본 그래프의 차수 d 패리티 체크는
Figure 112019115021521-pct00006
Figure 112019115021521-pct00007
로 기록된 이웃하는 이진 다항식
Figure 112019115021521-pct00008
에 대한 선형 제약으로 해석될 수 있으며, 여기서 값들,
Figure 112019115021521-pct00009
은 대응하는 에지들에 연관된 사이클릭 리프팅 값들이다.
이 결과적인 수학식은 기본 그래프에서의 단일 연관된 패리티 체크에 대응하는 사이클릭 리프트된 태너 그래프에서 Z 개의 패리티 체크들과 동등하다. 이에 따라, 리프트된 그래프에 대한 패리티 체크 행렬은, 1 엔트리들이 형태 xk 의 단항식들로 대체되고 0 엔트리들이 0 으로서 리프팅되지만, 이제 0 은 0 이진 다항식 모듈로
Figure 112019115021521-pct00010
로서 해석되는, 기본 그래프에 대한 행렬을 이용하여 표현될 수 있다. 이러한 행렬은 xk 대신에 값 k 를 부여함으로써 기록될 수도 있다. 이 경우에, 0 다항식은 그것을 x0 로부터 구별하기 위하여, 때때로 -1 로서, 그리고 때대로 또 다른 문자로서 표현된다.
전형적으로, 패리티 체크 행렬의 정사각형 하위행렬 (submatrix) 은 코드의 패리티 비트들을 표현한다. 상보적인 열들은 인코딩 시에, 인코딩되어야 할 정보 비트들과 동일하게 설정되는 정보 비트들에 대응한다. 인코딩은 패리티 체크 수학식들을 만족시키기 위하여 전술된 정사각형 하위행렬에서의 변수들에 대하여 구함으로써 달성될 수도 있다. 패리티 체크 행렬 H 은 2 개의 파트들 M 및 N 으로 파티셔닝될 수도 있고, 여기서, M 은 정사각형 부분이다. 따라서, 인코딩은 Mc = s = Nd 를 푸는 것을 감소시키며, 여기서 c 및 d 는 x 를 포함한다. 준-사이클릭 코드들 또는 사이클릭 리프트된 코드들의 경우에, 위의 대수학은 이진 다항식들 모듈로
Figure 112019115021521-pct00011
의 링 상에 있는 것으로서 해독될 수 있다. 준-사이클릭인 IEEE 802.11 LDPC 코드들의 경우에, 인코딩 하위행렬 M 은 도 6 에서 도시된 바와 같은 정수 표현을 가진다.
수신된 LDPC 코드 워드는 원래의 코드 워드의 재구성된 버전을 생성하기 위하여 디코딩될 수 있다. 에러들의 부재 시에, 또는 정정가능한 에러들의 경우에, 디코딩은 인코딩되었던 원래의 데이터 유닛을 복원하기 위하여 이용될 수 있다. 중복적인 비트들은 비트 에러들을 검출하고 이를 정정하기 위하여 디코더들에 의해 이용될 수도 있다. LDPC 디코더 (들) 는 일반적으로, 국소적 계산들을 반복적으로 수행함으로써, 그리고 에지들을 따라, 이분 그래프 (400) 내에서 메시지들을 교환하는 것에 의해 그 결과들을 전달함으로써, 그리고 들어오는 메시지들에 기초하여 노드들에서의 연산들을 수행하는 것에 의해 이 메시지들을 업데이트함으로써 동작한다. 이 단계들은 전형적으로 몇몇 횟수들만큼 반복될 수도 있고, 메시지 전달 단계들로서 지칭될 수도 있다. 예를 들어, 그래프 (400) 에서의 각각의 변수 노드 (410) 는 초기에, 통신 채널로부터의 관찰들에 의해 결정된 바와 같은 연관된 비트의 값의 추정치를 표시하는 "소프트 비트" (예컨대, 코드 워드의 수신된 비트를 표현함) 를 제공받을 수도 있다. 이 소프트 비트들을 이용하면, LDPC 디코더들은 메모리로부터 그것들 또는 그 일부 부분을 반복적으로 판독함으로써, 그리고 업데이트된 메시지 또는 그 일부 부분을 메모리로 다시 기록함으로써 메지들을 업데이트할 수도 있다. 업데이트 동작들은 전형적으로 대응하는 LDPC 코드의 패리티 체크 제약들에 기초한다. 리프트된 LDPC 코드들의 구현들에서, 유사한 에지들 상의 메시지들은 종종 병렬로 프로세싱된다.
고속 애플리케이션들을 위하여 설계된 LDPC 코드들은 인코딩 및 디코딩 동작들에서의 높은 병렬화를 지원하기 위하여 큰 리프팅 인자들 및 상대적으로 작은 기본 그래프들을 갖는 준-사이클릭 구성들을 종종 이용한다. 더 높은 코드 레이트들 (예컨대, 코드 워드 길이에 대한 메시지 길이의 비율) 을 갖는 LDPC 코드들은 상대적으로 더 적은 패리티 체크들을 가지는 경향이 있다. 기본 패리티 체크들의 수가 변수 노드의 차수 (예컨대, 변수 노드에 접속된 에지들의 수) 보다 더 작을 경우, 기본 그래프에서는, 그 변수 노드가 2 개 이상의 에지들 (예컨대, 변수 노드는 "이중 에지 (double edge)" 에 의해 기본 패리티 체크들 중의 적어도 하나에 접속된다 (예컨대, 변수 노드는 "이중 에지" 를 가질 수도 있음). 또는, 기본 패리티 체크들의 수가 변수 노드의 차수 (예컨대, 변수 노드에 접속된 에지들의 수) 보다 더 작을 경우, 기본 그래프에서는, 그 변수 노드가 2 개 이상의 에지들에 의해 기본 패리티 체크들 중의 적어도 하나에 접속된다. 2 개 이상의 에지들에 의해 접속된 기본 변수 노드 및 기본 체크 노드를 가지는 것은 일반적으로, 병렬 하드웨어 구현 목적을 위하여 바람직하지 않다. 예를 들어, 이러한 이중 에지들은 동일한 메모리 위치들로의 다수의 동시 판독 및 기록 동작들로 귀착될 수도 있고, 이것은 궁극적으로 데이터 간섭성 (data coherency) 문제들을 생성할 수도 있다. 기본 LDPC 코드에서의 이중 에지는 단일 병렬 패리티 체크 업데이트 동안에 동일한 소프트 비트 값 메모리 위치의 병렬 판독을 2 번 트리거링할 수도 있다. 이에 따라, 추가적인 회로부는 양자의 업데이트들을 적절하게 편입시키기 위하여, 메모리로 다시 기록되는 소프트 비트 값들을 조합할 필요가 있다. 그러나, LDPC 코드에서 이중 에지들을 제거하는 것은 이 여분의 복잡도를 회피하는 것을 돕는다.
표준적인 불규칙적 LDPC 코드 앙상블 (code ensemble) 들 (차수 분포들) 의 정의에서는, 태너 그래프 표현에서의 모든 에지들이 통계적으로 상호 교환가능할 수도 있다. 다시 말해서, 에지들의 단일의 통계적인 등가 클래스 (statistical equivalence class) 가 존재한다. 리프트된 LDPC 코드들의 더 상세한 논의는 예를 들어, Tom Richardson 및 Ruediger Urbanke 에 의해, 2008 년 3 월 17 일자로 출판된 "Modern Coding Theory" 라는 명칭의 서적에서 발견될 수도 있다. 멀티-에지 LDPC 코드들에 대하여, 에지들의 다수의 등가 클래스들이 가능할 수도 있다. 표준적인 불규칙적 LDPC 앙상블 정의에서는, 그래프에서의 노드들 (양자의 변수 및 제약) 이 그 차수, 즉, 노드들이 접속되는 에지들의 수에 의해 특정되지만, 멀티-에지 타입 설정에서는, 에지 차수가 벡터이고; 그것은 독립적으로 각각의 에지 등가 클래스 (타입) 로부터 노드에 접속된 에지들의 수를 특정한다. 멀티-에지 타입 앙상블은 유한한 수의 에지 타입들로 이루어진다. 제약 노드의 차수 타입은 (비-음수) 정수들의 벡터이고; 이 벡터의 i 번째 엔트리는 이러한 노드에 접속된 i 번째 타입의 소켓 (socket) 들의 수를 레코딩한다. 이 벡터는 에지 차수 (edge degree) 로서 지칭될 수도 있다. 변수 노드의 차수 타입은 2 개의 파트들을 가지지만, 차수 타입은 (비-음수) 정수들의 벡터로서 간주될 수 있다. 제 1 파트는 수신된 분산에 관련되고, 수신된 차수로 칭해질 것이고, 제 2 파트는 에지 차수를 특정한다. 에지 차수는 제약 노드들에 대한 것과 동일한 역할을 행한다. 에지들은 그것들이 동일한 타입의 소켓들과 쌍을 이룰 때에 타입이 정해진다. 소켓들이 유사한 타입의 소켓들과 쌍을 이루어야 한다는 상기의 제약은 멀티-에지 타입 개념을 특징짓는다. 멀티-에지 타입 설명에서, 상이한 노드 타입들은 상이한 수신된 분포들을 가질 수 있다 (예컨대, 연관된 비트들은 상이한 채널들을 거칠 수도 있음).
도 7 은 무선 송신을 위한 인코딩된 메시지를 제공하도록 구성될 수도 있는 무선 주파수 (RF) 모뎀 (700) 의 부분 (704) 을 예시한다. 하나의 예에서, 기지국 (예컨대, 노드 B (102) 및/또는 송신기 시스템 (210)) (또는 역방향 경로 상의 무선 노드) 에서의 인코더 (706) 는 송신을 위한 메시지 (702) 의 정보 비트들을 수신한다. 메시지 (702) 는 수신 디바이스로 지향된 데이터 및/또는 인코딩된 음성 또는 다른 콘텐츠를 포함할 수도 있다. 인코더 (706) 는 기지국 또는 또 다른 네트워크 엔티티에 의해 정의된 구성에 기초하여 전형적으로 선택된 적당한 변조 및 코딩 방식 (MCS) 을 이용하여 메시지를 인코딩한다. 일부 경우에, 인코더 (706) 는 예를 들어, 본 개시물의 양태들에 따라 (예를 들어,도 15 에 도시된 동작들 (1500) 을 구현함으로써) 메시지를 인코딩할 수도 있다. 인코더 (706) 에 의해 생성된 인코딩된 비트스트림 (708) 은 그 다음으로, 안테나 (718) 를 통해 송신을 위하여 RF 신호 (716) 를 생성하기 위하여 Tx 체인 (Tx chain) (714) 에 의해 변조되고, 증폭되고, 그리고 이와 다르게 프로세싱되는 Tx 심볼들 (712) 의 시퀀스를 생성하는 맵퍼 (mapper) (710) 에 제공될 수도 있다.
도 8 은 인코딩된 메시지 (예컨대, 위에서 설명된 바와 같은 LDPC 코드를 이용하여 인코딩된 메시지) 를 포함하는 무선으로 송신된 신호를 수신하고 디코딩하도록 구성될 수도 있는 RF 모뎀 (800) 의 부분 (814) 을 예시한다. 다양한 예들에서, 신호를 수신하는 모뎀 (814) 은 무선 노드 (예컨대, 무선 노드 (116), 수신기 시스템 (250) 에서, 기지국 (예컨대, 노드 B (102), 송신기 시스템 (210)) 에서, 또는 설명된 기능들을 수행하기 위한 임의의 다른 적당한 장치 또는 수단 (예컨대, 무선 디바이스 (302)) 에서 존재할 수도 있다. 안테나 (802) 는 무선 노드 (예를 들어, 무선 노드 (116, 122), 및/또는 수신기 시스템 (250)) 에 대한 RF 신호 (816) (예를 들어, RF 체인 (700) 과 RF 체인 (800) 사이의 유효 채널에 의해 변경된 것과 같은, 도 7 에서 생성된 RF 신호 (716)) 를 수신한다. RF 체인 (804) 은 RF 신호 (816) 를 프로세싱 및 복조하고, 복조된 심볼 (806) 의 시퀀스를 디맵퍼 (808) 에 제공할 수도 있으며, 이는 인코딩된 메시지를 나타내는 비트스트림 (예를 들어, 소프트 비트들 또는 스케일링된 소프트 비트들로 지칭될 수도 있고 로그 우도비로 표현될 수도 있는 일련의 수신된 값 r_j) 을 생성한다.
디코더 (812) 는 그 다음으로, 코딩 방식 (예컨대, LDPC 코드) 을 이용하여 인코딩되었던 비트스트림으로부터 m-비트 정보 스트링 (information string) 들을 디코딩하기 위하여 이용될 수도 있다. 디코더 (812) 는 전체-병렬, 행-병렬, 또는 블록-병렬 아키텍처를 갖는 계층화된 LDPC 디코더를 포함할 수도 있다. LDPC 디코더 (들) 는 일반적으로, 국소적 계산들을 반복적으로 수행함으로써, 그리고 에지들을 따라, 이분 그래프 (400) 내에서 메시지들을 교환하는 것에 의해 그 결과들을 전달함으로써, 그리고 들어오는 메시지들에 기초하여 노드들에서의 연산들을 수행하는 것에 의해 이 메시지들을 업데이팅함으로써 동작한다. 이 단계들은 전형적으로 몇몇 횟수들만큼 반복될 수도 있고, 메시지 전달 단계들로서 지칭될 수도 있다. 예를 들어, 그래프 (400) 에서의 각각의 변수 노드 (410) 는 초기에, 통신 채널로부터의 관찰들에 의해 결정된 바와 같은 연관된 비트의 값의 추정치를 표시하는 "소프트 비트" (예컨대, 코드 워드의 수신된 비트, r_j 를 표현함) 를 제공받을 수도 있다. "소프트 비트" 는 일부 양태들에서, 로그 (비트가 0 일 확률)/(비트가 1 일 확률) 로서 정의될 수도 있는 로그-우도비 (LLR) 에 의해 표현될 수도 있다. 이 LLR 들을 이용하면, LDPC 디코더들은 메모리로부터 그것들 또는 그 일부 부분을 반복적으로 판독함으로써, 그리고 업데이트된 메시지 또는 그 일부 부분을 메모리로 다시 기록함으로써 메지들을 업데이트할 수도 있다. 업데이트 동작들은 전형적으로 대응하는 LDPC 코드의 패리티 체크 제약들에 기초한다. 리프트된 LDPC 코드들의 구현들에서, 유사한 에지들 상의 메시지들은 종종 병렬로 프로세싱된다. 본 개시물의 양태들에 따르면, 이 디코딩 기법들 후에, 디코드 (812) 는 기지국 (예컨대, 노드 B (102) 및/또는 송신기 시스템 (210)) 으로부터 송신된 데이터, 인코딩된 음성 및/또는 다른 컨텐츠를 포함하는 메시지 (702) 를 결정하기 위하여 LLR 들에 기초하여 비트스트림 (810) 을 디코딩할 수도 있다. 디코더는 (예컨대, 도 14 에서 예시된 동작들 (1400) 을 구현함으로써) 이하에서 제시된 본 개시물의 양태들에 따라 비트스트림 (810) 을 디코딩할 수도 있다.
예시적인 LDPC 디코더 아키텍처
저밀도 패리티 체크 (LDPC) 코딩은 무선 통신들, 스토리지, 및 이더넷과 같은 몇몇 애플리케이션들에서 이용된 강력한 에러 정정 코딩 기술이다. LDPC 는 예를 들어, 위에서 설명되고 도 4a 에서 예시된 바와 같이, 이분 그래프들 상에서 코드들을 설계하는 것에 기초한다. LDPC 디코딩은 위에서 설명된 신뢰 전파 기법 (belief propagation) 기법들을 이용하여 전형적으로 구현되고, 메시지들은 그래프의 에지들을 따라 전달되고, 그래프에서의 노드들은 소스 심볼들에 관한 판정들이 그로부터 행해질 수 있는 그 주변 분포 (marginal distribution) 들을 연산한다. 준-사이클릭 (QC) 코드들은 기본 LDPC 패리티 체크 행렬 (PCM) 이 "리프팅" 되는 구조화된 LDPC 코드들의 인기 있는 클래스이다. 예를 들어, "리프팅" 은 각각의 기본 PCM 엔트리를 ZxZ 하위행렬로 대체하는 것을 수반한다. ZxZ 하위행렬은 '0' 기본 PCM 엔트리들에 대한 모든 제로들의 행렬, 또는 '1' 기본 PCM 엔트리들에 대한 사이클릭 회전된 항등 행렬 (identity matrix) 일 수 있다. QC LDPC 코드는 도 8 에 도시된 디코더와 같은 디코더를 인에이블함으로써 하드웨어에서 병렬 프로세싱을 인에이블하여, 메시지들을 교환하기 위해 스위칭 네트워크로 프로세싱을 Z 회 복제한다.
LDPC 디코더는 종종 BP (Belief Propagation) 알고리즘과 매우 근사한 메시지 전달 알고리즘을 구현한다. LDPC 디코딩을 위한 로그 BP 알고리즘은 다음으로서 기록될 수도 있다:
Figure 112019115021521-pct00012
(식 1)
Figure 112019115021521-pct00013
(식 2)
Figure 112019115021521-pct00014
(식 3)
Figure 112019115021521-pct00015
(식 4)
Figure 112019115021521-pct00016
(식 5)
여기서 L(c) 는
Figure 112019115021521-pct00017
로서 정의된 이진 변수 c 와 연관된 LLR (log-likelihood ratio) 이고, 여기서 확률은 알고리즘이 진행됨에 따라 확장되는 메시지 전달 알고리즘에 내재된 특정 정보에 따라 컨디셔닝된다. 함수
Figure 112019115021521-pct00018
Figure 112019115021521-pct00019
로 주어진다. 인덱스 m 은 일반적으로 이진 패리티 체크 노드 또는 이진 PCM 로우 인덱스를 나타내고, j 및 n 은 일반적으로 비트 노드를 표시하거나 또는 PCM 컬럼 인덱스 qi 는 j 번째 이진 PCM 컬럼과 등가인, 변수 노드 j 와 연관된 비트 값을 표시하며, qmn 은 변수 노드 n 를 체크 노드 m 에 연결하는 에지와 연관된 이진 값을 표시하고, N(m) 은 패리티 체크 노드 m 에 연결된 비트들에 대한 모든 비트 인덱스들의 세트이고, M(j) 는 비트 j 에 연결된 모든 패리티 체크 노드들에 대한 모든 패리티 체크 노드의 세트이며, Rj 는 비트 j 의 송신 관찰에 연관된 비트 j 에 대한 LLR 이다. 예를 들어, AWGN 채널 상에서의 표준 BPSK 송신에서,
Figure 112019115021521-pct00020
를 가지며, 여기서 rj 는 수신된 값이고,
Figure 112019115021521-pct00021
는 채널의 추가 잡음의 분산이다. 알고리즘은 Rj 와 동일한 L(qmj) 를 설정함으로써 초기화될 수도 있고, 주어진 방정식들의 반복된 평가에 의해 진행된다. 본 개시물의 양태들에 따르면, 방정식 1 은 변환
Figure 112019115021521-pct00022
을 통해 (비트 j 에 대해 LLR 이 아닌) 패리티 체크 노드 m 에 연결된 모든 비트들에 대해 입력된 비트 LLR들 L(qmn) 을 합산하는 비트 j 에 대한 패리티 체크 메트릭 Amj 을 연산한다. 이 동작은 방정식 3 과 함께, 패리티 체크 m 에 속하는 다른 비트들의 관찰들에 기초하여 비트 j 에 대한 사후 LLR, Rmj 을 연산한다. 방정식 2 는 입력된 비트 LLR 들 L(qmn) 의 부호들에 기초하여, 사후 LLR, Rmj 의 부호, smj 를 연산한다. 방정식 4 는 비트 j 에 대한 디코더로부터의 사후 LLR 들 Rmj (즉, 외재적인 (extrinsic) LLR 들) 의 전부를 채널로부터의 선험적 LLR Rj (즉, 내재적인 LLR) 과 조합함으로써 업데이팅된 비트 LLR 들 L(qj) 을 계산한다. 방정식 5 는 비트 LLR 합 L(qmj) 이 다음 반복에서 업데이팅된 사후/외재적인 LLR Rmj 의 연산을 위하여 패리티 체크 노드 m 로 다시 전달되기 전에, 비트 LLR 합 L(qj) 으로부터 패리티 체크 노드 m 에 대한 외재적인 LLR Rmj 을 감산한다. '플러딩 (flooding)' LDPC 디코더 반복에 대하여, 단계들 1 내지 3 (즉, 방정식들 1 내지 3 을 연산함) 은 비트 LLR 들 L(qj) 을 업데이트하기 위하여, 모든 비트 (변수) 노드들이 단계 4 (즉, 방정식 4 를 연산함) 를 수행한 후에 모든 패리티 체크 노드들에 대하여 수행된다.
계층화된 LDPC 디코더들은 위의 방정식들 1 내지 5 와 유사하지만 일부 사소한 수정들을 갖는 단계들을 수행한다. 예를 들어, 계층화된 로그 BP 알고리즘은 다음으로서 기록될 수도 있다:
Figure 112019115021521-pct00023
(식 6)
Figure 112019115021521-pct00024
(식 7)
Figure 112019115021521-pct00025
(식 8)
Figure 112019115021521-pct00026
(식 9)
Figure 112019115021521-pct00027
(식 10)
상기 계층화된 디코딩 단계들 (즉, 방정식 6-10) 에서, 비트 LLR들 L(qj) 은 채널 비트 LLR들 Rj 로 초기화된다. 본 개시물의 특정 양태들에 따르면, 계층화된 디코딩 (방정식 6-10) 과 플러딩 디코딩 (방정식 1-5) 간의 중요한 차이는 계층화된 디코딩 반복에서, 사후 LLR, Rmj 이 방정식 9 의 특정 패리티 체크 노드 (PCM 로우) 에 대해 연산될 때, 비트 LLR들 L(qj) 은 방정식들 6-9 에서 다음 로우의 사후 LLR들 Rmj 을 연산하기 전에 방정식 10 에서 새로운 사후 LLR들, Rmj 로 즉시 업데이트된다는 점이다. 이것은 비트 LLR 들 L(qj) 의 전부가 방정식 4 에서 사후 LLR 들 Rmj 로 업데이트되기 전에, PCM 로우들에 대응하는 사후 LLR 들 Rmj 의 전부가 연산 (모든 m 및 j 에 대한 방정식들 1 내지 3 루프) 되는 플러딩 디코더와 대조적이다. 그 결과, 계층화된 디코딩은 업데이팅된 사후 LLR 들 Rmj 형태인 정보가 플러딩 디코더보다 더 빠르게 전달되는 신뢰 전파 메시지를 통해 전파하는 것을 허용하고, 이것은 더 빠른 디코더 수렴 (decoder convergence) 으로 귀착된다.
도 9 는 도 8 에 예시된 디코더 (812) 의 예일 수도 있는, 일반적인 계층화된 LDPC 디코더 (900) 의 상위 레벨 블록 다이어그램을 예시한다. 예시된 바와 같이, 계층화된 LDPC 디코더는, 궁극적으로, 사후 LLR 들 (예컨대, Rmj) 에 의해 업데이팅되는 채널 비트 LLR 들 (예컨대,
Figure 112019115021521-pct00028
) 에 의해 초기화되는 비트 LLR 들 (예컨대,
Figure 112019115021521-pct00029
) (즉, 코드 워드의 비트 당 하나의 비트 LLR) 을 저장하기 위한 LLR 스토리지 메모리 (902) 를 포함한다. 채널 비트 LLR들 또는 수신된 LLR들은 또한 소프트 비트들 또는 스케일링된 소프트 비트들로 알려져 있으며, 수신된 값 r_j 은 소프트 비트이다. 계층화된 LDPC 디코더 (900) 는 또한, 사후 LLR 들을 연산하고 LLR 스토리지 메모리 (902) 에서의 저장된 비트 LLR 들을 업데이팅하기 위하여 병렬로 동작하는 데이터 경로 프로세서들 (904) 을 포함한다. 계층화된 LDPC 디코더 (900) 는 LLR 들 (즉, 비트 LLR 들 및 사후 LLR 들) 을 메모리들 (902, 906) 과 데이터 경로 프로세서들 (904) 사이에서 라우팅하기 위하여 데이터 경로 프로세서들 (904) 및 치환 네트워크 (908) 에 의해 연산된 사후 LLR 들을 저장하기 위한 메트릭 스토리지 메모리 (906) 를 추가적으로 포함한다.
위에서 논의된 바와 같이, 계층화된 디코딩은 그 행에 대한 사후 LLR 들을 연산하기 위하여 PCM 에서의 행을 따라 PCM 열들 (비트 LLR 들) 을 횡단한다. 행에 대한 사후 LLR 들이 연산된 후에, 비트 LLR 들은 그것들이 다음 행에 대한 사후 LLR 들의 연산으로 공급될 때에, 그 대응하는 사후 LLR 로 각각 즉시 업데이팅된다. 업데이팅된 비트 LLR 의 열 인덱스가 다음 행에 접속될 경우, 업데이팅된 비트 LLR 은 그 다음 행에 대한 사후 LLR 연산으로 전달된다. 접속이 없을 경우에, 업데이팅된 비트 LLR 은 LLR 스토리지 메모리 (902) 내에 저장될 수 있다.
도 10 은 전술된 것과 같은, 패리티 체크 행렬 (PCM) (1000) 에서 비트 LLR들 및 사후 LLR들을 연산/업데이트하기 위한 이 프로세스의 예를 예시한다. 특히, PCM 의 각각의 셀은 계산된 사후 LLR 을 예시한다. 예를 들어, 도 10 에서 예시된 PCM 에 대하여, 일단 1002 로 라벨링된 로우 3 에 대한 사후 LLR들이 연산되면, 1010 로 라벨링된 컬럼 5 에 대한 비트 LLR 은 (예컨대, 앞의 방정식 10 을 이용하여) 업데이트되고, (예컨대, 앞의 방정식들 6 내지 9 를 이용하여) 1006 으로 라벨링된 로우 4 에 대한 사후 LLR 연산에서 이용될 수도 있으며, 이는 컬럼 5 이 양자의 로우들 3 및 4 에 연결되기 때문이다 (예를 들어, 1020 으로 라벨링된 PCM 엔트리들 (3, 5) 및 1022 로 라벨링된 PCM 엔트리들 (4, 5) 이 비-제로임). 그러나, 1012 로 라벨링된 컬럼 6 에 대한 비트 LLR 이 (1002 로 라벨링된) 로우 3 으로부터 연산된 사후 LLR 로 업데이트될 때, 로우 4 에 대한 사후 LLR 연산이 1024 로 라벨링된 (4, 6) 이 비어 있을 경우에 컬럼 6 을 포함하지 않으므로, 업데이트된 비트 LLR 은 메모리 (예컨대, LLR 스토리지 메모리 (902)) 에 저장된다. 1008 로 라벨링된 로우 5 에 대한 사후 LLR들이 연산되고 있을 때, 컬럼 6 에 대한 비트 LLR 은 이전의 업데이트 연산으로부터 전달되는 것이 아니라, 메모리 (예컨대, LLR 스토리지 메모리 (902)) 로부터 판독된다. 방정식들 6 및 10 은 LLR 스토리지 메모리 (902) 로부터 판독될 수 있고 LLR 스토리지 메모리 (902) 로 기록될 수 있으므로, 기록 및 판독 충돌들이 가능한다는 것이 또한 주목되어야 한다. 이러한 충돌들은 LLR 스토리지 메모리 (902) 가 단지 단일의 판독 및 단일의 기록 포트를 가질 경우에, 프로세싱 파이프라인에서 지연들을 생성할 수 있다.
로우 (계층) 에 대한 비트 LLR 업데이트들이 연산된 사후 LLR 들이 비트 LLR 들을 다시 업데이팅하기 위하여 이용되는 다음 계층에 대한 사후 LLR 프로세싱으로 전달된 재귀적 프로세싱 (recursive processing) 으로 인해 도입된 지연들이 또한 있을 수 있다. 예를 들어, 비제로 프로세싱 파이프라인 심도가 주어질 경우, 사후 LLR 계산들이 완료될 수 있도록, 비트 LLR 업데이트 국면들 사이에는 갭 (gap) 이 있을 수도 있다.
예를 들어, 도 11a 는 사후 LLR들을 연산하고 사후 LLR 들에 기초하여 비트 LLR들을 업데이트하기 위한 이 행-대-행 (row-by-row) 프로세싱을 도시하는 예시적인 프로세싱 파이프라인 (1100) 을 예시한다. 도 11a 에서 예시된 바와 같이, 파이프라인 지연들 (예컨대, 프로세싱에서의 갭들) 은 사후 연산 (예컨대, 방정식들 6 내지 9) 과 비트 LLR 업데이트 단계들 (예컨대, 방정식 10) 사이의 상호종속성을 갖는 재귀적 프로세싱으로 인해 존재한다. 파이프라인 지연은 예를 들어 도 11b 에 도시된 예시적인 프로세싱 파이프라인 (1150) 에 예시된 바와 같이, 메모리 충돌뿐만 아니라 파이프라인 심도가 증가함에 따라 커지며, 여기서 메모리 충돌과 함께 파이프라인 심도의 3 사이클로의 증가는 파이프라인 지연 (1152, 1154, 1156, 및 1158) 으로 인해 낭비되는 프로세싱 사이클의 수를 증가시킨다는 것을 알 수 있다. 따라서, 본 개시물의 양태는, 예를 들어, 이하에서 더 상세히 설명되는 바와 같은 완전한 또는 준-로우 직교성을 갖는 패리티 체크 행렬을 사용함으로써, LDPC 디코딩에서의 파이프라인 지연을 완화시키는 기술을 제시한다.
LDPC 레이트 호환가능 설계에서 로우 직교성
계층화된 LDPC 디코더들은 종종, 예를 들어 전술한 바와 같은 업데이트 프로세스에서 지연을 갖는다. 예를 들어, 체크 계층화된 디코더에서, 변수 노드 합들에 대한 업데이트들 (예를 들어, 방정식 6-9 을 사용하여 앞서 설명된 사후 연산) 이 체크 계층 업데이트 (예를 들어, 방정식 10 을 사용하여 앞서 설명된 비트 LLR 업데이트 단계들) 의 완료 후에 발생하며, 이들 업데이트들의 통합은 추가의 프로세싱 단계들 및 메모리 액세스들에 의해 추가로 지연될 수도 있다. 기본 LDPC 코드의 에지 연결이 변수 노드들이 2 개의 연속적인 계층들에 연결되도록 하는 경우, 잠재적으로 디코더 성능에 부정적인 영향을 줄 수 있다. 그러한 제 2 의 그러한 계층이 프로세싱될 때, 업데이트된 변수 노드 합은 아직 사용가능하지 않을 수도 있으므로, 이전 계층 프로세싱으로부터의 잠재적 이득은 그 계층에 사용가능하지 않으며, 그 계층의 성능에 유리하지 않다. 일부 경우에, 업데이트된 변수 노드 합들의 부족은 추가 지연을 도입함으로써 회피될 수도 있다. 그러나, 이 추가 지연으로 인해 디코더가 느려지고 사용가능한 총 반복들의 감소를 통해 잠재적으로 성능을 저하시킬 수도 있다.
일부 경우에, LDPC 코드의 후속 계층은 '직교' 하도록 제약될 수 있고, 이는 후속 계층들이 어떤 기본 변수 노드들도 공통적으로 가지지 않는 것을 의미한다. 그러나, 이러한 제약은 기본 그래프 구조에 대한 암시적 제약을 통해 성능을 저하시킬 수 있으며, 이는 그래프의 연결성을 제한한다.
5G NR 에 대한 LDPC 설계는 통상적으로 레이트 호환가능하며, 그 구성의 처음 몇 개의 계층들 (예를 들어, 대략 6 개의 계층들 또는 로우들) 로 이루어진 고속 코어 그래프와, 그 후에 코드의 레이트를 저하시키는데 사용되는 하이브리드 자동 반복 요청 (HARQ) 비트 계층들이 뒤따르며, 이는 도 12 및 도 12a 내지 도 12h 에 예시된다. 도 12a 내지 도 12h 는 도 12 에 도시된 바와 같이 배열될 때, 패리티 체크 행렬을 나타내는 것에 유의한다. 즉, 도 12a 내지 도 12d 는 패리티 체크 행렬의 로우들 1-23 을 도시하고, 도 12e 내지 도 12h 는 동일한 패리티 체크 행렬의 로우들 24-50 을 도시한다.
일부 경우들에서, 코어 그래프에서 직교성을 보장하지 못할 수도 있다. 5G NR 에 대한 최근 LDPC 설계에서, 기본 그래프는 종종, 도 12a 및 도 12e 의 행렬 (1200) 의 컬럼들 (1210 및 1212) 에 도시된 바와 같이, 펑처링되는 2 개의 비교적 높은 차수의 펑처링된 변수 노드들 (예를 들어, 컬럼들 1 및 2) 을 포함하였다. 그래프의 연결성의 최적화는, 통상적으로 특히 비교적 높은 레이트의 송신들에 사용하도록 설계된 제 1 HARQ 패리티 계층들에서, 해당 노드들에 대해 높은 연결성 (다수의 에지들) 을 발생한다. 이것은 '준-직교성 (quasi-orthogonality)' 의 개념으로 이어지고, 이는 (예를 들어, 코어 베이스 그래프 계층들에 후속하는) 후속 계층들이 후속 계층들에 걸쳐 반복적으로 연결될 수도 있는, 높은 차수의 펑처링된 노드들 (및 가능하게는 이들 2 개의 노드들로부터 형성된 코어 패리티 비트) 을 제외하고, 직교하는 것을 의미한다. 대부분의 디코더 구현들은 높은 차수의 펑처링된 변수 노드에 대한 지연된 업데이트들로 인한 열화를 흡수할 것이다.
본 개시물의 양태에 따르면, 도 12a 내지 도 12h 는 준-로우 직교하는 리프트된 패리티 체크 행렬 (1200) 의 예를 도시한다. 예를 들어, 각 로우는, 라벨들을 나타내는 처음 3 개의 표시된 로우들 (1202, 1204 및 1206) (도 12a 내지 도 12d 참조) 을 제외하고, 계층을 나타낼 수도 있다. 제 1 (최상부) 로우 (1202) 는 그 행렬의 컬럼들을 열거하는 라벨들을 포함한다. 제 2 로우 (1204) 는 인코딩 표시자들인 라벨들을 포함하며, 여기서 1 은 체계적인 (정보) 컬럼을 표시하고, 0 은 패리티 컬럼을 표시한다. 제 3 로우 (1206) 는 송신 표시자들인 라벨들을 포함하며, 여기서 0 은 펑처링 (즉, 송신되지 않음) 을 표시하고, 1 은 송신을 표시한다.
본 개시물의 양태들에 따르면, 도 12a 내지 도 12h 에 도시된 패리티 체크 행렬의 처음 2 개의 컬럼들 (1210 및 1212) (도 12a 및 도 12e 를 참조) 은 높은 차수의 펑처링된 변수 노드들을 나타내고, 1214 (도 12b 및 도 12f 참조) 로 라벨링된 컬럼 23 은 2 개의 펑처링된 컬럼들로부터 형성된 특수 패리티 비트를 나타낸다. 그래프의 핵심 부분은 처음 6 개의 로우들 (계층들) 로 이루어지고, HARQ 로우들은 1220 (도 12a 내지 도 12d 참조) 로 라벨링된 제 7 로우에서 시작한다. 제 7 로우로부터 아래로, 1210, 1212 및 1214 로 라벨링된 컬럼들 1, 2 및 23 이외의 2 개의 연속하는 로우들에서 어떤 컬럼도 비어있지 않은 엔트리를 갖지 않는 것을 유의한다. 따라서, 도 12 및 도 12a 내지 도 12h 에 도시된 패리티 체크 행렬은 준-로우 직교이다.
HARQ 계층이 추가되고 대응하는 송신 레이트가 낮아짐에 따라, 이들 노드들의 연결이 완화될 수 있다. 종종, 계층들이 증가하고 타겟 코드 레이트가 감소하는 특정 지점을 넘어서면, 펑처링된 노드들의 연결성의 밀도가 감소한다. 특히, 펑처링된 노드들 중 최대 하나는 전형적으로 각 계층에 연결될 것이다. 또한, 설계가 2 개의 펑처링된 노드들의 연결성을 거의 밸린싱하였고, 이것이 이들이 각각 대략 동일한 수의 계층에 연결되는 것을 의미한다면, 예를 들어, 도 13 및 도 13a 내지 도 13h 에 도시된 바와 같이, 이들 계층들에 대해 완전한 직교성을 달성할 수 있다.
위에서 언급한 바와 같이, 도 13a 내지 도 13h 는 도 13 에 도시된 바와 같이 배열될 때, 패리티 체크 행렬 (1300) 이 제 14 로우/계층 (1322) 이후에 완전히 쌍으로 로우-직교한다는 점을 제외하고 (도 13a 내지 도 13d 참조), 도 12a 내지 도 12h 에 도시된 패리티 체크 행렬 (1200) 과 유사한 패리티 체크 행렬 (1300) 을 도시한다. 예를 들어, 도시된 바와 같이, 로우/계층 (14) 은 펑처링된 변수 노드들 (1310 및 1312 로 라벨링된 컬럼들 1 및 2) 이 연결되는 최종 계층이다. 모든 후속하는 로우들 (계층들) 은 쌍으로 완전히 직교한다. 예를 들어, 도시된 바와 같이, 1322 로 라벨링된 로우 14 이후의 어떤 2 개의 연속적인 로우들도 동일한 컬럼에서 행렬에 엔트리를 가지지 않으므로, 로우 14 이후의 로우들이 서로 완전히 쌍으로 직교하게 한다. 높은 차수의 펑처링된 변수 노드는 교대로 연결되어, 로우들이 완전히 직교하게 하는 것에 유의한다.
본 개시물의 양태들에 따르면, 도 13a 내지 도 13h 에 도시된 패리티 체크 행렬을 사용하는 것은 예를 들어, 가장 최신의 변수 체크 합이 패리티 체크 행렬의 로우를 디코딩하는 프로세스에서 사용되게 함으로써, 디코더 성능을 증가시킨다. 예를 들어, 어떤 변수 노드도 2 개의 연속하는 계층에 연결되지 않기 때문에, 디코더는 업데이트된 변수 체크 합이 다른 로우를 프로세싱하기 위해 필요하기 전에 업데이트된 변수 체크 합을 연산할 시간을 갖는다.
따라서, 본 개시물의 양태들은 예를 들어, 2 개의 펑처링된 기본 변수 노드 양자가 동일한 계층에 연결되는, 최종 계층 아래의 모든 층들에 대하요 완전-계층 직교성을 유지함으로써, (앞서 논의된) 디코딩 프로세스 동안 추가적인 지연들을 부가하는 것과 연관된 성능 저하 없이, 디코딩 동안 사용된 업데이트된 변수 노드 합들의 사용가능성을 증가시키기 위한 기술들을 제안한다. 이러한 제약 (예를 들어, 완전한 로우 직교성) 은 예를 들어, 도 13 및 도 13a 내지 도 13h 에 도시된 것과 같이, 2 개의 펑처링된 노드들이 후속하는 계층들에 대한 연결성을 교번하는 교번 구조를 야기할 수도 있고 (도 13a 내지 도 13h 는 하나의 패리티 체크 행렬 (1300) 을 예시하고, 도 13a 내지 도 13d 는 패리티 체크 행렬 (1300) 의 로우들 (1-21) 을 예시하고, 도 13e 내지 도 13h 는 패리티 체크 행렬 (1300) 의 로우들 (22-50) 을 도시하는 것을 유의함), 모든 계층의 대략 2/3 (예를 들어, 1/2 초과) 의 직교성을 초래할 수 있다.
도 14 는 예를 들어, LDPC 인코딩된 비트들을 디코딩할 때에 프로세싱 지연들을 감소시키기 위한, 무선 통신들을 위한 예시적인 동작들 (1400) 을 예시한다. 특정 양태들에 따르면, 동작들 (1400) 은 기지국 (예컨대, 노드 B (110) 및/또는 기지국 (210)), 사용자 장비 (예컨대, UE (116) 및/또는 UE (250)), 및/또는 무선 디바이스 (302) 와 같은 무선 통신 디바이스에 의해 (예를 들어, 무선 통신 디바이스에서의 수신기 및 디코더 (예컨대, 디코더 (812) 에 의해) 수행될 수도 있다.
동작들 (1400) 은 블록 (1402) 에서 무선 통신 디바이스가 LDPC 코드워드에 연관된 소프트 비트들을 수신하는 것에 의해 시작한다. 예를 들어, UE (116) (예를 들어, UE (116) 의 수신기) 는 기지국 (102) 으로부터 LDPC 코드워드에 연관된 소프트 비트들을 수신한다.
1404 에서, 무선 통신 디바이스는 패리티 체크 행렬을 사용하여 소프트 비트들의 LDPC 디코딩을 수행하며, 여기서: 상기 패리티 체크 행렬의 각 로우는 리프트된 LDPC 코드의 리프트된 패리티 체크에 대응하고, 상기 패리티 체크 행렬의 적어도 2 개의 컬럼들은 리프트된 LDPC 코드의 펑처링된 변수 노드들에 대응하고, 그리고 상기 패리티 체크 행렬은 적어도 2 개의 펑처링된 변수 노드들 양자가 연결되는 로우 아래에 있는, 연속하는 로우들의 각 쌍 간에 로우 직교성을 갖는다. 앞의 예에서 계속하여, UE (116) (예컨대, UE (116) 의 디코더) 는 패리티 체크 행렬 (예를 들어, 도 13 및 도 13a 내지 도 13h 에 도시된 패리티 체크 행렬 (1300)) 을 사용하여 소프트 비트들 (즉, 블록 (1402) 에서 수신된 소프트 비트들) 의 LDPC 디코딩을 수행하며, 여기서 상기 패리티 체크 행렬의 각 로우는 리프트된 LDPC 코드의 리프트된 패리티 체크에 대응하고, 상기 패리티 체크 행렬의 적어도 2 개의 컬럼들은 리프트된 LDPC 코드의 펑처링된 변수 노드들에 대응하고, 그리고 상기 패리티 체크 행렬은 적어도 2 개의 펑처링된 변수 노드들 양자가 연결되는 로우 아래에 있는, 연속하는 로우들의 각 쌍 간에 로우 직교성을 갖는다.
도 15 는 예를 들어, LDPC 인코딩을 수행하기 위한, 무선 통신들을 위한 예시적인 동작들 (1400) 을 예시한다. 특정 양태들에 따르면, 동작들 (1500) 은 기지국 (예컨대, 노드 B (110) 및/또는 기지국 (210)), 사용자 장비 (예컨대, UE (116) 및/또는 UE (250)), 및/또는 무선 디바이스 (302) 와 같은 무선 통신 디바이스에 의해 (예를 들어, 무선 통신 디바이스에서의 송신기 및 인코더 (예컨대, 인코더 (706)) 에 의해) 수행될 수도 있다.
동작들 (1500) 은 블록 (1502) 에서, 무선 통신 디바이스가 코드워드의 정보 비트들을 획득하는 것에 의해 시작한다. 예를 들어, UE (116) (예를 들어, UE (116) 의 인코더) 는 (예를 들어, UE 에서 실행되는 애플리케이션으로부터) 코드워드의 정보 비트를 획득한다.
1504 에서, 무선 통신 디바이스는 패리티 체크 행렬에 따라 LDPC 코드워드의 패리티 비트들을 연산하기 위해 정보 비트들의 인코딩을 수행하며, 여기서: 상기 패리티 체크 행렬의 각 로우는 리프트된 LDPC 코드의 리프트된 패리티 체크에 대응하고, 상기 패리티 체크 행렬의 적어도 2 개의 컬럼들은 리프트된 LDPC 코드의 펑처링된 변수 노드들에 대응하고, 그리고 상기 패리티 체크 행렬은 적어도 2 개의 펑처링된 변수 노드들 양자가 연결되는 로우 아래에 있는, 연속하는 로우들의 각 쌍 간에 로우 직교성을 갖는다. 앞의 예에서 계속하여, UE (116) (예컨대, UE (116) 의 인코더) 는 패리티 체크 행렬 (예를 들어, 도 13 및 도 13a 내지 도 13h 에 도시된 패리티 체크 행렬 (1300)) 에 따라 정보 비트들 (즉, 블록 (1502) 에서 획득된 정보 비트들) 의 인코딩을 수행하며, 여기서 상기 패리티 체크 행렬의 각 로우는 리프트된 LDPC 코드의 리프트된 패리티 체크에 대응하고, 상기 패리티 체크 행렬의 적어도 2 개의 컬럼들은 리프트된 LDPC 코드의 펑처링된 변수 노드들에 대응하고, 그리고 상기 패리티 체크 행렬은 적어도 2 개의 펑처링된 변수 노드들 양자가 연결되는 로우 아래에 있는, 연속하는 로우들의 각 쌍 간에 로우 직교성을 갖는다.
본원에 개시된 방법들은 상술된 방법을 달성하기 위한 하나 이상의 단계들 또는 액션들을 포함한다. 방법 단계들 및/또는 작동들은 청구항들의 범위를 벗어나지 않으면서 서로 상호 교환될 수도 있다. 즉, 단계들 또는 액션들의 특정 순서가 명시되지 않으면, 특정 단계들 및/또는 액션들의 순서 및/또는 사용은 청구항들의 범위로부터 이탈함이 없이 수정될 수도 있다.
본원에서 이용되는 바와 같이, 용어 "결정하는" 은 매우 다양한 액션들을 망라한다. 예를 들어, "결정하는 것" 은 계산하는 것, 연산하는 것, 프로세싱하는 것, 도출하는 것, 조사하는 것, 룩업하는 것 (예를 들어, 테이블, 데이터베이스 또는 다른 데이터 구조에서 룩업하는 것), 확인하는 것 등을 포함할 수도 있다. 또한, "결정하는" 은 수신하는 (예를 들면, 정보를 수신하는), 액세스하는 (메모리의 데이터에 액세스하는) 등을 포함할 수 있다. 또한, "결정하는" 은 해결하는, 선택하는, 고르는, 확립하는 등을 포함할 수 있다.
일부 경우들에서, 프레임을 실제로 송신하는 것보다는, 디바이스는 송신을 위해 프레임을 출력하기 위한 인터페이스를 가질 수도 있다. 예를 들어, 프로세서는 프레임을, 버스 인터페이스를 통해, 송신을 위한 RF 프론트 엔드로 출력할 수도 있다. 유사하게, 프레임을 실제로 수신하는 것보다는, 디바이스는 다른 디바이스로부터 수신된 프레임을 획득하기 위한 인터페이스를 가질 수도 있다. 예를 들어, 프로세서는 프레임을, 버스 인터페이스를 통해, 송신을 위한 RF 프론트 엔드로부터 획득 (또는 수신) 할 수도 있다.
상기 설명된 다양한 방법 동작들은 대응하는 기능들을 수행 가능한 임의의 적합한 수단에 의해 수행될 수도 있다. 그 수단은, 회로, 주문형 집적 회로 (ASIC) 또는 프로세서를 포함하지만 이에 한정되지 않는 다양한 하드웨어 및/또는 소프트웨어 컴포넌트(들) 및/또는 모듈(들) 을 포함할 수도 있다. 일반적으로, 도면들에 도시된 동작들이 있는 경우, 이들 동작들은 유사한 도면 부호를 갖는 대응하는 카운터파트의 기능식 수단 컴포넌트들을 가질 수도 있다.
예를 들어, 연산하기 위한 수단, 결정하기 위한 수단, 활용하기 위한 수단, 업데이트하기 위한 수단, 판독하기 위한 수단, 수행하기 위한 수단, 및/또는 선택하기 위한 수단은 기지국 (210) 의 프로세서 (230) 및/또는 RX 데이터 프로세서 (242), 및/또는 사용자 단말 (250) 의 프로세서 (270) 및/또는 RX 데이터 프로세서 (260) 와 같은 하나 이상의 프로세서들을 포함하는 프로세싱 시스템을 포함할 수도 있다. 추가적으로, 저장하기 위한 수단은 기지국 (210) 의 메모리 (232) 및/또는 사용자 단말 (250) 의 메모리 (272) 와 같은 메모리를 포함할 수도 있다. 또한, 수신하기 위한 수단은 기지국 (210) 의 수신기 (222) 및/또는 안테나 (224), 및/또는 사용자 단말 (250) 의 수신기 (254) 및/또는 안테나 (252) 와 같은 수신기 및/또는 안테나를 포함할 수도 있다.
본 개시와 관련하여 설명된 다양한 예시적인 논리 블록들, 모듈들, 및 회로들은 범용 프로세서, 디지털 신호 프로세서 (DSP), 주문형 집적회로 (ASIC), 필드 프로그래밍가능 게이트 어레이 신호 (FPGA) 또는 다른 프로그래밍가능 로직 디바이스 (PLD), 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 컴포넌트들, 또는 본 명세서에서 설명된 기능들을 수행하도록 설계된 이들의 임의의 조합으로 구현 또는 수행될 수도 있다. 범용 프로세서는 마이크로프로세서일 수도 있지만, 대안적으로, 그 프로세서는 임의의 상업적으로 입수가능한 프로세서, 제어기, 마이크로 제어기, 또는 상태 머신일 수도 있다. 프로세서는 또한, 컴퓨팅 디바이스들의 조합, 예를 들어, DSP 와 마이크로프로세서의 조합, 다수의 마이크로프로세서들, DSP 코어와 결합된 하나 이상의 마이크로프로세서들, 또는 임의의 기타 다른 구성물로서 구현될 수도 있다.
하드웨어에서 구현되면, 예시적인 하드웨어 구성은 디바이스에 프로세싱 시스템을 포함할 수도 있다. 프로세싱 시스템은 버스 아키텍처로 구현될 수도 있다. 버스는 프로세싱 시스템의 특정 응용 및 전체 설계 제약들에 따라 임의의 수의 상호접속 버스 및 브리지들을 포함할 수도 있다. 버스는 프로세서, 머신 판독가능 매체들, 및 버스 인터페이스를 포함하는 다양한 회로들을 함께 링크시킬 수도 있다. 버스 인터페이스는 네트워크 어댑터를 버스를 통해 처리 시스템에 연결하는 데 사용될 수 있습니다. 네트워크 어댑터는 PHY 계층의 신호 처리 기능을 구현하는 데 사용될 수 있습니다. 무선 노드 (도 1 참조) 의 경우에, 사용자 인터페이스 (예컨대, 키패드, 디스플레이, 마우스, 조이스틱 등) 는 또한 버스에 접속될 수도 있다. 버스는 또한, 당업계에 널리 공지되고 따라서 어떠한 추가로 설명되지 않을 타이밍 소스들, 주변기기들, 전압 레귤레이터들, 전력 관리 회로들 등과 같은 다양한 다른 회로들을 링크시킬 수도 있다. 프로세서는 하나 이상의 범용 및/또는 특수목적 프로세서들로 구현될 수도 있다. 예들은 마이크로프로세서들, 마이크로 제어기들, DSP 프로세서들, 및 소프트웨어를 실행할 수 있는 다른 회로를 포함한다. 당업자라면, 전체 시스템에 부과되는 설계 제약 및 특정 응용들에 따라 처리 시스템을 위한 설명된 기능성을 구현하기 위한 최선의 방법을 인식할 것이다.
소프트웨어에서 구현된다면, 그 기능들은 하나 이상의 명령들 또는 코드로서 컴퓨터 판독가능 매체 상으로 저장 또는 전송될 수도 있다. 소프트웨어는, 소프트웨어, 펌웨어, 미들웨어, 마이크로코드, 하드웨어 디스크립션 언어, 또는 기타 등등으로서 지칭되든 아니든, 명령들, 데이터, 또는 이들의 임의의 조합을 의미하도록 넓게 해석될 것이다. 컴퓨터 판독가능 매체는 일 장소로부터 다른 장소로의 컴퓨터 프로그램의 전송을 가능하게 하는 임의의 매체를 포함하는 통신 매체 및 컴퓨터 저장 매체 양자 모두를 포함한다. 프로세서는 버스를 관리하는 것, 및 머신 판독가능 저장 매체 상에 저장된 소프트웨어 모듈의 실행을 포함한 일반 프로세싱을 책임질 수도 있다. 컴퓨터 판독가능 저장 매체는 프로세서가 저장 매체로부터 정보를 판독하고 저장 매체에 정보를 기록할 수 있도록 프로세서에 커플링될 수도 있다. 대안으로, 저장 매체는 프로세서와 일체형일 수도 있다. 일 예로, 머신 판독가능 매체들은, 모두가 버스 인터페이스를 통해 프로세서에 의해 액세스될 수도 있는, 송신 라인, 데이터에 의해 변조된 캐리어 파, 및/또는 무선 노드와는 별개인 명령들을 저장하고 있는 컴퓨터 판독가능 저장 매체를 포함할 수도 있다. 대안적으로 또는 부가적으로, 머신-판독가능 매체들 또는 그 임의의 부분은, 캐시 및/또는 일반 레지스터 파일들로 있을 수도 있는 경우와 같이, 프로세서에 통합될 수도 있다. 머신 판독가능 저장 매체의 예들은, 예로서, RAM (랜덤 액세스 메모리), 플래시 메모리, ROM (판독 전용 메모리), PROM (프로그래밍가능 판독 전용 메모리), EPROM (소거가능한 프로그래밍가능 판독 전용 메모리), EEPROM (전기적으로 소거가능한 프로그래밍가능 판독 전용 메모리), 레지스터들, 자기 디스크들, 광학 디스크들, 하드 드라이브들, 또는 임의의 다른 적합한 저장 매체, 또는 이들의 임의의 조합을 포함할 수도 있다. 머신-판독가능 매체들은 컴퓨터 프로그램 제품으로 구현될 수도 있다.
소프트웨어 모듈은 단일 명령 또는 다수의 명령들을 포함할 수도 있으며, 수개의 상이한 코드 세그먼트들에 걸쳐, 상이한 프로그램들 사이에, 및 다중의 저장 매체에 걸쳐 분산될 수도 있다. 컴퓨터 판독가능 매체들은 다수의 소프트웨어 모듈들을 포함할 수도 있다. 소프트웨어 모듈들은, 프로세서와 같은 장치에 의해 실행될 경우, 프로세싱 시스템으로 하여금 다양한 기능들을 수행하게 하는 명령들을 포함한다. 소프트웨어 모듈들은 송신 모듈 및 수신 모듈을 포함할 수도 있다. 각각의 소프트웨어 모듈은 단일 저장 디바이스에 상주하거나 또는 다수의 저장 디바이스들에 걸쳐 분산될 수도 있다. 예로서, 소프트웨어 모듈은 트리거링 이벤트가 발생할 때 하드 드라이브로부터 RAM 으로 로딩될 수도 있다. 소프트웨어 모듈의 실행 동안, 프로세서는 액세스 속도를 증가시키기 위해 캐시로 명령들의 일부를 로딩할 수도 있다. 하나 이상의 캐시 라인들은 그 후 프로세서에 의한 실행을 위해 범용 레지스터 파일로 로딩될 수도 있다. 이하에서 소프트웨어 모듈의 기능성을 참조할 때, 이러한 기능성은 소프트웨어 모듈로부터 명령들을 실행할 때 프로세서에 의해 구현되는 것으로 이해될 것이다.
또한, 임의의 커넥션은 컴퓨터 판독가능 매체로서 적절히 칭해진다. 예를 들어, 동축 케이블, 광섬유 케이블, 꼬임쌍선, 디지털 가입자 라인 (DSL), 또는 적외선 (IR), 무선, 및 마이크로파와 같은 무선 기술들을 이용하여 웹사이트, 서버, 또는 다른 원격 소스로부터 소프트웨어가 송신된다면, 동축 케이블, 광섬유 케이블, 꼬임쌍선, DSL, 또는 적외선, 무선, 및 마이크로파와 같은 무선 기술들은 매체의 정의에 포함된다. 본 명세서에서 사용된 바와 같이, 디스크 (disk) 및 디스크 (disc) 는 컴팩트 디스크 (CD), 레이저 디스크, 광학 디스크, 디지털 다기능 디스크 (DVD), 플로피 디스크 및 블루레이® 디스크를 포함하며, 여기서, 디스크 (disk) 들은 통상적으로 데이터를 자기적으로 재생하지만 디스크 (disc) 들은 레이저들을 이용하여 데이터를 광학적으로 재생한다. 따라서, 일부 양태들에 있어서, 컴퓨터 판독가능 매체는 비-일시적인 컴퓨터 판독가능 매체 (예를 들어, 유형의 매체) 를 포함할 수도 있다. 부가적으로, 다른 양태들에 대해, 컴퓨터 판독가능 매체는 일시적인 컴퓨터 판독가능 매체 (예를 들어, 신호) 를 포함할 수도 있다. 위의 조합들도 컴퓨터 판독가능 매체들의 범위 내에 포함되어야 한다.
따라서, 특정 양태들은, 본 명세서에서 제시된 동작들을 수행하기 위한 컴퓨터 프로그램 제품을 포함할 수도 있다. 예를 들어, 그러한 컴퓨터 프로그램 제품은 명령들이 저장된 (및/또는 인코딩된) 컴퓨터 판독가능 매체를 포함할 수도 있으며, 그 명령들은 본 명세서에서 설명된 동작들을 수행하기 위해 하나 이상의 프로세서들에 의해 실행가능하다.
또한, 본원에 설명된 방법들 및 기법들을 수행하는 모듈들 및/또는
다른 적절한 수단이 적용가능한 경우 다운로드될 수도 있거나 및/또는 그렇지 않으면 무선 노드 및/또는 기지국에 의해 획득될 수도 있다는 것이 인식되야 한다. 예를 들어, 그러한 디바이스는 본원에 설명된 방법들을 수행하는 수단의 전달을 가능하게 하기 위해 서버에 연결될 수 있다. 다르게는, 본원에 기재된 다양한 방법들은 저장 수단 (예를 들어, RAM, ROM, 물리적 저장 매체, 이를테면 컴팩트 디스크 (CD) 또는 플로피 디스크 등) 을 통해 제공되어, 무선 노드 및/또는 기지국은, 디바이스에 저장 수단을 연결 또는 제공할 시에 그 다양한 방법들을 획득할 수 있다. 더욱이, 여기에 기재된 방법들 및 기법들을 제공하기 위한 임의의 다른 적합한 기법이 이용될 수 있다.
청구항들은 위에 예시된 바로 그 구성 및 컴포넌트들에 한정되지 않는다는 것이 이해되야 한다. 청구항들의 범위로부터 이탈함이 없이, 위에서 설명된 방법 및 장치의 배열, 동작 및 상세들에서 다양한 수정들, 변경들 및 변형들이 이루어질 수도 있다.

Claims (48)

  1. 저밀도 패리티 체크 (LDPC) 디코딩을 수행하기 위한 방법으로서,
    LDPC 코드워드에 연관된 소프트 비트들을 수신하는 단계; 및
    패리티 체크 행렬을 사용하여 상기 소프트 비트들의 LDPC 디코딩을 수행하는 단계를 포함하며,
    상기 패리티 체크 행렬은,
    제 1 N 개의 로우들의 코어 부분; 및
    상기 제 1 N 개의 로우들 이후의 하이브리드 자동 반복 요청 (HARQ) 로우들
    을 포함하고,
    상기 패리티 체크 행렬의 각 로우는 리프트된 LDPC 코드의 리프트된 패리티 체크에 대응하고,
    상기 패리티 체크 행렬의 적어도 2 개의 컬럼들은 상기 리프트된 LDPC 코드의 펑처링된 변수 노드들에 대응하고, 그리고
    상기 패리티 체크 행렬은 적어도 2 개의 펑처링된 변수 노드들 양자가 연결되는 최저 로우 아래에 있는, 연속하는 로우들의 각 쌍 간에 로우 직교성을 가지며, 상기 적어도 2 개의 펑처링된 변수 노드들 양자가 연결되는 상기 최저 로우 아래의 각 로우에 대하여, 어떤 컬럼도 2 개의 연속하는 로우들에서 비어있지 않은 엔트리를 가지지 않는, LDPC 디코딩을 수행하기 위한 방법.
  2. 제 1 항에 있어서,
    상기 연속하는 로우들의 각 쌍에서, 상기 2 개의 펑처링된 변수 노드들은 후속하는 로우들로의 연결들을 교번하는, LDPC 디코딩을 수행하기 위한 방법.
  3. 제 1 항에 있어서,
    상기 패리티 체크 행렬의 연속하는 로우들의 모든 쌍들 중 적어도 1/2 은 로우 직교성을 가지는, LDPC 디코딩을 수행하기 위한 방법.
  4. 제 3 항에 있어서,
    상기 연속하는 로우들의 모든 쌍들 중 상기 적어도 1/2 은 상기 패리티 체크 행렬의 모든 로우들의 최종 1/2 을 포함하고, 상기 패리티 체크 행렬의 모든 로우들의 상기 최종 1/2 은 상기 LDPC 코드워드의 하이브리드 자동 반복 요청 (HARQ) 정보와 연관된 로우들에 대응하는, LDPC 디코딩을 수행하기 위한 방법.
  5. 제 1 항에 있어서,
    상기 적어도 2 개의 펑처링된 변수 노드들 양자가 연결되는 상기 최저 로우 아래의 연속하는 로우들의 각 쌍에서, 상기 2 개의 펑처링된 변수 노드들은 후속하는 로우들로의 연결들을 교번하는, LDPC 디코딩을 수행하기 위한 방법.
  6. 무선 통신들을 위한 장치로서,
    상기 장치로 하여금, 저밀도 패리티 체크 (LDPC) 코드워드에 연관된 소프트 비트들을 수신하게 하고; 그리고
    패리티 체크 행렬을 사용하여 상기 소프트 비트들의 LDPC 디코딩을 수행하도록
    구성된 프로세서로서,
    상기 패리티 체크 행렬은,
    제 1 N 개의 로우들의 코어 부분; 및
    상기 제 1 N 개의 로우들 이후의 하이브리드 자동 반복 요청 (HARQ) 로우들
    을 포함하고,
    상기 패리티 체크 행렬의 각 로우는 리프트된 LDPC 코드의 리프트된 패리티 체크에 대응하고,
    상기 패리티 체크 행렬의 적어도 2 개의 컬럼들은 상기 리프트된 LDPC 코드의 펑처링된 변수 노드들에 대응하고, 그리고
    상기 패리티 체크 행렬은 적어도 2 개의 펑처링된 변수 노드들 양자가 연결되는 최저 로우 아래에 있는, 연속하는 로우들의 각 쌍 간에 로우 직교성을 가지며, 상기 적어도 2 개의 펑처링된 변수 노드들 양자가 연결되는 상기 최저 로우 아래의 각 로우에 대해, 어떤 컬럼도 2 개의 연속하는 로우들에서 비어있지 않은 엔트리를 가지지 않는, 상기 프로세서; 및
    상기 프로세서와 커플링된 메모리를 포함하는, 무선 통신들을 위한 장치.
  7. 제 6 항에 있어서,
    상기 연속하는 로우들의 각 쌍에서, 상기 2 개의 펑처링된 변수 노드들은 후속하는 로우들로의 연결들을 교번하는, 무선 통신들을 위한 장치.
  8. 제 6 항에 있어서,
    상기 패리티 체크 행렬의 연속하는 로우들의 모든 쌍들 중 적어도 1/2 은 로우 직교성을 가지는, 무선 통신들을 위한 장치.
  9. 제 8 항에 있어서,
    상기 연속하는 로우들의 모든 쌍들 중 상기 적어도 1/2 은 상기 패리티 체크 행렬의 모든 로우들의 최종 1/2 을 포함하고, 상기 패리티 체크 행렬의 모든 로우들의 상기 최종 1/2 은 상기 LDPC 코드워드의 하이브리드 자동 반복 요청 (HARQ) 정보와 연관된 로우들에 대응하는, 무선 통신들을 위한 장치.
  10. 제 6 항에 있어서,
    상기 적어도 2 개의 펑처링된 변수 노드들 양자가 연결되는 상기 최저 로우 아래의 연속하는 로우들의 각 쌍에서, 상기 2 개의 펑처링된 변수 노드들은 후속하는 로우들로의 연결들을 교번하는, 무선 통신들을 위한 장치.
  11. 저밀도 패리티 체크 (LDPC) 인코딩을 수행하기 위한 방법으로서,
    코드워드의 정보 비트들을 획득하는 단계; 및
    패리티 체크 행렬에 따라 LDPC 코드워드의 패리티 비트들을 연산하기 위해 상기 정보 비트들의 인코딩을 수행하는 단계를 포함하며,
    상기 패리티 체크 행렬은,
    제 1 N 개의 로우들의 코어 부분; 및
    상기 제 1 N 개의 로우들 이후의 하이브리드 자동 반복 요청 (HARQ) 로우들
    을 포함하고,
    상기 패리티 체크 행렬의 각 로우는 리프트된 LDPC 코드의 리프트된 패리티 체크에 대응하고,
    상기 패리티 체크 행렬의 적어도 2 개의 컬럼들은 상기 리프트된 LDPC 코드의 펑처링된 변수 노드들에 대응하고, 그리고
    상기 패리티 체크 행렬은 적어도 2 개의 펑처링된 변수 노드들 양자가 연결되는 최저 로우 아래에 있는, 연속하는 로우들의 각 쌍 간에 로우 직교성을 가지며, 상기 적어도 2 개의 펑처링된 변수 노드들 양자가 연결되는 상기 최저 로우 아래의 각 로우에 대하여, 어떤 컬럼도 2 개의 연속하는 로우들에서 비어있지 않은 엔트리를 가지지 않는, LDPC 인코딩을 수행하기 위한 방법.
  12. 제 11 항에 있어서,
    상기 연속하는 로우들의 각 쌍에서, 상기 2 개의 펑처링된 변수 노드들은 후속하는 로우들로의 연결들을 교번하는, LDPC 인코딩을 수행하기 위한 방법.
  13. 제 11 항에 있어서,
    상기 패리티 체크 행렬의 연속하는 로우들의 모든 쌍들 중 적어도 1/2 은 로우 직교성을 가지는, LDPC 인코딩을 수행하기 위한 방법.
  14. 제 13 항에 있어서,
    상기 연속하는 로우들의 모든 쌍들 중 상기 적어도 1/2 은 상기 패리티 체크 행렬의 모든 로우들의 최종 1/2 을 포함하고, 상기 패리티 체크 행렬의 모든 로우들의 상기 최종 1/2 은 상기 LDPC 코드워드의 하이브리드 자동 반복 요청 (HARQ) 정보와 연관된 로우들에 대응하는, LDPC 인코딩을 수행하기 위한 방법.
  15. 제 11 항에 있어서,
    상기 적어도 2 개의 펑처링된 변수 노드들 양자가 연결되는 상기 최저 로우 아래의 연속하는 로우들의 각 쌍에서, 상기 2 개의 펑처링된 변수 노드들은 후속하는 로우들로의 연결들을 교번하는, LDPC 인코딩을 수행하기 위한 방법.
  16. 무선 통신들을 위한 장치로서,
    코드워드의 정보 비트들을 획득하고; 그리고
    패리티 체크 행렬에 따라 LDPC 코드워드의 패리티 비트들을 연산하기 위해 상기 정보 비트들의 인코딩을 수행하도록
    구성된 프로세서로서,
    상기 패리티 체크 행렬은,
    제 1 N 개의 로우들의 코어 부분; 및
    상기 제 1 N 개의 로우들 이후의 하이브리드 자동 반복 요청 (HARQ) 로우들
    을 포함하고,
    상기 패리티 체크 행렬의 각 로우는 리프트된 LDPC 코드의 리프트된 패리티 체크에 대응하고,
    상기 패리티 체크 행렬의 적어도 2 개의 컬럼들은 상기 리프트된 LDPC 코드의 펑처링된 변수 노드들에 대응하고, 그리고
    상기 패리티 체크 행렬은 적어도 2 개의 펑처링된 변수 노드들 양자가 연결되는 최저 로우 아래에 있는, 연속하는 로우들의 각 쌍 간에 로우 직교성을 가지며, 상기 적어도 2 개의 펑처링된 변수 노드들 양자가 연결되는 상기 최저 로우 아래의 각 로우에 대해, 어떤 컬럼도 2 개의 연속하는 로우들에서 비어있지 않은 엔트리를 가지지 않는, 상기 프로세서; 및
    상기 프로세서와 커플링된 메모리
    를 포함하는, 무선 통신들을 위한 장치.
  17. 제 16 항에 있어서,
    상기 연속하는 로우들의 각 쌍에서, 상기 2 개의 펑처링된 변수 노드들은 후속하는 로우들로의 연결들을 교번하는, 무선 통신들을 위한 장치.
  18. 제 16 항에 있어서,
    상기 패리티 체크 행렬의 연속하는 로우들의 모든 쌍들 중 적어도 1/2 은 로우 직교성을 가지는, 무선 통신들을 위한 장치.
  19. 제 18 항에 있어서,
    상기 연속하는 로우들의 모든 쌍들 중 상기 적어도 1/2 은 상기 패리티 체크 행렬의 모든 로우들의 최종 1/2 을 포함하고, 상기 패리티 체크 행렬의 모든 로우들의 상기 최종 1/2 은 상기 LDPC 코드워드의 하이브리드 자동 반복 요청 (HARQ) 정보와 연관된 로우들에 대응하는, 무선 통신들을 위한 장치.
  20. 제 16 항에 있어서,
    상기 적어도 2 개의 펑처링된 변수 노드들 양자가 연결되는 상기 최저 로우 아래의 연속하는 로우들의 각 쌍에서, 상기 2 개의 펑처링된 변수 노드들은 후속하는 로우들로의 연결들을 교번하는, 무선 통신들을 위한 장치.
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
  41. 삭제
  42. 삭제
  43. 삭제
  44. 삭제
  45. 삭제
  46. 삭제
  47. 삭제
  48. 삭제
KR1020197033238A 2017-05-12 2018-05-10 레이트 호환가능한 qc-ldpc 코드들에 대한 로우 직교성으로 패리티 체크 행렬들의 구성 KR102197173B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201762505573P 2017-05-12 2017-05-12
US62/505,573 2017-05-12
US15/975,440 US10680646B2 (en) 2017-05-12 2018-05-09 Row orthogonality in LDPC rate compatible design
US15/975,440 2018-05-09
PCT/US2018/031988 WO2018209035A1 (en) 2017-05-12 2018-05-10 Constructing parity check matrices with row-orthogonality for rate compatible qc-ldpc codes

Publications (2)

Publication Number Publication Date
KR20200003829A KR20200003829A (ko) 2020-01-10
KR102197173B1 true KR102197173B1 (ko) 2020-12-31

Family

ID=62685080

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197033238A KR102197173B1 (ko) 2017-05-12 2018-05-10 레이트 호환가능한 qc-ldpc 코드들에 대한 로우 직교성으로 패리티 체크 행렬들의 구성

Country Status (9)

Country Link
US (3) US10680646B2 (ko)
EP (1) EP3622627A1 (ko)
JP (1) JP6828190B2 (ko)
KR (1) KR102197173B1 (ko)
CN (2) CN110622425B (ko)
BR (1) BR112019023301A2 (ko)
SG (1) SG11201909120PA (ko)
TW (1) TWI725308B (ko)
WO (1) WO2018209035A1 (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10680646B2 (en) 2017-05-12 2020-06-09 Qualcomm Incorporated Row orthogonality in LDPC rate compatible design
US10879927B2 (en) * 2017-05-17 2020-12-29 Futurewei Technologies, Inc. Compact low density parity check (LDPC) base graph
CN108988869B (zh) * 2017-05-31 2021-07-30 大唐移动通信设备有限公司 一种确定校验矩阵的方法及装置、计算机存储介质
US10312939B2 (en) 2017-06-10 2019-06-04 Qualcomm Incorporated Communication techniques involving pairwise orthogonality of adjacent rows in LPDC code
CN111492586B (zh) * 2017-12-15 2022-09-09 华为技术有限公司 具有正交行的ldpc码的基矩阵设计方法及装置
WO2019164515A1 (en) * 2018-02-23 2019-08-29 Nokia Technologies Oy Ldpc codes for 3gpp nr ultra-reliable low-latency communications
US10979072B2 (en) * 2019-03-19 2021-04-13 Western Digital Technologies, Inc. Punctured bit estimation and bit error rate estimation
WO2020218629A1 (ko) * 2019-04-22 2020-10-29 엘지전자 주식회사 레이트-호환 비이진 ldpc 코드를 지원하기 위한 방법 및 이를 이용한 무선 단말
KR20210090483A (ko) 2020-01-10 2021-07-20 주식회사 엘지에너지솔루션 다공성 환원 그래핀 옥사이드, 이의 제조방법, 이를 포함하는 황-탄소 복합체 및 리튬 이차전지
CN112039536B (zh) * 2020-06-12 2023-04-18 中山大学 一种基于正交频分复用技术的自适应极化码编译码方法
EP4309313A1 (en) * 2021-03-18 2024-01-24 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
US20160261371A1 (en) 2013-11-29 2016-09-08 Panasonic Corporation Transmission method, transmitter, reception method, and receiver

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6633865B1 (en) 1999-12-23 2003-10-14 Pmc-Sierra Limited Multithreaded address resolution system
US6633856B2 (en) 2001-06-15 2003-10-14 Flarion Technologies, Inc. Methods and apparatus for decoding LDPC codes
US7000167B2 (en) * 2001-08-01 2006-02-14 International Business Machines Corporation Decoding low density parity check codes
US6961888B2 (en) 2002-08-20 2005-11-01 Flarion Technologies, Inc. Methods and apparatus for encoding LDPC codes
TWI272777B (en) * 2003-08-08 2007-02-01 Intel Corp Method and apparatus for varying lengths of low density parity check codewords
KR100981500B1 (ko) * 2006-02-07 2010-09-10 삼성전자주식회사 저밀도 패러티 검사 부호 기반의 하이브리드 재전송 방법
US20070245217A1 (en) * 2006-03-28 2007-10-18 Stmicroelectronics S.R.L. Low-density parity check decoding
WO2008075627A1 (ja) * 2006-12-18 2008-06-26 Mitsubishi Electric Corporation 符号化装置、符号化方法、符号化復号装置及び通信装置
CN101217337B (zh) * 2007-01-01 2013-01-23 中兴通讯股份有限公司 一种支持递增冗余混合自动重传的低密度奇偶校验码编码装置和方法
KR101445080B1 (ko) 2008-02-12 2014-09-29 삼성전자 주식회사 하이브리드 자동 반복 요구 방식을 사용하는 통신 시스템에서 신호 송신 방법 및 장치
US8392789B2 (en) * 2009-07-28 2013-03-05 Texas Instruments Incorporated Method and system for decoding low density parity check codes
US8504887B1 (en) * 2009-12-24 2013-08-06 Marvell International Ltd. Low power LDPC decoding under defects/erasures/puncturing
US8726122B2 (en) * 2011-05-11 2014-05-13 Samsung Electronics Co., Ltd. High throughput LDPC decoder
US20140229788A1 (en) 2013-02-13 2014-08-14 Qualcomm Incorporated Ldpc design for high rate, high parallelism, and low error floor
EP2989720A4 (en) 2013-04-25 2016-12-07 Qualcomm Inc METHOD AND APPARATUS OF LDPC ENCODER IN A 10GBASE-T SYSTEM
US10313054B2 (en) * 2015-01-07 2019-06-04 Avago Technologies International Sales Pte. Limited Low density parity check (LDPC) codes for communication devices and systems
US9787326B2 (en) * 2015-05-19 2017-10-10 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding low density parity check codes
US9742439B1 (en) * 2015-06-08 2017-08-22 Microsemi Solutions (U.S.), Inc. Method and device for forward error correction decoder system utilizing orthogonality of an H matrix
US10122508B2 (en) * 2015-07-31 2018-11-06 Lg Electronics Inc. Method and apparatus for configuring a long training field in a wireless local area network system
US10164659B2 (en) * 2016-05-12 2018-12-25 Mediatek Inc. QC-LDPC coding methods and apparatus
WO2018004521A1 (en) * 2016-06-27 2018-01-04 Intel Corporation Broken bandgap contact
WO2018128559A1 (en) * 2017-01-09 2018-07-12 Huawei Technologies Co., Ltd. Efficiently decodable qc-ldpc code
CA3041251C (en) * 2017-02-06 2020-12-08 Lg Electronics Inc. Ldpc code transmission method using row-orthogonal structure, and device therefor
US10680646B2 (en) 2017-05-12 2020-06-09 Qualcomm Incorporated Row orthogonality in LDPC rate compatible design

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160261371A1 (en) 2013-11-29 2016-09-08 Panasonic Corporation Transmission method, transmitter, reception method, and receiver

Also Published As

Publication number Publication date
BR112019023301A2 (pt) 2020-06-16
CN110622425A (zh) 2019-12-27
JP2020521362A (ja) 2020-07-16
EP3622627A1 (en) 2020-03-18
US20230030277A1 (en) 2023-02-02
SG11201909120PA (en) 2019-11-28
US11411581B2 (en) 2022-08-09
TW201902136A (zh) 2019-01-01
WO2018209035A1 (en) 2018-11-15
CN118018038A (zh) 2024-05-10
KR20200003829A (ko) 2020-01-10
US20200266832A1 (en) 2020-08-20
US10680646B2 (en) 2020-06-09
TWI725308B (zh) 2021-04-21
US11916571B2 (en) 2024-02-27
CN110622425B (zh) 2024-02-20
US20190013827A1 (en) 2019-01-10
JP6828190B2 (ja) 2021-02-10

Similar Documents

Publication Publication Date Title
KR102197173B1 (ko) 레이트 호환가능한 qc-ldpc 코드들에 대한 로우 직교성으로 패리티 체크 행렬들의 구성
AU2016351377B2 (en) Puncturing for structured low density parity check (LDPC) codes
EP3526900B1 (en) Modified min-sum decoder for ldpc codes
CN109964411B (zh) 对ldpc码的有效的列表解码
EP3535850B1 (en) Early termination for layered ldpc decoders
KR102265247B1 (ko) 파이프라인 방식의 높은-스루풋의 계층화된 ldpc 디코더 아키텍처
EP3535851A1 (en) Non-linear log-likelihood ratio quantization techniques for ldpc decoder architecture

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E701 Decision to grant or registration of patent right