An adaptive iteration method and system for a decoder

By adaptively adjusting the iteration number of the LDPC decoder and optimizing the iteration process based on the signal-to-noise ratio and modulation coding strategy, the power consumption waste caused by a fixed iteration number is solved, and a balance between decoding efficiency and power consumption is achieved.

CN115664432BActive Publication Date: 2026-05-05成都新基讯通信技术有限公司
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
成都新基讯通信技术有限公司
Filing Date
2022-11-04
Publication Date
2026-05-05

AI Technical Summary

Technical Problem

In existing technologies, the number of iterations in LDPC decoders remains constant. This leads to continued iterations when decoding fails in certain channel environments, wasting power, especially when the signal-to-noise ratio is good and the code rate is low.

Method used

The iteration number of the LDPC decoder is adaptively adjusted based on the signal-to-noise ratio and modulation coding strategy. The iteration mode is switched in combination with the bit error rate to optimize the iteration process.

Benefits of technology

While ensuring decoding performance, unnecessary iterations should be reduced to lower the power consumption of mobile terminals and improve decoding efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115664432B_ABST
    Figure CN115664432B_ABST
Patent Text Reader

Abstract

This invention provides a method and system for adaptive iteration count of a decoder, comprising: activating an adaptive iteration function; initializing the decoder and setting the decoder's iteration count to a maximum iteration count; calculating the average MCS value and average signal-to-noise ratio of the physical downlink shared channel within a sliding window; adjusting the decoder's iteration count as the initial iteration count based on the average MCS value and average signal-to-noise ratio; decoding a cell block and recording the actual decoding count used when decoding is successful; calculating the average of the actual decoding count used when the current cell block is successfully decoded and the actual decoding count used when previous cell blocks are successfully decoded within the sliding window; adjusting the current iteration count of the decoder based on the average decoding count, and decoding the next cell block. By dynamically adjusting the maximum iteration count of the LDPC decoder, unnecessary decoding iterations are reduced, UE power consumption is lowered, and a balance between performance and power consumption is achieved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of LDPC decoding technology, and in particular to a method and system for adaptive iteration count of a decoder. Background Technology

[0002] In NR wireless communication systems, the PDSCH encoding and decoding at the UE end uses an LDPC codec. Its decoding principle requires multiple iterations of decoding for each CB (Block Code), with repeated calculations by check and verification nodes to finally determine the decoding result. If the maximum number of iterations is reached and the decoding is still not correct, the decoder will stop decoding and determine that the decoding has failed. LDPC decoding, or low-density parity-check code decoding, is an extremely complex computational process. Each iteration consumes a significant amount of time and power for the UE, especially for mobile terminals where processing time and power consumption are critical metrics. In current technical implementations, the maximum number of iterations for the LDPC decoder is fixed and cannot be dynamically adjusted according to the actual channel environment.

[0003] In real-world environments, especially when the signal-to-noise ratio is good and the code rate of the scheduled data is low, if the LDPC decoding still fails to decode correctly after exceeding the average number of iterations for that scenario, the CB block being decoded may have been subjected to sudden interference leading to data anomalies, or the decoding may have been caused by parameter errors. If the LDPC decoder continues to attempt multiple iterations, it may simply be a waste of power. Summary of the Invention

[0004] This invention provides a method and system for adaptive iteration count of a decoder, aiming to solve the technical problem of high UE power consumption in existing LDPC decoders.

[0005] An adaptive iteration method for a decoder includes:

[0006] Step A1: Activate the adaptive iteration function;

[0007] Step A2: Initialize the decoder and set the number of iterations of the decoder to the maximum number of iterations;

[0008] Step A3: Calculate the average MCS value and average signal-to-noise ratio of the physical downlink shared channel within the sliding window;

[0009] Step A4: Based on the average MCS value and the average signal-to-noise ratio, adjust the number of iterations of the decoder as the initial number of iterations of the decoder;

[0010] Step A5: The decoder decodes the unit block and records the actual number of decoding attempts used when decoding is successful.

[0011] Step A6: Calculate the average number of actual decoding times used when the current cell block is successfully decoded within the sliding window and the number of actual decoding times used when previous cell blocks are successfully decoded.

