A decoding method of a low-density parity-check code, an electronic device, and a storage medium

CN122249997APending Publication Date: 2026-06-19HONOR DEVICE CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
HONOR DEVICE CO LTD
Filing Date
2024-07-23
Publication Date
2026-06-19

AI Technical Summary

Technical Problem

In a communication system, during the decoding process of low-density parity check code, the setting of the maximum number of iterations directly affects the decoding performance and data throughput. However, the prior art is difficult to reduce the bit error rate and data retransmission of LDPC decoding while meeting the communication performance requirements.

Method used

By obtaining the processor model and system computing capability information of the user terminal, and combining the decoding time of the LDPC decoding test case, dynamically match the maximum number of iterations of LDPC decoding to achieve adaptive adjustment, and while meeting the communication performance requirements, the bit error rate and data retransmission times are reduced.

🎯Benefits of technology

On the premise of meeting the communication performance requirements of the communication system, the bit error rate of LDPC decoding and the number of data retransmissions are reduced, the data throughput is improved, and communication is avoided.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122249997A_ABST
    Figure CN122249997A_ABST
Patent Text Reader

Abstract

This application provides a low-density parity-check (LDPC) decoding method, electronic device, and storage medium, relating to the field of communication technology. The method includes: obtaining the processor model of a user terminal and matching the system computing power information corresponding to the processor model; obtaining the decoding time of a first test case corresponding to a LDPC decoding test case; obtaining the maximum number of iterations based on the system computing power information and the first test case decoding time; and performing LDPC decoding based on the maximum number of iterations when data to be decoded is received. In this application, the maximum number of iterations is determined collaboratively by combining system computing power information and test case decoding time, allowing LDPC decoding to be performed using this maximum number of iterations. This satisfies the communication performance requirements of the communication system while reducing the bit error rate of LDPC decoding to a certain extent, thereby reducing the number of data retransmissions.
Need to check novelty before this filing date? Find Prior Art

Description

A decoding method for low-density parity check code, electronic device and storage medium

[0001] This invention claims priority from the Chinese patent application filed with the State Intellectual Property Office of the People's Republic of China on November 21, 2023, with application number 202311563132.0 and application name "A decoding method, electronic device and storage medium for low-density parity-check codes". Technical Field

[0002] The present application relates to the field of communication technology, and in particular to a decoding method for a low-density parity-check code, an electronic device, and a storage medium. Background Art

[0003] In communication systems, interference from noise, fading, and multipath in transmission channels inevitably introduces distortion and signal errors into transmitted data. Channel coding technology adds redundant symbols to the information sequence to detect and correct signal errors that occur during transmission, thereby improving system reliability. Low-Density Parity-Check (LDPC) codes are a high-performance channel codec that can approach the Shannon limit. They have been standardized in 5G systems and will continue to be used and optimized in future 6G systems.

[0004] Common LDPC decoding algorithms can be summarized as information-passing algorithms, essentially iterative algorithms. In LDPC decoding algorithms, the maximum number of iterations directly impacts decoding performance. Under the same channel conditions, a higher maximum number of iterations lowers the LDPC decoding error rate, resulting in fewer data retransmissions. However, communication systems impose strict processing time slot requirements on both the transmitter and receiver. In practice, a higher number of LDPC iterations increases the time taken for decoding, reducing data throughput and even causing the communication system to lose synchronization due to inability to complete decoding in a timely manner.

[0005] Summary of the Invention

[0006] The present application provides a low-density parity-check code decoding method, electronic device, and storage medium, which can reduce the bit error rate of LDPC decoding to a certain extent while meeting the communication performance requirements of the communication system.

[0007] To achieve the above objectives, this application adopts the following technical solutions:

[0008] In a first aspect, the present application provides a method for decoding low-density parity-check codes, comprising: obtaining a processor model of a user terminal and matching it with system computing capability information corresponding to the processor model; obtaining a first use case decoding time corresponding to a low-density parity check (LDPC) decoding test case; obtaining a maximum number of iterations based on the system computing capability information and the first use case decoding time; and performing LDPC decoding based on the maximum number of iterations when receiving data to be decoded. Regarding the system computing capability information, the higher the system computing capability information of the user terminal, the faster the LDPC decoding speed per iteration. While ensuring communication performance, user terminals with higher system computing capability information are matched with a larger maximum number of iterations. Regarding the use case decoding time, a shorter use case decoding time indicates a faster LDPC decoding speed. While meeting the communication system's performance requirements, user terminals with shorter use case decoding times are matched with a larger maximum number of iterations. By combining the system computing capability information and the first use case decoding time to collaboratively match the maximum number of iterations, the user terminal achieves a certain degree of reduction in the LDPC decoding bit error rate while still meeting communication performance requirements, thereby reducing the number of data retransmissions.

[0009] In one possible implementation, there are multiple LDPC decoding test cases. Decoding times corresponding to each of the multiple LDPC decoding test cases are obtained, and a first case decoding time is obtained based on the multiple decoding times. Using multiple LDPC decoding test cases, the LDPC decoding time consumed by a user terminal in different scenarios can be obtained, making the obtained case decoding time more accurate to actual conditions.

[0010] In one possible implementation, system computing capability information and a maximum number of iterations corresponding to a decoding time for a first use case are obtained based on an iteration matching table. Matching the maximum number of iterations for LDPC decoding to the pre-set iteration matching table simplifies the maximum number of iteration matching process. Furthermore, a unified iteration matching table can be used for different user terminals, allowing for matching the corresponding maximum number of iterations using a unified matching rule.

[0011] In one possible implementation, a first iteration count corresponding to the system computing capability information is matched based on an iteration count matching table; a second iteration count corresponding to the decoding time is matched based on the iteration count matching table; and a maximum iteration count corresponding to the system computing capability information and the decoding time of the first use case is determined based on the first and second iteration counts. The iteration counts corresponding to the system computing capability information and the decoding time of the use case are matched, and the smaller of the two iteration counts is selected as the maximum iteration count, ensuring that the selected maximum iteration count satisfies both the system computing capability information and the decoding time of the use case.

[0012] In one possible implementation, a maximum number of iterations corresponding to the system computing capability information is selected from an iteration count matching table; a maximum number of iterations corresponding to the decoding time is selected from the maximum number of iterations collection; or a maximum number of iterations corresponding to the decoding time of the first use case is selected from the iteration count matching table; and a maximum number of iterations corresponding to the system computing capability information is selected from the maximum number of iterations collection. A maximum number of iterations set is determined based on the system computing capability information or the use case decoding time, and then a maximum number of iterations is determined from the maximum number of iterations collection based on the use case decoding time or the system computing capability information. This ensures that the selected maximum number of iterations satisfies both the system computing capability information and the use case decoding time.

[0013] In one possible implementation, system computing capability information and a first use case decoding time are sent to a network device, allowing the network device to determine a maximum number of iterations based on the system computing capability information and the first use case decoding time, and return the maximum number of iterations. The corresponding system computing capability information and the first use case decoding time are sent to the network device, which then matches the maximum number of iterations based on the system computing capability information and the first use case decoding time, and sends the result to the user terminal, thereby reducing computing resource usage of the user device.

