A new technique is proposed for constructing trellis codes. which provides an alternative to Ungerboeck\´s method of "set partitioning." The new codes use a signal constellation consisting of points from an

-dimensional lattice

, with an equal number of points from each coset of a sublattice

. One part of the input stream drives a generalized convolutional code whose outputs are cosets of

, while the other part selects points from these cosets. Several of the new codes are better than those previously known.