Exercises
ex-ch02-01
EasyConsider unit-energy 8-PSK, . Compute the three distances of the Ungerboeck partition from first principles, using the identity . Confirm the numerical values stated in TMSED Doubling Along the 8-PSK Ungerboeck Partition.
At level 0, the minimum angular difference between two 8-PSK points is .
At level 1 (after taking every other point), the angular difference is .
At level 2 (after taking every other of those), the angular difference is .
Level 0
Adjacent 8-PSK points differ in angle by , so
Level 1
Adjacent points in a parity- subset differ by , so
Level 2
Adjacent points in a deeper subset differ by (antipodal), so All three match the theorem.
ex-ch02-02
EasyFor unit-inter-point-distance 16-QAM (), confirm that the four-level Ungerboeck partition gives the chain by identifying the sublattices explicitly.
Level 1 is the checkerboard split by parity of .
Level 2 further splits by parity of .
Level 3 picks one antipodal pair per level-2 coset.
Level 0
Adjacent 16-QAM points differ by or in the unit-spacing convention (actual coordinates with inter-point distance ). Rescaling to unit inter-point distance: . But in Ungerboeck's normalization โ this is just a scaling of . Using the coordinates: (nearest neighbour distance is ).
Level 1 (checkerboard)
Split by parity of . Inside either subset, adjacent points differ by , giving .
Level 2
Split each level-1 coset by parity of . Inside a level-2 coset, adjacent points differ by or , giving .
Level 3
Split each level-2 coset into antipodal pairs. Inside a pair, points differ by , giving . The full chain matches the lattice-index-2 doubling.
ex-ch02-03
MediumProve from the definition that in any Ungerboeck partition of a 2D constellation obtained from a lattice by a chain of sublattices each of index 2, the intra-subset MSED exactly doubles at each level: .
A sublattice of index 2 in a 2D lattice is obtained by taking every other point of one of the two primitive lattice directions.
The new nearest-neighbour vector is a -rescaled rotation of the original.
Squared length doubles.
Index-2 sublattice structure
Any index-2 sublattice has and can be written as for some lattice functional . The nearest-neighbour vector of has squared length because going from to removes the odd-parity cosets, leaving only the even-parity lattice โ equivalently, a -rescaled rotation of .
Attaining the bound
In the Ungerboeck partition, the split is always chosen as an index-2 sublattice (maximizing the intra-subset MSED at each step). The rescaling is exactly by for 2D lattices (this is the key lemma), so squared distances double exactly: .
Remark: For non-lattice 2D constellations (like 8-PSK at level 0) the first doubling is not exact โ it is (super-doubling) because 8-PSK points are not on a lattice. From level 1 onward, the rotated QPSK sublattice is a 2D lattice, and subsequent steps double exactly.
ex-ch02-04
MediumShow that the rate- convolutional code with generator polynomials is not catastrophic and has free Hamming distance . Show the opposite for .
A rate- convolutional code is non-catastrophic iff over .
Factor each generator as a polynomial in : , ; , .
$(7, 5)$ is non-catastrophic
, . We compute . Since has a double root at , and in , the polynomials share no factor of . A direct polynomial division confirms . Hence is non-catastrophic.
Its free Hamming distance, from standard tables or by enumerating error events of length , is .
$(6, 4)$ is catastrophic
, . Then , which is a factor of both. Hence the code is catastrophic.
Intuitively: the information bit shifted into the register at time 0 produces at time 0 and ... wait, actually this encoder has the issue that is a factor of both outputs, meaning a single input-zero symbol at time 0 (after which the shift register was in state ) produces zero output no matter what comes next โ which looks harmless until you realize a constant-all-one input followed by all-zero input produces a finite Hamming-weight output from an infinite Hamming-weight input.
ex-ch02-05
MediumThe 8-state 8-PSK TCM of Ungerboeck (1982 Table I) has (wait โ in the actual Table, it's listed as for the 8-state 8-PSK TCM). Using TLower Bound on Free Euclidean Distance via Partition Levels, explain which of the two bound terms is active for the 8-state code and why the value is not an integer multiple of .
โ try to decompose it as a sum of partition-level distances.
The dominant error event might span multiple time steps with varying coset positions.
Recall that also shows up if the error event includes a level-0 coset pair.
Parallel transitions give 4 (active for 4-state code)
The parallel-transition bound is . For the 4-state code this was the minimum; for the 8-state code, a longer error event becomes competitive.
Coset-sequence bound for 8-state code
The rate- convolutional code in the 8-state TCM has (improved from of the 4-state code). Hence the coset-sequence bound gives So the parallel-transition bound is still the active one โ but wait, Ungerboeck's table lists , not .
Resolution: the dominant event is not simply a parallel transition
The value arises because the 8-state code has no parallel transitions at its inner trellis โ its dominant error event is a length-3 coset-sequence event with total squared Euclidean distance . The "level-0" distance enters because the two competing paths at one time step differ within the same level-1 coset but at different points on the 8-PSK circle at angular separation .
Take-away: the simple lower bound of TLower Bound on Free Euclidean Distance via Partition Levels is not always tight โ refined analysis via the transfer-function bound is needed when parallel transitions are eliminated by the design.
ex-ch02-06
MediumDerive the asymptotic coding gain in dB of the 4-state 8-PSK TCM over uncoded QPSK at the same spectral efficiency (2 bit/symbol), using equal-energy normalization. Then compute the multiplicity correction assuming for the TCM and for the QPSK baseline, and report the effective BER-curve shift at .
Equal-energy 8-PSK has from the table; equal-energy QPSK has .
The union-bound prefactor contributes a shift of approximately multiplied by .
At BER , .
Asymptotic coding gain
, so dB.
Multiplicity correction
The union-bound form of the BER is At a fixed target , we have For uncoded, .
Using and : and .
Effective shift at 10^-6
Let and . Then: , so . , so .
Shift = dB. That is, the 4-state 8-PSK TCM saves about dB at BER relative to uncoded QPSK โ about dB short of the asymptotic dB, due to the extra multiplicity .
ex-ch02-07
MediumPerform one ACS step of Viterbi on the canonical 4-state 8-PSK TCM trellis (use the table in EOne ACS Step of Viterbi on the 4-State 8-PSK TCM) assuming path-metric input and received sample . Compute the four new path metrics .
First subset-decode the 4 level-2 cosets against .
For , the nearest point is (since ).
Then apply the transition table to compute the 2 candidates at each target state.
Subset-decode the four cosets
For :
- : nearest is ; .
- : distance to the first is ; to the second is . Nearest: ; .
- : distance to is ; to is . Nearest: ; .
- : to the second is . Nearest: ; .
So .
Apply the trellis table
Using the table from EOne ACS Step of Viterbi on the 4-State 8-PSK TCM:
- : from via (cand ) or via (cand ). .
- : from via (cand ) or via (cand ). .
- : from via (cand ) or via (cand ). .
- : from via (cand ) or via (cand ). .
Answer
. State is now the most likely end-state.
ex-ch02-08
MediumDerive the number of arithmetic operations per symbol for Viterbi decoding of an -state TCM with coded bits and parallel-transition multiplicity per edge. Count adds, compares, and in-coset distance evaluations separately. Evaluate for , , (i.e., the 16-state 16-QAM TCM).
Each of target states has incoming edges โ count candidate metrics.
Each edge requires one add; compares within a state are .
Distance evaluations: cosets each with in-coset candidates.
General formula
Per symbol:
- Distance evaluations: .
- ACS adds: .
- ACS compares: .
For $N_s = 16, \tilde{m} = 2, m - \tilde{m} = 1$
- Distance evaluations: .
- ACS adds: .
- ACS compares: .
Total: about arithmetic operations per symbol โ well within the reach of 1990s DSP chips at 10 Msps, and a trivial fraction of today's FPGA cycles.
ex-ch02-09
EasyA TCM code has (in some normalization) while the uncoded baseline at the same bit rate and same average symbol energy has . Compute the asymptotic coding gain in dB.
.
dB.
Apply the formula
, so dB. This would be an exceptional coding gain โ more typical of 4D TCM designs (V.34) than of plain 2D schemes.
ex-ch02-10
HardShow that the Ungerboeck design rules (R1)โ(R3) are sufficient for , but not necessary: construct a 4-state 8-PSK TCM that violates (R2) but still achieves . Discuss why such codes are rarely used.
Consider a 'rotated' labeling where outgoing edges from a state are not in the same level- coset.
The parallel-transition bound still gives , so the question is whether length- events have distance .
For a trellis where length-2 events use pairs of points at angular separation , compute their squared distance.
Construction
Label outgoing edges from state 0 with points and (angular separation , not in the same level-1 coset): this violates (R2). If we further arrange that all length-2 error events involve pairs at angular separation on both diverging and re-merging edges, the length-2 event has squared distance which is larger than . So is still attained from parallel transitions (R1 still holds).
Why such codes are rarely used
Two reasons:
- When , parallel transitions dominate for 4-state codes anyway, so violating (R2) does not help. (R2) only becomes active for larger- designs where length-2 events can be the bottleneck.
- For rotationally invariant designs (important for V.32/V.34 for carrier phase ambiguity resolution), (R2) is essentially forced by the symmetry group of the constellation. Violating (R2) makes the code non-rotationally-invariant and unusable for phase-ambiguous carrier recovery.
Conclusion: (R2) is not logically necessary, but it is engineeringly required once we go beyond 4-state codes and need rotational invariance.
ex-ch02-11
MediumSuppose we build a TCM scheme on 16-QAM with coded bits and a convolutional code with . Using the lower bound of TLower Bound on Free Euclidean Distance via Partition Levels and the 16-QAM distances from EUngerboeck Partition of 16-QAM, compute a lower bound on and the asymptotic coding gain over uncoded 8-PSK. (Work in the 16-QAM normalization.)
Level-1 MSED of 16-QAM is .
Level-3 MSED of 16-QAM is .
Compare to the 8-PSK baseline after rescaling to equal energy.
Apply the lower bound
Parallel-transition bound: . Hamming-distance bound: . Lower bound: . Balanced design.
Normalize to equal average energy
16-QAM in coordinates has . Rescale so : divide distances by 10. .
Unit-energy 8-PSK has .
Coding gain
, so dB. This would be a very strong 2D TCM, comparable to the best 64- or 128-state codes in Ungerboeck's Table II.
ex-ch02-12
HardConsider the rate-, convolutional code with generators . Draw its 4-state trellis, label the edges with the 2-bit output, and verify that by enumerating all error events of length .
; .
State = (last input, second-to-last input) = ; 4 possible states.
An error event diverges from state 00 and eventually remerges to state 00. Enumerate by increasing length.
Build the transition table
State . On input : Output with and : (mod 2), .
| State | Input 0 | Input 1 |
|---|---|---|
| 00 | (00, 00) | (10, 00) |
| 01 | (10, 01) | (00, 01) |
| 10 | (00, 10) | (10, 10) |
| 11 | (10, 11) | (00, 11) |
(Notation: (output, next-state).)
Enumerate error events
An error event is an input sequence starting with (diverge), with total input Hamming weight , whose first remerge to state 00 occurs at time (length event). Output Hamming weight equals the sum of output Hamming weights along the event.
-
Length 1: impossible (can't diverge and remerge in one step from state 00 with ).
-
Length 2: . Outputs: โ weight 1. Final state: 00. But wait, after starting from 00, the state path is . Outputs: = total weight . Actually, let me re-examine: after input , state goes with output (weight 1). After input , state goes with output (weight 0). Event length 2, .
Hmm โ but should be for any non-trivial code. Let me recheck. Actually for : , . Output of input : , . For input from state 00: outputs at : ; ; ; . Total weight over the error event that returns to state 00.
So . And this length-3 event is the minimum-weight event. Direct tables confirm .
Interpretation
The result plugs into the TCM bound: for unit-energy 8-PSK, which is larger than . So parallel transitions bound at 4 โ the 4-state 8-PSK TCM is parallel-transition-limited, which is why the 4-state code has only dB of gain: the weak link is the partition, not the convolutional code.
ex-ch02-13
EasyWhy does doubling the constellation size from to in TCM not cause bandwidth expansion, whereas a rate- binary code followed by a QPSK mapper does?
In TCM, the symbol rate stays the same; only the constellation becomes denser.
In binary-coded QPSK, the number of channel uses per information bit increases.
TCM
TCM transmits information bits per symbol via a -point constellation at rate symbols/s. Bandwidth consumed: Hz (actually after excess-BW factor). Same as uncoded -point at rate .
Binary-coded QPSK
A rate- binary code takes information bits and produces coded bits; each pair of coded bits maps to one QPSK symbol, so the scheme uses QPSK symbols per information bits โ bit rate = bits/s. But each QPSK symbol carries 2 bits, so without the rate- code we would get bits/s. To get the same bit rate with the coded scheme, we need to double the symbol rate โ i.e., double the bandwidth.
TCM avoids this by expanding the constellation (cheap โ no extra bandwidth) instead of the symbol rate (expensive). That's the whole slogan.
ex-ch02-14
HardProve that any 2D lattice-based constellation satisfies at every level of its Ungerboeck partition (exact doubling). Extend to -dimensional lattices and discuss why the exact doubling fails for non-lattice constellations like -PSK with .
Use the sublattice-index argument: a 2D sublattice of index 2 has exactly the nearest-neighbour distance.
In dimensions the factor is per split, but this applies only for lattices.
-PSK has a bounded curvature that prevents exact doubling.
2D lattice โ exact doubling
As in Exercise 2.3, an index-2 sublattice of a 2D lattice has nearest-neighbour squared distance exactly the parent. This is because the determinant of the lattice generator matrix squares as the index, and the nearest-neighbour distance is proportional to . Hence exact doubling.
$n$-D lattices
For an -dimensional lattice, an index- sublattice has -scaled nearest-neighbour distance โ for , . Hence . In 2D: . In 4D: . In 8D: . For V.34's 4D TCM this gives per level โ less than the 2D ratio but still useful, and 4D gives more partition levels per bit of code rate, compensating.
$M$-PSK failure
-PSK is not a lattice: it has curvature, and the chord between adjacent points is only approximately at small . The level-1 split gains more than a factor at level 0 (super-doubling from to ), but subsequent splits do double exactly (they are happening on a sublattice-like subset, since level-1 of 8-PSK is rotated QPSK, a lattice). Hence the "exact doubling" fails only at level 0 of -PSK partitions and holds exactly from level 1 onward.
ex-ch02-15
MediumA V.34 modem transmits at 33.6 kbit/s over a telephone line with kHz and . Shannon's formula gives the capacity . Compute: (a) the Shannon capacity; (b) the gap between V.34's actual rate and Shannon's capacity in dB of required SNR; (c) approximately what fraction of the gap comes from the 5 dB TCM coding gain vs. the 1 dB shaping gain vs. remaining residual loss.
Evaluate , so kbit/s.
The rate ratio corresponds to an SNR shift of about ... actually, use the capacity equation directly.
Shaping gain: dB still left on the table at V.34.
(a) Shannon capacity
kbit/s.
(b) SNR gap
V.34 achieves kbit/s at (35 dB). To achieve kbit/s at Shannon-optimal SNR: dB. Gap: dB.
(c) Decomposition
Without TCM and shaping, uncoded 16-QAM at 4 bit/symbol would sit about 9 dB worse than Shannon (the coded-modulation loss). V.34 recovers about 5 dB via TCM and 1 dB via shell-mapping shaping, leaving approximately which is close to the actual 1.3 dB gap once we also account for the dB extra benefit of the 4D (vs. 2D) trellis and some optimization of symbol rate. The "headline" answer: TCM contributes of the coding-plus-shaping gain; shaping contributes .
ex-ch02-16
MediumSuppose the Viterbi traceback depth of a 16-state TCM is set to . If the decoder output latency must be less than 3 ms, what is the minimum acceptable baud rate?
Latency = .
Solve for baud rate.
Apply the latency formula
. Hence kbaud.
Interpretation
At baud rates below kbaud (say, a high-frequency HF radio at kbaud), the Viterbi traceback latency exceeds 3 ms. At V.34's kbaud the latency would be ms โ well above our 3 ms budget. This is why V.34 uses a modest 16-state TCM () with only โ, yielding โ ms decoder latency โ acceptable for data, unacceptable for voice echoes (hence the separate voice-cancellation filter in V.34's echo-canceller section).
ex-ch02-17
HardShow that mapping by set partitioning and Gray mapping are different labelings of the same constellation, and that they give different structure under single-bit-flip error events. For QPSK labelled (Gray) vs. (set-partitioning), compute for each labeling the minimum Euclidean distance between two points that differ in exactly one bit position.
In Gray, adjacent points differ by 1 bit.
In Ungerboeck (set-partitioning), antipodal points differ by 1 bit.
Compute for each 1-bit-flip pair.
Gray labeling
Points: . Label: . 1-bit-flip pairs:
- Flip bit 0: , dist ; , dist . Min: .
- Flip bit 1: , dist ; , dist . Min: .
Gray min-flip distance = (adjacent QPSK points).
Ungerboeck (set-partitioning) labeling
Points: . Label: . 1-bit-flip pairs:
- Flip bit 0: , dist ; , dist . Min: .
- Flip bit 1: , dist ; , dist . Actually in Ungerboeck the high-order bit selects the antipodal pair: flip bit 1 at fixed bit 0 โ flip from coset to coset.
- Flip bit 0 (the low-order bit, within coset): , dist ; , dist . Min: .
- Flip bit 1 (the high-order bit, between cosets): , dist ; , dist .
Min-flip distance = for both labelings. In QPSK the difference is invisible because all non-identical pairs have distance or . The difference appears in larger constellations like 8-PSK, where Gray's 1-bit-flip pairs are adjacent (distance ) but Ungerboeck's 1-bit-flip pairs at the high-order bit are antipodal (distance ). This is the essential difference โ and it is what makes Ungerboeck's labeling optimal for trellis codes and Gray's labeling optimal for BICM.
Punchline
- Ungerboeck labeling maximizes the distance between points whose high-order bits differ โ useful when high-order bits are coded.
- Gray labeling minimizes the Hamming distance between geometric nearest-neighbours โ useful when bits are interleaved and each bit sees an independent binary channel (BICM).
ex-ch02-18
ChallengeDesign a 16-state 16-QAM TCM with , . You may pick any generator polynomials for the rate- convolutional code that satisfy: (i) non-catastrophic, (ii) minimum Hamming distance of the convolutional code , (iii) the Ungerboeck design rules (R1)โ(R3). Report your generators, the resulting , the lower bound on , and the asymptotic coding gain over uncoded 8-PSK.
Rate- codes are specified by a generator matrix of polynomials.
Refer to standard tables in Lin & Costello or Biglieri for rate- convolutional codes with large .
The 16-QAM partition distances are .
Pick generators
A standard rate- code from Biglieri's tables: , with . (Verify non-catastrophic via full rank of over .)
Lower bound on $d_{\rm free}^2$
Parallel-transition term: . Hamming-distance term: . Bound: . Parallel-transition limited (no gain from having ).
Coding gain
In unit-energy 16-QAM: . Unit-energy 8-PSK: . ; dB.
To break parallel transitions, one would need (3 coded bits, so the coset level is 4 โ but 16-QAM only has 4 levels, so this pushes to uncoded bits = 0 and all bits are coded). At and : rate- code with gives Hamming-term ; parallel-transition term = (singleton). So ; in unit energy ; gain dB. Actually worse than the design โ the Hamming term is now the bottleneck. This illustrates why 16-QAM TCM designs with and 16โ64 states are the sweet spot.
ex-ch02-19
EasyWhy is (the free Hamming distance) relevant to TCM design even though the decoder uses squared Euclidean distance as its metric?
Re-read the proof of TLower Bound on Free Euclidean Distance via Partition Levels.
The convolutional code determines how many coset positions differ between two code paths.
Connection
is a property of the binary convolutional code: it measures the minimum number of time steps at which two distinct code paths disagree. In the TCM trellis, each disagreeing time step contributes at least to the squared Euclidean distance between the two paths (because the two cosets are in different level-1 subsets, and the level-1 MSED is ). Hence for longer error events. The Hamming distance is the combinatorial enabler of the geometric distance bound.
So and are the two levers the designer has: the code provides the Hamming distance; the partition provides the per-position distance.
ex-ch02-20
MediumA student claims: "Ungerboeck's set-partitioning is just Gray mapping applied in reverse." Rebut this claim by giving two concrete differences in the labelings of 8-PSK and pointing to where each matters for system design.
Compare how the 1-bit-flip neighbors are distributed on the constellation.
Consider: high-order bit errors vs. low-order bit errors after single-symbol noise.
Difference 1 โ 1-bit-flip neighbors
- Gray: flipping any bit moves to a geometric nearest-neighbor (distance ). Hamming distance 1 corresponds to Euclidean distance always.
- Ungerboeck: flipping the highest-order bit moves to a farthest neighbor (distance at level 1). Hamming distance 1 on high-order bit corresponds to Euclidean distance .
This is not "Gray in reverse" โ Gray has a uniform 1-bit-to-distance relationship; Ungerboeck has a stratified one.
Difference 2 โ bit-error probability after AWGN
- Gray: a single-symbol error from noise typically corrupts exactly one bit (the low-order bit, the one that selects the nearest neighbor). Bit-error probability symbol-error probability. Minimizes BER for uncoded QAM.
- Ungerboeck: a single-symbol error from noise typically corrupts multiple bits (both the high-order and low-order bits if the noise crosses multiple partition boundaries). Bit-error probability is larger, but concentrated on specific bits that the code protects.
In BICM (Chapter 5), this difference is decisive: Gray is strictly better because each bit sees an independent binary channel with known crossover probability. In TCM, Ungerboeck is better because the code protects exactly those "exposed" high-order bits, and the resulting free Euclidean distance is maximized.
Bottom line: Gray is optimal for BICM and uncoded systems; Ungerboeck is optimal for TCM. They are not the same labeling in reverse โ they are solutions to different optimization problems.