[0014] In one possible implementation, when data to be decoded is received, LDPC iterative decoding begins based on a maximum number of iterations. LDPC iterative decoding ends when the maximum number of iterations is reached, or when the LDPC iterative decoding result passes verification. The iterative termination condition has been improved to: when the maximum number of iterations is reached, matching the system's computing power and the decoding time of the first use case, or when the LDPC iterative decoding result passes verification. This no longer uses a fixed maximum number of iterations as the terminating condition.

[0015] In one possible implementation, a timer starts when LDPC iterative decoding begins. During the LDPC iterative decoding process, the timer is checked for expiration. If the timer expires, the maximum number of iterations is adjusted, and LDPC iterative decoding is performed based on the adjusted maximum number of iterations. The timer is used to detect whether the system load of the user terminal has increased. If the system load increases, the LDPC iterative decoding time will increase, potentially affecting communication performance. The maximum number of iterations is then readjusted to ensure communication performance.

[0016] In one possible implementation, a second case decoding time corresponding to an LDPC decoding test case is obtained; a maximum number of iterations is re-derived based on system computing capability information and the second case decoding time; and the maximum number of iterations is adjusted to the re-derived maximum number of iterations. When a timer expires, the LDPC decoding test case is re-run to re-derive the second case decoding time, and the corresponding maximum number of iterations is re-matched based on the second case decoding time. This ensures that the re-matched maximum number of iterations maintains communication performance even when the user terminal system load increases.

[0017] In one possible implementation, when the timer has not timed out and the LDPC iterative decoding is completed, the timer is cleared. When the timer has not timed out, the timer is cleared when the LDPC iterative decoding is completed, so that the timer can be counted again during the next LDPC iterative decoding.

[0018] In one possible implementation, the method is applied to a first user terminal. A second user terminal receives the data to be decoded and forwards it to the first user terminal. The first user terminal performs LDPC iterative decoding on the data to be decoded based on a maximum number of iterations, obtains a decoding result of the LDPC iterative decoding, and returns the decoding result of the LDPC iterative decoding to the second user terminal. In a collaborative decoding scenario, when other user terminals receive data packets to be decoded, they send the data packets to the user terminal. The user terminal performs LDPC iterative decoding on the data packets to be decoded based on the matched maximum number of iterations, obtains an LDPC decoding result, and feeds the LDPC decoding result back to the other user terminals, thereby enabling collaborative decoding between the user terminal and the other user terminals. Furthermore, since the system computing capability information of the other user terminals is inferior to that of the user terminal, the LDPC decoding performance of the other user terminals is improved.

[0019] In one possible implementation, a processor model of the user terminal is obtained in response to an initialization operation of the user terminal. Obtaining the processor model of the user terminal in response to the initialization operation of the user terminal eliminates the need to match the maximum number of iterations each time LDPC iterative decoding is performed, thereby reducing redundant waste of computing resources of the user terminal.

[0020] In a second aspect, the present application provides an electronic device comprising a processor and a memory; the memory stores computer-executable instructions; the processor executes the computer-executable instructions stored in the memory, so that the processor executes the method of the first aspect above.

[0021] In a third aspect, the present application provides a computer-readable storage medium, in which a computer program or instruction is stored. When the computer program or instruction is executed, the method of the first aspect described above is implemented.

[0022] In a fourth aspect, the present application provides a computer program product, comprising a computer program or instructions, which, when executed by a processor, implements the method of the first aspect. BRIEF DESCRIPTION OF THE DRAWINGS

[0023] FIG1 is a schematic flow chart of a decoding method for a low-density parity-check code provided in an embodiment of the present application;

[0024] FIG2 is a flow chart of a method for matching system computing capability information provided in an embodiment of the present application;

[0025] FIG3 is a flow chart of another method for decoding a low-density parity-check code according to an embodiment of the present application;

[0026] FIG4 is a schematic flow chart of another method for decoding a low-density parity-check code according to an embodiment of the present application;

[0027] FIG5 is a schematic flow chart of another method for decoding a low-density parity-check code according to an embodiment of the present application;

[0028] FIG6 is a diagram showing an example of the composition of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0029] The terms "first", "second" and "third" in the specification, claims and drawings of this application are used to distinguish different objects rather than to limit a specific order.

[0030] In the embodiments of this application, words such as "exemplary" or "for example" are used to indicate examples, illustrations, or descriptions. Any embodiment or design described as "exemplary" or "for example" in the embodiments of this application should not be interpreted as being preferred or advantageous over other embodiments or designs. Rather, the use of words such as "exemplary" or "for example" is intended to present the relevant concepts in a concrete manner.

[0031] The advantages of a low-density parity-check code decoding method provided by the present application are described below in conjunction with the principle of LDPC decoding.

[0032] In the LDPC iterative decoding algorithm, the maximum number of iterations directly affects the decoding performance. Under the same channel conditions, the larger the maximum number of iterations, the lower the decoding error rate of the LDPC decoding algorithm, and the fewer data retransmissions. However, the communication system has strict processing time slot requirements for the transmitter and receiver. The larger the number of iterations used in actual LDPC decoding, which can also be understood as the larger the maximum number of iterations, the more time LDPC decoding will take. This will reduce the data throughput and may even cause the communication system to lose communication synchronization due to the inability to complete decoding in time.

[0033] Furthermore, if the channel quality is average, setting the maximum number of iterations to a low value may reduce the time taken for LDPC decoding, thereby ensuring communication performance. However, this low value may result in inaccurate LDPC decoding or a high bit error rate, leading to increased data retransmissions. If the channel quality is too poor, the number of data errors received by the user terminal exceeds the LDPC decoding capacity, making it difficult to correctly complete LDPC iterative decoding regardless of the number of iterations. Therefore, setting the maximum number of iterations too high does not necessarily reduce data throughput.

[0034] The present application provides a decoding method for a low-density parity-check code. The method obtains a maximum number of LDPC decoding iterations based on the system computing capability of a user terminal and an LDPC decoding test case. The method can adaptively adjust the maximum number of LDPC decoding iterations based on the computing capability of the user terminal (UE) hardware. In other words, the method collaboratively determines the maximum number of LDPC decoding iterations based on both system computing capability information and the use case decoding time. The adaptively adjusted maximum number of iterations is the maximum number of iterations that can be set while ensuring communication performance. This method achieves a reduction in the bit error rate of LDPC decoding to a certain extent while meeting the communication performance requirements of the communication system, thereby reducing the number of data retransmissions.

[0035] The decoding method of the low-density parity-check code provided in the present application can be applied to communications between user terminals, communications between user terminals and network-side devices, etc. The decoding method of the low-density parity-check code is basically applicable to all communication systems, for example, wireless communication systems. For example, a user terminal can decode a data packet to be decoded transmitted by other user terminals, or decode a data packet to be decoded transmitted by a network-side device. Among them, wireless communication systems include: Global System for Mobile Communications (GSM), 5G mobile communication system, General Packet Radio Service (GPRS), Global Navigation Satellite System (GLONASS), Beidou Navigation Satellite System (BDS), etc.

[0036] The decoding method of the low-density parity-check code provided in the present application can be completed by a user terminal alone, by a user terminal and a network-side device in cooperation, or by multiple user terminals in collaboration. The three completion methods are respectively described below through three embodiments.

[0037] Example 1:

