A fast layered decoding method for LDPC codes
By judging and setting static layers layer by layer in LDPC layered decoding, the bottleneck of decoder processing speed in traditional methods is solved, achieving a more efficient decoding process, improving throughput and reducing power consumption.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- WHITE BOX (SHANGHAI) MICROELECTRONICS TECH CO LTD
- Filing Date
- 2026-04-30
- Publication Date
- 2026-08-04
AI Technical Summary
Traditional LDPC layered decoding methods can bottleneck the decoder's processing speed when the number of iterations is large, and the large amount of computation also affects the decoder's processing efficiency.
The decoding and updating are performed layer by layer. Before updating, it is determined whether the current layer is a static layer. If it is not a static layer, the decoding and updating are performed and the number of bit flips is counted. If it is less than a set threshold, it is set as a static layer. Static layers are not updated in subsequent iterations. The number of bit flips is used as a criterion to mark static layers to reduce the amount of computation.
It effectively improves the decoding speed, reduces power consumption, and achieves a trade-off between decoding performance and throughput without increasing processing latency.
Smart Images

Figure CN122512934A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of channel coding and decoding technology, and in particular to a fast LDPC layered decoding method. Background Technology
[0002] In the LDPC layered decoding scheduling scheme, the decoder updates the parity check matrix layer by layer. After each layer of parity check nodes is processed, the variable node information is updated immediately. When the next layer of parity check nodes is processed, the variable node information updated by the previous layer can be used. When all layer parity check nodes are updated, one iteration of decoding is completed.
[0003] The 5G NR LDPC design uses two parity check matrices, BG1 and BG2. BG1 has 46 layers and BG2 has 42 layers. In traditional schemes, in each iteration, the decoder needs to process and update the relevant layers according to the length of the transmitted parity information. Each layer update involves the calculation of a large number of variable node information. When the number of iterations is large, it will create a bottleneck for the decoder's processing speed. Summary of the Invention
[0004] The technical problem to be solved by the present invention is to provide a fast LDPC layered decoding method, which can effectively improve the processing speed of the decoder.
[0005] The technical solution adopted by this invention to solve its technical problem is: to provide a fast LDPC layered decoding method, comprising: Performing LDPC layered decoding, for any iteration during layered decoding: Decode and update layer by layer, and determine whether the current layer is a static layer before decoding and updating; If the current layer is not a static layer, then the current layer is decoded and updated and it is determined whether a bit flip has occurred. If a bit flip has occurred, the number of bit flips is counted and compared with a first set threshold. If the number of bit flips is less than the first set threshold, the current layer is set as a static layer. If no bit flip has occurred, the current layer is set as a static layer. If the current layer is a static layer, then no decoding update will be performed on the current layer.
[0006] Furthermore, it is determined whether a bit flip has occurred based on the soft information before and after the update corresponding to the variable nodes associated with the current layer.
[0007] Furthermore, the step of determining whether a bit flip has occurred based on the pre-update soft information and post-update soft information corresponding to the variable nodes associated with the current layer includes: Hard decisions are made for the soft information before and after the update corresponding to the variable nodes associated with the current layer. If the bits of the hard decision in the soft information before and after the update are inconsistent, it is considered that a bit flip has occurred in the current layer.
[0008] Furthermore, the step of determining whether a bit flip has occurred based on the pre-update soft information and post-update soft information corresponding to the variable nodes associated with the current layer includes: If the absolute value of the difference between the soft information before and after the update of the variable node associated with the current layer is greater than the second set threshold, then the current layer is considered to have undergone a bit flip.
[0009] Furthermore, the soft information is the log-likelihood ratio.
[0010] Beneficial effects By adopting the above-mentioned technical solution, this invention has the following advantages and positive effects compared with the prior art: This invention can accelerate the decoding process, effectively improve the throughput and reduce the power consumption of the decoder when the number of iterations is configured to be high; in addition, by flexibly configuring the bit flipping threshold, a trade-off between decoding performance and throughput can be achieved; since the static layer judgment of the current layer can be performed in parallel with the decoding processing of the next layer without breaking the decoding pipeline, no additional processing delay will be added. Attached Figure Description
[0011] Figure 1 This is a flowchart illustrating an embodiment of the present invention; Figure 2 This is a schematic diagram illustrating the principle of LDPC layered decoding; Figure 3 This is a flowchart illustrating the traditional LDPC layered decoding process; Figure 4 This is a comparison chart of BLER performance curves; Figure 5 This is a comparison chart of time delay simulation curves. Detailed Implementation
[0012] The present invention will be further illustrated below with reference to specific embodiments. It should be understood that these embodiments are for illustrative purposes only and are not intended to limit the scope of the invention. Furthermore, it should be understood that after reading the teachings of this invention, those skilled in the art can make various alterations or modifications to the invention, and these equivalent forms also fall within the scope defined by the appended claims.
[0013] The embodiments of the present invention relate to a fast LDPC layered decoding method, such as... Figure 1 As shown, it includes: Performing LDPC layered decoding, for any iteration during layered decoding: Decode and update layer by layer, and determine whether the current layer is a static layer before decoding and updating; If the current layer is not a static layer, then the current layer is decoded and updated and it is determined whether a bit flip has occurred. If a bit flip has occurred, the number of bit flips is counted and compared with a first set threshold. If the number of bit flips is less than the first set threshold, the current layer is set as a static layer. If no bit flip has occurred, the current layer is set as a static layer. If the current layer is a static layer, then no decoding update will be performed on the current layer.
[0014] Taking a three-layer parity check matrix as an example, the core information transmission logic of LDPC layered decoding is as follows: Figure 2 As shown in the figure, the diagonal lines represent the non-zero elements of the parity check matrix (corresponding to the connection relationship between the parity check node and the variable node). Each layer corresponds to a row of the 5GLDPC basis matrix (BG), and the column weight within the layer is 1, supporting parallel computing.
[0015] During decoding, the process proceeds layer by layer in the order of first layer → second layer → third layer. After each layer completes the calculation of the verification node, it immediately updates the posterior probability information of the corresponding variable node. The updated information is directly passed to the next layer for use. It does not need to wait for all layers of the entire iteration to complete the processing before updating the information. Compared with traditional flooding scheduling, the convergence speed is faster, making it the mainstream engineering scheduling scheme for 5G LDPC decoding.
[0016] Traditional 5G NR LDPC layered decoding process as follows Figure 3 As shown, its layer-by-layer processing logic includes: Perform a decoding update on the current layer; After the update is complete, the hierarchical index is incremented by 1; Determine if all layers have been processed. If not, continue processing the next layer. If all layers have been processed, proceed to the next iteration, until the maximum number of iterations is reached.
[0017] In each iteration of a traditional decoding scheme, the decoder needs to process and update the relevant layers according to the length of the transmitted check information. Each layer update involves the calculation of a large amount of variable node information. When the number of iterations is large, it will create a bottleneck for the decoder's processing speed.
[0018] Because LDPC decoding error correction relies on the checksum relationship between variable nodes in each layer, when a bit flip occurs in the associated variable node of each layer before and after the decoding update, it indicates that the checksum relationship of that layer has corrected the variable node error. A higher number of bit flips indicates that the layer is performing extensive error correction, making the variable node information unreliable; conversely, a lower number of bit flips indicates that the variable node information of that layer is relatively reliable.
[0019] Therefore, in this embodiment, the number of bit flips is used as a criterion to label the static layer. In subsequent iterative decoding, the static layer can be skipped, reducing the processing delay of decoding, thereby effectively improving the processing rate of the decoder. The main steps are as follows: Statistics of the number of bit flips: Before and after the update of the variable nodes of each layer in each iteration, count the number of bit flips: respectively perform hard decisions on the soft information llr0 before update and the soft information llr1 after update corresponding to the variable nodes associated with each layer. When the bits of the hard decisions are inconsistent, it is considered that a bit flip has occurred, and count the number of bit flips generated by this layer: flap_num; Optionally, to protect the decoding performance, a threshold delta_th is set at the same time. When the bits of the hard decisions are inconsistent, or the difference between the soft information before and after update delta = abs(llr1 - llr0)>delta_th, it is considered that a bit flip has occurred, and count the number of bit flips generated by this layer: flap_num.
[0020] Set the threshold flap_th of the number of bit flips. When the number of bit flips generated by this layer is less than the threshold: flap_num < flap_th, it is considered that the parity check relationship of this layer is reliable and can be set as a static layer, set bypass_flag = 1, otherwise bypass_flag = 0; In subsequent iterative decoding, when bypass_flag = 1 for a certain layer, the update of the variable nodes of this layer is not performed.
[0021] In some embodiments, the static layer can be set by constructing a static layer set, and an initially empty static layer set is added in the initialization stage to record the layers that have been determined to be reliable and do not need to be processed in subsequent iterations.
[0022] The overall framework of the iteration is the same as the traditional process, but a judgment is added before processing each layer: If the current layer l is already in the static layer set, directly skip the update of this layer, increment the hierarchical index by 1, and process the next layer; If the current layer is not in the static layer set, first complete the decoding update of this layer normally, and then count the number of bit flips flap_num of this layer.
[0023] If flap_num is less than the preset threshold flap_th, it means that the variable nodes of this layer are already reliable enough and do not need to be updated in subsequent iterations. Add this layer to the static layer set; otherwise, keep it in the set of pending processing.
[0024] In subsequent iterations, the layers in the static layer set will be directly bypassed and do not need to perform calculations anymore, thereby reducing the amount of calculation and the decoding delay.
[0025] Example 1: Bit flip count statistics: Before and after updating the variable nodes of each layer in each iteration, count the number of bit flips: perform hard decisions on the soft information llr0 before update and the soft information llr1 after update corresponding to the variable nodes associated with each layer respectively. When the bits after hard decision are inconsistent, it is considered that a bit flip has occurred, and count the number of bit flips generated by this layer: flap_num; Set the threshold of the number of bit flips: flap_th. When the number of bit flips generated by this layer is less than the threshold: flap_num < flap_th, it is considered that the parity check relationship of this layer is reliable and can be set as a static layer, set bypass_flag = 1, otherwise bypass_flag = 0; In subsequent iterative decoding, when bypass_flag = 1 for a certain layer, the update of the variable nodes of this layer is not performed.
[0026] Example 2: Bit flip count statistics: Set the threshold delta_th. Before and after updating the variable nodes of each layer in each iteration, count the number of bit flips: perform hard decisions on the soft information llr0 before update and the soft information llr1 after update corresponding to the variable nodes associated with each layer respectively. When the bits after hard decision are inconsistent, or the difference between the soft information before and after update delta = abs(llr1 - llr0)>delta_th, it is considered that a bit flip has occurred, and count the number of bit flips generated by this layer: flap_num; Set the threshold of the number of bit flips: flap_th. When the number of bit flips generated by this layer is less than the threshold: flap_num < flap_th, it is considered that the parity check relationship of this layer is reliable and can be set as a static layer, set bypass_flag = 1, otherwise bypass_flag = 0; In subsequent iterative decoding, when bypass_flag = 1 for a certain layer, the update of the variable nodes of this layer is not performed.
[0027] Taking the hierarchical decoding simulation of LDPC code type 5G NR BG2, code length 1000, code rate 0.5, and modulation method QPSK as an example, set the number of iterations to 8, and the thresholds flap_th of the number of bit flips are 10, 5, 2, and 1 respectively.
[0028] The BLER performance curve is as Figure 4As shown, the horizontal axis represents the signal-to-noise ratio (SNR), and the vertical axis represents the block error rate (BLER). The red curve represents the performance of the traditional layered decoding scheme, while the other curves represent the performance of this implementation scheme under different flap_th values.
[0029] The comparison shows that the smaller the flap_th, the closer the BLER performance of this implementation is to the traditional scheme: for example, when flap_th=1, only layers without bit flips are judged as static layers, resulting in minimal performance loss; while the larger the flap_th, the easier it is to judge layers that have not yet fully converged as static layers and skip them, leading to insufficient error correction and more obvious performance loss.
[0030] The time delay simulation curve is as follows Figure 5 As shown, the horizontal axis represents the signal-to-noise ratio (SNR), and the vertical axis represents the ratio of the decoding delay of this embodiment to the delay of the traditional scheme. The smaller the value, the better the acceleration effect and the lower the delay.
[0031] The comparison shows that a larger `flap_th` results in better acceleration: for example, `flap_th=10` has the lowest latency ratio, and latency can be reduced to about 80% of the original solution under high SNR, because a higher threshold makes it easier to determine that a layer is a static layer, skipping more computations; while a smaller `flap_th` results in slightly weaker acceleration, but... Figure 4 The performance loss is also smaller.
[0032] It is easy to see that by adjusting the threshold, the decoding latency can be effectively reduced with limited loss of decoding performance.
Claims
1. A fast layered decoding method for LDPC, characterized in that, include: For LDPC layered decoding, for any iteration during layered decoding: decode and update layer by layer, and determine whether the current layer is a static layer before decoding and updating; If the current layer is not a static layer, then the current layer is decoded and updated and it is determined whether a bit flip has occurred. If a bit flip has occurred, the number of bit flips is counted and compared with a first set threshold. If the number of bit flips is less than the first set threshold, the current layer is set as a static layer. If no bit flip has occurred, the current layer is set as a static layer. If the current layer is a static layer, then no decoding update will be performed on the current layer.
2. The decoding method according to claim 1, characterized in that, Whether a bit flip has occurred is determined based on the soft information before and after the update corresponding to the variable node associated with the current layer.
3. The decoding method according to claim 2, characterized in that, The step of determining whether a bit flip has occurred based on the pre-update soft information and post-update soft information corresponding to the variable nodes associated with the current layer includes: Hard decisions are made for the soft information before and after the update corresponding to the variable nodes associated with the current layer. If the bits of the hard decision in the soft information before and after the update are inconsistent, it is considered that a bit flip has occurred in the current layer.
4. The decoding method according to claim 2, characterized in that, The step of determining whether a bit flip has occurred based on the pre-update soft information and post-update soft information corresponding to the variable nodes associated with the current layer includes: If the absolute value of the difference between the soft information before and after the update of the variable node associated with the current layer is greater than the second set threshold, then the current layer is considered to have undergone a bit flip.
5. The decoding method according to claim 4, characterized in that, The soft information is the log-likelihood ratio.