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

By adaptively adjusting the maximum number of iterations in LDPC decoding, and combining system computing power and use case decoding time, the performance of LDPC decoding is optimized, solving the problems of bit error rate and data throughput in communication systems, and achieving more efficient communication.

CN120074542BActive Publication Date: 2026-07-31HONOR DEVICE CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
HONOR DEVICE CO LTD
Filing Date
2023-11-21
Publication Date
2026-07-31

AI Technical Summary

Technical Problem

In communication systems, the maximum number of iterations of the LDPC decoding algorithm affects decoding performance and data throughput. Existing technologies struggle to effectively reduce bit error rate and data retransmission count while ensuring communication performance.

Method used

Based on the user terminal's system computing power and LDPC decoding test cases, the maximum number of LDPC decoding iterations is adaptively adjusted. The maximum number of iterations is matched in conjunction with system computing power information and test case decoding time to optimize the number of iterations and reduce the bit error rate.

Benefits of technology

While meeting communication performance requirements, the error rate and number of data retransmissions in LDPC decoding were reduced, thus improving the efficiency of the communication system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120074542B_ABST
    Figure CN120074542B_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

Technical Field

[0001] This application relates to the field of communication technology, and in particular to a decoding method, electronic device and storage medium for a low-density parity check code. Background Technology

[0002] In communication systems, noise, fading, multipath interference, and other factors inevitably introduce distortion and signal decision errors into the transmitted data. Channel coding techniques improve system reliability by adding redundant symbols to the information sequence to detect and correct signal errors that occur during transmission. Low-Density Parity-Check (LDPC) codes are a high-performance channel coding system that approximates the Shannon limit. They have been standardized in 5G systems and will likely continue to be used and optimized in future 6G systems.

[0003] Common LDPC decoding algorithms can be categorized as information transmission algorithms, essentially iterative algorithms. In LDPC decoding, the maximum number of iterations directly impacts decoding performance. Under the same channel conditions, a higher maximum number of iterations results in a lower decoding error rate and fewer data retransmissions. However, communication systems have strict processing time slot requirements for both the transmitter and receiver. The higher the actual number of iterations used in LDPC decoding, the more time is consumed, reducing data throughput and potentially causing communication system synchronization issues due to delayed decoding. Summary of the Invention

[0004] This application provides a decoding method, electronic device, and storage medium for low-density parity-check codes, which can reduce the bit error rate of LDPC decoding to a certain extent while meeting the communication performance requirements of communication systems.

[0005] To achieve the above objectives, this application adopts the following technical solution:

[0006] Firstly, this application provides a method for decoding a low-density parity-check (LDPC) code, comprising: 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 the first test case corresponding to the LDPC decoding test case; obtaining the maximum number of iterations based on the system computing power information and the decoding time of the first test case; and performing LDPC decoding based on the maximum number of iterations when receiving data to be decoded. Regarding system computing power information, the higher the system computing power information of the user terminal, the faster the LDPC decoding speed in one iteration. Under the premise of ensuring communication performance, user terminals with higher system computing power information can match a larger maximum number of iterations. Regarding test case decoding time, the shorter the test case decoding time, the faster the LDPC decoding speed. Under the premise of meeting the communication system's requirements for communication performance, user terminals with shorter test case decoding times can match a larger maximum number of iterations. By combining the system computing power information and the decoding time of the first test case to collaboratively match the maximum number of iterations, the error rate of LDPC decoding can be reduced to a certain extent while meeting the communication performance requirements of the user terminal, thereby reducing the number of data retransmissions.

[0007] In one possible implementation, if there are multiple LDPC decoding test cases, the decoding time corresponding to each of these multiple LDPC decoding test cases is obtained. Based on these multiple decoding times, the decoding time of the first test case is derived. By using multiple LDPC decoding test cases, the time spent by the user terminal performing LDPC decoding in different scenarios can be obtained, making the obtained test case decoding times closer to the actual situation.

[0008] In one possible implementation, the system's computing power information and the maximum number of iterations corresponding to the decoding time of the first use case are obtained based on an iteration count matching table. By using a pre-defined iteration count matching table to match the maximum number of iterations for LDPC decoding, the matching process for the maximum number of iterations can be simplified. Furthermore, a unified iteration count matching table can be used for different user terminals, enabling the matching of the corresponding maximum number of iterations through a unified matching rule.

[0009] In one possible implementation, a first iteration number corresponding to the system computing power information is matched based on an iteration number matching table; a second iteration number corresponding to the decoding time is matched based on the iteration number matching table; and the maximum iteration number corresponding to the system computing power information and the first use case decoding time is determined based on the first and second iteration numbers. By matching the corresponding iteration numbers according to the system computing power information and the use case decoding time, the smaller of the two iteration numbers is selected as the maximum iteration number, ensuring that the selected maximum iteration number satisfies both the system computing power information and the use case decoding time.

[0010] In one possible implementation, the maximum set of iterations corresponding to the system computing power information is selected from the iteration count matching table; the maximum number of iterations corresponding to the decoding time is selected from the maximum set of iterations; or, the maximum set of iterations corresponding to the decoding time of the first use case is selected from the iteration count matching table; the maximum number of iterations corresponding to the system computing power information is selected from the maximum set of iterations. By determining the maximum set of iterations based on the system computing power information or the use case decoding time, and then determining the maximum number of iterations from the maximum set of iterations based on the use case decoding time or the system computing power information, the selected maximum number of iterations ensures that it satisfies both the system computing power information and the use case decoding time.

[0011] In one possible implementation, system computing power information and the decoding time of the first use case are sent to the network-side device. This allows the network-side device to determine the maximum number of iterations based on these information and return the maximum number of iterations. Sending the corresponding system computing power information and the decoding time of the first use case to the network-side device, which then matches the maximum number of iterations to the user terminal, reduces the computational resource consumption of the user device.