[0038] The following, in conjunction with Figures 1 and 2, details a method for decoding a low-density parity-check code provided by an embodiment of the present application. The method is performed by a user terminal, that is, the method for decoding a low-density parity-check code provided by an embodiment of the present application is performed solely by the user terminal. The method comprises the following steps:

[0039] S101: A user terminal obtains a processor model of the user terminal.

[0040] User Equipment (UE) can be a mobile phone, tablet computer, desktop, laptop, notebook computer, ultra-mobile personal computer (UMPC), handheld computer, netbook, personal digital assistant (PDA), wearable electronic device, smart watch, etc. This application does not impose any special restrictions on the specific form of the above user terminals.

[0041] It should be noted that the user terminal can also be called an electronic device, and this application does not make any specific limitations.

[0042] Specifically, in response to an initialization operation of the user terminal, a processor model of the user terminal is obtained.

[0043] It can be understood that after the system program of the user terminal is running (i.e., after the user terminal is initialized and powered on), the user terminal obtains the processor model through a software command. When the user terminal includes only one processor, the model of the one processor is obtained through a software command; when the user terminal includes multiple processors, the user terminal obtains the models of the multiple processors through a software command. For example: when the user terminal includes a main processor and a coprocessor, the user terminal obtains the models of the main processor and the coprocessor through a software instruction.

[0044] In one possible implementation, the processor of the user terminal may execute the cross-compiled code. In the cross-compilation scenario, the user terminal is a user terminal that executes the cross-compiled code. At this time, the user terminal still obtains its own processor model (the processor model that executes the cross-compiled code) instead of obtaining the processor model for source code compilation.

[0045] Compilation is the process of converting source code into machine code. Source code cannot be executed by a machine (processor) and must be converted into binary machine code to be executed by a machine (processor).

[0046] Cross-compile (Cross_Compile) means that the platform for compiling source code and the platform for executing the program compiled from the source code are two different platforms.

[0047] For example, a cross-compilation scenario involves cross-compiling source code on a platform with higher computing power. After the cross-compilation is successful, the compiled program is burned onto an ARM development board with relatively lower computing power. In this case, the computing power of the processor (CPU) performing the source code compilation is higher than that of the processor (CPU) executing the compiled code.

[0048] Since the operating entity that executes LDPC decoding is the user terminal to which the processor that runs the cross-compiled code belongs, the model of the processor that runs the cross-compiled code is obtained, and the system computing capability information of the processor that runs the cross-compiled code is matched, thereby matching the maximum number of iterations corresponding to the processor model that runs the cross-compiled code.

[0049] S102: The user terminal matches corresponding system computing capability information according to the processor model of the user terminal.

[0050] Specifically, based on a pre-set computing capability matching table, the corresponding system computing capability information is matched according to the processor model of the user terminal.

[0051] The system computing capability information may represent the system computing capability of the user terminal.

[0052] In one possible implementation, the system computing capability information is pre-set using processor parameters, including main frequency, maximum turbo frequency, cache, number of cores, and the like.

[0053] The core clock frequency of a processor is the clock rate of the processor core, which can be directly understood as the processing / computing speed of the processor. Generally speaking, the higher the core clock frequency of a processor, the faster the processor processing speed and the better the processor performance.

[0054] Maximum Turbo Boost is the highest frequency the processor's Turbo Boost technology can reach. Turbo Boost allows for flexible adjustments based on the intensity of the processor task. For example, if the processor temperature is too high, the frequency will be automatically reduced to prevent overheating and burnout, while if the workload is large, the frequency will be increased to complete the task quickly.

[0055] The cache is used to solve the problem of a large gap between the processor's processing speed and the memory access speed. That is, when the processor's processing speed is particularly fast and the memory stick's read and write tasks cannot match it, the processor can store this part of the data in the cache, thereby alleviating the contradiction between the processor's processing speed and the memory read and write speed (that is, the access rate).

[0056] The core count refers to the number of cores in a processor, that is, the number of core chips on the processor. For example: dual-core, quad-core, hexa-core, octa-core, etc. Dual-core means that the processor includes two relatively independent core chips, and quad-core means that the processor includes four relatively independent core chips.

[0057] In a possible implementation, the system computing capability information is represented by a numerical value, and a higher numerical value indicates a stronger system computing capability of the user terminal.

[0058] It should be noted that the system computing capability information can be set / assigned by R&D personnel for the system computing capability information of the processor model based on the processor model and the corresponding processor parameters; or the corresponding system computing capability information can be comprehensively calculated through a specific calculation formula, and this application does not make specific limitations.

[0059] For ease of understanding, the following example illustrates the matching of corresponding system computing capability information with reference to Table 1. The system computing capability information is represented by numerical values.

[0060] Table 1

[0061] As shown in the computing power matching table in Table 1, when the processor model is Intel Core i9-13900, A100 (i.e., the main processor and coprocessor), the corresponding system computing power information is 100; when the processor model is Intel Core i7-13700, RTX4090, the corresponding system computing power information is 90; when the processor model is Intel Core i5-12600 (i.e., the main processor), the corresponding system computing power information is 60, and so on.

[0062] In a possible implementation, the specific implementation steps of S102 are shown in Figure 2. The specific implementation steps of S102 shown in Figure 2 are mainly applied to the scenario where the hardware components such as the processor and memory of the user terminal are upgraded.

[0063] S1021: The user terminal determines whether a preset computing capability matching table includes a processor model.

[0064] The user terminal's processor model may not exist in the pre-set computing power matching table, so it is necessary to determine whether the processor model is included in the computing power matching table. For example, when the user terminal's processor, memory, or other hardware components are upgraded, the current user terminal's processor model has actually changed with the upgrade. However, since the user terminal's processor, memory, or other hardware components are upgraded, the upgraded processor model may not exist in the pre-set computing power matching table, so it is necessary to determine whether the upgraded processor model is included.

[0065] It should be noted that the hardware upgrade of the user terminal needs to be performed when the user terminal is not started (not started running programs, not started initialization). After the hardware components of the user terminal are upgraded, the user terminal starts running programs (that is, starts starting or starts initialization) to obtain the upgraded server model of the user terminal.

[0066] When it is determined that the processor model is included in the preset computing capability matching table, the process directly proceeds to S1023 .

[0067] When it is determined that the processor model is not included in the preset computing capability matching table, proceed to S1022.

[0068] S1022: The user terminal sets corresponding system computing capability information according to the parameters of the upgraded processor, and stores the information in a computing capability matching table.

[0069] In one possible implementation, based on the parameters of the processor of the user terminal (for example, main frequency, maximum turbo frequency, cache, number of cores, etc.), the system computing power information is calculated using a preset formula, and the processor model and system computing power information are stored in a computing power matching table.

[0070] Exemplarily, the system computing capability information is calculated based on the parameters of the upgraded processor using a preset formula, and the upgraded processor model and the system computing capability information are stored in a computing capability matching table in a corresponding manner.

[0071] It should be noted that after the processor, memory and other hardware components of the user terminal are upgraded, the model of the processor of the current user terminal has changed with the upgrade, so the computing capability matching table only needs to store the upgraded processor model.

[0072] S1023 . Based on the computing capability matching table, match corresponding system computing capability information according to the processor model.

[0073] S103: The user terminal runs an LDPC decoding test case and obtains the decoding time of the test case.