[0012] Step A7: Adjust the current iteration number of the decoder based on the average number of decoding iterations, and return to step A5 until the decoding is complete.

[0013] Furthermore, step A4 includes:

[0014] Step A41: Determine whether the average signal-to-noise ratio is higher than the first signal-to-noise ratio threshold and whether the average MCS value is lower than the first MCS threshold.

[0015] If the average signal-to-noise ratio is higher than the first signal-to-noise ratio threshold and the corresponding average MCS value is lower than the first MCS threshold, continue to step A42;

[0016] If the average signal-to-noise ratio is not higher than the first signal-to-noise ratio threshold, or the average MCS value is not lower than the first MCS threshold, continue to step A43;

[0017] Step A42: Adjust the number of iterations of the decoder to a first preset multiple of the maximum number of iterations, and continue to step A5;

[0018] Step A43: Determine whether the average signal-to-noise ratio is lower than the second signal-to-noise ratio threshold and whether the average MCS value is lower than the second MCS threshold.

[0019] If the average signal-to-noise ratio is lower than the second signal-to-noise ratio threshold and the average MCS value is lower than the second MCS threshold, then continue to step A44;

[0020] If the average signal-to-noise ratio is not lower than the second signal-to-noise ratio threshold, or the average MCS value is not lower than the second MCS threshold, then continue to step A5;

[0021] Step A44: Adjust the number of iterations of the decoder to a second preset multiple of the maximum number of iterations, and continue to step A5.

[0022] Furthermore, the first preset multiple is less than the second preset multiple.

[0023] Furthermore, the first preset multiple is 0.5.

[0024] Furthermore, the second preset multiple is 0.75.

[0025] Furthermore, in step A7, adjusting the decoder's iteration count based on the average decoding count includes:

[0026] Step A71: Determine if the average number of decoding iterations is higher than the iteration threshold.

[0027] If so, proceed to step A72;

[0028] If not, proceed to step A73;

[0029] Step A72: Increase the number of decoder iterations according to the first preset value;

[0030] Step A73: Reduce the number of decoder iterations according to the second preset value.

[0031] Furthermore, the iteration threshold is a third preset multiple of the initial number of iterations.

[0032] Furthermore, the third preset multiple is 0.8.

[0033] Furthermore, the first preset value is 1, and the second preset value is 1.

[0034] Furthermore, the process of executing steps A5-A7 also includes:

[0035] Step B1: During the decoding process of the decoder, the average bit error rate of the physical downlink shared channel within the sliding window is calculated.

[0036] Step B2: Determine whether the average bit error rate is higher than the third preset value.

[0037] If so, continue to step B3;

[0038] If not, continue to step B4;

[0039] Step B3: If the decoder is currently in adaptive iterative function, switch to normal iterative function and perform decoding; if the decoder is currently in normal iterative function, continue to perform decoding according to normal iterative function.

[0040] Step B4: If the decoder is currently in adaptive iteration function, continue to steps A5-A7 and perform decoding according to the adaptive iteration function. If the decoder is currently in normal iteration function, switch to adaptive iteration function and then perform decoding, and execute steps A1-A7.

[0041] Among them, the normal iteration function means that the number of iterations of the decoder remains unchanged at the maximum number of iterations.

[0042] An adaptive iteration number system for a decoder, using the aforementioned adaptive iteration number method for a decoder, includes:

[0043] Start the module and activate the adaptive iteration function;

[0044] The setup module connects to the startup module and is used to initialize the decoder, setting the decoder's iteration count to the maximum iteration count.

[0045] The first statistics module is used to calculate the average MCS value and average signal-to-noise ratio of the physical downlink shared channel within the sliding window.

[0046] The first adjustment module, which is connected to the setting module and the statistics module respectively, is used to adjust the number of iterations of the decoder as the initial number of iterations of the decoder based on the average MCS value and the average signal-to-noise ratio.

[0047] The decoder, connected to the first adjustment module, is used to decode the cell block using the current iteration number;

[0048] The recording module, connected to the decoder, is used to record the actual number of decoding attempts used when a unit block is successfully decoded.

