What is LDPC?
LDPC is a linear block code defined by a sparse parity-check matrix H. A codeword c satisfies H·cᵀ = 0. Sparsity (most entries are zero) is what makes belief-propagation decoding tractable in hardware. 5G NR specifies LDPC in TS 38.212 §5.3.2 — used for PDSCH, PUSCH, and the corresponding HARQ retransmissions.
Two Base Graphs · BG1 vs BG2
BG1 handles high-rate codes (mother rate 1/3, K_max = 8448 information bits per code-block). BG2 handles low-rate codes (mother rate 1/5, K_max = 3840 bits). The standard chooses between them based on transport-block size and target code rate. BG1 has 46 row-blocks × 68 column-blocks; BG2 has 42 × 52.
Lifting Size Z
Each entry in the base graph is replaced by a Z×Z circulant permutation matrix (or zero matrix). Z is selected from 8 sets {2, 3, 5, 7, 9, 11, 13, 15} × 2^j to match the desired information block length. The lifted parity-check matrix H has dimensions m_b·Z × n_b·Z.
Encoding · Systematic Form
NR LDPC encoding is systematic: the first K bits of the codeword are the information bits u, followed by parity bits computed as P·u. The parity matrix P = -A·B⁻¹ is precomputed once per base graph. Total codeword length N = K/code_rate.
Tanner Graph & Belief Propagation Decoding
The Tanner graph is a bipartite representation: variable nodes (one per codeword bit) and check nodes (one per parity equation). Edges connect a variable node to every check node that includes it. The decoder iteratively passes log-likelihood-ratio messages between nodes — variable-to-check messages combine extrinsic information; check-to-variable messages enforce parity. Min-sum (low-complexity) and sum-product (optimal) are the two common variants. Typical iteration count: 25-50.
Why LDPC Beats Turbo
LDPC parallelism: belief propagation runs concurrently on all variable nodes per iteration — perfectly hardware-friendly. Turbo decoders are inherently serial (component decoders + interleaver loop), creating latency. Result: LDPC enables sub-ms decoding (URLLC requirement); Turbo cannot without unrealistic clock speeds.
LDPC in HARQ
Each retransmission selects a different Redundancy Version (RV ∈ {0, 1, 2, 3}) — different starting positions in the rate-matched bit sequence — that increases the decoder's soft information. The decoder combines the current and prior received soft bits (soft combining: Chase combining or Incremental Redundancy) and re-runs belief propagation.
Frequently Asked Questions
What is the difference between BG1 and BG2 in 5G LDPC?
BG1 is used for high-rate codes (K ≤ 8448 information bits, code rate 1/3 to 8/9). BG2 is used for low-rate codes (K ≤ 3840 bits, code rate 1/5 to 2/3). The base graph is chosen based on transport-block size and target code rate from TS 38.212 §5.3.2.
How does the LDPC decoder work in 5G NR?
It uses belief propagation on the Tanner graph. Variable nodes (one per codeword bit) and check nodes (one per parity equation) iteratively exchange log-likelihood-ratio messages. After 25-50 iterations the algorithm converges on a valid codeword (one that satisfies H·cᵀ = 0).
How is LDPC better than LTE Turbo coding?
LDPC achieves ~10× lower decoding latency due to parallelism. Turbo decoding is inherently serial (component decoders connected through an interleaver). LDPC also has no error floor at high SNR, making it superior for high-throughput links.
What is lifting size Z in 5G NR LDPC?
Lifting size Z is a parameter that expands the base graph into the actual parity-check matrix H. Each entry in the base graph becomes a Z×Z circulant permutation matrix. NR defines 8 sets of Z values to match different information-block lengths.
Where can I learn more about LDPC for 5G?
The CafeTele 5G NR Physical Layer · Advanced course covers LDPC encoding and decoding in detail across multiple lessons (PDSCH-LDPC, HARQ Process, Polar coding for control channels). It includes animated SVG visualizations of the parity-check matrix, Tanner graph, and belief-propagation message passing.