CN111865335B  Decoding method and device of packet error correcting code, storage medium and electronic device  Google Patents
Decoding method and device of packet error correcting code, storage medium and electronic device Download PDFInfo
 Publication number
 CN111865335B CN111865335B CN202011017991.6A CN202011017991A CN111865335B CN 111865335 B CN111865335 B CN 111865335B CN 202011017991 A CN202011017991 A CN 202011017991A CN 111865335 B CN111865335 B CN 111865335B
 Authority
 CN
 China
 Prior art keywords
 target
 variable
 node
 layer
 check
 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.)
 Active
Links
 238000000034 method Methods 0.000 title claims abstract description 37
 238000012545 processing Methods 0.000 claims abstract description 67
 238000012937 correction Methods 0.000 claims abstract description 32
 239000011159 matrix material Substances 0.000 claims abstract description 26
 238000004590 computer program Methods 0.000 claims description 16
 125000004432 carbon atom Chemical group C* 0.000 claims description 6
 238000013507 mapping Methods 0.000 claims 1
 238000004891 communication Methods 0.000 abstract description 4
 238000005516 engineering process Methods 0.000 abstract description 3
 230000000694 effects Effects 0.000 abstract description 2
 238000004364 calculation method Methods 0.000 description 33
 230000000875 corresponding effect Effects 0.000 description 32
 238000010586 diagram Methods 0.000 description 12
 230000005540 biological transmission Effects 0.000 description 9
 125000004122 cyclic group Chemical group 0.000 description 6
 238000004422 calculation algorithm Methods 0.000 description 3
 230000006870 function Effects 0.000 description 2
 238000012986 modification Methods 0.000 description 2
 230000004048 modification Effects 0.000 description 2
 230000003287 optical effect Effects 0.000 description 2
 230000008569 process Effects 0.000 description 2
 238000012546 transfer Methods 0.000 description 2
 238000004458 analytical method Methods 0.000 description 1
 238000013459 approach Methods 0.000 description 1
 230000002596 correlated effect Effects 0.000 description 1
 230000006872 improvement Effects 0.000 description 1
 238000010295 mobile communication Methods 0.000 description 1
 238000010606 normalization Methods 0.000 description 1
 238000011160 research Methods 0.000 description 1
 230000017105 transposition Effects 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
 H03M13/1102—Codes on graphs and decoding on graphs, e.g. lowdensity parity check [LDPC] codes
 H03M13/1105—Decoding
 H03M13/1108—Hard decision decoding, e.g. bit flipping, modified or weighted bit flipping

 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
 H03M13/1102—Codes on graphs and decoding on graphs, e.g. lowdensity parity check [LDPC] codes
 H03M13/1105—Decoding
 H03M13/1128—Judging correct decoding and iterative stopping criteria other than syndrome check and upper limit for decoding iterations

 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
 H03M13/1102—Codes on graphs and decoding on graphs, e.g. lowdensity parity check [LDPC] codes
 H03M13/1148—Structural properties of the code paritycheck or generator matrix