[0012] In one possible implementation, upon receiving data to be decoded, LDPC iterative decoding begins based on the maximum number of iterations. LDPC iterative decoding ends when the maximum number of iterations is reached, or when the decoding result passes verification. The iteration stopping condition is improved to: when the number of iterations reaches the maximum number matching the system's computing power information and the decoding time of the first use case, or when the decoding result passes verification. It no longer uses a fixed maximum number of iterations as the iteration stopping condition.

[0013] In one possible implementation, a timer starts counting when LDPC iterative decoding begins. During LDPC iterative decoding, the timer is checked for timeouts. If a timer times out, the maximum number of iterations is adjusted, and LDPC iterative decoding is performed based on the adjusted maximum number of iterations. The timer also monitors whether the user terminal's system load increases. If the system load increases, it will lead to an increase in LDPC iterative decoding time, which may affect communication performance. In this case, the maximum number of iterations is readjusted to ensure communication performance.

[0014] In one possible implementation, the decoding time of the second test case corresponding to the LDPC decoding test case is obtained; based on the system computing power information and the decoding time of the second test case, the maximum number of iterations is recalculated; the maximum number of iterations is adjusted to the recalculated maximum number of iterations. When the timer expires, the LDPC decoding test case is rerun, the decoding time of the second test case is recalculated, and the corresponding maximum number of iterations is rematched based on the decoding time of the second test case. This ensures that the rematched maximum number of iterations can guarantee communication performance even when the load on the user terminal system increases.

[0015] In one possible implementation, the timer is cleared when it has not expired and the LDPC iterative decoding has ended. Alternatively, if the timer has not expired, it is cleared again when the LDPC iterative decoding ends, so that timing can resume for the next LDPC iterative decoding.

[0016] 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 the maximum number of iterations, obtains the LDPC iterative decoding result, and returns the LDPC iterative decoding result to the second user terminal. In a collaborative decoding scenario, when other user terminals receive the data packet to be decoded, they send the data packet to the user terminal. The user terminal performs LDPC iterative decoding on the data packet to be decoded based on the matching maximum number of iterations, obtains the LDPC decoding result, and feeds back the LDPC decoding result to the other user terminals, thereby achieving collaborative decoding between user terminals and other user terminals. Furthermore, since the system computing power information of other user terminals is relatively poor compared to that of the user terminal, this method improves the LDPC decoding performance of the other user terminals.

[0017] In one possible implementation, the processor model of the user terminal is obtained in response to the user terminal's initialization operation. Obtaining the processor model in response to the user terminal's initialization operation eliminates the need to match the maximum number of iterations for each LDPC iteration decoding, thus reducing redundant waste of the user terminal's computing resources.

[0018] In a second aspect, this application provides an electronic device including a processor and a memory; the memory stores computer-executable instructions; the processor executes the computer-executable instructions stored in the memory, causing the processor to perform the method described in the first aspect.

[0019] Thirdly, this application provides a computer-readable storage medium storing a computer program or instructions that, when executed, implement the method described in the first aspect.

[0020] Fourthly, this application provides a computer program product, including a computer program or instructions that, when executed by a processor, implement the method described in the first aspect. Attached Figure Description

[0021] Figure 1 A flowchart illustrating a decoding method for a low-density parity check code provided in an embodiment of this application;

[0022] Figure 2 A flowchart illustrating a method for matching system computing power information provided in an embodiment of this application;

[0023] Figure 3 A flowchart illustrating another decoding method for a low-density parity-check code provided in this application embodiment;

[0024] Figure 4 A flowchart illustrating another decoding method for a low-density parity-check code provided in this application embodiment;

[0025] Figure 5 A flowchart illustrating another decoding method for a low-density parity-check code provided in this application embodiment;

[0026] Figure 6 This is a component example diagram of an electronic device provided in an embodiment of this application. Detailed Implementation

[0027] The terms "first," "second," and "third," etc., used in this application specification, claims, and drawings are used to distinguish different objects, not to limit a specific order.

[0028] In the embodiments of this application, the terms "exemplary" or "for example" are used to indicate that something is an example, illustration, or description. Any embodiment or design that is described as "exemplary" or "for example" in the embodiments of this application should not be construed as being more preferred or advantageous than other embodiments or design. Specifically, the use of the terms "exemplary" or "for example" is intended to present the relevant concepts in a specific manner.

[0029] The following section explains the advantages of the low-density parity check code decoding method provided in this application, based on the principle of LDPC decoding.

[0030] 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 thus the fewer data retransmissions. However, communication systems have strict processing time slot requirements for the transmitting and receiving ends. 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 synchronization because it cannot complete the decoding in time.

[0031] Furthermore, if the channel quality is average, setting the maximum number of iterations to a smaller value might reduce the time spent on LDPC decoding, thus ensuring communication performance. However, a smaller maximum number of iterations could lead to incorrect LDPC decoding or a higher error rate, resulting in increased data retransmissions. If the channel quality is too poor, the errors in the data received by the user terminal may exceed the LDPC decoding capability itself. Regardless of the number of iterations, it will be difficult to complete the LDPC iterative decoding correctly. Therefore, even setting the maximum number of iterations to a large value may not necessarily reduce data throughput.

[0032] This application provides a low-density parity-check (LDPC) decoding method. Based on the user terminal's system computing power and LDPC decoding test cases, the maximum number of iterations for LDPC decoding is determined. This allows for adaptive adjustment of the maximum number of iterations based on the user terminal's (UE) hardware computing power. Specifically, the maximum number of iterations is determined collaboratively based on both system computing power information and test case decoding time. This adaptively adjusted maximum number of iterations is the maximum possible number of iterations while ensuring communication performance. This achieves a reduction in the LDPC decoding error rate to some extent while meeting the communication system's performance requirements, thereby reducing the number of data retransmissions.

