Patent ID: 7681110

Claim:
A method that when executed by a computing device decodes linear block code sequences, the method comprising: receiving a code sequence; computing a syndrome for the code sequence; determining whether the code sequence represents one of a plurality of valid codewords based on the syndrome; if the code sequence does not represent one of the valid codewords: estimating a confidence for a plurality of bits within the code sequence; determining a subset of the plurality of bits having the least confidence based on the estimated confidence; determining a corrected codeword for the code sequence by obtaining a set of modified code sequences and identifying one modified code sequence within the set as the corrected codeword, wherein the obtaining a set of modified code sequences further comprises: initializing a sequence S 1,1 of length n with elements from a finite field; initializing an index i and an index r each to a value of 1; obtaining a subsequence S 1,1 by copying entries from the sequence S 1,1 , wherein the sequence S 1,1 defines a prior sequence; reversing an order of the modified code sequences within the subsequence S 1,1 ; incrementing an i-th bit of entries in the subsequence to a next element in the finite field to yield S 1,1 ; concatenating the subsequence and the prior sequence to obtain a new sequence; incrementing index r; when index r equals q+1, wherein q is the number of elements: determining when index i is equal to n, and when index i is equal to n, completing the output sequence containing the modified code sequences; when index i is not equal to n, incrementing index i, setting index r to 1, and returning to obtaining a subsequence S 1,1 by copying entries; and when index r is not equal to q+1, returning to obtaining a subsequence S 1,1 by copying entries; and obtaining information from the corrected codeword.