1. A method for choosing the coding schemes, mappings and puncturing rates for a modulation/encoding system including the steps of: finding a code generator matrix such that the system is invariant to a certain transformation by which an invariancy may be created, wherein said finding step includes the steps of: choosing a coding scheme and a puncturing rate, determining a code generator matrix using said coding scheme and said puncturing rate, checking if said code generator matrix satisfies both of two invariancy equations, wherein said two invariancy equations are T.sub.u G=G' and u.sub.e G=e, wherein T.sub.u =G T G.sub.R.sup.-1, u.sub.e =e G.sub.R.sup.-1, G'=GT, e is a constant, and G.sub.R.sup.-1 is the right free inverse of G, and repeating said choosing and determining steps until said code generator matrix satisfies said both of two invariancy equations; and choosing a mapping scheme that can advantageously use said invariancy.