[0033] The low-density parity check (LDPC) code decoding method provided in this application is applicable to communication between user terminals, communication between user terminals and network-side equipment, etc. The LPC code decoding method is basically applicable to all communication systems, such as wireless communication systems. For example, a user terminal can decode data packets to be decoded transmitted by other user terminals, or it can decode data packets to be decoded transmitted by network-side equipment. Wireless communication systems include: Global System for Mobile Communications (GSM), 5G mobile communication systems, General Packet Radio Service (GPRS), Global Navigation Satellite System (GLONASS), BeiDou Navigation Satellite System (BDS), etc.

[0034] The decoding method of the low-density parity check code provided in this application can be completed by the user terminal alone, by the user terminal and the network-side equipment in cooperation, or by multiple user terminals working together. The following three embodiments illustrate the above three completion methods respectively.

[0035] Example 1:

[0036] The following is combined Figure 1 and Figure 2 This application provides a detailed description of a low-density parity check (LDPC) code decoding method. The method is executed by a user terminal; that is, the LPC decoding method provided in this application is performed solely by the user terminal. The method includes the following steps:

[0037] S101. The user terminal obtains the processor model of the user terminal.

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

[0039] It should be noted that a user terminal can also be called an electronic device, and this application does not make a specific limitation.

[0040] Specifically, in response to the user terminal's initialization operation, the processor model of the user terminal is obtained.

[0041] This can be understood as follows: after the system program on the user terminal runs (i.e., after the user terminal initializes and powers on), the user terminal obtains the processor model through software commands. When the user terminal includes only one processor, it obtains the model of that single processor through software commands; when the user terminal includes multiple processors, it obtains the models of all multiple processors through software commands. For example, when the user terminal includes a main processor and a coprocessor, it obtains the models of both the main processor and the coprocessor through software instructions.

[0042] In one possible implementation, the user terminal's processor may execute cross-compiled code. In a cross-compilation scenario, the user terminal is the one executing the cross-compiled code. In this case, the user terminal still obtains its own processor model (the processor model that executes the cross-compiled code), rather than the processor model that compiles the source code.

[0043] Compilation is the process of converting source code into machine code. Source code cannot be executed by the machine (processor) on its own; it must be converted into binary machine code before it can be executed by the machine (processor).

[0044] Cross-compilation refers to a process where the platform on which the source code is compiled and the platform on which the compiled program is executed are two different platforms.

[0045] For example, a cross-compilation scenario could involve cross-compiling the source code on a platform with high computing power. After successful cross-compilation, the compiled program is then burned onto an ARM development board with relatively weak computing power. In this case, the processor (CPU) that compiles the source code has a higher computing power than the processor (CPU) that executes the compiled code.

[0046] Since the main body performing LDPC decoding is the user terminal to which the processor running the cross-compiled code belongs, the processor model running the cross-compiled code is obtained, and the system computing power information of the processor running the cross-compiled code is matched, so as to match the maximum number of iterations corresponding to the processor model running the cross-compiled code.

[0047] S102. The user terminal matches the corresponding system computing power information according to the processor model of the user terminal.

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

[0049] Among them, system computing power information can characterize the system computing power of the user terminal.

[0050] In one possible implementation, the system's computing power information is pre-set through processor parameters. These parameters include: clock speed, maximum turbo frequency, cache, number of cores, etc.

[0051] Clock speed is the clock frequency of the processor core, which can be directly understood as the processor's processing / computing speed. Generally speaking, the higher the clock speed of a processor, the faster its processing speed and the better its performance.

[0052] Maximum Turbo Boost frequency is the highest frequency that the processor's Turbo Boost technology can achieve. Turbo Boost technology can flexibly adjust the frequency according to the intensity of the processor's tasks. For example, it can automatically reduce the frequency when the processor temperature is too high to avoid overheating and burning out, and appropriately increase the frequency to complete tasks quickly when the workload is heavy.

[0053] Caching is used to solve the problem of a large gap between processor processing speed and memory access speed. When the processor's processing speed is so fast that the read and write tasks of the memory cannot be matched, the processor can store that part of the data in the cache, thereby alleviating the contradiction between the processor's processing speed and the memory read and write speed (i.e., access speed).

[0054] The number of cores 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.

[0055] In one possible implementation, system computing power information is represented by a numerical value; the higher the value, the stronger the system computing power of the user terminal.

[0056] It should be noted that the system computing power information can be set / assigned by the R&D personnel based on the processor model and corresponding processor parameters; or it can be calculated by a specific calculation formula. This application does not make any specific limitations.

[0057] To facilitate understanding, the following examples, using Table 1, illustrate the corresponding system computing power information. The system computing power information is represented numerically.

[0058] Table 1

[0059] Processor Model System computing power information Intel Core i9-13900, A100 100 Intel Core i7-13700, RTX 4090 90 Intel Core i5-13600K, RTX4070 80 Intel Core i9-12900, GT7300 70 Intel Core i5-12600 60 Intel Core i5-10400 50 Intel Core i3-10100 40

[0060] As shown in Table 1, the computing power matching table shows that when the processor model is Intel Core i9-13900 or 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 or 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.

[0061] In one possible implementation, the specific implementation steps of S102 are as follows: Figure 2 As shown. Figure 2 The specific implementation steps of S102 shown are mainly applied to scenarios after the upgrade of hardware components such as the processor and memory of the user terminal.

[0062] S1021. The user terminal determines whether the processor model is included in the pre-set computing capability matching table.

[0063] The pre-defined computing power matching table may not contain the processor model of the user terminal, so it is necessary to determine whether the computing power matching table includes the processor model. For example, when the user terminal's processor, memory, or other hardware components are upgraded, the processor model of the user terminal has actually changed with the upgrade. However, since the upgrade is performed on the user terminal's processor, memory, and other hardware components, the pre-defined computing power matching table may not contain the upgraded processor model, so it is necessary to determine whether the upgraded processor model is included.

[0064] It should be noted that hardware upgrades for user terminals must be performed before the user terminal starts up (before the program starts running or initialization begins). After the hardware components of the user terminal are upgraded, the user terminal starts running the program (i.e., when it starts up or initializes) and obtains the upgraded server model.

[0065] If the processor model is found to be included in the pre-set computing power matching table, proceed directly to S1023.

