Patent ID: 7536629

Claim:
A method for constructing an LDPC (Low Density Parity Check) code using a GRS (Generalized Reed-Solomon) code, the method comprising: selecting a location set that comprises: a plurality of elements, wherein each element of the plurality of elements is generated using a primitive element of a Galois field raised to a corresponding exponent, and wherein the Galois field comprises a predetermined finite number of elements; a first degree 1 polynomial function that is operable to map each element of the plurality of elements of the location set to a corresponding non-zero value; and a second degree 1 polynomial function that is a non-linear scalar multiple of the first degree 1 polynomial function; selecting a plurality of non-zero elements from the Galois field; identifying a first codeword vector of a GRS code, from among a plurality of possible codeword vector values, wherein the first codeword vector is generated using the plurality of non-zero elements and resultants generated by mapping each element of the plurality of elements of the location set according to the first degree 1 polynomial function; identifying a second codeword vector of the GRS code, from among the plurality of possible codeword vector values, wherein the second codeword vector is generated using the plurality of non-zero elements and resultants generated by mapping each element of the plurality of elements of the location set according to the second degree 1 polynomial function; multiplying the first codeword vector by each scaling factor of a first plurality of scaling factors thereby generating a plurality of scaled first codeword vectors; multiplying the second codeword vector by each scaling factor of a second plurality of scaling factors thereby generating a plurality of scaled second codeword vectors; generating a plurality of cosets by adding each scaled first codeword vector of the plurality of scaled first codeword vectors to each plurality of scaled second codeword vectors of the plurality of scaled second codeword vectors; generating a plurality of permutation matrices, wherein each permutation matrix of the plurality of permutation matrices comprises a plurality of rows such that each row of the plurality of rows comprises a location mapping of one coset of the plurality of cosets; and arranging each permutation matrix of the plurality of permutation matrices as sub-matrices thereby generating an LDPC parity check matrix that corresponds to the LDPC code; and wherein: the method is performed with an apparatus that provides the generated LDPC parity check matrix to at least one of an encoder and a decoder.