Self-adaptive LDPC (Low Density Parity Check Code) decoding method, device and equipment based on dynamic adjustment
By dynamically adjusting the LDPC code decoding method and combining the BP and MS algorithms, a balance between decoding performance and complexity is achieved, solving the problem of balancing decoding efficiency and performance in existing technologies and improving the adaptability and stability of the communication system.
Patent Information
- Application Number
- CN202510853999.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-24
- Publication Date
- 2025-10-03
AI Technical Summary
Existing LDPC code decoding algorithms have difficulty balancing decoding efficiency and performance in diverse communication scenarios. They lack the ability to accurately capture and respond to the dynamic characteristics of the decoding process in real time, which limits their application in high-speed and complex communication systems.
By dynamically adjusting the adaptive LDPC code decoding method, selecting the BP or MS algorithm according to the check node residual, combining threshold adaptive adjustment and iterative decision, a balance between decoding performance and complexity is achieved.
It improves decoding adaptability, accelerates convergence, enhances the stability and reliability of the communication system in diverse environments, and reduces the number of invalid iterations.
Smart Images

Figure CN120750353A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of communication technology, and in particular to a method, apparatus and device for adaptive LDPC code decoding based on dynamic adjustment. Background Art
[0002] In the communications field, low-density parity-check (LDPC) codes are widely used in various channel coding scenarios due to their excellent error correction performance. The efficiency and performance of their decoding algorithms play a key role in the reliability of communication systems. Among traditional LDPC code decoding algorithms, the belief propagation (BP) algorithm offers high decoding accuracy but suffers from high computational complexity and slow convergence. The minimum sum (MS) algorithm, while computationally simple, often suffers from poor decoding performance in complex environments such as high signal-to-noise ratios.
[0003] To overcome these bottlenecks, researchers continue to explore adaptive decoding strategies, hoping to integrate the strengths of different algorithms. However, existing technologies have flaws in their algorithm adaptation mechanisms. They lack the ability to accurately capture and respond to the dynamic characteristics of the decoding process in real time, and are unable to flexibly adjust strategies based on the decoding progress. This makes it difficult to balance decoding efficiency and performance in diverse communication scenarios, hindering the in-depth application of LDPC codes in high-speed, complex communication systems. Summary of the Invention
[0004] Based on this, it is necessary to provide an adaptive LDPC code decoding method, device and equipment based on dynamic adjustment to address the above technical problems.
[0005] A method for decoding an adaptive LDPC code based on dynamic adjustment, the method comprising:
[0006] After the information data to be decoded is passed to the check node, the residual of the edge connected to the check node is calculated;
[0007] When the residual is greater than a preset initial threshold, the BP algorithm is used to update the check node; otherwise, the MS algorithm is used to update the check node;
[0008] Counting the number of check nodes updated by the BP algorithm after the update, when the number of nodes is greater than the number of nodes in the previous iteration, reducing the initial threshold; when the number of nodes is 0, increasing the initial threshold; otherwise, maintaining the initial threshold;
[0009] After the message transmission between the check node and the variable node is completed, the total information of the check node is counted, and a decoding decision is made based on the total information. When the decoding decision passes or the maximum number of iterations is reached, the decoding result is output, otherwise the next round of iteration is performed.
[0010] In one embodiment, the step further includes: calculating the residual of the edge connected to the check node includes:
[0011]
[0012] in, represents the residual, Indicates the information passed from the check node i to the variable node j in the kth round of iteration, It represents the information passed from check node i to variable node j in the k-1th round of iteration.
[0013] In one embodiment, the method further includes: updating the check node using a BP algorithm as follows:
[0014]
[0015] r ji represents the information update value passed by check node i to variable node j, V(j) is the set of all variable nodes adjacent to the j-th check node, V(j)\i is the set of other variable nodes adjacent to the j-th check node except the i-th variable node, q i'j represents the message transmitted by variable node i′ to check node i, and d represents the number of variable nodes adjacent to the i-th check node.
[0016] In one embodiment, the method further includes: updating the check node using the MS algorithm to:
[0017]
[0018] Here, sgn represents the sign function.
[0019] An adaptive LDPC code decoding device based on dynamic adjustment, the device comprising:
[0020] The residual calculation module is used to calculate the residual of the edge connected to the check node after the information data to be decoded is passed to the check node;
[0021] An updating module, configured to update the check node using a BP algorithm when the residual is greater than a preset initial threshold, and otherwise update the check node using an MS algorithm;
[0022] A threshold updating module is used to count the number of check nodes updated by the BP algorithm after the update, and when the number of nodes is greater than the number of nodes in the previous iteration, reduce the initial threshold; when the number of nodes is 0, increase the initial threshold; otherwise, maintain the initial threshold;
[0023] The decoding output module is used to count the total information of the check node after the message transmission between the check node and the variable node is completed, and make a decoding decision based on the total information. When the decoding decision is passed or the maximum number of iterations is reached, the decoding result is output, otherwise the next round of iteration is performed.
[0024] In one embodiment, the residual calculation module is further configured to calculate the residual of the edge connected to the check node, including:
[0025]
[0026] in, represents the residual, Indicates the information passed from the check node i to the variable node j in the kth round of iteration, It represents the information passed from check node i to variable node j in the k-1th round of iteration.
[0027] In one embodiment, the update module is further configured to use the BP algorithm to update the check node as follows:
[0028]
[0029] r ji represents the information update value passed by check node i to variable node j, V(j) is the set of all variable nodes adjacent to the j-th check node, V(j)\i is the set of other variable nodes adjacent to the j-th check node except the i-th variable node, q i'j represents the message transmitted by variable node i′ to check node i, and d represents the number of variable nodes adjacent to the i-th check node.
[0030] In one embodiment, the update module is further configured to update the check node using the MS algorithm as follows:
[0031]
[0032] Here, sgn represents the sign function.
[0033] A computer device includes a memory and a processor, wherein the memory stores a computer program, and when the processor executes the computer program, the following steps are implemented:
[0034] After the information data to be decoded is passed to the check node, the residual of the edge connected to the check node is calculated;
[0035] When the residual is greater than a preset initial threshold, the BP algorithm is used to update the check node; otherwise, the MS algorithm is used to update the check node;
[0036] Counting the number of check nodes updated by the BP algorithm after the update, when the number of nodes is greater than the number of nodes in the previous iteration, reducing the initial threshold; when the number of nodes is 0, increasing the initial threshold; otherwise, maintaining the initial threshold;
[0037] After the message transmission between the check node and the variable node is completed, the total information of the check node is counted, and a decoding decision is made based on the total information. When the decoding decision passes or the maximum number of iterations is reached, the decoding result is output, otherwise the next round of iteration is performed.
[0038] A computer-readable storage medium stores a computer program, which, when executed by a processor, implements the following steps:
[0039] After the information data to be decoded is passed to the check node, the residual of the edge connected to the check node is calculated;
[0040] When the residual is greater than a preset initial threshold, the BP algorithm is used to update the check node; otherwise, the MS algorithm is used to update the check node;
[0041] Counting the number of check nodes updated by the BP algorithm after the update, when the number of nodes is greater than the number of nodes in the previous iteration, reducing the initial threshold; when the number of nodes is 0, increasing the initial threshold; otherwise, maintaining the initial threshold;
[0042] After the message transmission between the check node and the variable node is completed, the total information of the check node is counted, and a decoding decision is made based on the total information. When the decoding decision passes or the maximum number of iterations is reached, the decoding result is output, otherwise the next round of iteration is performed.
[0043] The above-mentioned adaptive LDPC code decoding method, device and equipment based on dynamic adjustment achieves an intelligent balance between decoding performance and complexity by dynamically determining the residual and adapting the BP and MS algorithms, combining the feedback of the updated number of check nodes to adjust the threshold, and making accurate decoding decisions during iteration: BP is used to ensure accuracy in complex scenarios, MS is used to reduce overhead in simple scenarios, and threshold self-adjustment allows the algorithm to be optimized in real time with the decoding dynamics, which not only improves the decoding adaptability under different channels and information characteristics, but also reduces invalid iterations and accelerates convergence, builds a solid communication foundation from the decoding link, helps the system to transmit more efficiently and stably in diverse environments, balances accuracy and efficiency, and enhances overall reliability. BRIEF DESCRIPTION OF THE DRAWINGS
[0044] Figure 1 1 is a flow chart of an adaptive LDPC code decoding method based on dynamic adjustment in one embodiment;
[0045] Figure 2FIG1 is a structural block diagram of an adaptive LDPC code decoding device based on dynamic adjustment in one embodiment;
[0046] Figure 3 FIG. 1 is a diagram showing the internal structure of a computer device in one embodiment. DETAILED DESCRIPTION
[0047] In order to make the purpose, technical solutions and advantages of this application more clear, the following further describes this application in detail with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain this application and are not intended to limit this application.
[0048] In one embodiment, Figure 1 As shown, a method for decoding an adaptive LDPC code based on dynamic adjustment is provided, comprising the following steps:
[0049] Step 102: After the information data to be decoded is transmitted to the check node, the residual of the edge connected to the check node is calculated.
[0050] Step 104: When the residual is greater than a preset initial threshold, the BP algorithm is used to update the check node; otherwise, the MS algorithm is used to update the check node.
[0051] Step 106, counting the number of check nodes updated by the BP algorithm after the update, when the number of nodes is greater than the number of nodes in the previous iteration, reducing the size of the initial threshold, when the number of nodes is 0, increasing the size of the initial threshold, otherwise maintaining the size of the initial threshold.
[0052] Step 108: After the message transmission between the check node and the variable node is completed, the total information of the check node is counted, and a decoding decision is made based on the total information. When the decoding decision is passed or the maximum number of iterations is reached, the decoding result is output, otherwise the next round of iteration is performed.
[0053] In the above-mentioned adaptive LDPC code decoding method based on dynamic adjustment, an intelligent balance between decoding performance and complexity is achieved by dynamically determining the residual and adapting the BP and MS algorithms, combining the feedback of the updated number of check nodes to adjust the threshold, and making accurate decoding decisions during iterations: BP is used to ensure accuracy in complex scenarios, and MS is used to reduce overhead in simple scenarios. Threshold self-adjustment allows the algorithm to be optimized in real time with the decoding dynamics, which not only improves the decoding adaptability under different channels and information characteristics, but also reduces invalid iterations and accelerates convergence. It strengthens the communication foundation from the decoding link, helps the system to transmit more efficiently and stably in diverse environments, balances accuracy and efficiency, and enhances overall reliability.
[0054] In one embodiment, calculating the residual of the edge connected to the check node includes:
[0055]
[0056] in, represents the residual, Indicates the information passed from the check node i to the variable node j in the kth round of iteration, Indicates the information passed from check node i to variable node j in the k-1th iteration. In the first iteration, the residual values are all 0. At this time, the residual value is less than the threshold, and the MS algorithm is used to update the check nodes. In subsequent iterations, the adaptive check node selection update method is used.
[0057] In one embodiment, by calculating the residual of the edge connected to each check node, when the residual value is greater than T threshold When the residual value is less than or equal to T, it means that the current check node is in an extremely unstable state. threshold , it indicates that the current check node is in a relatively stable state.
[0058] In another embodiment, when the check node is in an unstable state, the BP algorithm is used to update the check node as follows:
[0059]
[0060] r ji represents the information update value passed by check node i to variable node j, V(j) is the set of all variable nodes adjacent to the j-th check node, V(j)\i is the set of other variable nodes adjacent to the j-th check node except the i-th variable node, q i'j represents the message transmitted by variable node i′ to check node i, and d represents the number of variable nodes adjacent to the i-th check node.
[0061] When the check node is in a relatively stable state, the MS algorithm is used to update the check node as follows:
[0062]
[0063] Here, sgn represents the sign function.
[0064] The process of adaptively selecting check nodes is as follows:
[0065] When the number of unstable states increases instead of decreases during the iteration process, it is necessary to adjust the threshold T appropriately. threshold To reduce;
[0066] When the number of unstable states is 0 during the iteration process, the threshold T needs to be adjusted appropriately. threshold To increase;
[0067] During the iteration process, if it is other cases, the threshold Tthreshold Need to remain unchanged.
[0068] It should be understood that although Figure 1 The steps in the flowchart are shown in the order indicated by the arrows, but these steps are not necessarily executed in the order indicated by the arrows. Unless otherwise specified in this document, there is no strict order restriction for the execution of these steps, and these steps can be executed in other orders. In addition, Figure 1 At least part of the steps may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily executed at the same time, but can be executed at different times. The execution order of these sub-steps or stages is not necessarily sequential, but can be executed in turn or alternately with other steps or at least part of the sub-steps or stages of other steps.
[0069] In one embodiment, Figure 2 , an adaptive LDPC code decoding device based on dynamic adjustment is provided, comprising: a residual calculation module 202, an update module 204, a threshold update module 206 and a decoding output module 208, wherein:
[0070] The residual calculation module 202 is used to calculate the residual of the edge connected to the check node after the information data to be decoded is transmitted to the check node;
[0071] An updating module 204 is configured to update the check node using the BP algorithm when the residual is greater than a preset initial threshold, and otherwise update the check node using the MS algorithm;
[0072] A threshold updating module 206 is configured to count the number of check nodes updated by the BP algorithm after the update, and to reduce the initial threshold when the number of nodes is greater than the number of nodes in the previous iteration; to increase the initial threshold when the number of nodes is 0; otherwise, to maintain the initial threshold.
[0073] The decoding output module 208 is used to count the total information of the check node after the message transmission between the check node and the variable node is completed, and make a decoding decision based on the total information. When the decoding decision is passed or the maximum number of iterations is reached, the decoding result is output, otherwise the next round of iteration is performed.
[0074] In one embodiment, the residual calculation module 202 is further configured to calculate the residual of the edge connected to the check node, including:
[0075]
[0076] in, represents the residual, Indicates the information passed from the check node i to the variable node j in the kth round of iteration, It represents the information passed from check node i to variable node j in the k-1th round of iteration.
[0077] In one embodiment, the updating module 204 is further configured to use the BP algorithm to update the check nodes as follows:
[0078]
[0079] r ji represents the information update value passed by check node i to variable node j, V(j) is the set of all variable nodes adjacent to the j-th check node, V(j)\i is the set of other variable nodes adjacent to the j-th check node except the i-th variable node, q i'j represents the message transmitted by variable node i′ to check node i, and d represents the number of variable nodes adjacent to the i-th check node.
[0080] In one embodiment, the updating module 208 is further configured to use the MS algorithm to update the check nodes as follows:
[0081]
[0082] Here, sgn represents the sign function.
[0083] For the specific definition of the adaptive LDPC code decoding device based on dynamic adjustment, please refer to the definition of the adaptive LDPC code decoding method based on dynamic adjustment above, which will not be repeated here. The various modules in the above-mentioned adaptive LDPC code decoding device based on dynamic adjustment can be implemented in whole or in part by software, hardware, and a combination thereof. The above-mentioned modules can be embedded in or independent of the processor in the computer device in hardware form, or can be stored in the memory of the computer device in software form, so that the processor can call and execute the operations corresponding to the above modules.
[0084] In one embodiment, a computer device is provided. The computer device may be a server, and its internal structure diagram may be as follows: Figure 3As shown. The computer device includes a processor, a memory, a network interface, and a database connected via a system bus. The processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program, and a database. The internal memory provides an environment for the operation of the operating system and computer program in the non-volatile storage medium. The database of the computer device is used to store information data to be decoded. The network interface of the computer device is used to communicate with an external terminal via a network connection. When the computer program is executed by the processor, an adaptive LDPC code decoding method based on dynamic adjustment is implemented.
[0085] Those skilled in the art will understand that Figure 3 The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than shown in the figure, or combine certain components, or have a different component arrangement.
[0086] In one embodiment, a computer device is provided, including a memory and a processor. The memory stores a computer program, and the processor implements the steps of the method in the above embodiment when executing the computer program.
[0087] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the steps of the method in the above embodiment are implemented.
[0088] Those skilled in the art will appreciate that all or part of the processes in the above-mentioned embodiments can be implemented by instructing the relevant hardware through a computer program. The computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to memory, storage, database or other media used in the embodiments provided in this application can include non-volatile and / or volatile memory. Non-volatile memory can include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM) or flash memory. Volatile memory can include random access memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in various forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous link (Synchlink) DRAM (SLDRAM), memory bus (Rambus) direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM).
[0089] The technical features of the above embodiments can be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0090] The above-described embodiments merely represent several implementation methods of the present application. While the descriptions are relatively specific and detailed, they should not be construed as limiting the scope of the invention. It should be noted that a person of ordinary skill in the art may make various modifications and improvements without departing from the spirit of the present application, and such modifications and improvements are intended to fall within the scope of protection of the present application. Therefore, the scope of protection of the present application shall be determined by the appended claims.
Claims
1. A method for decoding an adaptive LDPC code based on dynamic adjustment, characterized in that: The method comprises: After the information data to be decoded is passed to the check node, the residual of the edge connected to the check node is calculated; When the residual is greater than a preset initial threshold, the BP algorithm is used to update the check node; otherwise, the MS algorithm is used to update the check node; Counting the number of check nodes updated by the BP algorithm after the update, when the number of nodes is greater than the number of nodes in the previous iteration, reducing the initial threshold; when the number of nodes is 0, increasing the initial threshold; otherwise, maintaining the initial threshold; After the message transmission between the check node and the variable node is completed, the total information of the check node is counted, and a decoding decision is made based on the total information. When the decoding decision passes or the maximum number of iterations is reached, the decoding result is output, otherwise the next round of iteration is performed.
2. The method according to claim 1, characterized in that The residual of the edge connected to the verification node is calculated as follows: in, represents the residual, Indicates the information passed from the check node i to the variable node j in the kth round of iteration, It represents the information passed from check node i to variable node j in the k-1th round of iteration.
3. The method according to claim 1, characterized in that The updating of the check nodes by using the BP algorithm includes: The BP algorithm is used to update the check nodes as follows: r ji represents the information update value passed by check node i to variable node j, V(j) is the set of all variable nodes adjacent to the j-th check node, V(j)\i is the set of other variable nodes adjacent to the j-th check node except the i-th variable node, q i'j represents the message transmitted by variable node i′ to check node i, and d represents the number of variable nodes adjacent to the i-th check node.
4. The method according to claim 3, characterized in that The MS algorithm is used to update the check nodes, including: The MS algorithm is used to update the check node as follows: Here, sgn represents the sign function.
5. An adaptive LDPC code decoding device based on dynamic adjustment, characterized in that: The device comprises: The residual calculation module is used to calculate the residual of the edge connected to the check node after the information data to be decoded is passed to the check node; An updating module, configured to update the check node using a BP algorithm when the residual is greater than a preset initial threshold, and otherwise update the check node using an MS algorithm; A threshold updating module is used to count the number of check nodes updated by the BP algorithm after the update, and when the number of nodes is greater than the number of nodes in the previous iteration, reduce the initial threshold; when the number of nodes is 0, increase the initial threshold; otherwise, maintain the initial threshold; The decoding output module is used to count the total information of the check node after the message transmission between the check node and the variable node is completed, and make a decoding decision based on the total information. When the decoding decision is passed or the maximum number of iterations is reached, the decoding result is output, otherwise the next round of iteration is performed.
6. The device according to claim 5, characterized in that The residual calculation module is also used to calculate the residuals of the edges connected to the check nodes, including: in, represents the residual, Indicates the information passed from the check node i to the variable node j in the kth round of iteration, It represents the information passed from check node i to variable node j in the k-1th round of iteration.
7. The device according to claim 5, characterized in that The update module is also used to update the check nodes using the BP algorithm as follows: r ji represents the information update value passed by check node i to variable node j, V(j) is the set of all variable nodes adjacent to the j-th check node, V(j)\i is the set of other variable nodes adjacent to the j-th check node except the i-th variable node, q i'j represents the message transmitted by variable node i′ to check node i, and d represents the number of variable nodes adjacent to the i-th check node.
8. The device according to claim 7, characterized in that The update module is also used to update the check nodes using the MS algorithm as follows: Here, sgn represents the sign function.
9. A computer device comprising a memory and a processor, wherein the memory stores a computer program, wherein: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 4 are implemented.
10. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 4 are implemented.