Abstract
The embodiment of the invention provides a decoding method, a decoding device, a storage medium and an electronic device of a packet error correction code, which relate to the technical field of the communication technology of the packet error correction code, wherein the method comprises the steps of determining the number of iterative decoding layers according to the size of a submatrix in a check matrix, wherein the check matrix consists of a packet error correction code sequence; target variable nodes related to the target check nodes are subjected to target processing based on the target check nodes in the target iterative decoding layer; under the condition that the target processing results are all hard decisions, the target processing is carried out on other variable nodes in a target iteration decoding layer; and under the condition that the target processing results are all hard decisions, sequentially carrying out the target processing on variable nodes corresponding to the variable nodes of the target iterative decoding layer in other iterative decoding layers until the hard decisions are satisfied. By the method and the device, the problem of low error correction efficiency is solved, and the effect of improving the error correction efficiency is achieved.
Description
Technical Field
The embodiment of the invention relates to the field of communication, in particular to a decoding method and device of a packet error correction code, a storage medium and an electronic device.
Background
An LDPC code (Lowdensity paritycheck code) is a block error correction code having a sparse check matrix, which maps an information sequence into a transmission sequence by a generator matrix G, wherein the generator matrix G has a plurality of submatrices; the performance of the LDPC code approaches to the Shannon limit, and the LDPC code is simple to describe and implement, has the advantages of being easy to carry out theoretical analysis and research, simple to decode, capable of carrying out parallel operation, suitable for hardware implementation and the like.
At present, when decoding LDPC codes, a normalized minimum sum decoding algorithm is generally adopted; the algorithm is as follows:
referring to fig. 1 and 2, u0 to u3 are check nodes, v0 to v7 are variable nodes, and as can be seen from fig. 1 and 2, the check node u0 is connected to the variable nodes v0, v2 and v3, then the row operation is to calculate the information obtained by the variable node v0 from the check node u0, and the information obtained by the variable node v0 is related to the variable nodes v2 and v 3.
That is, for line u0, it is necessary to calculate the information v0 obtains from u0, the information v2 obtains from u0, and the information v3 obtains from u0, respectively.
Similarly, as can be seen from fig. 1 and fig. 2, the variable node v0 is connected to the check nodes u0 and u3, then the column calculation is to calculate the information obtained by the check node u0 from the variable node v0, and the information obtained by the check node u0 is related to the check node u 3; that is, for the u0 column, it is necessary to calculate the information of u0 obtained from v0 and the information of u3 obtained from v0, respectively.
When the algorithm executes decoding work, row operation of all rows needs to be completed and then column operation is performed, the convergence speed is low during decoding due to the mode, namely, time is consumed for decoding once, so that the throughput rate of an error correction code module is reduced, the error correction efficiency of the error correction code module is reduced, and the signal integrity is ensured.
Disclosure of Invention
The embodiment of the invention provides a decoding method, a decoding device, a storage medium and an electronic device of a packet error correction code, which are used for at least solving the problems of low convergence speed and low efficiency of an error correction code module in the related technology.
According to an embodiment of the present invention, there is provided a decoding method of a packet error correction code, including:
determining the number of iterative decoding layers according to the size of a submatrix in a check matrix, wherein the check matrix consists of a grouped error correction code sequence;
performing target processing on a target variable node associated with a target check node based on the target check node in a target iterative decoding layer, wherein the target processing comprises:
performing a first row operation on the target check node associated with the target variable node in the target iterative decoding layer, where the first row operation is used to calculate information obtained by the target check node from all variable nodes associated with the target check node, where the information includes loglikelihood values of the target variable node; performing a first column operation on the target variable node according to an operation result of the first row operation, wherein the first column operation is used for calculating information obtained by the target variable node from the target check node; according to the operation result of the first column of operation, information updating is carried out on the target variable node so as to determine an updated target variable node; according to the operation result of the first column of operation, carrying out hard decision on the updated target variable node; performing the target processing on the updated target variable node based on other target check nodes associated with the updated target variable node when the hard decision result is that the hard decision is not satisfied;
under the condition that the target processing results of the target processing on the updated target variable nodes based on other target check nodes associated with the updated target variable nodes are all hard decisions, the target processing is carried out on other variable nodes in a target iterative decoding layer;
when the target processing results of all the variable nodes in the target iterative decoding layer subjected to the target processing are all false, sequentially performing the target processing on the variable nodes in the other iterative decoding layers corresponding to the variable nodes in the target iterative decoding layer until the hard decision is true; the variable nodes corresponding to the variable nodes of the target iterative decoding layer in the other iterative decoding layers comprise variable nodes with the same positions as the variable nodes of the target iterative decoding layer in the other iterative decoding layers.
In an exemplary embodiment, before the sequentially performing the target processing on the variable nodes corresponding to the variable node of the target iterative decoding layer in the other iterative decoding layers, the method further includes:
and correspondingly taking the column operation result of the variable node of the target iteration decoding layer as the initial value of the variable node corresponding to the variable node of the target iteration decoding layer in other iteration decoding layers.
In an exemplary embodiment, the corresponding of the column operation result of the target variable node of the target iterative decoding layer as the initial value of the variable node corresponding to the target variable node of the target iterative decoding layer in the other iterative decoding layer includes:
performing column updating on the check nodes of the other iteration decoding layers, wherein the column updating is used for transmitting information from the variable node updated by the m1 layer to the check node corresponding to the m layer in the mth iteration;
performing row updating on variable nodes of the other iteration decoding layers, wherein the row updating is used for the mth layer in the nth iteration, and the updated information is transmitted to the variable nodes in the mth layer by the check nodes of the mth layer;
and updating posterior probability information of the variable nodes of other iteration decoding layers, wherein the posterior probability information is updated to be used in the mth layer in the nth iteration, and the posterior probability information of the variable nodes of the mth layer is updated according to the row updating information and the column updating information.
In an exemplary embodiment, the column updating the check node of the target iterative decoding layer includes:
performing the column update on the check node of the target iterative decoding layer by the following formula:
in the above formula, i represents a variable node, and j represents a check node; m represents the number of layers, and n represents the number of iterations;representing the mth layer in the nth iteration, the variable nodes send the information loglikelihood values of the check nodes,representing the information loglikelihood value after the variable node updates the information at the (m1) th layer in the nth iteration,representing the mth layer in the (n1) th iteration, the check nodesAnd sending the information loglikelihood value to the variable node.
In an exemplary embodiment, the updating the variable node of the target iterative decoding layer comprises:
performing the line update on the variable node of the target iterative decoding layer by the following formula:
in the above formula, the first and second carbon atoms are,representing the information loglikelihood value of the target check node corresponding to the check node sent by the check node in the mth layer in the nth iteration;and representing information loglikelihood values sent to the check nodes by other variable nodes associated with the check nodes at the mth layer in the nth iteration.
In an exemplary embodiment, the updating the a posteriori probability information of the mth variable node according to the information of the row update and the column update includes:
updating posterior probability information of the mth layer variable node by executing the information according to the row update and the column update by the following formula:
in the above formula, the first and second carbon atoms are,and representing the information loglikelihood value after the variable node updates the information in the mth layer in the nth iteration.
In an exemplary embodiment, before the column updating for the check nodes of the other iterative decoding layer, the method includes:
setting an initial information loglikelihood value, and initializing the number of iterative decoding layers and the number of iterative times to preset values, wherein the initial information loglikelihood value is obtained according to a received signal value and channel characteristics, and the initial information loglikelihood value represents an information loglikelihood value of the variable node which is not subjected to iteration.
According to another embodiment of the present invention, there is provided a decoding apparatus of a packet error correction code, including:
the decoding layer grouping module is used for determining the number of iterative decoding layers according to the size of a submatrix in a check matrix, wherein the check matrix consists of a grouping error correction code sequence;
a target processing module, configured to perform target processing on a target variable node associated with a target check node based on the target check node in a target iterative decoding layer, where the target processing includes:
performing a first row operation on the target check node associated with the target variable node in the target iterative decoding layer, wherein the first row operation is used for calculating information acquired by the target check node from all variable nodes associated with the target check node; performing a first column operation on the target variable node according to an operation result of the first row operation, wherein the first column operation is used for calculating information obtained by the target variable node from the target check node; according to the operation result of the first column of operation, information updating is carried out on the target variable node so as to determine an updated target variable node; according to the operation result of the first column of operation, carrying out hard decision on the updated target variable node; performing the target processing on the updated target variable node based on other target check nodes associated with the updated target variable node when the target processing result is that the hard decision is not satisfied;
the first iteration module is used for carrying out the target processing on other variable nodes in a target iteration decoding layer under the condition that the target processing results are all hard decisions;
the second iteration module is used for sequentially carrying out the target processing on variable nodes corresponding to the variable nodes of the target iteration decoding layer in other iteration decoding layers under the condition that the target processing results are all false hard decisions until the hard decisions are true; the variable nodes corresponding to the variable nodes of the target iterative decoding layer in the other iterative decoding layers comprise variable nodes with the same positions as the variable nodes of the target iterative decoding layer in the other iterative decoding layers.
According to a further embodiment of the present invention, there is also provided a storage medium having a computer program stored therein, wherein the computer program is arranged to perform the steps of any of the above method embodiments when executed.
According to yet another embodiment of the present invention, there is also provided an electronic device, including a memory in which a computer program is stored and a processor configured to execute the computer program to perform the steps in any of the above method embodiments.
According to the invention, because the column operation is executed once after the row operation is executed once, iteration is stopped when the hard decision of the column operation result is established, compared with the prior art that the hard decision of all variable nodes is not needed, the calculation amount of single calculation is reduced, and the whole calculation amount is also reduced, therefore, the problems of low convergence speed and low efficiency of an error correction code module in the related technology can be solved, and the effect of improving the calculation and error correction efficiency is achieved.
Drawings
FIG. 1 is a diagram of a prior art row operation in the background of the invention;
FIG. 2 is a diagram illustrating prior art column operations in the background of the invention;
fig. 3 is a block diagram of a hardware structure of a mobile terminal of a decoding method of a packet error correction code according to an embodiment of the present invention;
FIG. 4 is a flow chart of a method for decoding a packet error correction code according to an embodiment of the present invention;
FIG. 5 is a block diagram of a decoding apparatus for a packet error correction code according to an embodiment of the present invention;
FIG. 6 is a diagram illustrating an iterative decoding layer according to an embodiment of the present invention;
FIG. 7 is a diagram illustrating row computations performed in a target iterative decoding layer according to an embodiment of the present invention;
FIG. 8 is a diagram illustrating column operations performed in a target iterative decoding layer according to an embodiment of the present invention;
FIG. 9 is a block diagram of a decoding circuit for performing decoding according to an embodiment of the present invention;
FIG. 10 is a block diagram showing a decoding circuit for performing decoding according to an embodiment of the present invention;
FIG. 11 is a flowchart illustrating a decoding process according to an embodiment of the present invention.
Detailed Description
Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings in conjunction with the embodiments.
It should be noted that the terms "first," "second," and the like in the description and claims of the present invention and in the drawings described above are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order.
The method embodiments provided in the embodiments of the present application may be executed in a mobile terminal, a computer terminal, or a similar computing device. Taking the example of the operation on the mobile terminal, fig. 3 is a hardware structure block diagram of the mobile terminal of the decoding method of the packet error correction code according to the embodiment of the present invention. As shown in fig. 3, the mobile terminal may include one or more (only one shown in fig. 3) processors 102 (the processor 102 may include, but is not limited to, a processing device such as a microprocessor MCU or a programmable logic device FPGA), and a memory 104 for storing data, wherein the mobile terminal may further include a transmission device 106 for communication functions and an inputoutput device 108. It will be understood by those skilled in the art that the structure shown in fig. 3 is only an illustration, and does not limit the structure of the mobile terminal. For example, the mobile terminal may also include more or fewer components than shown in FIG. 3, or have a different configuration than shown in FIG. 3.
The memory 104 may be used to store a computer program, for example, a software program and a module of application software, such as a computer program corresponding to a decoding method of a packet error correction code according to an embodiment of the present invention, and the processor 102 executes various functional applications and data processing by running the computer program stored in the memory 104, so as to implement the method described above. The memory 104 may include high speed random access memory, and may also include nonvolatile memory, such as one or more magnetic storage devices, flash memory, or other nonvolatile solidstate memory. In some examples, the memory 104 may further include memory located remotely from the processor 102, which may be connected to the mobile terminal over a network. Examples of such networks include, but are not limited to, the internet, intranets, local area networks, mobile communication networks, and combinations thereof.
The transmission device 106 is used to receive or transmit data via a network. Specific examples of the network described above may include a wireless network provided by a communication provider of the mobile terminal. In one example, the transmission device 106 includes a Network adapter (NIC) that can be connected to other Network devices through a base station to communicate with the internet. In one example, the transmission device 106 may be a Radio Frequency (RF) module, which is used to communicate with the internet in a wireless manner.
In this embodiment, a decoding method of a packet error correcting code is provided, and fig. 4 is a flowchart according to an embodiment of the present invention, as shown in fig. 4, the flowchart includes the following steps:
step S202, determining the number of iterative decoding layers according to the size of a submatrix in a check matrix, wherein the check matrix consists of a grouped error correction code sequence;
in an optional embodiment, because the number of submatrices in the check matrix is large, the number of iterative decoding layers is determined according to the size of the submatrices, so that the submatrices of different layers can be checked respectively, and when the check result meets the requirement, the check is stopped, so that all the submatrices do not need to be checked, and the check rate is improved; taking the LDPC code as an example, for example, if the check matrix is a 4 × 8 matrix and the submatrix is a 1 × 1 matrix, the number of iterative decoding layers is 4.
Step S204, target variable nodes related to the target check nodes are subjected to target processing based on the target check nodes in the target iterative decoding layer, wherein the target processing comprises the following steps:
performing a first row of operation on a target check node associated with a target variable node in a target iterative decoding layer, wherein the first row of operation is used for calculating information acquired by the target check node from all variable nodes associated with the target check node, and the information comprises a log likelihood value of the target variable node;
performing a first column operation on the target variable node according to an operation result of the first row of operation, wherein the first column operation is used for calculating information obtained by the target variable node from the target check node;
according to the operation result of the first column of operation, information updating is carried out on the target variable node so as to determine the updated target variable node;
according to the operation result of the first column of operation, carrying out hard decision on the updated target variable node;
and under the condition that the hard decision result is that the hard decision is not established, performing target processing on the updated target variable node based on other target check nodes associated with the updated target variable node.
In this embodiment, taking the LDPC code as an example, if the LDPC code has only one iterative decoding layer, one submatrix includes a plurality of check nodes and a plurality of variable nodes, one check node is often associated with the plurality of variable nodes, and one variable node is also associated with the plurality of check nodes, and decoding is to decode information of all the variable nodes, so that it is necessary to perform column operation on the variable nodes in sequence to calculate information of all the variable nodes.
Meanwhile, a variable node is associated with one or more check nodes, so when calculating information of a variable node, a row operation needs to be performed on the check nodes to determine information included in each check node.
For example, check node u0 is associated with variable nodes v0, v1 and v2, respectively, and the information obtained by check node u0 from variable nodes v0, v1 and v2 is calculated, respectively.
Similarly, when the column operation is performed, since the variable node v0 is respectively associated with the check nodes u0 and u1, the information obtained by the variable node v0 from the check nodes u0 and u1 is respectively calculated, and then the data update is performed on the variable node according to the calculation result.
In the embodiment, after the row operation is performed on the check node u0, the variable node v0 is operated in the first column immediately to determine the information obtained by the variable node from the check node u0, and at this time, since the information obtained by the variable node v0 from the check node u1 does not need to be calculated, the calculation amount is reduced, and the calculation efficiency is improved.
Further, when the variable node v0 is respectively associated with the check nodes u0 and u1, the information obtained by the variable node v0 from the check node u0 is taken as the information of the target variable node v0 ', and the target variable node v 0' does not contain the information of the variable node v0 from the check node u1, so that the calculation amount is relatively small when decoding is performed, and the calculation efficiency is improved.
In the present embodiment, the hard decision is satisfied under the condition thatWherein H represents a parity check matrix, c represents a code vector of a convolutional code, and t represents a vector transposition, whereinIf yes, the decoding is judged to be successful, and if not, the decoding is judged to be unsuccessful.
For example, after the target variable node is determined, the target variable node v0 ' is decoded, and the hard decision performed on the target variable node v0 ' is to determine whether the decoding of the target variable node v0 ' is successful; wherein H represents a parity check matrix of M rows and N columns, c represents a row vector of length N, whenWhen the judgment result is satisfied, the elements in the parity check matrix are judged to be linearly related, so that the decoding is judged to be successful, and the iteration is terminated.
In the present embodiment, in the case where the hard decision of the column operation of the first check node associated with the target variable node is not established, the row operation and the column operation are performed on the second check node associated with the target variable node, respectively;
for example, when the variable node v0 is respectively associated with the check nodes u0 and u1, in the case that a hard decision on the column operation of u0 and v0 is not established, the information obtained by the variable node v0 from the check node u1 needs to be calculated, so it needs to be determined that the check node u1 is firstly operated to check the information contained by the check node u1, and then the information of the check node u1 is transferred to the variable node v 0; since the column operation is performed immediately after the row operation of the check node u1 is completed, since the column operation only calculates the information obtained by the variable node v0 from the second check node u1, and does not need to calculate the information obtained by the variable node v0 from other check nodes (e.g., u 0), the calculation amount is reduced, and the operation efficiency is improved.
And after the column operation between u1 and v0 is completed, the variable node v0 is updated with the result of the column operation between u1 and v0 and the result of the operation between u1 and v0 together as initial information, thereby determining the variable node v0 as the target variable node v 0' to be decoded.
Then hard decision is made on the updated variable node v 0', whenIf the result is positive, the decoding is determined to be successful, and if the result is not positive, the above operation is repeated for a third check node (e.g., v 2) associated with the target variable node until the decoding of the target variable node is successful.
Step S206, under the condition that the target processing results of the target processing of the updated target variable node based on other target check nodes associated with the updated target variable node are all hard decisions, the target processing is carried out on other variable nodes in the target iterative decoding layer.
For example, in the case that the target iterative decoding layer has a plurality of variable nodes v0v7, after the variable node v0 completes the row operation and the column operation of all check nodes (e.g., u0u 1) associated with the variable node v0 and completes all information updates to the variable node v0, the hard decision of the variable node v0 still does not hold, and then the target processing is sequentially performed on the variable nodes v1v7 until the hard decision holds or all the variable nodes are updated.
Step S208, under the condition that the hard decisions of the target processing results of all the other variable nodes in the target iterative decoding layer are not satisfied, sequentially performing target processing on the variable nodes corresponding to the variable nodes in the target iterative decoding layer in the other iterative decoding layer until the hard decisions are satisfied; the variable nodes corresponding to the variable nodes of the target iterative decoding layer in the other iterative decoding layers comprise variable nodes with the same positions as the variable nodes of the target iterative decoding layer in the other iterative decoding layers.
In this embodiment, when there are multiple iterative decoding layers and the hard decision of the first layer is not satisfied, information iteration between the iterative decoding layers is performed.
Taking an example that an iterative decoding layer of the LDPC code has multiple layers, after information obtained by a variable node of a first layer from all check nodes of the variable node is completed, decoding and hard decision processing are performed on the variable node, when decoding is unsuccessful, information obtained by the variable node from all check nodes associated with the variable node is used as an initial value of a corresponding variable node of a second layer, and then column operation and row operation are performed on the variable node corresponding to the variable node of the second layer, and so on until decoding is successful.
For example, in the first layer, the variable node v0 is respectively associated with the check nodes u0 and u1, after the information of the variable node v0 from the check nodes u0 and u1 is obtained through calculation, the variable node v0 is updated to obtain the target variable node v0 ', then the target variable node v 0' is decoded and harddecided, and in case of unsuccessful decoding, the target variable node v is determinedInformation of v 0' as variable node v0 of the second layer_{2}Wherein the variable node v0_{2}Corresponds to the variable node v0, and in the second layer, the variable node v0_{2}Respectively with check node u1_{2}Check node u2_{2}And check node u3_{2}Associated, and then checked against check node u1_{2}Operating, and then performing operation on variable node v0_{2}Performing column operation, and then performing row operation on variable node v0_{2}And updating and decoding, stopping iterative operation if decoding is successful, otherwise, continuing iterative calculation of an iterative decoding layer, and repeating the above actions until decoding is successful.
Through the steps, when the column operation is carried out on the variable nodes, only the information of the variable nodes and the information of the single check node are needed, so that the calculated amount is relatively small, the problems of long decoding time consumption and low decoding convergence speed are solved, and the decoding efficiency of the error correction module is improved.
The main body of the above steps may be a base station, a terminal, etc., but is not limited thereto.
In an optional embodiment, before sequentially performing target processing on variable nodes corresponding to the variable node of the target iterative decoding layer in other iterative decoding layers, the method further includes:
step S2080, the column operation result of the variable node of the target iterative decoding layer is correspondingly used as the initial value of the variable node corresponding to the variable node of the target iterative decoding layer in other iterative decoding layers.
In this embodiment, taking an example that an iterative decoding layer of an LDPC code has multiple layers, after information obtained by a variable node of a first layer from all check nodes of the variable node is completed, decoding and hard decision processing are performed on the variable node, when decoding is unsuccessful, information obtained by the variable node from all check nodes associated with the variable node is used as an initial value of a corresponding variable node of a second layer, and then column operation and row operation are performed on the variable node corresponding to the variable node of the second layer, and so on until decoding is successful.
For example, in the first layer, variable nodes v0 are respectively checked withThe nodes u0 and u1 are correlated, after the information of the variable node v0 from the check nodes u0 and u1 is obtained through calculation, the variable node v0 is updated to obtain a target variable node v0 ', then the target variable node v0 ' is decoded and harddecided, and under the condition that the decoding is unsuccessful, the information of the target variable node v0 ' is used as the variable node v0 of the second layer_{2}Wherein the variable node v0_{2}Corresponds to the variable node v0, and in the second layer, the variable node v0_{2}Respectively with check node u1_{2}Check node u2_{2}And check node u3_{2}Associated, and then checked against check node u1_{2}Operating, and then performing operation on variable node v0_{2}Performing column operation, and then performing row operation on variable node v0_{2}And updating and decoding, stopping iterative operation if decoding is successful, otherwise, continuing iterative calculation of an iterative decoding layer, and repeating the above actions until decoding is successful.
In an optional embodiment, the corresponding of the column operation result of the target variable node of the target iterative decoding layer as the initial value of the variable node corresponding to the target variable node of the target iterative decoding layer in the other iterative decoding layer includes:
step S2084, column updating is carried out on the check nodes of other iteration decoding layers, wherein the column updating represents the mth layer in the nth iteration, and information is transmitted to the check node corresponding to the mth layer from the variable node updated by the (m1) th layer;
when information transmission of different iteration decoding layers is carried out, the information of the variable nodes is related to the information of the check nodes, so that the information of the corresponding check nodes needs to be determined before the update transmission of the variable nodes is carried out.
In an alternative embodiment, the calculation formula for column updating the check node of the target iterative decoding layer includes:
in the above formula, i represents a variable node, and j represents a check node; m represents the number of layers and n representsThe number of table iterations;representing the information loglikelihood values sent by the variable node i to the check node j at the mth layer in the nth iteration,representing the information loglikelihood value after the variable node i updates the information at the (m1) th layer in the nth iteration,and (3) indicating the information loglikelihood value sent by the check node j to the variable node i in the mth layer of the (n1) th iteration.
The formula represents the information transmitted to the check node of the mth layer by the variable node updated by the (m1) th layer in the nth iteration; in the calculation of the mth layer in the nth iteration, when the information transmitted to the mth layer check node j by the variable node i updated by the (m1) th layer needs to be determined firstThat is, when the information loglikelihood value L (r) sent to the variable node i by the mth layer in the nth iteration is calculated, the information loglikelihood value L (r) sent to the variable node i by the check node j needs to be calculated firstCan be calculated, so the information of the last iteration is usedThe information loglikelihood value L (Q) after the variable node i of the mth layer in the nth iteration updates information is obtained by adding the information loglikelihood value L (r) sent by the variable node i to the check node j with the information loglikelihood value L (q) sent by the check node j to the variable node i, so that the information loglikelihood value L (Q) is used as the information loglikelihood value L (r) of the m1 layerWhen l (q) in l (q) = l (q) l (r) is calculated this time.
Step S2086, performing row updating on variable nodes of other iteration decoding layers, wherein the row updating represents the mth layer in the nth iteration, and the check node of the mth layer transmits the updated information to the variable node in the mth layer;
after the updating of the check node of the current layer is completed, the variable nodes of the current layer are sequentially subjected to row operation so as to complete the updating of the variable nodes.
In an alternative embodiment, the calculation formula for updating the variable node of the target iterative decoding layer includes:
in the above formula, the first and second carbon atoms are,indicating the information loglikelihood value of the target check node corresponding to the check node sent by the check node in the mth layer in the nth iteration;representing information loglikelihood values sent to the check nodes by other variable nodes related to the check nodes at the mth layer in the nth iteration; alpha is a normalization factor and in an alternative embodiment, alpha is typically set to 0.75 in order to reduce hardware implementation complexity and maintain good decoding performance.
The above formula represents the information transmitted to the variable node of the mth layer after the check node of the mth layer is updated in the nth iteration; wherein, in pairWhen the value is taken,can be positive or negative ifIf the value of the variable node is a positive value, the element type of the variable node can be determined, and if the value of the variable node is a negative value, the element type of the variable node is another value; for example, taking the LDPC code as an example, since the LDPC code is a binary code, its elements include only 0 and 1, that is, the value of the variable node is 0 or 1; assuming that the probability of the element being 0 is 0.7 obtained in the previous iteration, the probability of 0 being 0 is 0.7+ which takes a positive value in the current iterationOr 0.7+ takes a negative valueSo that whenA positive value increases the probability that the element is 0,when the value is a negative value, the probability that the element is 0 becomes small, so that the element type of the variable node can be judged; when the probability of 0 or 1 of an element is 0.9 or more, it can be determined whether the element is 0 or 1.
Step S2088, the variable nodes of other iteration decoding layers are updated with posterior probability information, namely, the posterior probability information of the variable node of the mth layer is updated according to the information of row update and column update in the mth iteration.
In an alternative embodiment, the formula for updating the posterior probability information of the mth layer variable node according to the row update information and the column update information comprises:
in the above formula, the first and second carbon atoms are,the information pair after the variable node completes information updating at the mth layer in the nth iteration is shownA number likelihood value, wherein the information number likelihood value is used for correcting the information data; in the formula adoptWithout usingThe method can make the calculation faster and save the calculation resources when the hardware is implemented. Because, when m layers are calculated for n iterations, only the current layer is calculatedThen m1 layers can be usedThe posterior probability information of the mth layer variable node is calculated, so that the mth layer variable node does not need to be calculatedThe information is used for calculating the posterior probability information of the variable nodes, and the posterior probability information is obtained by the layerThe information is reused when performing the iterative computation of the (m + 1) th layer.
It should be noted that, at the m layer, after the information update of the variable node is completed, the hard decision and decoding on the variable node are executed, and if the hard decision is madeIf yes, decoding is correct, and iteration is terminated; otherwise, the information of the variable node is transferred to the next layer, that is, m = m +1 in the above formula is made, and column update and row operation and column operation are performed.
If m exceeds the set number of H matrix layers and a correct decoding result is not obtained, the next iteration is carried out, namely n = n +1 and m =1 in the formula, and the operation is circulated until the decoding is correct or the maximum iteration number is reached.
Step S2082, in an optional embodiment, before performing row update on the check node of the target iterative decoding layer, including:
setting initial information loglikelihood values, and initializing the number of iterative decoding layers, namely the iterative times, to preset values.
In an alternative embodiment, the initialized formula is:
wherein the likelihood value of the initial information is，And the information of the sequence obtained after channel demodulation, wherein the number of layers n and the iteration number n are both set to be 1.
Through the above description of the embodiments, those skilled in the art can clearly understand that the method according to the above embodiments can be implemented by software plus a necessary general hardware platform, and certainly can also be implemented by hardware, but the former is a better implementation mode in many cases. Based on such understanding, the technical solutions of the present invention may be embodied in the form of a software product, which is stored in a storage medium (e.g., ROM/RAM, magnetic disk, optical disk) and includes instructions for enabling a terminal device (e.g., a mobile phone, a computer, a server, or a network device) to execute the method according to the embodiments of the present invention.
In this embodiment, a decoding apparatus for a packet error correction code is further provided, and the apparatus is used to implement the foregoing embodiments and preferred embodiments, and the description of the apparatus is omitted for brevity. As used below, the term "module" may be a combination of software and/or hardware that implements a predetermined function. Although the means described in the embodiments below are preferably implemented in software, an implementation in hardware, or a combination of software and hardware is also possible and contemplated.
Fig. 5 is a block diagram of a decoding apparatus for a packet error correction code according to an embodiment of the present invention, as shown in fig. 5, the apparatus including:
the decoding layer grouping module 52 is configured to determine the number of iterative decoding layers according to the size of a submatrix in a check matrix, where the check matrix is composed of a grouped error correction code sequence;
a target processing module 54, configured to perform target processing on a target variable node associated with a target check node based on the target check node in the target iterative decoding layer, where the target processing includes:
performing a first row of operation on a target check node associated with a target variable node in a target iterative decoding layer, wherein the first row of operation is used for calculating information acquired by the target check node from all variable nodes associated with the target check node; performing a first column operation on the target variable node according to an operation result of the first row of operation, wherein the first column operation is used for calculating information obtained by the target variable node from the target check node; according to the operation result of the first column of operation, information updating is carried out on the target variable node so as to determine the updated target variable node; according to the operation result of the first column of operation, carrying out hard decision on the updated target variable node; under the condition that the hard decision result is that the hard decision is not established, performing target processing on the updated target variable node based on other target check nodes associated with the updated target variable node;
the first iteration module 56 is configured to perform target processing on other variable nodes in the target iterative decoding layer under the condition that hard decisions of target processing results of target variable nodes associated with the target check nodes are all not satisfied based on the target check nodes in the target iterative decoding layer;
a second iteration module 58, configured to, when all target processing results obtained by performing target processing on all other variable nodes in the target iteration decoding layer are false in hard decision, sequentially perform target processing on variable nodes corresponding to the variable nodes in the target iteration decoding layer in the other iteration decoding layers until the hard decision is true; the variable nodes corresponding to the variable nodes of the target iterative decoding layer in the other iterative decoding layers comprise variable nodes with the same positions as the variable nodes of the target iterative decoding layer in the other iterative decoding layers.
In an optional embodiment, the apparatus further comprises:
the information transfer unit 580 is configured to correspondingly use the column operation result of the variable node of the target iterative decoding layer as an initial value of a variable node corresponding to the variable node of the target iterative decoding layer in another iterative decoding layer.
In an alternative embodiment, the second iteration module 58 includes:
the column updating unit 584 is configured to perform column updating on check nodes of other iterative decoding layers, where the column updating indicates an mth layer in the nth iteration, and transmit information from a variable node updated by the (m1) th layer to a corresponding check node of the mth layer;
a row update unit 586 is configured to perform row update on variable nodes of other iterative decoding layers, where a row update indicates an mth layer in an nth iteration, and a check node of the mth layer transfers updated information to a variable node in the mth layer;
after the updating of the check node of the current layer is completed, sequentially performing row operation on the variable nodes of the current layer to complete the updating of the variable nodes;
the posterior updating unit 588 is configured to perform posterior probability information updating on the variable nodes of other iterative decoding layers, that is, update the posterior probability information of the variable node of the mth layer in the mth iteration according to the row update and column update information.
In an alternative embodiment, the second iteration module 58 further includes:
the resetting unit 582 is configured to set initial information loglikelihood values, and initialize the number of iterative decoding layers, i.e., the number of iterations, to a preset value.
It should be noted that, the above modules may be implemented by software or hardware, and for the latter, the following may be implemented, but not limited to: the modules are all positioned in the same processor; alternatively, the modules are respectively located in different processors in any combination.
The invention is described below with reference to specific examples:
as shown in fig. 6 to 8, when the iterative decoding layer includes z1z4 (corresponding to fig. 6), in the target iterative decoding layer z1, the check nodes include u0u3, and the variable nodes include v0v6, wherein the variable node v0 is associated with the check node u0, and the check node u0 is associated with the variable nodes v0, v2 and v3 (corresponding to fig. 7 and 8).
Before performing column calculation on the variable node v0, performing row calculation on the check node u0, then performing node updating on the variable node according to the column calculation result of the variable node v0, performing hard decision on the column calculation result of the variable node v0, when the hard decision result is not satisfied or the updating of the variable node v0 is completed, performing row calculation on the check node associated with the variable node v1, then performing column calculation on the variable node, and repeating the above operations until all the variable nodes are updated.
Subsequently, in the case that no hard decision of the variable node included in the target iterative decoding layer z1 is satisfied, the information of the variable node included in the target iterative decoding layer z1 is corresponded to the initial information of the check node included in the target iterative decoding layer z2 and corresponding to the target iterative decoding layer z1, then row calculation and column calculation are performed on the check node and the variable node of the target iterative decoding layer z2, and the above operations are repeated until the hard decision is satisfied.
As shown in fig. 9 to 11, fig. 9 is a decoding circuit of the present invention, fig. 10 is a block diagram of the decoding circuit, and fig. 11 is a flowchart of the decoding process executed by the decoding circuit; referring to fig. 10, the decoding circuit includes:
a first storage module 92, configured to store information loglikelihood values of variable nodes of the target iterative decoding layer; wherein, the information loglikelihood values of the variable nodes of the target iterative decoding layer are stored in the V2C _ ii unit of the first storage module 92;
a second storage module 94, configured to store a symbol, a minimum value, a second minimum value, and a minimum value position of the variable node information loglikelihood value in each layer of each row; when the position of the target variable node is the same as the position of the minimum value, the variable node information loglikelihood value in each row of each layer takes a second minimum value, otherwise, the minimum value is taken;
alternatively, the sign (sign), the minimum value (min 1), the next minimum value (min 2), and the minimum value position (min 1_ id) of the variable node information LLR values in each row of each layer are stored in the C2V _ ii cell of the second storage module 94.
A first calculating module 96, configured to calculate an updated information loglikelihood value of the variable node;
a cyclic shifter 98 for performing information loglikelihood value position exchange;
a variable node updating module 1000, configured to update the information loglikelihood value sent to the check node by the variable node stored in the second storage module 94, and store the updated information loglikelihood value sent to the check node by the variable node stored in the second storage module 94 into the second storage module 94;
the second calculating module 1002 is configured to calculate an information loglikelihood value sent to a corresponding variable node after the check node of the target iterative decoding layer is updated;
and a third calculating module 1004, configured to feed back the minimum value position of the loglikelihood values of the information stored in the second storing module 94 to the cyclic shifter 98, and perform a cyclic number difference calculation.
Referring to fig. 11, when performing the decoding operation, the following operations are sequentially performed:
step S1002, calculating the LLR values after the variable nodes are updated, and the hardware formula for performing the calculation is:
LLR_update=V2C_ii+C2V_ii_new_before_layer
in step S1004, the LLR information position exchange is performed using the cyclic shifter 98 (QSN), and the hardware formula for performing the calculation is:
LLR_shift = QSN(LLR)
step S1006, updating the LLR value of the information transmitted to the check node by the variable node in the V2C _ ii unit, and then storing the LLR value in the V2C _ ii unit, where the hardware formula for performing the calculation is:
V2C_update = LLR_shift– C2V_ii_old_last_iter
step S1008, calculating the information LLR value transmitted to the current layer variable node after the current layer check node is updated, wherein the hardware formula for executing calculation is as follows:
C2V_update=sign_sort(V2C_update)；
in step S1010, the position of the minimum value of the LLR value in the C2V — ii unit is fed back to the cyclic shifter 98, and the cyclic value difference is calculated.
Embodiments of the present invention also provide a computerreadable storage medium having a computer program stored thereon, wherein the computer program is arranged to perform the steps of any of the abovementioned method embodiments when executed.
In an exemplary embodiment, the computerreadable storage medium may include, but is not limited to: various media capable of storing computer programs, such as a usb disk, a ReadOnly Memory (ROM), a Random Access Memory (RAM), a removable hard disk, a magnetic disk, or an optical disk.
Embodiments of the present invention also provide an electronic device comprising a memory having a computer program stored therein and a processor arranged to run the computer program to perform the steps of any of the above method embodiments.
In an exemplary embodiment, the electronic apparatus may further include a transmission device and an input/output device, wherein the transmission device is connected to the processor, and the input/output device is connected to the processor.
For specific examples in this embodiment, reference may be made to the examples described in the above embodiments and exemplary embodiments, and details of this embodiment are not repeated herein.
It will be apparent to those skilled in the art that the various modules or steps of the invention described above may be implemented using a general purpose computing device, they may be centralized on a single computing device or distributed across a network of computing devices, and they may be implemented using program code executable by the computing devices, such that they may be stored in a memory device and executed by the computing device, and in some cases, the steps shown or described may be performed in an order different than that described herein, or they may be separately fabricated into various integrated circuit modules, or multiple ones of them may be fabricated into a single integrated circuit module. Thus, the present invention is not limited to any specific combination of hardware and software.
The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention, and various modifications and changes may be made by those skilled in the art. Any modification, equivalent replacement, or improvement made within the principle of the present invention should be included in the protection scope of the present invention.
Claims (10)
1. A method for decoding a packet error correction code, comprising:
determining the number of iterative decoding layers according to the size of a submatrix in a check matrix, wherein the check matrix consists of a grouped error correction code sequence;
performing target processing on a target variable node associated with a target check node based on the target check node in a target iterative decoding layer, wherein the target processing comprises:
performing a first row operation on the target check node associated with the target variable node in the target iterative decoding layer, where the first row operation is used to calculate information obtained by the target check node from all variable nodes associated with the target check node, where the information includes loglikelihood values of the target variable node; performing a first column operation on the target variable node according to an operation result of the first row operation, wherein the first column operation is used for calculating information obtained by the target variable node from the target check node; according to the operation result of the first column of operation, information updating is carried out on the target variable node so as to determine an updated target variable node; according to the operation result of the first column of operation, carrying out hard decision on the updated target variable node; performing the target processing on the updated target variable node based on other target check nodes associated with the updated target variable node when the hard decision result is that the hard decision is not satisfied;
under the condition that the target processing results of the target processing on the updated target variable nodes based on other target check nodes associated with the updated target variable nodes are all hard decisions, the target processing is carried out on other variable nodes in a target iterative decoding layer;
when the target processing results of all the variable nodes in the target iterative decoding layer subjected to the target processing are all false, sequentially performing the target processing on the variable nodes in the other iterative decoding layers corresponding to the variable nodes in the target iterative decoding layer until the hard decision is true; the variable nodes corresponding to the variable nodes of the target iterative decoding layer in the other iterative decoding layers comprise variable nodes with the same positions as the variable nodes of the target iterative decoding layer in the other iterative decoding layers.
2. The method of claim 1, wherein prior to said sequentially performing said target processing on variable nodes in other iterative coding layers corresponding to variable nodes of said target iterative coding layer, the method further comprises:
and correspondingly taking the column operation result of the variable node of the target iteration decoding layer as the initial value of the variable node corresponding to the variable node of the target iteration decoding layer in other iteration decoding layers.
3. The method of claim 2, wherein the mapping the column operation result of the target variable node of the target iterative decoding layer as an initial value of a variable node corresponding to the target variable node of the target iterative decoding layer in the other iterative decoding layer comprises:
performing column updating on the check nodes of the other iteration decoding layers, wherein the column updating is used for transmitting information from the variable node updated by the m1 layer to the check node corresponding to the m layer in the mth iteration;
performing row updating on variable nodes of the other iteration decoding layers, wherein the row updating is used for the mth layer in the nth iteration, and the updated information is transmitted to the variable nodes in the mth layer by the check nodes of the mth layer;
and updating posterior probability information of the variable nodes of other iteration decoding layers, wherein the posterior probability information is updated to be used in the mth layer in the nth iteration, and the posterior probability information of the variable nodes of the mth layer is updated according to the row updating information and the column updating information.
4. The method of claim 3, wherein the column updating the check nodes of the target iterative decoding layer comprises:
performing the column update on the check node of the target iterative decoding layer by the following formula:
in the above formula, i represents a variable node, and j represents a check node; m represents the number of layers, and n represents the number of iterations;representing the mth layer in the nth iteration, the variable nodes send the information loglikelihood values of the check nodes,representing the information loglikelihood value after the variable node updates the information at the (m1) th layer in the nth iteration,and representing the information loglikelihood value sent to the variable node by the check node at the mth layer in the (n1) th iteration.
5. The method of claim 4, wherein the row updating the variable node of the target iterative decoding layer comprises:
performing the line update on the variable node of the target iterative decoding layer by the following formula:
in the above formula, the first and second carbon atoms are,representing the information loglikelihood value of the target check node corresponding to the check node sent by the check node in the mth layer in the nth iteration;and representing information loglikelihood values sent to the check nodes by other variable nodes associated with the check nodes at the mth layer in the nth iteration.
6. The method of claim 5, wherein said updating the a posteriori probability information for the variable nodes of the other iterative coding layers comprises:
updating posterior probability information of the mth layer variable node by executing the information according to the row update and the column update by the following formula:
7. The method of claim 3, wherein prior to said row updating check nodes of other iterative decoding layers, comprising:
setting an initial information loglikelihood value, and initializing the number of iterative decoding layers and the number of iterative times to preset values, wherein the initial information loglikelihood value is obtained according to a received signal value and channel characteristics, and the initial information loglikelihood value represents an information loglikelihood value of the variable node which is not subjected to iteration.
8. A decoding apparatus for a packet error correction code,
the decoding layer grouping module is used for determining the number of iterative decoding layers according to the size of a submatrix in a check matrix, wherein the check matrix consists of a grouping error correction code sequence;
a target processing module, configured to perform target processing on a target variable node associated with a target check node based on the target check node in a target iterative decoding layer, where the target processing includes:
performing a first row operation on the target check node associated with the target variable node in the target iterative decoding layer, wherein the first row operation is used for calculating information acquired by the target check node from all variable nodes associated with the target check node; performing a first column operation on the target variable node according to an operation result of the first row operation, wherein the first column operation is used for calculating information obtained by the target variable node from the target check node; according to the operation result of the first column of operation, information updating is carried out on the target variable node so as to determine an updated target variable node; according to the operation result of the first column of operation, carrying out hard decision on the updated target variable node; performing the target processing on the updated target variable node based on other target check nodes associated with the updated target variable node when the hard decision result is that the hard decision is not satisfied;
a first iteration module, configured to perform the target processing on other variable nodes in a target iteration coding layer when the target processing results of performing the target processing on the updated target variable node based on other target check nodes associated with the updated target variable node are all hard decisions;
a second iteration module, configured to, when all target processing results obtained by performing the target processing on all the other variable nodes in the target iteration decoding layer are false to hard decisions, sequentially perform the target processing on the variable nodes corresponding to the variable nodes in the target iteration decoding layer in the other iteration decoding layers until the hard decisions are true; the variable nodes corresponding to the variable nodes of the target iterative decoding layer in the other iterative decoding layers comprise variable nodes with the same positions as the variable nodes of the target iterative decoding layer in the other iterative decoding layers.
9. A storage medium, in which a computer program is stored, wherein the computer program is arranged to perform the method of any of claims 1 to 7 when executed.
10. An electronic device comprising a memory and a processor, wherein the memory has stored therein a computer program, and wherein the processor is arranged to execute the computer program to perform the method of any of claims 1 to 7.
Priority Applications (2)
Application Number  Priority Date  Filing Date  Title 

