This invention relates to the generation of a set of raised quasi-cyclic LDPC codes. Methods for generating codes, methods for encoding and decoding data, and encoders and decoders for performing encoding and decoding are disclosed. In an embodiment, the method for raising subcodes from a
base code for encoding and decoding data includes determining a single combination of a cycle size, a raising function, and a
label base matrix (PCM) based on information length and coding rate using data stored in a raising table. The raising table is defined during the
code generation phase. The method also includes calculating multiple shifts for the subcodes. Each shift is calculated by applying the raising function to the
label base matrix (PCM) using an index defined with the cycle size, and the resulting subPCM is used to
encode or decode data.