[0074] Specifically, running the LDPC decoding test case can be understood as the user terminal decoding the LDPC code of the LDPC decoding test case until the LDPC decoding is completed. The decoding of the LDPC decoding test case is generally completed after determining that the decoding is correct and ending the LDPC iterative decoding.

[0075] Exemplarily, an LDPC decoding test case may be: an LDPC code with noise added using a specific noise addition algorithm, and a corresponding fixed check matrix. When a user terminal runs this LDPC decoding test case, it actually decodes the LDPC code with noise added according to a fixed check matrix until the LDPC decoding is completed. It should be noted that the code length and code rate of the LDPC code may vary for different LDPC decoding test cases. The code rate refers to the ratio of useful information to the total information in the encoded data stream, and the LDPC code rate refers to the ratio of the information length of the LDPC code to the LDPC code length.

[0076] In a possible implementation, there are multiple LDPC decoding test cases, which may be multiple LDPC codes obtained based on different generator check matrices.

[0077] When there are multiple LDPC decoding test cases, in one possible implementation, the case decoding time can be the average of the decoding times of running multiple LDPC decoding test cases. For example, if there are five LDPC decoding test cases, namely LDPC decoding test case A, LDPC decoding test case B, LDPC decoding test case C, LDPC decoding test case D, and LDPC decoding test case E, and the corresponding decoding times of running the LDPC decoding test cases are ta, tb, tc, td, and te, respectively, then the case decoding time is (ta + tb + tc + td + te) / 5. In another possible implementation, different weights can be assigned to the decoding times of multiple LDPC decoding test cases, and the decoding test time can be calculated based on the weights.

[0078] By using multiple LDPC decoding test cases, we can obtain the corresponding case decoding times for each of these test cases. This means we can obtain the LDPC decoding time consumed by the user terminal in multiple scenarios. This makes the resulting corresponding case decoding time closer to the actual situation and avoids the uniqueness and suddenness of the corresponding case decoding time obtained from only one LDPC decoding test case. For example, a user terminal may decode a particular LDPC code very quickly, but decode other LDPC codes more slowly.

[0079] S104: The user terminal matches the corresponding maximum number of LDPC decoding iterations according to the matched system computing capability information and the use case decoding time.

[0080] Specifically, based on a pre-set iteration number matching table, the corresponding maximum number of LDPC decoding iterations is matched according to the matched system computing capability information and the use case decoding time.

[0081] Regarding system computing capability information, the higher the system computing capability of a user terminal, the faster the LDPC decoding iteration. Specifically, for the same LDPC code, the higher the system computing capability, the faster the LDPC decoding speed, meaning the less time it takes to decode the code. While ensuring communication performance (meeting the strict time slot requirements for transmitter and receiver processing in the communication system), user terminals with higher system computing capability information are matched with a greater maximum number of iterations.

[0082] Regarding the use case decoding time, the shorter the use case decoding time, the faster the LDPC decoding speed. Under the premise of meeting the communication performance requirements (meeting the strict time slot requirements for the processing of the transmitter and receiver in the communication system), the user terminal with the shorter use case decoding time has a larger maximum number of matching iterations.

[0083] In the embodiment of the present application, the system computing capability information and the use case decoding time are combined to collaboratively match the maximum number of iterations, thereby achieving the maximum number of iterations matched on the user terminal while ensuring communication performance.

[0084] In one possible implementation, the maximum number of iterations is matched based on system computing capability information and the use case decoding time, and the smaller of the two maximum numbers of iterations is determined as the maximum number of iterations for the user terminal. For example, if the maximum number of iterations matched based on the system computing capability information is the first number of iterations, and the maximum number of iterations matched based on the use case decoding time is the second number of iterations, and the first number of iterations is greater than the second number of iterations, the maximum number of iterations matched by the user terminal is the second number of iterations.

[0085] In one possible implementation, a set of maximum iteration numbers can be determined based on the matching system computing capability information and a pre-set iteration number matching table; and then, based on the use case decoding time and a pre-set iteration number matching table, the corresponding maximum iteration number of LDPC decoding can be matched from the set of maximum iteration numbers.

[0086] In another possible implementation, a set of maximum iteration numbers can be determined based on a pre-set iteration number matching table according to the use case decoding time; and then, based on the matched system computing capability information and a pre-set iteration number matching table, the corresponding maximum iteration number of LDPC decoding can be matched from the set of maximum iteration numbers.

[0087] For ease of understanding, the maximum number of iterations of LDPC decoding corresponding to the matching is illustrated below with reference to Table 2.

[0088] Table 2

[0089] Based on the iteration number matching table shown in Table 2, when the use case decoding time of the user terminal is 15us and the matched system computing capability information is 81, based on the use case decoding time of 15us, the maximum number of iterations with the largest value is determined to be 15, and based on the system computing capability information of 81, the maximum number of iterations with the largest value is determined to be 13. Therefore, the maximum number of iterations is determined to be 13.

[0090] Based on the iteration number matching table shown in Table 2, when the use case decoding time of the user terminal is 35us and the matched system computing capability information is 83, the set of maximum iteration numbers can be determined as {10, 5, 3, 2} based on the use case decoding time 35us. According to the system computing capability information 83, the corresponding maximum iteration number is matched from the set of maximum iteration numbers as 10.

[0091] Based on the iteration number matching table shown in Table 2, when the use case decoding time of the user terminal is 21us and the matched system computing capability information is 69, the set of maximum iteration numbers can be determined as {5, 3, 2} based on the system computing capability information 69. According to the use case decoding time 21us, the corresponding maximum iteration number 5 is matched from the set of maximum iteration numbers.

[0092] It should be noted that the pre-set iteration number matching table can be set by R&D personnel based on the historical actual engineering values ​​of user terminals corresponding to each processor model, and adjusted through simulation experiments. This application does not make specific limitations.

[0093] S105 : The user terminal performs LDPC iterative decoding based on the matched maximum number of iterations.

[0094] When the user terminal receives the data to be decoded, it equalizes and demodulates the received data and then performs LDPC iterative decoding based on the matched maximum number of iterations.

[0095] S106: The user terminal determines whether the number of iterations of LDPC iterative decoding is greater than the maximum number of iterations.

[0096] When the number of iterations of LDPC iterative decoding is not greater than the maximum number of iterations, proceed to S107.

[0097] When the number of iterations of LDPC iterative decoding is greater than the maximum number of iterations, S108 is performed.

[0098] S107: The user terminal verifies the decoding result of the LDPC iterative decoding.

[0099] In a possible implementation, a cyclic redundancy check is performed on the decoding result of the LDPC iterative decoding.

[0100] Among them, Cyclic Redundancy Check (CRC) is a data transmission error detection function that performs a polynomial calculation on the data and appends the result to the end of the frame. The receiving device also executes a similar algorithm to ensure the correctness and integrity of data transmission.

[0101] When the decoding result of the LDPC iterative decoding passes the verification, S108 is performed.

[0102] When the decoding result verification of the LDPC iterative decoding fails, S105 is performed, that is, the LDPC iterative decoding is continued, and then it is determined again whether the number of iterations of the LDPC iterative decoding is greater than the maximum number of iterations and whether the verification passes. The LDPC iterative decoding ends until the number of iterations of the LDPC iterative decoding is greater than the maximum number of iterations (reaches the maximum number of iterations) or the decoding result verification of the LDPC iterative decoding passes.