CN202011017991.6A CN111865335B (en)  20200924  20200924  Decoding method and device of packet error correcting code, storage medium and electronic device 
PCT/CN2021/091210 WO2022062406A1 (en)  20200924  20210429  Packet error correction code decoding method, apparatus, storage medium, and electronic device 
Applications Claiming Priority (1)
Application Number  Priority Date  Filing Date  Title 

CN202011017991.6A CN111865335B (en)  20200924  20200924  Decoding method and device of packet error correcting code, storage medium and electronic device 
Publications (2)
Publication Number  Publication Date 

CN111865335A CN111865335A (en)  20201030 
CN111865335B true CN111865335B (en)  20210122 
Family
ID=72968503
Family Applications (1)
Application Number  Title  Priority Date  Filing Date 

CN202011017991.6A Active CN111865335B (en)  20200924  20200924  Decoding method and device of packet error correcting code, storage medium and electronic device 
Country Status (2)
Country  Link 

CN (1)  CN111865335B (en) 
WO (1)  WO2022062406A1 (en) 
Families Citing this family (3)
Publication number  Priority date  Publication date  Assignee  Title 

CN111865335B (en) *  20200924  20210122  浙江三维通信科技有限公司  Decoding method and device of packet error correcting code, storage medium and electronic device 
CN115603761A (en) *  20220927  20230113  北京邮电大学（Cn）  LDPC decoding method and device based on check confidence 
CN117713839A (en) *  20240205  20240315  极芯通讯技术(安吉)有限公司  RM decoding and result checking method, device, equipment and storage medium 
Family Cites Families (7)
Publication number  Priority date  Publication date  Assignee  Title 

