KR20200013794A - 정보 처리 방법, 장치 및 통신 장치 - Google Patents

정보 처리 방법, 장치 및 통신 장치 Download PDF

Info

Publication number
KR20200013794A
KR20200013794A KR1020207002529A KR20207002529A KR20200013794A KR 20200013794 A KR20200013794 A KR 20200013794A KR 1020207002529 A KR1020207002529 A KR 1020207002529A KR 20207002529 A KR20207002529 A KR 20207002529A KR 20200013794 A KR20200013794 A KR 20200013794A
Authority
KR
South Korea
Prior art keywords
matrix
columns
rows
column
base
Prior art date
Application number
KR1020207002529A
Other languages
English (en)
Other versions
KR102276721B1 (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 후아웨이 테크놀러지 컴퍼니 리미티드
Priority claimed from PCT/CN2018/082851 external-priority patent/WO2019001090A1/zh
Publication of KR20200013794A publication Critical patent/KR20200013794A/ko
Application granted granted Critical
Publication of KR102276721B1 publication Critical patent/KR102276721B1/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
    • 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/25Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM]
    • H03M13/255Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM] with 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/033Theoretical methods to calculate these checking codes
    • H03M13/036Heuristic code construction methods, i.e. code construction or code search based on using trial-and-error
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/1174Parity-check or generator matrices built from sub-matrices representing known block codes such as, e.g. Hamming codes, e.g. generalized LDPC codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/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/635Error control coding in combination with rate matching
    • H03M13/6362Error control coding in combination with rate matching by puncturing
    • 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
    • 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/0041Arrangements at the transmitter end
    • 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/0045Arrangements at the receiver end
    • H04L1/0047Decoding adapted to other signal detection operation
    • H04L1/005Iterative decoding, including iteration between signal detection and decoding operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • 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

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Algebra (AREA)
  • Computing Systems (AREA)
  • Error Detection And Correction (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 출원은 인코딩 방법, 장치, 통신 장치 및 통신 시스템을 개시한다.
이 방법은 LDPC(Low Density Parity Check) 행렬을 사용하여 입력 비트 시퀀스를 인코딩하는 단계를 포함하며, 여기서 LDPC 행렬은 리프팅 인자 Z 및 기본 행렬에 기초하여 얻어지며, 기본 행렬은 도 3b 내지 3i에 도시된 행렬 중 하나에서 행 0 내지 행 6 및 열 0 내지 16 열을 포함하거나, 기본 행렬은 도 3b 내지 3i에 도시된 행렬 중 하나에서 행 0 내지 행 6 및 열 0 내지 16 열 중 일부 열을 포함한다.
본 출원에서의 인코딩 방법, 장치, 통신 장치 및 통신 시스템은 복수의 길이를 갖는 정보 비트 시퀀스에 대한 인코딩 요건을 지원할 수 있다.

Description

정보 처리 방법, 장치 및 통신 장치
본 출원의 실시예는 통신 분야, 특히 정보 처리 방법 및 통신 장치에 관한 것이다.
LDPC(Low Density Parity Check) 코드는 희소 체크 행렬(sparse check matrix)를 특징으로 하는 일종의 선형 블록 코드이며, 유연한 구조와 낮은 디코딩 복잡도를 갖는다. LDPC 코딩된 코드 워드를 디코딩하는 데 부분 병렬 반복 디코딩 알고리즘(partially parallel iterative decoding algorithm)이 사용될 수 있기 때문에, LDPC 코드는 종래의 터보 코드보다 높은 처리량을 갖는다. LDPC 코드는 통신 시스템에서 에러 정정 코드로서 사용될 수 있어서, 채널 기반 송신에서 신뢰성 및 전력 이용율을 향상시킨다. LDPC 코드는 또한 공간 통신(spetial communications), 광섬유 통신, 개인 통신 시스템, 비대칭 디지털 가입자 루프(asymmetrical digital subscriber loop, ADSL), 자기 기록 장치 등에 널리 사용될 수 있다. 현재, LDPC 코드는 5 세대(5G) 이동 통신 시스템에서 채널 코딩 방식 중 하나로 간주되어 왔다.
실제 응용에서, 상이한 특수 구조를 갖는 LDPC 행렬이 사용될 수 있다. QC(Quasi Cycle) 구조를 갖는 LDPC 기본 행렬을 확장(리프팅이라고도 함)함으로써 특별한 구조를 갖는 LDPC 행렬 H가 얻어질 수 있다. QC-LDPC 행렬을 사용하는 코딩 방식은 병렬 처리 수준이 높은 하드웨어에 적합하며 더 높은 처리량을 제공한다. QC-LDPC 행렬은 채널 코딩에 적합하도록 설계될 수 있다.
본 출원의 실시예들은 정보 처리 방법, 및 통신 장치 및 시스템을 제공하여, 복수의 길이를 갖는 정보 비트 시퀀스의 인코딩 및 디코딩을 지원한다.
제1 측면에 따르면, 인코딩 방법 및 인코더가 제공된다. 인코더는 LDPC(Low Density Parity Check) 행렬을 사용하여 입력 시퀀스를 인코딩한다.
제2 측면에 따르면, 디코딩 방법 및 디코더가 제공된다. 디코더는 LDPC 행렬을 사용하여 입력 시퀀스를 디코딩한다.
제1 측면 또는 제2 측면의 제1 구현에서, LDPC 행렬은 리프팅 인자 Z 및 기본 행렬에 기초하여 획득된다.
전술한 구현에 기초하여, 기본 그래프의 기본 행렬은 다음 중 하나를 포함한다:
기본 행렬은 도 3b 내지 3i8에 도시된 행렬 중 한 행렬의 행 0 내지 행 6, 열 0 내지 열 16을 포함하거나; 또는
기본 행렬은 도 3b 내지 3i에 도시된 행렬 중 한 행렬의 행 0 내지 행 6, 열 0 내지 열 16의 일부 열을 포함하거나: 또는
기본 행렬은 도 3b 내지 3i에 도시된 행렬 중 한 행렬의 행 0 내지 행 6, 열 0 내지 열 16에 대해 행/열 변환을 수행하여 얻어진 행렬이거나: 또는
기본 행렬은 도 3b 내지 3i에 도시된 행렬 중 한 행렬에서 행 0 내지 행 6, 열 0 내지 열 16 중 일부 열에 대해 행/열 변환을 수행하여 획득된 행렬이다.
상이한 코드 블록 길이를 지원하기 위해, LDPC 코드에 대해 상이한 리프팅 인자 Z가 필요하다. 전술한 구현에 기초하여, 상이한 리프팅 인자 Z에 대응하는 기본 행렬이 상이한 리프팅 인자 Z에 기초하여 사용된다. 일부 구현들에서, Z=a×2j, 여기서 0≤j<7 및
Figure pct00001
이다.
또한, 전술한 구현에 기초하여, LDPC 행렬은 리프팅 인자 Z 및 전술한 기본 행렬을 오프셋함으로써 획득된 행렬 Hs에 기초하여 획득될 수 있다. 다르게는, LDPC 행렬은 리프팅 인자 Z 및 행렬 Hs에 대해 행/열 변환을 수행함으로써 획득된 행렬에 기초하여 얻어질 수 있고, Hs는 전술한 기본 행렬을 오프셋함으로써 얻어진다. 전술한 기본 행렬을 오프셋하는 것은 오프셋에 의해 하나 이상의 열에서 0 이상의 시프트 값을 증가 또는 감소시키는 것일 수 있다.
전술한 구현에서 LDPC 행렬의 기본 그래프 및 기본 행렬은 복수의 블록 길이의 코드 블록의 성능 요건을 만족시킬 수 있다.
리프팅 인자 Z는 입력 시퀀스의 길이 K에 기초하여 인코더 또는 디코더에 의해 결정될 수 있거나, 다른 장치에 의해 결정될 수 있고, 입력 파라미터로서 인코더 또는 디코더에 제공될 수 있다. 선택적으로, LDPC 행렬은 획득된 리프팅 인자 Z 및 리프팅 인자 Z에 대응하는 기본 행렬에 기초하여 획득될 수 있다.
제1 측면 또는 제2 측면의 제2 구현에서, LDPC 행렬은 LDPC 행렬의 리프팅 인자 Z 및 파라미터(들)에 기초하여 획득된다.
LDPC 행렬의 파라미터는 행 인덱스, 제로가 아닌 요소가 위치하는 열의 열 인덱스 및 제로가 아닌 요소의 시프트 값을 포함할 수 있다. 파라미터는 표 2 및 표 31 내지 표 38 중 하나의 행 0 내지 행 6과 같은 방식으로 저장된다. LDPC 행렬의 파라미터는 행 가중치를 더 포함할 수 있다. 열에서 0이 아닌 요소의 위치는 0이 아닌 요소의 시프트 값과 일대일로 대응한다.
송신측의 통신 장치에 대해, LDPC 행렬을 사용하여 입력 시퀀스를 인코딩하는 단계는: 리프팅 인자 Z에 대응하는 LDPC 행렬을 사용하여 입력 시퀀스를 인코딩하는 단계; 또는 리프팅 인자 Z에 대응하는 LDPC 행렬에 대해 행/열 변환을 수행함으로써 획득된 행렬을 사용하여 입력 시퀀스를 인코딩하는 단계를 포함한다. 본 출원에서 행/열 변환은 행 변환, 열 변환 또는 행 변환 및 열 변환을 의미한다.
수신측의 통신 장치에 대해, LDPC 행렬을 사용하여 입력 시퀀스를 디코딩하는 단계는: 리프팅 인자 Z에 대응하는 LDPC 행렬을 사용하여 입력 시퀀스를 디코딩하는 단계; 또는 리프팅 인자 Z에 대응하는 LDPC 행렬에 대해 행/열 변환을 수행함으로써 획득된 행렬을 사용하여 입력 시퀀스를 디코딩하는 단계를 포함한다. 본 출원에서 행/열 변환은 행 변환, 열 변환 또는 행 변환 및 열 변환을 의미한다.
가능한 구현에서, LDPC 행렬이 저장되어 있고, LDPC 행렬은 입력 시퀀스를 인코딩하는 데 사용되거나, 인코딩에 사용될 수 있는 LDPC 행렬이 LDPC 행렬에 기초하여 변환(행/열 변환)을 수행하거나 또는 리프팅을 수행하는 것으로 획득될 수 있다.
다른 가능한 구현에서, 파라미터 또는 파라미터들이 저장될 수 있고, 인코딩 또는 디코딩에 사용되는 LDPC 행렬은 파라미터에 기초하여 얻어질 수 있고, 이로써 입력 시퀀스는 LDPC 행렬에 기초하여 인코딩 또는 디코딩될 수 있다. 파라미터는, 기본 그래프; 기본 행렬; 기본 그래프 또는 기본 행렬에 대해 행/열 변환을 수행함으로써 얻어진 변환 행렬; 기본 그래프 또는 기본 행렬에 기초한 리프팅 행렬; 기본 행렬에서의 0이 아닌 요소의 시프트 값; 또는 LDPC 행렬을 획득하기 위해 사용되는 임의의 파라미터 중 적어도 하나를 포함한다.
또 다른 가능한 구현에서, LDPC 행렬의 기본 행렬은 메모리에 저장될 수 있다.
또 다른 가능한 구현에서, LDPC 행렬의 기본 그래프는 메모리에 저장될 수 있고, LDPC 행렬의 기본 행렬에서 0이 아닌 요소의 시프트 값이 메모리에 저장될 수 있다.
또 다른 가능한 구현에서, LDPC 행렬의 파라미터는 표 2 또는 표 31 내지 표 38과 같은 방식으로 메모리에 저장되거나, 파라미터의 일부 요소 그룹이 저장될 수 있다.
전술한 가능한 구현에 기초하여, 가능한 설계에서, LDPC 인코딩 또는 디코딩에 사용되는 기본 그래프 및 기본 행렬 중 적어도 하나는 LDPC 행렬의 기본 그래프 및 기본 행렬 중 적어도 하나에 대해 행 변환, 또는 열 변환, 또는 행 변환 및 열 변환을 수행함으로써 얻어진다.
제3 측면에 따르면, 통신 장치가 제공된다. 통신 장치는 전술한 방법 설계를 수행하도록 구성된 소프트웨어 모듈 및/또는 하드웨어 컴포넌트를 포함할 수 있다.
가능한 설계에서, 제3 측면에서 제공되는 통신 장치는 프로세서 및 송수신기 컴포넌트를 포함한다. 프로세서 및 송수신기 컴포넌트는 인코딩 방법 또는 디코딩 방법의 가능한 구현 중 어느 하나를 수행하도록 구성될 수 있다. 통신 장치는 단말기, 기지국 또는 다른 네트워크 장치일 수 있고, 통신 장치의 송수신기 컴포넌트는 트랜시버일 수 있다. 통신 장치는 기저 대역 칩 또는 기저 대역 보드일 수 있고, 통신 장치의 송수신기 컴포넌트는 기저 대역 칩 또는 기저 대역 보드의 입/출력 회로일 수 있고, 입/출력 신호를 수신/송신하도록 구성된다. 선택적으로, 통신 장치는 데이터 및/또는 명령어를 저장하도록 구성된 메모리를 더 포함할 수 있다.
일 구현에서, 프로세서는 제1 측면에 따른 인코더 및 결정 유닛을 포함할 수 있다. 결정 유닛은 입력 시퀀스를 인코딩하는 데 필요한 리프팅 인자 Z를 결정하도록 구성된다. 인코더는 리프팅 인자 Z에 대응하는 LDPC 행렬을 사용하여 입력 시퀀스를 인코딩하도록 구성된다.
다른 구현에서, 프로세서는 제2 측면에 따른 디코더 및 획득 유닛을 포함할 수 있다. 획득 유닛은 LDPC 코드의 소프트 값 및 리프팅 인자 Z를 획득하도록 구성된다. 디코더는 정보 비트 시퀀스를 얻기 위해 리프팅 인자 Z에 대응하는 기본 행렬 HB에 기초하여 LDPC 코드의 소프트 값을 디코딩하도록 구성된다.
제4 측면에 따르면, 통신 장치가 제공된다. 통신 장치는 하나 이상의 프로세서를 포함한다. 가능한 설계에서, 하나 이상의 프로세서는 제1 측면에 따른 인코더의 가능한 구현 중 임의의 하나를 수행하도록 구성된다. 다른 가능한 설계에서, 제1 측면에 따른 인코더는 프로세서의 일부일 수 있다. 제1 측면에 따른 인코더의 기능 외에도, 프로세서는 다른 기능을 추가로 구현할 수 있다. 가능한 설계에서, 하나 이상의 프로세서는 제2 측면에 따른 디코더의 기능을 구현할 수 있다. 다른 가능한 설계에서, 제2 측면에 따른 디코더는 프로세서의 일부일 수 있다.
선택적으로, 통신 장치는 송수신기 및 안테나를 더 포함할 수 있다. 선택적으로, 통신 장치는 전송 블록 순환 중복 검사(transport block cyclic redundancy check, CRC)를 위한 컴포넌트, 코드 블록 세그먼트화(code block segmentation) 및 CRC 검사를 위한 컴포넌트, 인터리빙을 위한 인터리버, 변조 처리를 위한 변조기 등을 더 포함할 수 있다. 가능한 설계에서, 이들 컴포넌트의 기능은 하나 이상의 프로세서를 사용하여 구현될 수 있다.
선택적으로, 통신 장치는 복조 동작을 위한 복조기, 디인터리빙(deinterleaving)을 위한 디인터리버(deinterleaver), 레이트 디매칭(rate de-matching)을 위한 컴포넌트 등을 더 포함할 수 있다. 이들 장치의 기능은 하나 이상의 프로세서를 사용하여 구현될 수 있다.
제5 측면에 따르면, 본 출원의 실시예는 통신 시스템을 제공한다. 시스템은 제3 측면에 따른 통신 장치를 포함한다.
제 측면에 따르면, 본 출원의 실시예는 통신 시스템을 제공한다. 시스템은 제4 측면에 따른 하나 이상의 통신 장치를 포함한다.
또 다른 측면에 따르면, 본 출원의 실시예는 컴퓨터 저장 매체를 제공한다. 컴퓨터 저장 매체는 프로그램을 저장하고, 프로그램이 실행될 때 컴퓨터는 전술한 측면들에서 설명된 방법들을 수행하게 된다.
본 출원의 또 다른 측면은 컴퓨터에 의해 실행될 때 컴퓨터로 하여금 전술한 측면에 따른 방법을 수행하게 하는 하나 이상의 명령을 포함하는 컴퓨터 프로그램 제품을 제공한다.
본 출원의 실시예에서의 정보 처리 방법, 장치, 통신 장치 및 통신 시스템에 따르면, 시스템의 유연한 코드 길이 및 코드 레이트 요구 사항이 인코딩 성능 및 에러 플로어의 측면에서 충족될 수 있다.
도 1은 LDPC 코드에서 사용되는 기본 그래프, 기본 행렬 및 순환 순열 행렬의 예를 도시한다.
도 2는 LDPC 코드에서 사용되는 기본 그래프의 개략적인 구조도이다.
도 3a는 본 출원의 실시예에 따라 LDPC 코드에서 사용되는 기본 그래프의 개략도이다.
도 3b은 본 출원의 실시예에 따른 기본 행렬의 개략도이다.
도 3c는 본 출원의 실시예에 따른 다른 기본 행렬의 개략도이다.
도 3d은 본 출원의 실시예에 따른 또 다른 기본 행렬의 개략도이다.
도 3e는 본 출원의 실시예에 따른 또 다른 기본 행렬의 개략도이다.
도 3f는 본 출원의 실시예에 따른 또 다른 기본 행렬의 개략도이다.
도 3g은 본 출원의 실시예에 따른 또 다른 기본 행렬의 개략도이다.
도 3h은 본 출원의 실시예에 따른 또 다른 기본 행렬의 개략도이다.
도 3i은 본 출원의 실시예에 따른 또 다른 기본 행렬의 개략도이다.
도 4는 본 출원의 실시예에 의해 제공되는 성능 다이어그램이다.
도 5는 본 출원의 실시예에 따른 정보 처리 절차의 흐름도이다.
도 6은 본 출원의 실시예에 따른 정보 처리 절차의 흐름도이다.
도 7은 본 출원의 실시예에 따른 통신 장치의 간략화된 블록도이다.
도 8은 본 출원의 실시예에 따른 통신 시스템의 블록도이다.
이해를 돕기 위해 다음은 본 출원에서 사용되는 일부 용어를 설명한다.
본 출원에서, 용어 "네트워크"및 "시스템"은 종종 상호 교환 가능하게 사용되고, "장치"및 "디바이스"는 종종 상호 교환 가능하게 사용되며, "정보"및 "데이터"도 종종 상호 교환적으로 사용된다. 이들 용어의 의미는 기존과 같이 이해된다. "통신 장치"는 칩(예를 들어, 기저 대역 칩, 디지털 신호 처리 칩 또는 범용 칩), 단말기, 기지국 또는 다른 네트워크 장치를 지칭할 수 있다. 단말기는 통신 기능이 있는 장치이다. 단말기는 핸드 헬드 장치, 차량 탑재 장치, 웨어러블 장치 또는 무선 통신 기능을 갖는 다른 종류의 장치일 수 있다. 단말기는 사용자 장비, 이동국, 가입자 유닛, 스테이션, 셀룰러 폰, 개인 휴대 정보 단말기, 무선 모뎀, 무선 통신 장치, 핸드 헬드 장치, 랩탑 컴퓨터, 무선 전화기, 또는 무선 로컬 루프 스테이션와 같은, 상이한 네트워크에서 상이한 명칭으로 지칭될 수 있다. 설명의 편의를 위해, 이들 장치는 본 출원에서 총칭하여 단말기로 지칭된다. 기지국(기지국, BS)(또는 기지국 장치로 지칭됨)은 무선 통신 네트워크에 배치되어 무선 통신 기능을 제공하는 장치이다. 기지국은 상이한 무선 액세스 시스템에서 상이한 명칭으로 지칭될 수 있다. 예를 들어, UMTS(Universal Mobile Telecommunications System) 네트워크의 기지국을 NodeB라고 한다. LTE(Long Term Evolution) 네트워크의 기지국은 ENB(evolved NodeB)라고 한다. 새로운 무선(NR) 네트워크의 기지국은 전송 수신 포인트(TRP) 또는 차세대 NodeB(gNB)로 지칭된다. 다른 네트워크의 기지국은 다른 이름으로 지칭될 수 있다. 이것은 본 출원에서 제한되지 않는다.
본 출원의 실시예들에서의 기술적 해결 수단은 첨부 도면을 참조하여 아래에 설명된다.
LDPC 코드는 패리티 검사 행렬 H에 의해 정의될 수 있다. 일 구현에서, LDPC 행렬로도 지칭되는 LDPC 코드에 대한 패리티 검사 행렬 H는 기본 그래프(base graph)라 불리는 행렬로 표현되고, 기본 그래프의 각 요소는 ZxZ 확산(리프팅) 행렬을 나타낸다. Z는 양의 정수이며 리프팅 인자라고 한다. Z는 또한 리프팅 크기 등으로 지칭될 수 있다. 기본 그래프는 0인 요소 또는 0이 아닌 요소의 위치를 나타내는 데 사용된다. 기본 그래프에서 0이 아닌 각 요소는 시프트 값에 해당한다. LDPC 코드에 대한 패리티 검사 행렬 H는 기본 그래프 및 시프트 값에 기초하여 획득될 수 있다. 일반적으로, 기본 그래프는 mxn 행렬 요소(엔트리(entries)라고도 함)를 포함하며 m개의 행과 n개의 열로 구성된 행렬로 표시된다. 각 행렬 요소의 값은 0 또는 1이다. 값이 0인 요소를 제로 요소(Zero-element)라고 하며, Z열×Z행 모두 영(0)인 행렬에 대응한다. 값이 1인 요소를 논제로 요소라고 하며, Z열×Z행 순환 순열 행렬에 대응한다. 즉, 기본 그래프의 각 요소는 올 제로 행렬(all zero matrix) 또는 순환 순열 행렬을 나타낸다. 도 1에 도시된 기본 그래프의 예(10a)에서. m=7 및 n=17이고, 기본 그래프(10a)는 QC 구조를 갖는다. 본 출원 전체에서, 기본 그래프 및 기본 행렬의 행 인덱스 및 열 인덱스는 0부터 시작하여 번호가 매겨지며, 이는 설명의 편의를 위한 것일 뿐이라는 점에 유의해야 한다. 예를 들어, 열 인덱스 0은 기본 그래프 또는 기본 행렬의 첫 번째 열을 나타내고 열 인덱스 1은 기본 그래프 또는 기본 행렬의 두 번째 열을 나타내고 행 인덱스 0은 기본 그래프 또는 기본 행렬의 첫 번째 행을 나타내고, 행 인덱스 1은 기본 그래프 또는 기본 행렬의 두 번째 행을 나타내는 것과 같은 식이다.
행과 열은 1부터 시작하여 번호가 매겨질 수 있음을 이해할 수 있다. 이 경우, 본 명세서에 도시된 행 인덱스 및 열 인덱스는 이에 따라 1씩 증가된다. 예를 들어 행 인덱스와 열 인덱스의 번호가 1부터 시작하면 열 1은 기본 그래프와 행렬에서 첫 번째 열을 나타내고 열 2는 기본 그래프와 행렬에서 두 번째 열을 나타낸다. 기본 그래프와 행렬에서 행 2는 기본 그래프와 행렬의 두 번째 행을 나타내는 식이다.
다른 구현에서, m개의 행 및 n개의 열의 기본 행렬이 정의될 수 있으며, 때로는 PCM(particy check matrix: 패리티 검사 행렬)이라고도 한다. 예를 들어, 도 3b 내지 3i에 제공된 임의의 행렬, 또는 도 3b 내지 3i의 임의의 행렬에서의 일부 행과 열을 포함하는 행렬이 정의된다. 기본 행렬의 요소는 기본 그래프의 요소와 일대일로 대응한다. 기본 그래프의 제로 요소는 기본 행렬에서 동일한 위치를 갖는다. 기본 행렬에서 제로 요소는 -1 또는 "null"로 표시될 수 있다. 기본 그래프에서 값이 1인 행 i 및 열 j에서 논제로 요소의 위치는 기본 행렬에서 동일한 위치를 가지며 논제로 요소는 Vi,j로 표시된다. 기본 행렬에서 Vi,j의 값은 시스템에 의해 정의되거나 미리 정의될 수 있거나, 또는 기본 그래프에서 논제로 요소의 시프트 값 Pi,j 및 리프팅 인자 Z에 기초하여 Vi,j가 획득될 수 있다. Pi,j는 미리 정해진 또는 특정 리프팅 인자 Z에 대응하는 시프트 값이다. Pi,j는 Z 및 Vi,j에 기초하여 획득될 수 있다. 일 구현에서 Pi,j 및 Vi,j는 다음 관계를 만족시킨다.
Pi,j=mod(Vi,j, Z)
여기서 i와 j는 논제로 요소의 행 인덱스와 열 인덱스를 나타내며 기본 행렬에서 요소의 위치를 나타낸다.
본 출원의 실시예에서, 때때로 기본 행렬는 기본 그래프의 시프트 행렬로도 지칭된다. 기본 행렬는 기본 그래프 및 시프트 값에 따라 획득될 수 있다. 기본 그래프의 행 i 및 열 j의 요소에 값 1이 있고 요소의 시프트 값이 Pi,j 인 경우(여기서, Pi,j는 0 이상의 정수), 그 요소가 Pi,j에 대응하는 ZxZ 순환 순열 행렬로 대체될 수 있다는 것을 나타내는 것이다. 순환 순열 행렬은 또한 시프트 행렬로 지칭될 수 있다. 순환 순열 행렬은 ZxZ 항등 행렬(identity matrix)을 Pi,j 번 오른쪽 또는 왼쪽으로 순환 시프트함으로써 획득될 수 있다. 일 구현에서,
Pi,j=mod(Vi,j, Z)
여기서 Vi,j는 기본 행렬의 값으로, 기본 그래프의 논제로 요소에 대응한다. 때때로, Vi,j는 또한 시프트 값, 순환 시프트 값 또는 시프트 계수로 지칭될 수 있다. Vi,j는, 예를 들어 최대 리프팅 인자 Zmax에 대응하는 시프트 값일 수 있다. Zmax는 Z 값 세트의 최대 값이다. 기본 그래프에서 행 i 및 열 j의 요소 값이 0인 경우 요소는 ZxZ 올 제로 행렬로 대체될 수 있다. 기본 그래프에서 행 i 및 열 j의 요소 값이 1 인 경우, 그 요소는 시프트 값 Pi,j를 갖는 ZxZ 순환 순열 행렬로 대체될 수 있다. 이러한 방식으로, LDPC 코드에 대한 패리티 검사 행렬 H가 획득된다. Z는 양의 정수이고, 리프팅 인자, 리프팅 크기 등으로 지칭될 수 있다. Z는 시스템에 의해 지원되는 코드 블록 크기 및 정보 데이터 크기에 기초하여 결정될 수 있다. m개의 행 x n개의 열의 기본 그래프에 대해, LDPC 코드에 대한 패리티 검사 행렬 H의 크기는 (mxZ) 행 x (nxZ) 열임을 알 수 있다. 예를 들어, 리프팅 인자 Z가 4이면, 각각의 제로 요소는 크기가 4×4인 올 제로 행렬로 대체된다(도 1의 11a 참조). P2,3=2이면, 기본 행렬의 행 2 및 열 3의 논제로 요소는 도 1의 4×4 순환 순열 행렬(11d)로 대체된다. 행렬(11d)는 4×4 항등 행렬(11b)을 오른쪽으로 두 번 순환 시프트함으로써 얻어진다. P2,4=0이면, 행 2 및 열 4에서 논제로 요소가 항등 행렬(11b)로 대체된다. 이 예는 단지 예시를 위한 것이며, 한정하고자 하는 것이 아님에 유의해야 한다.
Pi,j의 값은 리프팅 인자 Z에 의존할 수 있다. 기본 그래프에서 1의 요소에 대해 Pi,j는 다른 리프팅 인자 Z에 따라 다를 수 있다. 기본 그래프(10a)에 대응하는 기본 행렬이 도 1에서 10b로 도시되어 있다. 예를 들어, 기본 그래프(10a)의 행 1 및 열 3의 값 1에 대해, 기본 행렬(10b)의 행 1 및 열 3의 대응하는 시프트 값 Vi,j는 27이다. Pi,j의 값은 Pi,j=mod(Vi,j, Z)에 따라 얻어질 수 있다. 이러한 방식으로, 행 1 및 열 3의 요소는 크기 ZxZ의 항등 행렬을 Pi,j번 오른쪽 또는 왼쪽으로 순환 시프트함으로써 얻어진 순환 순열 행렬로 대체될 수 있다.
일반적으로, LDPC 코드에 대한 기본 그래프 또는 기본 행렬은 빌트인 천공 열(built-in puncture column)의 p 열을 추가로 포함할 수 있으며, 여기서 p는 0 내지 2의 정수일 수 있다. 이들 열은 인코딩에 사용될 수 있지만, 빌트인 천공 열에 대응하는 인코딩된 시스템 비트는 전송되지 않는다. 이 경우, LDPC 부호에 대한 기본 행렬의 코드 레이트는 R=(n-m)/(n-p)를 만족시킨다. 예를 들어 기본 그래프 10a를 사용하여 두개의 빌트인 천공 열이 있는 경우 코드 레이트는 (17-7)/(17-2)=0.667이며 약 2/3이다.
무선 통신 시스템에서 사용되는 LDPC 코드는 QC-LDPC 코드이다. QC-LDPC 코드의 패리티 비트 부분은 이중 대각(bi-diagonal) 구조 또는 랩터형(raptor-like) 구조를 갖는다. 이를 통해 인코딩을 단순화하고 증분 중복 하이브리드 반복(incremental redundancy hybrid repeat)을 지원할 수 있다. QC-LDPC 코드를 위한 디코더는 일반적으로 순환 시프트 정보를 위해 QC-LDPC 시프트 네트워크(QSN), 반얀 네트워크(Banyan network) 또는 벤 네트워크(Benes network)를 사용한다.
랩터형 구조를 갖는 QC-LDPC 코드에 대한 기본 그래프(200)는 m개의 행과 n개의 열의 행렬이다. 기본 그래프(200)는 5개의 부분 행렬(A, B, C, D 및 E)를 포함할 수 있다. 행렬의 행 또는 열의 가중치는 행 또는 열에서 논제로 요소의 수량에 의해 결정된다. 행의 가중치(행 가중치)는 행에서 논제로 요소의 수량을 의미하고 열의 가중치(열 가중치)는 열에서 논제로 요소의 수량을 의미한다. 다음은 도 2의 기본 그래프(200)에 도시되어있다:
부분 행렬 A는 mA 행 및 nA 열의 행렬이며, 부분 행렬 A의 크기는 mA×nA 이다. 각 열은 LDPC 코드에서 Z 시스템 비트에 해당하며, 시스템 비트는 정보 비트라고도 한다.
부분 행렬 B는 mA 행 및 mA 열의 행렬이고, 부분 행렬 B의 크기는 mA×mA 이다. 각 열은 LDPC 코드에서의 Z 패리티 비트에 대응한다. 부분 행렬 B는 이중 대각 구조를 갖는 부분 행렬 B' 및 열 가중치가 3(약칭하여 가중치-3 열)인 행렬 열을 포함한다. 가중치-3 열 은 도 2의 20a에 도시된 바와 같이 부분 행렬 B'의 좌측에 위치될 수 있다. 부분 행렬 B는 열 가중치가 1(약칭하여, 가중치-1 열)인 하나 이상의 행렬 열을 더 포함할 수 있다. 도 2의 20b 및 20c는 가중치-1 열의 가능한 위치의 예이다.
일반적으로, 부분 행렬 A 및 B에 기초하여 생성된 행렬은 코어 행렬로 지칭될 수 있으며, 이는 높은 코드 레이트 인코딩을 지원하기 위해 사용될 수 있다.
부분 행렬 C는 올 제로 행렬이고, 부분 행렬 C의 크기는 mA×mD이다.
부분 행렬 E는 항등 행렬(identity matrix)이고, 부분 행렬 E의 크기는 mD×mD이며, 여기서 mD=m-mA이다.
부분 행렬 D의 크기는 mD×(nA+mA)이며, 일반적으로 낮은 코드 레이트 패리티 비트를 생성하는 데 사용될 수 있다.
부분 행렬 C 및 E는 비교적 명확한 구조를 갖기 때문에, 3개의 부분 행렬 A, B 및 D의 구조는 LDPC 코드의 인코딩/디코딩 성능에 영향을 미치는 요소의 일부이다.
전술한 내용은 원리의 관점에서 기본 그래프/기본 행렬의 구조를 설명하는 것으로 이해될 수 있다. 부분 행렬 A, B, C, D 및 E의 구분은 원리의 관점에서 이해를 용이하게하기 위한 것이다. 부분 행렬 A, B, C, D 및 E의 분할은 전술한 분할 방식으로 제한되지 않는 것으로 이해될 수 있다. 일 구현에서, C는 올 제로 행렬이고, E는 항등 행렬이며, C와 E의 구조는 알려져 있다. 따라서, LDPC 행렬은 모든 부분 행렬 A, B, C, D 및 E를 사용하지 않고 단순화 된 형태로 표현될 수 있다. 예를 들어, LDPC 행렬은 부분 행렬 A, B 및 D에 의해, 부분 행렬 A, B, C 및 D에 의해, 또는 부분 행렬 A, B, D 및 E에 의해 단순화된 형태로 표현될 수 있는데, 이것은 부분 행렬 B가 하나 이상의 가중치-1 열을 포함하고, 부분 행렬 B에서의 하나 이상의 가중치-1 열에 대해, 구조가 상대적으로 명확하기 때문이다. 따라서, 하나 이상의 가중치-1 열은 LDPC 행렬을 나타내는 데 사용되지 않을 수 있다. 예를 들어, 부분 행렬 A, 부분 행렬 B의 일부 열 및 부분 행렬 D의 대응하는 열이 LDPC 행렬을 나타내는 데 사용될 수 있다. 랩터형 구조를 갖는 LDPC 행렬이 인코딩에 사용될 때, 가능한 구현은, 부분 행렬 A 및 B를 포함하는 행렬의 일부, 즉 코어 행렬이 먼저 부분 행렬 B에 대응하는 하나 이상의 패리티 비트를 얻기 위해 인코딩에 사용될 수 있다는 것이다. 이어서, 전체 LDPC 행렬이 부분 행렬 E에 대응하는 하나 이상의 패리티 비트를 얻기 위해 인코딩에 사용된다. 부분 행렬 B는 이중 대각 구조 및 하나 이상의 가중치-1 열을 갖는 부분 행렬 B'를 포함할 수 있기 때문에, 인코딩 동안, 부분 행렬 B'에 대응하는 패리티 비트가 먼저 얻어질 수 있고, 그런 다음 가중치-1 열에 대응하는 패리티 비트가 얻어질 수 있다.
인코딩 방식의 예가 아래에 제공된다. 부분 행렬 A 및 B를 포함하는 코어 행렬을 H core라고 가정하자. H core의 마지막 행과 마지막 열이 제거된다. 즉, 가중치-1 열과 가중치-1 열의 논제로 요소가 위치한 행이 H core에서 제거되어 행렬 H core-dual을 얻는다. H core-dual의 패리티 비트 부분은 H e=[H e1 H e2]로 표시되며 H e1은 가중치-3 열이고, H e2는 이중 대각 구조를 갖는다. LDPC 행렬의 정의에 따르면,
Figure pct00002
, 여기서 S는 입력 시퀀스이면서 정보 비트의 벡터로 표시되고, Pe는 패리티 비트의 벡터이고, [S Pe] T는 입력 시퀀스 S 및 Pe에 의해 형성된 전치 행렬을 나타낸다. 따라서, H core-dual에 대응하는 패리티 비트는 먼저 입력 시퀀스 S 및 H core-dual에 기초하여 계산될 수 있으며, 여기서 입력 시퀀스 S는 모든 정보 비트를 포함한다. 그 다음, 부분 행렬 B에서 하나 이상의 가중치-1 열에 대응하는 패리티 비트는 H core-dual 및 입력 시퀀스 S에 대응하는 패리티 비트에 기초하여 계산된다. 이 경우, 부분 행렬 B에 대응하는 모든 패리티 비트가 획득될 수 있다. 부분 행렬 E에 대응하는 패리티 비트는, 모든 정보 비트 및 모든 패리티 비트를 얻기 위해, 입력 시퀀스 S 및 부분 행렬 B에 대응하는 패리티 비트에 기초하여 부분 행렬 D를 인코딩함으로써 획득된다. 이들 비트는 인코딩된 시퀀스, 즉 LDPC 코드 워드를 구성한다.
LDPC 코드는 인코딩된 시퀀스에 대한 단축(shortening) 동작 또는 천공(puncturing) 동작을 더 포함할 수 있다. 단축된 비트 또는 천공된 비트는 전송되지 않는다.
단축은 일반적으로 정보 비트의 마지막 비트부터 시작하여 수행되며, 다른 방식으로 수행될 수도 있다. 예를 들어, 단축된 비트의 수량이 s0이면, 입력 시퀀스 S의 마지막 s0개 비트는 알려진 비트로서, 예를 들어 0, 널(null) 또는 다른 값으로 설정되어 입력 시퀀스 S'를 얻을 수 있다. 그리고, 입력 시퀀스 S'는 LDPC 행렬을 사용하여 인코딩된다. 다른 예를 들어, 입력 시퀀스 S의 마지막 (s0 mod Z)개 비트가 대안적으로 알려진 비트로 설정될 수 있으며, 예를 들어 입력 시퀀스 S'를 얻기 위해 0, null 또는 다른 값으로 설정될 수 있다. 부분 행렬 A의 마지막
Figure pct00003
개 열은 LDPC 행렬 H'를 얻기 위해 삭제되고, 입력 시퀀스 S'는 LDPC 행렬 H'를 사용하여 인코딩되거나; 또는 부분 행렬 A의 마지막
Figure pct00004
개 열은 입력 시퀀스 S'의 인코딩에 참여하지 않는다. 인코딩 후에는 단축된 비트가 전송되지 않는다.
천공은 입력 시퀀스의 빌트인 천공 비트 또는 패리티 비트에서 수행될 수 있다. 패리티 비트(들)을 천공하는 것은 일반적으로 패리티 비트의 마지막 비트부터 시작하여 수행된다. 다르게는, 패리티 비트(들)을 천공하는 것은 시스템의 미리 설정된 천공 순서에 따라 수행될 수 있다. 가능한 구현은 다음과 같다: 입력 시퀀스가 먼저 인코딩된 다음, 패리티 비트의 마지막 p개 비트는 천공될 필요가 있는 비트의 수량 p에 기초하여 선택되거나, 또는 p개 비트가 시스템의 사전 설정된 천공 순서에 기초하여 선택된다. 이 p개 비트는 전송되지 않는다. 다른 가능한 구현에서, 다르게는, 천공된 비트에 대응하는 행렬 내의 p개의 열, 및 열의 논제로 요소가 위치하는 p개의 행이 결정될 수 있다. 이러한 행과 열은 인코딩에 참여하지 않으며 대응하는 패리티 비트가 생성되지 않는다.
여기에 설명된 인코딩 구현은 단지 예일 뿐이며, 통상의 기술자에게 알려진 다른 인코딩 구현이 대안으로서 본 출원의 실시예에서 제공되는 기본 그래프 및/또는 기본 행렬에 기초하여 사용될 수 있음에 유의해야 한다. 이것은 본 출원에서 제한되지 않는다. 본 출원에서의 디코딩은 복수의 디코딩 방법으로 수행될 수 있으며, 예를 들어, 최소-합(min-sum, MS) 디코딩 방법 또는 빌리프 전파 디코딩(belief propagation decoding) 방법이 사용될 수 있다. MS 디코딩 방법은 때때로 플러드(Flood) MS 디코딩 방법으로 지칭된다. 예를 들어, 입력 시퀀스가 초기화된 후 반복 처리가 수행된다. 반복 후 하디 디시젼(hard decision) 검출이 수행되고 하드 디시젼 결과에 대한 검사(check)가 수행된다. 디코딩 결과가 검사 방정식을 만족하면, 디코딩이 성공하고, 반복이 종료되고, 결정 결과가 출력된다. 디코딩 결과가 검사 방정식을 만족하지 않으면, 반복 처리는 최대 반복 횟수 내에서 다시 수행된다. 최대 반복 횟수에 도달했을 때 검사가 여전히 통과하지 않으면 디코딩이 실패한다. MS 디코딩의 원리는 통상의 기술자에 의해 이해되므로, 세부 사항은 여기에서 설명되지 않는다.
여기에 설명된 디코딩 방법은 단지 예일 뿐이며, 통상의 기술자에 의해 알려진 다른 디코딩 방법이 본 출원에서 제공되는 기본 그래프 및/또는 기본 행렬에 기초하여 대신하여 사용될 수 있음에 유의해야 한다. 본 출원에서 디코딩 방법은 제한되지 않는다.
LDPC 코드 워드는 기본 그래프 또는 기본 행렬의 설계에 따라 얻어진다. 예를 들어, LDPC 코드의 성능 상한은 기본 그래프 또는 기본 행렬에 밀도 진화(density evolution)를 수행함으로써 결정될 수 있다. LDPC 코드의 에러 플로어(error floor)는 기본 행렬의 시프트 값에 기초하여 결정된다. 기본 그래프 또는 기본 행렬을 적절히 설계함으로써 인코딩 또는 디코딩 성능이 향상될 수 있고 에러 플로어가 감소될 수 있다. 무선 통신 시스템에서, 코드 길이는 2560 비트 또는 38400 비트와 같이 유연하다. 도 3a는 LDPC 코드에 대한 기본 그래프의 예를 도시한다. 도 3b 내지 3i은 도 3a의 기본 그래프에 대응하는 기본 행렬의 예를 도시한다. 기본 행렬은 복수의 블록 길이의 성능 요건을 충족시킬 수 있다. 설명과 이해를 쉽게하기 위해 열 인덱스와 행 인덱스는 각각 도 3a 및 도 3b 내지 3i에서 맨 위와 맨 왼쪽에 표시된다.
도 4는 도 3a에 도시된 LDPC 코드의 개략적인 성능 다이어그램이다. 도 4에 도시된 성능 다이어그램에서, 도 3b 내지 3i에 도시된 행렬 중 어느 하나를 사용하여 성능 곡선을 인코딩하는 것이 도시되어 있다. 수평 좌표는 비트 단위로 정보 비트 시퀀스의 길이를 나타내고, 수직 좌표는 대응하는 블록 에러율(BLER)에 도달하는 데 필요한 심볼에 대한 신호대 잡음비(Es/N0)이다. 각 코드 레이트의 두 라인은 두 개의 BLER 0.01 및 0.0001에 대응한다. 동일한 코드 레이트에 대해, 0.01은 위쪽 곡선에 해당하고 0.0001은 아래쪽 곡선에 해당한다. 곡선이 매끄러우면 블록 길이가 다른 경우 행렬의 성능이 상대적으로 높다는 것을 나타낸다.
도 3a는 LDPC 코드의 기본 그래프의 예를 도시한다. 도 3a의 기본 그래프에서. 맨 위 행의 숫자 0 내지 51은 열 인덱스이고, 기본 그래프의 열 0 내지 열 51에 각각 대응한다. 가장 왼쪽 열의 숫자 0 내지 41은 행 인덱스이며 각각 기본 그래프의 행 0-41에 해당한다. 즉, 기본 그래프의 크기는 42개 행, 52개 열이다.
일 구현에서, 부분 행렬 A 및 부분 행렬 B의 조합은 LDPC 코드에 대한 기본 그래프의 코어 행렬로 간주될 수 있고, 코어 행렬은 높은 코드 레이트 인코딩에 사용될 수 있다. 도 3a에 도시된 바와 같이, 기본 그래프의 상부 코너에서 7개 행 및 17개 열의 행렬은 기본 그래프의 코어 행렬로 간주될 수 있다. 코어 행렬은 부분 행렬 A 및 부분 행렬 B를 포함한다. 부분 행렬 A는 7개 행 및 10개 열로 구성된 행렬이며, 도 3a의 기본 행렬의 행 0 내지 행 6 및 열 0 내지 열 9로 구성된다. 부분 행렬 B는 7개 행 및 7개 열의 행렬이며, 도 3a의 기본 행렬의 행 0 내지 열 6 및 열 10 내지 열 16으로 구성된다.
다른 구현에서, 도 3a에 도시된 기본 그래프의 좌측 상단 코너에서, 7개 행 및 14개 열로 구성된 행렬, 또는 7개 행 및 15개 열로 구성된 행렬, 또는 7개 행 및 16개 열로 구성된 행렬이 코어 부분으로 간주될 수 있다. 즉, 도 3a에 도시된 기본 그래프에서, 행 0 내지 행 6 및 열 0 내지 열 13으로 구성된 행렬, 또는 행 0 내지 행 6 및 열 0 내지 열 14로 구성된 행렬, 또는 행 0 내지 행 6 및 열 0 내지 열 15로 구성된 행렬이 코어 부분으로 간주될 수 있다. 이에 대응하여, 도 3a의 기본 그래프에서 코어 부분에 대응하는, 도 3b 내지 3i에 도시된 행렬 중 어느 하나의 부분이, 대안적으로, 코어 부분으로 간주될 수 있다.
일 구현에서, 부분 행렬 A는 하나 이상의 빌트인 천공 열을 포함할 수 있다. 예를 들어, 부분 행렬 A는 2개의 빌트인 천공 열을 포함할 수 있다. 이 경우, 천공 후 코어 행렬에 의해 지원될 수 있은 코드 레이트는 2/3이다. 부분 행렬 B는 하나의 가중치-1 열을 포함할 수 있다. 구체적으로, 부분 행렬 B에서 첫 번째 열의 열 가중치는 3(코어 행렬의 열 10)이다. 부분 행렬 B에서 두 번째 열의 열 가중치는 5(코어 행렬의 열 11)이다. 부분 행렬 B의 두 번째 열 내지 네 번째 열(코어 행렬의 열 11 내지 열 13)과 부분 행렬 B의 행 0에서 열 3은 두개의 대각선 구조이며, 여기서 세 번째 열과 네 번째 열의 열 가중치는 열 12이다. 코어 행렬의 열 13)은 2이다. 부분 행렬 B는 3개의 가중치-1 열(코어 행렬에서 열 14 내지 열 16)을 추가로 포함한다.
일 구현에서, 부분 행렬 A는 시스템 비트에 대응할 수 있고, 때때로 정보 비트로도 지칭되며, mA개 행 및 10개 열의 크기를 가지며, 여기서 mA=5이다. 부분 행렬 A는 도 3a의 기본 그래프(30a)에서 행 0 내지 행 4 및 열 0 내지 열 9의 요소들로 구성된다.
일 구현에서, 부분 행렬 B는 패리티 비트에 대응할 수 있고, mA개 행 및 mA개 열의 크기를 가질 수 있다. 부분 행렬 B는 도 3a의 기본 그래프(30a)에서 행 0 내지 행 6 및 열 10 내지 열 16의 요소들로 구성된다..
유연한 코드 레이트를 얻기 위해, 대응하는 크기의 부분 행렬 C, 부분 행렬 D 및 부분 행렬 E가 코어 행렬에 기초하여 추가되어 상이한 코드 레이트를 얻을 수 있다. 부분 행렬 C는 제로 행렬이므로, 부분 행렬 E는 항등 행렬이고, 부분 행렬의 크기는 주로 코드 레이트에 기초하여 결정되며, 구조는 비교적 고정되어있다. 인코딩/디코딩 성능은 주로 코어 행렬과 부분 행렬 D에 의해 영향을 받는다. 코어 행렬에 기초하여 행 및 열이 추가되어 대응하는 부분 C, D 및 E를 형성함으로써 상이한 코드 레이트를 얻는다.
부분 행렬 D에서 열의 수 mD는 부분 행렬 A 및 부분 행렬 B의 열의 수의 합이다. 부분 행렬 D에서의 행의 수는 주로 코드 레이트와 관련이 있다. 예로서, 도 3a의 기본 그래프(30a)를 사용하면, 부분 행렬 D는 17개의 열을 갖는다. LDPC 코드에서 지원하는 코드 레이트가 Rm 인 경우, LDPC 코드의 기본 그래프 또는 기본 행렬에는 m개의 행과 n개의 열이 있다. 여기서 n=nA/Rm+p, m=n-nA=nA/Rm+p-nA이고, p는 빌트인 천공 열의 수이다. LDPC 코드에 의해 지원되는 코드 레이트는 공식에 기초하여 획득될 수 있다. 최저 코드 레이트가 Rm=1/3이고 빌트인 천공 열의 수 p가 2인 경우, 도 3a의 기본 그래프(30a)를 일례로 할 때, n=52, m=42, 및 부분 행렬 D에서의 행의 수 mD는 m-mA=42-7=35까지이며, 즉, , 0≤mD≤35이다.
도 3a의 기본 그래프(30a)를 예로서 사용하면, 부분 행렬 D는 행 7 내지 행 41의 mD개 행을 포함할 수 있다.
본 출원에서 기본 그래프의 인접한 두 행에 대해 각 열에 논제로 요소가 하나 이상 있으면 두 행이 대각한다. 기본 그래프에서 두개의 인접한 행에 대한 일부 열과 상이한 다른 열에서, 두개의 인접한 행에 대한 상기 다른 열의 각 열에 최대 하나의 논제로 요소가 있으면, 두 개의 인접한 행은 준대각(quasi-orthogonal)이다. 예를 들어, 빌트인 천공 열 이외의 각 열에서 두 개의 인접한 행에서, 만일 논제로 요소가 하나만 있으면, 두개의 인접한 행이 준대각인 것으로 간주될 수 있다.
도 3a의 기본 그래프(30a)의 행 7 내지 행 41은 준대각 구조의 복수의 행과 대각 구조의 적어도 2개의 행을 포함할 수 있다. 예를 들어, 도 3a의 기본 그래프(30a)의 행 32 및 행 33은 대각이고, 행 34 및 35는 대각하고, 행 36, 37 및 38은 대각이다. 두 개의 인접한 행의 경우, 빌트인 천공 열과 상이한 다른 열에서, 각 열에 논제로 요소가 하나 이상 있으면 두개의 인접한 행이 준대각 구조를 만족시킨다. 빌트인 천공 열이 포함된 경우 어느 하나의 열에 논제로 요소가 하나만 있으면 인접한 두 행이 대각 구조를 만족시킨다.
mD15인 경우, LDPC 코드의 기본 그래프의 부분 행렬 D는, 15개 행 및 17개 열을 가지며, 도 3a의 기본 그래프(30a)의 행 7 내지 21 및 열 0 내지 16으로 구성된 행렬일 수 있다. LDPC 코드에 의해 지원되는 대응하는 코드 레이트는 전술한 계산 공식에 기초하여 획득될 수 있다.
부분 행렬 E는 15개 행 및 15개 열의 항등 행렬이고, 부분 행렬 C는 7개 행 및 15개 열의 올 제로 행렬이다.
mD=19인 경우, LDPC 코드의 기본 그래프의 부분 행렬 D는 19개 행 및 17개 열을 가지며, 도 3a의 기본 그래프(30a)의 행 7 내지 25 및 열 0 내지 16으로 구성된 행렬일 수 있다. LDPC 코드에 의해 지원되는 대응하는 코드 레이트는 전술한 계산 공식에 기초하여 획득될 수 있다. 이 코드 레이트에서, LDPC 코드의 기본 그래프는 도 3a의 기본 그래프(30a)에서 행 0 내지 25 및 열 0 내지 16으로 구성된 행렬에 대응한다. 부분 행렬 E는 16개 행 및 16개 열의 항등 행렬이고, 부분 행렬 C는 7개 행 및 16개 열의 올 제로 행렬이다. mD가 다른 값인 경우에도 마찬가지이다. 자세한 내용은 설명하지 않는다.
설계에서, 행/열 순열은 기본 그래프 및/또는 기본 행렬에 대해 수행될 수 있다. 행/열 순열은 행 순열, 열 순열 또는 행 순열 및 열 순열일 수 있다. 행/열 순열은 행 가중치 또는 열 가중치를 변경하지 않으며 논제로 요소의 수량도 변경하지 않는다. 따라서, 행/열 순열을 수행함으로써 얻어진 기본 그래프 및/또는 기본 행렬은 시스템 성능에 영향을 미치거나 제한적이다. 전체적으로 행/열 순열로 인한 시스템 성능에 대한 영향은 수용 가능하고 공차 범위(tolerance range) 내에 있다. 예를 들어, 일부 시나리오 또는 일부 범위에서는 공차 범위 내에서 성능이 저하되는 반면 일부 시나리오 또는 일부 범위에서는 성능이 어느 정도 향상되며 전체 성능에는 큰 영향을 미치지 않는다.
예를 들어, 도 3a의 기본 그래프(30a)의 행 34 및 36은 교환될 수 있고, 열 44와 45도 교환될 수 있다. 다른 예에서, 부분 행렬 D는 행렬 F 내의 mD개 행을 포함한다. mD개 행에서 행 교환이 수행되지 않을 수도 있고, 또는 하나 이상의 mD개 행에서 행 교환이 수행될 수도 있다. 부분 행렬 E는 여전히 대각(diagonal) 구조이며, 부분 행렬 E에서 행 교환 또는 열 교환이 수행되지 않는다. 예를 들어, 행 교환은 행렬 F의 행 27 및 행 29에서 수행된다. 부분 행렬 D는 행렬 F의 mD개 행을 포함하고, 부분 행렬 E는 여전히 대각 구조이다. 기본 그래프 또는 기본 행렬이 부분 행렬 D를 포함하는 경우, 코어 행렬에 대해 열 교환이 수행될 때, 부분 행렬 D에 대해 열 교환이 수행될 필요가 있음을 이해할 수 있다.
도 3b 내지 3i에 도시된 행렬은 도 3a의 기본 그래프(30a)에 대응하는 기본 행렬의 예이다. 도 3a의 기본 그래프(30a)에서 행 i 및 열 j에서 논제로 요소의 위치는 도 3b 내지 3i에 도시된 행렬에서의 위치와 동일하다. 논제로 요소의 시프트 값은 Vi,j이다. 제로 요소는 기본 행렬에서 값 -1 또는 null로 표시된다. 기본 행렬에서 부분 행렬 D의 대응하는 부분은 기본 행렬 중 임의의 하나의 행 7 내지 행 41의 mD개 행을 포함할 수 있고 mD의 값은 상이한 코드 레이트에 기초하여 선택될 수 있다. 기본 그래프가 도 3a의 기본 그래프(30a)에 대해 행/열 변환을 수행함으로써 획득된 행렬인 경우, 이에 따라, 기본 행렬은 행/열 변환을 수행함으로써 획득된 대응하는 행렬이 된다는 것을 이해할 수 있다.
가능한 설계에서, 부분 행렬 C 및 E의 구조는 비교적 고정되어 있기 때문에, LDPC 코드의 기본 그래프/기본 행렬은 부분 행렬 A, B 및 D, 즉 도 3a 또는 도 3b 내지 3i에 도시된 임의의 행렬에서 행 0 내지 행 41 및 열 0 내지 열 16을 사용하여 표현될 수 있다.
가능한 설계에서, 열 14 내지 열 51은 비교적 명확한 구조를 갖기 때문에, LDPC 코드의 기본 그래프/기본 행렬은, 도 3a 또는 도 3b 내지 3i에 도시된 임의의 행렬의 행 0 내지 행 41 및 열 0 내지 열 13을 사용하여 단순화된 형태로 표현될 수 있다.
가능한 설계에서, LDPC 코드의 기본 그래프/기본 행렬는 도 3a 또는 도 3b 내지 3i에 도시된 임의의 행렬에서 행 0 내지 행 41 및 열 0 내지 열 13, 또는 행 0 내지 행 41 및 열 0 내지 열 14를 사용하여 표현될 수 있다.. 예를 들어, LDPC 코드의 기본 그래프/기본 행렬는 도 도 3a 또는 도 3b 내지 3i에 도시된 임의의 행렬에서 행 0 내지 행 41 및 열 0 내지 열 15 또는 행 0 내지 행 41 및 열 0 내지 열 14를 사용하여 표현될 수 있다.
가능한 설계에서, LDPC 코드의 기본 행렬는 도 3b 내지 3i에 도시된 행렬 중 임의의 하나의 행 0 내지 행 6 및 열 0 내지 열 16을 포함할 수 있다. 도 3i에 도시된 행렬 중 어느 하나의 행 0 내지 행 6 및 열 0 내지 열 16으로 구성된 행렬은 기본 행렬의 핵심 부분으로 사용될 수 있다. 이 설계에서, LDPC 부호의 기본 행렬의 다른 부분, 예를 들어 부분 행렬 C, D 및 E의 구조는 제한되지 않는다. 예를 들어, 도 3b 내지 3i에 도시된 임의의 구조 또는 다른 행렬 설계가 사용될 수 있다.
또 다른 가능한 설계에서, LDPC 코드의 기본 행렬은 도 3b 내지 3i에 도시된 행렬 중 임의의 하나에서 행 0 내지 행 m-1 및 열 0 내지 열 n-1로 구성된 행렬을 포함할 수 있고, 여기서, 7≤m≤42, m은 정수, 18≤n≤52, n은 정수이다.
이 설계에서, LDPC 코드의 기본 행렬의 다른 부분의 구조는 제한되지 않는다. 예를 들어, 도 3b 내지 3i 에 도시된 임의의 구조 또는 다른 행렬 설계가 사용될 수 있다.
또 다른 가능한 설계에서, LDPC 코드의 기본 행렬은 도 3b 내지 3i에 도시된 행렬들 중 어느 하나의 행 0 내지 행 6 및 열 0 내지 열 16의 일부 열을 포함할 수 있다. 예를 들어, 도 3b 내지 3i에 도시된 행렬의 코어 부분(행 0 내지 행 6 및 열 0 내지 열 16)은 단축 및/또는 천공될 수 있다. 일 구현에서, LDPC 코드의 기본 행렬은 단축 및/또는 천공된 비트(들)에 대응하는 열(들)을 포함하지 않을 수 있다.
이 설계에서, LDPC 코드의 기본 행렬의 다른 부분은 제한되지 않는다. 예를 들어, 도 3b 내지 3i에 도시된 구조가 사용될 수 있고, 다른 구조들도 사용될 수 있다.
또 다른 가능한 설계에서, LDPC 코드의 기본 행렬은 도 3b 내지 3i에 도시된 행렬 중 어느 하나의 행 0 내지 행 m-1 및 열 0 내지 열 n-1의 일부 열로 구성된 행렬을 포함할 수 있고, 여기서 7≤m≤42, m은 정수, 18≤n≤52, n은 정수이다. 예를 들어, 단축 동작 및/또는 천공 동작은 도 3b 내지 3i에 도시된 행렬 중 어느 하나의 행 0 내지 행 m-1 및 열 0 내지 열 n-1에서 수행될 수 있다. 일 구현에서, LDPC 코드의 기본 행렬은 단축 및/또는 천공된 비트(들)에 대응하는 열(들)을 포함하지 않을 수 있다. 이 설계에서, LDPC 코드의 기본 행렬의 다른 부분은 제한되지 않는다. 예를 들어, 도 3b 내지 3i 중 어느 하나에 도시된 구조가 사용될 수 있고, 다른 구조들도 사용될 수 있다. 일 구현에서, 단축 동작은 정보 비트를 단축시키는 것일 수 있다. 예컨대, 도 3b 내지 3i에 도시된 행렬 중 어느 하나를 사용하여, 열 0 내지 열 9 중 하나 이상의 열이 단축된다. 이 경우에, LDPC 코드의 기본 행렬은 도 3b 내지 3i에 도시된 행렬 중 임의의 하나의 하나 이상의 단축된 열을 포함하지 않을 수 있다. 예를 들어, 열 9가 단축되면, LDPC 코드의 기본 행렬은 도 3b 내지 3i의 임의의 행렬에서 열 0 내지 열 8 및 열 10 내지 열 16을 포함할 수 있다.
다른 구현에서, 천공 동작은 천공 패리티 비트일 수 있다. 예컨대, 도 3b 내지 3i에 도시된 행렬 중 어느 하나를 사용하여, 열 10 내지 열 16 중 하나 이상의 열이 천공된다. 이 경우, LDPC 코드의 기본 행렬은 도 3b 내지 3i에 도시된 행렬 중 어느 하나의 하나 이상의 천공된 열을 포함하지 않을 수 있다. 예를 들어, 열 16이 천공되면, LDPC 코드의 기본 행렬은 도 3b 내지 3i에 도시된 행렬 중 어느 하나의 열에서 열 0 내지 열 15를 포함할 수 있다.
. 상이한 블록 길이를 지원하기 위해, LDPC 코드는 상이한 리프팅 인자 Z가 필요하다. 가능한 설계에서, 상이한 기본 행렬이 상이한 리프팅 인자에 대해 사용되어 비교적 높은 성능을 달성할 수 있다. 예를 들어, 리프팅 계수는 Z=a×2j이며, 여기서 0≤j<7이고
Figure pct00005
이다. 표 1은 가능한 지지되는 리프팅 인자 세트 {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 20, 22, 24, 26, 28, 30, 32, 36, 40, 44, 48, 52, 56, 60, 64, 72, 80, 88, 96, 104, 112, 120, 128, 144, 160, 176, 192, 208, 224, 240, 256, 288, 320, 352, 384}를 보여준다. 맨 위 행 및 가장 왼쪽 열을 제외한 각 셀은 대응하는 a 및 j 값에 대응하는 Z 값을 나타낸다. 예를 들어, 열 a2 및 행 j=1 인 경우, Z는 4이다. 다른 예에서, a=11 및 j=3의 경우, Z는 88이다. 유사하므로, 세부 사항은 설명하지 않는다.
Z a=2 a=3 a=5 a=7 a=9 a=11 a=13 a=15
j=0 2 3 5 7 9 11 13 15
j=1 4 6 10 14 18 22 26 30
j=2 8 12 20 28 36 44 52 60
j=3 16 24 40 56 72 88 104 120
j=4 32 48 80 112 144 176 208 240
j=5 64 96 160 224 288 352
j=6 128 192 320
j=7 256 384
표 1은 단지 리프팅 인자 세트를 기술하는 형태를 나타내는 것으로 이해될 수 있다. 실제 제품 구현은 표 1의 형식으로 제한되지 않으며 리프팅 요소는 다른 표현 형식을 가질 수 있다.
예를 들어, 각각의 값은 리프팅 인자 세트에 대응한다. 리프팅 인자 세트는 세트 인덱스에 의해 식별될 수 있다. 예를 들어, 표 11은 리프팅 인자 세트의 다른 표현 형식을 보여준다.
세트 인덱스(Set index) 리프팅 인자 세트 (리프팅 크기 세트)
1 {2, 4, 8, 16, 32, 64, 128, 256}
2 {3, 6, 12, 24, 48, 96, 192, 384}
3 {5, 10, 20, 40, 80, 160, 320}
4 {7, 14, 28, 56, 112, 224}
5 {9, 18, 36, 72, 144, 288}
6 {11, 22, 44, 88, 176, 352}
7 {13, 26, 52, 104, 208}
8 {15, 30, 60, 120, 240}
기본 그래프에 의해 지지되는 리프팅 인자 세트는 표 1 또는 표 11의 모든 리프팅 인자 또는 일부 리프팅 인자를 포함할 수 있다. 예를 들어, 리프팅 인자 세트는 {24, 26, 28, 30, 32, 36, 40, 44, 48, 52, 56, 60, 64, 72, 80, 88, 96, 104, 112, 120, 128, 144, 160, 176, 192, 208, 224, 240, 256, 288, 320, 352, 384}일 수 있다. 즉, Z는 24보다 크거나 같다. 다른 예에서, 리프팅 인자 세트는 {24, 26, 28, 30, 32, 36, 40, 44, 48, 52, 56, 60, 64, 72, 80, 88, 96, 104, 112, 120, 128, 144, 160, 176, 192, 208, 224, 240, 256, 288, 320, 352, 384} 및 {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 20, 22} 중 하나 이상과의 조합 세트일 수 있다. 이것은 단지 여기의 예일 뿐이라는 점에 유의해야 한다. 기본 그래프에 의해 지원되는 리프팅 인자 세트는 a의 값에 기초하여 상이한 서브 세트들로 분할될 수 있다. 예를 들어, a=2인 경우, 리프팅 인자 Z의 서브 세트는 {2, 4, 8, 16, 32, 64, 128, 256} 중 하나 이상을 포함할 수 있고; 다른 예를 들면, a=3 인 경우, 리프팅 인자 Z의 서브 세트는 {3, 6, 12, 24, 48, 96, 192, 384} 중 하나 이상을 포함할 수 있는 등이다.
기본 그래프에 의해 지원되는 리프팅 인자 세트는 a의 상이한 값들에 기초하여 분할될 수 있고, 대응하는 기본 행렬이 결정된다.
a=2 또는 리프팅 인자 Z의 값이 {2, 4, 8, 16, 32, 64, 128, 256} 중 하나이면, 기본 행렬은 도 3b 내지 3i에 도시된 행렬 중 어느 하나의 행렬에서 행 0 내지 행 6 및 열 0 내지 열 16을 포함하건, 또는 기본 행렬은 도 3b에 도시된 행렬에서 행 0 내지 행 m-1 및 열 0 내지 열 n-1을 포함하거나 (여기서 7≤m≤42, m은 정수, 17≤n≤52, 및 n은 정수); 또는 기본 행렬은 도 3b에 도시된 행렬에서 행 0 내지 행 m-1 및 열 0 내지 열 n-1의 일부 열을 포함한다(여기서 7≤m≤42, m은 정수, 17≤n≤52, 및 n은 정수).
a=3 또는 리프팅 인자 Z의 값이 {3, 6, 12, 24, 48, 96, 192, 384} 중 하나 인 경우, 기본 행렬은 도 3c에 도시된 행렬에서 행 0 내지 행 6 및 열 0 내지 열 16을 포함하거나; 또는 기본 행렬은 도 3c에 도시된 행렬에서 행 0 내지 행 m-1 및 열 0 내지 열 n-1을 포함하거나 (7≤m≤42이고, m은 정수이고, 17≤n≤52이고, n은 정수); 또는 기본 행렬은 도 3c에 도시된 행렬에서 행 0 내지 행 m-1 및 열 0 내지 열 n-1의 일부 열을 포함한다(7≤m≤42, m은 정수, 17≤n≤52, n은 정수).
예를 들어, 기본 행렬 PCM은 도 3c의 행 0 내지 행 41, 및 열 0 내지 열 13, 또는 열 0 내지 열 14, 또는 열 0 내지 열 15를 포함한다.
a=5 또는 리프팅 인자 Z의 값이 {5, 10, 20, 40, 80, 160, 320} 중 하나 인 경우, 기본 행렬은 도 3d에 도시된 행렬에서 행 0 내지 행 6 및 열 0 내지 열 16을 포함하거나; 또는 기본 행렬은 도 3d에 도시된 행렬에서 행 0 내지 행 m-1 및 열 0 내지 열 n-1을 포함(여기서 7≤m≤42, m은 정수, 17≤n≤52, 및 n은 정수)하거나; 또는 기본 행렬은 도 3d에 도시된 행렬에서 행 0 내지 행 m-1 및 열 0 내지 열 n-1의 일부 열을 포함한다(여기서 7≤m≤42, m은 정수, 17≤n≤52, n은 정수).
a=7 또는 리프팅 인자 Z의 값이 {7, 14, 28, 56, 112, 224} 중 하나이면, 기본 행렬은 도 3e에 도시된 행렬에서 행 0 내지 행 6 및 열 0 내지 열 16을 포함하거나; 또는 기본 행렬은 도 3e에 도시된 행렬에서 행 0 내지 행 m-1 및 열 0 내지 열 n-1을 포함(7≤m≤42, m은 정수, 17≤n≤52, 및 n은 정수)하거나; 또는 기본 행렬은 도 3e에 도시된 행렬에서 행 0 내지 행 m-1 및 열 0 내지 열 n-1의 일부 열을 포함(여기서 7≤m≤42, m은 정수, 17≤n≤52, n은 정수)한다.
a=9 또는 리프팅 인자 Z의 값이 {9, 18, 36, 72, 144, 288} 중 하나인 경우, 기본 행렬은 도 3f에 도시된 행렬의 행 0 내지 행 6 및 열 0 내지 열 16을 포함하거나; 또는 기본 행렬은 도 3f에 도시된 행렬에서 행 0 내지 행 m-1 및 열 0 내지 열 n-1을 포함(여기서 7≤m≤42, m은 정수, 17≤n≤52, 및 n은 정수)하거나; 또는 기본 행렬은 도 3f에 도시된 행렬에서 행 0 내지 행 m-1 및 열 0 내지 열 n-1의 일부 열을 포함(여기서 7≤m≤42, m은 정수, 17≤n≤52, n은 정수)한다.
a=11 또는 리프팅 인자 Z의 값이 {11, 22, 44, 88, 176, 352} 중 하나 인 경우, 기본 행렬은 도 3g에 도시된 행렬에서 행 0에서 행 6으로, 열 0에서 열 16을 포함하거나; 또는 기본 행렬은 도 3g에 도시된 행렬에서 행 0 내지 행 m-1 및 열 0 내지 열 n-1을 포함(여기서 7≤m≤42, m은 정수, 17≤n≤52, 및 n은 정수)하거나; 또는 기본 행렬은 도 3g에 도시된 행렬에서 행 0 내지 행 m-1 및 열 0 내지 열 n-1의 일부 열을 포함(여기서 7≤m≤42, m은 정수, 17≤n≤52, n은 정수)한다.
a=13 또는 리프팅 인자 Z의 값이 {13, 26, 52, 104, 208} 중 하나 인 경우, 기본 행렬은 도 3h에 도시된 행렬에서 행 0 내지 행 6 및 열 0 내지 열 16을 포함하거나; 또는 기본 행렬은 도 3h에 도시된 행렬에서 행 0 내지 행 m-1 및 열 0 내지 열 n-1을 포함(여기서 7≤m≤42, m은 정수, 17≤n≤52, 및 n은 정수)하거나; 또는 기본 행렬은 도 3h에 도시된 행렬에서 행 0 내지 행 m-1 및 열 0 내지 열 n-1의 일부 열을 포함(여기서 7≤m≤42, m은 정수, 17≤n≤52, n은 정수)한다.
a=15 또는 리프팅 인자 Z의 값이 {15, 30, 60, 120, 240} 중 하나 인 경우, 기본 행렬은 도 3i에 도시된 행렬에서 행 0 내지 행 6 및 열 0 내지 열 16을 포함하거나; 또는 기본 행렬은 도 3i에 도시된 행렬에서 행 0 내지 행 m-1 및 열 0 내지 열 n-1을 포함(여기서 7≤m≤42이고, m은 정수이고, 17≤n≤52이며, n은 정수)하거나; 또는 기본 행렬은 도 3i에 도시된 행렬에서 열 0 내지 열 n-1의 일부 열을 포함(여기서 7≤m≤42, m은 정수, 17≤n≤52, 및 n은 정수)한다.
선택적으로, LDPC 코드에 대한 기본 행렬의 경우, 하나 이상의 열에서 논제로 요소의 시프트 값은 시스템 성능에 큰 영향을 미치지 않으면서 보상 값 Offsets만큼 증가 또는 감소할 수 있다. 다른 열에서 논제로 요소의 보상 값은 같거나 다를 수 있다. 예를 들어, 행렬에서 하나 이상의 열을 보상하기 위해, 상이한 열에 대한 보상 값은 동일하거나 상이할 수 있다. 이것은이 응용 프로그램에서 제한되지 않는다.
시스템 성능에 큰 영향을 미치지 않는다는 것은 시스템 성능에 대한 영향이 수용 가능하며 공차 범위 내에 있다는 것을 의미한다. 예를 들어, 일부 시나리오 또는 일부 범위에서는 공차 범위 내에서 성능이 저하된다. 그러나 일부 시나리오 또는 일부 범위에서는 성능이 어느 정도 향상된다. 전반적인 성능에는 큰 영향을 미치지 않는다.
예를 들어, 보상 값 Offsets은 도 3b 내지 3i에 도시된 행렬 중 어느 하나에서 열 s에서의 0보다 크거나 같은 각각의 시프트 값에 가산되거나 그 값으로부터 감산되어, 보상된 행렬 Hs를 획득한다. 여기서, Offsets는 0보다 크거나 같은 정수이고, s는 0보다 크거나 같고 11보다 작은 정수이다. 하나 이상의 열에 대한 보정 값 Offsets은 동일하거나 다를 수 있다.
도 3b 및 3b-2에 도시된 인코딩 행렬의 성능 곡선에 기초한, 도 4에 도시된 성능 다이어그램에서. 가로 좌표는 정보 비트 시퀀스의 길이를 나타내며, 길이의 단위는 비트이고, 세로 좌표는 대응하는 BLER에 도달하기 위해 필요한 심볼 신호대 잡음비(Es/N0)이다. 각 코드 레이트의 두 라인은 BLER 0.01 및 0.0001의 두 경우에 대응한다. 동일한 코드 레이트에서 0.01은 위쪽 곡선에 해당하고 0.0001은 아래쪽 곡선에 해당한다. 곡선이 매끄러우면 블록 길이가 다른 경우 행렬의 성능이 상대적으로 높다는 것을 나타낸다.
도 1 내지 도 3a 및 도 3b 내지 3i은 LDPC 코드와 관련된 기본 그래프 및 기본 행렬의 구조를 도시한다. 본 출원의 구현에서 기본 그래프 및/또는 기본 행렬의 설계를 충분히 설명하기 위해, 기본 행렬의 구조는 시스템에 의해 식별될 수 있은 다른 형태, 예를 들어 테이블 형태로 표현될 수 있다. 일 설계에서, 도 1의 10a에 도시된 기본 그래프는 7개 행 및 10개 열의 행렬이며, 관련 파라미터는 표 2와 같이 나타낼 수 있다.
행 번호
(행 인덱스)
행 가중치
(행 정도/행 가중치)
논제로 요소의 열 인덱스
(행에서 논제로 요소의 열 위치)
8 0,1,2,3,6,9,10,11
1 10 0,3,4,5,6,7,8,9,11,12
2 8 0,1,3,4,8,10,12,13
3 10 1,2,4,5,6,7,8,9,10,13
4 4 0,1,11,14
5 6 0,1,5,7,11,15
6 6 0,5,7,9,11,16
기본 그래프(10a)의 열 14 내지 열 16은 열 가중치가 1인 열이고, 열의 위치는 비교적 고정되거나 쉽게 결정되기 때문에, 열 14 내지 열 16의 논제로 요소의 위치는 표 2에는 기록되지 않지만 다른 형식으로 기록된다.
일 설계에서, 도 3b 내지 3i에 도시된 기본 행렬을 사용하여, 기본 행렬과 관련된 파라미터가 표 31 내지 표 38로 각각 나타내어질 수 있다.
행 번호(행 인덱스) 행 가중치 논제로 요소의 열 인덱스 논제로 요소의 시프트 값
0 8 0,1,2,3,6,9,10,11 0,0,0,0,0,0,0,0
1 10 0,3,4,5,6,7,8,9,11,12 183,27,0,0,222,0,0,204,0,0
2 8 0,1,3,4,8,10,12,13 162,164,117,44,159,1,0,0
3 10 1,2,4,5,6,7,8,9,10,13 168,22,57,188,173,110,85,223,0,0
4 4 0,1,11,14 0,44,70,0
5 6 0,1,5,7,11,15 0,221,215,45,171,0
6 6 0,5,7,9,11,16 0,170,23,60,241,0
7 6 1,5,7,11,13,17 0,27,36,157,153,0
8 4 0,1,12,18 0,126,16,0
9 5 1,8,10,11,19 0,126,251,76,0
10 5 0,1,6,7,20 0,49,162,248,0
11 5 0,7,9,13,21 0,4,143,236,0
12 4 1,3,11,22 0,4,151,0
13 5 0,1,8,13,23 0,235,95,173,0
14 5 1,6,11,13,24 0,51,177,63,0
15 4 0,10,11,25 0,69,63,0
16 5 1,9,11,12,26 0,106,117,67,0
17 5 1,5,11,12,27 0,239,82,222,0
18 4 0,6,7,28 0,41,214,0
19 4 0,1,10,29 0,71,123,0
20 4 1,4,11,30 0,228,3,0
21 4 0,8,13,31 0,155,240,0
22 3 1,2,32 0,75,0
23 4 0,3,5,33 0,247,96,0
24 4 1,2,9,34 0,71,227,0
25 3 0,5,35 0,83,0
26 5 2,7,12,13,36 0,12,126,152,0
27 3 0,6,37 0,220,0
28 4 1,2,5,38 0,98,70,0
29 3 0,4,39 0,13,0
30 5 2,5,7,9,40 0,120,87,230,0
31 3 1,13,41 0,110,0
32 4 0,5,12,42 0,5,115,0
33 4 2,7,10,43 0,210,110,0
34 4 0,12,13,44 0,84,57,0
35 4 1,5,11,45 0,224,137,0
36 4 0,2,7,46 0,29,3,0
37 3 10,13,47 0,129,0
38 4 1,5,11,48 0,125,123,0
39 4 0,7,12,49 0,154,247,0
40 4 2,10,13,50 0,85,113,0
41 4 1,5,11,51 0,97,230,0
행 번호(행 인덱스) 행 가중치 논제로 요소의 열 인덱스 논제로 요소의 시프트 값
0 8 0,1,2,3,6,9,10,11 0,0,0,0,0,0,0,0
1 10 0,3,4,5,6,7,8,9,11,12 187,56,0,0,45,0,0,18,0,0
2 8 0,1,3,4,8,10,12,13 179,171,54,158,116,1,0,0
3 10 1,2,4,5,6,7,8,9,10,13 106,62,52,185,80,81,66,163,0,0
4 4 0,1,11,14 0,89,43,0
5 6 0,1,5,7,11,15 0,109,191,42,142,0
6 6 0,5,7,9,11,16 0,163,112,100,131,0
7 6 1,5,7,11,13,17 0,60,78,92,183,0
8 4 0,1,12,18 0,123,58,0
9 5 1,8,10,11,19 0,180,55,49,0
10 5 0,1,6,7,20 0,134,184,158,0
11 5 0,7,9,13,21 0,153,164,189,0
12 4 1,3,11,22 0,167,154,0
13 5 0,1,8,13,23 0,187,166,67,0
14 5 1,6,11,13,24 0,29,67,145,0
15 4 0,10,11,25 0,21,16,0
16 5 1,9,11,12,26 0,122,113,98,0
17 5 1,5,11,12,27 0,99,112,70,0
18 4 0,6,7,28 0,135,164,0
19 4 0,1,10,29 0,94,90,0
20 4 1,4,11,30 0,173,59,0
21 4 0,8,13,31 0,8,143,0
22 3 1,2,32 0,42,0
23 4 0,3,5,33 0,190,72,0
24 4 1,2,9,34 0,73,111,0
25 3 0,5,35 0,188,0
26 5 2,7,12,13,36 0,0,1,113,0
27 3 0,6,37 0,185,0
28 4 1,2,5,38 0,41,89,0
29 3 0,4,39 0,36,0
30 5 2,5,7,9,40 0,141,35,124,0
31 3 1,13,41 0,152,0
32 4 0,5,12,42 0,145,117,0
33 4 2,7,10,43 0,68,176,0
34 4 0,12,13,44 0,92,75,0
35 4 1,5,11,45 0,189,18,0
36 4 0,2,7,46 0,140,179,0
37 3 10,13,47 0,19,0
38 4 1,5,11,48 0,44,3,0
39 4 0,7,12,49 0,111,167,0
40 4 2,10,13,50 0,27,92,0
41 4 1,5,11,51 0,158,156,0
행 번호(행 인덱스) 행 가중치 논제로 요소의 열 인덱스 논제로 요소의 시프트 값
0 8 0,1,2,3,6,9,10,11 0,0,0,0,0,0,0,0
1 10 0,3,4,5,6,7,8,9,11,12 137,124,0,0,88,0,0,55,0,0
2 8 0,1,3,4,8,10,12,13 20,94,99,9,108,1,0,0
3 10 1,2,4,5,6,7,8,9,10,13 38,15,102,146,12,57,53,46,0,0
4 4 0,1,11,14 0,136,157,0
5 6 0,1,5,7,11,15 0,131,142,141,64,0
6 6 0,5,7,9,11,16 0,124,99,45,148,0
7 6 1,5,7,11,13,17 0,45,148,96,78,0
8 4 0,1,12,18 0,65,87,0
9 5 1,8,10,11,19 0,97,51,85,0
10 5 0,1,6,7,20 0,17,156,20,0
11 5 0,7,9,13,21 0,7,4,2,0
12 4 1,3,11,22 0,113,48,0
13 5 0,1,8,13,23 0,112,102,26,0
14 5 1,6,11,13,24 0,138,57,27,0
15 4 0,10,11,25 0,73,99,0
16 5 1,9,11,12,26 0,79,111,143,0
17 5 1,5,11,12,27 0,24,109,18,0
18 4 0,6,7,28 0,18,86,0
19 4 0,1,10,29 0,158,154,0
20 4 1,4,11,30 0,148,104,0
21 4 0,8,13,31 0,17,33,0
22 3 1,2,32 0,4,0
23 4 0,3,5,33 0,75,158,0
24 4 1,2,9,34 0,69,87,0
25 3 0,5,35 0,65,0
26 5 2,7,12,13,36 0,100,13,7,0
27 3 0,6,37 0,32,0
28 4 1,2,5,38 0,126,110,0
29 3 0,4,39 0,154,0
30 5 2,5,7,9,40 0,35,51,134,0
31 3 1,13,41 0,20,0
32 4 0,5,12,42 0,20,122,0
33 4 2,7,10,43 0,88,13,0
34 4 0,12,13,44 0,19,78,0
35 4 1,5,11,45 0,157,6,0
36 4 0,2,7,46 0,63,82,0
37 3 10,13,47 0,144,0
38 4 1,5,11,48 0,93,19,0
39 4 0,7,12,49 0,24,138,0
40 4 2,10,13,50 0,36,143,0
41 4 1,5,11,51 0,2,55,0
행 번호(행 인덱스) 행 가중치 논제로 요소의 열 인덱스 논제로 요소의 시프트 값
0 8 0,1,2,3,6,9,10,11 0,0,0,0,0,0,0,0
1 10 0,3,4,5,6,7,8,9,11,12 152,115,0,0,163,0,0,186,0,0
2 8 0,1,3,4,8,10,12,13 52,149,95,136,30,1,0,0
3 10 1,2,4,5,6,7,8,9,10,13 3,41,145,171,2,188,4,180,0,0
4 4 0,1,11,14 0,178,36,0
5 6 0,1,5,7,11,15 0,116,118,213,54,0
6 6 0,5,7,9,11,16 0,121,215,86,220,0
7 6 1,5,7,11,13,17 0,188,88,155,135,0
8 4 0,1,12,18 0,100,136,0
9 5 1,8,10,11,19 0,157,3,195,0
10 5 0,1,6,7,20 0,20,92,134,0
11 5 0,7,9,13,21 0,66,194,133,0
12 4 1,3,11,22 0,15,59,0
13 5 0,1,8,13,23 0,49,74,187,0
14 5 1,6,11,13,24 0,60,151,154,0
15 4 0,10,11,25 0,122,55,0
16 5 1,9,11,12,26 0,128,147,14,0
17 5 1,5,11,12,27 0,141,131,122,0
18 4 0,6,7,28 0,52,160,0
19 4 0,1,10,29 0,8,223,0
20 4 1,4,11,30 0,65,104,0
21 4 0,8,13,31 0,77,93,0
22 3 1,2,32 0,133,0
23 4 0,3,5,33 0,18,214,0
24 4 1,2,9,34 0,78,43,0
25 3 0,5,35 0,106,0
26 5 2,7,12,13,36 0,191,142,47,0
27 3 0,6,37 0,166,0
28 4 1,2,5,38 0,123,150,0
29 3 0,4,39 0,177,0
30 5 2,5,7,9,40 0,51,140,159,0
31 3 1,13,41 0,119,0
32 4 0,5,12,42 0,81,89,0
33 4 2,7,10,43 0,100,134,0
34 4 0,12,13,44 0,138,34,0
35 4 1,5,11,45 0,46,212,0
36 4 0,2,7,46 0,189,165,0
37 3 10,13,47 0,106,0
38 4 1,5,11,48 0,176,144,0
39 4 0,7,12,49 0,88,141,0
40 4 2,10,13,50 0,150,6,0
41 4 1,5,11,51 0,131,52,0
행 번호(행 인덱스) 행 가중치 논제로 요소의 열 인덱스 논제로 요소의 시프트 값
0 8 0,1,2,3,6,9,10,11 0,0,0,0,0,0,0,0
1 10 0,3,4,5,6,7,8,9,11,12 57,6,0,0,16,0,0,95,0,0
2 8 0,1,3,4,8,10,12,13 141,25,53,132,8,1,0,0
3 10 1,2,4,5,6,7,8,9,10,13 77,8,117,3,119,55,86,21,0,0
4 4 0,1,11,14 0,70,71,0
5 6 0,1,5,7,11,15 0,113,8,79,37,0
6 6 0,5,7,9,11,16 0,34,136,127,83,0
7 6 1,5,7,11,13,17 0,13,63,142,114,0
8 4 0,1,12,18 0,35,67,0
9 5 1,8,10,11,19 0,16,15,21,0
10 5 0,1,6,7,20 0,13,114,21,0
11 5 0,7,9,13,21 0,0,96,86,0
12 4 1,3,11,22 0,106,20,0
13 5 0,1,8,13,23 0,84,113,47,0
14 5 1,6,11,13,24 0,122,51,90,0
15 4 0,10,11,25 0,62,57,0
16 5 1,9,11,12,26 0,37,139,33,0
17 5 1,5,11,12,27 0,10,134,108,0
18 4 0,6,7,28 0,5,95,0
19 4 0,1,10,29 0,74,7,0
20 4 1,4,11,30 0,123,35,0
21 4 0,8,13,31 0,10,36,0
22 3 1,2,32 0,130,0
23 4 0,3,5,33 0,58,102,0
24 4 1,2,9,34 0,17,49,0
25 3 0,5,35 0,2,0
26 5 2,7,12,13,36 0,103,14,132,0
27 3 0,6,37 0,1,0
28 4 1,2,5,38 0,47,99,0
29 3 0,4,39 0,80,0
30 5 2,5,7,9,40 0,72,141,124,0
31 3 1,13,41 0,50,0
32 4 0,5,12,42 0,23,28,0
33 4 2,7,10,43 0,26,22,0
34 4 0,12,13,44 0,65,76,0
35 4 1,5,11,45 0,50,96,0
36 4 0,2,7,46 0,19,107,0
37 3 10,13,47 0,88,0
38 4 1,5,11,48 0,74,10,0
39 4 0,7,12,49 0,119,97,0
40 4 2,10,13,50 0,114,21,0
41 4 1,5,11,51 0,105,66,0
행 번호(행 인덱스) 행 가중치 논제로 요소의 열 인덱스 논제로 요소의 시프트 값
0 8 0,1,2,3,6,9,10,11 0,0,0,0,0,0,0,0
1 10 0,3,4,5,6,7,8,9,11,12 173,54,0,0,168,0,0,160,0,0
2 8 0,1,3,4,8,10,12,13 97,47,149,159,32,1,0,0
3 10 1,2,4,5,6,7,8,9,10,13 166,21,118,83,125,106,58,129,0,0
4 4 0,1,11,14 0,64,76,0
5 6 0,1,5,7,11,15 0,48,21,156,173,0
6 6 0,5,7,9,11,16 0,147,88,169,95,0
7 6 1,5,7,11,13,17 0,103,10,140,116,0
8 4 0,1,12,18 0,1,70,0
9 5 1,8,10,11,19 0,76,71,80,0
10 5 0,1,6,7,20 0,127,67,29,0
11 5 0,7,9,13,21 0,109,50,19,0
12 4 1,3,11,22 0,81,138,0
13 5 0,1,8,13,23 0,47,11,161,0
14 5 1,6,11,13,24 0,1,24,93,0
15 4 0,10,11,25 0,117,134,0
16 5 1,9,11,12,26 0,58,119,50,0
17 5 1,5,11,12,27 0,56,29,77,0
18 4 0,6,7,28 0,42,130,0
19 4 0,1,10,29 0,164,49,0
20 4 1,4,11,30 0,171,164,0
21 4 0,8,13,31 0,159,125,0
22 3 1,2,32 0,79,0
23 4 0,3,5,33 0,27,140,0
24 4 1,2,9,34 0,84,13,0
25 3 0,5,35 0,94,0
26 5 2,7,12,13,36 0,14,28,151,0
27 3 0,6,37 0,40,0
28 4 1,2,5,38 0,67,110,0
29 3 0,4,39 0,82,0
30 5 2,5,7,9,40 0,129,87,123,0
31 3 1,13,41 0,117,0
32 4 0,5,12,42 0,60,41,0
33 4 2,7,10,43 0,92,103,0
34 4 0,12,13,44 0,89,83,0
35 4 1,5,11,45 0,86,49,0
36 4 0,2,7,46 0,125,138,0
37 3 10,13,47 0,130,0
38 4 1,5,11,48 0,63,43,0
39 4 0,7,12,49 0,34,21,0
40 4 2,10,13,50 0,118,86,0
41 4 1,5,11,51 0,65,18,0
행 번호(행 인덱스) 행 가중치 논제로 요소의 열 인덱스 논제로 요소의 시프트 값
0 8 0,1,2,3,6,9,10,11 0,0,0,0,0,0,0,0
1 10 0,3,4,5,6,7,8,9,11,12 113,122,0,0,23,0,0,137,0,0
2 8 0,1,3,4,8,10,12,13 103,141,93,12,154,1,0,0
3 10 1,2,4,5,6,7,8,9,10,13 19,163,39,158,173,35,83,203,0,0
4 4 0,1,11,14 0,59,200,0
5 6 0,1,5,7,11,15 0,190,135,15,111,0
6 6 0,5,7,9,11,16 0,23,115,163,40,0
7 6 1,5,7,11,13,17 0,78,73,46,134,0
8 4 0,1,12,18 0,193,54,0
9 5 1,8,10,11,19 0,166,151,19,0
10 5 0,1,6,7,20 0,1,72,182,0
11 5 0,7,9,13,21 0,131,174,138,0
12 4 1,3,11,22 0,174,43,0
13 5 0,1,8,13,23 0,30,167,94,0
14 5 1,6,11,13,24 0,119,203,159,0
15 4 0,10,11,25 0,141,55,0
16 5 1,9,11,12,26 0,120,27,135,0
17 5 1,5,11,12,27 0,30,109,23,0
18 4 0,6,7,28 0,64,55,0
19 4 0,1,10,29 0,2,79,0
20 4 1,4,11,30 0,100,41,0
21 4 0,8,13,31 0,201,130,0
22 3 1,2,32 0,11,0
23 4 0,3,5,33 0,101,79,0
24 4 1,2,9,34 0,88,126,0
25 3 0,5,35 0,116,0
26 5 2,7,12,13,36 0,52,192,112,0
27 3 0,6,37 0,188,0
28 4 1,2,5,38 0,152,148,0
29 3 0,4,39 0,87,0
30 5 2,5,7,9,40 0,25,66,37,0
31 3 1,13,41 0,78,0
32 4 0,5,12,42 0,111,172,0
33 4 2,7,10,43 0,31,119,0
34 4 0,12,13,44 0,38,100,0
35 4 1,5,11,45 0,201,159,0
36 4 0,2,7,46 0,161,129,0
37 3 10,13,47 0,99,0
38 4 1,5,11,48 0,184,140,0
39 4 0,7,12,49 0,85,110,0
40 4 2,10,13,50 0,59,36,0
41 4 1,5,11,51 0,118,117,0
행 번호(행 인덱스) 행 가중치 논제로 요소의 열 인덱스 논제로 요소의 시프트 값
0 8 0,1,2,3,6,9,10,11 0,0,0,0,0,0,0,0
1 10 0,3,4,5,6,7,8,9,11,12 63,126,0,0,229,0,0,98,0,0
2 8 0,1,3,4,8,10,12,13 100,137,42,209,50,1,0,0
3 10 1,2,4,5,6,7,8,9,10,13 7,83,3,133,207,226,32,153,0,0
4 4 0,1,11,14 0,175,53,0
5 6 0,1,5,7,11,15 0,71,139,28,138,0
6 6 0,5,7,9,11,16 0,90,52,64,125,0
7 6 1,5,7,11,13,17 0,209,206,237,167,0
8 4 0,1,12,18 0,139,184,0
9 5 1,8,10,11,19 0,201,126,8,0
10 5 0,1,6,7,20 0,43,145,10,0
11 5 0,7,9,13,21 0,33,61,116,0
12 4 1,3,11,22 0,236,31,0
13 5 0,1,8,13,23 0,159,141,220,0
14 5 1,6,11,13,24 0,112,32,41,0
15 4 0,10,11,25 0,11,152,0
16 5 1,9,11,12,26 0,118,25,92,0
17 5 1,5,11,12,27 0,55,213,218,0
18 4 0,6,7,28 0,86,53,0
19 4 0,1,10,29 0,57,143,0
20 4 1,4,11,30 0,228,50,0
21 4 0,8,13,31 0,58,168,0
22 3 1,2,32 0,231,0
23 4 0,3,5,33 0,74,80,0
24 4 1,2,9,34 0,163,144,0
25 3 0,5,35 0,198,0
26 5 2,7,12,13,36 0,20,211,234,0
27 3 0,6,37 0,84,0
28 4 1,2,5,38 0,155,137,0
29 3 0,4,39 0,195,0
30 5 2,5,7,9,40 0,227,88,91,0
31 3 1,13,41 0,21,0
32 4 0,5,12,42 0,37,194,0
33 4 2,7,10,43 0,132,156,0
34 4 0,12,13,44 0,55,204,0
35 4 1,5,11,45 0,195,139,0
36 4 0,2,7,46 0,178,15,0
37 3 10,13,47 0,206,0
38 4 1,5,11,48 0,76,56,0
39 4 0,7,12,49 0,197,232,0
40 4 2,10,13,50 0,14,45,0
41 4 1,5,11,51 0,189,216,0
도 3a, 도 3b 내지 3i, 표 2 및 표 31 내지 38은 기본 그래프 및 기본 행렬의 설계를 이해하는데 도움을주기 위한 것이며, 이에 한정되는 것은 아니다. 다른 가능한 변형이 또한 포함될 수 있다. 예를 들어, 표 31 및 표 33 내지 표 38의 변형에 대해서는 표 321의 형태를 참조할 수 있다. 저장 공간을 절약하기 위해, 비교적 명확한 구조를 가지며 시프트 값 0에 대응하는 열 14 내지 열 51과 같은 열의 요소에 관한 정보는 테이블에 선택적으로 포함되거나 또는 테이블에 포함되지 않을 수 있다.
일 설계에서, 기본 그래프 또는 기본 행렬에서 비교적 명확한 구조를 갖는 부분에 대해, 기본 그래프 또는 기본 행렬의 논제로 요소의 위치는 행/열 위치에 기초한 계산을 통해 얻어질 수 있고, 논제로 요소의 위치는 저장되지 않을 수 있다. 도 3c 및 표 32는를 예로서 사용하면, 도 3c에 도시된 행렬에서 열 14 내지 열 51의 위치는 비교적 한정적이며, 시프트 값 Vi,j는 모두 0이다. 논제로 요소의 위치는 알려진 논제로 요소를 기반으로 계산할 수 있다. 표 32에서, 열 14 내지 열 51에 대한 정보는 포함되지 않거나 열 14 내지 열 51의 일부 열에 대한 정보는 포함되지 않을 수 있다. 예를 들어, 열 16 내지 열 51의 논제로 요소 및 논제로 요소의 대응하는 시프트 값은 포함되지 않을 수 있다. 예를 들어, 대안적으로, 도 3c에 도시된 행렬은 표 321와 같이 표현될 수 있다.
행 번호(행 인덱스) 행 가중치 논제로 요소의 열 인덱스 논제로 요소의 시프트 값
0 8 0,1,2,3,6,9,10,11 0,0,0,0,0,0,0,0
1 10 0,3,4,5,6,7,8,9,11,12 187,56,0,0,45,0,0,18,0,0
2 8 0,1,3,4,8,10,12,13 179,171,54,158,116,1,0,0
3 10 1,2,4,5,6,7,8,9,10,13 106,62,52,185,80,81,66,163,0,0
4 3 0,1,11 0,89,43
5 5 0,1,5,7,11 0,109,191,42,142
6 5 0,5,7,9,11 0,163,112,100,131
7 5 1,5,7,11,13 0,60,78,92,183
8 3 0,1,12 0,123,58
9 4 1,8,10,11 0,180,55,49
10 4 0,1,6,7 0,134,184,158
11 4 0,7,9,13 0,153,164,189
12 3 1,3,11 0,167,154
13 4 0,1,8,13 0,187,166,67
14 4 1,6,11,13 0,29,67,145
15 3 0,10,11 0,21,16
16 4 1,9,11,12 0,122,113,98
17 4 1,5,11,12 0,99,112,70
18 3 0,6,7 0,135,164
19 3 0,1,10 0,94,90
20 3 1,4,11 0,173,59
21 3 0,8,13 0,8,143
22 2 1,2 0,42
23 3 0,3,5 0,190,72
24 3 1,2,9 0,73,111
25 2 0,5 0,188
26 4 2,7,12,13 0,0,1,113
27 2 0,6 0,185
28 3 1,2,5 0,41,89
29 2 0,4 0,36
30 4 2,5,7,9 0,141,35,124
31 2 1,13 0,152
32 3 0,5,12 0,145,117
33 3 2,7,10 0,68,176
34 3 0,12,13 0,92,75
35 3 1,5,11 0,189,18
36 3 0,2,7 0,140,179
37 2 10,13 0,19
38 3 1,5,11 0,44,3
39 3 0,7,12 0,111,167
40 3 2,10,13 0,27,92
41 3 1,5,11 0,158,156
다른 예에서, 도 3c를 예로서 사용하면, 행 0의 시프트 값 Vi,j도 0이고, 행 0에 대한 정보는 저장되지 않을 수 있지만, 계산을 통해 획득된다.
일 구현에서, 대안적으로, 표 2, 표 31 내지 38 및 표 321에서의 파라미터 "행 가중치"는 생략될 수 있다. 행에서의 논제로 요소들의 수량은 행에서의 논제로 요소들이 위치하는 열에 기초하여 알게 된다. 따라서 행 가중치도 알게 된다.
일 구현에서, 파라미터 값이 논제로 요소가 있는 열에 인덱스되어 있으면, 표 2, 표 31 내지 표 38 및 표 321의 "논제로 요소가 위치한 열"의 파라미터 값이 오름차순으로 배열되지 않을 수 있다. 또한, "논제로 요소의 시프트 값"의 파라미터 값이 "논제로 요소의 열 인덱스"의 파라미터 값과 일대일 대응하는 경우, 표 2 및 표 31 내지 표 38의 "논제로 요소의 시프트 값"의 파라미터 값은 열 순서로 배열되지 않을 수 있다.
일 구현에서, 전술한 상이한 기본 행렬은 표현을 위해 하나 이상의 테이블로 결합될 수 있다. 예를 들어, 상이한 기본 행렬에 대응하는 논제로 요소는 동일한 위치 및 동일한 행 번호를 갖지만, 시프트 값 Vi,j는 상이하다. 따라서, 행 번호, 논제로 요소가 위치하는 열 인덱스 및 논제로 요소의 복수의 그룹의 시프트 값을 열거하여 하나의 테이블을 사용하여 복수의 기본 행렬을 나타낼 수 있다. 예를 들어, 논제로 요소로 구성된 두 그룹의 시프트 값은 다른 열에 나열될 수 있으며 인덱스를 사용하여 지시된다.
일 구현에서, 기본 그래프는 논제로 요소의 위치를 나타내기 위해 사용될 수 있다. 전술한 표에서 "논제로 요소의 열 인덱스"파라미터는, 다르게는, 선택 사항일 수 있다.
일 구현에서, 도 3a 및 도 3b 내지 3i에 도시된 행렬은. 다르게는 열 번호(열 인덱스), 논제로 요소가 위치하는 행 및 논제로 요소의 시프트 값으로 표현될 수 있다. 선택적으로, 열 가중치가 포함될 수 있다.
다른 구현에서, 기본 그래프 또는 기본 행렬의 각 행 또는 각 열의 1 및 0은 이진수로 간주될 수 있고, 이진수를 10 진수 또는 16진수로 저장하면 저장 공간을 절약할 수 있다. 임의의 전술한 기본 그래프 또는 기본 행렬을 예로서, 처음 14개 열 또는 처음 17개 열의 논제로 요소의 위치는 16진수를 사용하여 저장될 수 있다. 예를 들어, 행 0의 처음 14개의 열이 11110010011100인 경우, 행 0의 논제로 요소의 위치는 0xF2 및 0x70으로 기록될 수 있다. 즉, 8개 열마다 16진수를 형성한다. 마지막 2개의 열에 대해, 대응하는 16진수는 0을 채워 8개 비트의 정수배에 이르도록 함으로써 얻어질 수 있다. 다르게는, 대응하는 16진수는 8개 비트의 정수배에 이르도록 하기 위해 처음 2개의 열에 0을 채워서 얻을 수 있다. 다른 행의 경우에도 마찬가지이므로, 세부 사항은 여기에서 설명하지 않는다. 도 5는 데이터 처리 프로세스의 흐름도를 도시한다. 이 데이터 처리 과정은 통신 장치를 이용하여 구현될 수 있다. 통신 장치는 기지국, 단말기, 또는 통신 칩과 같은 다른 엔티티, 또는 인코더/디코더 등일 수 있다.
블록 501: 입력 시퀀스를 획득한다. 일 구현에서, 인코딩을 위한 입력 시퀀스는 정보 비트 시퀀스, 채워진 정보 비트 시퀀스, 또는 정보 비트 시퀀스에 CRC 비트 시퀀스를 추가함으로써 획득된 시퀀스일 수 있다. 때때로 정보 비트 시퀀스는 코드 블록으로도 지칭되며, 예를 들어, 전송 블록상에서 코드 블록 세그먼테이션을 수행함으로써 획득된 출력 시퀀스일 수 있다. 일 구현에서, 디코딩을 위한 입력 시퀀스는 LDPC 코드의 소프트 값 시퀀스일 수 있다.
블록 502: LDPC 행렬에 기초하여 입력 시퀀스를 인코딩/디코딩한다. LDPC 행렬의 기본 행렬은 전술한 예에 도시된 임의의 기본 행렬일 수 있다.
일 구현에서, LDPC 행렬은 리프팅 인자 Z 및 기본 행렬에 기초하여 획득될 수 있다.
일 구현에서, LDPC 행렬과 관련된 파라미터가 저장될 수 있다. 파라미터에는 다음 중 하나 이상이 포함된다:
(a) 전술한 구현들에 열거된 임의의 기본 행렬을 얻기 위해 사용되는 파라미터. 기본 행렬은 파라미터에 기초하여 획득될 수 있다. 예를 들어, 파라미터는 다음 중 하나 이상일 수 있다: 행 인덱스, 행 가중치, 열 인덱스, 열 가중치; 논제로 요소의 위치(예: 논제로 요소의 행 인덱스 또는 논제로 요소의 열 인덱스), 기본 행렬의 시프트 값, 논제로 요소의 시프트 값 및 논제로 요소의 대응하는 위치, 보상 값, 리프팅 인자 Z, 기본 그래프, 코드 레이트 등;
(b) 전술한 구현에서 열거된 임의의 기본 행렬 중 하나인 기본 행렬;
(c) 적어도 하나의 열을 상기 구현들에 열거된 임의의 기본 행렬에 대해 보상을 수행하여 획득된 보상 행렬 H s;
(d)기본 행렬을 리프팅(확장)하거나 기본 행렬의 보상 행렬 H s로부터 리프팅된 행렬;
(e) 상기 구현들에 열거된 기본 행렬 중 임의의 기본 행렬 또는 보상 행렬 H s에 대해 행/열 변환을 수행함으로써 획득된 기본 행렬;
(f) 행/열 변환된 기본 행렬 또는 기본 행렬의 행/열 변환된 보상 행렬 H s을 리프팅하는 것에 의해 획득된 행렬; 및
(g) 상기 구현들에 열거된 기본 행렬 중 임의의 기본 행렬 또는 보상 행렬 H s에 대해 단축 또는 천공 동작을 수행함으로써 얻어진 기본 행렬.
가능한 구현에서, 저밀도 패리티 검사(LDPC) 행렬에 기초하여 입력 시퀀스를 인코딩/디코딩하는 것은 다음 중 하나 이상의 방식으로 인코딩/디코딩 프로세스에서 수행될 수 있다:
i. 상기 항목 (a)에 열거된 일부 또는 모든 파라미터에 기초하여 기본 행렬을 획득한 다음:
획득된 기본 행렬에 기초하여 정보를 인코딩/디코딩하는 방식; 또는
획득된 기본 행렬에 대해 행/열 변환을 수행하고, 행/열 변환된 기본 행렬에 기초하여 정보를 인코딩/디코딩하는 방식; 또는
획득된 기본 행렬의 보상 행렬 H s에 기초하여 정보를 인코딩/디코딩하는 방식; 또는
기본 행렬의 보상 행렬 H s에 행/열 변환을 수행하여 획득된 행렬에 기초한 정보를 인코딩/디코딩하는 방식 (다르게는, 기본 행렬 또는 보상 행렬 H s에 기초한 정보를 인코딩/디코딩하는 단계가: 기본 행렬 또는 기본 행렬의 보상 행렬 H s로부터 리프팅된 기본 행렬에 기초하여 정보를 인코딩/디코딩하는 단계를 포함한다); 또는
상기 기본 행렬 또는 보상 행렬 H s에 대해 단축 또는 천공 동작을 수행하여 획득된 행렬에 기초하여 정보를 인코딩/디코딩하는 방식.
ii. 상기 항목 (b), (c), (d) 또는 (e)에 따라 저장된 행렬에 기초하여 정보를 인코딩/디코딩하는 방식. 이 행렬은 저장된 기본 행렬, 기본 행렬의 보상 행렬 H s, 기본 행렬에 대해 행/열 변환을 수행하여 획득된 행렬, 또는 보상 행렬 H s에 대해 행/열 변환을 수행하여 획득된 행렬일 수 있다. 다르게는, 저장된 기본 행렬에 대해 행/열 변환이 수행되고, 행/열 변환을 수행함으로써 획득된 행렬에 기초하여 인코딩/디코딩이 수행된다. 여기서, 선택적으로, 기본 행렬 또는 보상 행렬 H s에 기초한 인코딩/디코딩은, 기본 행렬의 확산 행렬 또는 보상 행렬 H s의 확산 행렬에 기초하여 인코딩/디코딩을 수행하는 단계; 또는 기본 행렬 또는 보상 행렬 H s에 대해 단축 또는 천공 동작을 수행 한 후에 획득된 행렬에 기초하여 인코딩/디코딩을 수행하는 단계를 더 포함할 수 있다.
iii. 상기 (d), (f) 또는 (g)에 기술된 행렬에 기초하여 정보를 인코딩/디코딩하는 방식.
블록 503: 인코딩/디코딩된 비트 시퀀스를 출력한다. 일 설계에서, 입력 시퀀스 c={ c0,c1,c2, ..., cK-1}은 출력 시퀀스 d={ d0,d1,d2, ..., dN-1}을 얻기 위해 인코딩될 수 있고, 여기서 K와 N은 0보다 큰 정수이다. 출력 시퀀스 d는 입력 시퀀스 c의 K0개 비트 및 패리티 검사 시퀀스 w의 패리티 비트를 포함하며, 여기서 K0은 정수이고 0<K0≤K 이다. 패리티 시퀀스 w와 입력 시퀀스 c는 다음 공식을 만족시킨다.
Figure pct00006
여기서 cT=[c0,c1,c2, ..., cK-1]T는 입력 시퀀스 c의 비트에 의해 형성된 벡터의 전치 벡터이고, wT=[w0,w1,w2, ..., wN-K0-1]T 는 패리티 시퀀스 w에서 비트에 의해 형성된 벡터의 전치 벡터이며; 0T는 열 벡터이며 0T의 모든 요소 값은 0이다. H는 저밀도 패리티 검사(LDPC) 행렬이다. H의 기본 그래프에는 H BGH BG,EXT가 포함된다.
Figure pct00007
여기서
Figure pct00008
는 mc×nc 크기의 올 제로 행렬을 나타내고,
Figure pct00009
는 nc×nc 크기의 항등 행렬을 나타내고; H BGH BG2의 정보 비트의 Kb개 열에 대응하는 열과 H BG2의 열 10 내지 열 10+mA-1에 대응하는 열을 포함한다. 여기서 H BG2의 열의 수는 10+mA, 4≤mA≤7이고,
Figure pct00010
이다. mc=7 및 0≤nc≤35의 경우, H BG2의 열 수는 17과 같거나; 또는 mc=6 및 0≤nc≤37의 경우, H BG2의 열의 수는 16과 같거나; 또는 mc=5 및 0≤nc≤37의 경우, H BG2의 열의 수는 15와 같거나; 또는 mc=4 및 0≤nc≤38의 경우, H BG2의 열 수는 14와 같다.
도 6은 도 5의 블록 502에 적용될 수 있은 데이터 처리 프로세스의 흐름도를 도시한다.
블록 601: 리프팅 인자 Z를 얻는다. 가능한 설계에서, 입력 비트를 얻기 위해 정보 비트 시퀀스에 대해 충진(filling)이 수행될 수 있다. 입력 시퀀스의 길이는 K=Kb·Z 이고 Z=K/Kb이다. 다른 가능한 설계에서, 정보 비트 시퀀스에서 천공되거나 단축될 필요가 있는 비트가 충진될 수 있다. 다시 말해서, 천공되거나 단축될 필요가 있는 비트를 대체하기 위해 충진 비트가 사용되므로, 인코딩 후에 충진 비트가 식별되고 전송되지 않을 수 있다. 예를 들어, 충진 비트의 값으로서는 null 값, 값 0, 시스템에서 합의된 값 또는 미리 정의된 값이 사용될 수 있다. 일 설계에서, 천공이 필요한 비트는 충진없이 천공된다. 충진 비트는 정보 비트 시퀀스 다음에 충진된다.
일 구현에서, 리프팅 인자 Z는 입력 시퀀스의 길이(K)에 기초하여 결정될 수 있다. 예를 들어, Kb·Z0≥K를 만족하는 최소 Z0는 지지된 리프팅 인자 세트 내의 복수의 리프팅 인자로부터 결정될 수 있고 리프팅 인자 Z의 값으로 사용될 수 있다. 가능한 설계에서, Kb는 LDPC 코드의 기본 행렬에서 정보 비트 열의 수일 수 있다. 도 3a의 기본 그래프(30a)에 대하여, 정보 비트 열의 수량은 Kbmax10이다. For a base graph 30a in FIG. 3a, a quantity of columns of information bits is Kbmax=10. 도 3a의 기본 그래프(30a)에 의해 지지되는 리프팅 인자 세트가 {24, 26, 28, 30, 32, 36, 40, 44, 48, 52, 56, 60, 64, 72, 80, 88, 96, 104, 112, 120, 128, 144, 160, 176, 192, 208, 224, 240, 256, 288, 320, 352, 384}인 것으로 가정된다. 입력 시퀀스의 길이가 K=529개 비트이면 Z는 26과 같다. 입력 시퀀스의 길이가 K=5000개 비트이면 Z는 240과 같다. 이는 본 명세서에서의 예시일 뿐이며, 이에 제한되는 것은 아니다.
다른 예에서, Kb의 값은 K의 값에 따라 변할 수 있지만, LDPC 코드의 기본 행렬에서 정보 비트의 열의 수량을 초과하지는 않는다. 예를 들어, Kb에 대해 다른 임계값이 설정될 수 있다.
일 설계에서, 본 명세서의 임계치 640, 560 및 192는 단지 예일 뿐이라는 점에 유의해야 한다. 다르게는, 시스템 설계 요건에 따라 다른 값이 설계될 수 있다:
if (K>640), Kb=10;
else ≤(K>560), Kb=9;
else ≤(K>192), Kb=8;
else Kb=6;
end
리프팅 인자 Z는 입력 시퀀스의 길이 K에 기초하여 통신 장치에 의해 결정될 수 있거나, 다른 엔티티(예를 들어, 프로세서)로부터 통신 장치에 의해 획득될 수 있다.
블록 602: 리프팅 인자 및 기본 행렬에 기초하여 LDPC 행렬을 획득한다. 기본 행렬은 전술한 구현에서 열거된 임의의 기본 행렬, 상기 열거된 임의의 기본 행렬에서 적어도 하나의 열을 보상함으로써 획득된 보상 행렬, 또는 행 순서, 열 순서 또는 위에 나열된 기본 행렬 또는 보상 행렬의 행 순서와 열 순서로 변환을 수행한 후에 획득된 기본 행렬일 수 있다. 기본 행렬의 기본 그래프는 적어도 부분 행렬 A 및 부분 행렬 B를 포함한다. 선택적으로, 기본 그래프는 부분 행렬 C, 부분 행렬 D 및 부분 행렬 E를 더 포함할 수 있다. 부분 행렬의 설명에 대해서는 전술한 실시예의 설명을 참조할 수 있다. 세부 사항은 여기서 다시 설명하지 않는다. 기본 행렬는 기본 그래프 및 시프트 값에 기초하여 획득될 수 있거나, 전술한 구현들에 나열된 임의의 저장된 기본 행렬일 수 있거나, 전술한 구현들에 나열된 임의의 기본 행렬의 변형을 통해 획득될 수 있다.
가능한 구현에서, 대응하는 기본 행렬은 리프팅 인자 Z에 기초하여 결정되고, 기본 행렬은 리프팅 인자 Z에 기초하여 순열되어 LDPC 행렬을 획득한다.
일 구현에서, LDPC 행렬 H는 리프팅 인자와 기본 행렬 사이의 대응에 기초하여 획득될 수 있다. 예를 들어, 대응하는 기본 행렬은 블록 601에서 획득된 리프팅 인자 Z에 기초하여 결정된다.
예를 들어, Z가 26이고, a가 13인 경우, 기본 행렬은 도 3h에 도시된 행렬에서 행 0 내지 행 6 및 열 0 내지 열 16을 포함하거나, 또는 기본 행렬은 도 3h에 도시된 행렬에서 행 0 내지 행 6 및 열 0 내지 열 16의 일부 열을 포함한다. 또한, 다르게는, 기본 행렬은 행렬에서 행 0 내지 행 m-1 및 열 0 내지 열 n-1을 더 포함하며, 여기서 7≤m≤42, m은 정수, 17≤n≤52, n은 정수; 또는 기본 행렬은 도 3h에 도시된 행렬에서 행 0 내지 행 m-1 및 열 0 내지 열 n-1을 포함하고, 여기서 7≤m≤42, m은 정수, 17≤n≤52, n은 정수이다. LDPC 행렬을 얻기 위해 리프팅 인자 Z에 기초하여 기본 행렬이 순열된다. 본 명세서에서, Z=26, a=13이고, 도 3h에 도시된 행렬이 예시로서 설명을 위해 사용된다. 이는 단지 예시일 뿐이며, 본 출원이 이에 한정되는 것은 아니다. 상이한 리프팅 인자는 상이한 기본 행렬로 이어진다고 이해될 수 있다.
가능한 구현에서, 리프팅 인자와 기본 행렬 사이의 대응관계는 표 4에 열거되어 있는 것일 수 있고, 리프팅 인자에 대응하는 기본 행렬 인덱스는 표 4에 기초하여 결정된다.
가능한 설계에서, PCM1은 도 3b에 도시된 행렬일 수 있고, PCM2는 도 3c에 도시된 행렬일 수 있고, PCM3은 도 3d에 도시된 행렬일 수 있고, PCM4는 도 3e에 도시된 행렬일 수 있고, PCM5는 도 3f에 도시된 행렬일 수 있고, PCM6은 도 3g에 도시된 행렬일 수 있고, PCM7은 도 3h에 도시된 행렬일 수 있으며, PCM8은 도 3i에 도시된 행렬일 수 있다. 이는 본 발명의 일 예일 뿐이며, 이에 한정되는 것은 아니다.
기본 행렬 인덱스 리프팅 인자 Z
PCM1 2 4 8 16 32 64 128 256
PCM2 3 6 12 24 48 96 192 384
PCM3 5 10 20 40 80 160 320
PCM4 7 14 28 56 112 224
PCM5 9 18 36 72 144 288
PCM6 11 22 44 88 176 352
PCM7 13 26 52 104 208
PCM8 15 30 60 120 240
다른 설계에서, 다음 방식이 대안적으로 사용될 수 있다:
기본 행렬 인덱스 리프팅 인자 Z
PCM1 2 4 8 16 32 64 128 256
PCM2 3 6 12 24 48 96 192
PCM3 5 10 20 40 80 160
PCM4 7 14 28 56 112 224
PCM5 9 18 36 72 144
PCM6 11 22 44 88 176
PCM7 13 26 52 104 208
PCM8 15 30 60 120 240
또한, 가능한 설계에서, 리프팅 인자 Z에 대해, 기본 행렬에서 행 i 및 열 j의 요소 Pi,j는 다음 관계를 만족할 수 있다:
Figure pct00011
여기서 Vi,j는 리프팅 인자 Z가 속하는 세트에 대해 기본 행렬에서 행 i 및 열 j에 있는 요소의 시프트 값이거나, 리프팅 인자 Z가 속하는 세트에서 최대 리프팅 인자에 대응하는 기본 행렬에서 행 i 및 열 j의 논제로 요소의 시프트 값일 수 있다.
예를 들어 Z는 13과 같다. Z에 대응하는 기본 행렬의 행 i 및 열 j의 요소 Pi,j는 다음을 충족한다.
Figure pct00012
여기서, Vi,j는 PCM7에서 행 i 및 열 j에서 논제로 요소의 시프트 값, 즉 도 3h에 도시된 행렬이다. Z=13의 경우, Vi,j modulo 13의 모듈로 연산을 수행하며, 여기서 Vi,j는 도 3h에 도시된 행렬에서 행 i 및 열 j의 논제로 요소의 시프트 값이다. 이것은 여기서 단지 예시일 뿐이며, 본 출원은 이에 제한되지 않는다는 점에 유의해야 한다.
블록 603: LDPC 행렬에 기초하여 입력 시퀀스를 인코딩/디코딩한다.
일 구현에서, 인코딩을 위한 입력 시퀀스는 정보 비트 시퀀스일 수 있다. 다른 구현에서, 디코딩을 위한 입력 시퀀스는 LDPC 코드의 소프트 값 시퀀스일 수 있고, 도 5의 관련 설명을 참조할 수 있다. 입력 시퀀스를 인코딩/디코딩할 때, LDPC 행렬 H는 Z에 기초하여 기본 행렬을 리프팅함으로써 획득될 수 있다. 기본 행렬의 논제로 요소 Pi,j에 대해 Z×Z 크기의 순환 순열 행렬 hi,j를 결정한다. 여기서 hi,j는 Pi,j 번 항등 행렬을 순환 시프트하여 얻은 순환 순열 행렬이다. 논제로 요소 Pi,j는 hi,j로 대체되고, 기본 행렬 H B의 제로 요소는 크기 Z×Z의 올 제로 행렬로 대체되어 패리티 검사 행렬 H를 얻는다.
가능한 구현에서, LDPC 코드의 기본 행렬은 메모리에 저장될 수 있다. 통신 장치는 입력 시퀀스를 인코딩/디코딩하기 위해 리프팅 인자 Z에 대응하는 LDPC 행렬을 획득한다.
가능한 구현에서, LDPC 코드의 복수의 기본 행렬이 있기 때문에, 기본 행렬이 행렬 구조에 기초하여 저장되면 비교적 큰 저장 공간을 차지한다. 다르게는, LDPC 코드의 기본 그래프는 메모리에 저장될 수 있고, 각각의 기본 행렬에서 논제로 요소의 시프트 값은 행마다 또는 열마다 저장되고, LDPC 행렬는 베이스 그래프 및 리프팅 인자 Z와 관련된 기본 행렬에서의 시프트 값에 기초하여 획득된다.
가능한 구현에서, 각각의 기본 행렬에서 논제로 요소의 시프트 값은 표 2 및 표 31 내지 표 38에 따라 저장될 수 있다. LDPC 행렬의 파라미터로서, LDPC 행렬의 파라미터 "행 가중치"는 선택적이다. 다시 말해, 파라미터 "행 가중치"는 저장되거나 저장되지 않을 수 있다. 행의 논제로 요소의 수량은 행의 논제로 요소가 있는 열에 기초하여 알게 된다. 따라서 행 가중치도 알게 된다. 가능한 구현에서, 표 2 및 표 31 내지 표 38의 "논제로 요소의 열 인덱스"의 파라미터 값은, 그 파라미터 값이 논제로 요소가 있는 열 인덱스에 인덱스되는 한, 오름차순으로 배열되지 않을 수 있다. 또한, 표 2 및 표 31 내지 표 38의 "논제로 요소의 시프트 값"의 파라미터 값은, 그 "논제로 요수의 시프트 값"이 '논제로 요소의 열 인덱스"의 파라미터 값과 일대일 대응하는 한, 열 인덱스 순서로 배열되지 않을 수 있으며, 통신 장치는 어느 행 및 어느 열의 논제로 요소의 시프트 값인지를 알 수 있다. 예를 들어, 일 구현에서, 논제로 요소의 시프트 값은, 열 인덱스, 열 가중치 및 논제로 요소의 행 인덱스, 또는 제로 요소의 행 인덱스의 파라미터 값에 따라 알 수 있다. 이것은 표 2 및 표 31 내지 표 38의 형태와 유사하므로, 상세한 설명은 여기서 다시 설명하지 않는다.
가능한 구현에서, LDPC 행렬의 관련 파라미터는 도 5의 관련 설명을 참조하여 저장될 수 있다.
가능한 구현에서, LDPC 행렬의 관련 파라미터가 저장될 때, 도 도 3a 및도 3은 표 31 내지 38 의 행렬의 모든 행 또는 표 2 및 표 31 내지 표 38의 행렬의 모든 행이 저장되는 것은 아니며, 표에서 대응하는 행에 의해 표시되는 파라미터가 기본 행렬에 포함된 행에 기초하여 저장될 수 있다. 예를 들어, 전술한 실시예들에서 설명된 LDPC 행렬의 기본 행렬에 포함 된 행과 열로 구성된 행렬 또는 행과 열로 구성된 행렬의 관련 파라미터가 저장될 수 있다.
예를 들어, 도 3b 내지 3i의 임의의 행렬에서 행 0 내지 행 6 및 열 0 내지 열 16에 대해. 행 0 내지 행 6 및 열 0 내지 열 16으로 구성된 행렬 및/또는 행 0 내지 행 6 및 열 0 내지 열 16으로 구성된 행렬의 관련 파라미터가 저장될 수 있다. 상세하게는, 표 31 내지 표 38에 열거된 파라미터 및 상기 설명 중 일부를 참조할 수 있다.
도 3b 내지 3i의 임의의 행렬에서 행 0 내지 행 m-1 및 열 0 내지 열 n-1의 경우(여기서 7≤m≤42, m은 정수, 17≤n≤52, n은 정수), 행 0 내지 행 m-1 및 열 0 내지 열 n으로 구성된 행렬 및/또는 행 0 내지 행 m-1 및 열 0 내지 열 n-1로 구성된 행렬의 관련 파라미터가 저장될 수 있다.
가능한 구현에서, 보상 값 Offsets은 표 2 및 표 31 내지 표 38 중 어느 하나에서 "논제로 요소의 열 인덱스"로 표시되는 적어도 하나의 위치에서 0보다 크거나 같은 각각의 시프트 값에 가산되거나 그 값으로부터 감산될 수 있다. 이는 본 명세서에서의 예시일 뿐이며, 이에 제한되는 것은 아니다.
도 1을 예로 사용하여, 일 구현에서, 기본 행렬 H B이 결정된 후, 먼저, 열 10 내지 열 15에 대응하는 패리티 비트는 입력 시퀀스 및 기본 행렬에서 행 0 내지 행 3 및 열 0 내지 열 9, 즉 H core-dual에 기초하여 획득될 수 있다. 다음으로, 열 16에 대응하는 패리티 비트, 즉 열 가중치가 1인 열이 입력 시퀀스 및 H core-dual에 대응하는 패리티 비트에 기초하여 획득된다. 그리고, 인코딩을 완료하기 위해, 부분 행렬 E에 대응하는 패리티 비트는 입력 시퀀스에 기초한 부분 행렬 D 및 열 10 내지 16에 대응하는 패리티 비트를 인코딩함으로써 획득된다. LDPC 코드의 인코딩 프로세스에 대해, 전술한 구현에서의 설명을 참조할 수 있다. 세부 사항은 여기서 다시 설명하지 않는다.
일 설계에서, 전술한 부분 502 및 부분 603에서, 입력 시퀀스가 LDPC 행렬에 기초하여 인코딩/디코딩될 때, 입력 시퀀스는 리프팅 인자 Z에 대응하는 LDPC 행렬 H를 사용하여 인코딩될 수 있다.
가능한 구현에서, LDPC 인코딩은 다음 방식으로 구현될 수 있다:
(1) 부호화 대상 입력 시퀀스는 c={c0, c1, c2, ..., cK-1}로 표현되고, 입력 시퀀스 c의 길이는 K, 인코더에 의한 입력 시퀀스 c는 d={d0, d1, d2, ..., dN-1}로 표현되며, 여기서 K는 0보다 큰 정수이고, K는 리프팅 인자 Z의 정수배, 리프팅 입력 시퀀스 c의 리프팅 인자는 Z 또는 Zc로 표현될 수 있고, 아래 첨자 c는 리프팅 인자가 입력 시퀀스 c와 관련됨을 나타낸다. 선택적으로,이 구현에서 다른 파라미터들은 아래 첨자 인덱스가 제공되거나 제공되지 않을 수 있다. 이는 파라미터의 필수 의미에 영향을 미치지 않는다. 통상의 기술자는 N=50Z 또는 N=(40+Kb)·Z 인 의미를 이해할 수 있다. 입력 시퀀스 c의 길이는 K이고, 출력 시퀀스 d의 길이는 N이며, N개 비트의 출력 시퀀스는 입력 시퀀스 c의 K0개 비트와 패리티 시퀀스 w의 N-K0개 패리티 비트를 포함할 수 있고, 여기서 K0는 정수이고 0<K0≤K이다. 패리티 시퀀스 w는 {w0,w1,w2, ..., wN-K0-1}로 표현될 수 있으며, 패리티 시퀀스 w의 길이는 N-K0이다. 일 설계에서, LDPC 행렬 H가 p개 빌트인 천공 열(들)을 포함하는 경우, 여기서 p는 0이상의 정수이고, p개 빌트인 천공 열(들)은 인코딩에 참여하지 않는다 예를 들어, p=2인 경우, 패리티 시퀀스 w의 길이는 N+2Zc-K이고, 패리티 시퀀스 w는 {w0,w1,w2, ..., wN+2Zc-K-1}로 표현될 수 있다. P개 빌트인 천공 열(들)이 인코딩에 참여하는 경우, 패리티 시퀀스 w의 길이는 N-K이고, 패리티 시퀀스 w는 {w0,w1,w2, ..., wN-K-1}로 표현될 수 있다.
Kb의 값에 대해서는 전술한 설계를 참조할 수 있다. 예를 들면 다음과 같다.
if(K>640), Kb=10;
else if(K>560), Kb=9;
else if(K>192), Kb=8;
else Kb=6;
end
(2) 비트 세그먼트의 길이 K에 대응하는 PCM 인덱스 또는 리프팅 인자 세트 인덱스는 Zc=K/Kb에 기초하여 결정된다. 예를 들어, 리프팅 인자(Zc)는 표 1 및 표 2를 참조하여 결정될 수 있다.
(3) 인코딩된 비트 시퀀스 d={d0,d1,d2, ..., dN-1}에서 처음 K-2Zc개 비트에 값이 할당된다. 여기서, 부호화 대상 비트 세그먼트의 처음 2Zc개 충진 비트는 스킵될 필요가 있으며, 부호화 대상 비트 세그먼트가 충진 비트를 포함할 수 있다는 것이 고려되어야 한다.
일 구현에서, 값 할당은 다음 방식으로 수행될 수 있다:
for K=2Zc to K-1,
if ck≠<NULL>dk-2Zc=ck;
else ck=0; dk-2Zc=<NULL>;
end if end for
여기서 k는 인덱스 값이고, k는 정수이고, <NULL>은 충진 비트를 나타내고, 그 값은 0 또는 다른 소정의 값일 수 있다. 선택적으로 충진 비트가 전송되지 않을 수 있다.
(4) 패리티 비트 w가 생성되어, 패리티 비트는 다음 식을 만족시킨다:
Figure pct00013
식 (1)에서 c=[c0,c1,c2, ...,cK-1]T이고,
Figure pct00014
는 열 벡터를 나타내고,
Figure pct00015
에서의 모든 요소의 값은 0이다. 행렬 H는 LDPC 체크 행렬을 나타내며, 예를 들어 H=[H 1 H 2]와 같이 표현하기 위해 두 부분 H 1H 2로 분할될 수 있다. c=[c0,c1,c2, ...,cK-1]T는 입력 시퀀스에서 비트에 의해 형성된 벡터의 전치된 벡터이다. 식 (1)의 패리티 비트 w는 패리티 시퀀스 w의 비트에 의해 형성된 벡터의 전치 벡터이다. 예를 들어, N+2Zc-K개 패리티 비트의 경우, w=[W0, W1, W2, ...,WN+2Zc-K-1]T는 패리티 시퀀스 {W0, W1, W2, ..., WN+2Zc-K-1}에서 비트에 의해 형성된 벡터의 전치 벡터이다. 다른 예에서, N-K-1개 패리티 비트의 경우, w=[W0, W1, W2, ...,WN-K-1}는 패리티 시퀀스 {W0, W1, W2, ...,WN-K-1}에서 비트에 의해 형성된 벡터의 전치 벡터이다.
식 1에서 H는 상기 실시예에서 열거된 LDPC 행렬 중 임의의 하나이다.
일 구현에서, H는 전술한 실시예들에 열거된 임의의 기본 그래프 및 Zc×Zc 확산 행렬에 기초하여 획득될 수 있다. 기본 그래프의 각 제로 요소는 Zc×Zc 크기의 올 제로 행렬로 대체된다. 기본 그래프에서 값이 1(영이 아닌 요소)인 요소는 요소의 시프트 값 Pi,j에 해당하는 Z*Z 순환 치환 행렬 I(Pi,j)로 대체된다. 여기서 i 및 j는 요소의 행 인덱스 및 열 인덱스를 나타낸다. 순환 순열 행렬 I(Pi,j)는 크기가 Zc×Zc인 행렬을 오른쪽 또는 왼쪽 Pi,j 번 순환 시프트함으로써 얻어진다. 여기서 Pi,j=mod(Vi,j, Zc) 및 Vi,j는 기본 행렬에 있고 기본 그래프에서 논제로 요소에 해당하는 시프트 값이다.
일 구현에서, H1은 전술한 실시예들에 열거된 기본 그래프 또는 기본 행렬의 A, B 및 D 부분, 즉 도 도 3a 및 도 3b 내지 3i의 10 행 내지 41 행 및 0 열 내지 16 열일 수 있다.
일 구현에서, H 1은 전술한 실시예에 열거된 기본 그래프 또는 기본 행렬의 A, B 및 D 부분의 일부 행 및 일부 열, 예를 들어 행 0 내지 행 41 및 열 0 내지 열 13일 수 있고, 또는 행 0 내지 행 41 및 열 0 내지 열 14, 또는 행 0 내지 행 41 및 열 0 내지 열 15 또는 행 1 내지 행 41 및 열 0 내지 열 13일 수 있다.
일 구현에서, H1은 다르게는 전술한 실시예들에 열거된 기본 그래프 또는 기본 행렬에서 m개의 행 및 n개의 열일 수 있으며, 예를 들어, m=7 및 n=35, 또는 m=4 및 n=38, 또는 m=5 및 n=37, 또는 m=6 및 n=36이다.
일 구현에서, Kb의 값에 기초하여, 인코더의 입력 시퀀스 길이는 Kb×Z이다. Kb<9이면 행렬 H 1에서 열 {Kb,Kb+1, ...,9}이 제거된 후, 인코딩이 수행된다.
일 실시예에서, 행렬 H는 M개 행 및 (N+p·Z)개 열 또는 M개 행 및 N개 열을 포함할 수 있으며, H의 기본 행렬의 크기는 m=M/Z개 행, 및 n =(N p · Z)/Z 열 또는 n=N/Z 열이다..
일 구현에서, H 2는 다음과 같이 표현될 수 있다:
Figure pct00016
여기서 0 m×n는 m×n 올 제로 행렬(m개 행 및 n개 열)을 나타내며, 예를 들어 7개 행 및 35개 열, 또는 4개 행 및 38개 열 또는 5개 행 및 37개 열 또는 6개 행 및 36개 열을 가질 수 있고, I n×n는 n×n 행렬(n개 행 및 n개 열)이고, 예를 들어, 35개 행 및 35개 열, 또는 36개 행 및 36개 열, 또는 37개 행 및 37개 열, 또는 38개 행 및 38개 열을 가질 수 있다.
일 구현에서, 행렬 H가 인코딩에 사용될 때, 인코딩은 전술한 기본 그래프 또는 기본 행렬 중 어느 하나에 기초하여 수행될 수 있고, 예를 들어 도 3a 또는 도 3b 내지 3i에서의 행렬 중 어느 하나에서 행 0 내지 행 41 및 열 0 내지 열 16의 행렬에 기초하여 수행될 수 있고, 또는 도 3a 또는 도 3b 내지 3i에서의 행렬 중 임의의 하나의 행 0 내지 행 41 및 열 0 내지 열 13의 행렬에 기초하여 수행될 수 있다.
일 설계에서,
Figure pct00017
에 대해, 행렬 H는, 임의의 기본 행렬 또는 상술한 기본 행렬로부터 열 {Kb,Kb+1,...,9}가 제거된 후에 획득된 행렬이고; Kb=10에 대해, 행렬 H는 전술한 임의의 기본 그래프 또는 기본 행렬일 수 있다.
행렬 H에서의 시프트 값 Vi,j은 도 3b 내지 3i, 또는 표 31 내지 표 38 및 표 321에 기초하여 또는 상술한 임의의 방식에 기초하여 얻어질 수 있다. 때때로 리프팅 인자 세트 인덱스로 간주되는 체크 행렬의 인덱스에 기초하여, 대응하는 체크 행렬이 결정될 수 있고, 이에 따라 대응하는 시프트 값 Vi,j가 얻어진다.
일 설계에서, H는 p개 빌트인 천공 열(들)을 포함하는데, 여기서 p는 0 이상의 정수이고, p개 빌트인 천공 열(들)은 인코딩에 참여하지 않는다. 예를 들어, p는 2이고, 패리티 시퀀스 w의 길이는 N+2Zc-K이다. P개 빌트인 천공 열이 인코딩에 참여하는 경우, 패리티 시퀀스 w의 길이는 N-K이다.
일 설계에서, 0 m×n 은, 전술한 실시예에서, 부분 행렬 C, 부분 행렬 C + 부분 행렬 B의 마지막 열, 부분 행렬 C + 부분 행렬 B의 마지막 두 열, 또는 부분 행렬 C + 부분 행렬 B의 마지막 3개의 열일 수 있다..
I n×n는 전술한 실시예에서 부분 행렬 E, 부분 행렬 E + 각각의 부분 행렬 B 및 부분 행렬 D의 마지막 열, 부분 행렬 E + 각각의 부분 행렬 B 및 부분 행렬 D, 또는 부분 행렬 E + 부분 행렬 B 및 부분 행렬 D 각각의 마지막 3개의 열일 수 있다.
(5) 선택적으로, k=K 내지 N+2Zc-1의 경우, dk-2Zc=wk-K이다.
전술한 구현들에서, 인코더는 복수의 방식으로 인코딩 및 출력을 수행할 수 있다. 전술한 실시예에서 열거된 도 3a 및 도 3b 내지 3i에 도시된 기본 그래프 또는 기본 행렬 중 어느 하나가 이하의 설명을 위해 예로서 사용된다. 기본 그래프에는 2개의 빌트인 천공 열을 포함하여 최대 42개의 행과 최대 52개의 열이 있다. 설명의 편의를 위해, 본 출원에서, 때때로 최대 행 수량 및 최대 열 수량을 갖는 기본 그래프/기본 행렬을 완전한 기본 그래프 또는 기본 행렬이라고 한다. 완전한 기본 그래프/기본 행렬에서 2개의 빌트인 천공 열을 제거하여 얻은 기본 그래프/기본 행렬은 빌트인 천공 열을 포함하지 않는 완전한 기본 그래프/기본 행렬이라고 한다.
방식 1
인코딩은 가능한 많은 패리티 비트를 얻기 위해 완전한 기본 그래프/기본 행렬 또는 빌트인 천공 열을 포함하지 않는 완전한 기본 그래프/기본 행렬을 기반으로 수행된다. 이 경우 m은 42와 같다. 빌트인 천공 열이 인코딩에 참여하는 경우, n은 52이다. 즉, 도 3a 및 도 3b 내지 3i의 행렬 중 임의의 하나에서 행 0 내지 행 41 및 열 0 내지 열 51이다. 빌트인 천공 열이 인코딩에 참여하지 않는 경우 n은 51, 즉 행 0 내지 행 41 및 열 2 내지 열 51이다. 이에 상응하여, LDPC 행렬 H의 경우, M은 41Z이고, N은 52Z 또는 51Z와 같다. 후속 처리 프로세스에서, 전송될 필요가 있는 정보 비트 및 패리티 비트는 인코더에 의해 생성된 출력 시퀀스로부터 결정될 수 있다.
방식 2
완전한 기본 그래프의 일부 행과 열을 기준으로 인코딩이 수행된다. 빌트인 천공 열을 포함하지 않는 완전한 기본 그래프 또는 완전한 기본 그래프로부터, 그리고 전송을 위해 사용되어야 하는 코드 레이트, 인코딩을 위한 정보 비트 및 패리티 비트 등에 기초하여, 행 및 열이 선택된다. 예를 들어, 코드 레이트는 2/3이고 m은 7과 같다. 빌트인 천공 열이 인코딩에 참여하면 n은 17과 같다. 구체적으로, 인코딩은 도 도 3a 및 도 3b 내지 3i의 임의의 행렬에서 행 0 내지 행 6 및 열 0 내지 열 16 중 일부에 기초하여 수행된다. 빌트인 천공 열이 인코딩에 참여하는 경우, n은 15와 같다. 즉, 도 3a 및 도 3b 내지 3i의 임의의 행렬에서 행 0 내지 행 6 및 열 2 내지 열 16이다.
가능한 설계에서, 상술한 도 3a 및 도 3b 내지 3i의 임의의 행렬에서 열 14 내지 열 51는 열 가중치 1을 가진 열이고, 코어 행렬에서 열 가중치 1을 가진 하나 이상의 열이 천공될 수 있다. 코어 행렬에서 하나 이상의 대응하는 열은 도 3a 및 도 3b 내지 3i의 임의의 행렬에서 행 0 내지 행 6 및 열 0 내지 열 15 중 일부에 기초하여 인코딩될 수 있다. 를 들어, m은 6이고, n은 16이며, 빌트인 천공 열은 인코딩에 참여한다. 일 구현에서, 빌트인 천공 열은 다르게는 인코딩에 참여하지 않을 수 있어서, 더 높은 코드 레이트가 얻어질 수 있다.
전술한 것은 행렬 H의 원리를 설명한다는 것에 주목해야 한다. 본 출원의이 실시예에서 제공되는 해결 수단은 생성된 패리티 비트가 식 (1)을 만족한다면, 행렬 H의 다양한 변환에 기초하여 구현될 수 있다.
가능한 구현은 QC(Quasi-Cycle) 확장이, 사용되기 전의 행렬 H에 수행되는 것이다. 다른 가능한 구현에서, 행렬 H의 사용 프로세스에서, QC(Quasi-Cycle) 확장은 현재 처리될 요소에 대응하는 부분에 수행된다.
가능한 구현은 행렬 H가 사용 프로세스에서 리프팅되지 않지만, 확장 가능한 균등 수식을 위한 방법을 이용하여 행렬의 행과 열 간 연결 관계를 계산하는 것(시프트 값을 계산)이다.
가능한 구현은 행렬 H가 리프팅되지 않을 수 있다는 것이다. 인코딩 프로세스에서, 처리될 각각의 요소에 대해, 요소의 시프트 값에 기초하여 요소에 대응하는 인코딩될 비트 세그먼트에 대해 시프팅 동작이 수행된다. 그리고, 시프팅 동작이 수행되는 모든 비트 세그먼트에 대해 인코딩 동작이 수행된다.
가능한 구현에서, 기본 행렬는 기본 그래프를 사용하지 않고 기본 행렬 PCM을 미리 정의하거나 시스템에 의해 기본 행렬 PCM을 정의함으로써 얻어질 수 있다. 예를 들어, LDPC 행렬는 도 3b 내지 3i에 제공된 기본 행렬에 기초하여 획득되거나, LDPC 행렬이 표 31 내지 38에 기초하여 얻어질 수 있다.
구현 프로세스에서, 송신단 또는 수신단은 완전한 행렬, 즉 A, B, C, D 및 E 모두를 저장할 수 있다. 다르게는, 완전한 행렬은 저장 공간을 절약하기 위해 저장되지 않을 수 있다. 예를 들어, 인코딩/디코딩은 완전한 행렬의 일부만을 저장함으로써 구현되거나, 행렬에 대응하는 파라미터가 저장될 필요가있다. 완전한 행렬이 저장되는 방법과 비교하여, 행렬의 일부만을 저장하는 것은 코덱에서 저장 장치의 오버 헤드를 감소시킬 수 있다. 상세하게는, 전술한 실시예의 설명을 참조할 수 있다.
예를 들어, 일 구현에서 행렬의 부분 A, B 및 D가 저장되거나 부분 A, B 및 D가 열 가중치가 1인 부분을 포함하지 않는다. 실제 인코딩/디코딩 프로세스에서, 부분 C 및 E의 값 또는 열 가중치가 1 인 부분의 값은 공식을 사용하여 계산된다. 구체적으로, 원래의 완전한 행렬에서 처음 17개 열 또는 처음 14개 열만 저장된다. 부분 C는 올 제로 행렬이고 획득될 수 있고, 부분 E는 항등 행렬이며, 부분 E에서의 논제로 요소의 위치에 대해, 대응하는 열 인덱스가 현재 처리되는 행의 번호에 기초하여 계산을 통해 획득된다. 예를 들어, 현재 처리된 행이 행 18인 경우, 부분 E에 해당하는 논제로 요소는 열 28에 위치한다. 현재 처리된 행이 열 19인 경우, 부분 E에 대응하는 논제로 요소는 열 29에 위치하는 등과 같다. 부분 E에서 논제로 요소의 위치가 계산을 통해 획득되면, 계산 결과가 저장되거나 저장되지 않을 수 있다. 인코딩 또는 디코딩 프로세스에서 해당 행과 열이 계산될 때 논제로 요소의 위치를 얻을 수 있다.
다른 구현에서, 최초의 완전한 행렬에서 처음 14개의 열이 저장된다. 행렬의 우측에 저장되지 않은 부분에서, 저장되지 않은 부분에서 논제로 요소의 위치는 계산을 통해 획득될 수 있다. 예를 들어, 현재 처리된 행이 행 4인 경우, 저장된 부분에 대응하는 논제로 요소는 열 14에 위치하며; 현재 처리된 행이 행 5인 경우, 저장된 부분에 대응하는 논제로 요소가 열 15에 위치하는 등과 같다. 행렬에 저장되지 않은 부분에서 논제로 요소의 위치가 계산을 통해 획득 될 때, 계산 결과가 저장되거나 저장되지 않을 수 있다. 인코딩 또는 디코딩 프로세스에서 해당 행과 열이 계산될 때 논제로 요소의 위치를 얻을 수 있다.
다른 구현에서, 최초의 완전한 행렬의 처음 14+x개 열이 저장된다. 행렬의 오른쪽의 저장되지 않은 부분에서 처음 4개 행은 모두 0 행렬이고 다른 부분은 항등 행렬이며 저장되지 않은 부분에서 논제로 요소의 위치는 다음 계산을 통해 얻을 수 있다. 예를 들어, 현재 처리된 행이 행 3+x인 경우 저장되지 않은 부분에 해당하는 논제로 요소는 열 (14 x)z에 있다; 현재 처리된 행이 행 (3+x)+1인 경우, 부분 E에 대응하는 논제로 요소는 열(14+x)z+1에 위치하는 등과 같다. 행렬에 저장되지 않은 부분에서 모든 논제로 요소의 위치가 계산을 통해 획득될 때, 계산 결과가 저장될 수 있다. 다르게는, 계산 결과가 저장되지 않을 수 있고 대응하는 행 및 열을 인코딩 또는 디코딩할 때 논제로 요소의 위치가 계산될 수 있다.
또 다른 구현에서, 시프트 행렬이 저장될 때, 시프트 행렬에 기록된 값이 저장될 수 있거나, 또는 본 출원에서 설명된 시프트 행렬의 값에 대해 간단한 수학적 변환이 수행된 후에 획득된 값이 저장될 수 있다.
일 구현에서, 시프트 행렬의 값은 변환된 후 저장된다. 변환하는 동안, 현재 시프트 행렬의 첫 번째 행부터 시작하여 행 단위로 변환이 수행된다. 올 제로 행렬을 나타내는 요소(예: -1)의 경우 그 요소는 변환없이 저장된다. 논제로 행렬을 나타내는 요소(음이 아닌 요소)이면서 열에서 논제로 행렬을 나타내는 첫 번째 요소(음이 아닌 요소)의 경우, 변환없이 저장된다. 논제로 요소 행렬을 나타내면서 열에서 논제로 행렬을 나타내는 첫 번째 요소(음수가 아닌 요소)가 아닌 요소(음이 아닌 요소)의 경우, 음수가 아닌 요소와 동일한 열에서 논제로 행렬을 나타내는 이전의 행렬 간 차이가 저장된다. 그 차이가 양수이면 오른쪽 이동을 나타낸다. 그 차이가 음수이면 왼쪽 이동을 나타낸다.
유사한 변환이 시프트 행렬의 첫 번째 행에서 시작하여 수행되지 않을 수 있고, 임의의 행에서 시작하여 수행될 수 있음에 유의해야 한다. 행렬의 마지막 행에서 유사한 변환이 수행된 후 첫 번째 행부터 시작하여 변환이 계속 수행된다. 또한, 이러한 차이 저장 방식은 상이한 리프팅 인자 Z에 기초하여 변할 수 있다. 실제 시프트 값은 Pi,j=mod(Vi,j,Zc)에 따라 계산되고, 그 차이가 계산된다.
인코딩/디코딩 프로세스에서, 변환 이전의 시프트 값은 동일한 열에서 이전 요소의 값에 기초한 재귀 계산(recursion calculation)을 통해 복원될 수 있다. 다르게는, 상대적인 시프트 값이 인코딩 및 디코딩을 수행하기 위해 사용될 수 있다.
일 구현에서, 시프트 행렬에서의 값 Vi,j는 변환되어 저장될 수 있다. 변환 연산 프로세스에서 행렬의 모든 제로 행렬을 나타내는 모든 요소(예: -1)의 위치와 값은 변경되지 않는다. 논제로 행렬을 나타내는 요소(음이 아닌 요소)의 경우 요소의 원래 값이 Vi,j라고 가정하면 변환된 값은(z-Vi,j) mod z이다. 실제의 인코딩/디코딩 프로세스에서, 정상적인 인코딩 및 디코딩을 구현하기 위해, 변환된 시프트 값에 기초하여 항등 행렬에 대해 왼쪽 쉬프팅 동작(원래는 오른쪽 쉬프팅 동작)이 수행된다.
일 구현에서, 시프트 값 행렬의 값 Vi,j는 변환된 후 저장된다. 변환 연산 프로세스에서, 원래 십진 시프트 값은 이진 시스템, 8진 시스템 또는 16진 시스템과 같은 다른 기수의 숫자로 변환된다. 인코딩/디코딩 프로세스에서, 변환된 시프트 값 행렬은 복원을 위해 선택될 수 있으며, 그 후 인코딩/디코딩된다. 다르게는, 변환된 시프트 값 행렬은 인코딩/디코딩에 직접 사용될 수 있다.
일 구현에서, 인코더 측은 체크 행렬을 저장하지 않지만, 인코딩을 위해 필요한 생성 행렬을 저장한다. 인코딩될 비트 세그먼트는 c={c0,c1,c2,c3,...,cK-1}이고 인코딩된 비트 세그먼트는 d={d0,d1,d2,...,dN-1}이다. 생성 행렬 Gd=c·G 를 만족시킨다.
생성 행렬은 행렬 H를 변환함으로써 얻어질 수 있다. 행렬 H의 우측은 행/열 변환을 통해 대각 행렬의 형태로 변환될 수 있으며, 다음과 같이 표현될 수 있다.
Figure pct00018
이 경우, 대응하는 생성 행렬 G는 다음을 만족시킨다:
Figure pct00019
체크 행렬 H는 전술한 실시예에서의 패리티 행렬 또는 기본 행렬 중 어느 하나 또는 LDPC 행렬일 수 있다. 인코딩 동안, 인코딩된 비트 세그먼트 d={d0,d1,d2,...dN-1}은 인코딩 될 비트 세그먼트 c={c0,c1,c2,c3,...,cK-1}에 기초하여 저장된 생성 행렬 G를 사용하여 계산될 수 있다.
일 구현에서, 인코딩 동안, 행렬의 이중 대각 부분에 대해, 인코딩은 전술한 방식 중 임의의 방식으로 또는 복수의 중첩된 행을 갖는 행렬을 저장하는 방법을 사용하여 수행될 수 있다.
일 구현에서, 각각의 리프팅 인자 Z에 대응하는 시프트 행렬은 Pi,j=mod(Vi,j,Zc)에 기초하여 계산될 수 있고, 51개의 리프팅 인자에 대응하는 행렬은 모두 인코딩/디코딩을 위해 저장된다.
선택적으로, 통신 시스템에서, LDPC 코드를 얻기 위해 전술한 방법을 사용하여 인코딩이 수행될 수 있다. LDPC 코드가 획득된 후, 통신 장치는 다음의 하나 이상의 동작을 더 수행할 수 있다: LDPC 코드에 대해 레이트 매칭을 수행하는 단계; 인터리빙 해결 수단에 따라, 레이트 매칭이 수행된 LDPC 코드를 인터리빙하는 단계; 비트 열 X를 얻기 위해 변조 방식에 따라 인터리빙된 LDPC 코드를 변조하는 단계; 및 비트 시퀀스 X를 전송하는 단계를 포함한다.
디코딩은 인코딩의 역 프로세스이다. 디코딩 동안 사용된 기본 행렬과 인코딩 동안 사용 된 기본 행렬은 동일한 특성을 갖는다. LDPC 코드의 인코딩 프로세스에 대해, 전술한 구현에서의 설명을 참조할 수 있다. 세부 사항은 여기서 다시 설명하지 않는다. 일 구현에서, 디코딩 전에, 통신 장치는 다음의 하나 이상의 동작들을 더 수행할 수 있다: LDPC 인코딩에 기초한 정보를 포함하는 신호를 수신하는 단계, 신호를 복조하는 단계, 디인터리빙 및 레이트 디매칭을 수행하여 소프트 값 시퀀스를 획득하는 단계, 및 LDPC 코드, 및 LDPC 코드의 소프트 값 시퀀스를 디코딩하는 단계. 다르게는, 디코딩은 완전한 기본 그래프, 빌트인 천공 열을 포함하지 않는 완전한 기본 그래프, 또는 완전한 기본 그래프의 일부 행 및 열에 기초하여 수행될 수 있다.
본 출원에서 "저장"은 하나 이상의 메모리에의 저장일 수 있다. 하나 이상의 메모리는 개별적으로 배치될 수 있거나, 인코더, 디코더, 프로세서, 칩, 통신 장치 또는 단말기에 통합될 수 있다. 다르게는, 하나 이상의 메모리 중 일부는 개별적으로 배치되거나, 디코더, 프로세서, 칩, 통신 장치 또는 단말기에 통합될 수 있다. 메모리는 임의의 형태의 저장 매체일 수 있다. 이것은 본 출원에서 제한되지 않는다.
도 5 및 도 6에 기술된 데이터 처리 프로세스의 설계에 대응하여, 본 출원의 실시예는 대응하는 통신 장치를 더 제공한다. 통신 장치는 도 5 또는 도 6의 각 부분을 수행하도록 구성된 대응하는 모듈을 포함한다. 모듈은 소프트웨어, 하드웨어 또는 소프트웨어와 하드웨어의 조합일 수 있다. 예를 들어, 모듈은 메모리, 전자 장치, 전자 부품, 논리 회로 또는 이들의 임의의 조합을 포함할 수 있다. 도 7은 통신 장치(700)의 개략적인 구조도이다. 이 장치(700)는 전술한 방법 실시예들에서 설명된 방법들을 구현하도록 구성될 수 있다. 세부 사항에 대해, 전술한 방법 실시예의 설명을 참조할 수 있다. 통신 장치(700)는 칩, 기지국, 단말기 또는 다른 네트워크 장치일 수 있다.
통신 장치(700)는 하나 이상의 프로세서(701)를 포함한다. 프로세서(701)는 범용 프로세서 또는 전용 프로세서, 예를 들어 기저 대역 프로세서 또는 중앙 처리 장치일 수 있다. 기저 대역 프로세서는 통신 프로토콜 및 통신 데이터를 처리하도록 구성될 수 있다. 중앙 처리 장치는 통신 장치(예를 들어, 기지국, 단말기 또는 칩)를 제어하여 소프트웨어 프로그램을 실행하고 소프트웨어 프로그램에서 데이터를 처리하도록 구성될 수 있다.
가능한 설계에서, 도 5 및 도 6의 하나 이상의 모듈은 하나 이상의 프로세서 또는 하나 이상의 프로세서 및 메모리에 의해 구현될 수 있다.
가능한 설계에서, 통신 장치(700)는 하나 이상의 프로세서(701)를 포함한다. 하나 이상의 프로세서(701)는 인코딩/디코딩 기능을 구현할 수 있다. 예를 들어, 통신 장치는 인코더 또는 디코더일 수 있다. 다른 가능한 설계에서, 프로세서(701)는 인코딩/디코딩 기능 외에 다른 기능들을 구현할 수 있다.
통신 장치(700)는 LDPC 행렬에 기초하여 입력 시퀀스를 인코딩/디코딩한다. LDPC 행렬의 기본 행렬은 전술한 예에서 임의의 기본 행렬, 상기 열거된 임의의 기본 행렬에서 행 순서, 열 순서 또는 행 순서 및 열 순서에 대해 변환을 수행함으로써 얻어진 기본 행렬, 상기 열거된 임의의 기본 행렬에 기초하여 단축 또는 천공함으로써 얻어진 행렬, 또는 상기 열거된 임의의 기본 행렬의 확산을 통해 얻어진 행렬일 수 있다. 인코딩/디코딩 처리를 위해, 도 5 및 도 6의 관련 부분의 설명을 참조할 수 있다. 세부 사항은 여기서 다시 설명하지 않는다.
선택적으로, 일 설계에서, 프로세서(701)는 하나 이상의 명령어(703)(또는 때로는 코드 또는 프로그램으로 지칭됨)를 포함할 수 있다. 명령은 프로세서에서 실행될 수 있어서, 통신 장치(700)는 전술한 실시예에서 설명된 방법을 수행한다. 다른 가능한 설계에서, 통신 장치(700)는 회로를 더 포함할 수 있다. 회로는 전술한 실시예에서 인코딩/디코딩 기능을 구현할 수 있다.
선택적으로, 일 설계에서, 통신 장치(700)는 하나 이상의 메모리(702)를 포함할 수 있다. 메모리(702)는 하나 이상의 명령어(704)를 저장한다. 명령들은 프로세서에서 실행될 수 있어서, 통신 장치(700)는 전술한 방법 실시예들에서 설명된 방법들을 수행한다.
선택적으로, 메모리는 데이터를 더 저장할 수 있다. 선택적으로, 프로세서는 하나 이상의 명령 및/또는 데이터를 추가로 저장할 수 있다. 프로세서와 메모리는 별도로 배치되거나 함께 통합될 수 있다.
선택적으로, 전술한 실시예들에서의 "저장"은 메모리(702)에의 저장이거나 다른 외부 메모리 또는 저장 장치에의 저장일 수 있다.
예를 들어, 하나 이상의 메모리(702)는 예를 들어, 시프트 값, 기본 그래프, 기본 그래프에 기초한 확산, 기본 행렬에서의 각 행, 리프팅 인자, 기본 행렬 또는 기본 행렬에 기초한 행렬의 확산과 같은, 전술한 LDPC 행렬과 관련된 파라미터를 저장한다. 세부 사항에 대해, 도 5의 부분에서 관련 설명을 참조할 수 있다.
선택적으로, 통신 장치(700)는 송수신기(705) 및 안테나(706)를 더 포함할 수 있다. 프로세서(701)는 처리 유닛으로 지칭될 수 있고, 통신 장치(단말기 또는 기지국)를 제어한다. 송수신기(505)는 송수신기 유닛, 송수신기 회로 등으로 지칭될 수 있고, 안테나(506)를 사용하여 통신 장치(700)의 송수신 기능을 구현하도록 구성된다.
선택적으로, 통신 장치(700)는 전송 블록 CRC 생성을 위한 장치, 코드 블록 분할 및 CRC 검사를 위한 장치, 인터리빙을 위한 인터리버, 레이트 매칭을 위한 장치, 변조 처리를 위한 변조기 등을 더 포함할 수 있다. 이들 장치의 기능은 하나 이상의 프로세서(701)를 사용하여 구현될 수 있다.
선택적으로, 통신 장치(700)는 복조 동작을 위한 복조기, 디인터리빙을 위한 디인터리버, 레이트 디매칭을 위한 장치, 코드 블록 연결(concatenation)을 위한 장치 및 CRC 검사 등을 더 포함할 수 있다. 이들 장치의 기능은 하나 이상의 프로세서(701)를 사용하여 구현될 수 있다.
도 8은 통신 시스템(800)의 개략도이다. 통신 시스템(800)은 통신 장치(80, 81)를 포함한다. 정보 데이터는 통신 장치(80, 81) 사이에서 수신 및 송신된다. 통신 장치들(80 및 81)은 통신 장치(700)일 수 있거나, 통신 장치들(80 및 81)은 각각 통신 장치(700)를 포함하고, 정보 데이터를 수신 및/또는 전송한다. 예를 들어, 통신 장치(80)는 단말기일 수 있고, 대응하는 통신 장치(81)는 기지국일 수 있다. 다른 예에서, 통신 장치(80)는 기지국일 수 있고, 대응하는 통신 장치(81)는 단말기일 수 있다.
다양한 예시적인 논리 블록 및 단계가 전자 하드웨어, 컴퓨터 소프트웨어 또는 이들의 조합에 의해 구현될 수 있다는 것이 통상의 기술자에 의해 이해된다. 이러한 기능이 하드웨어 또는 소프트웨어로 구현되는지 여부는 특정 응용 프로그램 및 전체 시스템의 설계 요구 사항에 따라 다릅니다. 각각의 특정 애플리케이션에 대해, 다양한 방법들이 기능들을 구현하기 위해 사용될 수 있다. 그러나, 이러한 구현들은 본 출원의 실시예들의 보호 범위를 벗어나는 것으로 해석되어서는 안된다.
본 출원에서 설명된 기술들은 다양한 방식으로 구현될 수 있다. 예를 들어, 기술은 하드웨어, 소프트웨어 또는 이들의 조합에 의해 구현될 수 있다. 하드웨어에 의한 구현을 위해, 통신 장치(예를 들어, 기지국, 단말기, 네트워크 엔티티 또는 칩)에서의 기술을 구현하도록 구성된 처리 유닛은 하나 이상의 범용 프로세서, 디지털 신호 처리기(DSP), 디지털 신호 처리 장치(DSPD), 주문형 집적 회로(ASIC), 프로그램 가능 논리 장치(PLD), 필드 프로그램 가능 게이트 어레이(FPGA), 다른 프로그램 가능 논리 장치, 이산 게이트 트랜지스터 로직, 이산 하드웨어 구성 요소, 또는 이들의 임의의 조합에 의해 구현될 수 있다. 범용 프로세서는 마이크로 프로세서일 수 있다. 선택적으로, 범용 프로세서는 임의의 종래 프로세서, 컨트롤러, 마이크로 컨트롤러 또는 상태 머신일 수 있다. 프로세서는 컴퓨팅 장치, 예를 들어 디지털 신호 프로세서 및 마이크로 프로세서, 복수의 마이크로 프로세서, 디지털 신호 프로세서 코어와 조합된 하나 이상의 마이크로 프로세서, 또는 임의의 다른 유사한 구성의 조합을 사용하여 구현될 수 있다.
본 출원의 실시예에서 설명된 방법 또는 알고리즘의 단계는 하드웨어, 프로세서에 의해 실행되는 하나 이상의 명령어 또는 이들의 조합에 직접 내장될 수 있다. 메모리는 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터, 하드 디스크, 이동식 디스크, CD-ROM, 또는 본 기술 분야의 임의의 다른 형태의 저장 매체일 수 있다. 예를 들어, 메모리는 프로세서에 연결되고, 프로세서는 메모리로부터 정보를 판독하고, 메모리에 정보를 저장 및 기록할 수 있다. 선택적으로, 메모리는 프로세서에 통합될 수 있다. 프로세서 및 메모리는 ASIC에 배치될 수 있고, ASIC은 단말기 또는 기지국 또는 다른 네트워크 장치에 배치될 수 있다. 선택적으로, 프로세서 및 메모리는 단말기 또는 기지국 또는 다른 네트워크 장치의 다른 구성 요소에 배치될 수 있다.
전술한 구현에 대한 설명으로, 통상의 기술자는 본 출원이 하드웨어, 펌웨어 또는 이들의 조합에 의해 구현될 수 있음을 명확하게 이해할 수 있다. 본 출원이 소프트웨어 프로그램에 의해 구현될 때, 본 출원은 컴퓨터 프로그램 제품의 형태로 완전히 또는 부분적으로 구현될 수 있으며, 여기서 컴퓨터 프로그램 제품은 하나 이상의 컴퓨터 명령을 포함한다. 컴퓨터 명령어가 로딩되어 실행될 때, 본 출원의 실시예에 따른 절차 또는 기능이 모두 또는 부분적으로 생성된다. 본 출원이 소프트웨어 프로그램에 의해 구현될 때, 전술한 기능들은 다르게는 컴퓨터 판독 가능 매체에 저장되거나 컴퓨터 판독 가능 매체에 하나 이상의 명령 또는 코드로서 전송될 수 있다. 컴퓨터는 범용 컴퓨터, 전용 컴퓨터, 컴퓨터 네트워크 또는 다른 프로그램 가능한 장치일 수 있다. 컴퓨터 명령은 컴퓨터 판독 가능 저장 매체에 저장되거나 컴퓨터 판독 가능 저장 매체로부터 다른 컴퓨터 판독 가능 저장 매체로 전송될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터 저장 매체 및 통신 매체를 포함하고, 여기서 통신 매체는 컴퓨터 프로그램이 한 장소에서 다른 장소로 전송될 수 있게 하는 임의의 매체를 포함한다. 저장 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 이용 가능한 매체일 수 있다. 다음은 예를 제공하지만 어떠한 제한도 부과하지 않는다: 컴퓨터 판독 가능 매체는 RAM, ROM, EEPROM, CD-ROM, 또는 다른 광 디스크 저장 또는 디스크 저장 매체, 다른 자기 저장 장치, 또는 명령(들) 또는 데이터 구조의 형태로 예상 프로그램 코드를 운반 또는 저장할 수 있고 컴퓨터에 의해 액세스될 수 있은 임의의 다른 매채. 또한, 어떤 연결이 컴퓨터 판독 가능 매체로서 적절히 정의될 수 있다. 예를 들어 소프트웨어가 동축 케이블, 광섬유/케이블, 연선, DSL(digital subscriber line) 또는 적외선, 무선, 마이크로파 등의 무선 기술을 사용하여 웹 사이트, 서버 또는 다른 원격 소스에서 소프트웨어를 전송하는 경우, 동축 케이블, 광섬유/케이블, 연선, DSL(digital subscriber line) 또는 적외선, 무선, 마이크로파 등의 무선 기술은 그들이 속하는 매체의 정의에 포함된다. 예를 들어, 본 출원에서 사용되는 디스크는 CD(compact disc), 레이저 디스크, 광 디스크, DVD(digital versatile disc), 플로피 디스크 및 블루 레이 디스크를 포함하며, 여기서 디스크는 일반적으로 데이터를 자기적으로 복사하는 것도 있고, 레이저를 사용하여 데이터를 광학적으로 복사하는 것도 있다. 전술한 조합은 또한 컴퓨터 판독 가능 매체의 보호 범위에 포함되어야한다.
본 출원에서 "/"는 및/또는을 나타낸다는 점에 유의해야 한다. 예를 들어, "인코딩/디코딩(인코딩 및/또는 디코딩)"은 인코딩, 디코딩, 또는 인코딩 및 디코딩을 의미한다.
결론적으로, 전술한 것은 본 출원의 기술적 해결 수단의 실시예의 예일 뿐이며, 본 출원의 보호 범위를 제한하려는 것은 아니다. 본 출원의 원리를 벗어남이 없이 이루어진 임의의 수정, 균등물 치환 또는 개선은 본 출원의 보호 범위 내에 속한다.