[0049] The second statistics module, connected to the record module, is used to calculate the actual number of decodings used when the current cell block is successfully decoded within the sliding window, and the average number of decodings used when the previous cell blocks are successfully decoded.

[0050] The second adjustment module, which connects the second statistics module and the decoder, is used to adjust the current iteration number of the decoder based on the average number of decoding iterations.

[0051] The beneficial technical effect of this invention is that by dynamically adjusting the maximum number of iterations of the LDPC decoder, unnecessary decoding iterations are reduced, the power consumption of the UE is lowered, and a balance between performance and power consumption is achieved. Attached Figure Description

[0052] Figure 1 This is a flowchart illustrating the steps of an adaptive iteration method for a decoder according to the present invention.

[0053] Figure 2 This is a flowchart illustrating the steps of adjusting the number of iterations based on the average MCS value and the average signal-to-noise ratio in an adaptive iteration method for a decoder according to the present invention.

[0054] Figure 3 This is a flowchart illustrating the steps of adjusting the number of iterations based on the average number of iterations in an adaptive iteration method for a decoder according to the present invention.

[0055] Figure 4 This is a flowchart illustrating the steps involved in switching between normal iteration and adaptive functions in an adaptive iteration method for a decoder according to the present invention.

[0056] Figure 5 This is a schematic diagram of the module of an adaptive iteration number system for a decoder according to the present invention; Detailed Implementation

[0057] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.

[0058] It should be noted that, unless otherwise specified, the embodiments and features described in the present invention can be combined with each other.

[0059] The present invention will be further described below with reference to the accompanying drawings and specific embodiments, but this is not intended to limit the scope of the invention.

[0060] See Figure 1 This invention provides an adaptive iteration method for a decoder, comprising:

[0061] Step A1: Activate the adaptive iteration function;

[0062] Step A2: Initialize the decoder and set the initial number of iterations to the maximum number of iterations;

[0063] Step A3: Calculate the average MCS value and average signal-to-noise ratio of the physical downlink shared channel within the sliding window;

[0064] Step A4: Adjust the number of iterations of the decoder based on the average MCS value and the average signal-to-noise ratio;

[0065] Step A5: The decoder decodes the unit block and records the actual number of decoding attempts used when decoding is successful.

[0066] Step A6: Calculate the average number of actual decoding times used when the current cell block is successfully decoded within the sliding window and the number of actual decoding times used when previous cell blocks are successfully decoded.

[0067] Step A7: Adjust the number of decoder iterations based on the average number of decoding iterations, then return to step A5 until decoding is complete.

[0068] This invention adaptively adjusts the number of iterations during LDPC decoding based on the real-time wireless environment and decoding data, filtering out unnecessary iterations and further reducing UE power consumption.

[0069] After activating the adaptive iterative function, initialization is performed, setting the LDPC decoder's iteration count to the maximum. The average MCS value, average SNR, and average bit error rate of the PDSCH are calculated. The initial average bit error rate is 0. MCS stands for Modulation and Coding Scheme. SNR stands for Signal-to-Noise Ratio.

[0070] See Figure 2 Furthermore, step A4 includes:

[0071] Step A41: Determine whether the average signal-to-noise ratio is higher than the first signal-to-noise ratio threshold and whether the average MCS value is lower than the first MCS threshold.

[0072] If the average signal-to-noise ratio is higher than the first signal-to-noise ratio threshold and the corresponding average MCS value is lower than the first MCS threshold, continue to step A42;

[0073] If the average signal-to-noise ratio is not higher than the first signal-to-noise ratio threshold, or the average MCS value is not lower than the first MCS threshold, continue to step A43;

[0074] Step A42: Adjust the number of iterations of the decoder to a first preset multiple of the maximum number of iterations, and continue to step A5;

[0075] Step A43: Determine whether the average signal-to-noise ratio is lower than the second signal-to-noise ratio threshold and whether the average MCS value is lower than the second MCS threshold.

[0076] If the average signal-to-noise ratio is lower than the second signal-to-noise ratio threshold and the average MCS value is lower than the second MCS threshold, then continue to step A44;