CN101534166B (en) *  20080310  20120711  上海明波通信技术有限公司  Quasicyclic lowdensity paritycheck code decoder and decoding method 
CN101615913B (en) *  20090717  20110427  清华大学  Fast convergence decoding algorithm for LDPC codes 
CN103199874B (en) *  20120105  20170215  国民技术股份有限公司  Low density parity check code decoding method 
US9973212B2 (en) *  20150908  20180515  Storart Technology Co. Ltd.  Decoding algorithm with enhanced parity check matrix and reencoding scheme for LDPC code 
US10164656B2 (en) *  20160330  20181225  Silicon Motion Inc.  Bit flipping algorithm for providing soft information during hard decision hard decoding 
CN108988872B (en) *  20180823  20201110  中国科学院计算技术研究所  LDPC decoding method based on hierarchical minimum sum algorithm 
CN111865335B (en) *  20200924  20210122  浙江三维通信科技有限公司  Decoding method and device of packet error correcting code, storage medium and electronic device 

2020
 20200924 CN CN202011017991.6A patent/CN111865335B/en active Active

2021
 20210429 WO PCT/CN2021/091210 patent/WO2022062406A1/en active Application Filing
Also Published As
Publication number  Publication date 

WO2022062406A1 (en)  20220331 
CN111865335A (en)  20201030 
Similar Documents
Publication  Publication Date  Title 