[0066] If it is determined that the processor model is not included in the pre-set computing power matching table, proceed to step S1022.

[0067] S1022. The user terminal sets the corresponding system computing power information according to the parameters of the upgraded processor and stores it in the computing power matching table.

[0068] In one possible implementation, the system computing power information is calculated using a preset formula based on the parameters of the user terminal's processor (e.g., clock speed, maximum turbo frequency, cache, number of cores, etc.), and the processor model and system computing power information are stored in a computing power matching table.

[0069] For example, based on the parameters of the upgraded processor, the system computing power information is calculated using a preset formula, and the upgraded processor model and system computing power information are stored in a computing power matching table.

[0070] It should be noted that after the hardware components such as the processor and memory of the user terminal are upgraded, the model of the current user terminal's processor has changed with the upgrade. Therefore, the computing power matching table should store the upgraded processor model.

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

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

[0073] Specifically, running an LDPC decoding test case can be understood as the user terminal decoding the LDPC code of that test case until the LDPC decoding is complete. The decoding of an LDPC decoding test case generally ends when the decoding is confirmed to be correct, at which point the iterative decoding of the LDPC process ceases.

[0074] For example, an LDPC decoding test case could be an LDPC code with noise added using a specific noise-adding algorithm, along with a corresponding fixed parity-check matrix. When a user terminal runs this LDPC decoding test case, it essentially decodes the noisy LDPC code according to the fixed parity-check matrix until the LDPC decoding is complete. 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 proportion of useful information to the total information in the encoded data stream; the LDPC code rate is the proportion of the information length to the LDPC code length.

[0075] In one possible implementation, there are multiple LDPC decoding test cases. These multiple LDPC decoding test cases can be multiple LDPC codes obtained based on different generated parity-check matrices.

[0076] When there are multiple LDPC decoding test cases, in one possible implementation, the test case decoding time can be the average of the decoding times of running multiple LDPC decoding test cases. For example, if there are 5 LDPC decoding test cases: 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 their corresponding decoding times are ta, tb, tc, td, and te, respectively, then the test 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 these weights.

[0077] By using multiple LDPC decoding test cases, the decoding time of each test case is obtained, which represents the time spent by the user terminal performing LDPC decoding in multiple scenarios. This makes the final obtained decoding time more closely resemble the actual situation, avoiding the uniqueness and suddenness that can occur when obtaining the decoding time from only one LDPC decoding test case. For example, a user terminal may decode a specific LDPC code very quickly, but decode other LDPC codes relatively slowly.

[0078] S104. The user terminal matches the maximum number of iterations for the corresponding LDPC decoding based on the matched system computing power information and the use case decoding time.

[0079] Specifically, based on a pre-defined iteration number matching table, the maximum number of iterations for the corresponding LDPC decoding is matched according to the system's computing power information and the use case decoding time.

[0080] Regarding system computing power information, the higher the system computing power information of the user terminal, the faster the speed of one iteration of LDPC decoding. That is, for the same LDPC code, the higher the system computing power information, the faster the LDPC decoding speed, and the less time is spent on LDPC decoding. Under the premise of ensuring communication performance (meeting the strict time slot requirements for processing at the transmitting and receiving ends in the communication system), user terminals with larger system computing power information can match a larger maximum number of iterations.

[0081] Regarding test case decoding time, the shorter the decoding time, the faster the LDPC decoding speed. Provided that the communication performance requirements (the strict time slot requirements for processing at the sending and receiving ends in the communication system) are met, user terminals with shorter test case decoding times can achieve a larger maximum number of matching iterations.

[0082] In this embodiment, the maximum number of iterations is matched by combining system computing power information and use case decoding time, thereby achieving the maximum number of iterations matched while ensuring communication performance at the user terminal.

[0083] In one possible implementation, the maximum iteration count is matched based on both system computing power information and test case decoding time. The smaller of the two maximum iteration counts is then determined as the maximum iteration count for the user terminal. For example, the maximum iteration count matched based on system computing power information is the first iteration count, and the maximum iteration count matched based on test case decoding time is the second iteration count. Since the first iteration count is greater than the second iteration count, the maximum iteration count matched for the user terminal is the second iteration count.

[0084] In one possible implementation, the set of maximum iteration counts can be determined first based on the matching system computing power information and a pre-defined iteration count matching table; then, based on the use case decoding time and the pre-defined iteration count matching table, the maximum iteration count for the corresponding LDPC decoding can be matched from the set of maximum iteration counts.

[0085] In another possible implementation, the set of maximum iteration counts can be determined first based on the use case decoding time and a pre-defined iteration count matching table; then, based on the matching system computing power information and the pre-defined iteration count matching table, the maximum iteration count of the corresponding LDPC decoding can be matched from the set of maximum iteration counts.

[0086] To facilitate understanding, the following example, in conjunction with Table 2, illustrates the maximum number of iterations required for the corresponding LDPC decoding.

[0087] Table 2

[0088] Use case decoding time System computing power information Maximum number of iterations <20us >90 15 <30us >80 13 <40us >70 10 <50us >60 5 <60us >50 3 <70us >40 2

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

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

[0091] Based on the iteration number matching table shown in Table 2, when the user terminal's test case decoding time is 21us and the matched system computing power information is 69, we can first determine the set of maximum iteration numbers as {5, 3, 2} based on the system computing power information 69. Then, based on the test case decoding time of 21us, we can match the corresponding maximum iteration number of 5 from the set of maximum iteration numbers.

[0092] It should be noted that the pre-set iteration number matching table can be set by the 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 impose any specific limitations.

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

[0094] After the user terminal receives the data to be decoded, it performs equalization and demodulation on the received data, and then performs LDPC iterative decoding based on the maximum number of matching 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 for LDPC iterative decoding is not greater than the maximum number of iterations, proceed to S107.

[0097] If the number of iterations in LDPC iterative decoding exceeds the maximum number of iterations, then proceed to S108.

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

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

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

