Introduction to 5G NR QC-LDPC (1)

What is LDPC?

LDPC code is low density parity check code (Low Density Parity Check Code, LDPC). It is a type of linear block code with sparse check matrix proposed by Dr. Robert G. Gallager in 1963. It not only has a good approach to Shannon limit Performance, low decoding complexity and flexible structure are the research hotspots in the field of channel coding in recent years, and have been widely used in deep space communications, optical fiber communications, satellite digital video and audio broadcasting and other fields.

The LDPC code is defined by the null space of an mxn check matrix H containing a small number of non-zero elements. If the non-zero element in the matrix H is only "1", the LDPC code defined by the null space of the matrix H is called a binary LDPC code, and the definition of a multivariate LDPC code can be obtained in the same way. If the check matrix H has fixed row weight and column weight, then the LDPC code defined by the check matrix is ​​regular, otherwise it is called an irregular LDPC code. The performance of irregular LDPC codes is closely related to the row weight and column weight of H. In order to obtain better performance, the LDPC code needs to restrict the check matrix H in the constructed city, that is, any two rows (two columns) cannot have more than one non-zero element at the same time. This property is called the row and column constraint. .

The typical feature of LDPC code check matrix H is that the density (the proportion of non-zero elements in H) is low. As we all know, for general linear block codes, the optimal decoding algorithm (such as maximum likelihood decoding) is difficult to apply to the actual system due to high complexity, so the optimal decoding performance cannot be obtained. The low-density characteristics of LDPC codes make it suitable for iterative decoding. In many application scenarios, LDPC codes can achieve performance close to maximum likelihood decoding in many areas of interest when using iterative decoding.

Why 5G uses LDPC encoding

So far, the three most influential advanced existing error correction coding methods are Turbo codes, LDPC codes, and polar codes. Therefore, LDPC codes, Turbo codes and Polar codes are designated as data channel candidate error correction by 3GPP. Coding scheme.

Turbo codes have shortcomings in terms of high throughput and error leveling performance; although the BLER performance of Polar codes is very good, the SCL decoding algorithm is too complex when large code blocks are transmitted, and current technology cannot support 20Gbit/s. However, low-complexity algorithms that support high-throughput have a large performance loss; LDPC codes have low decoding complexity and are very suitable for parallel decoding and support high-throughput transmission. Design appropriate LDPC codes With a very low error code platform, it can fully meet the needs of 5G support for high-throughput transmission and reliability.

A properly designed LDPC code has excellent performance, and its channel performance in AWGN is significantly better than that of Turbo codes. The simulation results also show that compared with other candidate schemes, high-rate LDPC codes have the lowest complexity and the best performance. These technical reasons have played an important role in promoting the adoption of LDPC codes by NR as the eMMB data channel coding scheme. At the same time, the research of LDPC code in uRLLC scene has also proved its superiority in performance, and it is also accepted as a data channel coding scheme in NR mixing .

Control channel coding is also very important. Error-correcting coding with excellent performance can significantly improve the overall performance of the system and expand cell coverage. Due to the small number of control signaling bits, LDPC codes and Tubo codes have poor performance when the code length is short. Therefore, LTE uses Tail Biting Convoltioal Colding. TBCC as the channel coding scheme. The complexity of the control channel small packet transmission is acceptable, and the performance is better than TBCC and other schemes, so Polar code is adopted as the control channel error correction coding scheme .

Design of 5G NR LDPC code

Encoding process of LDPC code
FF, t_70)

QC-LDPC code

QC-LDPC (Quasi-Cyslic Low-Density Parity-Check Codes) is the quasi-cyclic LDPC code. The LDPC code is basically a random construction method, and the constructed code has good performance, but the check matrix has irregularities, and there are problems such as the difficulty of storing the check matrix to read and the high coding complexity, which is relatively difficult to implement. Quasi-cyclic LDPC codes are an important subset of structured LDPC codes. The parity check matrix can be divided into multiple square matrices of equal size. Each square matrix is ​​a cyclic shift matrix of the identity matrix or an all-zero matrix, which is very convenient for storage. The storage and addressing of the LDPC code greatly reduces the encoding and decoding complexity of the LDPC code, and the quasi-cyclic LDPC code with a repeated accumulation structure can realize fast encoding of linear complexity. Therefore, most of the LDPC codes currently used in practice use this check matrix construction method.

In view of the excellent characteristics of QC-LDPC, the NR LDPC code also adopts this quasi-cyclic structure.

Kitu

5G NR uses QC-LDPC codes, and BG is the core of the entire LDPC code design. BG is the prerequisite for LDPC code PCM (Parity-Check Matrix, check matrix) design, and also determines the macro characteristics and overall performance of the LDPC code. In 5G NR, in order to meet the needs of different communication scenarios, LDPC codes must be able to flexibly support different code lengths and code rates. At the same time, to improve communication reliability, IR-HARQ is also a feature that LDPC codes must support.

