# US 10,320,419 B2 · Encoding method, decoding method, encoding device and decoding device for structured LDPC

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

- Number: US 10,320,419 B2
- Document ID: US10320419B2
- Status: Granted
- Kind: B2
- Application number: 15/120,126
- Filed: 2014-08-25
- Published: 2017-08-10
- Granted: 2019-06-11
- Earliest claimed: 2014-02-21
- Assignees: Zte Corporation
- Applicants: Zte Corporation
- Inventors: Jun Xu; Liguang Li; Zhifeng Yuan; Jin Xu; Kaibo Tian
- Web page: https://patentgrep.com/patent/US10320419B2

## CPC

- 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/036: {Heuristic code construction methods, i.e. code construction or code search based on using trial-and-error}
- H03M 13/1137: {Partly parallel processing, i.e. sub-blocks or sub-groups of nodes being processed in parallel}
- H03M 13/114: {Shuffled, staggered, layered or turbo decoding schedules}
- H03M 13/118: {Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure (H03M13/1165 takes precedence)}
- H03M 13/616: {Matrix operations, especially for generator matrices or check matrices, e.g. column or row permutations}
- H03M 13/6502: {Reduction of hardware complexity or efficient processing}
- H03M 13/6566: {Implementations concerning memory access contentions}
- 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

An encoding method, decoding method, encoding device and decoding device for structured LDPC codes. The method includes: determining a basic matrix used for encoding, which includes K0 up-and-down adjacent pairs; and according to the basic matrix and an expansion factor corresponding to the basic matrix, performing an LDPC encoding operation of obtaining a codeword of Nb×z bits according to source data of (Nb−Mb)×z bits, herein z is the expansion factor, and z is a positive integer which is greater than or equal to 1. The provided technical solution is applicable to the encoding and decoding of the structured LDPC, thereby realizing the encoding and decoding of LDPC at the high pipeline speed.

## Claims

### Claim 1

An encoder for structured low density parity check codes (LDPC) applied in wireless digital communication system, comprising:
a memory, configured to store at least an Mb×Nb basic matrix used for encoding, wherein the basic matrix comprises an Mb×(Nb−Mb) block A corresponding to systematic bits and an Mb×Mb block B corresponding to check bits, the basic matrix comprises K0 up-and-down adjacent pairs, the K0 up-and-down adjacent pairs comprise K1 up-and-down adjacent pairs of a first type and K2 up-and-down adjacent pairs of a second type, wherein K0=K1+K2, K0 is a positive integer greater than or equal to 6*Mb, K2 is a positive integer greater than or equal to 0 and less than or equal to 2*Mb, the up-and-down adjacent pairs are a set constituted by two elements {hbij, hb((i+1)mod Mb)j} in the basic matrix corresponding to non-zero square matrices,
up-and-down adjacent pairs of the first type are up-and-down adjacent pairs that are congruential with (hbij−hb((i+1)mod Mb)j) mod Q=a, and
up-and-down adjacent pairs of the second type are up-and-down adjacent pairs that are congruential with according to (hbij−hb((i+1)mod Mb)j) mod Q=b,
wherein hbij represents an element in an ith row and jth column of the basic matrix, wherein a and b are not equal, a and b are integers greater than or equal to 0 and less than or equal to Q−1, Q is a multiplication factor of an expansion factor z, i is a row index of the basic matrix, j is a column index of the basic matrix, i=0, 1, . . . , Mb−1, j=0, 1, . . . , Nb−1; and
a processor, configured to determine the basic matrix and the expansion factor z corresponding to the basic matrix, and perform an LDPC encoding operation of obtaining a codeword of Nb×z bits based on source data of (Nb−Mb)×z bits, wherein z is a positive integer greater than or equal to 1; wherein
Q=2, a=0, b=1.

### Claim 2 (depends on 1)

The encoder according to claim 1, wherein if K2 is greater than or equal to 3, for any x1th row and ((x1+1) mod Mb)th row, a number of adjacent pairs of the second type is at most 3, wherein x1=0, 1, . . . , Mb−1.

### Claim 3 (depends on 1)

The encoder according to claim 1, wherein a total number of elements in a jth column of the basic matrix corresponding to non-zero square matrices is Lj, a first element from top to bottom is 0, Lj is a positive integer greater than or equal to 1, and j=0, 1, . . . , Nb−1.

### Claim 4 (depends on 1)

The encoder according to claim 1, wherein a value of K2 takes any one of the following: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 and 12.

### Claim 5

