CN115603761A - LDPC decoding method and device based on check confidence - Google Patents
LDPC decoding method and device based on check confidence Download PDFInfo
- Publication number
- CN115603761A CN115603761A CN202211182509.3A CN202211182509A CN115603761A CN 115603761 A CN115603761 A CN 115603761A CN 202211182509 A CN202211182509 A CN 202211182509A CN 115603761 A CN115603761 A CN 115603761A
- Authority
- CN
- China
- Prior art keywords
- check
- decoding
- node
- target
- nodes
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 45
- 238000012795 verification Methods 0.000 claims abstract description 85
- 239000011159 matrix material Substances 0.000 claims description 9
- 239000000126 substance Substances 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 3
- 238000009825 accumulation Methods 0.000 abstract description 5
- 238000004422 calculation algorithm Methods 0.000 abstract description 5
- 230000010365 information processing Effects 0.000 abstract description 2
- 238000004364 calculation method Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 3
- 239000000463 material Substances 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
Abstract
The application provides an LDPC decoding method based on check confidence coefficient, which relates to the technical field of information processing, wherein the method comprises the following steps: s1: acquiring check nodes and variable nodes of the LDPC code, initializing the check nodes and the variable nodes, and initializing the iteration times to 0; s2: performing check confidence iteration decoding on the LDPC code to obtain a decoding judgment result, and increasing the iteration times once; s3: checking and verifying according to the decoding judgment result; s4: if the verification passes, ending the decoding, outputting a decoding judgment result as a decoding result, and if the verification fails and the iteration number does not reach the preset iteration number, repeating the steps S2-S4 until the verification passes. By eliminating accumulation and multiplication operations in the LDPC decoding algorithm, the register consumption and decoding resources are reduced, and meanwhile, the decoding efficiency is effectively improved.
Description
Technical Field
The present application relates to the field of information processing technologies, and in particular, to an LDPC decoding method and apparatus based on check confidence.
Background
LDPC (Low Density Parity Check) Code is the latest excellent channel error correction coding technique, has been applied in the 5G mobile communication standard, and is one of the candidate channel coding techniques for future 6G mobile communication. LDPC codes may be defined by a check matrix. For each parity check matrix H, there is a corresponding Tanner (bipartitle Tanner graph). The Tanner graph includes two kinds of nodes, 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 in a row and a column in H is 1, VN and CN in the Tanner graph are connected by a "side".
In the decoding of the LDPC code, a plurality of numbers are needed to carry out summation and product calculation, so that the calculation of each number needs a plurality of data reading operations, and the decoding speed is greatly reduced. Usually, a row processing method and a column processing method are adopted, firstly, the product of the row or the sum of the columns is calculated, then, each element is subtracted, and the confidence coefficient of each element in the row or the column is obtained, so that only 2 time delay units are needed for the calculation and evaluation of each confidence coefficient, and the decoding throughput rate is greatly improved. The decoding method still needs a large number of registers to keep the intermediate calculation values, consumes a great deal of register resources, increases the chip area and improves the power consumption.
Disclosure of Invention
The present application is directed to solving, at least to some extent, one of the technical problems in the related art.
Therefore, a first objective of the present application is to provide an LDPC decoding method based on check confidence, which solves the technical problems of more register resources and higher power consumption of the existing LDPC decoding method, reduces register consumption and decoding resources by eliminating accumulation and multiplication operations in the LDPC decoding algorithm, and meanwhile, has substantially no new year loss, and effectively improves decoding efficiency.
A second objective of the present application is to provide an LDPC decoding apparatus based on check confidence.
A third object of the present application is to propose a non-transitory computer-readable storage medium.
In order to achieve the above object, an embodiment of a first aspect of the present application provides an LDPC decoding method based on check confidence, including: s1: acquiring a check node and a variable node of the LDPC code, initializing the check node and the variable node, and initializing the iteration times to 0; s2: performing check confidence iterative decoding on the LDPC code to obtain a decoding judgment result, and increasing the iteration times once; s3: checking and verifying according to the decoding judgment result; s4: and if the verification passes, finishing decoding, outputting a decoding judgment result as a decoding result, and if the verification fails and the iteration times do not reach the preset iteration times, repeating the steps S2-S4 until the verification passes.
Optionally, in an embodiment of the present application, initializing the check nodes and the variable nodes includes:
initializing the verification confidence of the verification nodes to infinity;
initializing external information of the variable node into channel input soft information;
the information from the check node to the variable node is initialized to 0.
Optionally, in an embodiment of the present application, performing check confidence iterative decoding on the LDPC code to obtain a decoding decision result, where the decoding decision result includes:
and sequentially updating the verification confidence coefficients by taking the verification nodes as target verification nodes until the verification confidence coefficients of all the verification nodes are updated to obtain a decoding judgment result, and updating the verification confidence coefficients of the target verification nodes by updating information from the verification nodes to the verification nodes of the target verification nodes.
Optionally, in an embodiment of the present application, the updating information from check node to check node for the target check node includes:
sequentially taking variable nodes connected with the target check nodes as target variable nodes;
acquiring a latest updated check node connected with the target variable node except the target check node as a first check node, and calculating the confidence from the first check node to the target check node to obtain a decoding decision value of the target variable node;
and recursively calculating the updated check confidence coefficient of the target check node until the confidence coefficient updating of all the information transmitted by the variable nodes is completed.
Optionally, in an embodiment of the present application, calculating a confidence from the first check node to the target check node to obtain a decoding decision value of the target variable node includes:
obtaining updating information from the first check node to the target variable node according to the check confidence coefficient of the first check node and the external information of the target variable node;
calculating to obtain the updated external information of the target variable node according to the external information of the target variable node, the updated information from the first check node to the target variable node and the information from the target check node to the target variable node;
calculating to obtain the updated posterior information of the target variable node according to the updated information and the external information of the target variable node;
and carrying out decoding judgment according to the updated posterior information of the target variable node, wherein if the updated posterior information of the target variable node is more than or equal to 0, the decoding judgment value of the target variable node is 0, otherwise, the decoding judgment value of the target variable node is 1.
Optionally, in an embodiment of the present application, recursively calculating the updated check confidence of the target check node includes:
and performing product operation on the check confidence of the target check node and the updated information of the target variable node to obtain the updated information from the updated information of the target variable node to the target check node, wherein the updated information is used as the update check confidence of the target check node.
Optionally, in an embodiment of the present application, the decoding decision result includes a decoding decision value of a target variable node, and the verifying according to the decoding decision result includes:
if the decoding judgment result meets the check equation, the check verification is passed;
if the decoding judgment result does not meet the check equation, the check verification fails;
wherein the check equation is expressed as:
wherein, the first and the second end of the pipe are connected with each other,indicating a decoding decision, H T Representing the transposed form of the LDPC code check matrix.
Optionally, in an embodiment of the present application, after performing verification according to a decoding decision result, the method further includes:
if the verification fails and the iteration times reach the preset iteration times, stopping decoding and outputting decoding failure.
In order to achieve the above object, an embodiment of a second aspect of the present application provides an LDPC decoding apparatus based on check confidence, including:
the initialization module is used for acquiring the check nodes and the variable nodes of the LDPC code, initializing the check nodes and the variable nodes and initializing the iteration times to 0;
the iterative decoding module is used for carrying out check confidence iterative decoding on the LDPC code to obtain a decoding judgment result and increasing the iteration times once;
the verification module is used for verifying and verifying according to the decoding judgment result;
and the output module is used for finishing decoding if the verification passes, outputting a decoding judgment result as a decoding result, and repeatedly calling the iterative decoding module and the verification module until the verification passes if the verification fails and the iteration number does not reach the preset iteration number.
In order to achieve the above object, a non-transitory computer readable storage medium is provided in a third aspect of the present application, and when executed by a processor, instructions in the storage medium can perform an LDPC decoding method based on check confidence.
The LDPC decoding method and device based on the check confidence coefficient and the non-transitory computer readable storage medium solve the technical problems that the existing LDPC decoding method consumes too many register resources and consumes more power, reduce the register consumption and decoding resources by eliminating the accumulation and multiplication operations in the LDPC decoding algorithm, have no new year loss basically and effectively improve the decoding efficiency.
Additional aspects and advantages of the present application will be set forth in part in the description which follows and, in part, will be obvious from the description, or may be learned by practice of the present application.
Drawings
The above and/or additional aspects and advantages of the present application will become apparent and readily appreciated from the following description of the embodiments, taken in conjunction with the accompanying drawings of which:
fig. 1 is a schematic flowchart of an LDPC decoding method based on check confidence provided in an embodiment of the present application;
fig. 2 is an exemplary diagram of performing check node-to-check node information update on a target check node in the LDPC decoding method based on check confidence in the embodiment of the present application;
fig. 3 is a schematic structural diagram of an LDPC decoding apparatus based on check confidence provided in the second embodiment of the present application;
fig. 4 is another schematic structural diagram of an LDPC decoding apparatus based on check confidence according to an embodiment of the present application.
Detailed Description
Reference will now be made in detail to the embodiments of the present application, examples of which are illustrated in the accompanying drawings, wherein like reference numerals refer to the same or similar elements or elements having the same or similar functions throughout. The embodiments described below with reference to the drawings are exemplary and intended to be used for explaining the present application and should not be construed as limiting the present application.
The LDPC decoding method and apparatus based on check confidence according to an embodiment of the present application are described below with reference to the drawings.
Fig. 1 is a schematic flowchart of an LDPC decoding method based on check confidence provided in an embodiment of the present application.
As shown in fig. 1, the LDPC decoding method based on check confidence includes the following steps:
s1: acquiring check nodes and variable nodes of the LDPC code, initializing the check nodes and the variable nodes, and initializing the iteration times to 0;
s2: performing check confidence iteration decoding on the LDPC code to obtain a decoding judgment result, and increasing the iteration times once;
s3: checking and verifying according to the decoding judgment result;
s4: and if the verification passes, finishing decoding, outputting a decoding judgment result as a decoding result, and if the verification fails and the iteration times do not reach the preset iteration times, repeating the steps S2-S4 until the verification passes.
The LDPC decoding method based on the check confidence coefficient of the embodiment of the application comprises the following steps of S1: acquiring a check node and a variable node of the LDPC code, initializing the check node and the variable node, and initializing the iteration times to 0; s2: performing check confidence iteration decoding on the LDPC code to obtain a decoding judgment result, and increasing the iteration times once; s3: checking and verifying according to the decoding judgment result; s4: and if the verification passes, finishing decoding, outputting a decoding judgment result as a decoding result, and if the verification fails and the iteration times do not reach the preset iteration times, repeating the steps S2-S4 until the verification passes. Therefore, the technical problems of more register resources and higher power consumption of the traditional LDPC decoding method can be solved, the register consumption and the decoding resources are reduced by eliminating accumulation and multiplication operations in the LDPC decoding algorithm, meanwhile, the loss in the new year is basically avoided, and the decoding efficiency is effectively improved.
The LDPC decoding method based on the check confidence coefficient completes LDPC decoding through iterative decoding, and completes each iterative decoding through updating the check confidence coefficient of each check node in sequence; updating information from the check nodes to the check nodes through recursion to complete the updating of the check confidence of each check node; after each iterative decoding, checking and verifying the judgment bits so as to determine whether to continue the iteration; wherein, the updating of the check confidence of each check node is completed by recursively updating the information from the check node to the check node, and comprises the steps of firstly calculating the check node cj to the variable nodev a Then calculates the variable node v a Update extrinsic information and complete variable node v a Updating posterior information and judging decoding, and finally finishing calculating variable node v a And updating the external information to the check node ci.
Further, in this embodiment of the present application, initializing the check nodes and the variable nodes includes:
initializing the verification confidence of the verification nodes to infinity;
initializing the external information of the variable node into channel input soft information;
the check node to variable node information is initialized to 0.
external information of all variable nodesSoft information is initialized to the channel input, represented as:
wherein the content of the first and second substances,is a variable node v a The value of the code of (a) is,is a variable node v a Is determined by the received value of (a),
further, in this embodiment of the present application, performing check confidence iterative decoding on the LDPC code to obtain a decoding decision result, including:
and sequentially updating the verification confidence coefficients by taking the verification nodes as target verification nodes until the verification confidence coefficients of all the verification nodes are updated to obtain a decoding judgment result, and updating the verification confidence coefficients of the target verification nodes by updating information from the verification nodes to the verification nodes of the target verification nodes.
Performing check confidence iterative decoding on the LDPC code, comprising:
s21: initializing a check node ci as a 0 th check node;
s22: updating information from the check node to the check node for the check node ci;
s23: if the information updating of all the check nodes is finished, ending the iterative decoding; otherwise, the check node is added to the next check node, and the process returns to the step S22.
Further, in this embodiment of the present application, the updating information from check node to check node for the target check node includes:
sequentially taking variable nodes connected with the target check nodes as target variable nodes;
acquiring a latest updated check node connected with the target variable node except the target check node as a first check node, and calculating the confidence from the first check node to the target check node to obtain a decoding decision value of the target variable node;
and recursively calculating the updated check confidence coefficient of the target check node until the confidence coefficient updating of all the information transmitted by the variable nodes is completed.
To check node c i Go on to schoolThe information updating from the check node to the check node comprises the following steps:
S222: initializing variable nodes v connected with check nodes ci a 0 th neighbor node of ci;
s223: find and variable node v a The most recently updated check node cj other than ci that is connected;
s224: calculating the confidence coefficient from the check node cj to the check node ci;
S226: if the confidence degree updating of all the information of the check node ci transmitted by the adjacent variable nodes is completed, the information is obtained by recursionWherein, N (c) i ) Representing the number of neighbor nodes of the verification node ci, the confidence calculation of the verification node ci is completed, that isOtherwise, returning to S222 to continue recursive computation of check node c i The verification confidence of (3).
Further, in the embodiment of the present application, calculating a confidence from the first check node to the target check node to obtain a decoding decision value of the target variable node includes:
obtaining updating information from the first check node to the target variable node according to the check confidence of the first check node and the external information of the target variable node;
calculating to obtain the updated external information of the target variable node according to the external information of the target variable node, the updated information from the first check node to the target variable node and the information from the target check node to the target variable node;
calculating to obtain the updated posterior information of the target variable node according to the updated information and the external information of the target variable node;
and carrying out decoding judgment according to the updated posterior information of the target variable node, wherein if the updated posterior information of the target variable node is more than or equal to 0, the decoding judgment value of the target variable node is 0, otherwise, the decoding judgment value of the target variable node is 1.
Computing check node c j To check node c i Includes:
s2241: according to check node c j Check confidence ofAnd variable node v a External information ofCalculating to obtain a check node c j To variable node v a Wherein the check node c j To variable node v a The calculation formula of the update information of (2) is expressed as:
wherein, the first and the second end of the pipe are connected with each other,represents check node c j To variable node v a Update information of psi - () In order to perform the operation of removing the product,indicating the verification confidence of the verification node ci,representing variable nodes v a The external information of (a) is received,
wherein, the product removing operation is expressed as:
ψ - (x,y)=sgn(x)·sgn(y)·φ(|φ(|x|)-φ(|y|)|),
check node c i Check confidence ofExcluding variable node v a External information ofI.e. check node c j To variable node v a The information of (1).
S2242: node v of variable a External information of (2)Plus check node c j To variable node v a Update information ofThen subtract check node c i To variable node v a Information ofCalculating to obtain variable node v a Of the variable node v, wherein the variable node v a Is expressed as
Wherein the content of the first and second substances,representing variable node v a The update-out information of (a) is,representing variablesNode v a The external information of (a) is received,representing check node c j To variable node v a The update information of (a) is stored in the storage unit,represents check node c i To variable node v a The information of (a).
S2243: according to variable node v a External information ofAnd check node c j To variable node v a Update information ofCalculating to obtain variable node v a Is updated, wherein the variable node v a The calculation formula of the updated posterior information of (a) is expressed as:
wherein the content of the first and second substances,representing variable nodes v a The updated a-posteriori information of (c),representing variable nodes v a The external information of (a) is provided,representing check node c j To variable node v a The update information of (2).
S2244: according to variable node v a The updated posterior information is decoded and judged if the variable node v a If the updated posterior information is greater than or equal to 0, the variable node v a Is judged by decodingThe decision value is 0 if the variable node v a Is less than 0, then the variable node v a Has a decoding decision value of 1, wherein the node v is based on the variable a The decoding decision of the updated a posteriori information is expressed as:
wherein the content of the first and second substances,which represents a decision to decode,representing variable node v a The updated posterior information of (a).
Further, in this embodiment of the present application, recursively calculating the updated check confidence of the target check node includes:
and performing product operation on the check confidence of the target check node and the updated information of the target variable node to obtain the updated information from the updated information of the target variable node to the target check node, wherein the updated information is used as the update check confidence of the target check node.
Recursively calculating check node c i Degree of confidence ofThe method comprises the following steps:
s2251: partial verification confidenceAnd variable node v a Updating external informationPerforming product operation to obtain variable node v a Updating extrinsic informationTo check node c i As update information ofNode c is tested i Check confidence ofThe calculation formula is expressed as:
wherein the content of the first and second substances,represents check node c i Partial verification confidence, psi, with n recursive updates + () The operation of the product is represented by,representing the partial verification confidence for n-1 recursive updates,representing variable node v a Updating extrinsic information, wherein the product operation is expressed as:
ψ + (x,y)=sgn(x)·sgn(y)·φ(φ(|x|)+φ(|y|)),
further, in this embodiment of the present application, the decoding decision result includes a decoding decision value of the target variable node, and the verifying according to the decoding decision result includes:
if the decoding judgment result meets the check equation, the check verification is passed;
if the decoding judgment result does not meet the check equation, the check verification fails;
wherein the check equation is expressed as:
wherein the content of the first and second substances,represents a decoding decision, H T Representing the transposed form of the LDPC code check matrix.
If the decoding is judgedFormed vector ofSatisfy the check equationThe decoding verification passes; otherwise, the decoding check verification fails.
Further, in the embodiment of the present application, after performing verification according to a decoding decision result, the method further includes:
if the verification fails and the iteration times reach the preset iteration times, stopping decoding and outputting decoding failure.
Fig. 2 is an exemplary diagram of performing check node-to-check node information update on a target check node according to the LDPC decoding method based on check confidence in the embodiment of the present application.
As shown in FIG. 2, a variable node v connected to a check node ci is obtained a (ii) a Find and variable node v a Linked c i Outer most recently updated check node c j (ii) a Calculating to obtain a check node c j To variable node v a Update information ofCalculating to obtain variable node v a Update external information ofAccording to variable node v a External information ofAnd check node c j To variable node v a Update information ofCalculating to obtain variable node v a Updated posterior information ofCheck node c i Check confidence ofAnd variable node v a Updating external informationPerforming product operation to obtain check node c i Check confidence of
Fig. 3 is a schematic structural diagram of an LDPC decoding apparatus based on check confidence provided in the second embodiment of the present application.
As shown in fig. 3, the LDPC decoding apparatus based on check confidence includes:
an initialization module 10, configured to obtain check nodes and variable nodes of an LDPC code, initialize the check nodes and the variable nodes, and initialize iteration times to 0;
the iterative decoding module 20 is configured to perform check confidence iterative decoding on the LDPC code to obtain a decoding decision result, and increase the number of iterations once;
the verification module 30 is used for verifying and verifying according to the decoding judgment result;
and the output module 40 is used for finishing decoding if the verification passes, outputting a decoding judgment result as a decoding result, and repeatedly calling the iterative decoding module and the verification module until the verification passes if the verification fails and the iteration number does not reach the preset iteration number.
The LDPC decoding device based on the check confidence coefficient comprises an initialization module, a check confidence coefficient generation module and a decoding module, wherein the initialization module is used for acquiring check nodes and variable nodes of an LDPC code, initializing the check nodes and the variable nodes and initializing iteration times to 0; the iterative decoding module is used for carrying out check confidence iterative decoding on the LDPC code to obtain a decoding judgment result and increasing the iteration times once; the verification module is used for verifying and verifying according to the decoding judgment result; and the output module is used for finishing decoding if the verification passes, outputting a decoding judgment result as a decoding result, and repeatedly calling the iterative decoding module and the verification module until the verification passes if the verification fails and the iteration number does not reach the preset iteration number. Therefore, the technical problems that the existing LDPC decoding method consumes more register resources and consumes more power can be solved, the register consumption and decoding resources are reduced by eliminating accumulation and multiplication operations in the LDPC decoding algorithm, meanwhile, the loss in new years is basically avoided, and the decoding efficiency is effectively improved.
Fig. 4 is another schematic structural diagram of an LDPC decoding apparatus based on check confidence according to an embodiment of the present application.
As shown in FIG. 4, check node c i Corresponding to the ith row of the LDPC code check matrix, the ith row of the check matrix has a plurality of 1, and each 1 corresponds to one variable node. Variable node v a Corresponding to the a-th column of the LDPC code check matrix; check node c if ith row of check matrix, ith column and 1 i Connecting variable nodes v a . Sequentially acquiring and checking nodes c i Connected variable node v a (ii) a Find and variable node v a Most recently updated check node c outside of ci connected j (ii) a The check node c is obtained through B2V module calculation j To variable node v a Update information ofObtaining variable node V through V2C module calculation a Update external information ofWhile according to variable node v a External information ofAnd check node c j To variable node v a Update information ofCalculating to obtain variable node v a Updated posterior information ofChecking confidence of checking node ci through C2B moduleAnd variable node v a Updating external informationPerforming product operation to calculate the verification confidence of the verification node ci
In order to implement the above embodiments, the present application also proposes a non-transitory computer-readable storage medium having stored thereon a computer program which, when executed by a processor, implements the check confidence based LDPC method of the above embodiments.
In the description of the present specification, reference to the description of "one embodiment," "some embodiments," "an example," "a specific example," or "some examples" or the like means that a particular feature, structure, material, or characteristic described in connection with the embodiment or example is included in at least one embodiment or example of the present application. In this specification, the schematic representations of the terms used above are not necessarily intended to refer to the same embodiment or example. Furthermore, the particular features, structures, materials, or characteristics described may be combined in any suitable manner in any one or more embodiments or examples. Furthermore, various embodiments or examples and features of different embodiments or examples described in this specification can be combined and combined by one skilled in the art without contradiction.
Furthermore, the terms "first", "second" and "first" are used for descriptive purposes only and are not to be construed as indicating or implying relative importance or to implicitly indicate the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one such feature. In the description of the present application, "plurality" means at least two, e.g., two, three, etc., unless explicitly specified otherwise.
Any process or method descriptions in flow charts or otherwise described herein may be understood as representing modules, segments, or portions of code which include one or more executable instructions for implementing steps of a custom logic function or process, and alternate implementations are included within the scope of the preferred embodiment of the present application in which functions may be executed out of order from that shown or discussed, including substantially concurrently or in reverse order, depending on the functionality involved, as would be understood by those reasonably skilled in the art of the present application.
The logic and/or steps represented in the flowcharts or otherwise described herein, e.g., an ordered listing of executable instructions that can be considered to implement logical functions, can be embodied in any computer-readable medium for use by or in connection with an instruction execution system, apparatus, or device, such as a computer-based system, processor-containing system, or other system that can fetch the instructions from the instruction execution system, apparatus, or device and execute the instructions. For the purposes of this description, a "computer-readable medium" can be any means that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device. More specific examples (a non-exhaustive list) of the computer-readable medium would include the following: an electrical connection (electronic device) having one or more wires, a portable computer diskette (magnetic device), a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber device, and a portable compact disc read-only memory (CDROM). Further, the computer-readable medium could 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 then stored in a computer memory.
It should be understood that portions of the present application may be implemented in hardware, software, firmware, or a combination thereof. In the above embodiments, various steps or methods may be implemented in software or firmware stored in a memory and executed by a suitable instruction execution system. If implemented in hardware, as in another embodiment, any one or combination of the following techniques, which are known in the art, may be used: a discrete logic circuit having a logic gate circuit for implementing a logic function on a data signal, an application specific integrated circuit having an appropriate combinational logic gate circuit, a Programmable Gate Array (PGA), a Field Programmable Gate Array (FPGA), or the like.
It will be understood by those skilled in the art that all or part of the steps carried by the method for implementing the above embodiments may be implemented by hardware related to instructions of a program, which may be stored in a computer readable storage medium, and when the program is executed, the program includes one or a combination of the steps of the method embodiments.
In addition, functional units in the embodiments of the present application may be integrated into one processing module, or each unit may exist alone physically, or two or more units are integrated into one module. The integrated module can be realized in a hardware mode, and can also be realized in a software functional module mode. The integrated module, if implemented in the form of a software functional module and sold or used as a stand-alone product, may also be stored in a computer readable storage medium.
The storage medium mentioned above may be a read-only memory, a magnetic or optical disk, etc. Although embodiments of the present application have been shown and described above, it is understood that the above embodiments are exemplary and should not be construed as limiting the present application, and that variations, modifications, substitutions and alterations may be made to the above embodiments by those of ordinary skill in the art within the scope of the present application.
Claims (10)
1. An LDPC decoding method based on check confidence is characterized by comprising the following steps:
s1: acquiring check nodes and variable nodes of the LDPC code, initializing the check nodes and the variable nodes, and initializing the iteration times to 0;
s2: performing check confidence iterative decoding on the LDPC code to obtain a decoding judgment result, and increasing the iteration times once;
s3: checking and verifying according to the decoding judgment result;
s4: if the verification passes, ending the decoding, outputting the decoding judgment result as a decoding result, and if the verification fails and the iteration frequency does not reach the preset iteration frequency, repeating the steps S2-S4 until the verification passes.
2. The method of claim 1, wherein the initializing the check nodes and variable nodes comprises:
initializing a check confidence for the check nodes to infinity;
initializing the external information of the variable node into channel input soft information;
initializing the information from the check node to the variable node to 0.
3. The method of claim 2, wherein the iteratively decoding the check confidence of the LDPC code to obtain a decoding decision result comprises:
and sequentially updating the check confidence coefficients by taking the check nodes as target check nodes until the update of the check confidence coefficients of all the check nodes is completed to obtain a decoding judgment result, and updating the check confidence coefficients of the target check nodes by updating the information from the check nodes to the check nodes of the target check nodes.
4. The method of claim 3, wherein said check node to check node information update for said target check node comprises:
sequentially taking variable nodes connected with the target check nodes as target variable nodes;
acquiring a latest updated check node connected with the target variable node except the target check node as a first check node, and calculating a confidence from the first check node to the target check node to obtain a decoding decision value of the target variable node;
and recursively calculating the update check confidence of the target check node until the confidence of all the information transmitted by the variable nodes is updated.
5. The method of claim 4, wherein said calculating the confidence level from the first check node to the target check node to obtain the decoding decision value of the target variable node comprises:
obtaining update information from the first check node to the target variable node according to the check confidence of the first check node and the extrinsic information of the target variable node;
calculating to obtain the updated external information of the target variable node according to the external information of the target variable node, the updated information from the first check node to the target variable node and the information from the target check node to the target variable node;
calculating to obtain the updated posterior information of the target variable node according to the updated information and the external information of the target variable node;
and carrying out decoding judgment according to the updated posterior information of the target variable node, wherein if the updated posterior information of the target variable node is more than or equal to 0, the decoding judgment value of the target variable node is 0, otherwise, the decoding judgment value of the target variable node is 1.
6. The method of claim 5, wherein said recursively calculating an updated check confidence for the target check node comprises:
and performing product operation on the check confidence of the target check node and the updated information of the target variable node to obtain updated information from the updated information of the target variable node to the target check node, wherein the updated information is used as the updated check confidence of the target check node.
7. The method of claim 5, wherein the decoding decision result comprises a decoding decision value of the target variable node, and the performing the verification according to the decoding decision result comprises:
if the decoding judgment result meets a check equation, the check verification is passed;
if the decoding judgment result does not meet the check equation, the check verification fails;
wherein the check equation is expressed as:
8. The method of claim 1, wherein after said performing check verification based on said decoding decision result, further comprising:
and if the verification fails and the iteration times reach preset iteration times, stopping decoding and outputting decoding failure.
9. An LDPC decoding apparatus based on check confidence, comprising:
the initialization module is used for acquiring check nodes and variable nodes of the LDPC code, initializing the check nodes and the variable nodes and initializing the iteration times to 0;
the iterative decoding module is used for carrying out check confidence iterative decoding on the LDPC code to obtain a decoding judgment result and increasing the iteration times once;
the verification module is used for verifying and verifying according to the decoding judgment result;
and the output module is used for finishing decoding if the verification passes, outputting the decoding judgment result as a decoding result, and repeatedly calling the iterative decoding module and the verification module until the verification passes if the verification fails and the iteration times do not reach the preset iteration times.
10. A non-transitory computer readable storage medium having stored thereon a computer program, wherein the computer program, when executed by a processor, implements the method of any one of claims 1-8.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211182509.3A CN115603761A (en) | 2022-09-27 | 2022-09-27 | LDPC decoding method and device based on check confidence |
PCT/CN2022/131682 WO2024065978A1 (en) | 2022-09-27 | 2022-11-14 | Check confidence-based ldpc decoding method and apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211182509.3A CN115603761A (en) | 2022-09-27 | 2022-09-27 | LDPC decoding method and device based on check confidence |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115603761A true CN115603761A (en) | 2023-01-13 |
Family
ID=84845734
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211182509.3A Pending CN115603761A (en) | 2022-09-27 | 2022-09-27 | LDPC decoding method and device based on check confidence |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115603761A (en) |
WO (1) | WO2024065978A1 (en) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102545913B (en) * | 2012-02-07 | 2015-05-27 | 中兴通讯股份有限公司 | Iterative decoding method and iterative decoding system |
CN109302267A (en) * | 2018-09-26 | 2019-02-01 | 西安科技大学 | Interpretation method, equipment and the storage medium of mimo system based on LDPC |
CN111245444B (en) * | 2020-03-20 | 2022-03-29 | 清华大学 | Normalized minimum sum LDPC decoding method and decoder |
CN111865335B (en) * | 2020-09-24 | 2021-01-22 | 浙江三维通信科技有限公司 | Decoding method and device of packet error correcting code, storage medium and electronic device |
CN112953554B (en) * | 2021-01-27 | 2022-12-13 | 武汉梦芯科技有限公司 | LDPC decoding method, system and medium based on layered confidence propagation |
CN112953553B (en) * | 2021-01-27 | 2023-04-07 | 武汉梦芯科技有限公司 | Improved multi-system LDPC decoding method, device and medium in GNSS system |
-
2022
- 2022-09-27 CN CN202211182509.3A patent/CN115603761A/en active Pending
- 2022-11-14 WO PCT/CN2022/131682 patent/WO2024065978A1/en unknown
Also Published As
Publication number | Publication date |
---|---|
WO2024065978A1 (en) | 2024-04-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5306342B2 (en) | Shuffle LDPC decoding | |
US8495453B1 (en) | Circulant processing scheduler for layered LDPC decoder | |
CN113032178B (en) | Memory controller and access method of flash memory | |
US5802116A (en) | Soft decision Viterbi decoding with large constraint lengths | |
JP2002033670A (en) | Method and device for decoding general-purpose code in probability dependent graph | |
US20090319861A1 (en) | Using damping factors to overcome ldpc trapping sets | |
CN101064591B (en) | Decoding method for low density parity check code and its check node refreshing circuit | |
KR20060068168A (en) | Apparatus for decoding ldpc with low computational complexity algorithms and method thereof | |
US10848182B2 (en) | Iterative decoding with early termination criterion that permits errors in redundancy part | |
US20060274772A1 (en) | Apparatus and methods for message passing decoding using simultaneous memory accesses | |
JP5723975B2 (en) | Method, system, and program for decoding of LDPC code | |
RU2246751C2 (en) | High-speed module for adding/comparing/selecting for use with witterby decoder | |
CN113037299A (en) | LDPC code sparse check matrix reconstruction method and device based on iterative decoding | |
CN110730008B (en) | RS code belief propagation decoding method based on deep learning | |
CN115549694A (en) | LDPC code minimum code repetition detection method and device | |
KR101631128B1 (en) | Ldpc decoder with a variable node updater which uses a scaling constant | |
US9590658B1 (en) | High-speed low-power LDPC decoder design | |
CN107872231B (en) | LDPC decoding method and device | |
CN115603761A (en) | LDPC decoding method and device based on check confidence | |
TWI641233B (en) | Method and decoder for decoding low density parity check data to deocde codeword | |
CN103190079B (en) | Decoding apparatus and coding/decoding method | |
CN110708077B (en) | LDPC code large number logic decoding method, device and decoder | |
US8347167B2 (en) | Circuits for implementing parity computation in a parallel architecture LDPC decoder | |
US8706792B1 (en) | Low-complexity q-ary LDPC decoder | |
CN111917420A (en) | LDPC self-adaptive decoding method and LDPC self-adaptive decoder |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |