Lattices and Lattice Partitions

From Constellations to Lattices

In the first three chapters we worked with finite constellations XR2\mathcal{X} \subset \mathbb{R}^2 or R4\mathbb{R}^4 — 8-PSK, 16-QAM, set-partitioning trees — and we asked how to code over them. In this chapter we move one level up in abstraction. Instead of picking a finite point set and partitioning it, we work with lattices: infinite regular arrays of points in Rn\mathbb{R}^n. The constellation is then obtained by two independent operations:

  1. Coding. Select a subset of the lattice points by a code. This controls the minimum distance of the constellation and hence, loosely, the coding gain γc\gamma_c.
  2. Shaping. Confine the selected points to a bounded region RRn\mathcal{R} \subset \mathbb{R}^n. This controls the average energy of the constellation and hence the shaping gain γs\gamma_s.

The point is that coding and shaping are orthogonal design problems. Shaping moulds the marginal distribution of the transmitted symbols toward the Gaussian ideal; coding structures the relationships between codewords. They contribute independently to the gap to Shannon capacity, and we will see that each has a strict upper bound — a coding-gain ceiling that depends on the underlying lattice, and a shaping-gain ceiling of exactly πe/61.53\pi e /6 \approx 1.53 dB. That 1.531.53 dB is the "Shannon tax" that any finite-alphabet scheme pays; no clever code design recovers it. Only shaping does.

,

Definition:

Lattice in Rn\mathbb{R}^n

A lattice ΛRn\Lambda \subset \mathbb{R}^n is a discrete additive subgroup of Rn\mathbb{R}^n of rank nn. Equivalently, there exist nn linearly independent vectors g1,,gnRn\mathbf{g}_1, \ldots, \mathbf{g}_n \in \mathbb{R}^n such that

Λ  =  {i=1nzigi  :  ziZ}.\Lambda \;=\; \Bigl\{ \textstyle\sum_{i=1}^n z_i \, \mathbf{g}_i \;:\; z_i \in \mathbb{Z} \Bigr\}.

Stacking the basis vectors as columns of a matrix GRn×n\mathbf{G} \in \mathbb{R}^{n \times n}, we write Λ={Gz:zZn}\Lambda = \{\mathbf{G}\mathbf{z} : \mathbf{z} \in \mathbb{Z}^n\} and call G\mathbf{G} a generator matrix of Λ\Lambda. Different bases give different G\mathbf{G}'s, all related by unimodular transformations (integer matrices with det=1|\det| = 1).

A lattice is closed under addition and under negation — that is what "additive subgroup" means. In particular, the origin 0\mathbf{0} always belongs to every lattice.

,

Definition:

Fundamental Region and Volume

A fundamental region of Λ\Lambda is any measurable set FRn\mathcal{F} \subset \mathbb{R}^n such that the translates {F+λ:λΛ}\{\mathcal{F} + \lambda : \lambda \in \Lambda\} tile Rn\mathbb{R}^n exactly (they cover it and overlap only on measure-zero sets). The fundamental parallelepiped P(G)={Gu:u[0,1)n}\mathcal{P}(\mathbf{G}) = \{\mathbf{G}\mathbf{u} : \mathbf{u} \in [0,1)^n\} is one canonical choice; the Voronoi region (below) is another. All fundamental regions have the same volume, which we call the fundamental volume of the lattice:

V(Λ)  =  detG.V(\Lambda) \;=\; |\det \mathbf{G}|.

The volume is independent of the basis because unimodular GGU\mathbf{G} \to \mathbf{G}\mathbf{U} preserves det|\det|.

Think of V(Λ)V(\Lambda) as the "real estate" each lattice point occupies. A denser lattice has smaller V(Λ)V(\Lambda) for the same average distance between points — equivalently, a larger number of points per unit volume.

,

Definition:

Voronoi Region, Packing and Covering Radii

The Voronoi region V(Λ)\mathcal{V}(\Lambda) of Λ\Lambda around the origin is the set of points of Rn\mathbb{R}^n closer to 0\mathbf{0} than to any other lattice point:

V(Λ)  =  {xRn:xxλ for all λΛ}.\mathcal{V}(\Lambda) \;=\; \bigl\{\mathbf{x} \in \mathbb{R}^n : \|\mathbf{x}\| \le \|\mathbf{x} - \lambda\| \text{ for all } \lambda \in \Lambda \bigr\}.

