Optimization of the computation of parity check messages in a min-sum LDPC decoding method
AssigneeAirbus Defence and Space GmbH
InventorsLyonel Barthe, Benjamin Gadat
Life of this patent
Estimating the term…
Abstract
The disclosure relates to an LDPC decoding method which involves performing iterations until a stop criterion is satisfied. Each iteration involves computing variable messages (αn,m), computing parity check messages (βm,n), and computing a posteriori estimation variables. Computing a parity check message (βm,n) for a parity check node (CNm) involves determining the two smallest values (Mini1, Min2) among the absolute values of the variable messages associated with the parity check node (CNm), comparing a difference between said values with a threshold, determining a correction value according to the result of the comparison, and computing the parity check message according to the correction value.
Claims18
A method for decoding a codeword with a decoder of low-density parity-check code (LDPC) code, said LDPC code being defined by a binary parity matrix of size M×N stored in a memory of the decoder, M and N being positive integers, the parity matrix corresponding to a representation of a bipartite graph comprising connections between M parity check nodes and N variable nodes, each line of the parity matrix corresponding to a parity equation associated with a parity check node, each column of the parity matrix corresponding to a variable associated with a variable node, each non-zero element of the parity matrix corresponding to a connection between a parity check node and a variable node, the codeword to be decoded corresponding to a set of values respectively taken by said variables, the method comprising the execution of one or more iterations by a processing unit until a stop criterion is met, each iteration comprising:
- a calculation of variable messages, for the various variable nodes, on the basis of parity check messages,
- a calculation of parity check messages, for the various parity check nodes, on the basis of the variable messages, wherein the parity check messages are stored in a first volatile memory of the decoder,
- a calculation of a posteriori estimation variables on the basis of the parity check messages, wherein the posteriori estimation variables are stored in a second volatile memory of the decoder,
- for each parity check node and for each variable node to which said parity check node is connected, the calculation of a parity check message comprises:
- a determination of a first smallest value among the absolute values of the variable messages associated with said parity check node,
- a determination of a second smallest value among the absolute values of the variable messages associated with said parity check node,
- performing, by the processing unit, at least one first comparison of a difference between the second smallest value and the first smallest value to a first threshold,
- a determination of a correction value out of at least two possible values according to a result of the first comparison,
- a calculation of the parity check message according to the first smallest value and the correction value,
- wherein the decoder supports various code rates and the possible values for the correction value are defined according to the code rate used.
A decoder of low-density parity-check code (LDPC) code, said LDPC code being defined by a binary parity matrix of size M×N stored in a memory of the decoder, M and N being positive integers, the parity matrix corresponding to a representation of a bipartite graph comprising connections between M parity check nodes and N variable nodes-, each line of the parity matrix corresponding to a parity equation associated with a parity check node, each column of the parity matrix corresponding to a variable associated with a variable node, each non-zero element of the parity matrix corresponding to a connection between a parity check node and a variable node, a codeword to be decoded corresponding to a set of values respectively taken by said variables, the decoder including a processing unit configured to execute one or more iterations until a stop criterion is met and, at each iteration, to:
- calculate variable messages, for the various nodes of variables, on the basis of parity check messages,
- calculate parity check messages, for the various parity check nodes, on the basis of the variable messages, wherein the parity check messages are stored in a first volatile memory of the decoder,
- calculate a posteriori estimation variables on the basis of the parity check messages, wherein the wherein the posteriori estimation variables are stored in a second volatile memory of the decoder,
- for each parity check node and for each variable node to which said parity check node is connected, to calculate a parity check message, the processing unit is configured to:
- determine a first smallest value among the absolute values of the variable messages associated with said parity check node,
- determine a second smallest value among the absolute values of the variable messages associated with said parity check node,
- carry out, by the processing unit, at least one first comparison of the difference between the second smallest value and the first smallest value to a first threshold,
- determine a correction value out of at least two possible values according to a result of the first comparison,
- calculate the parity check message according to the first smallest value and the correction value,
- wherein the processing unit is configured to support various code rates and the possible values for the correction value are defined according to the code rate used.
Dependencies are inferred from the claim text.