Trellis Structure and the Ungerboeck Design Rules
The Trellis as the Design Blueprint
The convolutional code inside a TCM scheme is conveniently pictured as a trellis: a directed graph whose nodes are the encoder states and whose edges are labelled by the (coset index, uncoded bits) pair of each possible transition. One "section" of the trellis corresponds to one channel use; the complete code is obtained by concatenating sections.
Ungerboeck's 1982 paper spends less time on the trellis itself than on the rules for labelling its edges so that the free Euclidean distance is maximized. Those three rules β now known as the Ungerboeck design rules β turn out to be deceptively simple. They are the single most important engineering output of the paper, and they still drive TCM table constructions today.
In this section we make the trellis structure explicit, state the three rules, and explain precisely why each one is needed β each rule eliminates one type of near-minimum-distance error event that would otherwise collapse back to its Hamming-distance ceiling.
Definition: Trellis (of a Convolutional Code)
Trellis (of a Convolutional Code)
The trellis of a convolutional encoder with memory cells is the time-indexed directed graph whose nodes at time are the possible encoder states , and whose edges from to correspond to each admissible state transition under one input symbol. Each edge is labelled with the encoder output for that transition.
One section of the trellis shows edges from time to time . A path is a sequence of edges consistent with the state-transition rule; an error event is a pair of paths that share a starting state, diverge at some time, and first remerge to a common state at a later time.
A binary code of rate has edges leaving each state (one per input pattern) and edges arriving at each state. For TCM each edge's label is converted via the Ungerboeck partition into a constellation point (plus uncoded-bit choices producing parallel transitions).
Definition: Ungerboeck TCM Code
Ungerboeck TCM Code
An Ungerboeck TCM code is the pair where
- is a rate- convolutional code (specified by generator polynomials or a state-transition table), and
- is an Ungerboeck partition of a -point constellation.
The encoder:
- Reads information bits per symbol.
- Feeds the lowest bits into ; the output is bits labelling a level- coset of .
- Uses the remaining uncoded bits to select a point inside the coset.
The tables in Ungerboeck 1982 (Table I for 8-PSK, Table II for 16-QAM, Table III for 16-PSK) list the optimal pairs for each state count , together with the achieved and the asymptotic coding gain over the uncoded baseline.
Definition: Euclidean Distance Profile
Euclidean Distance Profile
The Euclidean distance profile of a TCM code is the enumeration of error events by their squared Euclidean distance:
with associated multiplicities . The smallest entry dominates the high-SNR BER via the union bound; the next few entries matter at moderate SNR where the "knee" of the BER curve sits.
In practice, Ungerboeck only reports in his tables. Refined analysis (Biglieri 2005, Ch. 10) computes the full distance spectrum via the transfer-function bound, which treats the trellis as a signal flow graph with distance-weighted edges.
Error Event
A pair of trellis paths that share a common state, diverge at some time, and first remerge to a common state at a later time. Error events are the atomic units of error analysis: the union bound on BER is a sum over all error events weighted by their squared Euclidean distance.
Related: Trellis (of a Convolutional Code), Free Euclidean Distance
Ungerboeck Design Rules
Three heuristic rules, introduced in Ungerboeck (1982), for assigning signal points to trellis branches so that the free Euclidean distance is maximized: (R1) Parallel transitions are labelled with points of the deepest non-trivial partition level; (R2) Transitions originating from or merging into any single state are labelled with points of the next-deepest level; (R3) All signal points are used with equal frequency (uniform input).
Related: Ungerboeck TCM Code, Parallel Transitions
Theorem: Ungerboeck Design Rules
To maximize the free Euclidean distance of a TCM code built from an Ungerboeck partition of a -point constellation and a rate- convolutional code, assign signal points to trellis transitions so that the following three rules are satisfied.
(R1) Parallel transitions (transitions between the same pair of states) carry signal points from the same level- coset β i.e., a maximally-separated antipodal pair (or the equivalent for larger ).
(R2) Transitions originating from a single state, or merging into a single state, carry signal points from the same level- coset β i.e., all such edges are labelled with points whose pairwise intra-subset distance is at least .
(R3) Uniform input. All signal points are used with equal frequency when the input bits are uniform i.i.d.; equivalently, the mapping is a "regular" labeling (a group homomorphism for the constellation's symmetry group).
Any TCM code satisfying (R1)β(R3) achieves at least as large as the bound in TLower Bound on Free Euclidean Distance via Partition Levels.
Each rule eliminates a particular class of "weak" error event.
(R1) Without it, a parallel-transition error could use two points from different level- cosets (if the trellis allowed it), which would cost only . (R1) forces parallel transitions to cost at least .
(R2) Without it, a length-2 error event (diverge, remerge after one step) could use two pairs of points each with small inter-point distance, giving a length-2 contribution smaller than . (R2) forces this to cost at least .
(R3) Without it, some signal points would be used more frequently than others, producing a non-uniform average signal energy and no longer saturating the AWGN capacity at the chosen .
For (R1), argue that parallel transitions in the same state pair must share all bits except the uncoded ones, hence their coset indices at level are identical.
For (R2), observe that the outgoing (or incoming) edges of a state form a set of points determined by the input bits; assign these points to the same level- coset so that pairwise distances are at least .
For (R3), observe that a regular labeling corresponds to a group homomorphism from to the constellation's symmetry group.
Rule (R1) β parallel transitions
Parallel transitions between states and exist only when : the uncoded bits produce edges all between and (the convolutional-code output is the same for all of them). These parallel edges carry distinct signal points that must all lie in the same level- coset β because the first bits of the constellation label (which identify the coset) equal the convolutional-code output, which is common to all parallel edges. Hence the minimum Euclidean distance among parallel edges is .
A length-1 error event traverses exactly one parallel edge of the "correct" path and one parallel edge of the "competing" path; its contribution to is at least .
Rule (R2) β transitions from/into a single state
Consider the outgoing edges from state . Their labels differ in the convolutional-code output bits only, so they span distinct level- cosets. If we arrange these to all lie in the same level- coset (i.e., they share the first coset-selection bits, which are a function of the state ), then the pairwise Euclidean distance between any two outgoing edges is at least .
A length-2 error event that diverges from , traverses one edge, then remerges, must use two edges out of whose Euclidean distance is ; together with the second "mirror" pair at the remerge state (also ), the length-2 contribution is at least . This is larger than (by the partition doubling property ), so length-2 events do not break the parallel-transition bound.
Rule (R3) β uniform usage
If the encoder input is an i.i.d. uniform binary stream, all constellation points are used equally often if and only if the labeling is a group-theoretic "regular" map β i.e., the pre-image of every point under the input-to-point map has cardinality (each 3-bit label is attained exactly once per encoder state cycle). This is automatically satisfied by any non-degenerate rate- convolutional code followed by uncoded bits.
Without (R3), the constellation would be used with a non-uniform distribution, shifting the average energy and the effective reference used for the coding-gain calculation. (R3) therefore ensures the coding-gain figure is apples-to-apples with the uncoded baseline.
Combining the rules
Together, (R1) forces for length-1 events to be , (R2) forces length- events to be , and (R3) aligns the energy reference. Hence any TCM satisfying (R1)β(R3) has , which matches the parallel-transition term of TLower Bound on Free Euclidean Distance via Partition Levels. When the convolutional code also achieves , both terms of the lower bound are saturated and exactly.
One Section of the Canonical 4-State 8-PSK Ungerboeck Trellis
One time-slice of Ungerboeck's 4-state 8-PSK TCM trellis. The four states on the left connect to the four states on the right via labelled edges: each edge displays the constellation point transmitted on that transition. Toggle parallel transitions to see how the coding bit leaves uncoded bit, producing pairs of parallel edges that carry antipodal 8-PSK points (distance ). The "nice" structure visible here β transitions into each state form a rotated-QPSK set β is exactly rule (R2) in action.
Parameters
Example: Verifying the Design Rules on the 4-State 8-PSK TCM
For the canonical 4-state 8-PSK TCM of EFree Euclidean Distance of the 4-State 8-PSK TCM (rate- convolutional code, , , , ), verify the three Ungerboeck design rules.
Rule (R1) β parallel transitions
Each of the 4 states has 2 outgoing edges labelled by the convolutional-code outputs, and because there is uncoded bit, producing pairs of parallel edges on each original edge. Each pair carries the two points of a single level-2 coset (antipodal pair on the 8-PSK circle), so the distance between parallel edges is (). Rule (R1) is satisfied.
Rule (R2) β outgoing-edge sets
The 2 outgoing edges from any state (ignoring parallel transitions) are labelled with 2 points drawn from two different level-2 cosets that together form a single level-1 coset (rotated QPSK). The minimum Euclidean distance among these two labels is (). The same holds for incoming edges by symmetry. Rule (R2) is satisfied.
Rule (R3) β uniform usage
The rate- convolutional code is not catastrophic and has a uniform distribution over output pairs, so the 8-PSK labels are hit with equal long-run frequency. Rule (R3) is satisfied.
Consequence
All three rules hold, so Ungerboeck's Table I tells us the code achieves β the parallel-transition bound β with error coefficient (each of the 4 states has an error event at distance ).
The asymptotic coding gain over uncoded QPSK () is This is the simplest nontrivial TCM code; every 8-PSK TCM in Ungerboeck's table improves on this by going to more states, raising until parallel transitions are no longer the bottleneck.
Historical Note: Viterbi and Forney: From Algorithm to Trellis Concept
1967β1988Andrew Viterbi introduced what is now called the Viterbi algorithm in a 1967 IEEE Transactions on Information Theory paper as a maximum-likelihood decoder for convolutional codes; the 1971 paper "Convolutional codes and their performance in communication systems" (IEEE Trans. Commun. Tech.) popularized the bit-error analysis via error events. At the time, neither the algorithm nor its complexity were widely appreciated outside a small coding-theory circle.
G. David Forney Jr.'s 1973 Proceedings of the IEEE paper "The Viterbi algorithm" reframed the decoder as a shortest-path search on a trellis β the graph-theoretic picture we take for granted today. This reframing turned a specialized coding technique into a general tool: once the trellis picture was available, it became clear that any finite-state code, including Ungerboeck's TCM nine years later, could be decoded by the same dynamic-programming recursion.
The chain Viterbi Forney Ungerboeck is the clearest arc in the history of coded modulation. Forney's lattice-theoretic reinterpretation of TCM in the 1988 paper "Coset codes I/II" (cited in our Chapter 4) closed the loop by showing that TCM is a special case of lattice coset coding.
Trellis Depth and Decoder Latency
A Viterbi decoder for a TCM code must store the survivor-path history deep enough that the traceback is reliable: the rule of thumb is 5 to 7 trellis sections, where is the convolutional encoder memory. At 28800 symbols/s (V.34 modem baud rate), a 64-state TCM () needs survivor paths of length 30β40 symbols, giving roughly 1 ms of decoding latency. This was manageable in 1994 with dedicated DSP silicon; scaling to gigasymbol/s modern systems with or more requires pipelined architectures and is why early 5G NR adopted LDPC over trellis codes (LDPC decoders parallelize more naturally than Viterbi).
- β’
Survivor memory scales linearly in and linearly in traceback depth
- β’
Branch-metric computation scales linearly in and exponentially in
- β’
Traceback latency is the dominant delay at multi-gigasymbol rates
Common Mistake: Catastrophic Convolutional Codes in TCM
Mistake:
Choosing a convolutional code with that produces a catastrophic encoder β one where a finite number of input errors can cause an infinite number of output errors.
Correction:
A catastrophic code has an error event of infinite length with finite Euclidean distance, which completely breaks the free-distance analysis. For binary rate- codes, the encoder is catastrophic iff (as polynomials in ).
Always check before adopting a generator pair from a table. Ungerboeck's 1982 tables are all non-catastrophic; but if you modify a generator polynomial to simplify hardware, rerun the test.
Quick Check
Which of the three Ungerboeck design rules governs the labelling of parallel transitions (multiple edges between the same pair of states)?
Rule (R1): parallel transitions carry points of the deepest non-trivial partition level.
Rule (R2): transitions from or into a single state carry same-coset points at the next level.
Rule (R3): uniform input distribution.
None of the above β parallel transitions are not addressed by Ungerboeck's rules.
Rule (R1) handles parallel transitions. Without it, parallel edges might carry points from different deep-level cosets and would fail to achieve the minimum distance. Rules (R2) and (R3) address non-parallel outgoing/incoming edges and uniform input distribution, respectively.
Quick Check
In Ungerboeck's Table I (1982), the asymptotic coding gain of 8-PSK TCM over uncoded QPSK as a function of trellis states is approximately: 4 states β 3 dB; 8 β 3.6 dB; 16 β 4.1 dB; 32 β 4.6 dB; 64 β 4.8 dB; 128 β 5.0 dB; 256 β 5.4 dB. What is the ultimate ceiling, and why can it not be exceeded by adding states to this family?
β adding states always helps.
dB.
About dB β beyond that, the partition geometry (parallel-transition bound) saturates and no more gain is possible from coding bit alone.
Exactly dB.
The parallel-transition bound gives as long as and a -way split is used. Adding states only helps until the Hamming distance term exceeds ; beyond that, the parallel-transition term is the ceiling. The number dB roughly corresponds to the asymptotic coding gain of a higher or a deeper partition level β 8-PSK simply does not have more levels to give.
Key Takeaway
Three rules, one optimal code family. Ungerboeck's design rules β (R1) parallel transitions carry deepest-coset points, (R2) outgoing and incoming edges of each state carry next-deepest-coset points, (R3) uniform input β are individually necessary and jointly sufficient to saturate the free-distance lower bound. Every entry in Ungerboeck's 1982 Tables IβIII was produced by a computer search that enforced (R1)β(R3) and then maximized over the remaining freedom. The rules are the bridge between the combinatorial design of the convolutional code and the geometric design of the partition.