Patent ID: 8706792

Claim:
A method, comprising: using a processor to perform low density party check (LDPC) decoding in order to obtain LDPC decoded data, including by: using the processor to calculate, for each of n m 2 pairs of consecutive state variables {s k−1 , s k }, a value that is based at least in part on (1) a first metric associated with a forward scan for a given pair of consecutive state variables and (2) a second metric associated with a backward scan for the given pair of consecutive state variables, where n m is an integer and n m 2 is the square of that integer; using the processor to select, from the n m 2 calculated values, the n m lowest values; setting log likelihood ratios (LLRs) to those lowest values; using the processor to determine n m q-ary levels that correspond to the n m lowest values; and rearranging symbols in a trellis to create a head portion of the trellis and a tail portion of the trellis, including by: for every symbol in the trellis, obtaining a difference between a highest LLR and a second highest LLR; and assigning, to the head portion, those symbols that have the least differences between the highest LLR and the second highest LLR; and outputting the LDPC decoded data.