Claims (42)

  1. 인코딩 방법에 있어서,
    저밀도 패리티 검사(low density parity check, LDPC) 행렬에 기초하여 입력 시퀀스를 인코딩하는 단계
    를 포함하고,
    상기 LDPC 행렬은 리프팅 인자 Z 및 기본 행렬에 기초하여 얻어지고, 상기 기본 행렬는 도 3b 내지 3i에 도시된 행렬 중 임의의 한 행렬의 행 0 내지 행 6 및 열 0 내지 열 16을 포함하거나, 상기 기본 행렬은 도 3b 내지 3i에 도시된 행렬 중 임의의 한 행렬의 행 0 내지 행 6 및 열 0 내지 열 16 중 일부 열을 포함하는,
    방법.
  2. 디코딩 방법에 있어서,
    저밀도 패리티 검사(low density parity check, LDPC) 행렬에 기초하여 입력 시퀀스를 디코딩하는 단계
    를 포함하고,
    상기 LDPC 행렬은 리프팅 인자 Z 및 기본 행렬에 기초하여 얻어지고, 상기 기본 행렬는 도 3b 내지 3i에 도시된 행렬 중 임의의 한 행렬의 행 0 내지 행 6 및 열 0 내지 열 16을 포함하거나, 상기 기본 행렬은 도 3b 내지 3i에 도시된 행렬 중 임의의 한 행렬의 행 0 내지 행 6 및 열 0 내지 열 16 중 일부 열을 포함하는,
    방법.
  3. 제1항 또는 제2항에 있어서,
    상기 리프팅 인자는 Z=a×2j, 여기서 0≤j<7 및
    Figure pct00020
    이며,
    a=2 또는 리프팅 인자 Z의 값이 2, 4, 8, 16, 32, 64, 128 및 256 중 하나인 경우, 기본 행렬은 도 3b 내지 도 3i에 도시된 행렬 중 어느 한 행렬에서의 행 0 내지 행 6 및 열 0 내지 열 16으로 구성되거나; 또는 기본 행렬은 도 3b에 도시된 행렬에서의 행 1 내지 행 m-1 및 열 0 내지 열 n-1로 이루어지고, 여기서,
    Figure pct00021
    이고, m은 정수,
    Figure pct00022
    이고 n은 정수이거나; 또는 기본 행렬은 도 3b에 도시된 행렬에서의 행 1 내지 행 m-1 및 열 0 내지 열 n-1 중 일부 열로 이루어지고, 여기서,
    Figure pct00023
    이고, m은 정수,
    Figure pct00024
    이고 n은 정수이거나;
    a=3 또는 리프팅 인자 Z의 값이 3, 6, 12, 24, 48, 96, 192 및 384 중 하나 인 경우, 기본 행렬은 도 3c에 도시된 행렬에서의 행 0 내지 행 6, 열 0 내지 열 16으로 이루어지거나; 또는 기본 행렬이 3b-2에 도시된 행렬에서의 행 0 내지 행 m-1 및 열 0 내지 열 n-1로 이루어지고, 여기서,
    Figure pct00025
    이고, m은 정수,
    Figure pct00026
    이고 n은 정수이거나; 또는 기본 행렬은 도 3c에 도시된 행렬에서의 행 1 내지 행 m-1 및 열 0 내지 열 n-1 중 일부 열로 이루어지고, 여기서,
    Figure pct00027
    이고, m은 정수,
    Figure pct00028
    이고 n은 정수이거나;
    a=5 또는 리프팅 인자 Z의 값이 5, 10, 20, 40, 80, 160 및 320 중 하나 인 경우, 기본 행렬은 도 3d에 도시된 행렬에서의 행 0 내지 행 6, 열 0 내지 열 16으로 이루어지거나; 또는 기본 행렬이 3b-3에 도시된 행렬에서의 행 0 내지 행 m-1 및 열 0 내지 열 n-1로 이루어지고, 여기서,
    Figure pct00029
    이고, m은 정수,
    Figure pct00030
    이고 n은 정수이거나; 또는 기본 행렬은 도 3d에 도시된 행렬에서의 행 1 내지 행 m-1 및 열 0 내지 열 n-1 중 일부 열로 이루어지고, 여기서,
    Figure pct00031
    이고, m은 정수,
    Figure pct00032
    이고 n은 정수이거나;
    a=7 또는 리프팅 인자 Z의 값이 7, 14, 28, 56, 112 및 224 중 하나 인 경우, 기본 행렬은 도 3e에 도시된 행렬에서의 행 0 내지 행 6, 열 0 내지 열 16으로 이루어지거나; 또는 기본 행렬이 3b-4에 도시된 행렬에서의 행 0 내지 행 m-1 및 열 0 내지 열 n-1로 이루어지고, 여기서,
    Figure pct00033
    이고, m은 정수,
    Figure pct00034
    이고 n은 정수이거나; 또는 기본 행렬은 도 3e에 도시된 행렬에서의 행 1 내지 행 m-1 및 열 0 내지 열 n-1 중 일부 열로 이루어지고, 여기서,
    Figure pct00035
    이고, m은 정수,
    Figure pct00036
    이고 n은 정수이거나;
    a=9 또는 리프팅 인자 Z의 값이 9, 18, 36, 72, 144 및 288 중 하나 인 경우, 기본 행렬은 도 3f에 도시된 행렬에서의 행 0 내지 행 6, 열 0 내지 열 16으로 이루어지거나; 또는 기본 행렬이 3b-5에 도시된 행렬에서의 행 0 내지 행 m-1 및 열 0 내지 열 n-1로 이루어지고, 여기서,
    Figure pct00037
    이고, m은 정수,
    Figure pct00038
    이고 n은 정수이거나; 또는 기본 행렬은 도 3f에 도시된 행렬에서의 행 1 내지 행 m-1 및 열 0 내지 열 n-1 중 일부 열로 이루어지고, 여기서,
    Figure pct00039
    이고, m은 정수,
    Figure pct00040
    이고 n은 정수이거나;
    a=11 또는 리프팅 인자 Z의 값이 11, 22, 44, 88, 176 및 352 중 하나 인 경우, 기본 행렬은 도 3g에 도시된 행렬에서의 행 0 내지 행 6, 열 0 내지 열 16으로 이루어지거나; 또는 기본 행렬이 3b-6에 도시된 행렬에서의 행 0 내지 행 m-1 및 열 0 내지 열 n-1로 이루어지고, 여기서,
    Figure pct00041
    이고, m은 정수,
    Figure pct00042
    이고 n은 정수이거나; 또는 기본 행렬은 도 3g에 도시된 행렬에서의 행 1 내지 행 m-1 및 열 0 내지 열 n-1 중 일부 열로 이루어지고, 여기서,
    Figure pct00043
    이고, m은 정수,
    Figure pct00044
    이고 n은 정수이거나;
    a=13 또는 리프팅 인자 Z의 값이 13, 26, 52, 104 및 208 중 하나 인 경우, 기본 행렬은 도 3h에 도시된 행렬에서의 행 0 내지 행 6, 열 0 내지 열 16으로 이루어지거나; 또는 기본 행렬이 3b-7에 도시된 행렬에서의 행 0 내지 행 m-1 및 열 0 내지 열 n-1로 이루어지고, 여기서,
    Figure pct00045
    이고, m은 정수,
    Figure pct00046
    이고 n은 정수이거나; 또는 기본 행렬은 도 3h에 도시된 행렬에서의 행 1 내지 행 m-1 및 열 0 내지 열 n-1 중 일부 열로 이루어지고, 여기서,
    Figure pct00047
    이고, m은 정수,
    Figure pct00048
    이고 n은 정수이거나; 또는
    a=15 또는 리프팅 인자 Z의 값이 15, 30, 60, 120 및 240 중 하나 인 경우, 기본 행렬은 도 3i에 도시된 행렬에서의 행 0 내지 행 6, 열 0 내지 열 16으로 이루어지거나; 또는 기본 행렬이 도 3i에 도시된 행렬에서의 행 0 내지 행 m-1 및 열 0 내지 열 n-1로 이루어지고, 여기서,
    Figure pct00049
    이고, m은 정수,
    Figure pct00050
    이고 n은 정수이거나; 또는 기본 행렬은 도 3i에 도시된 행렬에서의 행 1 내지 행 m-1 및 열 0 내지 열 n-1 중 일부 열로 이루어지고, 여기서,
    Figure pct00051
    이고, m은 정수,
    Figure pct00052
    이고 n은 정수인,
    방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 LDPC 행렬은 리프팅 인자 Z 및 기본 행렬을 보상함으로써 획득된 행렬 Hs에 기초하여 획득되고, 행렬 Hs는 보상 값 Offsets를 기본 행렬의 적어도 하나의 열 s에서 0보다 크거나 같은 각각의 시프트 값에 가산하거나 시프트 값으로부터 감산하는 것에 의해 획득되고, 여기서 보상 값 Offsets는 0 또는 0보다 큰 정수이고, s는 0 또는 0보다 큰 정수이면서 11보다 작은 정수인,
    방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 LDPC 행렬은 리프팅 인자 Z 및 행 변환, 또는 열 변환에 의해 얻어진 행렬에 기초하여 획득되거나, 또는 행 교환 및 열 교환이 기본 행렬의 보상 행렬 Hs 또는 기본 행렬에 대해 수행되는,
    방법.
  6. 인코딩 방법에 있어서,
    리프팅 인자 Z 및 LDPC(Low Density Parity Check) 행렬의 파라미터에 기초하여 입력 시퀀스를 인코딩하는 단계;
    LDPC 행렬의 파라미터는 표 2 및 표 31 내지 표 38 중 어느 하나에서 행 0 내지 행 6에 대응하는 파라미터를 포함하는,
    방법.
  7. 디코딩 방법에 있어서,
    리프팅 인자 Z 및 LDPC(low density parity check) 행렬의 파라미터에 기초하여 입력 시퀀스를 디코딩하는 단계;
    LDPC 행렬의 파라미터는 표 2 및 표 31 내지 표 38 중 어느 하나에서 행 0 내지 행 6에 대응하는 파라미터를 포함하는,
    방법.
  8. 제6항 또는 제7항에 있어서,
    상기 LDPC 행렬의 파라미터는 표 2 및 표 31 내지 표 38 중 어느 하나에서 7 행 내지 41 행에 대응하는 파라미터를 추가로 포함하는, 방법.
  9. 제6항 내지 제8항 중 어느 한 항에 있어서,
    상기 리프팅 인자는 Z=a×2j, 여기서 0≤j<7 및
    Figure pct00053
    이고,
    a=2인 경우, LDPC 행렬의 파라미터는 표 2 또는 표 31의 행 0 내지 행 6에 대응하는 파라미터를 포함하고; 또는
    a=3인 경우, LDPC 행렬의 파라미터는 표 2 또는 표 32의 행 0 내지 행 6에 대응하는 파라미터를 포함하고; 또는
    a=5인 경우, LDPC 행렬의 파라미터는 표 2 또는 표 33에서 행 0 내지 행 6에 대응하는 파라미터를 포함하고; 또는
    a=7인 경우, LDPC 행렬의 파라미터는 표 2 또는 표 34의 행 0 내지 행 6에 대응하는 파라미터를 포함하고; 또는
    a=9인 경우, LDPC 행렬의 파라미터는 표 2 또는 표 35의 행 0 내지 행 6에 대응하는 파라미터를 포함하고; 또는
    a=11인 경우, LDPC 행렬의 파라미터는 표 2 또는 표 36의 행 0 내지 행 6에 대응하는 파라미터를 포함하고; 또는
    a=13인 경우, LDPC 행렬의 파라미터는 표 2 또는 표 37의 행 0 내지 행 6에 대응하는 파라미터를 포함하고; 또는
    a=15인 경우, LDPC 행렬의 파라미터는 표 2 또는 표 38의 행 0 내지 행 6에 대응하는 파라미터를 포함하는,
    방법.
  10. 제9항에 있어서,
    a=2인 경우, LDPC 행렬의 파라미터는 표 2 또는 표 31의 행 7 내지 행 41에 대응하는 파라미터를 포함하고; 또는
    a=3인 경우, LDPC 행렬의 파라미터는 표 2 또는 표 32의 행 7 내지 행 41에 대응하는 파라미터를 포함하고; 또는
    a=5인 경우, LDPC 행렬의 파라미터는 표 2 또는 표 33의 행 7 내지 행 41에 대응하는 파라미터를 포함하고; 또는
    a=7인 경우, LDPC 행렬의 파라미터는 표 2 또는 표 34의 행 7 내지 행 41에 대응하는 파라미터를 포함하고; 또는
    a=9인 경우, LDPC 행렬의 파라미터는 표 2 또는 표 35의 행 7 내지 행 41에 대응하는 파라미터를 포함하고; 또는
    a=11인 경우, LDPC 행렬의 파라미터는 표 2 또는 표 36의 행 7 내지 행 41에 대응하는 파라미터를 포함하고; 또는
    a=13인 경우, LDPC 행렬의 파라미터는 표 2 또는 표 37의 행 7 내지 행 41에 대응하는 파라미터를 포함하고; 또는
    a=15인 경우, LDPC 행렬의 파라미터는 표 2 또는 표 38의 행 7 내지 행 41에 대응하는 파라미터를 포함하는,
    방법.
  11. 제6항 내지 제10 항 중 어느 한 항에 있어서,
    리프팅 인자 Z 및 LDPC 행렬의 파라미터에 기초하여 입력 시퀀스를 인코딩/디코딩하는 단계는:
    상기 리프팅 인자 Z 및 상기 LDPC 행렬의 파라미터를 보상함으로써 획득된 파라미터에 기초하여 상기 입력 시퀀스를 인코딩/디코딩하는 단계를 포함하고,
    상기 보상된 파라미터는: LDPC 행렬의 파라미터에서 적어도 하나의 열 위치 s에 있고 0보다 크거나 같으며 보상 값 Offsets에 의해 증가 또는 감소되는 시프트 값을 포함하고,
    상기 보상 값 Offsets는 0과 같거나 큰 정수이고, s는 0과 같거나 큰 정수이면서 11보다 작은 정수인,
    방법.
  12. 정보 처리 방법으로서,
    입력 시퀀스
    Figure pct00054
    를 인코딩하여, 출력 시퀀스
    Figure pct00055
    를 획득하는 단계를 포함하고,
    여기서, K 및 N은 0보다 큰 정수이고,
    출력 시퀀스 d는 입력 시퀀스 c에서의
    Figure pct00056
    개 비트 및 패리티 시퀀스 w에서의 패리티 비트를 포함하며, 여기서
    Figure pct00057
    는 정수이고, 0<K0≤K이며,
    패리티 시퀀스 w 및 입력 시퀀스 c는 공식
    Figure pct00058
    를 만족시키고,
    Figure pct00059
    는 입력 시퀀스 c에서 비트에 의해 형성된 벡터의 전치 벡터이고,
    Figure pct00060
    는 패리티 시퀀스 w에서 비트에 의해 형성된 벡터의 전치 벡터이며, 0T는 열 벡터이며, 0T의 모든 요소의 값은 0이며,
    H는 저밀도 패리티 검사(LDPC) 행렬이고, H의 기본 그래프는 H BGH BG,EXT,를 포함하고,
    Figure pct00061
    이며,
    Figure pct00062
    Figure pct00063
    올 제로 행렬(all zero matrix)를 나타내고,
    Figure pct00064
    Figure pct00065
    항등 행렬(identity matrix)를 나타내며, HBG는 HBG2의 정보 비트의 Kb 열에 대응하는 열과, HBG2의 열 10 내지 열 10+mA-1에 대응하는 열을 포함하며, 여기서 HBG2의 열의 수량은 10+mA이고, 4≤mA≤7이며, Kb
    Figure pct00066
    {6,8,9,10}이고,
    mc=7 및 0≤nc≤35의 경우, H BG2의 열 수량은 17이거나; 또는
    mc=6 및 0≤nc≤36의 경우, H BG2의 열의 수는 16이거나; 또는
    mc=5 및 0≤nc≤37의 경우, H BG2의 열의 수는 15이거나; 또는
    mc=4 및 0≤nc≤38의 경우, H BG2의 열의 수는 14인,
    정보 처리 방법.
  13. 제12항에있어서,
    HBG2의 각 행에서 논제로 요소가 있는 열의 위치는 표 3a 및 표 31 내지 표 38 중 어느 하나에 도시되어 있거나, 또는 표 3a, 표 31 내지 표 38 및 표 321 중 어느 하나에 도시되어 있는, 정보 처리 방법.
  14. 정보 처리 방법으로서,
    입력 시퀀스
    Figure pct00067
    를 획득하는 단계 - 여기서, 입력 시퀀스 c의 길이는 K임 -;
    리프팅 인자 Z를 결정하는 단계;
    리프팅 인자 Z에 기초하여 저밀도 패리티 체크(LDPC) 행렬 H를 결정하는 단계; 및
    인코딩된 비트 시퀀스
    Figure pct00068
    를 획득하기 위해 입력 시퀀스 c를 인코딩하는 단계 - d의 길이는 N이고, d는 패리티 비트 w를 포함함 -
    을 포함하고,
    상기 패리티 비트는
    Figure pct00069
    를 만족시키고,
    여기서,
    Figure pct00070
    는 입력 시퀀스 c에서 비트에 의해 형성된 벡터의 전치 벡터를 나타내고,
    Figure pct00071
    는 패리티 시퀀스에서 비트에 의해 형성된 벡터의 전치 벡터를 나타내고,
    Figure pct00072
    는 열 벡터를 나타내고,
    Figure pct00073
    내의 모든 요소의 값은 0이며, 행렬
    Figure pct00074
    는 LDPC 행렬을 나타내는,
    정보 처리 방법.
  15. 제14항에 있어서,
    상기 행렬 HH=[H 1 H 2]로 표현될 수 있고, H 1은 도 3b 내지 도 3i에 도시된 임의의 행렬에서 부분 A, B 및 D의 일부 행 및 일부 열을 포함하고,
    H2
    Figure pct00075
    로 표시되며, 여기서
    Figure pct00076
    Figure pct00077
    올 제로 행렬을 나타내고,
    Figure pct00078
    Figure pct00079
    행렬을 나타내는,
    정보 처리 방법.
  16. 제12항 내지 제15항 중 어느 한 항에 있어서,
    상기 패리티 시퀀스 w의 길이는 N+2Z-K 이거나, 또는 상기 패리티 시퀀스의 길이는 N-K인, 정보 처리 방법.
  17. 인코딩 방법으로서,
    저밀도 패리티 검사(LDPC) 행렬 H에 기초하여 입력 시퀀스 c를 인코딩하는 단계를 포함하고,
    상기 LDPC 행렬 H의 기본 행렬은 논제로 요소(i,j)를 포함하고, 여기서 i는 행 인덱스이고, j는 열 인덱스이며, 논제로 요소(i,j)는 요소가 ZХZ 크기의 순환 순열 행렬로 대체어야 하는 것을 나타내고, 순환 순열 행렬은 오른쪽으로
    Figure pct00080
    번 순환 시프트된 ZХZ 항등 행렬에 대응하고,
    Figure pct00081
    이며, Z는 리프팅 인자이고,
    상기 논제로 요소(i,j), 및 상기 논제로 요소(i,j)에 대응하는 값
    Figure pct00082
    은 다음:
    Figure pct00083

    과 같은,
    인코딩 방법.
  18. 제17항에 있어서,
    상기 LDPC 행렬 H에 기초하여 입력 시퀀스 c를 인코딩하는 단계는:
    입력 시퀀스
    Figure pct00084
    를 인코딩하여 출력 시퀀스
    Figure pct00085
    를 획득하는 단계
    를 포함하고, 여기서 K 및 N은 양의 정수이고, K는 Z의 정수배이며, N=50Z인, 인코딩 방법.
  19. 제18항에있어서,
    Z가 5, 10, 20, 40, 80, 160 및 320 중 하나인, 인코딩 방법.
  20. 제18항 또는 제19항에 있어서,
    Z는 Kb·Z≥K 를 만족시키는 최소값이고, Kb는 6, 8, 9 및 10 중 하나인, 인코딩 방법.
  21. 제19항에있어서,
    Kb가 다음:
    Figure pct00086

    를 만족시키는, 인코딩 방법.
  22. 제18항 내지 제21항 중 어느 한 항에 있어서,
    상기 출력 시퀀스 d는 입력 시퀀스 c에서의
    Figure pct00087
    개 비트 및 패리티 시퀀스 w에서의 패리티 비트를 포함하고, 여기서
    Figure pct00088
    는 정수이고, 0<K0kihK이며, 패리티 시퀀스 w의 길이는
    Figure pct00089
    이고;
    패리티 시퀀스 w 및 입력 시퀀스 c는 공식
    Figure pct00090
    를 만족하고,
    여기서,
    Figure pct00091
    는 입력 시퀀스 c에서 비트에 의해 형성된 벡터의 전치 벡터이고,
    Figure pct00092
    는 패리티 시퀀스 w에서 비트에 의해 형성된 벡터의 전치 벡터이고, 0T는 열 벡터이며, 0T의 모든 요소의 값은 0인,
    인코딩 방법.
  23. 제22항에 있어서,
    상기 패리티 시퀀스 w의 길이는 N+2Z-K인, 인코딩 방법.
  24. 제18항 내지 제23항 중 어느 한 항에 있어서,
    LDPC 행렬 H에 기초하여 입력 시퀀스 c를 인코딩하는 단계는:
    k=2Z 내지 K-1이고,
    Figure pct00093
    이면
    Figure pct00094
    이고;
    그렇지 않으면, ck=0
    인 것을 포함하는, 인코딩 방법.
  25. 제18항 내지 제24항 중 어느 한 항에 있어서,
    LDPC 행렬 H에 기초하여 입력 시퀀스 c를 인코딩하는 단계는, k=K 내지
    Figure pct00095
    이고,
    Figure pct00096
    인 것을 포함하는, 인코딩 방법.
  26. 디코딩 방법으로서,

    LDPC 행렬 H에 기초하여 저밀도 패리티 검사(LDPC) 코드의 소프트 값 시퀀스를 디코딩하여 정보 시퀀스를 획득하는 단계를 포함하고,

    상기 LDPC 행렬 H의 기본 행렬은 논제로 요소(i,j)를 포함하고, 여기서 i는 행 인덱스이고, j는 열 인덱스이며, 논제로 요소(i,j)는 요소가 ZХZ 크기의 순환 순열 행렬로 대체어야 하는 것을 나타내고, 순환 순열 행렬은 오른쪽으로
    Figure pct00097
    번 순환 시프트된 ZХZ 항등 행렬에 대응하고,
    Figure pct00098
    이며, Z는 리프팅 인자이고,
    상기 논제로 요소(i,j), 및 상기 논제로 요소(i,j)에 대응하는 값
    Figure pct00099
    은 다음:
    Figure pct00100

    과 같은,
    디코딩 방법.
  27. 제17항 내지 제26항 중 어느 한 항에 있어서,
    H의 기본 행렬은 다음의 논제로 요소(i,j)를 포함하고, 논제로 요소(i,j)에 대응하는 값
    Figure pct00101
    는 다음:
    Figure pct00102

    과 같은,
    디코딩 방법.
  28. 제17항 내지 제27항 중 어느 한 항에 있어서,
    H의 기본 행렬은 다음의 논제로 요소(i,j)를 포함하고, 논제로 요소(i,j)에 대응하는 값
    Figure pct00103
    는 다음:
    Figure pct00104

    과 같은,
    디코딩 방법.
  29. 제17항 내지 제28항 중 어느 한 항에 있어서,
    H의 기본 행렬은 다음의 논제로 요소(i,j)를 포함하고, 논제로 요소(i,j)에 대응하는 값
    Figure pct00105
    는 다음:
    Figure pct00106

    과 같은,
    디코딩 방법.
  30. 제17항 내지 제29항 중 어느 한 항에 있어서,
    H의 기본 행렬은 다음의 논제로 요소(i,j)를 포함하고, 논제로 요소(i,j)에 대응하는 값
    Figure pct00107
    는 다음:
    Figure pct00108

    과 같은,
    디코딩 방법.
  31. 제17항 내지 제30항 중 어느 한 항에 있어서,
    H의 기본 행렬은 다음의 논제로 요소(i,j)를 포함하고, 논제로 요소(i,j)에 대응하는 값
    Figure pct00109
    는 다음:
    Figure pct00110

    과 같은,
    디코딩 방법.
  32. 제17항 내지 제31항 중 어느 한 항에 있어서,
    H의 기본 행렬은 (i+1)번째 행에 논제로 요소(i,j)를 더 포함하고, 여기서 9≤i≤41이고, 논제로 요소(i,j)에 대응하는 값
    Figure pct00111
    은 다음:
    Figure pct00112
    , 및

    Figure pct00113

    와 같은,
    디코딩 방법.
  33. 제17항 내지 제32항 중 어느 한 항에 있어서,
    H의 기본 행렬은 m개 행 및 n개 열의 행렬이고, m≤42 및 n≤52인, 디코딩 방법.
  34. 제17항 내지 제32항 중 어느 한 항에 있어서,
    Z가 5, 10, 20, 40, 80, 160 및 320 중 하나인, 디코딩 방법.
  35. 제12항 내지 제34항 중 어느 한 항에 있어서,
    K는 Z의 정수 배수인, 디코딩 방법.
  36. 청구항 1 내지 35 중 어느 한 항에 기재된 방법을 수행하도록 구성된 장치.
  37. 통신 장치로서,
    상기 통신 장치는 하나 이상의 프로세서 및 하나 이상의 메모리를 포함하고,
    상기 하나 이상의 메모리는, 하나 이상의 프로세서에 의해 실행될 때, 상기 통신 장치가 청구항 1 내지 35 중 어느 한 항에 따른 방법을 수행하도록 하는 하나 이상의 명령을 저장하는,
    통신 장치.
  38. 제36항에 따른 장치 또는 제37항에 따른 통신 장치를 포함하는 단말기.
  39. 제36항에 따른 장치 또는 제37항에 따른 통신 장치를 포함하는 기지국.
  40. 제38항에 따른 단말기 및 제39항에 따른 기지국을 포함하는 통신 시스템.
  41. 컴퓨터에 의해 실행될 때, 컴퓨터로 하여금 청구항 1 내지 35 중 어느 한 항에 따른 방법을 수행하게 하는 하나 이상의 명령을 포함하는 컴퓨터 판독 가능 저장 매체.
  42. 프로그램이 컴퓨터에 의해 실행될 때, 컴퓨터로 하여금 청구항 1 내지 35 중 어느 한 항에 따른 방법을 수행하게 하는 명령을 포함하는 컴퓨터 프로그램 제품.