[0101] If the decoding result of the LDPC iterative decoding passes the verification, then proceed to S108.

[0102] If the decoding result of LDPC iterative decoding fails to pass the verification, proceed to S105, that is, continue LDPC iterative decoding, and then check again whether the number of iterations of LDPC iterative decoding is greater than the maximum number of iterations and whether the verification passes, until the number of iterations of LDPC iterative decoding is greater than the maximum number of iterations (reaching the maximum number of iterations) or the decoding result of LDPC iterative decoding passes the verification, then LDPC iterative decoding ends.

[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 current technologies include methods for adjusting the maximum number of LDPC decoding iterations. For example, one existing technology involves performing channel estimation on the wireless channel and adjusting the maximum number of LDPC decoding iterations for the next data transmission based on the channel estimation results; another existing technology involves dynamically adjusting the current iteration number based on historical iteration counts and the maximum iteration count. These existing methods for adjusting the maximum number of LDPC decoding iterations require adjustment after each LDPC decoding iteration, resulting in a redundant waste of user terminal computing resources. However, in this embodiment, steps S101-S104, i.e., matching the user terminal's maximum iteration count, only need to be performed during user terminal initialization (power-on startup), saving user terminal computing resources.

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

[0107] Excessive system load can prevent the processor from handling other requests and operations, and may even cause a system crash. System load is a measure of the current workload of the processor, defined as the average number of threads in the run queue over a specific time interval. Load average represents the average load on the processor over a period of time, thus characterizing the current system load of the processor; a lower value is better.

[0108] Specific reasons that can lead to increased system load include: increased processor temperature, processor hardware failure, and processor attack.

[0109] To make it easier to understand, the following will be combined with... Figure 1S109-S111 will be described in detail. When the user terminal executes S105-S108, S109-S111 is also being performed simultaneously.

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

[0111] The timer within the user terminal is a task timing reminder software. The timer executes the corresponding task after a preset time has elapsed and is one of the most frequently used modules in the user terminal. In this application, the timer in the user terminal is the timer corresponding to the LDPC decoding task.

[0112] The timer's preset time is related to the maximum number of iterations for matching by the user terminal. Based on the test / simulation results of LDPC iterative decoding, a sub-preset time is configured for each iteration of the LDPC iteration. The preset time of the timer is then obtained based on the maximum number of iterations matched by the user terminal and the sub-preset time. This preset time can be used to characterize an estimate of the time consumed by the user terminal in performing the maximum number of LDPC decoding iterations, and this preset time will be slightly larger than the actual time consumed by the user terminal in performing the maximum number of LDPC decoding iterations.

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

[0114] During the LDPC decoding process, before the LDPC decoding ends, check whether the timer has timed out.

[0115] When a timer timeout is detected, the maximum number of LDPC decoding iterations is adjusted according to preset rules, and S103 and S104 are repeated.

[0116] When a timer timeout is detected, it indicates a significant increase in the system load on the user terminal's processor, affecting the speed of LDPC decoding and thus impacting current communication performance. Specifically, it may fail to meet the time slot requirements of the sending and receiving ends in the communication system, leading to reduced data throughput and even communication synchronization issues. Therefore, the maximum number of iterations is re-matched to ensure communication performance. System computing power information is matched based on the processor model. Regardless of whether the system load increases, if the processor model remains unchanged, the system computing power information remains the same. Therefore, the user terminal reruns the LDPC decoding test cases, re-acquires 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-acquired 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 less than the maximum number of iterations matched under normal conditions.

[0117] To facilitate understanding, the following example, in conjunction with Table 3, illustrates the maximum number of iterations required for re-matching the corresponding LDPC decoding.

[0118] Table 3

[0119] Use case decoding time System computing power information Maximum number of iterations <20us >90 25 <30us >80 20 <40us >70 18 <50us >60 15 <60us >50 13 <70us >40 10

[0120] Based on the iteration number matching table shown in Table 3, when the user terminal's test case decoding time is 15µs and the matched system computing power information is 88, the maximum number of iterations N_max1 for matching based on the test case decoding time and system computing power information is 20. LDPC iterative decoding begins with N_max1 = 20, and a timer is started. The timer's preset time is 20 * sub-preset time. If the timer times out before the LDPC iterative decoding ends, the LDPC decoding test case is rerun, resulting in a current test case decoding time of 42µs. Based on the test case decoding time of 42µs and the system computing power information of 88, the maximum number of iterations N_max2 for rematching is 15. LDPC iterative decoding begins with N_max2 = 15, and a timer is started. At this time, the timer's preset time is 15 * sub-preset time.

[0121] Therefore, the preset time of the timer is adjusted accordingly as the maximum number of iterations is changed. This ensures that the timer can accurately keep time during the next LDPC decoding iteration.

[0122] If no timer timeout is detected, it indicates that the system load of the user terminal's processor has not increased significantly and has not affected the speed of LDPC decoding by the user terminal, so proceed to S110.

[0123] S111. When the LDPC iterative decoding ends, clear the timer.

[0124] The timer will restart when the next LDPC iteration decoding begins.

[0125] To avoid increased system load potentially causing a decrease in communication performance, a timer is added to monitor the time consumed by the user terminal during LDPC iterative decoding. When the timer expires, it indicates that the time consumed by LDPC iterative decoding has exceeded the preset time. Continuing to perform LDPC iterative decoding with the current maximum number of iterations may lead to a decrease in communication performance. Therefore, the LDPC decoding test case is rerun to obtain the decoding test time. Based on the obtained decoding test time and system computing power information, the maximum number of iterations is rematched, and LDPC iterative decoding is performed based on the rematched maximum number of iterations to ensure communication performance.

[0126] This application provides a method for decoding a low-density parity-check (LDPC) code. The method involves obtaining the processor model of the user terminal; matching the corresponding system computing power information based on the processor model; running LDPC decoding test cases and obtaining the decoding time; matching the maximum number of iterations based on the matched system computing power information and the decoding time; and performing iterative LDPC decoding based on the maximum number of iterations. This embodiment combines the user terminal's system computing power information and the decoding time to collaboratively match the maximum number of iterations. By performing LDPC decoding using this maximum number of iterations, the method meets 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.

[0127] Furthermore, the low-density parity check (LDPC) decoding method provided in this application starts acquiring the processor model of the user terminal in response to user terminal initialization (power-on startup, system program running). This eliminates the need to acquire the processor model of the user terminal every time LDPC iterative decoding is performed, reducing the waste of redundant computing resources.

[0128] Furthermore, a timer is added to monitor the time consumed by the user terminal during LDPC iterative decoding. When the timer expires, the maximum number of iterations is rematched to avoid a decrease in communication performance due to increased system load.

[0129] The low-density parity check code decoding method described in Embodiment 1 above is implemented through a user terminal. The low-density parity check code decoding method described in Embodiment 2 below is implemented by the cooperation of the user terminal and the network-side equipment.

[0130] Example 2:

[0131] The following is combined Figure 3 This application provides a detailed description of another low-density parity check code decoding method. This method is implemented through cooperation between a user terminal and a network-side device, and includes the following steps:

[0132] S301, The user terminal obtains the processor model of the user terminal.

[0133] S302. The user terminal matches the corresponding system computing power information based on the processor model of the user terminal.

[0134] S303. The user terminal runs LDPC decoding test cases and obtains the decoding time of the test cases.

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

[0136] S304. The user terminal reports the system computing power information and use case decoding time to the network-side device.

[0137] Network-side equipment (also known as network devices) are specialized hardware devices used to connect various servers, PCs, user terminals, and other nodes to form an information and communication network. Common network-side equipment includes: 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.

[0138] In one possible implementation, system computing capability information and use case decoding time are provided to the network-side device via UE Capability Information. Here, UE Capability Information is the uplink UE (User Equipment) capability query response information.

[0139] In another possible implementation, the NAS signaling Registration Request carried by RRC SetupComplete reports the use case decoding time and system computing power information to the network-side device. RRCSetupComplete is the user terminal's response to the "RRC SETUP" message allocated radio resources by the network-side device. Registration Request is a commonly used registration request message by user terminals.

[0140] S305. The network-side device matches the maximum number of iterations for the corresponding LDPC decoding based on the received system computing power information and use case decoding time.

[0141] In one possible implementation, the network-side device matches the maximum number of iterations for LDPC decoding based on a pre-defined iteration count matching table, the received system computing power information, and the use case decoding time. In another possible implementation, the network-side device may match the maximum number of iterations for LDPC decoding using other methods, such as preset formulas or machine learning models, based on the received system computing power information and the use case decoding time. This application does not impose specific limitations.

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

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

[0144] In one possible implementation, the network device sends the maximum number of matching iterations to the user via DCI information.

[0145] The DCI (Downlink Control Information) is formed in a predetermined format and is unicast to each user terminal in the PDCCH by the network-side equipment. 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 information carries the maximum number of matching iterations to the user terminal.

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

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

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

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

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

[0151] If the decoding result of LDPC iterative decoding passes the verification, then proceed to S310.

[0152] If the decoding result of LDPC iterative decoding fails to pass the verification, then proceed to S307, that is, continue LDPC iterative decoding, and then check again whether the number of iterations of LDPC iterative decoding is greater than the maximum number of iterations and whether the verification passes, until the number of iterations of LDPC iterative decoding is greater than the maximum number of iterations (reaching the maximum number of iterations) or the decoding result of LDPC iterative decoding passes the verification, then LDPC iterative decoding ends.

[0153] S310 and LDPC iterative decoding have ended.

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

[0155] It should be noted that when the user terminal executes S305-S308, a timer is also running.

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

[0157] This application provides a method for decoding a low-density parity-check (LDPC) code. The user terminal sends its system computing power information and test case decoding time to a network-side device. The network-side device matches the corresponding maximum number of iterations and returns it to the user terminal. The user terminal then performs LDPC decoding based on the maximum number of iterations matched by the network-side device. In other words, the network-side device combines the user's system computing power information and test case decoding time to collaboratively match the maximum number of iterations and returns it to the user terminal. The user terminal performs LDPC decoding using this maximum number of iterations. This method satisfies the communication system's performance requirements while reducing the bit error rate of LDPC decoding to some extent, thereby reducing the number of data retransmissions.

[0158] Furthermore, the system computing power information and test case decoding time of the user terminal are sent to the network-side device, which then matches the corresponding maximum number of iterations based on the system computing power information and test case decoding time, thereby reducing the consumption of computing resources by the user terminal.

[0159] As shown in Embodiments 1 and 2, the maximum number of iterations for matching the LDPC decoding of the user terminal can be obtained by the user terminal itself based on system computing power information and use case decoding time; or it can be obtained by the network-side device based on the user terminal's system computing power information and use case decoding time, and then returned to the user terminal. Therefore, the decoding method for the low-density parity check code provided in this application can select the method of matching the maximum number of iterations according to the actual situation, and this application does not make specific limitations. For ease of description, the method of matching the maximum number of iterations for LDPC decoding in the following embodiments only takes the method of matching the user terminal itself based on system computing power information and use case decoding time as an example.

[0160] The low-density parity check code decoding method described in Embodiment 2 above is implemented by the cooperation of user terminals and network-side equipment. The low-density parity check code decoding method described in Embodiment 3 below is implemented by the collaboration of multiple user terminals.

[0161] Example 3:

[0162] The following is combined Figure 4This application provides a detailed description of a low-density parity check (LDPC) code decoding method. This method is applicable to collaborative decoding scenarios, meaning that the LPC decoding method provided in this application is collaboratively performed by multiple user terminals.

[0163] Cooperative decoding: refers to coordinating two or more different user terminals to complete the LDPC decoding task in a coordinated manner.

[0164] To facilitate understanding, a detailed explanation will be provided using two different user terminals (user terminal A and user terminal B) as examples. User terminal A has weaker computing power, while user terminal B has stronger computing power. The method includes the following steps:

[0165] S401. User terminal B obtains the processor model of user terminal B.

[0166] S402. User terminal B matches the corresponding system computing capability information based on the processor model of user terminal B.

[0167] S403. User terminal B runs LDPC decoding test cases and obtains the decoding time of the test cases.

[0168] S404. User terminal B matches the maximum number of iterations for the corresponding LDPC decoding based on the matched system computing power information and the use case decoding time.

[0169] S405, User terminal A receives downlink data packets and LDPC decoding parameters.

[0170] The LDPC decoding parameters include: LDPC encoding method, code length, code rate, etc.

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

[0172] S407. User terminal B performs LDPC iterative decoding based on the maximum number of matching iterations.

[0173] User terminal B performs LDPC iterative decoding on the downlink data packets sent by user terminal A based on the maximum number of matching iterations.

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

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

[0176] When the number of iterations in LDPC iterative decoding exceeds the maximum number of iterations, LDPC iterative decoding ends and proceeds to S710.

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

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

[0179] If the decoding result of LDPC iterative decoding fails the verification, then S407 is executed.

[0180] S410, User Terminal B ends LDPC iterative decoding and obtains the LDPC decoding result.

[0181] S411, User terminal B sends the LDPC decoding result back to user terminal A.

[0182] At this point, user terminal A receives the LDPC decoding result from user terminal B, completing this collaborative decoding.

[0183] It should be noted that while user terminal A and user terminal B are working together to complete LDPC decoding, user terminal B can still perform LDPC iterative decoding on the downlink data packets it receives, based on the maximum number of matching iterations. Figure 4 Only the collaborative decoding process between user terminal A and user terminal B is shown.

[0184] according to Figure 4 As can be seen, in the collaborative decoding scenario, when user terminal A receives the data packet to be decoded, user terminal A does not perform LDPC iterative decoding. Instead, it sends the data packet to user terminal B. User terminal B performs LDPC iterative decoding on the data packet sent by user terminal A, obtains the LDPC decoding result, and feeds it back to user terminal A, thus completing the LDPC decoding of the data packet received by user terminal A, i.e., completing this collaborative decoding. That is, user terminal A itself does not need to perform LDPC iterative decoding. Therefore, in the collaborative decoding scenario, user terminal B can match the maximum number of iterations based on its own system computing power information and the decoding time of the use case.

[0185] Example 4:

[0186] The following is combined Figure 5 This paper details a decoding method for a low-density parity check code provided in an embodiment of this application.

[0187] S501. Obtain the processor model of the user terminal and match the system computing power information corresponding to the processor model.

[0188] Specifically, in response to the user terminal's initialization operation, the processor model of the user terminal is obtained.

[0189] S502. Obtain the decoding time of the first test case corresponding to the LDPC decoding test case.

[0190] Specifically, run the LDPC decoding test case to obtain the decoding time of the first test case.

[0191] 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 each of the multiple LDPC decoding test cases; based on the multiple decoding times, the decoding time of the first test case corresponding to the LDPC decoding test case is obtained.

[0192] S503. Based on the system's computing power information and the decoding time of the first use case, the maximum number of iterations is obtained.

[0193] Specifically, based on the iteration count matching table, the system's computing power information and the maximum number of iterations corresponding to the decoding time of the first use case are obtained.

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

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

[0196] In one possible implementation, the system computing power information and the decoding time of the first use case are sent to the network-side device. This allows the network-side device to determine the maximum number of iterations based on these information and return the maximum number of iterations. This reduces the computational resource consumption of user devices.

[0197] S504. When the data to be decoded is received, perform LDPC iterative decoding based on the maximum number of iterations.

[0198] Specifically, when data to be decoded is received, LDPC iterative decoding begins based on the maximum number of iterations; LDPC iterative decoding ends when the maximum number of iterations is reached, or when the decoding result of LDPC iterative decoding passes verification.

[0199] In one possible implementation, a timer starts counting when LDPC iterative decoding begins. During the LDPC iterative decoding process, the timer is checked to see if it has timed out.

[0200] When the timer expires, 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 expires, the decoding time of the second test case corresponding to the LDPC decoding test case is obtained, i.e., the LDPC decoding test case is rerun to obtain the decoding time of the second test case; based on the system computing power information and the decoding time of the second test case, the maximum number of iterations is obtained again; and the maximum number of iterations for LDPC decoding is adjusted to the newly obtained maximum number of iterations.

[0201] The timer is cleared before it expires and when the LDPC iterative decoding is finished.

[0202] In one possible implementation, 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. The first user terminal performs LDPC iterative decoding on the data to be decoded based on maximum iterative decoding, obtains the LDPC iterative decoding result, and returns the LDPC iterative decoding result to the second user terminal. The first user terminal has a higher system computing power than the second user terminal. This achieves collaborative decoding between the first and second user terminals.

[0203] This application provides a method for decoding a low-density parity-check (LDPC) code. The method involves obtaining the processor model of a user terminal and matching it with the corresponding system computing power information; obtaining the decoding time of the first test case corresponding to the LDPC decoding test case; determining the maximum number of iterations based on the system computing power information and the first test case decoding time; and performing LDPC iterative decoding based on the maximum number of iterations when data to be decoded is received. Regarding system computing power information, the higher the system computing power of the user terminal, the faster the LDPC decoding speed in one iteration. Under the premise of ensuring communication performance, user terminals with higher system computing power information can match a larger maximum number of iterations. Regarding test case decoding time, the shorter the test case decoding time, the faster the LDPC decoding speed. Under the premise of meeting the communication system's performance requirements, user terminals with shorter test case decoding times can match a larger maximum number of iterations. By combining system computing power information and the first test case decoding time to collaboratively match the maximum number of iterations, the method achieves a certain degree of reduction in the LDPC decoding error rate while meeting the communication performance requirements of the user terminal, thereby reducing the number of data retransmissions.

[0204] This embodiment provides an electronic device, which may also be referred to as a user terminal. The electronic device includes a processor and a memory; the memory stores computer execution instructions; the processor executes the computer execution instructions stored in the memory, causing the processor to perform... Figures 1-5 The relevant methods and steps are described in the text.

[0205] To make it easier to understand, the following will be combined with... Figure 6 Let me give you a detailed introduction to the user terminal.

[0206] like Figure 1 As shown, 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, etc.

[0207] The processor 110 may include one or more processing units, such as 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).