[0103] S108. LDPC iterative decoding ends.

[0104] After the LDPC iterative decoding is completed, the corresponding LDPC decoding result is output.

[0105] It should be noted that in the current technology, there are methods for adjusting the maximum number of iterations of LDPC decoding. For example, one existing technology is to perform channel estimation on the wireless channel and adjust the maximum number of iterations of LDPC decoding for the next data transmission based on the channel estimation result; another existing technology is to dynamically adjust the current number of iterations based on the historical number of iterations and the maximum number of iterations. The method for adjusting the maximum number of iterations of LDPC decoding in the current technology requires that each time LDPC iterative decoding is performed, an adjustment of LDPC iterative decoding is performed, resulting in repeated waste of computing resources of the user terminal. However, in the embodiment of the present application, S101-S104, that is, the process of matching the maximum number of iterations of the user terminal, only needs to be performed when the user terminal is initialized (when powered on), saving computing resources of the user terminal.

[0106] In one possible implementation, as a user terminal operates, the system load on the user terminal's processor may increase due to certain reasons. This increased system load may increase the time it takes the user terminal to perform LDPC iterative decoding, thereby affecting the performance of the communication system. To address this situation, a timer can be used to determine whether the system load on the user terminal's processor has increased. If the system load increases, the maximum number of LDPC decoding iterations for the user terminal needs to be adjusted.

[0107] Excessive system load can cause the processor to be unable to process other requests and operations, and may even cause a system crash. System load is a measure of the current processor workload and is defined as the average number of threads in the run queue over a specific time interval. The load average represents the average processor load over a period of time, representing the current system load on the processor. The lower this value, the better.

[0108] Specific reasons that lead to increased system load include: increased processor temperature, processor hardware damage, processor attack, etc.

[0109] For ease of understanding, the following is a detailed description with reference to S109-S111 shown in FIG1 . When the user terminal executes S105-S108, it is also executing S109-S111 at the same time.

[0110] S109: When the user terminal starts LDPC decoding, the timer starts timing.

[0111] The timer in the user terminal is a task timing reminder software. The timer can execute the corresponding task after the preset time is reached. It is one of the most commonly used modules in the user terminal. In this application, the timer of the user terminal is the timer corresponding to the LDPC decoding task.

[0112] The preset timer duration is related to the maximum number of iterations matched by the user terminal. Based on test / simulation results of LDPC iterative decoding, a sub-preset time is pre-configured for each LDPC iteration. The preset timer duration is determined based on the maximum number of iterations matched by the user terminal and the sub-preset time. This preset time can be used to estimate the time consumed by the user terminal for LDPC decoding with the maximum number of iterations and is slightly greater than the actual time consumed by the user terminal for LDPC decoding with the maximum number of iterations.

[0113] S110 : During the LDPC decoding process, the user terminal detects whether a timer has timed out.

[0114] During the LDPC decoding process, that is, before the LDPC decoding is completed, it is detected whether the timer has timed out.

[0115] When it is detected that the timer has timed out, the maximum number of iterations of LDPC decoding is adjusted according to a preset rule, and S103 and S104 are performed again.

[0116] When a timer expires, it indicates that the system load on the user terminal's processor has increased significantly, affecting the user terminal's LDPC decoding speed, which in turn affects current communication performance. Specifically, the time slot requirements for the transmitter and receiver in the communication system cannot be met, resulting in reduced data throughput and even communication desynchronization. Therefore, the maximum number of iterations is re-adjusted to ensure communication performance. System computing power information is matched based on the processor model. Regardless of whether the system load increases or not, if the processor model remains unchanged, the system computing power information remains unchanged. Therefore, the user terminal re-runs the LDPC decoding test case, re-obtains the test case decoding time, and re-matches the maximum number of LDPC decoding iterations based on the system computing power information and the re-obtained test case decoding time. The user terminal then performs LDPC iterative decoding based on the re-matched maximum number of iterations. It should be noted that due to the increased system load, the re-matched maximum number of iterations is smaller than the normal maximum number of iterations matched.

[0117] For ease of understanding, the maximum number of iterations of LDPC decoding corresponding to re-matching is illustrated below with reference to Table 3.

[0118] Table 3

[0119] Based on the iteration matching table shown in Table 3, when the user terminal's use case decoding time is 15us and the matched system computing capability information is 88, the maximum number of iterations N_max1 matched based on the use case decoding time and the system computing capability information is 20. LDPC iterative decoding is started based on N_max1 = 20, and a timer is started accordingly. The preset time of the timer is 20*sub-preset time. If the timer expires before the LDPC iterative decoding is completed, the LDPC decoding test case is rerun, and the current use case decoding time is 42us. Based on the use case decoding time = 42us and the system computing capability information = 88, the maximum number of iterations N_max2 is re-matched to 15. LDPC iterative decoding is started based on N_max2 = 15, and a timer is started accordingly. At this time, the preset time of the timer is 15*sub-preset time.

[0120] As can be seen from this, the preset time of the timer is adjusted accordingly as the maximum number of iterations is adjusted, so that the timer can accurately time the next LDPC iterative decoding.

[0121] If the timer is not detected to have timed out, it indicates that the system load of the processor of the user terminal has not increased significantly and has not affected the speed of the user terminal performing LDPC decoding, and then S110 is performed.

[0122] S111. When LDPC iterative decoding is completed, the timer is cleared.

[0123] When the next LDPC iterative decoding starts, the timer restarts.

[0124] To prevent the possible degradation of communication performance caused by an increase in system load, a timer is added to monitor the time consumed by the user terminal for LDPC iterative decoding. When the timer times out, it means that the time consumed by LDPC iterative decoding exceeds the preset time. Continuing to perform LDPC iterative decoding with the current maximum number of iterations may cause communication performance to degrade. Therefore, the LDPC decoding test case is rerun to obtain the decoding test time. Based on the newly obtained decoding test time and system computing power information, the maximum number of iterations is re-matched, and LDPC iterative decoding is performed based on the re-matched maximum number of iterations to ensure communication performance.

[0125] The present application provides a method for decoding a low-density parity-check code, comprising the steps of obtaining a processor model of a user terminal; matching corresponding system computing capability information based on the processor model of the user terminal; running an LDPC decoding test case to obtain the case decoding time; matching a corresponding maximum number of iterations based on the matched system computing capability information and the case decoding time, and performing LDPC iterative decoding based on the matched maximum number of iterations. The present application combines the system computing capability information of the user terminal with the case decoding time to coordinately match the maximum number of iterations, and performs LDPC decoding based on the maximum number of iterations. This method satisfies the communication system's requirements for communication performance while reducing the bit error rate of LDPC decoding to a certain extent, thereby reducing the number of data retransmissions.

[0126] Furthermore, a decoding method for a low-density parity-check code provided in an embodiment of the present application starts to obtain the processor model of the user terminal in response to the initialization of the user terminal (power-on startup, system program running). There is no need to obtain the processor model of the user terminal every time LDPC iterative decoding is performed, thereby reducing the waste of repeated computing resources.

[0127] Furthermore, a timer is added to monitor the time consumed by the user terminal for LDPC iterative decoding. When the timer times out, the maximum number of iterations is re-matched to avoid communication performance degradation due to increased system load.

