# US 2018/0323802 A1 · Multi-Label Offset Lifting Method

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2018/0323802 A1
- Document ID: US20180323802A1
- Status: Published application
- Kind: A1
- Application number: 15/968,597
- Filed: 2018-05-01
- Published: 2018-11-08
- Earliest claimed: 2017-05-02
- Assignees: Futurewei Technologies, Inc.
- Applicants: FutureWei Technologies, Inc.
- Inventors: Gleb Vyacheslavovich Kalachev; Ivan Leonidovich Mazurenko; Pavel Anatolyevich Panteleev; Elyar Eldarovich Gasanov; Aleksey Alexandrovich Letunovskiy; Wen Tong; Carmela Cozzo
- Web page: https://patentgrep.com/patent/US20180323802A1

## CPC

- H04L 1/0057: {Block codes (H04L1/0061, H04L1/0064 take precedence)}
- H03M 13/036: {Heuristic code construction methods, i.e. code construction or code search based on using trial-and-error}
- H03M 13/116: {Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices}
- H03M 13/1165: {QC-LDPC codes as defined for the digital video broadcasting [DVB] specifications, e.g. DVB-Satellite [DVB-S2]}
- H03M 13/616: {Matrix operations, especially for generator matrices or check matrices, e.g. column or row permutations}
- H03M 13/618: {Shortening and extension of codes}
- H03M 13/6362: {by puncturing}
- H03M 13/6516: {Support of multiple code parameters, e.g. generalized Reed-Solomon decoder for a variety of generator polynomials or Galois fields}
- H03M 13/6525: {3GPP LTE including E-UTRA}
- H04L 1/0041: {Arrangements at the transmitter end}
- H04L 1/005: {Iterative decoding, including iteration between signal detection and decoding operation}
- H04L 1/0063: {Single parity check}
- H04L 1/0068: {by puncturing}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H03M: CODING; DECODING; CODE CONVERSION IN GENERAL (using fluidic means F15C4/00; optical analogue/digital converters G02F7/00; coding, decoding or code conversion, specially adapted for particular applications, see the relevant subclasses, e.g. G01D, G01R, G06F, G06T, G09G, G10L, G11B, G11C, H04B, H04L, H04M, H04N; ciphering or deciphering for cryptography or other purposes involving the need for secrecy G09C)

## Abstract

A method for generating a code, a method for encoding and decoding data, and an encoder and a decoder performing the encoding and decoding are disclosed. In an embodiment, a method for lifting a child code from a base code for encoding and decoding data includes determining a single combination of a circulant size, a lifting function, and a labelled base matrix PCM according to an information length and a code rate using data stored in a lifting table. The lifting table was defined at a code generation stage. The method also includes calculating a plurality of shifts for the child code. Each shift is calculated by applying the lifting function to the labelled base matrix PCM with a defined index using the circulant size and using the derived child PCM to encode or decode data.

## Claims

### Claim 1

A method for lifting a child code from a base code for encoding and decoding data, the method comprising:
determining a single combination of a circulant size, a lifting function, and a labelled base matrix PCM according to an information length and a code rate using data stored in a lifting table defined at a code generation stage;
calculating a plurality of shifts for a child code, wherein each shift is calculated by applying the lifting function to the labelled base matrix PCM with a defined index using the circulant size;
deriving a child PCM according to the single combination of the circulant size, the lifting function, and the labeled PCM and according to one of the plurality of shifts for the child code; and
using the derived child PCM to encode or decode data.

### Claim 2 (depends on 1)

The method of claim 1, wherein shifts of non-zero circulants for predefined positions are unchanged.

### Claim 3 (depends on 1)

The method of claim 1, wherein the lifting function is selected from a single lifting function.

### Claim 4 (depends on 1)

The method of claim 1, wherein the lifting function is selected from a plurality of lifting functions.

### Claim 5 (depends on 1)

The method of claim 1, wherein the labelled base matrix PCM is directly derived from the circulant size.

### Claim 6 (depends on 5)

The method of claim 5, wherein the circulant size is Z, wherein Z=a*2̂s.

### Claim 7 (depends on 1)

The method of claim 1, wherein the lifting function provides a code shift value.

### Claim 8

A method for generating a code for encoding or decoding data, the method comprising:
determining a subset of allowed lift sizes Z for each coding rate R and each information length K;
determining at least one lifting functions fi for each code rate R and each Z of the subset of the allowed lift sizes Z;
determining a set of labelled PCMs describing a single protograph, wherein the labelled PCMs are based on coding rates R and the subset of allowed lift sizes Z;
selecting a single combination of a lift size Z, a lifting function f and a labelled PCMt; and
storing a circulant size offset and/or a circulant size index, a lifting function index and a labelled PCM index corresponding to the single combination for each information length and each coding rate.

### Claim 9 (depends on 8)

The method of claim 8, wherein the lifting function is selected from a single lifting function.

### Claim 10

A method for operating a device at a transmitting side, the method comprising:
encoding, at an encoder, information bits into code word; and
transmitting, at a transmitter, signals to a receiving side, the signals including the code words, wherein the information bits are encoded using a plurality of labelled base PCMs, and wherein the labelled base PCMs are derived from a single base PCM describing a single protograph.

### Claim 11 (depends on 10)

The method of claim 10, wherein the information bits have different bit lengths and are encoded with different coding rates.

### Claim 12 (depends on 11)

The method of claim 11, wherein a labelled base PCM is selected according to a coding rate.

### Claim 13 (depends on 11)

The method of claim 11, wherein encoding comprises switching from a first labelled PCM to a second labelled PCM when a coding rate changes from a first coding rate to a second coding rate.

### Claim 14 (depends on 11)

The method of claim 11, wherein encoding comprises switching from a first labelled PCM to a second labelled PCM when a lift size changes from a first lift size to a second lift size, the first and second lift sizes being dependent on different information bit lengths.

### Claim 15

A method for operating a device at a receiving side, the method comprising:
receiving, at a receiver, signals from a transmitting side, the signals including a code words; and
decoding, at a decoder, the code words by applying extracting information bits, wherein the information bits are decoded using a plurality of labelled base PCMs, and wherein the labelled base PCMs are derived from a single base PCM describing a single protograph.

### Claim 16 (depends on 15)

The method of claim 15, wherein the information bits have different bit lengths and are decoded with different coding rates.

### Claim 17 (depends on 15)

The method of claim 15, wherein a labelled base PCM is selected according to a coding rate.

### Claim 18 (depends on 15)

The method of claim 15, wherein decoding comprises switching from a first labelled PCM to a second labelled PCM when a coding rate changes from a first coding rate to a second coding rate.

### Claim 19 (depends on 15)

The method of claim 15, wherein decoding comprises switching from a first labelled PCM to a second labelled PCM when a lift size changes from a first lift size to a second lift size, the first and second lift sizes being dependent on different information bit lengths.

### Claim 20

An encoder comprising:
a processor;
a computer readable storage medium storing programming for execution by the processor, the programming including instructions to:
determine a single combination of a circulant size, a lifting function and a labelled PCM according to an information length and a code rate using data stored in a lifting table which was defined at a code generation stage;
calculate a plurality of shifts for a child code, wherein each shift is calculated by applying the lifting function to the labelled PCM with a defined index using the circulant size;
derive a child PCM according to the single combination of the circulant size, the lifting function, and the labeled PCM and according to one of the plurality of shifts for the child code; and
use the derived child PCM to encode data.