A decoder for structured low density parity check codes (LDPC) applied in wireless digital communication system, comprising:
a memory, configured to store at least an Mb×Nb basic matrix used for decoding, wherein the basic matrix comprises an Mb×(Nb−Mb) block A corresponding to systematic bits and an Mb×Mb block B corresponding to check bits, the basic matrix comprises K0 up-and-down adjacent pairs, the K0 up-and-down adjacent pairs comprise K1 up-and-down adjacent pairs of a first type and K2 up-and-down adjacent pairs of a second type, wherein K0=K1+K2, K0 is a positive integer greater than or equal to 6*Mb, K2 is a positive integer greater than or equal to 0 and less than or equal to 2*Mb, the up-and-down adjacent pairs are a set constituted by two elements {hbij, hb((i+1)mod Mb)j} in the basic matrix corresponding to non-zero square matrices,
up-and-down adjacent pairs of the first type are up-and-down adjacent pairs that are congruential with (hbij−hb((i+1)mod Mb)j) mod Q=a, and
up-and-down adjacent pairs of the second type are up-and-down adjacent pairs that are congruential with (hbij−hb((i+1)mod Mb)j) mod Q=b,
wherein hbij represents an element in an ith row and jth column of the basic matrix, wherein a and b are not equal, a and b are integers greater than or equal to 0 and less than or equal to Q−1, Q is a multiplication factor of an expansion factor z, i is a row index of the basic matrix, j is a column index of the basic matrix, i=0, 1, . . . , Mb−1, j=0, 1, . . . , Nb−1; and
a processor, configured to determine the basic matrix and a corresponding expansion factor z, and perform an LDPC decoding operation of obtaining information data of (Nb−Mb)×z bits based on a codeword of Nb×z bits, wherein z is a positive integer greater than or equal to 1; wherein
Q=2, a=0, b=1.

### Claim 6 (depends on 5)

The decoder of claim 5, wherein
if K2 is greater than or equal to 3, for any x1th row and ((x1+1) mod Mb)th row, a number of adjacent pairs of the second type is at most 3, wherein x1=0, 1, . . . , Mb−1.

### Claim 7 (depends on 5)

The decoder of claim 5, wherein, the processor comprises hardware performing instructions stored in a non-transitory computer readable medium which executes steps in following units:
a row updating unit for the basic matrix, configured to: use a layered belief-propagation (BP) algorithm and a corrected min-sum algorithm to perform a row update on the basic matrix, which comprises:
in an odd number iteration, in addition to updating extrinsic information corresponding to elements other than adjacent pairs of the second type, only updating extrinsic information corresponding to an element in each adjacent pair of the second type,
in an even number iteration, in addition to updating extrinsic information corresponding to elements other than adjacent pairs of the second type, only updating extrinsic information corresponding to another element in each adjacent pair of the second type,
wherein the extrinsic information is from a check node to a variable node; and
a decoding decision unit, configured to calculate a log-likelihood ratio for a codeword by using the extrinsic information, and perform a hard decision, and check whether a result is correct, and if correct, then output a correct codeword, and if wrong, then continue a processing of decoding.

### Claim 8 (depends on 5)

The decoder according to claim 5, wherein a total number of elements in a jth column of the basic matrix corresponding to non-zero square matrices is Lj, a first element from top to bottom is 0, Lj is a positive integer greater than or equal to 1, and j=0, 1, . . . , Nb −1.

### Claim 9

A decoder for structured low density parity check codes (LDPC) applied in wireless digital communication system, comprising hardware performing instructions stored in a non-transitory computer readable medium which executes steps in following modules:
a basic matrix storage module, configured to store at least an Mb×Nb basic matrix used for decoding, wherein the basic matrix comprises an Mb×(Nb−Mb) block A corresponding to systematic bits and an Mb×Mb block B corresponding to check bits, the basic matrix comprises K0 up-and-down adjacent pairs, the K0 up-and-down adjacent pairs comprise K1 up-and-down adjacent pairs of a first type and K2 up-and-down adjacent pairs of a second type, wherein K0=K1+K2, K0 is a positive integer greater than or equal to 6*Mb, K2 is a positive integer greater than or equal to 0 and less than or equal to 2*Mb, the up-and-down adjacent pairs are a set constituted by two elements {hbij, hb((i+1)mod Mb)j} in the basic matrix corresponding to non-zero square matrices,
up-and-down adjacent pairs of the first type are up-and-down adjacent pairs that are congruential with (hbij−hb((i+1)mod Mb)j) mod Q=a, and
up-and-down adjacent pairs of the second type are up-and-down adjacent pairs that are congruential with (hbij−hb((i+1)mod Mb)j) mod Q=b,
wherein hbij represents an element in an ith row and jth column of the basic matrix, wherein a and b are not equal, a and b are integers greater than or equal to 0 and less than or equal to Q−1, Q is a multiplication factor of an expansion factor z, i is a row index of the basic matrix, j is a column index of the basic matrix, i=0, 1, . . . , Mb−1, j=0, 1, . . . , Nb−1; and
a decoding operation module, configured to determine the basic matrix and a corresponding expansion factor z, and perform an LDPC decoding operation of obtaining information data of (Nb−Mb)×z bits based on a codeword of Nb×z bits, wherein z is a positive integer greater than or equal to 1; wherein
Q=2, a=0, b=1.