KR1020207002529A 2017-06-27 2018-04-12 정보 처리 방법, 장치 및 통신 장치 KR102276721B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
CN201710503056.2 2017-06-27
CN201710503056 2017-06-27
CN201710572364.0A CN109150197B (zh) 2017-06-27 2017-07-13 信息处理的方法、装置和通信设备
CN201710572364.0 2017-07-13
PCT/CN2018/082851 WO2019001090A1 (zh) 2017-06-27 2018-04-12 信息处理的方法、装置和通信设备

Publications (2)

Publication Number Publication Date
KR20200013794A true KR20200013794A (ko) 2020-02-07
KR102276721B1 KR102276721B1 (ko) 2021-07-12

Family

ID=64803188

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207002529A KR102276721B1 (ko) 2017-06-27 2018-04-12 정보 처리 방법, 장치 및 통신 장치

Country Status (12)

Country Link
US (4) US10771092B2 (ko)
EP (3) EP4376337A2 (ko)
JP (2) JP7143343B2 (ko)
KR (1) KR102276721B1 (ko)
CN (3) CN109327225B9 (ko)
AU (1) AU2018294981B2 (ko)
BR (2) BR112019027688A8 (ko)
CA (1) CA3068553A1 (ko)
ES (2) ES2970217T3 (ko)
MY (1) MY196344A (ko)
PL (1) PL3567731T3 (ko)
RU (1) RU2758968C2 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102450243B1 (ko) 2017-02-06 2022-10-04 엘지전자 주식회사 행-직교 구조(row-orthogonal)를 이용한 LDPC 코드 전송 방법 및 이를 위한 장치
KR102194029B1 (ko) 2017-06-15 2020-12-22 후아웨이 테크놀러지 컴퍼니 리미티드 정보 프로세싱 방법 및 통신 장치
CN109327225B9 (zh) * 2017-06-27 2021-12-10 华为技术有限公司 信息处理的方法、装置和通信设备
CN112448724B (zh) * 2019-08-29 2023-07-07 华为技术有限公司 一种数据编码的方法及设备
CN110989921B (zh) * 2019-10-24 2023-05-26 西安艾可萨科技有限公司 可配置存储阵列系统及其控制方法、通信设备
CN113612573B (zh) * 2020-05-04 2022-10-11 华为技术有限公司 一种通信方法及装置
CN114257250A (zh) * 2020-09-25 2022-03-29 中兴通讯股份有限公司 Ldpc码编码方法、装置、网络设备和存储介质
WO2024040457A1 (en) * 2022-08-24 2024-02-29 Qualcomm Incorporated Low-density parity-check coding with applications for probabilistic amplitude shaping
WO2024065214A1 (en) * 2022-09-27 2024-04-04 Zte Corporation Methods and apparatus for information transmission

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100257425A1 (en) * 2009-04-06 2010-10-07 Nec Laboratories America, Inc. Systems and methods for constructing the base matrix of quasi-cyclic low-density parity-check codes
US20110289375A1 (en) * 2008-09-27 2011-11-24 Panasonic Corporation Method for constructing an ldpc code, transmitter, and receiver
US9559722B1 (en) * 2013-10-21 2017-01-31 Marvell International Ltd. Network devices and methods of generating low-density parity-check codes and performing corresponding encoding of data