CN111865335B (en)  Decoding method and device of packet error correcting code, storage medium and electronic device  
JP4627317B2 (en)  Communication apparatus and decoding method  
Sharon et al.  An efficient messagepassing schedule for LDPC decoding  
CN102412847B (en)  Method and apparatus for decoding low density parity check code using united node processing  
US7730377B2 (en)  Layered decoding of low density parity check (LDPC) codes  
US7181676B2 (en)  Layered decoding approach for low density parity check (LDPC) codes  
US20160336967A1 (en)  Decoding of nonbinary ldpc codes  
US10484009B2 (en)  Decoding method and decoder for lowdensity paritycheck code  
CN101159436A (en)  Decoding equipment and method  
CN107404321B (en)  Method and apparatus for error correction code decoding  
WO2007018590A1 (en)  Method and apparatus for block and rate independent decoding of ldpc codes  
CN107979445B (en)  Syndrome decoding based on basic check nodes using preordered inputs  
US9853661B2 (en)  Onthefly evaluation of the number of errors corrected in iterative ECC decoding  
CN112005499A (en)  Decoding method and device of LDPC code  
CN105556851A (en)  Method and apparatus for identifying first and second extreme values from among a set of values  
US20160049962A1 (en)  Method and apparatus of ldpc encoder in 10gbaset system  
Boncalo et al.  Costefficient FPGA layered LDPC decoder with serial APLLR processing  
CN111034055A (en)  Simplified check node processing in nonbinary LDPC decoders  
CN101364809B (en)  Decoder  
US11476870B2 (en)  Variable node processing methods and devices for messagepassing decoding of nonbinary codes  
CN116505961B (en)  Decoding method and related device  
CN110601791B (en)  Decoding method of low density parity check code of communication system and communication device using the same  
CN117713842A (en)  Decoding method and device, storage medium and electronic device  
EP3591845A1 (en)  Sorting device and method for elementary check node processing for messagepassing decoding of nonbinary codes  
CN116131864A (en)  Parallel decoding method and device, storage medium and electronic device 
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  
GR01  Patent grant  
GR01  Patent grant 