[0077] If the average signal-to-noise ratio is not lower than the second signal-to-noise ratio threshold, or the average MCS value is not lower than the second MCS threshold, then continue to step A5;

[0078] Step A44: Adjust the number of iterations of the decoder to a second preset multiple of the maximum number of iterations, and continue to step A5;

[0079] Among them, the first signal-to-noise ratio threshold is less than the second signal-to-noise ratio threshold;

[0080] Among them, the first MCS threshold value is less than the second MCS threshold value;

[0081] The first preset multiple is less than the second preset multiple.

[0082] Furthermore, the first preset multiplier is 0.5, and the second preset multiplier is 0.75.

[0083] A sliding window is a window that slides across the window.

[0084] Specifically, the initial number of iterations is set based on the average SNR of PDSCH and the average MCS within the sliding window, and the window length is set to 1000 PDSCH schedulings for sliding window statistics.

[0085] If the average SNR is higher than the first signal-to-noise ratio threshold and the average MCS value is lower than the first MCS threshold, it indicates that the current environment is a high signal-to-noise ratio and low code rate environment with a high success rate of PDSCH decoding. At this time, the number of iterations is adjusted to half of the maximum number of iterations, i.e., 0.5 times, as the initial number of iterations.

[0086] If the average SNR is lower than the second signal-to-noise ratio threshold and the average MCS is lower than the second MCS threshold, it indicates that the current wireless environment has a generally low signal-to-noise ratio, but the scheduled code rate is low and the success rate of PDSCH decoding is high. In this case, the number of iterations is adjusted to 75% of the maximum number of iterations as the initial number of iterations, and the number of iteration attempts is slightly increased to ensure performance.

[0087] In other scenarios, the initial number of iterations should be set to the maximum number of iterations to prioritize performance.

[0088] See Figure 3 Furthermore, in step A7, adjusting the decoder's iteration count based on the average decoding count includes:

[0089] Step A71: Determine if the average number of decoding iterations is higher than the iteration threshold.

[0090] If so, proceed to step A72;

[0091] If not, proceed to step A73;

[0092] Step A72: Increase the number of decoder iterations according to the first preset value;

[0093] Step A73: Reduce the number of decoder iterations according to the second preset value.

[0094] Furthermore, the iteration threshold is a third preset multiple of the initial number of iterations.

[0095] Furthermore, the third preset multiple is 0.8.

[0096] Furthermore, the first preset value is 1, and the second preset value is 1.

[0097] Using the adjusted number of iterations, begin decoding for each CB block, record the number of iterations when each CB is successfully decoded, and after decoding a CB block, calculate the average number of decoding iterations within the sliding window, including the actual number of decoding iterations used for the currently successfully decoded CB block and the actual number of decoding iterations used for the previously successfully decoded CB blocks.

[0098] If the average number of decoding iterations is less than 80% of the initial set number of iterations, it indicates that the current number of iterations for the decoder is set too high. Iterations during decoding errors may be wasting time. In this case, the current number of iterations for the decoder can be reduced. To ensure no performance loss, the current number of decoding iterations is reduced by 1, and the next CB block is decoded.

[0099] If the average number of decoding iterations is higher than 80% of the initial set number of iterations, it means that the current number of iterations of the decoder is set too conservatively, which may result in some performance loss. It is necessary to increase the current number of iterations and decrease the current number of decoding iterations by 1 to decode the next CB block.

[0100] See Figure 4 Furthermore, the process of executing steps A5-A7 also includes:

[0101] Step B1: During the decoding process of the decoder, the average bit error rate of the physical downlink shared channel within the sliding window is calculated.

[0102] Step B2: Determine whether the average bit error rate is higher than the third preset value.

[0103] If so, continue to step B3;

[0104] If not, continue to step B4;

[0105] Step B3: If the decoder is currently in adaptive iterative function, switch to normal iterative function and perform decoding; if the decoder is currently in normal iterative function, continue to perform decoding according to normal iterative function.

[0106] Step B4: If the decoder is currently in adaptive iteration function, continue. Steps A5-A7 are performed to decode using adaptive iteration function. If the decoder is currently in normal iteration function, switch to adaptive iteration function and then execute steps A1-A7 to perform decoding.