While adopting the LDPC code as the data coding scheme, the 3GPP meeting also decided at the same time to extend the downlink angle codeword of a high code rate PCM to support IR-HARQ and rate matching. At the follow-up meeting, the companies agreed to divide the 5G NR LDPC code PCM as shown in the figure.
Insert picture description here
The basic matrix of the NR LDPC code has five parts, among which the A matrix and the E matrix are matrix arrays composed of a cyclic permutation matrix and an all-zero matrix, the O matrix is ​​an all-zero matrix, and the I matrix is ​​an identity matrix. And matrix A corresponds to system information bits, matrix D corresponds to check information bits, matrix [AD] corresponds to a high-rate LDPC code, matrix [EI] corresponds to extended redundant bits that support IR-HARQ, where the identity matrix I actually Corresponds to a single parity bit with a degree of 1. Therefore, this structure is equivalent to a high-rate LDPC code and multiple single-check codes serially concatenated, and can get an arbitrarily low code rate LDPC check matrix with the increase of the number of rows and columns of the expansion matrix Therefore, the check matrix of the NR LDPC code can support IR-HARQ and flexible coding rate.

After further comparing the BLER of the matrix proposed by each manufacturer, it was finally decided to adopt two independent BGs. The BG2 determined by the standard is slightly special. You can delete some columns in Hcore to realize that the BG size changes with the size of the information block. Specifically, when the information block is less than or equal to 192, the number of columns in Hore is 10; when the information block is greater than 192 and less than 560, the number of columns in Hcore is 12; when the information block is greater than 560 and less than or equal to 640, the number of columns in Hcore It is 13; when the information block is greater than 640, the number of columns in Hcore is 14.

The size of BG1 is 46x68, the size of Hcore is 4x26, and the size of Hext is 42x26. The lowest supported bit rate is 1/3. It is mainly used in scenarios with high throughput requirements, high yard trucks, and long yard length.

The size of BG2 is 42x52, the size of Hcore is 4x14, and the size of Hext is 38x14. It is mainly used in scenarios where the throughput requirements are not high, the code rate is low, and the code length is short.

The first two columns in the 5G NR LDPC code BG belong to the large column weight. The so-called large column weight means that the number of 1 in the two columns is significantly larger than the other columns. The advantage of this is to strengthen the message flow during the decoding process and increase the efficiency of message transfer between the check equations. In the lower right corner is the diagonal matrix, which supports IR-HARQ, and only needs to send more parity bits for each retransmission.

Matrix Hash & PCM

A QC-LDPC code is composed of BG and the corresponding shift factor Z, that is, PCM definition: 1 in BG is replaced with a cyclic shift matrix of size ZxZ, and 0 in BG is replaced with a matrix of all zeros in ZxZ.

The shift value Pij of the cyclic shift matrix indicates that the shift matrix corresponding to the (i, j)th non-zero element in BG is ZxZ shifted to the right Pij times, which is calculated by Pij=mod(Vij, Z), Among them, Vij is the integer corresponding to the position of the (i, j)th non-"0" element in BG, and mod(x,y) means that x is the remainder of y.

In order to support different information block lengths, while considering the trade-off between description complexity and performance, 5G NR defines 8 sets of expansion factors Z, namely Z=ax2^j, where a∈{2,3,5,7,9, 11,13,15}, j=0, 1...5. The value of Z is a positive integer within 2≤Z≤384. These values ​​are divided into 8 sets, and each set corresponds to an a. For each a, 5G NR defines a PCM based on each BG, corresponding to the largest Z in this set. BG1 and BG2 correspond to 8 sets of PCM respectively.

Code block segmentation

Code block segmentation is an important part of channel coding. The size of a TB is often much larger than the maximum number of information bits that can be encoded by a CB, so it is necessary to divide a TB into multiple CBs, and then encode each CB separately to obtain multiple corresponding coded bit sequences.

Rate matching

HARQ is a key technology to improve system throughput, and the RL structure of the LDPC code in the 5G NR system can incrementally generate parity bits, which well supports IR-HARQ and different transmission code rates. On the other hand, the size of the discrete shift factor of the QC-LDPC code also puts some restrictions on the support of the information block size and code length, and additional padding and puncturing are required to achieve rate matching.

The coded bits obtained by rate matching are interleaved and then modulated, that is, bit interleaved coded modulation is another basic guarantee to ensure the stable performance of LDPC codes under high-order modulation and fading channels.

Similar to the LTE Turbo code, 5GNR implements HARQ and rate matching through circular buffering: the coded bits are stored in the circular buffer, and read sequentially from the circular buffer according to the redundancy version during each transmission to achieve rate matching.

In addition, LDPC codes support Limited Buffer Rate Matching (LBRM). For the 2Z system bits corresponding to the large column that needs to be destroyed in the first transmission, the standard stipulates that it will not enter the circular buffer, that is, it will never be transmitted. For each transmission, the read position for rate matching is determined by the redundancy version rv and is an integer multiple of the shift factor Z.

Guess you like

Origin blog.csdn.net/daijingxin/article/details/114766200