[0208] The controller can serve as the nerve center and command center of an electronic device. Based on the instruction opcode and timing signals, the controller generates operation control signals to control the fetching and execution of instructions.

[0209] The processor 110 may also include a memory for storing instructions and data. In some embodiments, the memory in the processor 110 is a cache memory. This memory can store instructions or data that the processor 110 has just used or that are used repeatedly. If the processor 110 needs to use the instruction or data again, it can retrieve it directly from the memory. This avoids repeated accesses, reduces the waiting time of the processor 110, and thus improves the efficiency of the system.

[0210] In this application, the modem processor 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.

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

[0212] The mobile communication module 130 can provide solutions for wireless communication applications, including 2G / 3G / 4G / 5G, in electronic devices.

[0213] The wireless communication module 140 can provide solutions for wireless communication applications in 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), and infrared (IR) technologies.

[0214] In some embodiments, the antenna 1 of the electronic device is coupled to the mobile communication module 130, and the antenna 2 is coupled to the wireless communication module 140, enabling the electronic device to communicate with networks and other devices via wireless communication technology.

[0215] This embodiment also provides a computer-readable storage medium including instructions that, when executed on an electronic device, cause the electronic device to perform... Figures 1-5 The relevant methods and steps are described in the above embodiments to implement the methods described.