[0107] Among them, the normal iteration function means that the number of iterations of the decoder remains unchanged at the maximum number of iterations.

[0108] During steps A5-A7, steps B1-B4 are executed. That is, the average bit error rate is checked during decoding. If the bit error rate is high, the adaptive iteration function is disabled, and the normal iteration function is enabled. After switching to the adaptive iteration function, steps A1-A7 are executed. When continuing decoding using the adaptive iteration function, steps A5-A7 are repeated without restarting.

[0109] The average bit error rate (BER) parameter is placed outside the adaptive iteration function process. The UE must ensure performance while considering power consumption. If the BER is high, the initial iteration number is set to the maximum iteration number, and the adaptive iteration function is enabled only after the BER decreases.

[0110] Specifically, during the decoding process, after a preset number of time slots, the average bit error rate is calculated sequentially, and the average bit error rate within the sliding window is statistically analyzed. The preset number of slots is 1024.

[0111] See Figure 5 The present invention also provides an adaptive iteration number system for a decoder, using an adaptive iteration number method for a decoder as described above, comprising:

[0112] Start module (1) to start the adaptive iteration function;

[0113] The setup module (2) is connected to the startup module (1) to initialize the decoder and set the number of iterations of the decoder to the maximum number of iterations.

[0114] The first statistical module (3) is used to calculate the average MCS value and average signal-to-noise ratio of the physical downlink shared channel within the sliding window;

[0115] The first adjustment module (4) is connected to the setting module (2) and the statistics module (3) respectively, and is used to adjust the number of iterations of the decoder as the initial number of iterations of the decoder according to the average MCS value and the average signal-to-noise ratio.

[0116] The decoder (5) is connected to the first adjustment module (4) and is used to decode the cell block using the current iteration number;

[0117] The recording module (6) is connected to the decoder (5) and is used to record the actual number of decoding attempts used when a unit block is successfully decoded.

[0118] The second statistics module (7) is connected to the record module (6) to calculate the average number of actual decoding times used when the current unit block is successfully decoded within the sliding window and the number of actual decoding times used when the previous unit blocks are successfully decoded.

[0119] The second adjustment module (8) is connected to the second statistics module (7) and the decoder (5) and is used to adjust the current iteration number of the decoder according to the average number of decodings.

[0120] Compared with existing technologies, the advantage of this invention is that it can further reduce the power consumption of the UE while ensuring performance. The entire process is that the UE adaptively adjusts the maximum number of iterations of the LDPC decoder according to the actual wireless environment and decoding performance, and filters out unnecessary iteration processes, thereby further reducing the power consumption of the UE.

[0121] The above are merely preferred embodiments of the present invention and are not intended to limit the implementation methods and protection scope of the present invention. Those skilled in the art should recognize that any equivalent substitutions and obvious changes made based on the description and illustrations of the present invention should be included within the protection scope of the present invention.

Claims

1. An adaptive iteration method for a decoder, characterized in that, include: Step A1: Activate the adaptive iteration function; Step A2: Initialize the decoder and set the number of iterations of the decoder to the maximum number of iterations; Step A3: Calculate the average MCS value and average signal-to-noise ratio of the physical downlink shared channel within the sliding window; Step A4: Adjust the number of iterations of the decoder as the initial number of iterations of the decoder based on the average MCS value and the average signal-to-noise ratio; Step A5: The decoder decodes the unit block and records the actual number of decoding attempts used when decoding is successful. Step A6: Calculate the average number of actual decoding times used when the current cell block is successfully decoded within the sliding window and the number of actual decoding times used when previous cell blocks are successfully decoded. Step A7: Adjust the current iteration number of the decoder according to the average number of decoding iterations, and return to step A5 until the decoding is completed; Step A4 includes: Step A41: Determine whether the average signal-to-noise ratio is higher than the first signal-to-noise ratio threshold and whether the average MCS value is lower than the first MCS threshold. If the average signal-to-noise ratio is higher than the first signal-to-noise ratio threshold and the average MCS value is lower than the first MCS threshold, continue to step A42; If the average signal-to-noise ratio is not higher than the first signal-to-noise ratio threshold, or the average MCS value is not lower than the first MCS threshold, continue to step A43; Step A42: Adjust the number of iterations of the decoder to a first preset multiple of the maximum number of iterations, and continue with step A5; Step A43: Determine whether the average signal-to-noise ratio is lower than the second signal-to-noise ratio threshold, and whether the average MCS value is lower than the second MCS threshold. If the average signal-to-noise ratio is lower than the second signal-to-noise ratio threshold and the average MCS value is lower than the second MCS threshold, then continue to step A44; If the average signal-to-noise ratio is not lower than the second signal-to-noise ratio threshold, or the average MCS value is not lower than the second MCS threshold, then continue with step A5; Step A44: Adjust the number of iterations of the decoder to a second preset multiple of the maximum number of iterations, and continue with step A5.