The packing radius rpack(Λ)r_{\rm pack}(\Lambda) is the largest rr such that the balls B(λ,r)B(\lambda, r) around distinct lattice points are disjoint; equivalently, rpack=12minλ0λr_{\rm pack} = \tfrac12 \min_{\lambda \ne 0} \|\lambda\|. The covering radius rcov(Λ)r_{\rm cov}(\Lambda) is the smallest rr such that the balls B(λ,r)B(\lambda, r) cover all of Rn\mathbb{R}^n; equivalently, rcov=maxxminλxλr_{\rm cov} = \max_{\mathbf{x}} \min_{\lambda} \|\mathbf{x} - \lambda\|.

Packing controls error probability on the AWGN channel (nearest-neighbour confusion), while covering controls the worst-case quantisation error. Both are lower-bounded by the same sphere-packing argument, but the extremal lattices for packing and covering differ in general.

,

Definition:

Kissing Number

The kissing number K(Λ)K(\Lambda) of a lattice is the number of minimum-norm vectors in Λ{0}\Lambda \setminus \{\mathbf{0}\} — the number of "nearest neighbours" of the origin:

K(Λ)  =  {λΛ:λ=dmin},dmin=minλ0λ.K(\Lambda) \;=\; \bigl| \{\lambda \in \Lambda : \|\lambda\| = d_{\min}\} \bigr|, \qquad d_{\min} = \min_{\lambda \ne 0} \|\lambda\|.

At high SNR, the pairwise union bound for ML decoding gives PeK(Λ)Q ⁣(dmin2σ2)P_e \approx K(\Lambda) Q\!\left(\tfrac{d_{\min}}{2 \sigma^2} \right), so K(Λ)K(\Lambda) is the multiplicative pre-factor controlling the error floor once coding gain has set dmind_{\min}.

A large coding gain is worth less if it comes with an exponentially large kissing number. The Conway–Sloane tables list both numbers for the standard lattices; the ratio γc/K(Λ)1/n\gamma_c / K(\Lambda)^{1/n} is sometimes called the effective coding gain to reflect this tradeoff.

Lattice Partition Visualization

Three canonical partitions in R2\mathbb{R}^2. The big dots are the sublattice Λ\Lambda'; the smaller dots are the coset representatives in ΛΛ\Lambda \setminus \Lambda'. Each coset is colour-coded. Changing the partition shows how the index Λ/Λ|\Lambda/\Lambda'| controls how many cosets the label bits must encode, and how the Voronoi region rescales.

Parameters

Important Lattices and Their Parameters

LatticeDimension nnFund. vol. V(Λ)V(\Lambda)Kissing KKCoding gain over Zn\mathbb{Z}^n [dB]
Zn\mathbb{Z}^nany nn112n2n00
DnD_n (checkerboard)n2n \ge 2222n(n1)2n(n-1)1.5\approx 1.5 (for n=4n=4)
E8E_8 (Gosset)88112402403.013.01
Λ16\Lambda_{16} (Barnes–Wall)161611432043204.524.52
Λ24\Lambda_{24} (Leech)2424111965601965606.026.02

Historical Note: Forney's 1988 Coset Codes

1988

The two-part paper Coset Codes — Part I: Introduction and Geometrical Classification and Part II: Binary Lattices and Related Codes by G. D. Forney Jr., appearing in the IEEE Transactions on Information Theory (Sept. 1988, pp. 1123–1187), consolidated a decade of work by Ungerboeck, Calderbank, Sloane, Wei, and Forney himself. Part I lays out the geometric framework of lattice partitions and coset codes, including the fundamental coding gain and the shaping-gain decomposition. Part II catalogues the binary lattices (like Zn\mathbb{Z}^n, DnD_n, E8E_8, the Barnes–Wall lattices, and the Leech lattice Λ24\Lambda_{24}) and the binary partitions between them, showing that most practical TCM codes are (unknowingly) coset codes of this form. These papers are the single most important reference for the material in this chapter.

,

Example: The Partition Z2/2Z2\mathbb{Z}^2 / 2\mathbb{Z}^2

Consider the integer lattice Λ=Z2\Lambda = \mathbb{Z}^2 and its sublattice Λ=2Z2\Lambda' = 2 \mathbb{Z}^2 (all vectors with even coordinates). List the cosets of Λ\Lambda' in Λ\Lambda, the index Λ/Λ|\Lambda / \Lambda'|, and the fundamental volumes V(Λ)V(\Lambda) and V(Λ)V(\Lambda'). Confirm the identity Λ/Λ=V(Λ)/V(Λ)|\Lambda/\Lambda'| = V(\Lambda')/V(\Lambda).

