Method and apparatus for ldpc decoding based on check confidence
By using the LDPC decoding method based on verification confidence, the accumulation and multiplication operations are eliminated, register resources are reduced, decoding efficiency is improved, and the problem of high register resource consumption in existing technologies is solved.
Patent Information
- Application Number
- CN202211182509.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-09-27
- Publication Date
- 2025-12-16
- Estimated Expiration
- 2042-09-27
AI Technical Summary
Existing LDPC decoding methods consume a lot of register resources and have high power consumption, which affects decoding efficiency.
The LDPC decoding method based on verification confidence is adopted, which reduces register consumption and decoding resources by eliminating accumulation and multiplication operations, and adopts iterative decoding and verification mechanism.
It effectively improves decoding efficiency, reduces register consumption and power consumption, and has virtually no loss of power.
Smart Images

Figure CN115603761B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of information processing, and in particular to an LDPC decoding method and device based on check confidence. BACKGROUND
[0002] LDPC (Low Density Parity Check Code) code is the latest excellent channel error correction coding technology, which has been applied in 5G mobile communication standard, and is one of the candidate channel coding technologies for future 6G mobile communication. LDPC code can be defined by a check matrix. Each parity check matrix H has a corresponding Tanner (bipartitle Tanner graph) graph. The Tanner graph contains two kinds of nodes, namely VN (variable node) and CN (check node). Each VN represents a column in H, and each CN represents a row in H; when the element of a certain row and column in H is 1, the corresponding VN and CN in the Tanner graph are connected by an edge.
[0003] In LDPC code decoding, multiple numbers need to be summed and multiplied, so that the calculation of each number requires multiple data reading operations, which greatly reduces the decoding speed. Usually, the row processing and column processing method is used, first the product of the row or the sum of the column is calculated, and then each element is subtracted to obtain the confidence of each element in the row or column, so that the calculation and evaluation of each confidence only needs 2 time delay units, greatly improving the decoding throughput. This decoding method still needs a large number of registers to keep the intermediate calculation values, consumes a large number of register resources, increases the chip area, and increases the power consumption. SUMMARY
[0004] The present application aims to at least solve one of the technical problems in the related art to some extent.
[0005] To this end, the first object of the present application is to provide an LDPC decoding method based on check confidence, which solves the technical problems of the existing LDPC decoding method that consumes more register resources and has high power consumption. By eliminating the accumulation and multiplication operations in the LDPC decoding algorithm, the consumption of registers and decoding resources is reduced, while there is basically no new loss, and the decoding efficiency is effectively improved.
[0006] The second object of the present application is to provide an LDPC decoding device based on check confidence.
[0007] The third object of the present application is to provide a non-transitory computer readable storage medium.
[0008] To achieve the above object, the first aspect of the present application provides a method for decoding LDPC code based on check confidence, comprising: S1, obtaining check nodes and variable nodes of the LDPC code, initializing the check nodes and the variable nodes, and initializing the iteration number as 0; S2, performing check confidence iteration decoding on the LDPC code to obtain a decoding decision result, and increasing the iteration number by one; S3, performing check verification according to the decoding decision result; S4, if the check verification is passed, ending the decoding and outputting the decoding decision result as a decoding result, if the check verification is not passed and the iteration number does not reach a preset iteration number, repeating steps S2-S4 until the check verification is passed.
[0009] Optionally, in one embodiment of the present application, the initialization of the check nodes and the variable nodes comprises:
[0010] The check confidence of the check nodes is initialized as infinite;
[0011] The extrinsic information of the variable nodes is initialized as channel input soft information;
[0012] The information from the check nodes to the variable nodes is initialized as 0.
[0013] Optionally, in one embodiment of the present application, the check confidence iteration decoding on the LDPC code to obtain a decoding decision result comprises:
[0014] The check nodes are sequentially taken as target check nodes for check confidence updating until the updating of the check confidence of all the check nodes is completed to obtain the decoding decision result, and the updating of the check confidence of the target check nodes is completed by performing information updating from the check nodes to the check nodes on the target check nodes.
[0015] Optionally, in one embodiment of the present application, the information updating from the check nodes to the check nodes on the target check nodes comprises:
[0016] The variable nodes connected with the target check nodes are sequentially taken as target variable nodes;
[0017] The check nodes connected with the target variable nodes and updated most recently except the target check nodes are taken as first check nodes, the confidence from the first check nodes to the target check nodes is calculated to obtain a decoding decision value of the target variable nodes;
[0018] The updated check confidence of the target check nodes is recursively calculated until the confidence updating of all the information transmitted through the variable nodes is completed.
[0019] Optionally, in one embodiment of the present application, the confidence from the first check nodes to the target check nodes is calculated to obtain a decoding decision value of the target variable nodes, comprising:
[0020] According to the check belief of the first check node and the extrinsic information of the target variable node, update information from the first check node to the target variable node is obtained;
[0021] According to the extrinsic information of the target variable node, the update information from the first check node to the target variable node, and the information from the target check node to the target variable node, updated extrinsic information of the target variable node is calculated and obtained;
[0022] According to the update information and the extrinsic information of the target variable node, updated a posteriori information of the target variable node is calculated and obtained;
[0023] According to the updated a posteriori information of the target variable node, a decoding decision is made, if the updated a posteriori information of the target variable node is greater than or equal to 0, the decoding decision value of the target variable node is 0, otherwise, the decoding decision value of the target variable node is 1.
[0024] Optionally, in an embodiment of the present application, the update check belief of the target check node is recursively calculated, comprising:
[0025] The check belief of the target check node and the updated extrinsic information of the target variable node are multiplied to obtain update information from the target variable node extrinsic information to the target check node, as the update check belief of the target check node.
[0026] Optionally, in an embodiment of the present application, the decoding decision result includes the decoding decision value of the target variable node, and the check verification is performed according to the decoding decision result, comprising:
[0027] If the decoding decision result satisfies the check equation, the check verification is passed;
[0028] If the decoding decision result does not satisfy the check equation, the check verification is failed;
[0029] Wherein, the check equation is expressed as:
[0030]
[0031] Wherein, represents the decoding decision, H T represents the transposed form of the check matrix of the LDPC code.
[0032] Optionally, in an embodiment of the present application, after the check verification according to the decoding decision result, further comprising:
[0033] If the check verification is failed and the iteration number reaches the preset iteration number, the decoding is stopped and the decoding failure is output.
[0034] To achieve the above object, the second aspect of the present application provides an LDPC decoding device based on check confidence, comprising:
[0035] An initialization module is configured to acquire check nodes and variable nodes of the LDPC code, initialize the check nodes and the variable nodes, and initialize the iteration number as 0;
[0036] An iteration decoding module is configured to perform check confidence iteration decoding on the LDPC code, obtain a decoding decision result, and increase the iteration number by one;
[0037] A check verification module is configured to perform check verification according to the decoding decision result;
[0038] An output module is configured to, if the check verification is passed, end the decoding, output the decoding decision result as a decoding result, and if the check verification is not passed and the iteration number does not reach a preset iteration number, repeatedly call the iteration decoding module and the check verification module until the check verification is passed.
[0039] To achieve the above object, the third aspect of the present application provides a non-transitory computer readable storage medium, when instructions in the storage medium are executed by a processor, a LDPC decoding method based on check confidence can be performed.
[0040] The LDPC decoding method, device and non-transitory computer readable storage medium based on check confidence provided by the embodiments of the present application solve the technical problem that the existing LDPC decoding method consumes a large number of register resources and has large power consumption, eliminate the accumulation and multiplication operations in the LDPC decoding algorithm, reduce the register consumption and decoding resources, and at the same time, there is basically no new loss, effectively improving the decoding efficiency.
[0041] The additional aspects and advantages of the present application will be partially given in the following description, partially become obvious from the following description, or be understood through the practice of the present application. BRIEF DESCRIPTION OF DRAWINGS
[0042] The above and / or additional aspects and advantages of the present application will become apparent and more readily appreciated from the following description of the embodiments, with reference to the following drawings, in which:
[0043] Figure 1 A flowchart of an LDPC decoding method based on check confidence provided by the first embodiment of the present application;
[0044] Figure 2 An example diagram of performing check node to check node information update on a target check node of the LDPC decoding method based on check confidence provided by the embodiments of the present application;
[0045] Figure 3A structure schematic diagram of an LDPC decoding device based on check confidence provided by Embodiment Two of the present application;
[0046] Figure 4 Another structure schematic diagram of the LDPC decoding device based on check confidence of the present application. DETAILED DESCRIPTION
[0047] Embodiments of the present application are described in detail below, examples of which are shown in the accompanying drawings, wherein the same or similar notations represent the same or similar elements or elements with the same or similar functions throughout. The embodiments described below by referring to the accompanying drawings are exemplary and are intended to explain the present application, and cannot be understood as a limitation of the present application.
[0048] The LDPC decoding method and device based on check confidence of the embodiments of the present application are described below with reference to the accompanying drawings.
[0049] Figure 1 A flowchart of an LDPC decoding method based on check confidence provided by Embodiment One of the present application.
[0050] As shown in Figure 1 the LDPC decoding method based on check confidence includes the following steps:
[0051] S1: obtaining check nodes and variable nodes of an LDPC code, initializing the check nodes and variable nodes, and initializing the number of iterations to 0;
[0052] S2: performing check confidence iterative decoding on the LDPC code to obtain a decoding decision result, and increasing the number of iterations by one;
[0053] S3: performing check verification according to the decoding decision result;
[0054] S4: if the check verification passes, ending the decoding, outputting the decoding decision result as a decoding result, if the check verification fails and the number of iterations does not reach a preset number of iterations, repeating steps S2-S4 until the check verification passes.
[0055] The LDPC decoding method based on check confidence provided in the embodiments of the present application can solve the technical problem of the prior art that the LDPC decoding method consumes more register resources and has higher power consumption, by eliminating the accumulation and multiplication operations in the LDPC decoding algorithm, reducing the register consumption and decoding resources, and basically without new year loss, effectively improving the decoding efficiency.
[0056] The LDPC decoding method based on check confidence provided in the embodiments of the present application can solve the technical problem of the prior art that the LDPC decoding method consumes more register resources and has higher power consumption, by eliminating the accumulation and multiplication operations in the LDPC decoding algorithm, reducing the register consumption and decoding resources, and basically without new year loss, effectively improving the decoding efficiency. a a a a
[0057] Further, in the embodiments of the present application, the initialization of the check nodes and the variable nodes includes:
[0058] The check confidence of the check nodes is initialized to infinity;
[0059] The extrinsic information of the variable nodes is initialized to the channel input soft information;
[0060] The information from the check nodes to the variable nodes is initialized to 0.
[0061] The check confidence of all the check nodes is initialized to ∞, and is represented as:
[0062]
[0063] The extrinsic information of all the variable nodes is initialized to the channel input soft information. initialized as the channel input soft information, denoted as:
[0064]
[0065] wherein, is the encoding value of the variable node v a , is the received value of the variable node v a ,
[0066] all the information from the check node ci to the variable node v a is initialized as 0, denoted as:
[0067]
[0068] Further, in the embodiments of the present application, the LDPC code is subjected to check confidence iterative decoding to obtain a decoding decision result, including:
[0069] The check nodes are sequentially taken as target check nodes for check confidence updating until the updating of the check confidence of all the check nodes is completed to obtain the decoding decision result. The updating of the check confidence of the target check nodes is completed by updating the information from the check node to the check node of the target check node.
[0070] The LDPC code is subjected to check confidence iterative decoding, including:
[0071] S21: initializing the check node ci as the 0th check node;
[0072] S22: updating the information from the check node to the check node of the check node ci;
[0073] S23: if the information updating of all the check nodes is completed, ending the iteration decoding; otherwise, the check node is increased to the next check node and returning to S22.
[0074] Further, in the embodiments of the present application, the updating of the information from the check node to the check node of the target check node includes:
[0075] The variable nodes connected with the target check node are sequentially taken as target variable nodes;
[0076] The most recently updated check node connected with the target variable node and other than the target check node is taken as the first check node, the confidence from the first check node to the target check node is calculated to obtain the decoding decision value of the target variable node;
[0077] The updated check confidence of the target check node is recursively calculated until the confidence updating of all the information transmitted through the variable nodes is completed.
[0078] updating the information from the check node c i to the check node, comprising:
[0079] S221: initializing the check node c i with a check belief
[0080] S222: initializing the variable node v a connected to the check node c
[0081] S223: finding the latest updated check node c a other than c
[0082] S224: calculating the belief from the check node c
[0083] S225: recursively calculating the belief of the check node c
[0084] S226: if the belief update of the check node c i is completed, i.e., the recursion is finished, and the belief of the check node c i i is calculated as where N(c i ) represents the number of neighboring nodes of the check node c
[0085] Further, in the embodiments of the present application, the belief of the first check node to the target check node is calculated to obtain the decoding decision value of the target variable node, comprising:
[0086] obtaining the update information from the first check node to the target variable node according to the check belief of the first check node and the extrinsic information of the target variable node;
[0087] calculating the updated extrinsic information of the target variable node according to the extrinsic information of the target variable node, the update information from the first check node to the target variable node, and the information from the target check node to the target variable node;
[0088] calculating the updated a posteriori information of the target variable node according to the update information and the extrinsic information of the target variable node;
[0089] performing decoding decision according to the updated a posteriori information of the target variable node, if the updated a posteriori information of the target variable node is greater than or equal to 0, the decoding decision value of the target variable node is 0, otherwise, the decoding decision value of the target variable node is 1.
[0090] Calculate the verification node c j To the verification node c i The confidence level includes:
[0091] S2241: Based on the verification node c j Validation confidence and variable node v a External information The verification node c is calculated. j To variable node v a The update information, including the verification node c j To variable node v a The formula for calculating the updated information is expressed as follows:
[0092]
[0093] in, Indicates the verification node c j To variable node v a Update information, ψ - () represents the product removal operation. This represents the verification confidence level of the verification node ci. Represents variable node v a External information
[0094] The product-free operation is represented as:
[0095] ψ - (x, y)=sgn(x)·sgn(y)·φ(|φ(|x|)-φ(|y|)|),
[0096]
[0097] Verification node c i Validation confidence Exclude variable node v a External information That is, the verification node c j To variable node v a Information.
[0098] S2242: Move variable node v a External information Add verification node c j To variable node v a Update information Subtract the verification node c i To variable node v a Information The variable node v is calculated. a Update external information, where variable node v aThe formula for calculating the updated external information is expressed as follows:
[0099]
[0100] in, Represents variable node v a Updated external information, Represents variable node v a External information Indicates the verification node c j To variable node v a Update information, Indicates the verification node c i To variable node v a Information.
[0101] S2243: Based on variable node v a External information and check node c j To variable node v a Update information The variable node v is calculated. a The updated post-hoc information, where the variable node v a The formula for calculating the updated posterior information is expressed as:
[0102]
[0103] in, Represents variable node v a Updated verification information, Represents variable node v a External information Indicates the verification node c j To variable node v a Update information.
[0104] S2244: Based on variable node v a Decode and decide based on the updated post-hoc information; if variable node v a If the updated post-hoc information is greater than or equal to 0, then the variable node v a The decoding decision value is 0 if the variable node v a If the updated post-hoc information is less than 0, then the variable node v a The decoding decision value is 1, where, according to variable node v a The updated post-hoc information is decoded and the decision is represented as follows:
[0105]
[0106] in, Indicates the decoding decision. Represents variable node v a Updated verification information.
[0107] Furthermore, in this embodiment of the application, the recursive calculation of the updated verification confidence of the target verification node includes:
[0108] The verification confidence of the target verification node and the updated extrinsic information of the target variable node are multiplied to obtain the updated information from the extrinsic information of the target variable node to the target verification node, which is used as the updated verification confidence of the target verification node.
[0109] Recursively calculate the verification node c i confidence level include:
[0110] S2251: Partially verify confidence level With variable node v a Update external information Perform a product operation to calculate the variable node v. a Update external information To the verification node c i The updated information is used as the verification node c. i Validation confidence The calculation formula is expressed as follows:
[0111]
[0112] in, Indicates the verification node c i The partial validation confidence score, ψ, is obtained by recursively updating n times. + () represents product operation. This represents the partial validation confidence score after n-1 recursive updates. Represents variable node v a Update external information, where the product operation is represented as:
[0113] ψ + (x, y)=sgn(x)·sgn(y)·φ(φ(|x|)+φ(|y|)),
[0114]
[0115] Furthermore, in this embodiment, the decoding decision result includes the decoding decision value of the target variable node, and the verification is performed based on the decoding decision result, including:
[0116] If the decoding decision result satisfies the verification equation, then the verification passes.
[0117] If the decoding decision does not satisfy the verification equation, the verification fails.
[0118] The verification equation is expressed as follows:
[0119]
[0120] in, H represents the decoding decision. T This represents the transpose of the LDPC code parity check matrix.
[0121] If decoding judgment Composed of vectors Satisfy the verification equation If the decoding verification passes, then the decoding verification passes; otherwise, the decoding verification fails.
[0122] Furthermore, in this embodiment of the application, after verifying the result based on the decoding decision, the method further includes:
[0123] If the verification fails and the number of iterations reaches the preset number, decoding stops and outputs "decoding failed".
[0124] Figure 2 This is an example diagram illustrating the information update from check node to check node in the LDPC decoding method based on check confidence according to an embodiment of this application.
[0125] like Figure 2 As shown, obtain the variable node v connected to the verification node ci. a Find the variable node v a Connected c i The most recently updated verification node c, excluding j The verification node c is calculated. j To variable node v a Update information The variable node v is calculated. a Updated external information According to variable node v a External information and check node c j To variable node v a Update information The variable node v is calculated. a Post-update verification information Verify node c i Validation confidence With variable node v a Update external information Perform a product operation to calculate the verification node c. i Validation confidence
[0126] Figure 3A structure diagram of an LDPC decoding device based on check confidence provided in Embodiment Two of the present application.
[0127] As shown in Figure 3 The LDPC decoding device based on check confidence comprises:
[0128] The initialization module 10 is configured to acquire check nodes and variable nodes of the LDPC code, initialize the check nodes and the variable nodes, and initialize the iteration number to 0.
[0129] The iteration decoding module 20 is configured to perform check confidence iteration decoding on the LDPC code, obtain a decoding decision result, and increase the iteration number by one.
[0130] The check verification module 30 is configured to perform check verification according to the decoding decision result.
[0131] The output module 40 is configured to, if the check verification is passed, end the decoding, output the decoding decision result as a decoding result, and if the check verification is not passed and the iteration number does not reach a preset iteration number, repeatedly call the iteration decoding module and the check verification module until the check verification is passed.
[0132] The LDPC decoding device based on check confidence provided in Embodiment Two of the present application comprises an initialization module configured to acquire check nodes and variable nodes of the LDPC code, initialize the check nodes and the variable nodes, and initialize the iteration number to 0; an iteration decoding module configured to perform check confidence iteration decoding on the LDPC code, obtain a decoding decision result, and increase the iteration number by one; a check verification module configured to perform check verification according to the decoding decision result; and an output module configured to, if the check verification is passed, end the decoding, output the decoding decision result as a decoding result, and if the check verification is not passed and the iteration number does not reach a preset iteration number, repeatedly call the iteration decoding module and the check verification module until the check verification is passed. Thus, the technical problem that the existing LDPC decoding method consumes more register resources and has higher power consumption can be solved, the accumulation and multiplication operations in the LDPC decoding algorithm are eliminated, the register consumption and decoding resources are reduced, there is basically no new loss, and the decoding efficiency is effectively improved.
[0133] Figure 4 Another structure diagram of the LDPC decoding device based on check confidence provided in Embodiment Two of the present application.
[0134] As shown in Figure 4 The check nodes c i correspond to the i-th row of the check matrix of the LDPC code, the i-th row of the check matrix has a plurality of 1s, and each 1 corresponds to a variable node. The variable nodes v aThe corresponding column a of the LDPC code parity check matrix; if the i-th row and a-th column of the parity check matrix is 1, then the parity node c i Connect variable node v a Sequentially obtain and verify node c. i Connected variable node v a Find the variable node v a The most recently updated check node c outside of the connected ci j The verification node c is calculated using the B2V module. j To variable node v a Update information The variable node v is calculated using the V2C module. a Updated external information Simultaneously, according to variable node v a External information and check node c j To variable node v a Update information The variable node v is calculated. a Post-update verification information The C2B module is used to measure the verification confidence level of the verification node ci. With variable node v a Update external information Perform a product operation to calculate the verification confidence score of the verification node ci.
[0135] To implement the above embodiments, this application also proposes a non-transitory computer-readable storage medium storing a computer program thereon, which, when executed by a processor, implements the LDPC method based on verification confidence of the above embodiments.
[0136] In the description of this specification, the references to terms such as "one embodiment," "some embodiments," "example," "specific example," or "some examples," etc., refer to specific features, structures, materials, or characteristics described in connection with that embodiment or example, which are included in at least one embodiment or example of this application. In this specification, the illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Furthermore, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in one or more embodiments or examples. Moreover, without contradiction, those skilled in the art can combine and integrate the different embodiments or examples described in this specification, as well as the features of different embodiments or examples.
[0137] Moreover, the terms "first", "second", "third", etc. are used herein only to describe different steps or categories of steps in a claim for patent purposes, and are not to be construed as indicating or implying relative importance of one step to another or a quantity of steps. Thus, features defined with "first", "second" or "third" can explicitly or implicitly include at least one of the features. In the description of the present application, the meaning of "plurality" is at least two, for example, two, three, etc., unless otherwise explicitly and specifically limited.
[0138] Any process or method descriptions or blocks in flow charts herein and elsewhere can be understood as representing modules, segments, or portions of code which include one or more executable instructions for implementing specific logical functions or steps in the process, and alternate implementations are possible. In some embodiments, the processes or methods described in flow charts herein and elsewhere can be tailored by reordering steps and / or adding or omitting one or more of the described steps, and the order of the steps can or can not be specifically mentioned or critical. One of ordinary skill in the art will recognize that the scope of the present application encompasses additional implementations which can be derived from the processes or methods described in flow charts herein and elsewhere by reordering steps and / or adding or omitting one or more of the described steps, and the order of the steps can or can not be specifically mentioned or critical.
[0139] Logic and / or steps represented in flow charts herein and elsewhere, for example, can be embodied in computer-readable instructions, segments, or a portion of a program, which includes one or more steps, and can be executed by, and / or implemented in the context of, an instruction execution system, apparatus, or device. In some embodiments, the logic and / or steps represented in flow charts herein and elsewhere can be implemented in the context of an instruction execution system, apparatus, or device, such as a computer-based system, processor-containing system, or other system that can fetch instructions from a instruction execution system, apparatus, or device and execute instructions. For purposes of this specification, a "computer-readable medium" can be any apparatus that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device. The computer-readable medium can comprise a storage medium (e.g., magnetic), a portable computer diskette (magnetic), a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, and a portable compact disc read-only memory (CDROM), and more. The computer-readable medium can even be paper or another suitable medium upon which the program is printed, as the program can be electronically captured, via, for instance, optical scanning of the paper or other medium, then compiled, interpreted, or otherwise processed in a suitable manner, if necessary, and stored in a computer memory.
[0140] It should be understood that parts of the present application can be realized in hardware, software, firmware, or a combination thereof. In the above embodiments, multiple steps or methods can be realized as software or firmware stored in a memory and executed by a suitable instruction execution system. As such, if realized in hardware, and in another embodiment, any one or a combination of the following technologies known in the art can be used: discrete logic circuitry having logic gates for implementing logic functions on data signals, application specific integrated circuits having appropriate combinational logic gates, programmable gate arrays (PGA), field programmable gate arrays (FPGA), and the like.
[0141] Those skilled in the art of the present technology can understand that all or part of the steps carried out by the above-mentioned embodiments can be completed by a program instructing the relevant hardware, and the program can be stored in a computer readable storage medium. When the program is executed, it includes one of the steps of the method embodiments or a combination thereof.
[0142] In addition, each functional unit in each embodiment of the present application can be integrated in one processing module, or each unit can be physically present separately, or two or more units can be integrated in one module. The above-mentioned integrated module can be realized in the form of hardware or in the form of a software functional module. The integrated module, if realized in the form of a software functional module and sold or used as an independent product, can also be stored in a computer readable storage medium.
[0143] The above-mentioned storage medium can be a read-only memory, a magnetic disk or an optical disk, etc. Although the embodiments of the present application have been shown and described above, it should be understood that the above-mentioned embodiments are exemplary and cannot be understood as limiting the present application, and those skilled in the art can make changes, modifications, replacements and variations to the above-mentioned embodiments within the scope of the present application.
Claims
1. A method of LDPC decoding based on check confidence, characterized in that, The method comprises the following steps: S1: obtaining check nodes and variable nodes of an LDPC code, initializing the check nodes and variable nodes, and initializing an iteration number to 0; S2: performing check confidence iterative decoding on the LDPC code to obtain a decoding decision result, and increasing the iteration number by one; S3: performing check verification according to the decoding decision result; S4: if the check verification is passed, ending the decoding, and outputting the decoding decision result as a decoding result, if the check verification is not passed and the iteration number does not reach a preset iteration number, repeating steps S2-S4 until the check verification is passed.
2. The method of claim 1, wherein, The initialization of the check nodes and variable nodes comprises: initializing check confidence of the check nodes to infinity; initializing extrinsic information of the variable nodes to channel input soft information; initializing information from the check nodes to the variable nodes to 0.
3. The method of claim 2, wherein, The check confidence iterative decoding on the LDPC code to obtain a decoding decision result comprises: updating check confidence of the check nodes as target check nodes in turn until updating of check confidence of all the check nodes is completed to obtain a decoding decision result, and updating information from the target check nodes to the target check nodes to complete the updating of check confidence of the target check nodes.
4. The method of claim 3, wherein, The updating of information from the target check nodes to the target check nodes comprises: updating variable nodes connected with the target check nodes as target variable nodes in turn; obtaining a check node connected with the target variable nodes and updated most recently and other than the target check nodes as a first check node, calculating confidence from the first check node to the target check node to obtain a decoding decision value of the target variable node; recursively calculating updated check confidence of the target check node until confidence updating of all information transmitted through the variable nodes is completed.
5. The method of claim 4, wherein, The calculation of confidence from the first check node to the target check node to obtain the decoding decision value of the target variable node comprises: obtaining updated information from the first check node to the target variable node according to check confidence of the first check node and extrinsic information of the target variable node; calculating updated extrinsic information of the target variable node according to extrinsic information of the target variable node, the updated information from the first check node to the target variable node, and information from the target check node to the target variable node; calculating updated a posteriori information of the target variable node according to the updated information and the extrinsic information of the target variable node; performing decoding decision according to the updated a posteriori information of the target variable node, if the updated a posteriori information of the target variable node is greater than or equal to 0, the decoding decision value of the target variable node is 0, otherwise, the decoding decision value of the target variable node is 1.
6. The method of claim 5, wherein, The recursive calculation of updated check confidence of the target check node comprises: The check confidence of the target check node and the updated extrinsic information of the target variable node are multiplied to obtain updated information of the target variable node to the target check node as updated check confidence of the target check node.
7. The method of claim 5, wherein, The decoding decision result includes a decoding decision value of the target variable node, and the check verification according to the decoding decision result includes: If the decoding decision result satisfies a check equation, the check verification passes; If the decoding decision result does not satisfy the check equation, the check verification fails; The check equation is expressed as: wherein denotes a decoding decision value, H T denotes the transposed form of the LDPC code check matrix.
8. The method of claim 1, wherein, After the check verification according to the decoding decision result, the method further includes: If the check verification fails and the iteration number reaches a preset iteration number, decoding is stopped, and a decoding failure is output.
9. An LDPC decoding device based on verification confidence, characterized in that, The method includes: An initialization module is configured to acquire check nodes and variable nodes of an LDPC code, initialize the check nodes and variable nodes, and initialize an iteration number to 0; An iterative decoding module is configured to perform check confidence iterative decoding on the LDPC code to obtain a decoding decision result and increase the iteration number by one; A check verification module is configured to perform check verification according to the decoding decision result; An output module is configured to end decoding, output the decoding decision result as a decoding result if the check verification passes, and repeatedly call the iterative decoding module and the check verification module until the check verification passes if the check verification fails and the iteration number does not reach a preset iteration number.
10. A non-transitory computer-readable storage medium having stored thereon a computer program, characterized in that, The computer program is executed by a processor to implement the method in any of claims 1-8.