Patent ID: 8601337

Claim:
A decoding method of decoding a codeword encoded with an LDPC (Low-Density Parity-Check) code, comprising: calculating a LLR (Log-Likelihood Ratio) for each bit in a check matrix of said LDPC code; and performing an iterative process comprising: a) calculating row LLRs (Log-Likelihood Ratios) corresponding to a row weight of said check matrix of said LDPC code; b) calculating column LLRs corresponding to a column weight of said check matrix from said row LLRs calculated by a) in a current iteration; c) calculating an estimated bit sequence by estimating each bit on a basis of said column LLRs calculated by b) in the current iteration; and d) checking whether or not the estimated bit sequence calculated by c) in the current iteration is said codeword, and performing a next iteration of the process if the estimated bit sequence is not said codeword, wherein, in each iteration following an initial iteration of the process, a) includes: calculating a minimum of absolute values of the column LLRs, calculated by b) in a previous iteration, from columns c each having a value of 1 in a row which is one of targets of calculating the row LLRs; calculating a direct product with respect to the columns c by the following equation based on a Sum-Product decoding method: sg r , c = ∏ c ′ ∈ N ⁡ ( r ) ⁢ \ ⁢ { c } ⁢ ⁢ sgn ⁡ ( z r , c ′ ) , where (Z r,c′ ) indicates the column LLR; setting a value, as a row LLR of the current iteration, obtained by multiplying between said minimum and the direct product when said minimum is less than a prescribed constant; determining whether a result value of subtracting an offset value β from said minimum is greater than zero when said minimum is equal to or greater than the prescribed constant, the offset value β being changed in accordance with said minimum; setting a value, as a row LLR of the current iteration, obtained by multiplying between the result value of the subtraction and the direct product when a result of the determination indicates affirmation; and setting a value of zero as a row LLR of the current iteration when a result of the determination indicates negation.