Theorem: Index Equals Volume Ratio

Let ΛΛ\Lambda' \subset \Lambda be lattices in Rn\mathbb{R}^n. Then Λ\Lambda' has finite index in Λ\Lambda, and the number of cosets satisfies

Λ/Λ  =  V(Λ)V(Λ).|\Lambda / \Lambda'| \;=\; \frac{V(\Lambda')}{V(\Lambda)}.

If Λ\Lambda' is coarser by a factor of kk in volume, then kk copies of Λ\Lambda' — offset by the kk coset representatives — reassemble Λ\Lambda. The statement is a conservation law.

,

Definition:

Lattice Partition Chain

A lattice partition chain is a nested sequence

Λ0    Λ1    Λ2        ΛL,\Lambda_0 \;\supset\; \Lambda_1 \;\supset\; \Lambda_2 \;\supset\; \cdots \;\supset\; \Lambda_L,

where each Λi\Lambda_i is a sublattice of Λi1\Lambda_{i-1}. The chain has LL levels; the ii-th level contributes the partition Λi1/Λi\Lambda_{i-1} / \Lambda_i of index Λi1/Λi|\Lambda_{i-1} / \Lambda_i|. In the binary case each level is a two-way partition (index 2), and the total number of cosets of ΛL\Lambda_L in Λ0\Lambda_0 is 2L2^L — exactly the number of bits we need to label a coset.

The chains we care about most are the Ungerboeck binary chains Z2/RZ2/2Z2/\mathbb{Z}^2 / R\mathbb{Z}^2 / 2\mathbb{Z}^2 / \cdots (the 8-PSK / 16-QAM chains of Ch. 2) and the more sophisticated chains leading down to D4D_4, E8E_8, and beyond.

,

Common Mistake: Dimension Counts nn, Not Channel Uses

Mistake:

Mixing up the dimension nn of the lattice (the ambient Rn\mathbb{R}^n) with the number of symbols the lattice represents. A 2D lattice point is a single 2D QAM symbol; an 8D lattice point spans four 2D symbols.

Correction:

A lattice ΛRn\Lambda \subset \mathbb{R}^n with nn even corresponds to n/2n/2 complex-valued channel uses under 2D (I/Q) modulation. When we quote per-symbol energy, coding gain per 2D, and so on, we must divide the per-lattice-point quantities by n/2n/2. The shaping gain ceiling πe/6\pi e / 6 is expressed per-dimension, so is scale-free.

Lattice

A discrete additive subgroup of Rn\mathbb{R}^n of full rank nn; equivalently, the set of integer combinations of nn linearly independent vectors (the generator matrix).

Related: Fundamental Region and Volume, Voronoi Region, Packing and Covering Radii, Sublattice

Sublattice

A lattice ΛΛ\Lambda' \subset \Lambda that is itself a lattice (full rank in Rn\mathbb{R}^n). Equivalently, the image of Λ\Lambda under multiplication by an integer matrix with nonzero determinant.

Related: Lattice in Rn\mathbb{R}^n, Coset (Subset) of a Partition, Partition Chain of a Constellation

Voronoi region

The set of points in Rn\mathbb{R}^n closer to the origin than to any other point of a lattice. Its volume equals the fundamental volume V(Λ)V(\Lambda).

Related: Lattice in Rn\mathbb{R}^n, Fundamental Region and Volume

Kissing number

The number of lattice points at minimum distance from the origin. Governs the pairwise-union-bound prefactor in the ML error probability.

Related: Minimum Distance and Asymptotic Coding Gain, Coding Gain of a Full-Rank Space-Time Code

Quick Check

What is the index Z4/D4|\mathbb{Z}^4 / D_4| of the checkerboard sublattice D4={zZ4:izi even}D_4 = \{\mathbf{z} \in \mathbb{Z}^4 : \sum_i z_i \text{ even}\} inside Z4\mathbb{Z}^4?

1

2

4

2n=162^n = 16

Key Takeaway

A lattice is a regular point set with group structure, and a sublattice partitions it into cosets. The fundamental volume V(Λ)V(\Lambda) measures point density, the Voronoi region measures local error tolerance, the kissing number K(Λ)K(\Lambda) measures error-floor multiplicity, and the index Λ/Λ|\Lambda/\Lambda'| of a partition is the number of bits we need to label a coset. These four quantities will do all the work in the coset-code construction of the next section.