LDPC

Low-Density Parity-Check

Physical Layer →
Introduced in Rel-8 Also in: User Equipment

LDPC is a powerful forward error correction code used for channel coding in 5G NR, enabling high data rates and reliable transmission, especially for large data blocks.

Category
Physical Layer
Introduced
Rel-8
Where
Radio Access Network › NG-RAN (5G)
Also touches
1 segments
Specifications
10 specs
LDPC Description Purpose Related Classification Detected Changes Specifications

Description

Low-Density Parity-Check (LDPC) codes are a class of linear block codes characterized by a sparse parity-check matrix, meaning it contains mostly zeros with a low density of ones. This sparsity is fundamental to its efficient iterative decoding algorithms. In 3GPP 5G New Radio (NR), LDPC codes were selected as the primary channel coding scheme for the data channel (PDSCH and PUSCH), replacing the Turbo codes used in 4G LTE for data. The 5G NR LDPC code design is based on quasi-cyclic (QC) LDPC codes, which offer a good balance between performance and implementation efficiency. The structure is defined by a base graph (BG), of which there are two primary ones defined in the specifications: BG1 and BG2. BG1 is optimized for larger transport blocks and higher code rates, while BG2 is better suited for smaller blocks and lower rates. The encoding process involves expanding the base graph according to a lifting size (Z) to create the final parity-check matrix for a specific code block size. This structured approach allows for highly parallelized decoder implementations, which are crucial for achieving the low latency and high throughput targets of 5G. The decoder typically uses an iterative message-passing algorithm, such as the belief propagation (BP) or min-sum algorithm, which operates on a bipartite graph (Tanner graph) representation of the parity-check matrix. Nodes in this graph exchange probabilistic messages about the likelihood of bits being 0 or 1, converging on a solution over several iterations. This process provides exceptional error-correction capability, especially for the large packet sizes common in high-speed data. The performance of LDPC codes is close to the theoretical Shannon limit, making them a cornerstone technology for achieving the peak data rates and reliability required by 5G NR. Their adoption represented a significant physical layer evolution from previous generations.

Purpose & Motivation

The primary purpose of adopting LDPC codes in 5G NR was to meet the stringent data rate, latency, and reliability requirements defined for IMT-2020. The previous channel coding workhorse for data channels in 3G and 4G was the Turbo code. While revolutionary for its time, Turbo codes presented challenges for the extreme performance targets of 5G, particularly concerning throughput and decoder complexity for very large block sizes. Turbo code decoders can suffer from longer decoding latencies and implementation complexity that scales less favorably with parallelization compared to LDPC. LDPC codes, with their inherent parallelism and superior performance at large block sizes and high code rates, were identified as a more suitable candidate. The decision was also influenced by the need for energy efficiency in base stations and devices; efficient LDPC decoder architectures can reduce power consumption. Furthermore, the quasi-cyclic structure adopted by 3GPP enables efficient hardware implementation using simple shift registers and facilitates flexible rate matching through puncturing and repetition. This addresses the need for a single, versatile coding scheme that can adapt to the diverse requirements of 5G use cases, from enhanced mobile broadband (eMBB) to ultra-reliable low-latency communications (URLLC), without requiring multiple different coding schemes. The introduction of LDPC in Rel-15 was thus a fundamental physical layer innovation to future-proof the air interface.

Classification

Specific typesSISO
Related approachesPDSCHPUSCH

Detected Changes Across Releases

from 3GPP Change Requests

Specific changes extracted from the „Change history“ tables of 3GPP specifications (9 CRs across 5 releases). Complements the general historical overview above with the evidence-based evolution of this function.

Studied in Rel-8, normative work from Rel-15.

Rel-15 1 change

In Release 15, the introduction of LDPC codes for the data channel was a foundational part of the 5G NR air interface, replacing the Turbo codes used in LTE for enhanced throughput and flexibility. This change required new procedures for the hypothetical FEC decoder to assess conformance for these new coding schemes. The release also included corrections to related signaling, such as fixing the higher layer parameter for time domain resource assignment in DCI format 0_1 to `pusch-AllocationList`.

  • MCC: correction of typo in DCI format 0_1 (time domain resource assignment) - higher layer parameter should be pusch-AllocationList TS 38.212
Rel-16 1 change

In Release 16, the specific update to the LDPC function was not detailed in the provided grounding context. The context instead describes procedures for a hypothetical FEC decoder, transport framing, and MBMS client behavior. The accompanying Change Request titles indicate a separate, new feature for Layer 1 RSRP reporting on the PUSCH channel, which is unrelated to the LDPC function.

  • CR on L1-RSRP report on PUSCH TS 38.212CR0038
Rel-17 3 changes

In Release 17, the LDPC function itself did not receive new enhancements as per the provided materials. The documented changes instead focused on correcting and clarifying other physical layer procedures, such as the TDRA for multiple PUSCH scheduling and the handling of simultaneous PUCCH and PUSCH transmissions for IIoT. These updates were specified in TS 38.212, but they did not introduce new LDPC coding schemes or decoder specifications.

  • CR on the description of the SRS resource set indication for PUSCH repetition TS 38.212CR0117
  • Correction on TDRA for multiple PUSCH scheduling in TS 38.212 TS 38.212CR0127
  • Corrections for IIoT on simultaneous PUCCH and PUSCH transmission TS 38.300CR0477
Rel-18 2 changes

In Release 18, specific corrections were made to the LDPC-based rate matching procedure when HARQ-ACK is multiplexed with a Configured Grant PUSCH. Additionally, support was enhanced for simultaneous PUSCH and PUCCH transmissions of the same priority on different inter-band cells, impacting the scheduling and resource utilization involving LDPC-encoded channels.

  • Correction on the rate matching when HARQ-ACK multiplexed with CG-PUSCH TS 38.212CR0158
  • Correction in TS 38.300 to support Simultaneous PUSCH and PUCCH transmissions of same priority on different inter-band cells [SimultaneousPUSCH-PUCCH] TS 38.300CR0773
Rel-19 2 changes

In Release 19, the LDPC function saw new application in the multiplexing of UEIRI into PUSCH, as detailed in TS 38.212. Additionally, enhancements were made to support SIB1 PDSCH repetition for FR1 TN, utilizing a common PDCCH repetition framework.

  • CR on UEIRI multiplexed into PUSCH in TS 38.212 TS 38.212CR0244
  • Introduction of SIB1 PDSCH repetition for FR1 TN [Common_PDCCH_rep_TN] TS 38.300CR1085

Explore further

Broader topics and technologies where LDPC plays a role.

Defining Specifications

3GPP specifications that define or reference LDPC, with the latest known release. Sourced from the 3GPP document catalog — see methodology.

SpecificationTitleRelease
TS 26.346 vj20 MBMS User Services Media Codecs & Protocols Rel-19
TS 38.201 vj00 NR Physical Layer General Description Rel-19
TS 38.212 vj10 NR Multiplexing and Channel Coding Rel-19
TS 38.300 vj00 NG-RAN Overall Description Rel-19
TR 38.785 vh00 UE radio transmission for enhanced NR sidelink Rel-17
TR 38.802 ve20 Study on New Radio Access Technology Physical Layer Aspects Rel-14
TR 38.868 vh00 Optimizations of pi/2 BPSK uplink power in NR Rel-17
TR 38.886 vg30 NR V2X UE Radio Transmission & Reception Rel-16
TR 38.889 vg00 NR-based access to unlicensed spectrum study Rel-16
TR 38.912 vj00 Study on New Radio Access Technology Rel-19