[0216] This embodiment also provides a computer program product containing instructions that, when run on an electronic device, cause the electronic device to perform actions such as... Figures 1-5 The relevant methods and steps are described in the above embodiments to implement the methods described.

Claims

1. A decoding method of a low-density parity-check code characterized by, include: Obtain the processor model of the user terminal and match the system computing power information corresponding to the processor model; Obtain the decoding time of the first test case corresponding to the low-density parity check (LDPC) decoding test case; Based on the system's computing power information and the decoding time of the first use case, the maximum number of iterations is obtained; When data to be decoded is received, LDPC iterative decoding is performed based on the maximum number of iterations.

2. The method of claim 1, wherein, The number of LDPC decoding test cases is multiple; The process of obtaining the decoding time of the first test case corresponding to the low-density parity-check (LDPC) decoding test case includes: Obtain multiple decoding times corresponding to the multiple LDPC decoding test cases respectively; Based on the multiple decoding times, the decoding time of the first test case corresponding to the LDPC decoding test case is obtained.

3. The method of claim 1, wherein, The step of obtaining the maximum number of iterations based on the system's computing power information and the decoding time of the first use case includes: Based on the iteration count matching table, the system's computing power information and the maximum number of iterations corresponding to the decoding time of the first use case are obtained.

4. The method according to claim 3, characterized in that, The process of obtaining the system's computing power information and the maximum number of iterations corresponding to the decoding time of the first use case based on the iteration count matching table includes: Based on the iteration number matching table, match the first iteration number corresponding to the system computing power information; Based on the iteration count matching table, match the second iteration count corresponding to the decoding time of the first use case; Based on the first iteration number and the second iteration number, the system computing power information and the maximum number of iterations corresponding to the decoding time of the first use case are determined.