[0128] The decoding method for a low-density parity-check code described in the first embodiment is implemented by a user terminal. The decoding method for a low-density parity-check code described in the second embodiment is implemented by the user terminal and a network device in cooperation.

[0129] Example 2:

[0130] 3, a further method for decoding a low-density parity-check code provided by an embodiment of the present application is described in detail. The method is implemented by cooperation between a user terminal and a network-side device, and comprises the following steps:

[0131] S301: A user terminal obtains a processor model of the user terminal.

[0132] S302: The user terminal matches corresponding system computing capability information according to the processor model of the user terminal.

[0133] S303: The user terminal runs an LDPC decoding test case and obtains the decoding time of the test case.

[0134] The above S301-S303 are the same as S101-S103 in the first embodiment. For details on the specific implementation of S301-S303, please refer to S101-S103 in the first embodiment, which will not be repeated here.

[0135] S304: The user terminal reports the system computing capability information and the use case decoding time to the network side device.

[0136] Network-side devices (also called network equipment) are specialized hardware devices used to interconnect various nodes, such as servers, PCs, and user terminals, to form information and communication networks. Common network-side devices include switches, routers, firewalls, bridges, hubs, gateways, VPN servers, network interface cards (NICs), wireless access points (WAPs), modems, 5G base stations, optical transceivers, fiber optic transceivers, and optical cables.

[0137] In one possible implementation, the system computing capability information and the use case decoding time are provided to the network side device via UE Capability Information, which is uplink UE (user terminal) capability query response information.

[0138] In another possible implementation, the use case decoding time and system computing capability information are reported to the network device via the NAS signaling Registration Request carried by the RRC SetupComplete message. The RRC SetupComplete message is a response from the user terminal to the "RRC SETUP" message, indicating that the network device has allocated radio resources. The Registration Request message is a commonly used registration request message for user terminals.

[0139] S305 : The network-side device matches the corresponding maximum number of LDPC decoding iterations according to the received system computing capability information and the use case decoding time.

[0140] In one possible implementation, the network device matches the maximum number of LDPC decoding iterations based on a pre-set iteration matching table, received system computing power information, and a use case decoding time. In another possible implementation, the network device may use other methods, such as a preset formula or a machine learning model, to match the maximum number of LDPC decoding iterations based on received system computing power information and a use case decoding time. This application does not impose any specific limitations.

[0141] The system computing capability information and use case decoding time are sent to the network side device, which then matches the corresponding maximum number of LDPC decoding iterations and sends it to the user terminal, reducing the resource consumption of the user terminal.

[0142] S306: The network-side device sends the matching maximum number of iterations to the user terminal.

[0143] In a possible implementation, the network device sends the matching maximum number of iterations to the user through DCI information.

[0144] DCI (Downlink Control Information) is formatted in a predefined format and unicasted by the network to each user terminal via the PDCCH. The DCI format provides the user terminal with details such as the number of resource blocks, resource allocation type, modulation scheme, transport block, redundancy version, and coding rate. In this embodiment, the DCI carries the maximum number of matching iterations to the user terminal.

[0145] S307: The user terminal performs LDPC iterative decoding based on the received maximum number of iterations.

[0146] S308: The user terminal determines whether the number of iterations of LDPC iterative decoding is greater than the maximum number of iterations.

[0147] When the number of iterations of LDPC iterative decoding is not greater than the maximum number of iterations, proceed to S309.

[0148] When the number of iterations of LDPC iterative decoding is greater than the maximum number of iterations, then S310.

[0149] S309: The user terminal verifies the decoding result of the LDPC iterative decoding.

[0150] When the decoding result of the LDPC iterative decoding passes verification, S310 is performed.

[0151] When the decoding result verification of the LDPC iterative decoding fails, S307 is performed, that is, the LDPC iterative decoding is continued, and then it is determined again whether the number of iterations of the LDPC iterative decoding is greater than the maximum number of iterations and whether the verification passes. The LDPC iterative decoding ends until the number of iterations of the LDPC iterative decoding is greater than the maximum number of iterations (reaches the maximum number of iterations) or the decoding result verification of the LDPC iterative decoding passes.

[0152] S310: LDPC iterative decoding ends.

[0153] After the LDPC iterative decoding is completed, the corresponding LDPC decoding result is output.

[0154] It should be noted that when the user terminal executes S305 to S308 , a timer is also started at the same time.

[0155] If a timer timeout is detected during LDPC iterative decoding, the LDPC decoding test case is rerun to obtain the decoding time. The processor model and the recovered decoding time are sent to the network device. The network device then re-matches the maximum number of iterations based on the processor model and the recovered decoding time, and sends the result to the user terminal. The user terminal then performs LDPC iterative decoding based on the re-matched maximum number of iterations.

[0156] An embodiment of the present application provides a method for decoding low-density parity-check codes. A user terminal sends system computing capability information and a use case decoding time to a network device. The network device matches the corresponding maximum number of iterations and returns the result to the user terminal. The user terminal then performs LDPC decoding based on the maximum number of iterations matched by the network device. Specifically, the network device combines the user's system computing capability information and the use case decoding time to collaboratively match the maximum number of iterations and returns the result to the user terminal. The user terminal then performs LDPC decoding based on the maximum number of iterations. This method reduces the bit error rate of LDPC decoding to a certain extent while meeting the communication system's performance requirements, thereby reducing the number of data retransmissions.

[0157] Furthermore, the system computing capability information and use case decoding time of the user terminal are sent to the network side device, and the network side device matches the corresponding maximum number of iterations based on the system computing capability information and use case decoding time, thereby reducing the computing resource usage of the user device.

[0158] It can be seen from Example 1 and Example 2 that the method for matching the maximum number of iterations of the LDPC decoding of the user terminal can be: obtained by the user terminal itself based on the coordinated matching of the system computing capability information and the use case decoding time; or obtained by the network side device based on the coordinated matching of the system computing capability information and the use case decoding time of the user terminal, and returned to the user terminal. Therefore, the decoding method of the low-density parity-check code provided in the application can select the method of matching the maximum number of iterations according to actual conditions, and this application does not make specific restrictions. For the convenience of description, the method of matching the maximum number of iterations of the LDPC decoding in the following embodiments only takes the method of the user terminal itself based on the coordinated matching of the system computing capability information and the use case decoding time as an example.

[0159] The decoding method for a low-density parity-check code described in the above embodiment 2 is implemented by cooperation between a user terminal and a network-side device. The decoding method for a low-density parity-check code described in the following embodiment 3 is implemented by cooperation between multiple user terminals.

[0160] Example 3:

[0161] A decoding method for a low-density parity check code provided in an embodiment of the present application is described in detail below in conjunction with Figure 4. The method is applicable to a collaborative decoding scenario, that is, the decoding method for a low-density parity check code provided in an embodiment of the present application is collaboratively performed by multiple user terminals.

[0162] Collaborative decoding: refers to coordinating two or more different user terminals to complete the LDPC decoding task in a coordinated and consistent manner.

[0163] For ease of understanding, a detailed description is given using two different user terminals (user terminal A and user terminal B) as examples. User terminal A has relatively weak computing capabilities, while user terminal B has relatively strong computing capabilities. The method includes the following steps:

[0164] S401: User terminal B obtains a processor model of user terminal B.

[0165] S402: User terminal B matches corresponding system computing capability information according to the processor model of user terminal B.

