KR20130023375A - 가변 크기들의 패킷들의 ldpc 인코딩 및 디코딩 - Google Patents

가변 크기들의 패킷들의 ldpc 인코딩 및 디코딩 Download PDF

Info

Publication number
KR20130023375A
KR20130023375A KR1020137002214A KR20137002214A KR20130023375A KR 20130023375 A KR20130023375 A KR 20130023375A KR 1020137002214 A KR1020137002214 A KR 1020137002214A KR 20137002214 A KR20137002214 A KR 20137002214A KR 20130023375 A KR20130023375 A KR 20130023375A
Authority
KR
South Korea
Prior art keywords
parity check
lift
check matrix
value
basic
Prior art date
Application number
KR1020137002214A
Other languages
English (en)
Other versions
KR101339120B1 (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 KR20130023375A publication Critical patent/KR20130023375A/ko
Application granted granted Critical
Publication of KR101339120B1 publication Critical patent/KR101339120B1/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
    • 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/1131Scheduling of bit node or check node processing
    • H03M13/1137Partly parallel processing, i.e. sub-blocks or sub-groups of nodes being processed in parallel
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/118Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
    • H03M13/1185Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure wherein the parity-check matrix comprises a part with a double-diagonal
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/118Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
    • H03M13/1185Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure wherein the parity-check matrix comprises a part with a double-diagonal
    • H03M13/1188Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure wherein the parity-check matrix comprises a part with a double-diagonal wherein in the part with the double-diagonal at least one column has an odd column weight equal or greater than three
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/615Use of computational or mathematical techniques
    • H03M13/616Matrix operations, especially for generator matrices or check matrices, e.g. column or row permutations
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • 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/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
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0006Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format
    • H04L1/0007Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format by modifying the frame length
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0009Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the channel coding
    • 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)
  • Mathematical Physics (AREA)
  • Engineering & Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Algebra (AREA)
  • Computing Systems (AREA)
  • Error Detection And Correction (AREA)

Abstract

저밀도 패리티 체크(LDPC) 인코딩 및 디코딩을 지원하기 위한 기술들이 설명된다. 한 형태에서, 상이한 차원의 한 세트의 기본 패리티 체크 행렬들 및 상이한 2의 거듭제곱의 한 세트의 리프트 값들을 기초로 가변 크기들의 패킷들의 LDPC 인코딩 및 디코딩이 지원될 수 있다. nB 코드 비트의 코드워드를 얻기 위해 kB = nB - mB 정보 비트들의 패킷을 인코딩하는데 mB×nB 차원의 기본 패리티 체크 행렬(G)이 사용될 수 있다. 이 기본 패리티 체크 행렬(G)은 L의 리프트 값만큼 "리프트"되어 L·mB × L·nB 차원의 리프트된 패리티 체크 행렬(H)을 얻을 수 있다. L·nB 코드 비트의 코드워드를 얻기 위해 L·kB까지의 정보 비트들의 패킷을 인코딩하는데 리프트된 패리티 체크 행렬이 사용될 수 있다. 한 세트의 기본 패리티 체크 행렬들과 한 세트의 리프트 값들로 넓은 범위의 패킷 크기들이 지원될 수 있다.

Description

