Encoding and indexing of lattice codes is generalized from self-similar lattice codes to a broader class of lattices. If coding lattice $\Lambda_{\textrm{c}}$ and shaping lattice $\Lambda_{\textrm{s}}$ satisfy $\Lambda_{\textrm{s}} \subseteq \Lambda_{\textrm{c}}$, then $\Lambda_{\textrm{c}} / \Lambda_{\textrm{s}}$ is a quotient group that can be used to form a (nested) lattice code $\mathcal{C}$. Conway and Sloane's method of encoding and indexing does not apply when the lattices are not self-similar. Results are provided for two classes of lattices. (1) If $\Lambda_{\textrm{c}}$ and $\Lambda_{\textrm{s}}$ both have generator matrices in triangular form, then encoding is always possible. (2) When $\Lambda_{\textrm{c}}$ and $\Lambda_{\textrm{s}}$ are described by full generator matrices, if a solution to a linear diophantine equation exists, then encoding is possible. In addition, special cases where $\mathcal{C}$ is a cyclic code are also considered. A condition for the existence of a group homomorphism between the information and $\mathcal{C}$ is given. The results are applicable to a variety of coding lattices, including Construction A, Construction D and LDLCs. The $D_4$, $E_8$ and convolutional code lattices are shown to be good choices for the shaping lattice. Thus, a lattice code $\mathcal{C}$ can be designed by selecting $\Lambda_{\textrm{c}}$ and $\Lambda_{\textrm{s}}$ separately, avoiding competing design requirements of self-similar lattice codes.
['Brian M. Kurkoski']
Encoding and Indexing of Lattice Codes