[0166] S403: User terminal B runs an LDPC decoding test case and obtains the decoding time of the test case.

[0167] S404: User terminal B matches the corresponding maximum number of LDPC decoding iterations according to the matched system computing capability information and the use case decoding time.

[0168] S405 : User terminal A receives the downlink data packet and LDPC decoding parameters.

[0169] Among them, LDPC decoding parameters include: LDPC encoding mode, code length, code rate, etc.

[0170] S406 : User terminal A sends the received downlink data packet and decoding parameters to user terminal B.

[0171] S407 : User terminal B performs LDPC iterative decoding based on the matched maximum number of iterations.

[0172] User terminal B performs LDPC iterative decoding on the downlink data packet sent by user terminal A based on the matched maximum number of iterations.

[0173] S408: User terminal B determines whether the number of iterations of LDPC iterative decoding is greater than the maximum number of iterations.

[0174] When the number of iterations of LDPC iterative decoding is not greater than the maximum number of iterations, proceed to S407.

[0175] When the number of iterations of the LDPC iterative decoding is greater than the maximum number of iterations, the LDPC iterative decoding ends and the process proceeds to S710.

[0176] S409: User terminal B verifies the decoding result of the LDPC iterative decoding.

[0177] When the decoding result of the LDPC iterative decoding passes the verification, the LDPC iterative decoding ends and the process proceeds to S410.

[0178] When the decoding result verification of the LDPC iterative decoding fails, S407 is performed.

[0179] S410 : User terminal B ends LDPC iterative decoding and obtains an LDPC decoding result.

[0180] S411 : User terminal B feeds back the LDPC decoding result to user terminal A.

[0181] At this time, user terminal A receives the LDPC decoding result fed back by user terminal B and completes the collaborative decoding.

[0182] It should be noted that while user terminals A and B collaborate to complete LDPC decoding, user terminal B can still perform LDPC iterative decoding on its own received downlink data packets based on the matched maximum number of iterations. Figure 4 only illustrates the collaborative decoding process between user terminals A and B.

[0183] As shown in Figure 4, in a collaborative decoding scenario, when user terminal A receives a packet to be decoded, it does not perform LDPC iterative decoding. Instead, it sends the packet to user terminal B. User terminal B performs LDPC iterative decoding on the packet sent by user terminal A, obtains the LDPC decoding result, and feeds it back to user terminal A. This completes the LDPC decoding of the packet received by user terminal A, thus completing the collaborative decoding. This means that user terminal A itself does not need to perform LDPC iterative decoding. Therefore, in a collaborative decoding scenario, user terminal B can simply match the maximum number of iterations based on its own system computing capability and the decoding time of the use case.

[0184] Example 4:

[0185] 5 , a decoding method for a low-density parity-check code provided in an embodiment of the present application is described in detail.

[0186] S501: Obtain the processor model of the user terminal, and match the system computing capability information corresponding to the processor model.

[0187] Specifically, in response to an initialization operation of the user terminal, a processor model of the user terminal is obtained.

[0188] S502: Obtain a first case decoding time corresponding to an LDPC decoding test case.

[0189] Specifically, an LDPC decoding test case is run to obtain a first case decoding time.

[0190] In one possible implementation, when there are multiple LDPC decoding test cases, multiple LDPC decoding test cases are run to obtain multiple decoding times corresponding to the multiple LDPC decoding test cases; and based on the multiple decoding times, a first case decoding time corresponding to the LDPC decoding test case is obtained.

[0191] S503: Obtain a maximum number of iterations according to the system computing capability information and the decoding time of the first use case.

[0192] Specifically, based on the iteration number matching table, the system computing capability information and the maximum iteration number corresponding to the decoding time of the first use case are obtained.

[0193] In one possible implementation, based on an iteration number matching table, a first iteration number corresponding to the system computing capability information is matched; based on the iteration number matching table, a second iteration number corresponding to the decoding time is matched; and based on the first iteration number and the second iteration number, a maximum iteration number corresponding to the system computing capability information and the first use case decoding time is determined.

[0194] In one possible implementation, the maximum number of iterations corresponding to the system computing capability information is filtered out from the iteration number matching table; the maximum number of iterations corresponding to the decoding time is filtered out from the maximum number of iterations collection; or, the maximum number of iterations corresponding to the decoding time of the first use case is filtered out from the iteration number matching table; the maximum number of iterations corresponding to the system computing capability information is filtered out from the maximum number of iterations collection.

[0195] In one possible implementation, system computing capability information and the first use case decoding time are sent to a network device, so that the network device can determine a maximum number of iterations based on the system computing capability information and the first use case decoding time, and return the maximum number of iterations. This reduces computing resource usage of the user device.

[0196] S504: When receiving data to be decoded, perform LDPC iterative decoding based on the maximum number of iterations.

[0197] Specifically, when data to be decoded is received, LDPC iterative decoding is started based on the maximum number of iterations; when the number of iterations reaches the maximum number of iterations, or the decoding result of the LDPC iterative decoding passes the verification, the LDPC iterative decoding is ended.

[0198] In a possible implementation, when LDPC iterative decoding begins, a timer starts timing. During the LDPC iterative decoding process, it is detected whether the timer has timed out.

[0199] When the timer times out, the maximum number of iterations is adjusted, and LDPC iterative decoding is performed based on the adjusted maximum number of iterations. Specifically, when the timer times out, the second use case decoding time corresponding to the LDPC decoding test case is obtained, that is, the LDPC decoding test case is rerun to obtain the second use case decoding time; the maximum number of iterations is re-derived based on the system computing capability information and the second use case decoding time; and the maximum number of LDPC decoding iterations is adjusted to the re-derived maximum number of iterations.

[0200] When the timer does not time out and the LDPC iterative decoding ends, the timer is cleared.

[0201] In one possible implementation, the method is applied to a first user terminal. Data to be decoded is received by a second user terminal and forwarded to the first user terminal. The first user terminal performs LDPC iterative decoding on the data to be decoded based on maximum iterative decoding, obtains an LDPC iterative decoding result, and returns the LDPC iterative decoding result to the second user terminal. The system computing capability of the first user terminal is greater than that of the second user terminal. This enables collaborative decoding between the first and second user terminals.

[0202] An embodiment of the present application provides a method for decoding low-density parity-check codes. The method comprises obtaining a processor model of a user terminal and matching it with system computing capability information corresponding to the processor model; obtaining a first case decoding time corresponding to a low-density parity check (LDPC) decoding test case; obtaining a maximum number of iterations based on the system computing capability information and the first case decoding time; and performing LDPC iterative decoding based on the maximum number of iterations upon receiving data to be decoded. Regarding the system computing capability information, the higher the system computing capability information of the user terminal, the faster the LDPC decoding process. While ensuring communication performance, a user terminal with a higher system computing capability information is matched with a larger maximum number of iterations. Regarding the case decoding time, a shorter case decoding time indicates a faster LDPC decoding process. While meeting the communication system's performance requirements, a user terminal with a shorter case decoding time is matched with a larger maximum number of iterations. By combining the system computing capability information and the first case decoding time to collaboratively match the maximum number of iterations, the method achieves a certain degree of reduction in the LDPC decoding bit error rate while still meeting communication performance requirements, thereby reducing the number of data retransmissions.

