Patent ID: 7137060

Claim:
A forward error correction method for decoding coded bits transmitted over a radio channel after being generated by encoding as many binary bits as the number of rows with low density parity check matrixes having rows and the columns, the method comprising the steps of: (a) converting coded bits received over the radio channel into a log likelihood ratio (LLR) value, setting the converted value as an initial input value of variable nodes, and performing an initialization process of all the variable nodes; (b) delivering messages applied to the variable nodes to check nodes connected to the variable nodes; (c) determining the size of a message by checking a message having a minimum absolute value among other messages delivered from the variable nodes except a message received from a variable node that is to transmit the message, determining a sign of the message having the minimum absolute value by calculating the product of signs of other messages except a message received from a variable node that is to transmit the checked message; and updating messages to be transmitted to the variable nodes (d) receiving, by the variable nodes, messages updated in the check nodes connected to the variable nodes, comparing signs of the received messages with a sign of an initial message, applying a weighting factor of 1 to the sum of message received from all other check nodes connected to the variable nodes except the check node that is to transmit the check message when all signs are identical, and when all signs are not identical, multiplying messages received from all other check nodes connected to the variable nodes except the check node that is to transmit the checked message by a weighting factor having a predetermined value smaller than 1, adding up the multiplied values and adding the initial input value to the weighted sum; (e) updating, by the variable nodes, an LLR by multiplying the messages received from the check nodes connected to the variable nodes by the weighting factor, and adding up the multiplied values and adding an initial input LLR; and (f) hard-deciding the updated LLR value performing parity check on codeword obtained from the hard decision by using the low density parity code matrixes.