Family Cites Families (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3808769B2 (ja) 2001-12-27 2006-08-16 三菱電機株式会社 Ldpc符号用検査行列生成方法
ATE556491T1 (de) 2002-07-03 2012-05-15 Dtvg Licensing Inc Methode und verfahren für die speicherverwaltung in low density parity check (ldpc) decodern
US7058873B2 (en) 2002-11-07 2006-06-06 Carnegie Mellon University Encoding method using a low density parity check code with a column weight of two
KR100996029B1 (ko) 2003-04-29 2010-11-22 삼성전자주식회사 저밀도 패리티 검사 코드의 부호화 장치 및 방법
KR100809619B1 (ko) 2003-08-26 2008-03-05 삼성전자주식회사 이동 통신 시스템에서 블록 저밀도 패러티 검사 부호부호화/복호 장치 및 방법
KR100918763B1 (ko) * 2003-11-14 2009-09-24 삼성전자주식회사 병렬 연접 저밀도 패리티 검사 부호를 사용하는 채널 부호화/복호 장치 및 방법
CN1973440A (zh) 2004-04-02 2007-05-30 北方电讯网络有限公司 Ldpc编码器、解码器、系统及方法
KR20050118056A (ko) 2004-05-12 2005-12-15 삼성전자주식회사 다양한 부호율을 갖는 Block LDPC 부호를 이용한이동 통신 시스템에서의 채널부호화 복호화 방법 및 장치
AU2005272268B2 (en) 2004-08-10 2008-07-31 Samsung Electronics Co., Ltd. Apparatus and method for encoding and decoding a block low density parity check code
US7188297B2 (en) 2004-08-12 2007-03-06 Motorola, Inc. Method and apparatus for encoding and decoding data
EP1762021A1 (en) 2004-09-15 2007-03-14 Samsung Electronics Co., Ltd. Method and apparatus for encoding/decoding transmission information in mobile telecommunication system
CN100550655C (zh) * 2004-11-04 2009-10-14 中兴通讯股份有限公司 一种低密度奇偶校验码的编码器/译码器及其生成方法
US7752520B2 (en) * 2004-11-24 2010-07-06 Intel Corporation Apparatus and method capable of a unified quasi-cyclic low-density parity-check structure for variable code rates and sizes
KR100913876B1 (ko) 2004-12-01 2009-08-26 삼성전자주식회사 저밀도 패리티 검사 부호의 생성 방법 및 장치
CN1845482B (zh) 2005-04-07 2011-05-11 华为技术有限公司 宽带码分多址系统下行信道编码打孔压缩装置和实现方法
US7774675B1 (en) * 2005-12-05 2010-08-10 Marvell International Ltd. LDPC codes and expansion method
US7493548B2 (en) * 2006-02-06 2009-02-17 Motorola, Inc Method and apparatus for encoding and decoding data
CN100546205C (zh) * 2006-04-29 2009-09-30 北京泰美世纪科技有限公司 构造低密度奇偶校验码的方法、译码方法及其传输系统
CN101162907B (zh) * 2006-10-10 2010-11-03 华为技术有限公司 一种利用低密度奇偶校验码实现编码的方法及装置
CN101217337B (zh) * 2007-01-01 2013-01-23 中兴通讯股份有限公司 一种支持递增冗余混合自动重传的低密度奇偶校验码编码装置和方法
KR101364160B1 (ko) 2007-01-24 2014-02-17 퀄컴 인코포레이티드 가변 크기들의 패킷들의 ldpc 인코딩 및 디코딩
CN101431337A (zh) * 2007-11-09 2009-05-13 松下电器产业株式会社 提高编码并行度实现降低编码时延的方法
KR101445080B1 (ko) 2008-02-12 2014-09-29 삼성전자 주식회사 하이브리드 자동 반복 요구 방식을 사용하는 통신 시스템에서 신호 송신 방법 및 장치
CN101515839A (zh) 2008-02-22 2009-08-26 大唐移动通信设备有限公司 一种编码输出的方法、装置及其系统
CN101662290B (zh) * 2008-08-26 2013-08-28 华为技术有限公司 生成准循环ldpc码及编码的方法与装置
US8103931B2 (en) 2008-08-27 2012-01-24 Mitsubishi Electric Research Laboratories, Inc. Method for constructing large-girth quasi-cyclic low-density parity-check codes
CN101741396B (zh) 2008-11-19 2013-03-13 华为技术有限公司 可变码长ldpc码编码或译码的方法与装置及编码器和译码器
CN101834613B (zh) 2009-03-09 2012-11-21 电信科学技术研究院 一种ldpc码的编码方法及编码器
CN102025441B (zh) * 2009-09-11 2013-07-31 北京泰美世纪科技有限公司 Ldpc码校验矩阵的构造方法、ldpc码的编码方法和编码装置
KR101644656B1 (ko) * 2009-11-02 2016-08-10 삼성전자주식회사 선형 블록 부호를 사용하는 통신 시스템에서 패리티 검사 행렬을 생성하는 방법과 이를 이용한 채널 부호화/복호화 장치 및 방법
CN102412842B (zh) * 2010-09-25 2016-06-15 中兴通讯股份有限公司 一种低密度奇偶校验码的编码方法及装置
US8627166B2 (en) * 2011-03-16 2014-01-07 Samsung Electronics Co., Ltd. LDPC code family for millimeter-wave band communications in a wireless network
CN102315911B (zh) 2011-09-29 2017-10-27 中兴通讯股份有限公司 一种低密度奇偶校验码编码方法及装置
US9100052B2 (en) * 2013-02-01 2015-08-04 Samsung Electronics Co., Ltd. QC-LDPC convolutional codes enabling low power trellis-based decoders
WO2014127140A1 (en) 2013-02-13 2014-08-21 Qualcomm Incorporated Design for lifted ldpc codes having high parallelism, low error floor, and simple encoding principle
KR101752070B1 (ko) 2013-06-12 2017-06-28 소니 주식회사 데이터 처리 장치, 및 데이터 처리 방법
CN104518847B (zh) * 2013-09-29 2018-02-02 中国科学院上海高等研究院 基于bch码与短ldpc码级联的信令编码方法及系统
CN104868925B (zh) 2014-02-21 2019-01-22 中兴通讯股份有限公司 结构化ldpc码的编码方法、译码方法、编码装置和译码装置
CN104917536B (zh) 2014-03-11 2019-11-12 中兴通讯股份有限公司 一种支持低码率编码的方法及装置
CN104168030B (zh) 2014-07-14 2017-11-14 北京邮电大学 一种基于本原域循环群两个生成元的ldpc码构造方法
US9432052B2 (en) * 2014-09-18 2016-08-30 Broadcom Corporation Puncture-aware low density parity check (LDPC) decoding
US9692451B2 (en) 2014-09-30 2017-06-27 Avago Technologies General Ip (Singapore) Pte. Ltd Non-binary low density parity check (NB-LDPC) codes for communication systems
CN104333390B (zh) * 2014-11-26 2019-08-06 西安烽火电子科技有限责任公司 一种ldpc码的校验矩阵的构造方法与编码方法
US20160173132A1 (en) * 2014-12-10 2016-06-16 Alcatel-Lucent Usa Inc. Construction of Structured LDPC Convolutional Codes
US20160218750A1 (en) * 2015-01-23 2016-07-28 Empire Technology Development Llc Parity check code encoder
SG10201500905QA (en) 2015-02-05 2016-09-29 Nanyang Polytechnic LDPC Codes For Storage System
CN104821831B (zh) 2015-03-24 2019-03-05 东南大学 一种适用于高码率qc-ldpc码的双循环构造方法
US9847794B2 (en) * 2015-05-19 2017-12-19 Samsung Electronics Co., Ltd. Transmitting apparatus and interleaving method thereof
CN106685586B (zh) 2015-11-11 2020-02-14 华为技术有限公司 生成用于在信道中传输的低密度奇偶校验码的方法及设备
WO2017091018A1 (en) 2015-11-24 2017-06-01 Samsung Electronics Co., Ltd. Method and apparatus for channel encoding/decoding in a communication or broadcasting system
US10469104B2 (en) * 2016-06-14 2019-11-05 Qualcomm Incorporated Methods and apparatus for compactly describing lifted low-density parity-check (LDPC) codes
KR102131834B1 (ko) * 2016-09-30 2020-07-08 엘지전자 주식회사 Qc ldpc 코드의 레이트 매칭 방법 및 이를 위한 장치
WO2018084735A1 (en) 2016-11-03 2018-05-11 Huawei Technologies Co., Ltd. Efficiently decodable qc-ldpc code
CN108173621B (zh) 2016-12-07 2022-06-14 华为技术有限公司 数据传输的方法、发送设备、接收设备和通信系统
CN106849958B (zh) * 2016-12-29 2020-10-27 上海华为技术有限公司 低密度奇偶校验码校验矩阵的构造方法、编码方法及系统
US10581457B2 (en) 2017-01-09 2020-03-03 Mediatek Inc. Shift coefficient and lifting factor design for NR LDPC code
EP3571770B1 (en) * 2017-03-03 2024-02-21 Huawei Technologies Co., Ltd. High-rate long ldpc codes
CN109314527B (zh) * 2017-05-05 2021-10-26 联发科技股份有限公司 Qc-ldpc编码方法、装置及非暂时性计算机可读介质
CN110535474B (zh) * 2017-05-05 2023-06-06 华为技术有限公司 信息处理的方法、通信装置
KR102194029B1 (ko) 2017-06-15 2020-12-22 후아웨이 테크놀러지 컴퍼니 리미티드 정보 프로세싱 방법 및 통신 장치
CN109327225B9 (zh) * 2017-06-27 2021-12-10 华为技术有限公司 信息处理的方法、装置和通信设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110289375A1 (en) * 2008-09-27 2011-11-24 Panasonic Corporation Method for constructing an ldpc code, transmitter, and receiver
US20100257425A1 (en) * 2009-04-06 2010-10-07 Nec Laboratories America, Inc. Systems and methods for constructing the base matrix of quasi-cyclic low-density parity-check codes
US9559722B1 (en) * 2013-10-21 2017-01-31 Marvell International Ltd. Network devices and methods of generating low-density parity-check codes and performing corresponding encoding of data

Also Published As

Publication number Publication date
AU2018294981A1 (en) 2020-01-30
CN109327225B (zh) 2019-09-03
EP4064573A1 (en) 2022-09-28
CN109327225A (zh) 2019-02-12
US20200052720A1 (en) 2020-02-13
MY196344A (en) 2023-03-24
EP3567731A1 (en) 2019-11-13
RU2020102671A (ru) 2021-07-27
RU2758968C2 (ru) 2021-11-03
US20210058095A1 (en) 2021-02-25
EP4064573B1 (en) 2023-12-27
US20230361787A1 (en) 2023-11-09
JP7143343B2 (ja) 2022-09-28
JP2022179504A (ja) 2022-12-02
US10771092B2 (en) 2020-09-08
EP3567731A4 (en) 2020-07-01
CN109150197A (zh) 2019-01-04
RU2020102671A3 (ko) 2021-09-07
US11671116B2 (en) 2023-06-06
BR112019027876A2 (pt) 2020-07-07
US11277153B2 (en) 2022-03-15
KR102276721B1 (ko) 2021-07-12
EP3567731B1 (en) 2022-01-12
EP4376337A2 (en) 2024-05-29
CN109150197B (zh) 2024-05-14
BR112019027688A8 (pt) 2020-09-29
CN109327225B9 (zh) 2021-12-10
ES2970217T3 (es) 2024-05-27
AU2018294981B2 (en) 2020-10-22
JP7471360B2 (ja) 2024-04-19
PL3567731T3 (pl) 2022-02-28
JP2020526111A (ja) 2020-08-27
CN111066253A (zh) 2020-04-24
ES2907089T3 (es) 2022-04-21
CA3068553A1 (en) 2019-01-03
US20220231705A1 (en) 2022-07-21

Similar Documents

Publication Publication Date Title
KR102276721B1 (ko) 정보 처리 방법, 장치 및 통신 장치
US11469776B2 (en) Method and apparatus for low density parity check channel coding in wireless communication system
CN110999091B (zh) 信息处理的方法和通信装置
JP7221999B2 (ja) 情報処理方法および通信装置
WO2019001477A1 (zh) 信息处理的方法、装置和通信设备
CN109150193B (zh) 信息处理的方法、装置和通信设备
EP4250571A2 (en) Information processing method and communication apparatus

Legal Events

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