Set Partitioning of Signal Constellations
Why Partition a Constellation?
Here is the point of this chapter in one sentence: at equal transmit power, we can buy 3 to 6 dB of coding gain over the uncoded signal by splitting each symbol decision into two steps β first pick a subset of the constellation using a convolutional code, then pick a point inside that subset using the remaining uncoded bits β provided the subsets are chosen so that the minimum distance inside each subset is much larger than the minimum distance of the parent constellation.
The procedure that achieves this is called set partitioning. It was introduced by Ungerboeck in 1982 and it revolutionized modem design overnight β the V.32 (9.6 kbps) and V.34 (33.6 kbps) dial-up modems were direct instantiations of his idea. Before attacking the machinery, let us look at the geometric picture: each split of a constellation doubles the minimum squared Euclidean distance inside the resulting subsets, and the coding gain is essentially the number of levels of splitting times 3 dB (a bit less, in practice, because the final convolutional code imposes its own structure).
The coded-modulation insight from Β§Why Separate Coding and Modulation Is Suboptimal said: do not code in the binary label space, code in the signal space. Set partitioning is the constructive answer β it tells us which binary labels to use so that a convolutional code acting on the subset index maximizes free Euclidean distance in the underlying signal space.
Definition: Coded Modulation
Coded Modulation
A coded modulation scheme jointly designs channel coding and modulation so that the code lives in the signal space itself: each encoder output is a point in a constellation , not a binary symbol in . The design objective is to maximize the minimum Euclidean distance between distinct code sequences, not the Hamming distance between distinct binary codewords.
The contrast is with the classical "coding then modulation" pipeline (a binary encoder whose output is passed through a separate constellation mapper), which is generally suboptimal at moderate-to-high spectral efficiencies β as we argued in Β§Why Separate Coding and Modulation Is Suboptimal.
Definition: Set Partition (Ungerboeck Chain)
Set Partition (Ungerboeck Chain)
Let be a signal constellation with points and minimum squared distance . A set partition (or Ungerboeck chain) is a sequence of successive binary splits
where at level the parent set is split into two disjoint equal-size children, and denotes the minimum squared Euclidean distance within any child at level (the intra-subset minimum squared Euclidean distance, or MSED).
A set partition is Ungerboeck-optimal if at every level the split is chosen so that is as large as possible.
Equivalently, level labels a point by the first bits of a binary address; points sharing an -bit prefix lie in the same subset . At level every subset contains a single point and by convention.
Definition: Intra-Subset Minimum Squared Euclidean Distance
Intra-Subset Minimum Squared Euclidean Distance
For a subset with , the intra-subset MSED is
For a full partition level , denotes the smallest taken over all subsets at that level.
Intra-subset MSED is the only constellation property that matters for Ungerboeck's design: the convolutional code only picks which subset to transmit from, so the relevant distance between any two competing TCM sequences is governed by the intra-subset MSEDs along the two paths.
Definition: Coset (Subset) of a Partition
Coset (Subset) of a Partition
A coset (or subset) at level of an Ungerboeck partition is one of the disjoint sets , , produced by successive binary splits. Each coset has points and intra-subset MSED .
The word "coset" is borrowed from lattice terminology: Forney's lattice-theoretic reinterpretation of TCM (Chapter 4) shows that an Ungerboeck partition is, for 2D QAM constellations, literally a chain of sublattice cosets of . For now, "coset" and "subset" are synonymous.
Definition: Mapping by Set Partitioning (Ungerboeck Labeling)
Mapping by Set Partitioning (Ungerboeck Labeling)
A binary labeling is a mapping by set partitioning if the bit (highest-order) selects the first split, selects the second split given the first, and so on β i.e., the prefix identifies the coset containing .
Under this labeling, flipping a low-order bit moves the point to a different representative inside the same level- subset, so the resulting Euclidean displacement is .
Set Partition
A sequence of successive binary splits of a signal constellation in which each split is chosen to maximize the minimum Euclidean distance inside the resulting children. Introduced by Ungerboeck (1982), the set partition is the constellation half of a TCM design; the convolutional code is the sequencing half.
Related: Set Partition (Ungerboeck Chain), Intra-Subset Minimum Squared Euclidean Distance
Intra-Subset Minimum Distance
The minimum Euclidean distance between any two points in a given subset of a partition. For Ungerboeck's partition of 8-PSK: level 1 gives , level 2 gives (diametrically opposite pairs), so the MSED doubles at each level.
Related: Intra-Subset Minimum Squared Euclidean Distance, Set Partition (Ungerboeck Chain)
Coset (in Set Partitioning)
A subset of a constellation that arises at some level of an Ungerboeck partition. For a partition of with into cosets at level , each coset has points. The terminology matches Forney's lattice-theoretic reinterpretation (Chapter 4) in which cosets of sublattices are the Ungerboeck subsets for QAM constellations.
Related: Coset (Subset) of a Partition, Set Partition (Ungerboeck Chain)
Theorem: MSED Doubling Along the 8-PSK Ungerboeck Partition
Consider the 8-PSK constellation (unit-energy, ) with minimum squared distance . Partition in three levels by successively taking every other point. Then
so and . Equivalently, at each level the intra-subset MSED at least doubles (in fact the first split more than triples it).
The 8-PSK points are the 8th roots of unity. Taking every other one gives a rotated QPSK (4 points on the unit circle, apart, so ). Taking every other point of the QPSK gives a BPSK (2 diametrically opposite points, ). Each split discards the nearest neighbours and keeps the farthest ones.
Use the chord-length formula: for points and on the unit circle, .
Level-0 nearest neighbours differ by ; level-1 nearest neighbours by ; level-2 nearest neighbours by .
Level 0 β full 8-PSK
Two distinct 8-PSK points are and . Their squared Euclidean distance is The minimum over is attained at , giving .
Level 1 β two cosets of 4 points each
Split by parity of : and . Inside each coset, adjacent points differ by , so Each coset is a (rotated) QPSK of 4 points. Notice that β the first split more than triples the squared distance.
Level 2 β four cosets of 2 points each
Split each QPSK coset by parity of . Inside each level-2 coset, the two surviving points are antipodal: their angular separation is , so Each level-2 coset is a BPSK pair. We have exactly β the second split doubles the squared distance.
Level 3 β eight singleton cosets
Split each antipodal pair into singletons. There are no pairs inside a single-element set, so by convention. This completes the Ungerboeck chain monotonically increasing as required.
Ungerboeck Set-Partition Tree for 8-PSK
Intra-Subset MSED at Each Partition Level
For each level of the Ungerboeck partition of a chosen constellation, plot the intra-subset minimum squared Euclidean distance . Try 8-PSK, 16-QAM, and 16-PSK and observe the geometry: for 2D QAM the ratios hold essentially throughout, while for -PSK the first split is asymmetric because adjacent and antipodal pairs are geometrically different.
Parameters
Example: Ungerboeck Partition of 16-QAM
Let be the standard 16-QAM constellation with minimum inter-point distance (so ). Construct the four-level Ungerboeck partition and report .
Level 0 β full 16-QAM
The minimum distance is attained by adjacent horizontal or vertical neighbours, so .
Level 1 β two cosets of 8 points (rotated QPSK $\times$ 2)
Split by the parity of (checkerboard coloring). Each coset is an 8-point subset on a sublattice rotated by and scaled: inside the coset, nearest neighbours differ by , so We have exactly.
Level 2 β four cosets of 4 points
Further split each level-1 coset by parity of (or equivalently ). Inside a level-2 coset, nearest neighbours differ by or , so Again .
Level 3 β eight cosets of 2 points
Split each level-2 coset into an antipodal pair. Inside a pair, the two points differ by , so Once more . The full chain exhibits clean doubling β a consequence of the 2D lattice structure of QAM. This is exactly Forney's lattice interpretation: each level is a sublattice of index 2 in the previous.
Historical Note: Ungerboeck 1982 β The Paper That Changed Modem Design
1982β1994Gottfried Ungerboeck (IBM ZΓΌrich, later Broadcom Fellow) published "Channel Coding with Multilevel/Phase Signals" in IEEE Transactions on Information Theory in January 1982. The paper was met with initial skepticism β the prevailing view was that coding gain on AWGN was essentially capped at the 2β3 dB obtainable from short binary block codes, and that any further gain required expensive bandwidth expansion.
Ungerboeck's insight was geometric rather than algebraic: instead of coding in the binary message space, code in the signal space by labeling constellation points via a partition tree. His central claim β 3 to 6 dB of coding gain without any bandwidth expansion (the same symbol rate, the same constellation size chosen to compensate for the rate penalty of the code) β was verified experimentally almost immediately. By 1984 the V.32 modem standard (9.6 kbps over a 3 kHz telephone line) had adopted an 8-state 32-CROSS TCM; by 1994 the V.34 modem (33.6 kbps) used a 4D 16-state TCM with shell-mapping shaping. The V.34 modem was, for a decade, the most sophisticated digital communications system in consumer use.
Two follow-up papers in IEEE Communications Magazine (1987) made the ideas accessible to a much broader audience and are the most-cited Ungerboeck works today.
Common Mistake: A Constellation Admits Many Set Partitions β Not All Are Optimal
Mistake:
Assuming that any binary labeling of a constellation yields an Ungerboeck-optimal partition.
Correction:
A partition is Ungerboeck-optimal only if at every level the split maximizes the intra-subset MSED. For 8-PSK, the parity-by-angle split is optimal; splitting by "top half vs. bottom half" is not β it yields , no better than the parent. For 16-QAM, the checkerboard (parity of ) is optimal; splitting by vs. is not. In practice, construct the partition by always discarding nearest neighbours at each level; this gives the unique Ungerboeck chain up to symmetry.
Quick Check
For the Ungerboeck partition of unit-energy 8-PSK, what is the ratio ?
From TMSED Doubling Along the 8-PSK Ungerboeck Partition, and , so the ratio is , about dB. Two levels of Ungerboeck partitioning buy you roughly an dB MSED increase β a strong upper bound on what any 8-PSK TCM with 2-bit-per-symbol coset selection can deliver.
Quick Check
Which of the following binary labelings of QPSK is an Ungerboeck labeling (mapping by set partitioning) rather than a Gray labeling?
Ungerboeck labeling uses the highest-order bit to choose the level-1 coset (antipodal pair): , . Then selects the specific point within the coset. So the label sequence going around the circle is , not the Gray sequence . In Ungerboeck labeling, diametrically opposite points differ by 1 bit (flipping ); in Gray labeling, adjacent points differ by 1 bit.
Key Takeaway
The partition doubles the MSED. Each level of an Ungerboeck partition at least doubles (and in the first 8-PSK level more than triples) the intra-subset minimum squared distance. A TCM scheme that uses a rate- convolutional code to select a level- coset inherits this distance amplification: the free Euclidean distance of the code is at worst , regardless of how bad the convolutional code is. The coding gain is bought entirely by the partition geometry, not by the code.