Puncture sequences S1, S2, etc. for code rates R1, R2, etc. less than a maximum
code rate Rmax are defined subsets of a
maximum rate puncture sequence Smax that corresponds to the maximum
code rate Rmax. Each puncture sequence Si for a
code rate Ri is related to the puncture sequence Si−1, of the previous code rate Ri−1, and preferably S1⊂S2⊂ . . . ⊂Smax−1⊂Smax. The puncture sequences are groups of one or more memory elements, each of which is a variable degree, a variable node location, a check degree, or a check node location. A method for deriving such a puncture sequence for variable code rates is also disclosed.