# LDPC Coding in NR

### Introduction

Low-density parity-check (LDPC) codes are a type of error-correcting code that is widely used in communication systems, including the 5G New Radio (NR) standard. LDPC codes are attractive for communication systems because they provide high performance in terms of error correction with low complexity.

In this article, we will discuss the technical aspects of LDPC coding in NR, including the LDPC code construction, encoding, and decoding processes. We will also cover the performance of LDPC codes in NR and how they are used in the 5G standard.

### LDPC Code Construction

LDPC codes are constructed from a sparse parity-check matrix, H, which is a matrix of 0s and 1s. The matrix H has n columns, which correspond to the n bits of the code, and m rows, which correspond to the m parity checks.

The LDPC code is constructed such that the parity-check matrix has a low density of 1s. This sparsity is achieved by selecting a subset of the columns and rows from a larger matrix that has a higher density of 1s. The sparsity of the matrix allows for efficient encoding and decoding of the code.

The selection of the columns and rows of the matrix is based on a set of rules, known as the Tanner graph. The Tanner graph is a bipartite graph that represents the connections between the code bits and parity checks. The rows of the matrix correspond to the parity checks, while the columns correspond to the code bits. The edges in the graph represent the connections between the code bits and parity checks.

### LDPC Encoding

LDPC encoding is the process of generating a codeword from an input bit sequence using the parity-check matrix. The encoding process is a matrix multiplication between the input bit sequence and the parity-check matrix, which generates the parity bits that are added to the input bits to form the codeword.

The encoding process can be represented as follows:

C = [I P] x H

where C is the codeword, I is the input bit sequence, P is the parity bits, and H is the parity-check matrix.

### LDPC Decoding

LDPC decoding is the process of recovering the original input bit sequence from a received codeword that may have errors. The decoding process involves iterative computations on the Tanner graph, where each node in the graph represents a bit in the code, and each edge represents a parity check.

The decoding process involves two steps: message passing and decision making. In the message passing step, the received codeword is used to calculate the log-likelihood ratio (LLR) of each bit in the code. The LLR represents the probability that the bit is a 1 or a 0, given the received codeword.

The LLR is used to update the messages on the edges of the Tanner graph. This update process is repeated several times until convergence is achieved, which indicates that the decoded bit sequence has been found.

In the decision-making step, the decoded bit sequence is generated from the updated messages on the Tanner graph. The decision is based on a threshold value, which determines whether a bit is a 1 or a 0.

### LDPC Performance in NR

LDPC codes are used in the NR standard for channel coding, which is the process of adding redundancy to the data to enable error correction in the presence of noise and interference. The LDPC codes used in NR are designed to provide high performance in terms of error correction with low complexity.

The performance of LDPC codes in NR is evaluated using a variety of metrics, including the block error rate (BLER) and the spectral efficiency (SE). The BLER is a measure of the probability of error in the received data, while the SE is a measure of the efficiency of the channel, which is the amount of information that can be transmitted per unit of time and bandwidth.

The performance of LDPC codes in NR is influenced by a variety of factors, including the code rate, block size, and modulation scheme. The code rate is the ratio of the number of information bits to the total number of bits in the code, and it determines the amount of redundancy added to the data. The block size is the number of bits in a block of data that is encoded by the LDPC code. The modulation scheme is the way in which the data is mapped to the physical layer signals.

In NR, LDPC codes are used for both control and data channels. The control channels are used for transmitting control information, such as synchronization and channel state information. The data channels are used for transmitting user data.

LDPC codes are used in the control channels to provide high reliability and low latency. The control channels use short block lengths and high code rates to ensure fast and reliable transmission of control information. The LDPC codes used in the control channels in NR are designed to provide a BLER of less than 10^-2 with a code rate of 0.1 to 0.4.

LDPC codes are also used in the data channels in NR to provide high spectral efficiency and low complexity. The data channels use longer block lengths and lower code rates to enable high data rates. The LDPC codes used in the data channels in NR are designed to provide a BLER of less than 10^-5 with a code rate of 0.1 to 0.5.

LDPC codes are used in conjunction with other channel coding schemes in NR, including polar codes and convolutional codes. Polar codes are used for the control channels in NR, while convolutional codes are used for the data channels in certain cases, such as when high reliability is required.

### Conclusion

LDPC coding is an important aspect of the 5G NR standard, providing high performance in terms of error correction with low complexity. LDPC codes are used in both the control and data channels in NR, providing high reliability and low latency for control information and high spectral efficiency and low complexity for user data.

The LDPC codes used in NR are designed to provide a high level of performance in terms of error correction with low complexity, and they are used in conjunction with other channel coding schemes, such as polar codes and convolutional codes, to achieve the desired performance characteristics.

Overall, LDPC coding is a crucial component of the 5G NR standard, enabling high-speed and reliable communication in the presence of noise and interference.