Patent ID: 8543889

Claim:
A method of generating, for each check node related to a parity check equation of a LDPC code, a first output table of corrected values of symbols of a word received through a communication channel and transmitted according to the LDPC code, wherein each row of the first output table, from first to last, stores, in order, a most probable value down to a least probable value, and each column of the first output table stores possible values of each symbol, the method also for generating a second output table of a logarithm of a ratio between a respective probability of correctness of values of same coordinates in the first output table and their corresponding maximum probability of correctness, by processing components of a first input table of values of a Galois Field of symbols and of a second input table of corresponding probability of correctness of each value, the method comprising: filling in a first row of the second output table by copying a first row of the first input table into a first row of the second output table, and filling in the first row of the first output table by computing a most likely symbol that satisfies the parity check equation; determining probability values of a second row of the second output table for each symbol if one symbol different from a considered one of the received word is assuming its second best value, and determining a corresponding corrected value in the first output table by applying the parity check equation; determining probability values of a third row of the second output table for each symbol if one symbol different from a considered one of the received word is assuming a value different from its most probable value and a value previously considered in determining the probability values for the second output table, and determining a corresponding corrected value in the first output table by applying the parity check equation; and determining probability values of fourth and successive rows of the second output table for each symbol, by at least for each symbol, calculating a first probability value in a case that one symbol different from a considered one of the received word is assuming a value different from its most probable value and a value previously considered, and calculating a second probability value in a case that two symbols different from the considered one of the received word are not assuming their most probable values, and checking which of the first and second probability values is greater, and determining a corresponding corrected value in the first output table by applying the parity check equation; outputting the first and second output tables.