2. The adaptive iteration method for a decoder as described in claim 1, characterized in that, in, The first preset multiple is less than the second preset multiple.

3. The adaptive iteration method for a decoder as described in claim 1, characterized in that, The first preset multiple is 0.5, and the second preset multiple is 0.

75.

4. The adaptive iteration method for a decoder as described in claim 1, characterized in that, In step A7, adjusting the number of iterations of the decoder based on the average number of decoding iterations includes: Step A71: Determine whether the average number of decoding iterations is higher than the iteration threshold. If so, proceed to step A72; If not, proceed to step A73; Step A72: Increase the number of iterations of the decoder according to the first preset value; Step A73: Reduce the number of iterations of the decoder according to the second preset value.

5. The adaptive iteration method for a decoder as described in claim 4, characterized in that, The iteration threshold is a third preset multiple of the initial iteration number.

6. The adaptive iteration method for a decoder as described in claim 5, characterized in that, The third preset multiple is 0.

8.

7. The adaptive iteration method for a decoder as described in claim 4, characterized in that, The first preset value is 1, and the second preset value is 1.

8. The adaptive iteration method for a decoder as described in claim 1, characterized in that, The process of performing steps A5-A7 also includes: Step B1: During the decoding process of the decoder, the average bit error rate of the physical downlink shared channel within the sliding window is calculated. Step B2: Determine whether the average bit error rate is higher than a third preset value. If so, continue to step B3; If not, continue to step B4; Step B3: If the decoder is currently in the adaptive iteration function, then switch to the normal iteration function and perform decoding; if the decoder is currently in the normal iteration function, then continue to perform decoding according to the normal iteration function. Step B4: If the decoder is currently in the adaptive iteration function, then continue with steps A5-A7; if the decoder is currently in the normal iteration function, then switch to the adaptive iteration function and execute steps A1-A7. The normal iteration function refers to the decoder maintaining the maximum number of iterations.

9. An adaptive iteration number system for a decoder, characterized in that, An adaptive iteration method for a decoder as described in any one of claims 1-8 includes: Start the module and activate the adaptive iteration function; The setup module, connected to the startup module, is used to initialize the decoder and set the number of iterations of the decoder to the maximum number of iterations. The first statistics module is used to calculate the average MCS value and average signal-to-noise ratio of the physical downlink shared channel within the sliding window. The first adjustment module, connected to the setting module and the statistics module respectively, is used to adjust the number of iterations of the decoder as the initial number of iterations of the decoder based on the average MCS value and the average signal-to-noise ratio. A decoder, connected to the first adjustment module, is used to decode the cell block using the current iteration number; A recording module, connected to the decoder, is used to record the actual number of decoding attempts used when the unit block is successfully decoded. The second statistics module, connected to the recording module, is used to calculate the average number of actual decoding times used when the current unit block is successfully decoded within the sliding window and the average number of actual decoding times used when the previous unit blocks are successfully decoded. The second adjustment module, connected to the second statistics module and the decoder, is used to adjust the current iteration number of the decoder based on the average number of decoding iterations.

Citation Information

Patent Citations

  • LDPC (Low Density Parity Check) code self-adaptive demodulation coding device

    CN102611649A

  • Sliding window decoding method and device for space coupling LDPC code

    CN112134571A