A method of coding data for transmission in a communication medium or
channel. A codeword is generated from a mother code parity check matrix
and a macro matrix. The mother code parity check matrix includes
sub-matrices that are m-by-m square matrices with cyclic structure, and
the macro matrix includes elements that represent nonzero sub-matrices of
the mother code parity check matrix.