Decoding method of low-density parity check code, electronic equipment and storage medium
By matching the decoding time of the processor model and LDPC decoding test cases in the user terminal, the maximum number of iterations of LDPC decoding is coordinated to determine the communication performance problem caused by the long LDPC decoding time is solved, and the effect of reducing the bit error rate and reducing data retransmission is achieved.
Patent Information
- Application Number
- CN202311563132.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-11-21
- Publication Date
- 2025-05-30
- Estimated Expiration
- 2043-11-21
AI Technical Summary
In a communication system, setting the maximum number of iterations of the LDPC decoding algorithm too large will lead to an increase in the decoding time, reduce data throughput, and may lead to communication loss.
By obtaining the processor model of the user terminal and the decoding time of the LDPC decoding test case, the maximum number of iterations of LDPC decoding is coordinated to reduce the bit error rate of LDPC decoding while ensuring communication performance.
It realizes that while meeting the communication performance requirements of the communication system, the bit error rate of LDPC decoding is reduced, thereby reducing the number of data retransmissions and improving the system reliability and data throughput.
Smart Images

Figure CN120074542A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communication technologies, and in particular, to a decoding method, an electronic device, and a storage medium for a low-density parity-check code. Background Art
[0002] In a communication system, due to interference such as noise, fading, and multipath in the transmission channel, distortion and signal decision errors will inevitably be introduced into the transmitted data. Channel coding technology adds redundant code elements to the information sequence to detect and correct signal errors that occur during transmission, thereby improving the reliability of the system. The Low-Density Parity-Check (LDPC) code is an excellent channel encoding and decoding that can approach the Shannon limit. It has been standardized in the 5G system and will even continue to be used and optimized in future 6G systems.
[0003] Common LDPC decoding algorithms can be classified as message-passing algorithms, which are essentially iterative algorithms. In the LDPC decoding algorithm, the maximum number of iterations directly affects the decoding performance. Under the same channel conditions, the larger the value of the maximum number of iterations is set, the lower the decoding error rate of the LDPC decoding algorithm, and thus the fewer the number of data retransmissions. However, there are strict processing time slot requirements for the sending and receiving ends in the communication system. The larger the number of iterations actually used for LDPC decoding, the more time LDPC decoding will take, which will reduce the data throughput rate and may even cause the communication system to lose synchronization because it cannot complete decoding in time. Summary of the Invention
[0004] A decoding method, an electronic device, and a storage medium for a low-density parity-check code provided by this application can reduce the decoding error rate of LDPC to a certain extent while meeting the requirements of the communication system for communication performance.
[0005] To achieve the above object, this application adopts the following technical solutions:
[0006] In a first aspect, the present application provides a decoding method for a low-density parity-check code, including: obtaining the processor model of a user terminal and matching the system computing power information corresponding to the processor model; obtaining the first case decoding time corresponding to a low-density parity-check (LDPC) decoding test case; obtaining the maximum number of iterations based on the system computing power information and the first case decoding time, and when receiving data to be decoded, performing LDPC decoding based on the maximum number of iterations. For the system computing power information, the higher the system computing power information of the user terminal, the faster the speed of performing one iteration of LDPC decoding. On the premise of ensuring communication performance, the larger the system computing power information of the user terminal, the larger the matched maximum number of iterations. For the case decoding time, the less the case decoding time, the faster the LDPC decoding speed. On the premise of meeting the requirements of the communication system for communication performance, the user terminal with less case decoding time has a larger matched maximum number of iterations. Combining the two aspects of the system computing power information and the first case decoding time, collaboratively matching the maximum number of iterations, thereby achieving a certain degree of reduction in the error rate of LDPC decoding under the premise that the user terminal meets the requirements of communication performance, and thus reducing the number of data retransmissions.
[0007] In a possible implementation manner, if the number of LDPC decoding test cases is multiple, obtain the decoding times respectively corresponding to the multiple LDPC decoding test cases, and obtain the first case decoding time based on the multiple decoding times. Through multiple LDPC decoding test cases, the time consumption of the user terminal for LDPC decoding in different scenarios can be obtained, so that the obtained case decoding time can be closer to the actual situation.
[0008] In a possible implementation manner, obtain the maximum number of iterations corresponding to the system computing power information and the first case decoding time based on an iteration number matching table. By using the pre-set iteration number matching table to match the corresponding maximum number of iterations of LDPC decoding, the matching process of the maximum number of iterations can be simplified, and for different user terminals, a unified iteration number matching table can be used, so that the corresponding maximum number of iterations can be matched according to a unified matching rule.
[0009] In a possible implementation manner, match the first iteration number corresponding to the system computing power information based on the iteration number matching table; match the second iteration number corresponding to the decoding time based on the iteration number matching table; determine the maximum number of iterations corresponding to the system computing power information and the first case decoding time according to the first iteration number and the second iteration number. Match the corresponding iteration numbers according to the system computing power information and the case decoding time respectively, and select the smaller of the two iteration numbers as the maximum number of iterations, which ensures that the selected maximum number of iterations meets both the system computing power information and the case decoding time.
[0010] In a possible implementation, a set of maximum iteration counts corresponding to the system computing power information is filtered out from the iteration count matching table; the maximum iteration count corresponding to the decoding time is filtered out from the set of maximum iteration counts; or, a set of maximum iteration counts corresponding to the decoding time of the first use case is filtered out from the iteration count matching table; the maximum iteration count corresponding to the system computing power information is filtered out from the set of maximum iteration counts. The set of maximum iteration counts is determined according to the system computing power information or the decoding time of the use case, and then the maximum iteration count is determined from the set of maximum iteration counts according to the decoding time of the use case or the system computing power information, ensuring that the selected maximum iteration count satisfies both the system computing power information and the decoding time of the use case.
[0011] In a possible implementation, 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 iteration count according to the system computing power information and the decoding time of the first use case, and return the maximum iteration count. The corresponding system computing power information and the decoding time of the first use case are sent to the network-side device, and the network-side device matches the maximum iteration count according to the system computing power information and the decoding time of the first use case, and then sends it to the user terminal, reducing the occupation of the computing resources of the user device.
[0012] In a possible implementation, when the data to be decoded is received, LDPC iterative decoding starts based on the maximum iteration count; when the iteration count reaches the maximum iteration count, or when the decoding result verification of the LDPC iterative decoding passes, the LDPC iterative decoding ends. The iteration stop condition is improved to: when the iteration count reaches the maximum iteration count matched according to the system computing power information and the decoding time of the first use case, or when the decoding result verification of the LDPC iterative decoding passes. It no longer uses a fixed maximum iteration count as the iteration stop condition.
[0013] In a possible implementation, when the LDPC iterative decoding starts, the timer starts timing; during the LDPC iterative decoding process, it is detected whether the timer times out; when the timer times out, the maximum iteration count is adjusted, and the LDPC iterative decoding is performed based on the adjusted maximum iteration count. The timer is used to detect whether the system load of the user terminal increases. If the system load increases, it will cause an increase in the LDPC iterative decoding time, which may affect the communication performance. Then the maximum iteration count is readjusted to ensure the communication performance.
[0014] In a possible implementation, obtain the decoding time of the second test case corresponding to the LDPC decoding test case; based on the system computing power information and the decoding time of the second test case, obtain the maximum number of iterations again; adjust the maximum number of iterations to the newly obtained maximum number of iterations. When the timer times out, re-run the LDPC decoding test case to obtain the decoding time of the second test case again, so as to re-match the corresponding maximum number of iterations based on the decoding time of the second test case, thereby ensuring that the re-matched maximum number of iterations can also ensure the communication performance when the system load of the user terminal increases.
[0015] In a possible implementation, when the timer has not timed out and the LDPC iterative decoding ends, clear the timer. When the timer has not timed out, when the LDPC iterative decoding ends, clear the timer, so as to perform timing again during the next LDPC iterative decoding.
[0016] In a possible implementation, this method is applied to the first user terminal. The 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 decoding result of the LDPC iterative decoding, and returns the decoding result of the LDPC iterative decoding to the second user terminal. For the scenario of collaborative decoding, when other user terminals receive the data packet to be decoded, they send the data packet to be decoded to the user terminal. The user terminal performs LDPC iterative decoding on the data packet to be decoded according to the matched maximum number of iterations, obtains the LDPC decoding result, and feeds back the LDPC decoding result to other user terminals, thereby realizing collaborative decoding between the user terminal and other user terminals. And the system computing power information of other user terminals is worse than that of the user terminal, while improving the LDPC decoding performance of other user terminals.
[0017] In a possible implementation, in response to the initialization operation of the user terminal, obtain the processor model of the user terminal. In response to the initialization operation of the user terminal, obtaining the processor model of the user terminal does not require matching the maximum number of iterations every time LDPC iterative decoding is performed, reducing the repeated waste of computing resources of the user terminal.
[0018] In a second aspect, the present application provides an electronic device, which includes a processor and a memory; the memory stores computer execution instructions; the processor executes the computer execution instructions stored in the memory, so that the processor executes the method of the first aspect above.
[0019] 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 run, the method of the first aspect above is implemented.
[0020] In a fourth aspect, the present application provides a computer program product, including a computer program or instructions, which, when executed by a processor, implement the method of the first aspect described above. BRIEF DESCRIPTION OF THE DRAWINGS
[0021] Figure 1 It is a schematic flowchart of a decoding method for a low-density parity-check code provided by an embodiment of the present application;
[0022] Figure 2 It is a schematic flowchart of a method for calculating the computing power information of a matching system provided by an embodiment of the present application;
[0023] Figure 3 It is a schematic flowchart of another decoding method for a low-density parity-check code provided by an embodiment of the present application;
[0024] Figure 4 It is a schematic flowchart of another decoding method for a low-density parity-check code provided by an embodiment of the present application;
[0025] Figure 5 It is a schematic flowchart of another decoding method for a low-density parity-check code provided by an embodiment of the present application;
[0026] Figure 6 It is an example diagram of the composition of an electronic device provided by an embodiment of the present application. DETAILED DESCRIPTION OF THE EMBODIMENTS
[0027] The terms "first", "second", "third", etc. in the specification, claims and drawings of the present application are used to distinguish different objects, rather than to limit a specific order.
[0028] In the embodiments of the present application, words such as "exemplary" or "for example" are used to represent examples, illustrations or explanations. Any embodiment or design solution described as "exemplary" or "for example" in the embodiments of the present application should not be construed as being more preferred or having more advantages than other embodiments or design solutions. Rather, the use of words such as "exemplary" or "for example" is intended to present related concepts in a specific manner.
[0029] The following describes the advantages of a decoding method for a low-density parity-check code provided by the present application in combination with 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 value of the maximum number of iterations is set, the lower the decoding error rate of the LDPC decoding algorithm, and thus the fewer the number of data retransmissions. However, in a communication system, there are strict processing time slot requirements for the transmitter and receiver. The larger the actual number of iterations used for LDPC decoding, which can also be understood as the larger the value of the maximum number of iterations is set, the more time LDPC decoding will take, which will reduce the data throughput rate and may even cause the communication system to lose synchronization due to the inability to complete decoding in time.
[0031] In addition, if the channel quality is average, setting a smaller value for the maximum number of iterations may be able to reduce the time occupied by LDPC decoding, thus ensuring communication performance. However, due to the smaller value of the maximum number of iterations, it may not be possible to correctly complete LDPC decoding or the decoding error rate of LDPC decoding is relatively high, resulting in an increase in the number of data retransmissions. If the channel quality is too poor and the data received by the user terminal contains more errors than the LDPC decoding ability itself, no matter how many times of iteration, it is difficult to correctly complete LDPC iterative decoding. Therefore, even if the value of the maximum number of iterations is set too large, it may not necessarily be able to reduce the data throughput.
[0032] This application provides a decoding method for low-density parity-check codes. By obtaining the maximum number of iterations for LDPC decoding based on the system computing power of the user terminal and LDPC decoding test cases, it can adaptively adjust the maximum number of iterations for LDPC decoding according to the computing power of the hardware of the user terminal (User Equipment, UE), that is, jointly determine the maximum number of iterations for LDPC decoding based on two aspects: system computing power information and case decoding time. The adaptively adjusted maximum number of iterations is the maximum number of iterations that can be set under the condition of ensuring communication performance, achieving a certain reduction in the decoding error rate of LDPC decoding while meeting the requirements of the communication system for communication performance, thereby reducing the number of data retransmissions.
[0033] The decoding method of the low-density parity-check code provided by this 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, such as wireless communication systems. Exemplarily, a user terminal can decode a data packet to be decoded transmitted by another user terminal, or can decode a data packet to be decoded transmitted by a network-side device. Among them, the wireless communication system includes: global system for mobile communications (GSM), 5G mobile communication system, general packet radio service (GPRS), global navigation satellite system (GLONASS), Beidou satellite navigation system (BDS), etc.
[0034] The decoding method of the low-density parity-check code provided by this application can be completed by a user terminal alone, can be completed by the cooperation of a user terminal and a network-side device, or can be completed by the cooperation of multiple user terminals. The following three embodiments will be used to illustrate the above three completion methods respectively.
[0035] Embodiment 1:
[0036] The following will combine Figure 1 and Figure 2 to introduce in detail a decoding method of the low-density parity-check code provided by the embodiments of this application. The execution subject of this method is a user terminal, that is, a decoding method of the low-density parity-check code provided by the embodiments of this application is completed and executed by a user terminal alone. The method includes the following steps:
[0037] S101. The user terminal obtains the processor model of the user terminal.
[0038] A user terminal (User Equipment, UE) can be a mobile phone, a tablet computer, a desktop computer, a laptop computer, a notebook computer, an Ultra-mobile Personal Computer (UMPC), a handheld computer, a netbook, a Personal Digital Assistant (PDA), a wearable electronic device, a smart watch, etc. This application does not make special restrictions on the specific form of the above user terminal.
[0039] It should be noted that the user terminal can also be called an electronic device, and this application does not make specific limitations.
[0040] Specifically, in response to the initialization operation of the user terminal, the processor model of the user terminal is obtained.
[0041] It can be understood that after the system program of the user terminal runs (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 software instructions.
[0042] In a possible implementation, the processor of the user terminal may execute cross-compiled code. For the cross-compilation scenario, the user terminal is the 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), rather than obtaining the processor model for source code compilation.
[0043] Compilation is the process of converting source code into machine code. Source code cannot be executed by a machine (processor), and it needs to be converted into binary machine code to be executed by a machine (processor).
[0044] Cross-compilation means that the platform for compiling the source code and the platform for executing the program after source code compilation are two different platforms.
[0045] Exemplarily, the cross-compilation scenario can be cross-compiling the source code on a platform with higher computing power. After successful cross-compilation, the compiled program is burned into an ARM development board with relatively weaker computing power. At this time, the computing power of the processor (CPU) for source code compilation is stronger than that of the processor (CPU) for executing the compiled code.
[0046] Since the running entity for LDPC decoding is the user terminal to which the processor running the cross-compiled code belongs, the model of the processor running the cross-compiled code is obtained to match the system computing power information of the processor running the cross-compiled code, so as to match the maximum number of iterations corresponding to the model of the processor 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-set computing power matching table, the corresponding system computing power information is matched according to the processor model of the user terminal.
[0049] Among them, the system computing power information can characterize the system computing power of the user terminal.
[0050] In a possible implementation, the system computing power information is preset through the parameters of the processor. The parameters of the processor include: main frequency, maximum turbo frequency, cache, number of cores, etc.
[0051] The main frequency is the clock frequency of the processor core, which can be directly understood as the processing / operation speed of the processor. Generally speaking, the higher the main frequency of the processor, the faster the processing speed of the processor and the better the performance of the processor.
[0052] The maximum turbo frequency is the highest frequency that the turbo boost technology of the processor can reach. The turbo boost technology can be flexibly adjusted according to the intensity of the processor task, etc. For example: when the processor temperature is too high, the frequency is automatically reduced to avoid overheating and burning, and when the task volume is large, the frequency is appropriately increased to complete quickly.
[0053] The cache is used to solve the problem of the large gap between the processor processing rate and the memory access rate, that is, when the processing rate of the processor is extremely fast and the read / write tasks of the memory module cannot match, the processor can store this part of the data in the cache, thereby alleviating the contradiction between the processor processing rate and the memory read / write rate (i.e., access rate) not matching.
[0054] The number of cores is the number of cores of the processor, that is, the number of core chips on the processor. For example: dual-core, quad-core, six-core, eight-core, etc. Dual-core means that the processor includes 2 relatively independent core chips, and quad-core means that the processor includes 4 relatively independent core chips.
[0055] In a possible implementation, the system computing power information is represented by a numerical value. The higher the numerical value, the stronger the system computing power of the user terminal is characterized.
[0056] It should be noted that the system computing power information can be set / assigned by R & D personnel according to the processor model and the corresponding processor parameters for the system computing power information of this processor model; it can also be calculated by a specific calculation formula to comprehensively calculate the corresponding system computing power information, and this application does not make specific limitations.
[0057] For the convenience of understanding, the following takes Table 1 as an example to illustrate the matching corresponding system computing power information. Among them, the system computing power information is represented by a numerical value.
[0058] Table 1
[0059] Processor model System computing power information Intel Core i9-13900, A100 100 Intel Core i7-13700, RTX4090 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] The computing power matching table shown in Table 1, where when the processor models are Intel Core i9-13900 and A100 (i.e., the main processor and the coprocessor), the corresponding system computing power information is 100; when the processor models are Intel Core i7-13700 and 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 a possible implementation, the specific implementation steps of S102 are as Figure 2 shown. As Figure 2 shown, the specific implementation steps of S102 are mainly applied to the scenario after the hardware components such as the processor and memory of the user terminal are upgraded.
[0062] S1021. The user terminal determines whether the processor model is included in the pre-set computing power matching table.
[0063] The pre-set computing power matching table may not contain the processor model of the user terminal, so it is necessary to determine whether the processor model is included in the computing power matching table. For example: when the hardware components such as the processor and memory of the user terminal are upgraded, in fact, the model of the current user terminal's processor has changed with the upgrade. However, since it is an upgrade of the hardware components such as the processor and memory of the user terminal, the pre-set computing power matching table may not contain the processor model after the upgrade, so it is necessary to determine whether the upgraded processor model is included.
[0064] It should be noted that the upgrade of the hardware of the user terminal needs to be carried out when the user terminal is not started (not running programs, not initializing). After the hardware components of the user terminal are upgraded, when the user terminal starts running programs (i.e., starts to start or starts to initialize), the server model after the upgrade of the user terminal is obtained.
[0065] When it is determined that the pre-set computing power matching table includes the processor model, directly proceed to S1023.
[0066] When it is determined that the pre-set computing power matching table does not include the processor model, proceed to 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 a possible implementation, according to the parameters of the processor of the user terminal (such as: main frequency, maximum turbo frequency, cache, number of cores, etc.), the system computing power information is calculated through a preset formula, and the processor model and the system computing power information are correspondingly stored in the computing power matching table.
[0069] Exemplarily, according to the parameters of the upgraded processor, the system computing power information is calculated through a preset formula, and the upgraded processor model and the system computing power information are correspondingly stored in the 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 processor of the user terminal has changed with the upgrade. Therefore, only the upgraded processor model needs to be stored in the computing power matching table.
[0071] S1023. Based on the computing power matching table, the corresponding system computing power information is matched according to the processor model.
[0072] S103. The user terminal runs the LDPC decoding test case and obtains the case decoding time.
[0073] Specifically, running the LDPC decoding test case can be understood as that the user terminal decodes the LDPC code of the LDPC decoding test case until the LDPC decoding ends. The end of the LDPC decoding test case generally means ending the iterative decoding of LDPC after determining that the decoding is correct.
[0074] Exemplarily, the LDPC decoding test case can be: the LDPC code with added noise by a specific noise addition algorithm, and the corresponding fixed parity check matrix. When the user terminal runs this LDPC decoding test case, it actually means that the user terminal decodes the LDPC code with added noise according to the fixed parity check matrix until the LDPC decoding ends. It should be noted that for different LDPC decoding test cases, the code length and code rate of the LDPC code may vary. Among them, the code rate refers to the proportion of useful information in the entire information in the encoded data stream, and the LDPC code rate is the proportion of the information length of the LDPC code to the LDPC code length.
[0075] In a possible implementation, the number of LDPC decoding test cases is multiple. The multiple LDPC decoding test cases can be multiple LDPC codes obtained based on different generated parity check matrices.
[0076] When the number of LDPC decoding test cases is multiple, in a possible implementation, the use case decoding time can be the average of the decoding time-consuming of running multiple LDPC decoding test cases. For example, if there are 5 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 time-consuming of running the LDPC decoding test cases are ta, tb, tc, td, and te respectively, then the use case decoding time is (ta + tb + tc + td + te) / 5. In another possible implementation, different weights can be assigned to the decoding time-consuming of multiple LDPC decoding test cases, and the decoding test time-consuming is calculated according to the weights.
[0077] Through multiple LDPC decoding test cases, obtain the use case decoding time corresponding to the multiple LDPC decoding test cases, that is, obtain the time-consuming of the user terminal for LDPC decoding in multiple scenarios, so that the finally obtained corresponding use case decoding time is closer to the actual situation, and avoid the uniqueness and suddenness of obtaining the corresponding use case decoding time through only one LDPC decoding test case. For example, the user terminal may decode a special LDPC code very fast, but decode other LDPC codes relatively slowly.
[0078] S104. The user terminal matches the maximum number of iterations of the corresponding LDPC decoding according to the matched system computing power information and the use case decoding time.
[0079] Specifically, based on the pre-set iteration number matching table, according to the matched system computing power information and the use case decoding time, match the maximum number of iterations of the corresponding LDPC decoding.
[0080] For the system computing power information, the higher the system computing power information of the user terminal, the faster the speed of performing 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, that is, the less time occupied for LDPC decoding. On the premise of ensuring the communication performance (meeting the strict time slot requirements for the processing of the sending end and the receiving end in the communication system), the larger the system computing power information of the user terminal, the larger the matched maximum number of iterations.
[0081] For the use case decoding time, the less the use case decoding time, the faster the LDPC decoding speed. On the premise of meeting the requirements for communication performance (meeting the strict time slot requirements for the processing of the sending end and the receiving end in the communication system), the user terminal with less use case decoding time has a larger matched maximum number of iterations.
[0082] In the embodiments of the present application, by combining the system computing power information and the use case decoding time, the maximum number of iterations is collaboratively matched, so that the maximum number of iterations is matched under the condition that the communication performance of the user terminal is guaranteed.
[0083] In a possible implementation, according to the system computing power information and the use case decoding time respectively, the maximum number of iterations corresponding to the largest value is matched, and the smaller value of the two largest values of the number of iterations is determined as the maximum number of iterations of the user terminal. For example: the maximum number of iterations matched according to the system computing power information is the first number of iterations, and the maximum number of iterations matched according to 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, so the maximum number of iterations matched by the user terminal is the second number of iterations.
[0084] In a possible implementation, first, according to the matched system computing power information, based on the pre-set iteration number matching table, a set of maximum iteration numbers can be determined; then, according to the use case decoding time, based on the pre-set iteration number matching table, the maximum iteration number corresponding to LDPC decoding is matched from the set of maximum iteration numbers.
[0085] In another possible implementation, first, according to the use case decoding time, based on the pre-set iteration number matching table, a set of maximum iteration numbers can be determined; then, according to the matched system computing power information, based on the pre-set iteration number matching table, the maximum iteration number corresponding to LDPC decoding is matched from the set of maximum iteration numbers.
[0086] For the convenience of understanding, the following combines Table 2 to give an example of matching the maximum number of iterations corresponding to 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 use case decoding time of the user terminal is 15 us and the matched system computing power information is 81, based on the use case decoding time of 15 us, the maximum number of iterations with the largest value is determined to be 15, and based on the system computing power information of 81, the maximum number of iterations with the largest value is determined to be 13, then 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 35 us and the matched system computing power information is 83, first, based on the use case decoding time of 35 us, the set of maximum iteration numbers can be determined as {10, 5, 3, 2}, and according to the system computing power information of 83, the corresponding maximum iteration number is matched from the set of maximum iteration numbers to be 10.
[0091] Based on the iteration number matching table shown in Table 2, when the use case decoding time of the user terminal is 21 us and the matched system computing power information is 69, first, based on the system computing power information 69, the set of maximum iteration numbers can be determined as {5, 3, 2}, and according to the use case decoding time of 21 us, the corresponding maximum iteration number matched from the set of maximum iteration numbers is 5.
[0092] It should be noted that the pre-set iteration number matching table can be set by R & D personnel according to 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 iteration number.
[0094] After the user terminal receives the data to be decoded, after equalizing and demodulating the received data, it performs LDPC iterative decoding based on the matched maximum iteration number.
[0095] S106. The user terminal determines whether the iteration number of LDPC iterative decoding is greater than the maximum iteration number.
[0096] When the iteration number of LDPC iterative decoding is not greater than the maximum iteration number, S107 is performed.
[0097] When the iteration number of LDPC iterative decoding is greater than the maximum iteration number, then S108 is performed.
[0098] S107. The user terminal verifies the decoding result of LDPC iterative decoding.
[0099] In a possible implementation, cyclic redundancy check is performed on the decoding result of LDPC iterative decoding.
[0100] Among them, cyclic redundancy check (CRC) is a data transmission error detection function. Polynomial calculation is performed on the data, and the obtained result is appended to the back of the frame. The receiving device also performs a similar algorithm to ensure the correctness and integrity of data transmission.
[0101] When the decoding result of LDPC iterative decoding passes the verification, then S108 is performed.
[0102] When the verification of the decoding result of LDPC iterative decoding fails, S105 is performed, that is, LDPC iterative decoding continues, and then it is determined 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 (reaches the maximum number of iterations) or the verification of the decoding result of LDPC iterative decoding passes, the LDPC iterative decoding ends.
[0103] S108, the LDPC iterative decoding ends.
[0104] After the LDPC iterative decoding ends, the corresponding LDPC decoding result is output.
[0105] It should be noted that in the current technology, there are methods to adjust the maximum number of iterations of LDPC decoding. For example: one existing technology is to perform channel estimation on the wireless channel, and according to the channel estimation result, adjust the maximum number of iterations of LDPC decoding for the next data transmission; another existing technology is to dynamically adjust the current number of iterations according to the historical number of iterations and the maximum number of iterations. The methods to adjust the maximum number of iterations of LDPC decoding in the current technology require adjusting the LDPC iterative decoding once for each LDPC iterative decoding, resulting in a waste of the computing resources of the user terminal. However, in the embodiments 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 and started), saving the computing resources of the user terminal.
[0106] In a possible implementation manner, as the user terminal runs, due to specific reasons, the system load of the processor of the user terminal may increase. Due to the increase in the system load, the time for the user terminal to perform LDPC iterative decoding may increase, thus affecting the performance of the communication system. In response to the above situation, a timer can be used to determine whether the system load of the processor of the user terminal increases. When the system load increases, the maximum number of iterations of LDPC decoding of the user terminal needs to be adjusted.
[0107] Too high system load will cause the processor to be unable to process other requests and operations, and even cause the system to freeze. Among them, the system load is a measure of the current workload of the processor and is defined as the average number of threads in the run queue within a specific time interval. The average load represents the average load of the processor over a period of time, that is, it represents the system load of the current processor, and the lower this value is, the better.
[0108] The specific reasons for the increase in system load include: the increase in processor temperature, the damage of processor hardware, the attack on the processor, etc.
[0109] For the convenience of understanding, the following combination Figure 1The S109 - S111 shown are described in detail. When the user terminal executes S105 - S108, S109 - S111 are also being carried out simultaneously.
[0110] S109. When the user terminal starts LDPC decoding, the timer starts timing.
[0111] Among them, the timer in the user terminal is a task timing reminder software. The timer can execute corresponding tasks after the preset time is reached and 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] Among them, the preset time of the timer is related to the maximum number of iterations matched by the user terminal. Based on the test / simulation results of LDPC iterative decoding in advance, a sub - preset time is configured for one iteration of LDPC iteration. According to the maximum number of iterations matched by the user terminal and the sub - preset time, the preset time of the timer is obtained. This preset time can be used to represent an estimated value of the time consumed by the user terminal for LDPC decoding with the maximum number of iterations, and this preset time 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 process of LDPC decoding, the user terminal detects whether the timer times out.
[0114] During the process of LDPC decoding, that is, before the LDPC decoding ends, it is detected whether the timer times out.
[0115] When it is detected that the timer times out, the maximum number of iterations of LDPC decoding is adjusted according to the preset rules, and S103 and S104 are performed again.
[0116] When it is detected that the timer times out, it indicates that the system load of the processor of the user terminal has increased significantly, which has affected the speed of the user terminal for LDPC decoding, thus affecting the current communication performance, that is, it cannot meet the time - slot requirements of the sending and receiving ends in the communication system, resulting in a decrease in data throughput and even communication out - of - step. Therefore, the maximum number of iterations is re - matched to ensure communication performance. The system computing power information is matched according to the processor model. Whether the system load increases or not, as long as the processor model remains unchanged, the system computing power information remains unchanged. So the user terminal runs the LDPC decoding test case again, re - obtains the decoding time of the case, and based on the system computing power information and the re - obtained case decoding time, re - matches the maximum number of iterations of LDPC decoding. The user terminal performs LDPC iterative decoding based on the re - matched maximum number of iterations. It should be noted that the maximum number of iterations re - matched due to the increase in system load is less than the maximum number of iterations matched under normal conditions.
[0117] For ease of understanding, the following uses Table 3 as an example to illustrate the maximum number of iterations of the re-matched 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 decoding time of the use case of the user terminal is 15 us and the matched system computing power information is 88, the maximum number of iterations N_max1 matched based on the use case decoding time and the system computing power information is 20. Starting LDPC iterative decoding based on N_max1 = 20, a timer is then started. The preset time of the timer = 20 * sub-preset time. When it is detected that the timer times out before the LDPC iterative decoding ends, the LDPC decoding test case is re-run, and the current use case decoding time is obtained as 42 us. Then, based on the use case decoding time = 42 us and the system computing power information = 88, the re-matched maximum number of iterations N_max2 is 15. Starting LDPC iterative decoding based on N_max2 = 15, and a timer is started accordingly. At this time, the preset time of the timer = 15 * sub-preset time.
[0121] It can be seen from this that the preset time of the timer is adjusted correspondingly as the maximum number of iterations is adjusted. So that in the next LDPC iterative decoding, the timer can accurately measure the time.
[0122] When it is not detected that the timer times out, it indicates that the system load of the processor of the user terminal has not increased significantly and does not affect the speed of LDPC decoding of the user terminal, then S110 is performed.
[0123] S111. When the LDPC iterative decoding ends, clear the timer.
[0124] When the next LDPC iterative decoding starts, the timer starts timing again.
[0125] To avoid the possible degradation of communication performance caused by the increase in system load, the 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 the LDPC iterative decoding exceeds the preset time. Re-running the LDPC iterative decoding with the current maximum number of iterations may lead to the degradation of communication performance. Therefore, the LDPC decoding test case is re-run to obtain the decoding test time consumption. Based on the re-obtained decoding test time consumption and the 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.
[0126] An embodiment of the present application provides a decoding method for a low-density parity-check code, which includes obtaining the processor model of a user terminal; matching corresponding system computing capability information according to the processor model of the user terminal; running an LDPC decoding test case to obtain the decoding time of the case; matching the corresponding maximum number of iterations according to the matched system computing capability information and the case decoding time, and performing LDPC iterative decoding based on the matched maximum number of iterations. In the embodiment of the present application, the system computing capability information of the user terminal and the case decoding time are combined to jointly match the maximum number of iterations. By performing LDPC decoding through the maximum number of iterations, while meeting the requirements of the communication system for communication performance, the bit error rate of LDPC decoding is reduced to a certain extent, thereby reducing the number of data retransmissions.
[0127] Further, for the decoding method of the low-density parity-check code provided by the embodiment of the present application, in response to the initialization of the user terminal (power-on startup, system program running), the processor model of the user terminal is obtained, and it is not necessary to obtain the processor model of the user terminal every time LDPC iterative decoding is performed, reducing the waste of repeated computing resources.
[0128] Further, 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 the degradation of communication performance caused by the increase in system load.
[0129] The decoding method of the low-density parity-check code introduced in the above-mentioned Embodiment 1 is implemented by a user terminal, and the decoding method of the low-density parity-check code introduced in the following Embodiment 2 is implemented in cooperation with the user terminal and the network-side device.
[0130] Embodiment 2:
[0131] The following combines Figure 3 , and details another decoding method of the low-density parity-check code provided by the embodiment of the present application. This method is implemented in cooperation with the user terminal and the network-side device, and the method 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 capability information according to the processor model of the user terminal.
[0134] S303. The user terminal runs an LDPC decoding test case to obtain the decoding time of the case.
[0135] The above S301 - S303 are the same as S101 - S103 in Embodiment 1. For the specific implementation manners of S301 - S303, please refer to S101 - S103 in Embodiment 1, and details will not be repeated here.
[0136] S304. The user terminal reports the system computing capability information and the use case decoding time to the network side device.
[0137] Among them, the network side device (which can also be called a network device) is a dedicated hardware device used to connect various nodes such as servers, PCs, and user terminals to form an information communication network. 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 terminal machines, fiber optic transceivers, optical cables, etc.
[0138] In a possible implementation manner, the system computing capability information and the use case decoding time are sent to the network side device through ue Capability Information. Among them, Ue Capability Information is the uplink UE (user terminal) capability query response information.
[0139] In another possible implementation manner, the use case decoding time and the system computing capability information are reported to the network side device through the NAS signaling Registration Request carried in the RRC SetupComplete. Among them, RRCSetupComplete is the response of the user terminal to the "RRC SETUP" message for the wireless resources allocated by the network side device. Registration Request is a common registration request message of the user terminal.
[0140] 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.
[0141] In a possible implementation manner, the network side device matches the corresponding maximum number of LDPC decoding iterations based on a pre-set iteration number matching table according to the received system computing capability information and the use case decoding time. In another possible implementation manner, the network side device can match the corresponding maximum number of LDPC decoding iterations through other means, such as: preset formulas, machine learning models, etc., according to the received system computing capability information and the use case decoding time. This application does not make specific limitations.
[0142] Sending the system computing capability information and the use case decoding time to the network side device, and having the network side device match the corresponding maximum number of LDPC decoding iterations and send them to the user terminal reduces the resource consumption of the user terminal.
[0143] S306. The network side device sends the matched maximum number of iterations to the user terminal.
[0144] In a possible implementation, the network device sends the matching maximum number of iterations to the user equipment through DCI information.
[0145] Among them, the DCI information (Downlink Control Information) is formed in a predetermined format, and the network side device unicasts the downlink control information to each user terminal on the PDCCH. The DCI format provides details for the user terminal such as: the number of resource blocks, resource allocation type, modulation scheme, transport block, redundancy version, coding rate, etc. In the embodiments of the present application, the DCI information carries the matching maximum number of iterations to the user terminal.
[0146] S307. The user terminal performs LDPC iterative decoding based on the received maximum number of iterations.
[0147] S308. The user terminal determines whether the number of iterations of the LDPC iterative decoding is greater than the maximum number of iterations.
[0148] When the number of iterations of the LDPC iterative decoding is not greater than the maximum number of iterations, S309 is performed.
[0149] When the number of iterations of the LDPC iterative decoding is greater than the maximum number of iterations, then S310.
[0150] S309. The user terminal checks the decoding result of the LDPC iterative decoding.
[0151] When the decoding result check of the LDPC iterative decoding passes, then S310 is performed.
[0152] When the decoding result check of the LDPC iterative decoding fails, then S307 is performed, that is, continue to perform LDPC iterative decoding, and then determine again whether the number of iterations of the LDPC iterative decoding is greater than the maximum number of iterations and whether the check passes, 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 check of the LDPC iterative decoding passes, then the LDPC iterative decoding ends.
[0153] S310. The LDPC iterative decoding ends.
[0154] After the LDPC iterative decoding ends, the corresponding LDPC decoding result is output.
[0155] It should be noted that when the user terminal executes S305 - S308, a timer is started simultaneously.
[0156] During the LDPC iterative decoding process, if a timer timeout is detected, the LDPC decoding test case is run again to obtain the decoding time of the case. Then, the processor model and the newly obtained decoding time of the case are sent to the network-side device. The network-side device rematches the corresponding maximum number of iterations based on the processor model and the newly obtained decoding time of the case and sends it to the user terminal, so that the user terminal performs LDPC iterative decoding based on the rematched maximum number of iterations.
[0157] In the decoding method of the low-density parity-check code provided by the embodiment of the present application, the user terminal sends the system computing power information and the decoding time of the case to the network-side device. The network-side device matches the corresponding maximum number of iterations and returns it to the user terminal. The user terminal performs LDPC decoding based on the maximum number of iterations matched by the network-side device. That is, the network-side device combines the system computing power information and the decoding time of the case of the user, collaboratively matches the maximum number of iterations and returns it to the user terminal. The user terminal performs LDPC decoding through the maximum number of iterations, which reduces the bit error rate of LDPC decoding to a certain extent while meeting the requirements of the communication system for communication performance, thereby reducing the number of data retransmissions.
[0158] Furthermore, sending the system computing power information and the decoding time of the case of the user terminal to the network-side device, and the network-side device matches the corresponding maximum number of iterations according to the system computing power information and the decoding time of the case, which reduces the occupation of computing resources of the user device.
[0159] It can be seen from Embodiment 1 and Embodiment 2 that the method for matching the maximum number of iterations of LDPC decoding of the user terminal can be: collaboratively matched by the user terminal itself based on the system computing power information and the decoding time of the case; or it can be collaboratively matched by the network-side device based on the system computing power information and the decoding time of the case of the user terminal and returned to the user terminal. Therefore, the decoding method of the low-density parity-check code provided by the application can select the method for matching the maximum number of iterations according to the actual situation, and the application does not make specific limitations. For the convenience of description, in the following embodiments, the method for matching the maximum number of iterations of LDPC decoding only takes the method of collaborative matching by the user terminal itself based on the system computing power information and the decoding time of the case as an example.
[0160] The decoding method of the low-density parity-check code introduced in the above Embodiment 2 is realized by the cooperation of the user terminal and the network-side device. The decoding method of the low-density parity-check code introduced in the following Embodiment 3 is realized by the collaboration of multiple user terminals.
[0161] Embodiment 3:
[0162] The following combines Figure 4, a decoding method for low - density parity - check codes provided by an embodiment of the present application will be introduced in detail. This method is applicable to the collaborative decoding scenario, that is, a decoding method for low - density parity - check provided by an embodiment of the present application is completed by multiple user terminals collaborating with each other.
[0163] Collaborative decoding: It refers to coordinating two or more different user terminals to complete the LDPC decoding task in a coordinated manner.
[0164] For the convenience of understanding, two different user terminals (user terminal A and user terminal B respectively) are taken as examples for detailed introduction. Among them, the computing power of user terminal A is relatively weak, and the computing power of user terminal B is relatively strong. 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 power information according to the processor model of user terminal B.
[0167] S403. User terminal B runs the LDPC decoding test case and obtains the decoding time of the case.
[0168] S404. User terminal B matches the corresponding maximum number of LDPC decoding iterations according to the matched system computing power information and the decoding time of the case.
[0169] S405. User terminal A receives the downlink data packet and LDPC decoding parameters.
[0170] Among them, the LDPC decoding parameters include: LDPC coding 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 matched maximum number of iterations.
[0173] 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.
[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 of LDPC iterative decoding is not greater than the maximum number of iterations, S407 is performed.
[0176] When the number of iterations of LDPC iterative decoding is greater than the maximum number of iterations, the LDPC iterative decoding ends and S710 is performed.
[0177] S409. The user terminal B checks the decoding result of the LDPC iterative decoding.
[0178] When the decoding result of the LDPC iterative decoding passes the check, the LDPC iterative decoding ends, and S410 is performed.
[0179] When the decoding result of the LDPC iterative decoding fails the check, S407 is performed.
[0180] S410. The user terminal B ends the LDPC iterative decoding and obtains the LDPC decoding result.
[0181] S411. The user terminal B feeds back the LDPC decoding result to the user terminal A.
[0182] At this time, the user terminal A receives the LDPC decoding result fed back by the user terminal B, and this collaborative decoding is completed.
[0183] It should be noted that while the user terminal A and the user terminal B collaboratively complete the LDPC decoding, the user terminal B can still perform LDPC iterative decoding on the downlink data packets received by the user terminal B based on the matched maximum number of iterations. Figure 4 Only the process of collaborative decoding between the user terminal A and the user terminal B is shown.
[0184] According to Figure 4 It can be seen that in the collaborative decoding scenario, when the user terminal A receives the data packet to be decoded, the user terminal A does not perform LDPC iterative decoding, but sends the data packet to the user terminal B. The user terminal B performs LDPC iterative decoding on the data packet sent by the user terminal A, obtains the LDPC decoding result and feeds it back to the user terminal A, thereby completing the LDPC decoding of the data packet received by the user terminal A, that is, completing this collaborative decoding. That is, the user terminal A itself does not need to perform LDPC iterative decoding. Therefore, in the collaborative decoding scenario, the user terminal B can match the corresponding maximum number of iterations according to its own system computing power information and the decoding time of the use case.
[0185] Embodiment 4:
[0186] Next, in combination with Figure 5 , a decoding method for a low-density parity-check code provided by an embodiment of the present application will be introduced in detail.
[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 initialization operation of the user terminal, the processor model of the user terminal is obtained.
[0189] S502. Obtain the first case decoding time corresponding to the LDPC decoding test case.
[0190] Specifically, run the LDPC decoding test case to obtain the first case decoding time.
[0191] In a possible implementation, when the number of LDPC decoding test cases is multiple, run multiple LDPC decoding test cases to obtain multiple decoding times corresponding to the multiple LDPC decoding test cases respectively; according to the multiple decoding times, obtain the first case decoding time corresponding to the LDPC decoding test case.
[0192] S503. Obtain the maximum number of iterations according to the system computing power information and the first case decoding time.
[0193] Specifically, based on the iteration number matching table, obtain the maximum number of iterations corresponding to the system computing power information and the first case decoding time.
[0194] In a possible implementation, based on the iteration number matching table, match the first iteration number corresponding to the system computing power information; based on the iteration number matching table, match the second iteration number corresponding to the decoding time; according to the first iteration number and the second iteration number, determine the maximum number of iterations corresponding to the system computing power information and the first case decoding time.
[0195] In a possible implementation, screen out the set of maximum iteration numbers corresponding to the system computing power information from the iteration number matching table; screen out the maximum iteration number corresponding to the decoding time from the set of maximum iteration numbers; or, screen out the set of maximum iteration numbers corresponding to the first case decoding time from the iteration number matching table; screen out the maximum iteration number corresponding to the system computing power information from the set of maximum iteration numbers.
[0196] In a possible implementation, send the system computing power information and the first case decoding time to the network side device, so that the network side device can determine the maximum number of iterations according to the system computing power information and the first case decoding time, and return the maximum number of iterations. This reduces the occupation of computing resources of the user equipment.
[0197] S504. When receiving the data to be decoded, perform LDPC iterative decoding based on the maximum number of iterations.
[0198] Specifically, when receiving the data to be decoded, start performing LDPC iterative decoding based on the maximum number of iterations; when the number of iterations reaches the maximum number of iterations, or when the decoding result verification of the LDPC iterative decoding passes, end the LDPC iterative decoding.
[0199] In a possible implementation, when LDPC iterative decoding starts, a timer begins to count. During the LDPC iterative decoding process, it is detected whether the timer times out.
[0200] When the timer times out, the maximum number of iterations is adjusted, and LDPC iterative decoding is performed based on the adjusted maximum iterative decoding. Specifically, when the timer times out, the second case decoding time corresponding to the LDPC decoding test case is obtained, that is, the LDPC decoding test case is re-run to obtain the second case decoding time; according to the system computing power information and the second case decoding time, the maximum number of iterations is obtained again; the maximum number of iterations of LDPC decoding is adjusted to the maximum number of iterations obtained again.
[0201] When the timer does not time out and the LDPC iterative decoding ends, the timer is cleared.
[0202] In a possible implementation, this method is applied to the first user terminal. The data to be decoded is received by the 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 the maximum iterative decoding, obtains the decoding result of the LDPC iterative decoding, and returns the decoding result of the LDPC iterative decoding to the second user terminal. Among them, the system computing power of the first user terminal is greater than that of the second user terminal. The collaborative decoding of the first user terminal and the second user terminal is realized.
[0203] The embodiment of the present application provides a decoding method for low-density parity-check codes, obtaining the processor model of the user terminal and matching the system computing power information corresponding to the processor model; obtaining the first case decoding time corresponding to the low-density parity-check (LDPC) decoding test case; obtaining the maximum number of iterations according to the system computing power information and the first case decoding time; when receiving the data to be decoded, performing LDPC iterative decoding based on the maximum number of iterations. For the system computing power information, the higher the system computing power information of the user terminal, the faster the speed of performing one iteration of LDPC decoding. On the premise of ensuring the communication performance, the larger the system computing power information of the user terminal, the larger the matching maximum number of iterations. For the case decoding time, the less the case decoding time, the faster the LDPC decoding speed. On the premise of meeting the requirements of the communication system for communication performance, the user terminal with less case decoding time has a larger matching maximum number of iterations. Combining the two aspects of system computing power information and the first case decoding time, the maximum number of iterations is collaboratively matched, so as to reduce the bit error rate of LDPC decoding to a certain extent when the user terminal meets the requirements of communication performance, 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-executable instructions; the processor executes the computer-executable instructions stored in the memory, so that the processor executes Figure 1 - Figure 5 the relevant method steps therein.
[0205] For ease of understanding, the user terminal will be introduced in detail below in conjunction with Figure 6 .
[0206] As Figure 1 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. 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), etc.
[0208] Among them, the controller may be the nerve center and command center of the electronic device. The controller may generate operation control signals according to the instruction operation code and timing signals to complete the control of fetching and executing instructions.
[0209] A memory may also be provided in the processor 110 for storing instructions and data. In some embodiments, the memory in the processor 110 is a cache memory. This memory may save the instructions or data that the processor 110 has just used or recycled. If the processor 110 needs to use the instruction or data again, it can be directly called from the memory. This avoids repeated accesses, reduces the waiting time of the processor 110, and thus improves the efficiency of the system.
[0210] Among them, in this application, the modem processor may implement functions of convolution, tail-biting convolution, turbo, Viterbi, and / or low-density parity-check (LDPC) encoder / decoder. 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 implemented through Antenna 1, Antenna 2, Mobile Communication Module 130, Wireless Communication Module 140, Modulation and Demodulation Processor, Baseband Processor, etc.
[0212] The Mobile Communication Module 130 can provide solutions for wireless communications such as 2G / 3G / 4G / 5G applied to the electronic device.
[0213] The Wireless Communication Module 140 can provide solutions for wireless communications such as 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 (IR), etc. applied to the electronic device.
[0214] In some embodiments, Antenna 1 of the electronic device is coupled to the Mobile Communication Module 130, and Antenna 2 is coupled to the Wireless Communication Module 140, enabling the electronic device to communicate with the network and other devices through wireless communication technologies.
[0215] This embodiment also provides a computer-readable storage medium, which includes instructions. When the above instructions run on the electronic device, the electronic device is caused to execute Figure 1 - Figure 5 the relevant method steps in
[0216] to implement the method in the above embodiment. Figure 1 - Figure 5 This embodiment also provides a computer program product containing instructions. When the computer program product runs on the electronic device, the electronic device is caused to execute the relevant method steps as in
Claims
1. A decoding method for low-density parity-check codes, characterized in that, it includes: Obtain the processor model of the user terminal and match the system computing power information corresponding to the processor model; Obtain the first case decoding time corresponding to the low-density parity-check (LDPC) decoding test case; Based on the system computing power information and the first case decoding time, obtain the maximum number of iterations; When receiving data to be decoded, perform LDPC iterative decoding 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 the first case decoding time corresponding to the low-density parity-check (LDPC) decoding test case includes: Obtain multiple decoding times respectively corresponding to the multiple LDPC decoding test cases; Based on the multiple decoding times, obtain the first case decoding time corresponding to the LDPC decoding test case.
3. The method according to claim 1, characterized in that, The obtaining the maximum number of iterations based on the system computing power information and the first case decoding time includes: Based on the iteration number matching table, obtain the maximum number of iterations corresponding to the system computing power information and the first case decoding time.
4. The method according to claim 3, characterized in that, The obtaining the maximum number of iterations corresponding to the system computing power information and the first case decoding time based on the iteration number 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 number matching table, match the second iteration number corresponding to the first case decoding time; Based on the first iteration number and the second iteration number, determine the maximum number of iterations corresponding to the system computing power information and the first case decoding time.
5. The method according to claim 3, characterized in that, The obtaining the maximum number of iterations corresponding to the system computing power information and the first case decoding time based on the iteration number matching table includes: Screen out the maximum iteration number set corresponding to the system computing power information from the iteration number matching table; screen out the maximum iteration number corresponding to the first case decoding time from the maximum iteration number set; Or, Screen out the maximum iteration number set corresponding to the first case decoding time from the iteration number matching table; screen out the maximum iteration number corresponding to the system computing power information from the maximum iteration number set.
6. The method according to claim 1, characterized in that, The obtaining the maximum number of iterations based on the system computing power information and the first case decoding time includes: Send the system computing power information and the first case decoding time to the network-side device, so that the network-side device determines the maximum number of iterations based on the system computing power information and the first case decoding time, and returns the maximum number of iterations.
7. The method according to claim 1, characterized in that, When receiving data to be decoded, based on the maximum number of iterations, perform LDPC iterative decoding, including: When receiving data to be decoded, start LDPC iterative decoding based on the maximum number of iterations; When the number of iterations reaches the maximum number of iterations, or when the decoding result verification of LDPC iterative decoding passes, end LDPC iterative decoding.
8. The method according to claim 7, wherein, the method further includes: When starting LDPC iterative decoding, start timing with a timer; During the process of performing LDPC iterative decoding, detect whether the timer times out; When the timer times out, adjust the maximum number of iterations, and perform LDPC iterative decoding based on the adjusted maximum number of iterations.
9. The method according to claim 8, wherein, the adjusting the corresponding maximum number of iterations includes: Obtain the second case decoding time corresponding to the LDPC decoding test case; the second case decoding time is greater than the first case decoding time; According to the system computing power information and the second case decoding time, obtain the maximum number of iterations again; Adjust the maximum number of iterations to the maximum number of iterations obtained again.
10. The method according to claim 8, wherein, the method further includes: When the timer does not time out and LDPC iterative decoding ends, clear the timer.
11. The method according to claim 1, wherein, 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, wherein, the obtaining the processor model of the user terminal includes: In response to the initialization operation of the user terminal, obtain the processor model of the user terminal.
13. An electronic device, wherein, it includes a processor and a memory; The memory stores computer execution instructions; The processor executes the computer execution instructions stored in the memory, so that the processor executes the method according to any one of claims 1-12.
14. A computer-readable storage medium, wherein, The computer-readable storage medium stores a computer program or instructions, and when the computer program or instructions are run, the method according to any one of claims 1-12 is implemented.
Citation Information
Patent Citations
Parity check code iterative interpretation method capable of dynamically regulating most iterative number
CN101442316A
Self-adaptive encoding / decoding method based on low-density parity-check code
CN101567752A
Self-adaptive iteration frequency method and system of decoder
CN115664432A
LDPC decoding method, circuit and electronic equipment
CN116566402A
Low density parity check decoder
US20160191078A1
Cited By
Decoding method for low-density parity-check code, and electronic device and storage medium
WO2025107690A1