5. The method according to claim 3, characterized in that, The step of obtaining the maximum number of iterations corresponding to the system's computing power information and the decoding time of the first use case based on the iteration number matching table includes: The maximum set of iteration counts corresponding to the system computing power information is selected from the iteration count matching table; the maximum set of iteration counts corresponding to the decoding time of the first use case is selected from the maximum set of iteration counts. or, The maximum set of iteration counts corresponding to the decoding time of the first use case is selected from the iteration count matching table; the maximum set of iteration counts corresponding to the system computing power information is selected from the maximum set of iteration counts.

6. The method according to claim 1, characterized in that, The step of obtaining the maximum number of iterations based on the system's computing power information and the decoding time of the first use case includes: The system computing power information and the decoding time of the first use case are sent to the network-side device so that the network-side device can determine the maximum number of iterations based on the system computing power information and the decoding time of the first use case, and return the maximum number of iterations.

7. The method according to claim 1, characterized in that, When data to be decoded is received, LDPC iterative decoding is performed based on the maximum number of iterations, including: When the data to be decoded is received, LDPC iterative decoding begins based on the maximum number of iterations. The LDPC iterative decoding ends when the number of iterations reaches the maximum number of iterations, or when the decoding result of the LDPC iterative decoding passes the verification.

8. The method according to claim 7, characterized in that, The method further includes: The timer starts counting when LDPC iterative decoding begins; During the LDPC iterative decoding process, it is checked 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, Adjusting the maximum number of iterations includes: Obtain the decoding time of the second test case corresponding to the LDPC decoding test case; the decoding time of the second test case is greater than the decoding time of the first test case; Based on the system's computing power information and the decoding time of the second use case, the maximum number of iterations is re-obtained; The maximum number of iterations is adjusted to the newly obtained maximum number of iterations.

10. The method according to claim 8, characterized in that, The method further includes: The timer is cleared when it has not expired and the LDPC iterative decoding has ended.

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 power of the first user terminal is greater than that of the second user terminal.

12. The method according to any one of claims 1-11, characterized in that, The step of obtaining the processor model of the user terminal includes: In response to the user terminal's initialization operation, the processor model of the user terminal is obtained.

13. An electronic device, characterized in that, Including processor and memory; The memory stores computer-executed instructions; The processor executes computer execution instructions stored in the memory, causing the processor to perform the method as described in any one of claims 1-12.

14. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program or instructions that, when executed, implement the method as described in any one of claims 1-12.