가변 크기들의 패킷들의 LDPC 인코딩 및 디코딩{LDPC ENCODING AND DECODING OF PACKETS OF VARIABLE SIZES}
본 특허출원은 "LDPC HARMONIZATION"라는 명칭으로 2007년 1월 24일자 제출된 미국 예비 출원 60/886,496호에 대한 우선권을 주장하며, 이는 양수인에게 양도되었으며 본원에 참조로 통합된다.
본 개시는 일반적으로 통신에 관한 것으로, 더욱 구체적으로는 데이터를 인코딩 및 디코딩하기 위한 기술들에 관한 것이다.
통신 시스템에서, 송신기는 데이터의 패킷을 인코딩하여 코드 비트들을 얻고, 코드 비트들을 인터리빙하고, 인터리빙된 비트들을 변조 심벌들에 매핑할 수 있다. 송신기는 변조 심벌들을 처리하여 통신 채널을 통해 전송할 수 있다. 통신 채널은 특정 채널 응답에 의해 데이터 송신을 왜곡하고 또 잡음 및 간섭에 의해 데이터 송신을 저하할 수 있다. 수신기는 수신 심벌들을 얻을 수 있으며, 수신 심벌들은 전송된 변조 심벌들의 왜곡 및 저하된 버전들일 수도 있다. 수신기는 수신 심벌들을 처리하여 전송된 패킷을 복원할 수 있다.
송신기에 의한 인코딩은 수신기가 저하된 수신 심벌들을 갖는 전송된 패킷을 신뢰성 있게 복원하게 할 수 있다. 송신기는 코드 비트들에 리던던시를 생성하는 순방향 에러 정정(FEC) 코드를 기초로 인코딩을 수행할 수 있다. 수신기는 전송된 패킷의 복원 가능성을 개선하기 위하여 리던던시(redundancy)를 이용할 수 있다.
인코딩에는 다양한 타입의 FEC 코드가 사용될 수 있다. 몇 가지 일반적인 타입의 FEC 코드는 컨볼루션 코드, 터보 코드 및 저밀도 패리티 체크(LDPC) 코드를 포함한다. 컨볼루션 코드 또는 터보 코드는 k개의 정보 비트로 이루어진 패킷을 인코딩하여 약 r×k개의 코드 비트로 이루어진 코딩된 패킷을 생성할 수 있으며, 1/r은 컨볼루션 또는 터보 코드의 코드 레이트이다. 컨볼루션 코드는 한 번에 하나의 정보 비트에 대해 동작할 수 있는 인코더에 각 정보 비트를 통과시킴으로써 임의의 크기의 패킷을 쉽게 인코딩할 수 있다. 터보 코드는 또한 한 번에 하나의 정보 비트에 대해 동작할 수 있는 2개의 구성 인코더 및 상이한 패킷 크기를 지원할 수 있는 하나의 코드 인터리버를 이용함으로써 상이한 패킷 크기를 지원할 수도 있다. LDPC 코드는 특정한 동작 조건들 하에서 컨볼루션 및 터보 코드보다 우수한 성능을 가질 수 있다. 그러나 LDPC 코드는 통상적으로 특정 패킷 크기에 대해 설계되며, 다양한 크기의 패킷들을 쉽게 수용하지 못할 수도 있다.
따라서 다양한 크기의 패킷들의 효율적인 LDPC 인코딩 및 디코딩을 지원하기 위한 기술이 당업계에 필요하다.
여기서는 LDPC 인코딩 및 디코딩을 지원하기 위한 기술들이 설명된다. 한 형태에서, 상이한 차원(dimension)의 한 세트의 기본 패리티 체크 행렬들 및 상이한 2의 거듭제곱의 한 세트의 리프트(lifting) 값들로 가변 크기들의 패킷들의 LDPC 인코딩 및 디코딩이 효율적으로 지원될 수 있다. nB개의 코드 비트의 코딩된 패킷 또는 코드워드를 얻기 위해 kB = nB - mB개까지의 정보 비트들의 패킷을 인코딩하는데 mB×nB 차원의 기본 패리티 체크 행렬(G)이 사용될 수 있다. 이 기본 패리티 체크 행렬(G)은 L의 리프트 값만큼 "리프트"되어 L·mB × L·nB 차원의 리프트된 패리티 체크 행렬(H)을 얻을 수 있다. L·nB 코드 비트의 코드워드를 얻기 위해 L·kB까지의 정보 비트들의 패킷을 인코딩하는데 리프트된 패리티 체크 행렬(H)이 사용될 수 있다. 비교적 작은 세트의 기본 패리티 체크 행렬들과 비교적 작은 세트의 리프트 값들로 넓은 범위의 패킷 크기들이 지원될 수 있다. 리프트는 또한 효율적인 병렬 인코딩 및 디코딩을 가능하게 할 수 있으며, 이는 성능을 개선할 수 있다. 더욱이, 리프트는 큰 LDPC 코드들에 대한 설명 복잡도를 줄일 수 있다.
다른 형태에서, 하나의 리프트 값(예를 들어, 최대 리프트 값)에 대한 기본 패리티 체크 행렬의 0이 아닌 엘리먼트들에 대한 단일 세트의 순환 시프트 값들이 상이한 2의 거듭제곱의 다른 모든 리프트 값에 대한 순환 시프트 값들을 생성하는데 사용될 수 있다. 또 다른 형태에서, 적어도 3개의 0이 아닌 엘리먼트를 갖는 기본 패리티 체크 행렬의 열에서 2개의 0이 아닌 엘리먼트에 대해 s 및 s + L/m의 순환 시프트 값들이 선택될 수 있으며, s는 임의의 값이고 m은 2의 거듭제곱이다. 한 설계에서, m은 4와 같고 2개의 0이 아닌 엘리먼트에 대한 순환 시프트 값들은 s 및 s + L/4이다. 이러한 순환 시프트 값들은 인코딩 및 디코딩을 간소화할 수 있다.
본 개시의 다양한 형태 및 특징은 뒤에 더 상세히 설명한다.
도 1은 무선 통신 시스템을 나타낸다.
도 2는 기지국 및 단말의 블록도를 나타낸다.
도 3은 예시적인 LDPC 코드에 대한 태너(Tanner) 그래프를 나타낸다.
도 4는 기본 패리티 체크 행렬의 리프트를 나타낸다.
도 5는 4개의 순환 치환 행렬로 이루어진 세트를 나타낸다.
도 6은 리프트된 패리티 체크 행렬을 나타낸다.
도 7은 리프트된 패리티 체크 행렬의 다른 표현을 나타낸다.
도 8은 리프트된 패리티 체크 행렬에 대한 그래프를 나타낸다.
도 9는 데이터를 처리하기 위한 프로세스를 나타낸다.
도 10은 데이터를 처리하기 위한 장치를 나타낸다.
도 11은 패킷을 처리하기 위한 프로세스를 나타낸다.
도 12는 패킷을 처리하기 위한 다른 프로세스를 나타낸다.
도 13은 패킷을 처리하기 위한 장치를 나타낸다.
도 14는 패킷을 처리하기 위한 또 다른 프로세스를 나타낸다.
도 15는 패킷을 처리하기 위한 다른 장치를 나타낸다.
여기서 설명하는 기술들은 통신, 컴퓨팅, 네트워킹 등과 같은 다양한 애플리케이션에 사용될 수 있다. 이 기술들은 무선 시스템, 유선 시스템 등을 포함하는 다양한 통신 시스템에 사용될 수도 잇다. 간결성을 위해, 하기에서 기술들의 특정 형태들은 무선 통신 시스템에 대해 설명된다.
도 1은 무선 통신 시스템(100)을 나타내며, 이는 액세스 네트워크(AN)로 지칭될 수도 있다. 간소화를 위해, 도 1에는 하나의 기지국(110)과 2개의 단말(120, 130)만 도시되어 있다. 기지국은 단말들과 통신하는 스테이션이며, 액세스 포인트, 노드 B, 진화된 노드 B 등으로도 지칭될 수 있다. 단말은 고정적일 수도 있고 움직일 수도 있으며, 액세스 단말(AT), 이동국, 사용자 장비, 가입자 유닛, 스테이션 등으로 지칭될 수도 있다. 단말은 셀룰러폰, 개인 디지털 보조기기(PDA), 무선 통신 디바이스, 무선 모뎀, 핸드헬드 디바이스, 랩톱 컴퓨터, 무선 전화기 등일 수 있다. 단말은 임의의 소정 순간에 순방향 및/또는 역방향 링크를 통해 기지국과 통신할 수 있다. 순방향 링크(또는 다운링크)는 기지국에서 단말로의 통신 링크를 말하고, 역방향 링크(또는 업링크)는 단말에서 기지국으로의 통신 링크를 말한다. 도 1에서, 단말(120)은 순방향 링크(122)를 통해 기지국(110)으로부터 데이터를 수신할 수 있고 역방향 링크(124)를 통해 데이터를 전송할 수 있다. 단말(130)은 순방향 링크(132)를 통해 기지국(110)으로부터 데이터를 수신할 수 있고 역방향 링크(134)를 통해 데이터를 전송할 수 있다. 여기서 설명하는 기술들은 순방향 링크는 물론 역방향 링크를 통한 송신에 사용될 수 있다.
도 2는 도 1의 기지국(110) 및 단말(120) 설계의 블록도를 나타낸다. 이 설계에서, 기지국(110)은 S개의 안테나(224a-224s)를 구비하고, 단말(120)은 T개의 안테나(252a-252t)를 구비하며, 일반적으로 S ≥ 1이고 T ≥ 1이다.
순방향 링크 상에서, 기지국(110)에서는 송신(TX) 데이터 프로세서(210)가 데이터 소스(208)로부터 데이터의 패킷을 수신하고, 패킷 포맷을 기초로 패킷을 처리(예를 들어, 인코딩, 인터리빙 및 심벌 매핑)하여 데이터 심벌들을 제공할 수 있으며, 데이터 심벌들은 데이터에 대한 변조 심벌이다. TX MIMO 프로세서(220)는 데이터 심벌들을 파일럿 심벌들과 다중화할 수 있고, 적용 가능하다면 공간 처리(예를 들어, 프리코딩)를 수행하여 S개의 송신기(TMTR; 222a-222s)에 S개의 출력 심벌 스트림을 제공할 수 있다. 각 송신기(222)는 (예를 들어, OFDM에 대한) 출력 심벌 스트림을 처리하여 출력 칩 스트림을 얻을 수 있다. 각 송신기(222)는 출력 칩 스트림을 추가 조정(예를 들어, 아날로그로 변환, 필터링, 증폭 및 상향 변환)하여 순방향 링크 신호를 생성할 수 있다. 송신기(222a-222s)로부터의 S개의 순방향 링크 신호는 각각 S개의 안테나(224a-224s)를 통해 전송될 수 있다.
단말(120)에서, T개의 안테나(252a-252t)가 기지국(110)으로부터 순방향 링크 신호들을 수신할 수 있고 각 안테나(252)는 수신 신호를 각각의 수신기(RCVR; 254)에 제공할 수 있다. 각 수신기(254)는 수신 신호를 처리(예를 들어, 필터링, 증폭, 하향 변환 및 디지털화)하여 샘플들을 얻을 수 있고, (예를 들어, OFDM에 대한) 샘플들을 추가 처리하여 수신 심벌들을 얻을 수 있으며, 수신 심벌들을 MIMO 검출기(256)에 제공할 수 있다. MIMO 검출기(256)는 적용 가능하다면 수신 심벌들에 대해 MIMO 검출을 수행하여 검출 심벌들을 제공할 수 있다. 수신(RX) 데이터 프로세서(260)는 검출 심벌들을 처리(예를 들어, 심벌 디매핑, 디인터리빙 및 디코딩)하여 디코딩된 데이터를 데이터 싱크(262)에 제공할 수 있다. 일반적으로, MIMO 검출기(256) 및 RX 데이터 프로세서(260)에 의한 처리는 기지국(110)에서의 TX MIMO 프로세서(220) 및 TX 데이터 프로세서(210)에 의한 처리와 상보적이다.
역방향 링크 상에서, 단말(120)에서는 데이터 소스(278)에 의해 데이터의 패킷이 제공되어 TX 데이터 프로세서(280)에 의해 처리(예를 들어, 인코딩, 인터리빙 및 심벌 매핑)될 수 있다. TX 데이터 프로세서(280)로부터의 데이터 심벌들은 파일럿 심벌들과 다중화되고 TX MIMO 프로세서(282)에 의해 공간 처리되며, 또 송신기(254a-254t)에 의해 처리되어 T개의 역방향 링크 신호를 생성할 수 있으며, 이들은 안테나(252a-252t)를 통해 전송될 수 있다. 기지국(110)에서, 단말(120)로부터의 역방향 링크 신호들은 안테나(224a-224s)에 의해 수신되고, 수신기(222a-222s)에 의해 처리되며, MIMO 검출기(238)에 의해 검출되고, RX 데이터 프로세서(240)에 의해 추가 처리되어 단말(120)에 의해 전송된 패킷을 복원할 수 있다.
제어기/프로세서(230, 270)는 각각 기지국(110) 및 단말(120)에서의 동작을 지시할 수 있다. 제어기/프로세서(230, 270)는 전송 및/또는 수신될 패킷들의 크기를 결정할 수 있다. 그리고 제어기/프로세서(230, 270)는 각각 TX 데이터 프로세서(210, 280)에 의한 인코딩을 지시할 수 있고, 그리고/또는 각각 RX 데이터 프로세서(240, 260)에 의한 디코딩을 지시할 수 있다. 메모리(232, 272)는 각각 기지국(110) 및 단말(120)에 대한 데이터 및 프로그램 코드들을 저장할 수 있다.
한 형태에서, 상이한 차원의 한 세트의 기본 패리티 체크 행렬들 및 상이한 2의 거듭제곱의 한 세트의 리프트 값들에 의해 다양한 크기의 패킷들의 LDPC 인코딩 또는 디코딩이 효율적으로 지원될 수 있다. 기본 패리티 체크 행렬들은 상이한 (kB, nB) 레이트의 기본 LDPC 코드들에 대한 것일 수 있으며, 여기서 kB는 정보 비트 수이고 nB는 코드 비트 수이다. 각각의 기본 LDPC 코드는 후술하는 바와 같이 리프트되어 한 세트의 리프트된 LDPC 코드들을 얻을 수 있고, 이는 상이한 크기의 패킷들을 인코딩 또는 디코딩하는데 사용될 수 있다. 기본 그래프에서 패리티 비트들을 추가 또는 제거하여 LDPC 코드들을 길어지게 하거나 짧아지게 함으로써 한 범위의 패킷 크기들이 지원될 수 있다.
LDPC 코드는 비교적 적은 0이 아닌/널이 아닌 엘리먼트를 갖고 거의 0/널 엘리먼트를 갖는 희소(sparse) 패리티 체크 행렬에 의해 정의될 수 있다. 패리티 체크 행렬은 코드 비트들에 대해 한 세트의 선형 제약들을 정의하며 태너(Tanner) 그래프의 형태로 표현될 수 있다.
도 3은 예시적인 기본 LDPC 코드에 대한 태너 그래프(300)를 나타낸다. 이 예에서, 태너 그래프(300)는 7개의 원으로 표현된 7개의 가변 노드(V1~V7) 및 4개의 정사각형으로 표현된 4개의 체크 노드(C1~C4)를 포함한다. 각 가변 노드는 코드 비트를 나타내며, 이는 전송될 수도 있고 펑처링될 수도 있다(즉, 전송되지 않을 수도 있다). 가변 노드(V1~V7)에 대한 7개의 코드 비트는 코드워드를 형성한다. 각 체크 노드는 제약을 나타내며, 4개의 체크 노드(C1~C4)는 기본 LDPC 코드를 정의하는 4개의 제약을 나타내었다. 가변 노드들은 에지들을 통해 체크 노드들에 연결된다. 이 예에서는, 16개의 에지(a~p)가 7개의 가변 노드를 4개의 체크 노드에 연결한다. 노드의 등급(degree)은 해당 노드에 연결된 에지 수와 동일하다. 이 예에서, 가변 노드(V1, V2)는 등급 3 노드이고, 가변 노드(V3~V7)는 등급 2 노드이다. 체크 노드마다, 해당 체크 노드에 연결된 가변 노드들에서의 모든 코드 비트는 합이 0(modulo-2)이 되도록 제약된다.
도 3은 또한 태너 그래프(300)에 대응하는 기본 패리티 체크 행렬(H b )을 나타낸다. H b 는 7개의 가변 노드(V1~V7) 및 4개의 체크 노드(C1~C4)에 대한 4개의 행을 포함한다. H b 의 각각의 열은 해당 열에 대응하는 가변 노드에 연결된 각 에지에 대해 1 엘리먼트를 포함한다. 예를 들어, 열 1은 태너 그래프(300)에서 대응하는 가변 노드(V1)를 체크 노드(C1, C2, C3)에 연결하는 3개의 에지(a, b, c)에 대한 행 1, 2, 3에 3개의 1을 포함한다. H b 의 나머지 각각의 열은 대응하는 가변 노드를 2개 또는 3개의 체크 노드에 연결하는 2개 또는 3개의 에지에 대한 2개 또는 3개의 1을 포함한다.
LDPC 코드에 대한 제약들은 다음과 같은 행렬 형태로 표현될 수 있다: 0 = Hx 식(1) 여기서 H는 LDPC 코드에 대한 mB×nB 패리티 체크 행렬이고, x는 코드워드에 대한 nB개의 코드 비트로 이루어진 nB×1 열 벡터이며, 0은 모두 0인 열 벡터이다.
간소화를 위해, 하기의 설명에서 0은 모두 0인 벡터 또는 행렬을 나타낼 수 있다. 식(1)에서의 행렬 곱은 modulo-2 계산에 의한 것이다. 코드워드는 식(1)에서의 제약들이 충족된다면 유효한 것으로 간주된다. 코드워드(x)를 얻기 위한 패리티 체크 행렬(H)에 기반한 패킷의 인코딩이 하기에 설명된다.
작은 기본 LDPC 코드가 리프트되어 더 큰 리프트된 LDPC 코드를 얻을 수 있다. 기본 LDPC 코드에 대한 기본 패리티 체크 행렬에서 0이 아닌 각 엘리먼트를 L×L 치환 행렬로 대체함으로써 리프트가 이루어져 리프트된 LDPC 코드에 대한 리프트된 패리티 체크 행렬을 얻을 수 있다. 이 결과, 기본 LDPC 코드에 대한 기본 그래프의 L개의 사본이 생성된다. 치환 행렬들은 각 그래프 사본의 가변 노드들이 L개의 그래프 사본의 체크 노드들에 어떻게 연결되는지를 결정한다.
도 4는 도 3에 나타낸 기본 패리티 체크 행렬(H b )에 대한 리프트의 예를 나타낸다. 태너 그래프의 에지에 대응하는 H b 의 0이 아닌 각 엘리먼트는 L×L 치환 행렬(σ)로 대체되어 리프트된 패리티 체크 행렬(H l )을 얻는다. H b 의 16개의 0이 아닌 엘리먼트에 대한 16개의 치환 행렬은 σ a 내지 σ p 로 표기되고, σ a 는 도 3의 에지(a)에 대한 치환 행렬이다.
치환 행렬들은 다양한 방식으로 정의될 수 있다. 한 설계에서는, 한 세트의 치환 행렬들이 미리 정의될 수 있고, 이 미리 정의된 치환 행렬들의 세트에서 기본 패리티 체크 행렬의 0이 아닌 각 엘리먼트에 대한 치환 행렬이 선택될 수 있다. 다른 설계에서는, 기본 패리티 체크 행렬의 0이 아닌 엘리먼트들에 순환 치환 행렬들이 사용된다.
도 5는 L = 4인 경우 4개의 순환 치환 행렬로 이루어진 세트를 나타낸다. 이 예에서, 각 치환 행렬은 4×4의 차원을 갖는다. 순환 시프트 값이 0인 치환 행렬(σ 0)은 대각선을 따라서는 1, 다른 곳에는 0을 갖는 항등 행렬(I)과 같다. 순환 시프트 값이 1인 치환 행렬(σ 1)은 항등 행렬의 가장 아래의 행을 맨 위로 이동 또는 시프트되도록 한 것이다. 순환 시프트 값이 2인 치환 행렬(σ 2)은 항등 행렬의 맨 아래 2개의 행을 맨 위로 이동시킨 것이다. 순환 시프트 값이 3인 치환 행렬(σ 3)은 항등 행렬의 맨 아래 3개의 행을 맨 위로 이동시킨 것이다. 일반적으로, s의 순환 시프트 값에 대한 L×L 치환 행렬(σ s )은 항등 행렬의 맨 아래 s개의 행을 맨 위로 이동시킨 것이며, 여기서 0 ≤ s ≤ L - 1이다.
도 6은 16개의 치환 행렬(σ a ~σ p ) 각각이 도 5에 나타낸 4개의 순환 치환 행렬(σ 0~σ 3) 중 하나로 대체된 도 4의 리프트된 패리티 체크 행렬(H l )의 예를 나타낸다. 도 6의 아래쪽은 각각의 순환 치환 행렬이 0과 1로 이루어진 대응하는 4×4 행렬로 대체된 리프트된 패리티 체크 행렬(H l )을 나타낸다.
기본 패리티 체크 행렬(H b )의 각각의 0이 아닌 엘리먼트를 4×4 치환 행렬로 대체하면 기본 LDPC 코드에 대한 기본 그래프의 4개의 사본이 생성된다. 소정의 가변 노드(V u ) 및 소정의 체크 노드(C v )에 대응하는 4×4 치환 행렬의 경우, 이 치환 행렬의 4개의 열은 4개의 그래프 사본의 가변 노드(V u )에 대응하고, 이 치환 행렬의 4개의 행은 4개의 그래프 사본의 체크 노드(C v )에 대응한다. 치환 행렬에서 1들은 4개의 그래프 사본의 가변 노드(V u )를 4개의 그래프 사본의 체크 노드(C v )에 연결하는 에지들에 대응한다. 특히, yx열의 1은 그래프 사본(x)의 가변 노드(V u )가 그래프 사본(y)의 체크 노드(C u )에 연결됨을 의미한다. 예로서, 순환 치환 행렬(σ 1)이 H l 의 가변 노드(V1) 및 체크 노드(C1)에 대한 0이 아닌 엘리먼트에 사용된다. 행렬(σ 1)은 2행 1열에 1을 포함하고, 이는 그래프 사본(1)의 가변 노드(V1)가 그래프 사본(2)의 체크 노드(C1)에 연결됨을 의미한다.
도 7은 도 3에 나타낸 기본 패리티 체크 행렬(H b )을 기초로 생성된 리프트된 패리티 체크 행렬(H l )의 표현을 나타내며, L = 8이다. 이 표현에서, 8×16 그리드(710)는 8개의 모든 그래프 사본의 7개의 가변 노드에 대한 에지들을 저장한다. 그리드(710)의 각각의 행은 하나의 그래프 사본에 대응한다. 각각의 행에서 16개의 박스는 하나의 그래프 사본의 7개의 가변 노드에 대한 16개의 에지(a~p)에 대응한다. 8×16 그리드(720)는 8개의 모든 그래프 사본의 4개의 체크 노드에 대한 에지들을 저장한다. 그리드(720)의 각각의 행은 하나의 그래프 사본에 대응한다. 각각의 행에서 16개의 박스는 하나의 그래프 사본의 4개의 체크 노드에 대한 16개의 에지(a~p)에 대응한다.
도 7은 또한 이 예에서는 순환 치환 행렬(σ 3)을 갖는 에지(d)에 대한 가변 노드(V2)의 8개의 사본과 체크 노드(C2)의 8개의 사본과의 연결을 나타낸다. 따라서 행렬(σ 3)로 인해 에지(d)의 8개의 사본이 3개의 위치만큼 아래로 순환 시프트한다. 나머지 에지들은 각각 L = 8인 경우 0 내지 7의 범위 내의 값만큼 순환 시프트할 수 있다.
일반적으로, 그리드는 기본 패리티 체크 행렬의 각 에지에 대한 하나의 열과 L개의 그래프 사본 각각에 대한 하나의 행을 포함할 수 있다. 각 에지의 L개의 사본은 해당 에지에 대한 순환 치환 행렬에 의해 결정된 양만큼 순환 시프트할 수 있다.
도 3 내지 도 6은 도 3에 나타낸 기본 패리티 체크 행렬(H b )에 의한 예시적인 기본 LDPC 코드 및 도 6에 나타낸 리프트된 패리티 체크 행렬(H l )로 더 큰 LDPC 코드를 얻기 위한 이 기본 LDPC 코드의 리프트를 보여준다. 상이한 차원의 순환 치환 행렬들을 사용함으로써 상이한 크기의 리프트가 이루어질 수 있다. 기본 패리티 체크 행렬(H b )의 에지들은 0 내지 L-1의 범위 내의 값만큼 순환 시프트할 수 있다. 기본 패리티 체크 행렬의 에지들에 대한 순환 시프트 값들은 코딩 성능을 기초로 선택될 수 있다.
한 설계에서, 6 내지 11 범위의 상이한 kB 값에 대해 6개의 기본 LDPC 코드의 세트가 정의될 수 있다. 표 1은 한 설계에 따른 6개의 기본 LDPC 코드의 각종 파라미터를 기재하고 있다. 한 설계에서, "Physical Layer for Ultra Mobile Broadband (UMB) Air Interface Specification"이라는 제목의 2007년 8월 3GPP2 C.S0084-001에 기재된 바와 같이 6개의 기본 LDPC 코드가 구현될 수 있으며, 이는 공공연하게 이용 가능하다. 기본 LDPC 코드들은 다른 설계들로 구현될 수도 있다.
Figure pat00001
한 설계에서, 4, 8, 16, 32, 64, 128, 256, 512, 1024의 9개의 리프트 값의 세트가 지원될 수 있다. 이 설계에서, 최소 리프트 값은 Lmin = 4이고, 최대 리프트 값은 Lmax = 1024이다. 이 리프트 값들은 상이한 2의 거듭제곱이고, 이는 어떤 이점들을 제공할 수 있다. 6 내지 11 범위의 kB를 갖는 6개의 기본 LDPC 코드와 4 내지 1024 범위의 9개의 리프트 값에 의해 24 내지 11,264 비트 범위의 총 54개의 상이한 패킷 크기가 지원될 수 있다. 일반적으로, 임의의 범위의 리프트 값들이 지원될 수도 있으며, Lmin과 Lmax는 임의의 적당한 값일 수 있다.
표 2는 한 설계에 따른 기본 패리티 체크 행렬(G 0)의 파라미터들을 제공한다. 표 1에 나타낸 것과 같이, G 0은 27×33의 차원을 갖고 0 내지 26의 인덱스를 갖는 27개의 행과 0 내지 32의 인덱스를 갖는 33개의 열을 포함한다. 행마다 표 2의 두 번째 열은 행 등급을 제공하며, 이는 행에서 0이 아닌 엘리먼트의 개수에 대응한다. 표 2의 세 번째 열은 각 행에서 0이 아닌 엘리먼트들의 열 위치를 제공한다. 표 2의 네 번째 열은 각 행에서 0이 아닌 엘리먼트 각각에 대한 순환 시프트 값을 제공한다. Lmax = 1024인 경우, 순환 시프트 값들은 0 내지 1023의 범위 내에 있다. 기본 패리티 체크 행렬(G 1~G 5)의 예시적인 설계들은 상술한 3GPP2 C.S0084-001에 기술되어 있다.
Figure pat00002
한 설계에서, k 크기의 패킷에 대해 다음과 같이 기본 패리티 체크 행렬 및 리프트 값이 선택될 수 있다. 우선, 패킷 크기(k)를 기초로 다음과 같이 리프트 값(L)이 선택될 수 있다:
Figure pat00003
식(2) 여기서 kB , max는 모든 기본 LDPC 코드에 대한 최대 정보 비트 수이고, "
Figure pat00004
"는 천장 연산자(ceiling operator)를 나타낸다. 표 1에 나타낸 기본 LDPC 코드들의 세트에 대해 kB , max = 11이지만, 기본 LDPC 코드들의 다른 세트들에 대해서는 다른 값과 같을 수도 있다.
그 다음, 패킷 크기(k) 및 선택된 리프트 값(L)을 기초로 다음과 같이 기본 패리티 체크 행렬이 선택될 수 있다:
Figure pat00005
식(3) 선택된 기본 패리티 체크 행렬의 인덱스는 i = kB - 6으로 주어질 수 있다. 선택된 기본 패리티 체크 행렬은 다음 설명에서 G로 표기된다.
선택된 기본 패리티 체크 행렬(G) 및 선택된 리프트 값(L)은 kB·L 정보 비트까지 인코딩할 수 있고 nB·L 코드 비트를 제공할 수 있다. 패킷의 끝에 zP = kB·L - k개의 0을 첨부함으로써 패킷이 kB·L의 길이로 제로 패딩(zero-pad)될 수 있다. 제로 패딩된 패킷은 리프트된 패리티 체크 행렬에 의해 인코딩되어 nB·L 코드 비트를 얻을 수 있다. (n, k) 코드의 경우, zP개의 패딩된 제로뿐 아니라 nB·L - n - zP개의 패리티 비트들도 펑처링되어 n개의 코드 비트로 이루어진 코드워드를 얻을 수 있다.
패킷을 인코딩하기 위해, 우선 선택된 기본 패리티 체크 행렬(G) 및 선택된 리프트 값(L)을 기초로 리프트된 패리티 체크 행렬(H)이 생성될 수 있다. 패킷은 리프트된 패리티 체크 행렬(H)을 기초로 인코딩될 수 있다.
리프트된 패리티 체크 행렬(H)을 생성하기 위해, 선택된 기본 패리티 체크 행렬(G)의 0이 아닌 각 엘리먼트에 대한 순환 시프트 값이 다음과 같이 결정될 수 있다:
Figure pat00006
식(4) 여기서 g는 Lmax만큼의 리프트를 가정한 G의 0이 아닌 엘리먼트에 대한 순환 시프트 값이고, g'는 L만큼의 리프트를 갖는 G의 0이 아닌 엘리먼트에 대한 순환 시프트 값이다.
표 2의 네 번째 열은 Lmax = 1024인 경우에 G 0의 0이 아닌 엘리먼트들에 대한 순환 시프트 값들을 제공한다. 다른 기본 패리티 체크 행렬들의 0이 아닌 엘리먼트들에 대한 순환 시프트 값들이 생성되어 비슷한 표에 저장될 수도 있다. 일반적으로, Lmax에 대해 G의 0이 아닌 엘리먼트들에 대한 순환 시프트 값들이 생성되어 Lmin 내지 Lmax의 모든 리프트 값에 사용될 수 있다. 이는 단 한 세트의 순환 시프트 값들이 G에 저장되어 모든 리프트 값에 사용될 수 있기 때문에 설계를 간소화할 수 있다. 식(4)은 본래 g의 0개 이상의 최하위 비트(LSB)를 제거하여 선택된 리프트 값(L)에 대한 g'를 얻을 수 있다. Lmax = 1024인 설계에서, L = 512라면 하나의 LSB가 제거될 수 있고, L = 256이라면 2개의 LSB가 제거될 수 있는 식이다. LSB들의 제거는 상이한 시프트 파라미터들 간의 관계, 예를 들어 후술하는 s' = s + L/4를 유지할 수 있고, 이는 인코딩을 간소화할 수 있다. 다른 설계에서, g'를 얻기 위해 modulo-L 연산을 수행함으로써 g의 0개 이상의 최상위 비트(MSB)가 제거될 수 있다. g'는 다른 방식으로 얻어질 수도 있다.
한 설계에서, G의 0이 아닌 엘리먼트 각각은 순환 치환 행렬(σ g' )로 대체되어 리프트된 패리티 체크 행렬(H)을 얻을 수 있다. σ g' 는 항등 행렬(I)을 g'만큼 순환 시프트함으로써 얻어질 수 있다. 다른 설계에서, G의 0이 아닌 엘리먼트 각각은 2×2 행렬로 대체되어 (G')을 얻을 수 있다. 이 2×2 행렬은 g'가 짝수 값이라면
Figure pat00007
, g'가 홀수 값이라면
Figure pat00008
일 수 있다. G'의 0이 아닌 엘리먼트 각각은 g'/2 , (g'-1)/2 또는 (g'+1)/2씩 순환 시프트하는 순환 치환 행렬로 대체되어 리프트된 패리티 체크 행렬(H)을 얻을 수 있다. HG를 기초로 다른 방식으로 생성될 수도 있다.
리프트된 패리티 체크 행렬(H)의 열들과 행들은 결과 행렬이 다음과 같은 형태를 갖도록 재정렬 또는 치환될 수 있다:
Figure pat00009
식(5) 여기서 M 1은 N = M + kB·L인 M×N 행렬이고, M 2는 (mB·L - M)×N 행렬이며, 0은 모두 0인 M×(nB·L - N) 행렬이다. H의 오른쪽 아래 코너에 있는 항등 행렬은 하위 삼각 행렬로 대체될 수 있으며, 이는 대각선 아래에 0이 아닌 엘리먼트들을 가질 수 있다.
M 1의 차원은 선택된 기본 패리티 체크 행렬에 좌우될 수 있고 코드 인덱스(i)의 함수일 수 있다. M 1은 다음 형태를 가질 수 있다:
Figure pat00010
,
Figure pat00011
는 반전될 수 있음 식(6) 여기서 A는 (M - L/2)×(kB·L) 행렬, B는 (M - L/ 2)×(L/2) 행렬, C는 (L/2)×(kB·L) 행렬, D는 (L/2)×(L/2) 행렬, E는 (L/2)×(N - kB·L) 행렬, T는 대각선을 따라서는 1, 대각선 위에는 0을 갖는 (M - L/2)×(M - L/2) 하위 삼각 행렬이다.
리프트된 LDPC 코드에 대한 제약들은 다음과 같이 표현될 수 있다:
Figure pat00012
,
Figure pat00013
식(7) 여기서 x 1은 정보 비트들과 패리티 비트들의 N×1 열 벡터이고, p 3은 패리티 비트들의 (nB·L - N)×1 열 벡터이다.
식(5)에서 H의 상부 오른쪽 코드에 있는 영행렬(0) 때문에, 식(7)의 일부는 다음과 같이 표현될 수 있다:
Figure pat00014
,
Figure pat00015
식(8) 여기서 s는 패킷에서 정보 비트들의 (kB·L)×1 열 벡터이고, p 1은 패리티 비트들의 (L/2)×1 열 벡터이며, p 2는 패리티 비트들의 (M - L/2)×1 열 벡터이다.
식(8)을 풀기 위해, M 1은 다음과 같이
Figure pat00016
와 미리 곱해질 수 있다:
Figure pat00017
식(9) 여기서 φ = -E T -1 B + D이다.
식(8)과 식(9)은 결합하여 다음을 얻을 수 있다: A s + B p 1 + T p 2 = 0 식(10) (-E T -1 A + C)s + φ p 1 = 0 식(11)
패리티 비트(p 1, p 2, p 3)는 다음과 같이 계산될 수 있다: p 1 = -φ -1(-E T -1 A + C)s 식(12) p 2 = -T -1(A s + B p 1) 식(13) p 3 = -M 2 x 1 식(14) 여기서 x 1은 식(8)에 나타낸 것과 같은 s, p 1, p 2를 포함한다. H의 오른쪽 아래 코너에 있는 항등 행렬이 하위 삼각 행렬로 대체된다면, (하향식) 후진 대입법을 이용하여 식(14)을 풀 수 있다.
p 1, p 2, p 3에 대한 계산은 단계들에서 식(12) 및 식(13)의 행렬 곱을 수행하고, 중간 결과들을 저장하여 나중 단계들에 중간 결과들을 사용함으로써 간소화될 수 있다.
리프트된 패리티 체크 행렬(H)은 최저 코드 레이트에 대한 것이며, 이는 r = kB/nB로 주어질 수 있다. H는 펑처링되어 더 높은 레이트들을 얻을 수 있다. LDPC 코드들은 외부 패리티 비트들을 갖는 높은 레이트의 내부 "코어" LDPC 코드로서 조직화된다. 인코딩은 순차적 방식으로 수행되어 원하는 개수의 코드 비트들을 얻을 수 있다. 예를 들어, 먼저 패리티 비트들(p 1)이 식(12)에 나타낸 것과 같이 계산될 수 있고, 다음에 (필요하다면) 식(13)에 나타낸 것과 같이 패리티 비트들(p 2)이 계산될 수 있으며, 마지막으로 (필요하다면) 식(14)에 나타낸 것과 같이 패리티 비트들(p 3)이 계산될 수 있다.
시스템은 하이브리드 자동 재전송(HARQ)을 지원할 수 있다. HARQ를 위해, 송신기는 패킷의 제 1 송신을 수신기에 전송할 수 있고, 이후 필요하다면 패킷이 수신기에 의해 정확히 디코딩될 때까지 또는 최대 개수의 송신들이 전송되었을 때까지 또는 다른 어떤 종료 조건과 마주할 때까지 하나 이상의 추가 송신(또는 재전송들)을 전송할 수 있다. 각각의 기본 LDPC 코드에 대해, HARQ 확장들의 시퀀스가 생성되어 시스템에 의해 지원되는 모든 코드 레이트에 이를 수도 있다. HARQ 확장들은 패리티 비트들을 펑처링함으로써 정의될 수 있다. 대부분의 펑처링은 제 3 패리티 비트들(p 3)에 있을 수 있지만, 펑처링의 일부는 제 2 패리티 비트들(p 2)에 있을 수도 있다.
도 8은 기본 패리티 체크 행렬(G)의 기본 그래프(800)를 나타내며, 이는 식(5) 및 식(6)에 나타낸 형태를 가질 수 있다. 그래프(800)는 예시를 위해서만 사용되고 상술한 기본 패리티 체크 행렬들 중 어떤 것에도 부합하지 않는다. 기본 그래프(800)는 다수의 정사각형 박스를 포함하며, 각각의 정사각형 박스는 기본 패리티 체크 행렬의 엘리먼트를 나타낸다. 기본 패리티 체크 행렬의 0이 아닌 엘리먼트 각각은 마킹된 박스로 표현된다. 마킹된 각 박스는 기본 패리티 체크 행렬을 L의 리프트 값만큼 리프트함으로써 얻어진 L개의 에지 사본에 대한 순환 시프트의 양을 결정하는 순환 시프트 값과 연관된다.
코드워드는 그래프(800)의 상부를 따라 정보 비트들과 패리티 비트들로 구성된다. 코드워드의 비트들은 패리티 열들의 일부 재정렬을 제외하고, 왼쪽에서 시작해서 오른쪽으로 이동하여 전송될 수 있다.
기본 그래프(800)는 기본 그래프의 상부를 따라 정보 비트들(s), 제 1 패리티 비트들(p 1), 제 2 패리티 비트들(p 2), 제 3 패리티 비트들(p 3)을 포함한다. 제 1 패리티 비트들은 제 1 세트의 제약들과 연관되고, 제 2 패리티 비트들은 제 2 세트의 제약들과 연관되며, 제 3 패리티 비트들은 제 3 세트의 제약들과 연관된다. 기본 그래프(800)의 핵심부는 정보 비트들과 제 1 및 제 2 패리티 비트들을 나타내는 가변 노드들과 제 1 및 제 2 세트의 제약들을 나타내는 제약 노드들로 구성된다. 핵심부는 통상적으로 등급 1의 가변 노드들을 포함하지 않는다. 제 3 패리티 비트들 및 제 3 제약 세트의 제약들(또는 제 3 패리티 제약들)은 서로 1대1 대응하며, 이는 기본 그래프(800)의 오른쪽 하단 코너에 있는 항등 행렬로 도시된다. 제 3 패리티 비트들 및 제 3 패리티 제약들은 각각의 제 3 패리티 비트가 정보 비트들, 제 1 패리티 비트들, 제 2 패리티 비트들 및 이전 제 3 패리티 비트들의 패리티로서 결정될 수 있도록 선형 정렬될 수 있다. 1대1 대응에 의해 제 3 패리티 비트와 연관된 제 3 패리티 제약 노드는 에지에 의해 제 3 패리티 비트의 가변 노드뿐 아니라 이 제 3 패리티 비트가 패리티 비트인 비트들을 나타내는 가변 노드에도 연결된다.
도 8에 나타낸 설계는 인코딩을 간소화할 수 있는 몇 가지 특징을 포함한다. 제 1 및 제 2 패리티 비트들의 가변 노드들은 등급 2 또는 등급 3이다. 인코딩을 간소화하기 위해, 하나의 제 1 패리티 비트가 등급 3인 하나의 가변 노드와 연관될 수 있고, 제 2 패리티 비트들은 등급 2인 가변 노드들과 연관될 수 있다. 등급 3 가변 노드는 행렬(B, D)에 대한 열(810)로 도시되고, 열(810)은 3개의 0이 아닌 엘리먼트에 대한 3개의 어두운 정사각형 박스를 포함한다. 등급 2 가변 노드들은 축적 체인 구조로 구성되며, 이는 이중 대각 구조로도 알려져 있다. 이 이중 대각 구조는 삼각 행렬(T)의 각 열에 2개의 마킹된 박스가 적층된 삼각 행렬(T)로 도시된다. 이중 대각 구조는 코드 성능 및 인코딩에 중요성을 가질 수 있다. 상당수의 등급 2 가변 노드를 갖는 것은 성능을 개선할 수 있고, 이중 대각 형태로 등급 2 가변 노드들을 갖는 것은 이러한 가능성을 거의 확실하게 한다. 이중 대각 구조는 또한 등급 2 가변 노드들이 거의 컨볼루션 코드와 같이 쉽게 귀납적으로 인코딩되게 할 수 있다. H 행렬 구조는 적절히 정렬될 때 대각선 (1, 1), (2, 2) 등과 0이 아닌 엘리먼트들을 포함하는 서브 대각선 (2, 1), (3, 2) 등만 갖는 서브 행렬(T)을 포함할 수 있다. 흔히, 이중 대각 구조에 대응하는 에지들에는 리프트 값(0)이 주어지고, 이는 치환을 의미하지 않으며 리프트된 그래프에 L개의 개별 체인을 형성한다.
이중 대각 구조와 연관된 그래프에서 루프를 닫기 위해 기본 그래프에서 등급 3 가변 노드의 에지들 중 2개가 연결될 수 있다. 이 상황에서 인코딩을 간소화하기 위해, 등급 3 가변 노드의 3개의 에지에 대한 리프트 값들은 x, s, s' = (s + L/m) mod L 형태일 수 있으며, m은 2의 거듭제곱이고 x와 s는 임의의 값일 수 있다. 모든 순환 시프트가 반전되면, 코드는 변경되지 않는데 이는 결국 리프트에서 제약 노드들의 순서를 반전하는 것이 되기 때문이다. 따라서 x, s, s' = (s - L/m) mod L 형태의 리프트 값들 또한 사용될 수 있다. 행렬 φ = -E T -1 B + D가 낮은 등급의 인수로 인수분해될 수 있고 그 자체가 가중치가 낮기 때문에 인코딩이 간소화될 수 있다.
등급 3 가변 노드의 2개의 0이 아닌 엘리먼트에 대한 순환 시프트 값들은 s 및 s'일 수 있고, 여기서 s는 임의로 선택된 값이고 s'는 여러 가지 방식으로 선택될 수 있다. 첫 번째 설계에서, s' = s 및 φ -1은 치환 행렬이다. 이 설계의 경우, 리프트된 LDPC 코드는 기본 그래프 축적기 체인(등급 2 노드들) 및 하나의 등급 3 노드의 길이를 통과하는 루프를 갖는다. 루프는 중복(L)하여 발생하며, 이는 차선 에러 플로어(error floor) 성능을 야기할 수 있는데, 특히 기본 그래프가 짧은 축적기 체인을 갖기 때문이다. 다른 설계에서, s' = s + L/2 및 φ -1은 3개의 치환 행렬의 합이다. 이 설계에서, 리프트된 LDPC 코드의 대응하는 루프는 기본 그래프 축적기 체인(등급 2 노드들) 및 2개의 등급 3 노드의 길이를 통과한다. φ -1과의 곱셈의 복잡도는 여전히 작을 수 있다. 그러나 이 설계는 여전히 얼마간의 에러 플로어에 영향을 받을 수 있다. 세 번째 설계에서, s' = s + L/4 및 φ -1은 9개의 치환 행렬의 합이다. 리프트된 LDPC 코드의 대응하는 루프는 기본 그래프 축적기 체인(등급 2 노드들) 및 4개의 등급 3 노드의 길이를 통과한다. φ -1과의 곱셈의 복잡도는 φ -1이 여전히 희소 행렬일 수 있기 때문에 여전히 작을 수 있다. 이 설계는 인코딩을 간소화할 수 있는 동시에 에러 플로어와 연관된 문제들을 피할 수 있다. 세 번째 0이 아닌 엘리먼트에 대한 순환 시프트 값은 x일 수 있으며, 이는 임의로 선택된 다른 값일 수 있다.
여기서 설명한 기술들은 넓은 범위의 패킷 크기들을 지원하는데 사용될 수 있다. (스펙트럼 효율 또는 패킷 포맷으로 주어질 수 있는) 채널 상태들, 할당된 자원의 양, 파일럿 오버헤드, MIMO 랭크 등과 같은 다양한 요소를 기초로 적당한 패킷 크기가 선택될 수 있다. 이 기술들은 적은 수의 기본 LDPC 코드를 이용하여 임의의 k 및 n 값에 대한 우수한 레이트 호환 가능 코드들의 생성을 가능하게 한다.
여기서 설명한 리프트된 LDPC 코드들은 병렬 인코더 및 디코더 구현들을 다양한 형태로 가능하게 할 수 있다. 에지 병렬 디코더 구현에서, 기본 그래프의 에지들은 직렬 방식으로 처리될 수 있고, 동일한 에지의 L개의 사본을 동시에 처리함으로써 병렬화가 이루어질 수 있다. 노드 병렬 디코더 구현의 경우, 기본 그래프의 상이한 사본이 직렬 방식으로 처리될 수 있고, 기본 그래프의 상이한 노드를 동시에 처리함으로써 병렬화가 이루어질 수 있다. 2의 거듭제곱으로 제한된 크기를 갖는 순환 치환 행렬들을 사용함으로써, 카운팅 연산, 특히 노드 병렬 구현에 대한 카운팅 연산을 이용하여 리프트가 쉽게 구현될 수 있다. 카운팅 연산은 x에서부터 x+1 mod L까지 카운팅함으로써 L-사이클을 선회하는 것을 말한다. 리프트 크기에 대한 이러한 제약은 상이한 모든 리프트 크기가 큰 공통 인수를 갖게 할 수 있고, 이는 에지 병렬 디코더 구현에 대한 중요한 특성일 수 있다. 여기서 설명한 LDPC 코드 구조는 효율적인 노드 병렬 및 에지 병렬 디코더 구현을 모두 지원할 수 있다. 더욱이, 그래프 설명은 간결하며 기본적인 복잡도 감소를 제공한다.
도 9는 데이터를 처리하기 위한 프로세스(900)의 설계를 나타낸다. 프로세스(900)는 기지국, 단말 또는 다른 어떤 엔티티에 의해 수행될 수 있다. 상이한 차원의 한 세트의 기본 패리티 체크 행렬들 및 상이한 2의 거듭제곱의 한 세트의 리프트 값들을 기초로 가변 크기들의 패킷들이 인코딩 또는 디코딩될 수 있다(블록 912). 한 세트의 기본 패리티 체크 행렬들은 kB 내지 2kB-1 정보 비트에 대해, 또는 kB+1 내지 2kB 정보 비트에 대해, 또는 다른 어떤 범위의 정보 비트들에 대해, 상술한 바와 같이 6, 7, 8, 9, 10, 11 정보 비트에 대한 기본 패리티 체크 행렬들을 포함할 수 있다. 한 세트의 기본 패리티 체크 행렬들은 또한 기본 패리티 체크 행렬들의 다른 어떤 조합을 포함할 수 있다. 한 세트의 리프트 값들은 상술한 바와 같이 4, 8, 16, 32, 64, 128, 256, 512 및 1024에 대한 리프트 값들 또는 다른 어떤 범위 또는 조합의 리프트 값들을 포함할 수 있다. 가변 크기들의 패킷들을 인코딩 또는 디코딩하는데 사용하기 위해 한 세트의 기본 패리티 체크 행렬에 대한 파라미터들(예를 들어, 순환 시프트 값들)이 저장될 수 있다(블록 914). 각 기본 패리티 체크 행렬은 다수의 위치에 다수의 0이 아닌 엘리먼트를 포함할 수 있다. 0이 아닌 엘리먼트 각각은 0 내지 Lmax-1 범위 내의 순환 시프트 값과 연관될 수 있으며, Lmax는 최대 리프트 값이다. 각각의 기본 패리티 체크 행렬의 다수의 0이 아닌 엘리먼트에 대해 다수의 순환 시프트 값이 저장될 수 있다. 각각의 기본 패리티 체크 행렬의 모든 리프트 값에 대한 순환 시프트 값들은 해당 기본 패리티 체크 행렬에 대해 저장된 순환 시프트 값들을 기초로 결정될 수 있다.
도 10은 데이터를 처리하기 위한 장치(1000)의 설계를 나타낸다. 장치(1000)는 상이한 차원의 한 세트의 기본 패리티 체크 행렬들 및 상이한 2의 거듭제곱의 한 세트의 리프트 값들을 기초로 가변 크기들의 패킷들을 인코딩 또는 디코딩하기 위한 수단(모듈 1012), 및 한 세트의 기본 패리티 체크 행렬에 대한 파라미터들(예를 들어, 순환 시프트 값들)을 저장하기 위한 수단(모듈 1014)을 포함한다.
도 11은 패킷을 처리하기 위한 프로세스(1100)의 설계를 나타내며, 이는 도 9의 블록(912)에 사용될 수 있다. 인코딩 또는 디코딩될 패킷의 패킷 크기가 결정될 수 있다(블록 1112). 패킷 크기를 기초로, 예를 들어 식(2)에 나타낸 것과 같이 한 세트의 리프트 값들로부터 리프트 값이 선택될 수 있다(블록 1114). 패킷 크기 및 선택된 리프트 값을 기초로, 예를 들어 식(3)에 나타낸 것과 같이 한 세트의 기본 패리티 체크 행렬들로부터 기본 패리티 체크 행렬이 선택될 수 있다(블록 1116). 선택된 기본 패리티 체크 행렬 및 선택된 리프트 값을 기초로 리프트된 패리티 체크 행렬이 생성될 수 있다(블록 1118). 리프트된 패리티 체크 행렬을 기초로 패킷이 인코딩 또는 디코딩될 수 있다(블록 1120).
블록(1118)에서, 선택된 기본 패리티 체크 행렬의 0이 아닌 엘리먼트들에 대한 순환 시프트 값들에 추가로 기초하여 리프트된 패리티 체크 행렬이 생성될 수 있다. 선택된 기본 패리티 체크 행렬의 0이 아닌 엘리먼트들에 대한 순환 시프트 값들과 선택된 리프트 값을 기초로, 예를 들어 식(4)에 나타낸 것과 같이, 리프트된 패리티 체크 행렬에 대한 순환 시프트 값들이 계산될 수 있다. 선택된 기본 패리티 체크 행렬의 0이 아닌 엘리먼트 각각을 해당 0이 아닌 엘리먼트에 대해 계산된 순환 시프트 값의 순환 치환 행렬로 대체함으로써 리프트된 패리티 체크 행렬이 생성될 수 있다.
블록(1120)에서의 인코딩을 위해, 리프트된 패리티 체크 행렬을 기초로 패킷의 정보 비트들이 인코딩되어, 예를 들어 식(12)에 나타낸 것과 같이 제 1 패리티 비트들을 얻을 수 있다. 정보 비트들과 제 1 패리티 비트들은 리프트된 패리티 체크 행렬을 기초로 인코딩되어, 예를 들어 식(13)에 나타낸 것과 같이 제 2 패리티 비트들을 얻을 수 있다. 정보 비트들, 제 1 패리티 비트들 및 제 2 패리티 비트들은 리프트된 패리티 체크 행렬을 기초로 인코딩되어, 예를 들어 식(14)에 나타낸 것과 같이 제 3 패리티 비트들을 얻을 수 있다.
블록(1120)에서의 인코딩을 위해, 선택된 기본 패리티 체크 행렬에 대한 기본 그래프의 L개의 사본을 기초로 리프트된 패리티 체크 행렬에 대한 큰 그래프가 생성될 수 있으며, L은 선택된 리프트 값이다. 기본 그래프의 L개의 사본의 노드들은 선택된 기본 패리티 체크 행렬의 0이 아닌 엘리먼트들에 대한 치환 행렬들을 기초로 상호 연결될 수 있다. 기본 그래프는 선택된 기본 패리티 체크 행렬의 0이 아닌 엘리먼트들에 대한 다수의 에지를 포함할 수 있다. 에지 병렬 디코딩의 경우, 디코딩은 기본 그래프의 L개의 사본에서 동일한 에지의 L개의 사본에 대해 병렬로 수행될 수 있으며 기본 그래프의 L개의 사본에서 상이한 에지에 대해 순차적으로 수행될 수 있다. 노드 병렬 디코딩의 경우, 디코딩은 그래프의 각 사본의 노드들에 대해 병렬로 수행될 수 있고 기본 그래프의 L개의 사본에 대해 순차적으로 수행될 수 있다.
도 12는 패킷을 처리하기 위한 프로세스(1200)의 설계를 나타낸다. 제 2 리프트 크기의 제 2 패리티 체크 행렬에 대한 제 2 세트의 순환 시프트 값들을 기초로 제 1 리프트 크기의 제 1 패리티 체크 행렬에 대한 제 1 세트의 순환 시프트 값들이 결정될 수 있다(블록 1212). 제 1 및 제 2 리프트 크기는 상이한 2의 거듭제곱일 수 있다. 블록(1212)의 한 설계에서, 제 1 리프트 크기에 대한 제 2 리프트 크기의 비를 기초로 인수(K)가 결정될 수 있고, 제 2 세트에서 각 순환 시프트 값의 K개의 LSB가 제거되어 제 1 세트에서 대응하는 순환 시프트 값을 얻을 수 있다. 이는 제 2 세트의 각각의 순환 시프트 값을 상기 비로 나누고 정수 값으로 내림(round down) 함으로써 이루어져, 식(4)에 나타낸 것과 같이 제 1 세트에서 대응하는 순환 시프트 값을 얻을 수 있다. 블록(1212)의 다른 설계에서, 제 2 세트의 각 순환 시프트 값의 K개의 MSB가 제거되어 제 1 세트에서 대응하는 순환 시프트 값을 얻을 수 있다.
제 1 세트의 순환 시프트 값들을 기초로 제 1 패리티 체크 행렬이 생성될 수 있다(블록 1214). 이는 기본 패리티 체크 행렬의 0이 아닌 엘리먼트 각각을 해당 0이 아닌 엘리먼트에 대응하는 제 1 세트의 순환 시프트 값의 순환 치환 행렬로 대체함으로써 달성될 수 있다. 제 1 패리티 체크 행렬을 기초로 패킷이 인코딩 또는 디코딩될 수 있다(블록 1216).
도 13은 패킷을 처리하기 위한 장치(1300)의 설계를 나타낸다. 장치(1300)는 제 2 리프트 크기의 제 2 패리티 체크 행렬에 대한 제 2 세트의 순환 시프트 값들을 기초로 제 1 리프트 크기의 제 1 패리티 체크 행렬에 대한 제 1 세트의 순환 시프트 값들을 결정하기 위한 수단(모듈 1312), 제 1 세트의 순환 시프트 값들을 기초로 제 1 패리티 체크 행렬을 생성하기 위한 수단(모듈 1314), 및 제 1 패리티 체크 행렬을 기초로 패킷을 인코딩 또는 디코딩하기 위한 수단(모듈 1316)을 포함한다.
도 14는 패킷을 처리하기 위한 프로세스(1400)의 설계를 나타낸다. 기본 패리티 체크 행렬의 0이 아닌 각 엘리먼트를 특정 순환 시프트 값의 L×L 치환 행렬로 대체함으로써 리프트된 패리티 체크 행렬이 얻어질 수 있으며, L은 2의 거듭제곱이다(블록 1412). 적어도 3개의 0이 아닌 엘리먼트를 갖는 기본 패리티 체크 행렬의 열에서 2개의 0이 아닌 엘리먼트에 대해 s 및 s + L/m의 순환 시프트 값들이 사용될 수 있으며, s는 임의의 값이고 m은 2의 거듭제곱이다(블록 1414). 한 설계에서, m은 2와 같고, 2개의 0이 아닌 엘리먼트에 대한 순환 시프트 값들은 s 및 s + L/2이다. 다른 설계에서, m은 4와 같고 2개의 0이 아닌 엘리먼트에 대한 순환 시프트 값들은 s 및 s + L/4이다. 또 다른 설계에서, m은 8과 같고, 2개의 0이 아닌 엘리먼트에 대한 순환 시프트 값들은 s 및 s + L/8이다. m은 다른 값들과 같을 수도 있다. 적어도 3개의 0이 아닌 엘리먼트를 갖는 열에서 세 번째 0이 아닌 엘리먼트에 대해 x의 순환 시프트 값이 선택될 수 있다. 기본 패리티 체크 행렬은 서브 행렬
Figure pat00018
를 포함하며, T는 하위 삼각 행렬이고, 행렬 BD는 각각 1의 폭을 가지며, 행렬 DE는 각각 1의 높이를 갖고, 적어도 3개의 0이 아닌 엘리먼트는 행렬 BD에 대응하는 열에 있다. 패킷은 리프트된 패리티 체크 행렬을 기초로 인코딩 또는 디코딩될 수 있다(블록 1416).
도 15는 패킷을 처리하기 위한 장치(1500)의 설계를 나타낸다. 장치(1500)는 기본 패리티 체크 행렬의 0이 아닌 각 엘리먼트를 특정 순환 시프트 값의 L×L 치환 행렬로 대체함으로써 리프트된 패리티 체크 행렬을 획득하기 위한 수단 ― L은 2의 거듭제곱임 ―(모듈 1512), 적어도 3개의 0이 아닌 엘리먼트를 갖는 기본 패리티 체크 행렬의 열에서 2개의 0이 아닌 엘리먼트에 대해 s 및 s + L/m의 순환 시프트 값들을 사용하기 위한 수단 ― s는 임의의 값이고 m은 2의 거듭제곱임 ―(모듈 1514), 및 리프트된 패리티 체크 행렬을 기초로 패킷을 인코딩 또는 디코딩하기 위한 수단(모듈 1516)을 포함한다.
도 10, 도 13 및 도 15의 모듈들은 프로세서, 전자 디바이스, 하드웨어 디바이스, 전자 컴포넌트, 논리 회로, 메모리 등, 또는 이들의 임의의 결합을 포함할 수 있다.
여기서 설명한 기술들은 다양한 수단에 의해 구현될 수 있다. 예를 들어, 이들 기술은 하드웨어, 펌웨어, 소프트웨어 또는 이들의 조합으로 구현될 수 있다. 하드웨어 구현의 경우, 엔티티(예를 들어, 노드 B 또는 단말)에서 상기 기술들을 수행하는데 사용되는 처리 유닛들은 하나 이상의 주문형 집적 회로(ASIC), 디지털 신호 프로세서(DSP), 디지털 신호 처리 디바이스(DSPD), 프로그램가능한 논리 디바이스(PLD), 필드 프로그램가능한 게이트 어레이(FPGA), 프로세서, 제어기, 마이크로컨트롤러, 마이크로프로세서, 전자 디바이스, 여기서 설명한 기능들을 수행하도록 설계된 다른 전자 유닛, 컴퓨터, 또는 이들의 조합 내에 구현될 수 있다.
펌웨어 및/또는 소프트웨어 구현의 경우, 상기 기술들은 여기서 설명한 기능들을 수행하는 코드(예를 들어, 프로시저, 함수, 모듈, 명령 등)로 구현될 수 있다. 일반적으로, 펌웨어 및/또는 소프트웨어 코드를 유형적으로 구현하는 임의의 컴퓨터/프로세서 판독 가능 매체가 여기서 설명한 기술들의 구현에 사용될 수 있다. 예를 들어, 펌웨어 및/또는 소프트웨어 코드는 메모리(예를 들어, 도 2의 메모리(232 또는 272)에 저장될 수 있으며 프로세서(예를 들어, 프로세서(230 또는 270)에 의해 실행될 수 있다. 메모리는 프로세서 내에 구현될 수도 있고 프로세서 외부에 구현될 수도 있다. 펌웨어 및/또는 소프트웨어 코드는 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 비휘발성 랜덤 액세스 메모리(NVRAM), 프로그램 가능 판독 전용 메모리(PROM), 전기적으로 소거가능한 PROM(EEPROM), FLASH 메모리, 플로피 디스크, 콤팩트 디스크(CD), 디지털 다목적 디스크(DVD), 자기 또는 광 데이터 저장 디바이스 등과 같은 컴퓨터/프로세서 판독가능 매체에 저장될 수 있다. 코드는 하나 이상의 컴퓨터/프로세서에 의해 실행 가능할 수 있으며, 컴퓨터/프로세서(들)가 여기서 설명한 기능의 특정 형태들을 수행하게 할 수도 있다.
개시의 상기 설명은 임의의 당업자가 본 개시를 제작 또는 사용할 수 있도록 제공된다. 본 개시에 대한 다양한 변형이 당업자들에게 쉽게 명백할 것이며, 본원에 정의된 일반 원리들은 개시의 진의 또는 범위를 벗어나지 않고 다른 변형들에 적용될 수 있다. 따라서 본 개시는 여기서 설명한 예시들과 설계들로 한정되는 것이 아니라 본원에 개시된 원리 및 신규한 특징들에 부합하는 가장 넓은 범위에 따르는 것이다.

Claims (18)

  1. 가변 크기의 패킷들을 인코딩하고 디코딩하기 위한 장치로서,
    적어도 하나의 프로세서; 및
    순환 리프트된 패리티 체크 행렬들에 대한 파라미터들을 저장하도록 구성되고, 상기 적어도 하나의 프로세서에 연결된 메모리를 포함하고,
    상기 적어도 하나의 프로세서는,
    2의 상이한 거듭제곱들의 리프트(lift) 값들의 세트 및 기본 패리티 체크 행렬들의 세트에 기초하여 가변 크기들의 패킷들을 인코딩하기 위한 수단; 및
    상기 인코딩하기 위한 수단에 대응하여 패킷들을 디코딩하기 위한 수단을 포함하고,
    상기 인코딩하기 위한 수단은,
    (i) 인코딩될 패킷의 패킷 크기를 결정하고,
    (ⅱ) 상기 결정된 패킷 크기에 기초하여 상기 리프트 값들의 세트로부터 리프트 값을 선택하고,
    (ⅲ) 상기 결정된 패킷 크기 및 상기 선택된 리프트 값에 기초하여 상기 기본 패리티 체크 행렬들의 세트로부터 기본 패리티 체크 행렬을 선택하고, 그리고
    (ⅳ) 상기 선택된 리프트 값에 기초하고, 그리고 상기 선택된 기본 패리티 체크 행렬의 0이 아닌 엘리먼트들에 대하여 순환 시프트 값들에 기초하여, 리프트된 패리티 체크 행렬을 생성하도록 구성되며,
    상기 각각의 0이 아닌 엘리먼트들에 대한 순환 시프트 값은
    Figure pat00019
    에 의해 결정되고, 여기서 L 및 Lmax는 각각, 상기 선택된 리프트 값 및 최대 리프트 값이고, g 및 g'는 각각 Lmax 및 L만큼의 리프트를 갖는 0이 아닌 엘리먼트에 대한 순환 시프트 값이고, 각각의 리프트 값은 상이한 순환 리프트된 패리티 행렬을 생성하기 위하여 상이한 순환 리프트 동작과 연관되는,
    가변 크기의 패킷들을 인코딩하고 디코딩하기 위한 장치.
  2. 제 1 항에 있어서,
    상기 적어도 하나의 프로세서는 상기 리프트된 패리티 체크 행렬에 기초하여 상기 패킷을 인코딩하거나 디코딩하도록 구성되는,
    가변 크기의 패킷들을 인코딩하고 디코딩하기 위한 장치.
  3. 제 1 항에 있어서,
    상기 메모리는 상기 선택된 리프트 값 및 상기 선택된 기본 패리티 체크 행렬에 대응하여 상기 리프트된 패리티 체크 행렬을 저장하도록 구성되는,
    가변 크기의 패킷들을 인코딩하고 디코딩하기 위한 장치.
  4. 제 1 항에 있어서,
    제1 리프트 값은 256보다 큰,
    가변 크기의 패킷들을 인코딩하고 디코딩하기 위한 장치.
  5. 제 4 항에 있어서,
    상기 제1 리프트 값은 512인,
    가변 크기의 패킷들을 인코딩하고 디코딩하기 위한 장치.
  6. 제 1 항에 있어서,
    상기 적어도 하나의 프로세서는 상기 리프트된 패리티 체크 행렬에 기초하여 상기 패킷을 인코딩 또는 디코딩하도록 더 구성되는,
    가변 크기의 패킷들을 인코딩하고 디코딩하기 위한 장치.
  7. 제 1 항에 있어서,
    상기 기본 패리티 체크 행렬들의 세트는 6, 7, 8, 9, 10 및 11 정보 비트들 중 적어도 하나의 정보 비트에 대한 적어도 하나의 기본 패리티 체크 행렬을 포함하는, 가변 크기의 패킷들을 인코딩하고 디코딩하기 위한 장치.
  8. 제 1 항에 있어서,
    상기 리프트 값들의 세트는 4, 8, 16, 32, 64, 128, 256, 512 및 1024 중 적어도 하나에 대한 적어도 하나의 리프트 값을 포함하는,
    가변 크기의 패킷들을 인코딩하고 디코딩하기 위한 장치.
  9. 제 1 항에 있어서,
    각각의 기본 패리티 체크 행렬은 복수의 위치들에서 복수의 0이 아닌 엘리먼트들을 포함하며, 각각의 0이 아닌 엘리먼트는 0 내지 Lmax-1 범위 내의 순환 시프트 값과 연관되며, Lmax는 최대 리프트 값인,
    가변 크기의 패킷들을 인코딩하고 디코딩하기 위한 장치.
  10. 데이터를 처리하는 방법으로서,
    2의 상이한 거듭제곱들의 리프트 값들의 세트 중 하나의 리프트 값에 기초하고, 기본 패리티 체크 행렬들의 세트의 패리티 체크 행렬에 기초하여 패킷을 인코딩하거나 디코딩하는 단계를 포함하며, 각각의 리프트 값은 상이한 순환 리프트된 패리티 행렬을 생성하기 위하여 상이한 순환 리프트 동작과 연관되고,
    상기 패킷을 인코딩하거나 디코딩하는 단계는,
    (i) 인코딩되거나 디코딩될 패킷의 패킷 크기를 결정하는 단계;
    (ⅱ) 상기 결정된 패킷 크기에 기초하여 상기 리프트 값들의 세트로부터 리프트 값을 선택하는 단계;
    (ⅲ) 상기 결정된 패킷 크기 및 상기 선택된 리프트 값에 기초하여 상기 기본 패리티 체크 행렬들의 세트로부터 기본 패리티 체크 행렬을 선택하는 단계; 및
    (ⅳ) 상기 선택된 리프트 값에 기초하고, 그리고 상기 선택된 기본 패리티 체크 행렬의 0이 아닌 엘리먼트들에 대하여 순환 시프트 값들에 기초하여, 리프트된 패리티 체크 행렬을 생성하는 단계 ― 상기 각각의 0이 아닌 엘리먼트들에 대한 순환 시프트 값은
    Figure pat00020
    에 의해 결정되고, 여기서 L 및 Lmax는 각각, 상기 선택된 리프트 값 및 최대 리프트 값이고, g 및 g'는 각각 Lmax 및 L만큼의 리프트를 갖는 0이 아닌 엘리먼트에 대한 순환 시프트 값임 ― 를 포함하는,
    데이터를 처리하는 방법.
  11. 제 10 항에 있어서,
    상기 선택된 리프트 값 및 상기 선택된 기본 패리티 체크 행렬에 대응하여 상기 리프트된 패리티 체크 행렬을 저장하는 단계를 더 포함하는,
    데이터를 처리하는 방법.
  12. 제 10 항에 있어서,
    제1 리프트 값은 256보다 큰,
    데이터를 처리하는 방법.
  13. 제 12 항에 있어서,
    상기 제1 리프트 값은 512인,
    데이터를 처리하는 방법.
  14. 제 10 항에 있어서,
    상기 기본 패리티 체크 행렬들의 세트는 6, 7, 8, 9, 10 및 11 정보 비트들 중 적어도 하나의 정보 비트에 대한 적어도 하나의 기본 패리티 체크 행렬을 포함하는, 데이터를 처리하는 방법.
  15. 제 10 항에 있어서,
    상기 리프트 값들의 세트는 4, 8, 16, 32, 64, 128, 256, 512 및 1024 중 적어도 하나에 대한 적어도 하나의 리프트 값을 포함하는,
    데이터를 처리하는 방법.
  16. 제 10 항에 있어서,
    각각의 기본 패리티 체크 행렬은 복수의 위치들에서 복수의 0이 아닌 엘리먼트들을 포함하며, 각각의 0이 아닌 엘리먼트는 0 내지 Lmax-1 범위 내의 순환 시프트 값과 연관되며, Lmax는 최대 리프트 값인,
    데이터를 처리하는 방법.
  17. 컴퓨터-판독가능 매체로서,
    적어도 하나의 컴퓨터로 하여금, 2의 상이한 거듭제곱들의 리프트 값들의 세트 및 기본 패리티 체크 행렬들의 세트에 기초하여 가변 크기들의 패킷들을 인코딩하거나 디코딩하도록 하는 코드를 포함하며, 각각의 리프트 값은 상이한 순환 리프트된 패리티 행렬을 생성하기 위하여 상이한 순환 리프트 동작과 연관되고,
    상기 적어도 하나의 컴퓨터로 하여금 패킷들을 인코딩하거나 디코딩하도록 하는 코드는 상기 적어도 하나의 컴퓨터로 하여금,
    (i) 인코딩되거나 디코딩될 패킷의 패킷 크기를 결정하도록 하고,
    (ⅱ) 상기 결정된 패킷 크기에 기초하여 상기 리프트 값들의 세트로부터 리프트 값을 선택하도록 하고,
    (ⅲ) 상기 결정된 패킷 크기 및 상기 선택된 리프트 값에 기초하여 상기 기본 패리티 체크 행렬들의 세트로부터 기본 패리티 체크 행렬을 선택하도록 하고, 그리고
    (ⅳ) 상기 선택된 리프트 값에 기초하고, 그리고 상기 선택된 기본 패리티 체크 행렬의 0이 아닌 엘리먼트들에 대하여 순환 시프트 값들에 기초하여, 리프트된 패리티 체크 행렬을 생성하도록 하는 하나 이상의 코드들을 포함하고,
    상기 각각의 0이 아닌 엘리먼트들에 대한 순환 시프트 값은
    Figure pat00021
    에 의해 결정되고, 여기서 L 및 Lmax는 각각, 상기 선택된 리프트 값 및 최대 리프트 값이고, g 및 g'는 각각 Lmax 및 L만큼의 리프트를 갖는 0이 아닌 엘리먼트에 대한 순환 시프트 값인,
    컴퓨터-판독가능 매체.
  18. 제 17 항에 있어서,
    상기 적어도 하나의 컴퓨터로 하여금 상기 선택된 리프트 값 및 상기 선택된 기본 패리티 체크 행렬에 대응하여 상기 리프트된 패리티 체크 행렬을 저장하도록 하는 코드를 더 포함하는,
    컴퓨터-판독가능 매체.
KR1020137002214A 2007-01-24 2008-01-24 가변 크기들의 패킷들의 ldpc 인코딩 및 디코딩 KR101339120B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US88649607P 2007-01-24 2007-01-24
US60/886,496 2007-01-24
PCT/US2008/051961 WO2008092040A2 (en) 2007-01-24 2008-01-24 Ldpc encoding and decoding of packets of variable sizes

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020097017639A Division KR20090113869A (ko) 2007-01-24 2008-01-24 가변 크기들의 패킷들의 ldpc 인코딩 및 디코딩

Publications (2)

Publication Number Publication Date
KR20130023375A true KR20130023375A (ko) 2013-03-07
KR101339120B1 KR101339120B1 (ko) 2013-12-09

Family

ID=39642439

Family Applications (5)

Application Number Title Priority Date Filing Date
KR1020137002214A KR101339120B1 (ko) 2007-01-24 2008-01-24 가변 크기들의 패킷들의 ldpc 인코딩 및 디코딩
KR1020097017639A KR20090113869A (ko) 2007-01-24 2008-01-24 가변 크기들의 패킷들의 ldpc 인코딩 및 디코딩
KR1020127013936A KR101312468B1 (ko) 2007-01-24 2008-01-24 가변 크기들의 패킷들의 ldpc 인코딩 및 디코딩
KR1020127013935A KR101280477B1 (ko) 2007-01-24 2008-01-24 가변 크기들의 패킷들의 ldpc 인코딩 및 디코딩
KR1020137017331A KR101364160B1 (ko) 2007-01-24 2008-01-24 가변 크기들의 패킷들의 ldpc 인코딩 및 디코딩

Family Applications After (4)

Application Number Title Priority Date Filing Date
KR1020097017639A KR20090113869A (ko) 2007-01-24 2008-01-24 가변 크기들의 패킷들의 ldpc 인코딩 및 디코딩
KR1020127013936A KR101312468B1 (ko) 2007-01-24 2008-01-24 가변 크기들의 패킷들의 ldpc 인코딩 및 디코딩
KR1020127013935A KR101280477B1 (ko) 2007-01-24 2008-01-24 가변 크기들의 패킷들의 ldpc 인코딩 및 디코딩
KR1020137017331A KR101364160B1 (ko) 2007-01-24 2008-01-24 가변 크기들의 패킷들의 ldpc 인코딩 및 디코딩

Country Status (13)

Country Link
US (2) US8433984B2 (ko)
EP (2) EP2106635A2 (ko)
JP (3) JP5231453B2 (ko)
KR (5) KR101339120B1 (ko)
CN (2) CN101601187B (ko)
AU (1) AU2008207799B2 (ko)
BR (1) BRPI0806757A2 (ko)
CA (1) CA2674719A1 (ko)
IL (1) IL199605A0 (ko)
MX (1) MX2009007946A (ko)
RU (1) RU2443053C2 (ko)
TW (2) TW201334425A (ko)
WO (1) WO2008092040A2 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160024711A (ko) * 2014-08-26 2016-03-07 한국전자통신연구원 Ldpc 부호화기 및 이를 이용한 ldpc 부호화 방법
KR20190028788A (ko) * 2016-07-20 2019-03-19 후아웨이 테크놀러지 컴퍼니 리미티드 코드를 인코딩 및 디코딩하기 위한 방법과 시스템
KR20190038933A (ko) * 2016-09-30 2019-04-09 엘지전자 주식회사 Qc ldpc 코드의 레이트 매칭 방법 및 이를 위한 장치
US10999004B2 (en) 2014-08-26 2021-05-04 Electronics And Telecommunications Research Institute Low density parity check encoder, and low density parity check encoding method using the same
KR20220058521A (ko) * 2014-05-22 2022-05-09 한국전자통신연구원 길이가 16200이며, 부호율이 10/15인 ldpc 부호어 및 256-심볼 맵핑을 위한 bicm 수신 장치 및 이를 이용한 방법

Families Citing this family (110)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9419749B2 (en) 2009-08-19 2016-08-16 Qualcomm Incorporated Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes
WO2008092040A2 (en) * 2007-01-24 2008-07-31 Qualcomm Incorporated Ldpc encoding and decoding of packets of variable sizes
US8370711B2 (en) * 2008-06-23 2013-02-05 Ramot At Tel Aviv University Ltd. Interruption criteria for block decoding
US8392814B2 (en) * 2008-10-07 2013-03-05 Qualcomm Incorporated Method and apparatus for high speed structured multi rate low density parity check codes
US8612823B2 (en) * 2008-10-17 2013-12-17 Intel Corporation Encoding of LDPC codes using sub-matrices of a low density parity check matrix
CN101741396B (zh) * 2008-11-19 2013-03-13 华为技术有限公司 可变码长ldpc码编码或译码的方法与装置及编码器和译码器
JP4898858B2 (ja) 2009-03-02 2012-03-21 パナソニック株式会社 符号化器、復号化器及び符号化方法
TWI427936B (zh) * 2009-05-29 2014-02-21 Sony Corp 接收設備,接收方法,程式,及接收系統
US8495450B2 (en) * 2009-08-24 2013-07-23 Samsung Electronics Co., Ltd. System and method for structured LDPC code family with fixed code length and no puncturing
US8560911B2 (en) * 2009-09-14 2013-10-15 Samsung Electronics Co., Ltd. System and method for structured LDPC code family
KR101644656B1 (ko) * 2009-11-02 2016-08-10 삼성전자주식회사 선형 블록 부호를 사용하는 통신 시스템에서 패리티 검사 행렬을 생성하는 방법과 이를 이용한 채널 부호화/복호화 장치 및 방법
KR101670511B1 (ko) * 2010-05-07 2016-10-28 삼성전자주식회사 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 채널 부호/복호 방법 및 장치
US8971261B2 (en) 2010-06-02 2015-03-03 Samsung Electronics Co., Ltd. Method and system for transmitting channel state information in wireless communication systems
US8732565B2 (en) 2010-06-14 2014-05-20 Samsung Electronics Co., Ltd. Method and apparatus for parallel processing in a gigabit LDPC decoder
US9634693B2 (en) * 2010-08-12 2017-04-25 Samsung Electronics Co., Ltd Apparatus and method for decoding LDPC codes in a communications system
JP5500379B2 (ja) * 2010-09-03 2014-05-21 ソニー株式会社 データ処理装置、及びデータ処理方法
US8644282B2 (en) * 2010-09-16 2014-02-04 Qualcomm Incorporated System and method for transmitting a low density parity check signal
US8739001B2 (en) * 2011-04-23 2014-05-27 Analogies Sa LDPC encoding and decoding techniques
EP2525497A1 (en) 2011-05-18 2012-11-21 Panasonic Corporation Bit-interleaved coding and modulation (BICM) with quasi-cyclic LDPC codes
CN102801431B (zh) * 2011-05-25 2015-02-04 华为技术有限公司 一种编码装置及方法
KR20120137198A (ko) * 2011-06-11 2012-12-20 삼성전자주식회사 통신 시스템에서 패킷 송수신 장치 및 방법
JP5391253B2 (ja) * 2011-10-26 2014-01-15 パナソニック株式会社 送信装置及び送信方法
KR101922990B1 (ko) * 2011-11-11 2018-11-28 삼성전자주식회사 멀티미디어 통신 시스템에서 준순환 저밀도 패리티 검사 부호 송/수신 장치 및 방법
JP5665725B2 (ja) * 2011-12-13 2015-02-04 株式会社東芝 符号化装置及びこれを用いた半導体メモリシステム
KR101221062B1 (ko) * 2011-12-14 2013-01-11 단국대학교 산학협력단 가변 usc 부호를 이용한 부호화 및 복호화 방법
KR101685010B1 (ko) 2012-06-01 2016-12-13 한국전자통신연구원 지상파 클라우드 방송을 위한 ldpc 부호
US9178653B2 (en) * 2013-01-16 2015-11-03 Broadcom Corporation Very short size LDPC coding for physical and/or control channel signaling
US9154261B2 (en) * 2013-01-16 2015-10-06 Broadcom Corporation Low density parity check (LDPC) coding in communication systems
MX2015009838A (es) * 2013-02-08 2015-10-14 Sony Corp Dispositivo para el procesamiento de datos y metodo para el procesamiento de datos.
KR102142142B1 (ko) * 2013-02-13 2020-08-06 퀄컴 인코포레이티드 높은 레이트, 높은 병렬성, 및 낮은 에러 플로어를 위해 준순환 구조들 및 펑처링을 사용하는 ldpc 설계
EP2993793B1 (en) * 2013-05-02 2021-06-23 Sony Corporation Ldpc coded modulation in combination with 8psk and 16apsk
EP3425806A1 (en) 2013-05-07 2019-01-09 Huawei Technologies Co., Ltd. Coding and decoding method and device, and system
DE102013109351B4 (de) * 2013-05-16 2017-09-21 Electronics And Telecommunications Research Institute Paritätsprüfungscode niedriger Dichte für terrestrischen Cloud-Rundfunk
WO2014199865A1 (ja) * 2013-06-12 2014-12-18 ソニー株式会社 データ処理装置、及びデータ処理方法
EP2833553B1 (en) * 2013-07-30 2021-03-31 Alcatel Lucent LDPC decoder
EP2858249A1 (en) 2013-10-07 2015-04-08 Electronics and Telecommunications Research Institute Low density parity check encoder
US9430375B2 (en) 2013-12-30 2016-08-30 International Business Machines Corporation Techniques for storing data in bandwidth optimized or coding rate optimized code words based on data access frequency
JP2015156530A (ja) * 2014-02-19 2015-08-27 ソニー株式会社 データ処理装置、及び、データ処理方法
CA2864650C (en) 2014-08-14 2017-05-30 Sung-Ik Park Low density parity check encoder having length of 64800 and code rate of 2/15, and low density parity check encoding method using the same
CA2864630C (en) 2014-08-14 2017-05-30 Electronics And Telecommunications Research Institute Low density parity check encoder having length of 64800 and code rate of 4/15, and low density parity check encoding method using the same
US9489259B2 (en) 2014-08-14 2016-11-08 Electronics And Telecommunications Research Institute Low density parity check encoder having length of 16200 and code rate of 2/15, and low density parity check encoding method using the same
CA2864635C (en) 2014-08-14 2017-06-27 Sung-Ik Park Low density parity check encoder having length of 16200 and code rate of 3/15, and low density parity check encoding method using the same
US9496896B2 (en) 2014-08-14 2016-11-15 Electronics And Telecommunications Research Institute Low density parity check encoder having length of 64800 and code rate of 5/15, and low density parity check encoding method using the same
CA2864647C (en) 2014-08-14 2017-04-25 Sung-Ik Park Low density parity check encoder having length of 16200 and code rate of 4/15, and low density parity check encoding method using the same
CA2864694C (en) 2014-08-14 2017-06-27 Electronics And Telecommunications Research Institute Low density parity check encoder having length of 16200 and code rate of 5/15, and low density parity check encoding method using the same
CA2864644C (en) 2014-08-14 2017-06-27 Sung-Ik Park Low density parity check encoder having length of 64800 and code rate of 3/15, and low density parity check encoding method using the same
US9432052B2 (en) * 2014-09-18 2016-08-30 Broadcom Corporation Puncture-aware low density parity check (LDPC) decoding
US20160218750A1 (en) * 2015-01-23 2016-07-28 Empire Technology Development Llc Parity check code encoder
JP5848472B2 (ja) * 2015-02-24 2016-01-27 パナソニック株式会社 受信装置及び受信方法
US9667276B1 (en) * 2015-08-06 2017-05-30 Xilinx, Inc. Efficient low error-floor LDPC codes
US10382069B2 (en) * 2015-08-11 2019-08-13 Apple Inc. Data encoding by efficient inversion of a parity-check sub-matrix
US10784901B2 (en) 2015-11-12 2020-09-22 Qualcomm Incorporated Puncturing for structured low density parity check (LDPC) codes
JP6005830B2 (ja) * 2015-11-26 2016-10-12 パナソニック株式会社 受信装置及び受信方法
WO2017111853A1 (en) * 2015-12-24 2017-06-29 Intel Corporation Hybrid scheduling and latch-based pipelines for low-density parity-check decoding
KR20170083432A (ko) 2016-01-08 2017-07-18 삼성전자주식회사 레이트 호환 가능 저밀도 패리티 검사 코드를 지원하는 통신 시스템에서 신호를 송신 및 수신하는 장치 및 방법
US11043966B2 (en) * 2016-05-11 2021-06-22 Qualcomm Incorporated Methods and apparatus for efficiently generating multiple lifted low-density parity-check (LDPC) codes
US10164659B2 (en) 2016-05-12 2018-12-25 Mediatek Inc. QC-LDPC coding methods and apparatus
US10454499B2 (en) 2016-05-12 2019-10-22 Qualcomm Incorporated Enhanced puncturing and low-density parity-check (LDPC) code structure
WO2017193558A1 (zh) 2016-05-13 2017-11-16 中兴通讯股份有限公司 结构化ldpc码的数据处理方法及装置
CN107370489B (zh) 2016-05-13 2020-07-28 中兴通讯股份有限公司 结构化ldpc码的数据处理方法及装置
US9917675B2 (en) 2016-06-01 2018-03-13 Qualcomm Incorporated Enhanced polar code constructions by strategic placement of CRC bits
US10313057B2 (en) 2016-06-01 2019-06-04 Qualcomm Incorporated Error detection in wireless communications using sectional redundancy check information
US10291354B2 (en) * 2016-06-14 2019-05-14 Qualcomm Incorporated High performance, flexible, and compact low-density parity-check (LDPC) code
CA3026317C (en) 2016-07-27 2023-09-26 Qualcomm Incorporated Design of hybrid automatic repeat request (harq) feedback bits for polar codes
US10790934B2 (en) 2016-08-10 2020-09-29 Idac Holdings, Inc. HARQ for advanced channel codes
WO2018030909A1 (en) * 2016-08-11 2018-02-15 Huawei Technologies Co., Ltd. Construction of qc-ldpc codes for a hybrid automatic repeat request (harq) scheme
WO2018029616A1 (en) * 2016-08-12 2018-02-15 Telefonaktiebolaget Lm Ericsson (Publ) Determining elements of base matrices for quasi-cyclic ldpc codes having variable code lengths
PL3308469T3 (pl) 2016-08-12 2020-08-24 Telefonaktiebolaget Lm Ericsson (Publ) Sposoby dopasowywania szybkości dla kodów LDPC
US10778371B2 (en) * 2016-11-02 2020-09-15 Qualcomm Incorporated Deeply-pipelined high-throughput LDPC decoder architecture
WO2018084735A1 (en) 2016-11-03 2018-05-11 Huawei Technologies Co., Ltd. Efficiently decodable qc-ldpc code
CN110024295B (zh) * 2016-11-14 2021-02-12 华为技术有限公司 可变长度准循环低密度奇偶校验qc-ldpc码的编、解码方法和装置
KR20180071917A (ko) * 2016-12-20 2018-06-28 삼성전자주식회사 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치
WO2018117651A1 (en) 2016-12-20 2018-06-28 Samsung Electronics Co., Ltd. Apparatus and method for channel encoding/decoding in communication or broadcasting system
CN113595559B (zh) * 2016-12-20 2024-07-30 三星电子株式会社 用于通信系统中的信道编码/解码的装置和方法
TWI602188B (zh) * 2017-01-03 2017-10-11 慧榮科技股份有限公司 用來於記憶裝置中進行資料管理之方法以及記憶裝置及其控制器
CN109891755A (zh) * 2017-01-06 2019-06-14 Lg 电子株式会社 多lpdc 码中选择ldpc 基本码的方法及其设备
US10581457B2 (en) 2017-01-09 2020-03-03 Mediatek Inc. Shift coefficient and lifting factor design for NR LDPC code
US10432227B2 (en) 2017-01-24 2019-10-01 Mediatek Inc. Location of interleaver with LDPC code
US10630319B2 (en) 2017-01-24 2020-04-21 Mediatek Inc. Structure of interleaver with LDPC code
US10340949B2 (en) * 2017-02-06 2019-07-02 Qualcomm Incorporated Multiple low density parity check (LDPC) base graph design
KR102262186B1 (ko) * 2017-03-03 2021-06-08 후아웨이 테크놀러지 컴퍼니 리미티드 높은 레이트의 긴 ldpc 코드
SG11202009379VA (en) 2017-03-24 2020-10-29 Zte Corp Processing method and device for quasi-cyclic low density parity check coding
US10735138B2 (en) 2017-05-02 2020-08-04 Futurewei Technologies, Inc. Multi-label offset lifting method
RU2667772C1 (ru) * 2017-05-05 2018-09-24 Хуавэй Текнолоджиз Ко., Лтд. Способ и устройство обработки информации и устройство связи
CN109120276B (zh) * 2017-05-05 2019-08-13 华为技术有限公司 信息处理的方法、通信装置
US10484013B2 (en) 2017-05-12 2019-11-19 Mediatek Inc. Shift-coefficient table design of QC-LDPC code for smaller code block sizes in mobile communications
US10567116B2 (en) 2017-05-12 2020-02-18 Mediatek Inc. Wireless communication using codebooks from a QC-LDPC code for shorter processing latency and improved decoder throughput efficiency
US10484011B2 (en) 2017-05-12 2019-11-19 Mediatek Inc. Shift-coefficient table design of QC-LDPC code for larger code block sizes in mobile communications
WO2018218466A1 (zh) 2017-05-28 2018-12-06 华为技术有限公司 信息处理的方法和通信装置
CN108988871A (zh) * 2017-05-31 2018-12-11 电信科学技术研究院 一种编码方法及装置、计算机存储介质
CN108988869B (zh) * 2017-05-31 2021-07-30 大唐移动通信设备有限公司 一种确定校验矩阵的方法及装置、计算机存储介质
WO2018218692A1 (zh) 2017-06-03 2018-12-06 华为技术有限公司 信息处理的方法和通信装置
US10312939B2 (en) 2017-06-10 2019-06-04 Qualcomm Incorporated Communication techniques involving pairwise orthogonality of adjacent rows in LPDC code
KR102194029B1 (ko) 2017-06-15 2020-12-22 후아웨이 테크놀러지 컴퍼니 리미티드 정보 프로세싱 방법 및 통신 장치
MX2019009819A (es) 2017-06-25 2019-12-02 Lg Electronics Inc Metodo para realizar la codificacion sobre la base de la matriz de verificacion de paridad del codigo ldpc en el sistema de comunicacion inalambrico y terminal que usa el mismo.
CN109120275B (zh) 2017-06-26 2021-02-05 电信科学技术研究院 一种编码方法及装置、计算机存储介质
CN109120374B (zh) * 2017-06-26 2022-11-18 中兴通讯股份有限公司 准循环低密度奇偶校验编码设计方法及装置
CN109327225B9 (zh) * 2017-06-27 2021-12-10 华为技术有限公司 信息处理的方法、装置和通信设备
TWI690166B (zh) * 2017-06-27 2020-04-01 聯發科技股份有限公司 在移動通信中用於小碼塊尺寸的qc-ldpc碼的移位係數表設計方法
CN109150196B (zh) * 2017-06-27 2024-06-18 华为技术有限公司 信息处理的方法、装置和通信设备
WO2019001515A1 (en) * 2017-06-28 2019-01-03 Mediatek Inc. QC-LDPC CODE SHIFT COEFFICIENT TABLE DESIGN FOR LARGER CODE BLOCK SIZES IN MOBILE COMMUNICATIONS
KR102113450B1 (ko) 2017-07-07 2020-05-20 퀄컴 인코포레이티드 저밀도 패리티 체크 코드 베이스 그래프 선택을 적용한 통신 기술
US11258536B2 (en) 2017-08-10 2022-02-22 Samsung Electronics Co., Ltd. Method and apparatus for encoding/decoding channel in communication or broadcasting system
CN109391367B (zh) * 2017-08-11 2022-12-30 华为技术有限公司 通信方法和装置
KR101991447B1 (ko) * 2018-09-10 2019-06-20 국방과학연구소 블록 간섭 및 블록 페이딩에 강인한 고부호율 프로토그래프 기반 ldpc 부호 설계 기법
US11528036B2 (en) 2019-01-07 2022-12-13 Lg Electronics Inc. Method and device for carrying out channel coding using low density parity check matrix in wireless communication system
US11791938B2 (en) * 2019-09-26 2023-10-17 Nvidia Corporation Parity check decoding
CN112583420B (zh) * 2019-09-30 2024-01-09 上海华为技术有限公司 一种数据处理方法和译码器
US10778248B1 (en) * 2020-01-30 2020-09-15 TenaFe, Inc. Low-density parity-check decoding with de-saturation
CN112511173A (zh) * 2020-12-23 2021-03-16 中兴通讯股份有限公司 低密度奇偶校验编码、译码方法、编码、译码设备及介质

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2007042C1 (ru) * 1991-02-22 1994-01-30 Морозов Андрей Константинович Система для кодирования и декодирования с исправлением ошибок
US6633859B1 (en) 1999-08-17 2003-10-14 Authoria, Inc. Knowledge system with distinct presentation and model structure
US6567465B2 (en) * 2001-05-21 2003-05-20 Pc Tel Inc. DSL modem utilizing low density parity check codes
US6633856B2 (en) * 2001-06-15 2003-10-14 Flarion Technologies, Inc. Methods and apparatus for decoding LDPC codes
US6961888B2 (en) * 2002-08-20 2005-11-01 Flarion Technologies, Inc. Methods and apparatus for encoding LDPC codes
US7702986B2 (en) * 2002-11-18 2010-04-20 Qualcomm Incorporated Rate-compatible LDPC codes
WO2004077733A2 (en) * 2003-02-26 2004-09-10 Flarion Technologies, Inc. Method and apparatus for performing low-density parity-check (ldpc) code operations using a multi-level permutation
US6957375B2 (en) * 2003-02-26 2005-10-18 Flarion Technologies, Inc. Method and apparatus for performing low-density parity-check (LDPC) code operations using a multi-level permutation
JP4224777B2 (ja) * 2003-05-13 2009-02-18 ソニー株式会社 復号方法および復号装置、並びにプログラム
TWI272777B (en) * 2003-08-08 2007-02-01 Intel Corp Method and apparatus for varying lengths of low density parity check codewords
KR100809619B1 (ko) 2003-08-26 2008-03-05 삼성전자주식회사 이동 통신 시스템에서 블록 저밀도 패러티 검사 부호부호화/복호 장치 및 방법
KR100955952B1 (ko) 2003-10-13 2010-05-19 삼성전자주식회사 무선 통신 시스템에서 리프팅 저밀도 패러티 검사 부호를이용한 시공간 부호화 방법 및 장치
KR100922956B1 (ko) 2003-10-14 2009-10-22 삼성전자주식회사 저밀도 패리티 검사 코드의 부호화 방법
US7395495B2 (en) 2004-01-12 2008-07-01 Intel Corporation Method and apparatus for decoding forward error correction codes
CA2559818C (en) * 2004-04-28 2011-11-29 Samsung Electronics Co., Ltd. Apparatus and method for coding/decoding block low density parity check code with variable block length
KR20050118056A (ko) * 2004-05-12 2005-12-15 삼성전자주식회사 다양한 부호율을 갖는 Block LDPC 부호를 이용한이동 통신 시스템에서의 채널부호화 복호화 방법 및 장치
US7526717B2 (en) * 2004-06-16 2009-04-28 Samsung Electronics Co., Ltd. Apparatus and method for coding and decoding semi-systematic block low density parity check codes
US7581157B2 (en) * 2004-06-24 2009-08-25 Lg Electronics Inc. Method and apparatus of encoding and decoding data using low density parity check code in a wireless communication system
US7346832B2 (en) * 2004-07-21 2008-03-18 Qualcomm Incorporated LDPC encoding methods and apparatus
US7395490B2 (en) 2004-07-21 2008-07-01 Qualcomm Incorporated LDPC decoding methods and apparatus
JP4519902B2 (ja) 2004-08-16 2010-08-04 サムスン エレクトロニクス カンパニー リミテッド 可変ブロック長を有するブロック低密度パリティ検査符号の符号化/復号化装置及び方法
WO2006039801A1 (en) * 2004-10-12 2006-04-20 Nortel Networks Limited System and method for low density parity check encoding of data
KR100809616B1 (ko) * 2005-10-19 2008-03-05 삼성전자주식회사 가변 블록 길이를 가지는 블록 저밀도 패리티 검사 부호부호화/복호 장치 및 방법
KR100975558B1 (ko) 2006-05-03 2010-08-13 삼성전자주식회사 통신 시스템에서 신호 송수신 장치 및 방법
US8464120B2 (en) * 2006-10-18 2013-06-11 Panasonic Corporation Method and system for data transmission in a multiple input multiple output (MIMO) system including unbalanced lifting of a parity check matrix prior to encoding input data streams
US7934146B2 (en) * 2006-10-18 2011-04-26 Nokia Corporation Method, apparatus and computer program product providing for data block encoding and decoding
WO2008092040A2 (en) * 2007-01-24 2008-07-31 Qualcomm Incorporated Ldpc encoding and decoding of packets of variable sizes

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220058521A (ko) * 2014-05-22 2022-05-09 한국전자통신연구원 길이가 16200이며, 부호율이 10/15인 ldpc 부호어 및 256-심볼 맵핑을 위한 bicm 수신 장치 및 이를 이용한 방법
KR20160024711A (ko) * 2014-08-26 2016-03-07 한국전자통신연구원 Ldpc 부호화기 및 이를 이용한 ldpc 부호화 방법
US10999004B2 (en) 2014-08-26 2021-05-04 Electronics And Telecommunications Research Institute Low density parity check encoder, and low density parity check encoding method using the same
KR20210084371A (ko) * 2014-08-26 2021-07-07 한국전자통신연구원 Ldpc 부호화기 및 이를 이용한 ldpc 부호화 방법
KR20220063131A (ko) * 2014-08-26 2022-05-17 한국전자통신연구원 Ldpc 복호화기 및 이를 이용한 ldpc 복호화 방법
KR20190028788A (ko) * 2016-07-20 2019-03-19 후아웨이 테크놀러지 컴퍼니 리미티드 코드를 인코딩 및 디코딩하기 위한 방법과 시스템
KR20190038933A (ko) * 2016-09-30 2019-04-09 엘지전자 주식회사 Qc ldpc 코드의 레이트 매칭 방법 및 이를 위한 장치
CN109792253A (zh) * 2016-09-30 2019-05-21 Lg电子株式会社 Qc ldpc码速率匹配方法和用于该方法的装置
US10804933B2 (en) 2016-09-30 2020-10-13 Lg Electronics Inc. QC LDPC code rate matching method and device therefor

Also Published As

Publication number Publication date
US8433984B2 (en) 2013-04-30
WO2008092040A3 (en) 2008-12-31
KR101339120B1 (ko) 2013-12-09
JP2010517444A (ja) 2010-05-20
KR20090113869A (ko) 2009-11-02
TW200838159A (en) 2008-09-16
WO2008092040A2 (en) 2008-07-31
KR101364160B1 (ko) 2014-02-17
CN101601187A (zh) 2009-12-09
EP2568612A1 (en) 2013-03-13
KR20120076382A (ko) 2012-07-09
KR20130081324A (ko) 2013-07-16
JP5231453B2 (ja) 2013-07-10
MX2009007946A (es) 2009-08-18
JP2012231473A (ja) 2012-11-22
JP5559246B2 (ja) 2014-07-23
CA2674719A1 (en) 2008-07-31
RU2009131711A (ru) 2011-02-27
CN102904583A (zh) 2013-01-30
EP2106635A2 (en) 2009-10-07
AU2008207799B2 (en) 2010-12-02
CN102904583B (zh) 2017-06-23
US20080178065A1 (en) 2008-07-24
KR20130026525A (ko) 2013-03-13
JP5551209B2 (ja) 2014-07-16
IL199605A0 (en) 2010-03-28
CN101601187B (zh) 2014-08-20
TW201334425A (zh) 2013-08-16
BRPI0806757A2 (pt) 2011-09-13
AU2008207799A1 (en) 2008-07-31
RU2443053C2 (ru) 2012-02-20
KR101312468B1 (ko) 2013-09-27
JP2012231474A (ja) 2012-11-22
US8578249B2 (en) 2013-11-05
US20120166914A1 (en) 2012-06-28
KR101280477B1 (ko) 2013-07-01

Similar Documents

Publication Publication Date Title
KR101339120B1 (ko) 가변 크기들의 패킷들의 ldpc 인코딩 및 디코딩
EP4064573B1 (en) Decoding of quasi-cyclic ldpc codes for a 5g mobile communications system
CN110754042B (zh) 信息处理的方法和通信装置
KR20170060562A (ko) 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치
KR20170075627A (ko) 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치
WO2018126788A1 (zh) 准循环低密度奇偶校验编码方法、装置和存储介质
KR102482110B1 (ko) 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치
KR20170060574A (ko) 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치
KR20190000768A (ko) 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치
KR20180071921A (ko) 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치
KR20170060600A (ko) 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20161125

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170929

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180928

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190924

Year of fee payment: 7