Patent ID: 7631246

Claim:
An apparatus, comprising: a processing module; and a memory, coupled to the processing module, that is operable to store operational instructions that enable the processing module to: select first information positions among a plurality of information columns of an LDPC (Low Density Parity Check) matrix corresponding to an LDPC code; select first redundancy positions among the plurality of information columns of the LDPC matrix; shorten a first plurality of components of an LDPC codeword that corresponds to the LDPC code based on the first selected information positions; puncture a second plurality of components of the LDPC codeword based on the first selected redundancy positions; select second information positions among the plurality of information columns of the LDPC matrix; select second redundancy positions among the plurality of information columns of the LDPC matrix; shorten a third plurality of components of the LDPC codeword based on the second selected information positions; puncture a fourth plurality of components of the LDPC codeword based on the second selected redundancy positions, wherein: the first information positions and the first redundancy positions correspond to a first shortening and puncturing; and the second information positions and the second redundancy positions correspond to a second shortening and puncturing; encode first information bits using the LDPC matrix according to the first shortening and puncturing thereby generating a first LDPC coded signal; and encode a second information bits using the LDPC matrix according to the second shortening and puncturing thereby generating a second LDPC coded signal; and wherein: a number of columns within the first information position is a sum composed of a first term and a second term; the first term is a floor of a ratio whose numerator is a number of shorten positions and whose denominator is a size of a sub-matrix within the LDPC matrix; and the second term is a ceiling of a ratio whose numerator is a difference, generated by subtracting a product that is generated by multiplying the size of the sub-matrix and the first term from a number of shorten positions or a number of puncture positions, and whose denominator is the size of the sub-matrix.