[0203] This embodiment provides an electronic device, which can also be called a user terminal, and includes a processor and a memory; the memory stores computer-executable instructions; the processor executes the computer-executable instructions stored in the memory, so that the processor executes the relevant method steps in Figures 1-5.

[0204] For ease of understanding, the user terminal is described in detail below with reference to FIG6 .

[0205] As shown in FIG1 , the electronic device may include a processor 110 , an internal memory 120 , an antenna 1 , an antenna 2 , a mobile communication module 130 , a wireless communication module 140 , and the like.

[0206] The processor 110 may include one or more processing units. For example, the processor 110 may include an application processor (AP), a modem processor, a graphics processing unit (GPU), an image signal processor (ISP), a controller, a video codec, a digital signal processor (DSP), a baseband processor, and / or a neural-network processing unit (NPU).

[0207] The controller can be the nerve center and command center of the electronic device. The controller can generate operation control signals based on instruction operation codes and timing signals to complete the control of instruction fetching and execution.

[0208] Processor 110 may also include a memory for storing instructions and data. In some embodiments, the memory in processor 110 is a cache memory. This memory can store instructions or data that have just been used or are being recycled by processor 110. If processor 110 needs to use the same instruction or data again, it can directly access the memory. This avoids duplicate accesses, reduces processor 110 latency, and thus improves system efficiency.

[0209] The modem processor in this application can implement convolution, tail-biting convolution, turbo, Viterbi, and / or low-density parity check (LDPC) encoder / decoder functions. The LDPC iterative decoding function provided in this application is implemented based on the modem processor.

[0210] The wireless communication function of the electronic device can be implemented through the antenna 1, the antenna 2, the mobile communication module 130, the wireless communication module 140, the modem processor and the baseband processor.

[0211] The mobile communication module 130 can provide wireless communication solutions including 2G / 3G / 4G / 5G applied in electronic devices.

[0212] The wireless communication module 140 can provide wireless communication solutions for electronic devices, including wireless local area networks (WLAN) (such as wireless fidelity (Wi-Fi) networks), Bluetooth (BT), global navigation satellite system (GNSS), frequency modulation (FM), near field communication (NFC), infrared technology (IR), etc.

[0213] In some embodiments, antenna 1 of the electronic device is coupled to mobile communication module 130 , and antenna 2 is coupled to wireless communication module 140 , so that the electronic device can communicate with the network and other devices through wireless communication technology.

[0214] This embodiment further provides a computer-readable storage medium, which includes instructions. When the above instructions are executed on an electronic device, the electronic device executes the relevant method steps in Figures 1 to 5 to implement the method in the above embodiment.

[0215] This embodiment further provides a computer program product containing instructions. When the computer program product is run on an electronic device, the electronic device executes the relevant method steps shown in Figures 1 to 5 to implement the method in the above embodiment.

Claims

1. A decoding method for a low-density parity-check code, characterized in that: include: Obtain the processor model of the user terminal and match the system computing capability information corresponding to the processor model; Obtain a first test case decoding time corresponding to a low-density parity check LDPC decoding test case; Obtaining a maximum number of iterations according to the system computing capability information and the decoding time of the first use case; When the data to be decoded is received, LDPC iterative decoding is performed based on the maximum number of iterations.

2. The method according to claim 1, characterized in that The number of the LDPC decoding test cases is multiple; The obtaining of a first case decoding time corresponding to a low-density parity check (LDPC) decoding test case includes: Acquire a plurality of decoding times respectively corresponding to a plurality of the LDPC decoding test cases; According to the multiple decoding times, a first case decoding time corresponding to the LDPC decoding test case is obtained.

3. The method according to claim 1, characterized in that The obtaining a maximum number of iterations according to the system computing capability information and the first use case decoding time includes: Based on the iteration number matching table, the system computing capability information and the maximum iteration number corresponding to the decoding time of the first use case are obtained.

4. The method according to claim 3, characterized in that The obtaining, based on the iteration number matching table, the system computing capability information and the maximum iteration number corresponding to the decoding time of the first use case includes: Based on the iteration number matching table, matching the first iteration number corresponding to the system computing capability information; Matching a second iteration number corresponding to the decoding time of the first use case based on the iteration number matching table; The maximum number of iterations corresponding to the system computing capability information and the first use case decoding time is determined according to the first number of iterations and the second number of iterations.

5. The method according to claim 3, characterized in that: The obtaining, based on the iteration number matching table, a maximum number of iterations corresponding to the system computing capability information and the first use case decoding time includes: Filter out a collection of maximum iteration times corresponding to the system computing capability information from the iteration times matching table; filter out a maximum iteration time corresponding to the decoding time of the first use case from the collection of maximum iteration times; or, A collection of maximum iteration numbers corresponding to the decoding time of the first use case is filtered out from the iteration number matching table; and a maximum iteration number corresponding to the system computing capability information is filtered out from the collection of maximum iteration numbers.

6. The method according to claim 1, characterized in that The obtaining a maximum number of iterations according to the system computing capability information and the first use case decoding time includes: The system computing capability information and the first use case decoding time are sent to a network side device, so that the network side device determines a maximum number of iterations according to the system computing capability information and the first use case decoding time, and returns the maximum number of iterations.

7. The method according to claim 1, characterized in that When receiving the data to be decoded, performing LDPC iterative decoding based on the maximum number of iterations includes: When receiving the data to be decoded, starting LDPC iterative decoding based on the maximum number of iterations; When the number of iterations reaches the maximum number of iterations, or the decoding result of the LDPC iterative decoding passes the verification, the LDPC iterative decoding ends.

8. The method according to claim 7, characterized in that The method further comprises: When LDPC iterative decoding starts, the timer starts counting; During the LDPC iterative decoding process, detecting whether the timer has timed out; When the timer times out, the maximum number of iterations is adjusted, and LDPC iterative decoding is performed based on the adjusted maximum number of iterations.

9. The method according to claim 8, characterized in that The adjusting the corresponding maximum number of iterations comprises: Obtaining a second case decoding time corresponding to the LDPC decoding test case; the second case decoding time is greater than the first case decoding time; re-obtaining a maximum number of iterations according to the system computing capability information and the decoding time of the second use case; The maximum number of iterations is adjusted to the retrieved maximum number of iterations.

10. The method according to claim 8, characterized in that The method further comprises: When the timer has not timed out and the LDPC iterative decoding is completed, the timer is cleared.

11. The method according to claim 1, characterized in that: The method is applied to a first user terminal; the data to be decoded is received by a second user terminal and forwarded to the first user terminal; After performing LDPC iterative decoding based on the maximum number of iterations, the method further includes: The first user terminal returns the decoding result of the LDPC iterative decoding to the second user terminal; The system computing capability of the first user terminal is greater than the system computing capability of the second user terminal.

12. The method according to any one of claims 1 to 11, characterized in that: The obtaining of the processor model of the user terminal includes: In response to an initialization operation of a user terminal, a processor model of the user terminal is acquired.

13. An electronic device, characterized in that: including a processor and a memory; The memory stores computer-executable instructions; The processor executes the computer-executable instructions stored in the memory, so that the processor performs the method according to any one of claims 1 to 12.

14. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program or instruction, and when the computer program or instruction is executed, the method according to any one of claims 1 to 12 is implemented.