Chap 5
Chap 5
500
B Cholesky Factorization 635
B.1 The Simple Arithmetic Approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 635
B.1.1 Direct Arithmetic Computation of Cholesky decomposition . . . . . . . . . . . . . 635
B.2 MMSE interpretation of Cholesky Factorization . . . . . . . . . . . . . . . . . . . . . . . . 637
501
Chapter 5
Transmit-signal spectrum optimization can simplify the receiver of QAM/PAM transmission systems
while sometimes allowing performance to approach the fundamental limit of capacity. Perhaps not
suprisingly, the optimized transmit spectrum is the same as with multichannel transmission in Chapter
4. However, the construction of the transmit symbol sequence is di↵erent, as is its phase. The spectrum,
symbol rate, and carrier frequency for each disjoint band in water-filling must independently carry a
separate transmit-optimized QAM (or PAM if baseband) signal for the best performance to be achieved.
Section 5.1 studies mutual information and innovations and then introduces the so-called “CDEF”
result that suggests that a minimal number of MMSE-DFEs with appropriate input selection can also be
a canonical transmission structure. Section 5.2 investigates some details in the implementation of such
a canonical structure and cautions against misinterpreting the CDEF result. Sections 5.3 investigates a
general matrix-block or cyclostationary-channel model and the associated canonical channel construction,
discovering the Generalized DFE. Section 5.4 then shows how the usual finite-length MMSE-DFE must be
altered to attain canonical performance levels, essentially reducing to a periodic set of DFE coefficients
with period equal to the packet length when the channel is stationary. Such a packet of symbols is
analogous to the block-of-samples symbol of Chapter 4’s multicarrier. There are an infinite number of
such periodic DFE structure’s that all have the same performance. A very special case of the periodic
packet DFE that re-uses the cyclic prefix of DMT leads to the Cyclic DFE of Section 5.4, from which
the relationship of GDFE transmission to multicarrier transmission becomes clear. Section 5.5 then
shows that Chapter 4’s Vector Coding, and in particular the special case of VC known as DMT, is the
simplest and most canonical form of the GDFE. Section 5.6 shows that as block lengths tend to infinity,
the CDFE tends to a minimum-number-of-members set of the usual DFEs of Chapter 3 if the channel
is stationary. Section 5.7 generalizes all equalization results to a block channel with block intersymbol
interference where no guard period is necessary and essentially unifies all the DFE theories into a very
general format and approach.
502
5.1 Information Theoretic Approach to Decision Feedback
Chapter 3’s signal-to-noise ratio and filter settings for the MMSE-Decision Feedback Equalizer also
follow from some basic information-theoretic results for Gaussian sequences. Annex A contains some
definitions of information measures that this chapter uses to establish said information-theoretic approach
to DFEs. Section 5.1.1 uses a few basic information measures of entropy and mutual information
for Gaussian sequences, particularly that MMSE estimation is fundamentally related to conditional
entropy for jointly Gaussian stationary sequences. Entropy is a generalization of data rate, while mutual
information represents a reduced data rate associated with the transport of a symbol sequence over a
distorted channel. Combination of the MMSE results with the information measures then simply relate
the “CDEF” result of decision feedback equalization in Section 5.1.2, which suggests that good codes
in combination with an appropriate (set of) DFE(s) can reliably allow the highest possible transmission
rates, even though the receiver is not MAP/ML. Such a result is surprising as equalization methods as
originally conceived are decidely suboptimal, but with care of the input spectrum choice can be made
to perform at e↵ectively optimum, or “canoncial” levels.
Entropy can be normalized to the number of real dimensions and complex random variables have the
same variance in both real and imaginary dimensions, which is 1/2 the value of the complex variance.
Thus, H̄x = 12 · log2 (2⇡eĒx ) whether x is real or complex. These results generalize to jointly N̄ -complex-
dimensional non-singular1 Gaussian random vectors (so N = 2N̄ real dimensions) as
and
?
Hx/y = log2 {(⇡e)N̄ |Rx /y |} (5.4)
? 1
respectively, where Rx /y = Rxx Rxy Ryy Ryx is the autocorrelation matrix of the error associated
with the vector MMSE estimate of x from y. As always R̄xx = N1 · Rxx . Again, per-dimensional
quanties are found by dividing by the number of real dimensions N = 2N̄ : H̄x = 12 log2 {(⇡e)|Rxx |1/N̄ }.
If x = x, i.e., a scalar, then Rxx = 2Ēx in the entropy formula with N̄ = 1 and all per-dimensional
results are consistent.2
1 The Guassian probability distribution for any singular dimension would essentially be independent with probability
1 and thus eliminate itself from the overall probability density in practical terms [factoring out 1], leaving only those
dimensions that are random, so the entropy in the singular case would simply be the entropy of the non-singular dimensions
or products of the non-zero eigenvalues of the matrix Rxx , which here is simply denoted as |Rxx |.
2 For the interested in alternative expressions (that provide the same entropy): If x is real, then Hx =
1
⇥ N |R
⇤
2
log 2 (2⇡e) xx | or
1 ⇥ ⇤
H̄x = log2 (2⇡e)N · |N R̄xx | (5.5)
2N
1 ⇥ ⇤
= log2 (2N ⇡e) · |R̄xx |1/N , (5.6)
2
503
For stationary Gaussian sequences, the chain rule of entropy allows computation of the entropy of
a Gaussian sequence. The chain rule for a Gaussian random vector x = [xk , xk 1 , ..., x0 ] is
k
X
Hx = Hxk /[xk 1 ,...,x0 ]
+ Hx k 1 /[xk 2 ,...,x0 ]
+ ... + Hx1 /x0 + Hx0 = Hxn /[xn 1 ,...,x0 ]
. (5.10)
n=0
(Hx0/ 1 = Hx0 .) The first k terms in the sum above are conditional entropies that each equal the
logarithm of ⇡e times the MMSE associated with prediction of a component of x based on its past
values. The entropy of a stationary Gaussian sequence is defined by the limit of the entropy of the
vector [xk , ..., x0 ], normalized to the number of dimensions:
k
1 X
HX(D) = lim Hxn /[xn 1 ,...,x0 ]
bits/complex dimension. (5.11)
k!1 k + 1
n=0
For an infinite-length stationary sequency, essentially all the terms in the sum above must be the same,
so
HX(D) = log2 [(⇡e)Sx ] , (5.12)
where Sx is the MMSE associated with computing xk from its past, which MMSE linear prediction can
be recognized as monic causal V (D) = A(D) · X(D) where A(D) = 1 + a1 D + a2 D2 + ... so the product
corresponds to vk = xk + a1 · xk 1 + a2 · xk 2 + ..... Then, the mean-square prediction error is E[|vk |2 ],
which is the time-zero value of the autocorrelation function
For Gaussian processes, the MMSE estimate is linear, and is best found by canonical factorization
(presuming the Paley-Wiener criterion is satisfied for the process) of its autocorrelation function:
as in Chapter 3, where Sx is a positive constant and Gx (D) is causal, monic, and minimum phase. The
time-zero value of Rvv (D) is then found as
which is minimized for monic causal choice of A when A(D) = 1/Gx (D). This MMSE linear prediction
filter is then shown in the lower filter in Figure 5.1. Sx is the MMSE. The output process V (D)
is generated by linear prediction, and is also Gaussian and called the innovations sequence. This
process carries the essential information for the process X(D), and X(D) can be generated causally
from V (D) by processing with Gx (D) to shape the power spectrum, alter the power/energy, but not
change the information content of the process, as in Figure 5.1. When X(D) is white (independent and
identically distributed over all time samples k), it equals its innovations.
The mutual information between two random variables x and y is
1 ⇥ ⇤
H̄x = log2 (⇡e)N̄ · |2N̄ · R̄xx | (5.7)
2N̄
1 ⇥ ⇤
= log2 (⇡e)N̄ · (2N̄ )N̄ · |R̄xx | (5.8)
2N̄
1 ⇥ ⇤
= log2 (2N̄ ⇡e) · |R̄xx |1/N̄ (5.9)
2
which also checks with the one dimensional formulae. When a complex vector is modeled as a doubly-dimensional real
vector, one can see the two formulae for normalized entropy are the same as they should be.
504
V (D ) Gx (D ) X (D)
Ex
Sx
X (D) 1
G x (D ) V (D )
Figure 5.1: Ilustration of Linear Prediction and relation to entropy for stationary Gaussian process.
!
Sx
= log2 2 = log2 (1 + SNRmmse,u ) (5.17)
x/y
= Hy Hy/x (5.18)
!
Sy
= log2 2 , (5.19)
y/x
showing a symmetry between x and y in estimation, related through the common SNR that characterizes
MMSE estimation,
Sx Sy
1 + SNRmmse,u = 2 = 2 . (5.20)
x/y y/x
2 2
Equation 5.17 uses the unbiased SNR. For an AWGN, y = x + n, Sy = Ex + = Ex + y/x . Since
2
SNR = Ēx / , then Equation 5.20 relates that
and thus
SNRmmse,u = SNR . (5.22)
Thus the unbiased SNR characterizing the forward direction of this AWGN channel is thus also equal to
the unbiased SNR (SNRmmse,u ) in estimating the backward channel of x given y, a fact well established
in Chapter 3. The result will extend to random vectors where the variance quantities are replaced by
determinants of covariance matrices as in the next subsection.
The entropy of a stationary Gaussian sequence is determined by the innovations process, or equivalently
its MMSE estimate given its past, thus (5.23) becomes
¯
I(X(D); Y (D)) = H̄xk /[xk H̄xk /Y (D),[xk (5.24)
1 ,...] 1 ,...]
505
xk
I [X (D),Y (D)]
+" +"
Y (D ) W (D) +" +" ek
#"
+"
X (D) 1 − B( D ) xˆ k
[xk −1xk −2... x−∞ ; Y ( D )]
Monic"causal"
Figure 5.2: MMSE estimation problem associated with I(X(D); Y (D)) – the same as the MMSE-DFE.
1 1 2
= · log2 (⇡eSx ) · logx (⇡e MMSE-DFE ) (5.25)
2 2
1
= · log2 (SNRmmse-dfe ) (5.26)
2
1
= · log2 (1 + SNRmmse-dfe,u ) . (5.27)
2
The main observation used in the last 3 steps above is that the conditional entropy of xk , given the entire
sequence Y (D) and the past of the sequence xk exactly depends upon the MMSE estimation problem
that the DFE solves. Thus the variance associated with the conditional entropy is then the MMSE of
the MMSE-DFE. This result was originally noted by four authors3 and is known as the CDEF result
(the CDEF result was actually proved by a more circuitous route than in this chapter, with the shorter
proof being first shown to the author by Dr. Charles Rohrs of Tellabs Research, Notre Dame, IN).
Lemma 5.1.1 (CDEF Result) The unbiased SNR of a MMSE-DFE is related to mutual
information for a linear ISI channel with additive white Gaussian noise in exactly the same
formula as the SNR of an ISI-free channel is related to the mutual information of that channel:
¯
SNRmmse-dfe,u = 22I 1 , (5.28)
where the mutual information I is computed assuming jointly Gaussian stationary X(D) and
Y (D), and only when the MMSE-DFE exists.
Proof: Follows development above in Equations (5.24)-(5.27).QED.
The CDEF result has stunning implications for transmission on the AWGN channel with linear ISI: It
essentially states that the suboptimum MMSE-DFE detector, when combined with the same good codes
that allow transmission at or near the highest data rates on the ISI-free channel (see Volume II, Chapter
8), will attain the highest possible data rates reliably. This result is the same as the infinite-dimensional
MT result of Chapter 4, so another equally good transmission system has apparently been found. In
all cases, the form of the mutual information used depends on Gaussian X(D). Since a Gaussian X(D)
never quite occurs in practice, all analysis is approximate to within the constraints of a finite non-zero
3 “MMSE DFE and Coding: Parts I and II,” IEEE Transactions on Communications, October 1995, pp. 2582-2604.
506
ISI) Unbiased)
xk Channel) MMSE-DFE)
zu' ,k
equivalent)to)
ek
SNR = 22 I − 1
+)
xk +) zu' ,k
+)
Figure 5.3: CDEF canonical equivalent AWGN channel to MMSE-DFE where codes with gap from
capacity on the AWGN channel can be re-used to have the same gap to capacity on the ISI channel.
!
SNRmmse-dfe,u
gap, > 0 dB as always in this Chapter, and one could write b̄ = 1
2 log2 1+ I¯
when the DFE exists. The equality holds when the gap is 0dB.
Figure 5.2 depicts the estimation problem associated with I(X(D); Y (D)). This particular inter-
pretation shows that the MMSE-DFE structure, when it exists, can be used to approach capacity with
! 0 dB with the same codes that are used to approach capacity on the AWGN. This implies the
MMSE-DFE could then be canonical, especially if the water-filling energy distribution were used by the
¯
transmitter to maximize I(X(D); Y (D)) to capacity.
Clearly then, the MMSE-DFE is canonical when it exists. The mutual information of a set of independent
parallel channels is the sum of the mutual information of each of the channels (see the Appendix). Thus,
all multichannel systems are canonical if partitioned so that subchannels are independent and free of
intersymbol-interference.
Theorem 5.1.1 (Canonical DMT/VC) For any and all block lengths and any input dis-
tribution of energy among the independent subchannels of DMT or VC, DMT and VC are
both canonical transmission systems.
Proof:. Follows trivial from sum of mutual information of the subchannels equals the mutual
information of the entire channel. QED.
Clearly, then MT and MM are also canonical as the infinite block-length limits of DMT and VC respec-
tively.
However, there are restrictions on the above result that were not made explicit to simplify the
developments. In particular, the designer must optimize the transmit filter for the MMSE-DFE to get
the highest mutual information, as in Chapter 4. This process can, and almost always does, lead to
507
Forward"channel" Backrward"channel"
N ' ( D) E (D )
X (D) Y (D)
R(D) +" W (D) +" X (D)
unrealizable filters. Happily, there are solutions, but the resulting structures are not the traditional
MMSE-DFE except in special cases. Sections 5.2 and 5.3 study the necessary modifications of the DFE
structure. Section 5.4 finds the exact mirror image(s) of DMT.
Definition 5.1.2 (Canonical Channel) A canonical channel is one in which the linear
function or matrix characterizing ISI ( or more generally cross-dimensional interference as
occurs from Sections 5.3 onward) is equal to the autocorrelation function (or matrix) of the
additive independent interference. Interference can be Gaussian noise, or some combination
of additive Gaussian noise and residual ISI.
Canonical channels can lead to canonical performance with the proper design of receiver. There are two
canonical channels of interest in this chapter:
The forward canonical model has
where N 0 (D) is the Gaussian noise at the output of the matched filter with autocorrelation function
N0 |!T
2 R(D). Thus the noise power spectral density and the channel filtering have the same shape R(e ).
The first term on the right in (5.29) is the MMSE estimate of Y (D) given X(D) and N 0 (D), the MMSE,
and X(D) are independent. The backward canonical model is
where (modulo scaling by kpk 1 ) W (D) is the MMSE-LE of Chapter 3 and where E(D) is the MMSE er-
ror sequence for the MMSE-LE. The first term on the right in (5.30) is the MMSE estimate of X(D) given
Y (D). The shape of the equalizer and the error-sequence’s power spectral density are both Ree (e |!T ),
since R̄ee (D) = N20 /{kpk2 · Q(D) + N20 /(Ex kpk2 )} = N20 · W (D). Canonical channels always exhibit a
response with the same shaping as the power spectral density of the additive Gaussian noise.
508
It is relatively simple to construct DFE’s from canonical models: For the forward model, the receiver
processes Y (D) by the inverse of the anticausal spectral factor of R(D) = (Sr · Gr (D) · G⇤r (D ⇤ ) to
obtain
Y (D)
= Gr (D) · X(D) + N 00 (D) (5.31)
Sr · G⇤r (D ⇤ )
where N 00 (D) is white Gaussian noise with energy per dimension N20 /Sr . Since Gr (D) is monic, causal,
and minimum-phase, a DFE can be readily implemented. This DFE is the ZF-DFE of Chapter 3. A
forward canonical model will always produce a ZF-DFE. The receiver is not optimum in general mainly
because the DFE is not optimum – furthermore, the suboptimum DFE implied is not of highest SNR
because the DFE is based on a model that is for the problem of estimating Y (D) from X(D). The DFE
from the backward model is the MMSE-DFE. Noting that
1 1
R(D) + = kpk2 · Q(D) + = 0 · kpk2 · G(D) · G⇤ (D ⇤ ) , (5.32)
SNR SNRmfb
Then also the action of the feedforward filter W (D) on the sampled matched-filter output Y (D) is
Y (D)
= G(D) · X(D) G(D) · E(D) = G(D) · X(D) E 0 (D) . (5.34)
S0 · G⇤ (D ⇤)
where E 0 (D) is the MMSE sequence associated with the MMSE-DFE and is white (and Gaussian when
X(D) is Gaussian) and has energy per dimension N20 /S0 . The extension of canonical models to the case
of finite-length packets allows a generalization of the DFE later in this chapter.
The forward and backward canonical channel models have the same mutual information between
input and output. In the backward model, Y (D) is considered the input, and X(D) is the corresponding
output, with E(D) as the noise. Both channels have the same maximum b̄ of I(X(D); ¯ Y (D)), and it
is the backward channel that describes the receiver’s action. The operation of decoding or slicing in
an actual receiver that uses previous decisions to remove the e↵ect of the causal monic Gr (D) or G(D)
through decision feedback in (5.33) or (5.34) is information lossy in general, confirming that DFE’s are
not optimum ML detectors. However, for the backward channel only, the SNRmmse-dfe,u is equal to
¯
22I(X(D);Y (D)) 1, which is the maximum SNR value for the additive white noise/distortion channel
created by the MMSE-DFE. Thus, the information loss in the MMSE-DFE does not cause a reduction in
achievable data rate and indeed a code with a given gap to capacity on the AWGN channel would be just
as close to the corresponding capacity for a bandlimited channel, even when the suboptimum-detector
MMSE-DFE is used. This characteristic occurs only for backward canonical models.
509
5.2 Construction of the Optimized DFE Input
The CDEF result shows a relationship between mutual information I(X(D); ¯ Y (D)) and SNRmmse-dfe,u
for an AWGN equivalent of the ISI-channel that is the same as the relationship between I(x; ¯ y) and SNR
for the (ISI-free) AWGN channel. Thus, those same good codes that bring performance to within gap
of capacity on the AWGN channel can then be applied (ignoring error propagation) to a MMSE-DFE
system to achieve the same gap from the ISI-channel’s capacity.
However, the MMSE-DFE so far has used an i.i.d. input sequence xk , which does not usually
¯
maximize I(X(D); ¯
Y (D)). Maximization of I(X(D); Y (D)) in Chapter 4 defines a best water-filling
(WF) spectrum. This WF power spectrum maximizes I(X(D); ¯ Y (D)). A designer might then assume
that construction of a transmit filter for the MMSE-DFE with the water-filling power-spectral density
¯
would then maximize SNRmmse-dfe,u = 22I(X(D);Y (D)) 1. This is correct if the measure of the water-
filling band is equal to the Nyquist bandwidth, i.e. |⌦⇤ | = 1/T , or equivalently, all frequencies (except a
countable number of infinitessimally narrow notches) must be used by water-filling. This rarely occurs
by accident4 , and so the designer must be careful in selecting the symbol rates and carrier frequencies
of a minimum-size set of QAM/MMSE-DFE channels that can be made almost equivalent5 .
It is important for the reader to distinguish coding, which here is restricted to mean the use of codes
like trellis codes, block codes, turbo codes, etc. (see Chapters 10 and 11) on an AWGN channel from the
concept of spectrum design (sometimes often also called “coding” in the literature in a more broad use of
the term “coding”). This chapter focuses on spectrum or input design and presumes use of good known
codes for the AWGN channel in addition to the designed spectrum. The two e↵ects are independent.
This chapter investigates the designed spectra or input to channels. Volume II investigates codes.
This section address optimization of the transmit signal, which involves optimization of the trans-
mit filter(s), symbol rate(s), and carrier frequency(ies). Subsection 5.2.1 begins with a review of the
discrete-time Paley-Wiener (PW) criterion, which is necessary for a canonical factorization to exist for a
random sequence’s power spectral density. With this PW criterion in mind, Subsection 5.2.2 maximizes
SNRmmse-dfe,u over the transmit filter to find a desired transmit power spectral density, which has a
water-fill shape when it exists. Subsections 5.2.3 then studies the choice of symbol rates, and possibly
carrier frequencies, for a continuous-time channel so that the PW criterion will always be satisfied. Such
optimization in these 3 subsections for di↵erent increasingly more general cases enables implementation
of a countable set realizable transmit filters in each disjoint continuous-time/frequency water-filling band
of nonzero measure. Subsection 5.2.5 culminates in the definition of the optimum MMSE-DFE, as a set
of MMSE-DFEs.
sketch of proof: The integral condition is trivial true when Rxx (D) = Sx · Gx (D) · G⇤x (D ⇤ )
is inserted with D = e |!T and the integral evaluated over one period to obtain ln(Sx ) < 1.
Conversely, if the integral is finite, then the integrand can be repeated into a Fourier series
of period T that has the same value of ln |Rxx (e|!T )| over all periods. The Fourier series
coefficients essentially then define Gx (D)’ coefficients. QED.
The factor Gx (D) is monic, causal, and minimum phase. There exists a white innovations process vk
with energy per sample Ev = Sx , and autocorrelation function Rvv (D) = Sx . The process X(D) can be
4 Some designers of single-carrier QAM systems often err in assuming it does occur by accident only to find their system
amount of loss.
510
constructed from V (D) according to
X(D) = V (D) · Gx (D) . (5.36)
Any process so constructed can be inverted to get the innovations process by (even when Gx (D) has
zeros on the unit circle or equivalently the spectrum has a countable number of “notches”)
X(D)
V (D) = (5.37)
Gx (D)
as shown in Figure 5.1. There is a causal and causually invertible relationship between X(D) and V (D)
that allows realizable synthesis or implementation of the filters relating the two random sequences.
Random sequences with power spectra that do not satisfy the PW criterion can not be so constructed
from a white innovations sequence. As shown in Subsection 5.1.1, the innovations sequence determines
the information content of the sequence. In data transmission, the innovations sequence is the message
sequence to be transmitted.
For the MMSE-DFE in Chapter 3, the sequence X(D) was white, and so equals its innovations,
X(D) = V (D).
EXAMPLE 5.2.1 (White Sequence) A real random sequence taking equiprobable val-
ues ±1 with Rxx (D) = Ex = 1 satisfies the Paley Wiener Criterion trivially and has in-
novations equal to itself X(D) = V (D), Gx (D) = 1. The entropy would also be H̄x = 1
for this binary sequence. As in Appendix A, if this sequence is instead Gaussian, then the
factorizations remain the same, but this entropy is H̄x = .5 log2 (2⇡ · e · Ēx ) bits/dimension,
and Hx = log2 (⇡ · e · Ex ) bits per symbol if this random sequence is complex. The spectrum
is shown in Figure 5.5(a).
EXAMPLE 5.2.2 (AMI Sequence) The AMI sequence is also discussed in Chapter 9 in
the area of partial-response channels. Here, it is sufficient to say that the encoder transmits
successive di↵erences of the actual channel inputs (this “encoder” can happen naturally on
channels that block DC so the encoder is in e↵ect the channel prior to the AWGN). This action
can be described or approximated by the D-transform 1 D. The consequent AMI sequence
then has Rxx (D) = 1D 1 +2 D clearly factors into Rxx (D) = 1·(1 D)(1 D 1 ) and thus
must satisfy the Paley Wiener Criterion. The innovations sequence is V (D) = X(D)/(1 D)
and has unit energy per sample.6 The energy per sample of X(D) is rxx,0 = 2. For the binary
case, the entropy is that of the input v(D), which is 1 bit/dimension if vk = ±1. For the
Gaussian case, the entropy is H̄x = .5 log2 (2⇡ · e · Ēx ) bits/dimension – the same entropoies
as in Example 5.2.1, even though the spectrum in Figure 5.5(b) is di↵erent.
The last example illustrates what is obvious or thought about linear prediction: the innovations never
has energy/sample greater than the sequence from which it is derived.
EXAMPLE 5.2.3 (Ideal Lowpass Process) A sequence with (⇣ < 1 is a positive con-
stant) ⇢
1 |!| < ⇣ T⇡
Rxx (e |!T ) = (5.38)
0 |!| ⇣ T⇡
does NOT satisfy the PW criterion and has power-spectral density shown in Figure 5.5(c).
This process cannot be realized by passing a white information sequence through a “brickwall
lowpass filter” because that filter is always noncausal even with aribtrarily large delay in
implementation. An approximation of such a filter with a causal filter, which would lead
to a slightly di↵erent power spectral density, could satisfy the PW criterion. The designer
might better consider a new sampling rate of ⇣/T , and the resulting new sampled random
sequence would then satisfy the PW criterion trivially as in Example 5.2.1, rather than incur
the complexity of such a filter.
6 This filter is marginally stable in that a pole is on the unit circle - however, the input to it has zero energy at this
location (DC).
511
S x (e − jωT ) = E x
ω
1 1
− 2T 2T
(a)$Example$5.2.1$
S x (e − jωT ) = 2 − 2 cos(ωT )
ω
1 1
− 2T 2T
(b)$Example$5.2.2$
S x (e − jωT ) = 1
ω
− 21T ζ ζ
1
2T
− 2T 2T
(c)$Example$5.2.3$
Figure 5.5: Illustration of two spectra that satisfy discrete PW in (a) and (b) while (c) does not satisfy
the PW criterion.
When optimizing a transmit complex transmit filter, an adjustment to the real basis function of
Chapter 2 needs to occur. The reader may recall that the QAM basis functions from Chapter 2 were of
the form:
r
2
'1 (t) = · '(t) · cos(!c t) (5.39)
T
r
2
'2 (t) = · '(t) · sin(!c t) , (5.40)
T
where '(t) was real. When optimizing in later sections of this chapter, a complex basis function with
orthogonal real and imaginary parts may result. QAM transmission may be generalized to complex basis
functions, when needed, by instead generalizing the two basis functions in (5.40) to:
r
2
'1 (t) = · 1 (t) · cos(!c t) (5.41)
T
r
2
'2 (t) = · 2 (t) · sin(!c t) , (5.42)
T
which correspond to a complex baseband transmit filter with
'(t) = 1 (t) +| 2 (t) , (5.43)
2 2
where 1 (t) + 2 (t) = 1 and have all energy below the frequency !c .
512
n(t )
yk zk
xk +" v̂k
vk φk p(t ) +" *
ϕ (− t )
p
wk +" dec"
1 &"
T
δ k − bk
density of X(D) thus produces a water-fill spectrum for the transmit filter, which presumably processes
a white (and “near-Gaussian”) message sequence.
Figure 5.6 shows the implementation of a transmitter that includes a digital filter k (with transform
(D)). This filter preceeds the modulator that converts the symbols at its output xk into the modulated
waveform x(t), typically QAM or PAM. The discrete-time filter input is vk , which now becomes the
message sequence. Recalling that q(t) = p(t) ⇤ p⇤ ( t)/kpk2 , the mutual information or maximum data
rate from Section 4.4.3 is
Z ⇡/T !
¯ T kpk2 · Ēv |!T 2 |!T
I(X(D); Y (D)) = log2 N0
· | (e )| · Q(e ) + 1 d! . (5.44)
2⇡ ⇡/T 2
The transmit energy constraint is the = 0dB-sum of data rates on an infinite number of infinitessimally
small tones: Z ⇡/T
T
Ēv · | (e |!T )|2 d! = Ēx . (5.45)
2⇡ ⇡/T
¯
The maximization of I(X(D); Y (D)) is then achieved by classic water fill solution in
N0
|!T
| (e )|2 + 2
=K . (5.46)
Ēv · kpk2 · Q(e |!T )
513
H (ω )
Water&filling,
band/energy,
1 1
ω
0
Ω − *
2T 2T * Ω
*
Ω
Figure 5.7: Illustration of water-filling and transmit optimization for real baseband lowpass channel.
where Sx (!) is the transmit power spectral density with total power constraint
Z
1
Px = Sx (!)d! (5.51)
2⇡ ⌦⇤
and g(!) (in the continuous-time case) includes the e↵ects of any continuous-time transmit filtering.
The continuous water-filling solution is
0 1
Sx (!) = , (5.52)
g(!)
where 0 is determined from the power constraint in (5.51). Clearly this continuous capacity in bits per
second determines an upper attainable bound on the capacity of any discrete time approximation with
symbol rate 1/T . The next 3 subsections investigate the determination of best symbol rate(s) and best
corresponding carrier frequencies.
5.2.3 The baseband lowpass channel with a single contiguous water-fill band
The baseband lowpass channel has the transfer characteristic of Figure 5.7. The continuous-time waterfill
band ⌦⇤ is also shown. Clearly sampling of this channel at any rate exceeding 1/T ⇤ = |⌦⇤ | should produce
a discrete-time channel with capacity in bits/dimension
where the explicit dependency of C̄ on choice of symbol period T is shown in the argument C̄(T ). When
the channel is complex, then the relation is C̄(T < T ⇤ ) = C · T /2. The capacity in bits/second remains
constant while the capacity in bits per symbol decreases with increasing symbol rate to maintain the
constant value C = C(T ¯ )/T . At symbol rates below 1/T < 1/T ⇤ = |⌦⇤ |, capacity C may not be (and
usually is not) achieved so
C̄(T > T ⇤ ) C · T . (5.54)
To achieve the highest data rates on this lowpass channel with good codes, the designer would like to
choose 1/T 1/T ⇤ . However, the transmit filter is not realizable unless 1/T = 1/T ⇤ , so there is an
optimum symbol rate 1/T ⇤ for which
⇤
SNRmmse-dfe,u (T ⇤ ) = 22CT 1 . (5.55)
514
n(t ) SNRMMSE − DFE ,u = 10.2 dB
water&fill&
D& x(t ) A&
xk A& h(t ) +& D& W (D) +& SBS& x̂k
C& Ex C&
.88π
1
Figure 5.8: Block diagram of optimized DFE system for the 1 + .9D channel.
At this symbol rate only can the MMSE-DFE can achieve the best possible performance and indeed
canonically match the MT (or DMT/VC) performance levels of Chapter 4. This example correctly
suggests that an ideal symbol rate exists for each channel with “PAM/QAM-like” transmission and a
MMSE-DFE receiver. For DMT/VC, any sampling rate 1/T 0 1/T ⇤ is feasible for implementation, but
only 1/T ⇤ is feasible for the MMSE-DFE approach.
For rates below capacity where a code with gap > 1 is used, the continuous-time water-filling can
be solved with the transmit power Px reduced by . This would produce a slightly lower7 optimum
symbol rate 1/T ⇤ 1/T ⇤ . This slightly lower symbol rate should then be used for transmission with
gap , and the bit rate of the MMSE-DFE system would be
!
b̄ 1 SNRmmse-dfe,u (T ⇤ )
R= ⇤ = log 2 1 + . (5.56)
T 2T ⇤
Two examples are provided to illustrate the e↵ects and terminology of symbol-rate optimization:
EXAMPLE 5.2.4 (1 + .9D 1 channel) The 1 + .9D 1 ISI-channel has been revisited of-
ten, and is again revisted here with Ēx kpk2 / N20 =10 dB. This channel corresponds to the real
baseband lowpass channel discussed above. The capacity in bits per real sample/dimension
has been previously found in Example 4.4.1 to be C(T = 1) = 1.55 bits/dimension, so
that C = 1.55 bits/second with T = 1. This capacity corresponds to an overall MM SNR
of 8.8 dB, but could not be directly realized with a MMSE-DFE, which instead had an
SNRmmse-dfe,u = 8.4 dB at the symbol rate of 1/T = 1. The optimum water-fill band has
width |⌦⇤ | = .88⇡ (positive frequencies). Then, the optimum symbol rate is
Thus, the capacity in bits/dimension for the system with optimum symbol rate is
1.55
C̄(T ⇤ ) = = 1.76 bits/dimension . (5.58)
.88
The resultant SNR is then
This optimum MMSE-DFE at this new symbol rate is the only MMSE-DFE that can match
the MT system of Chapter 4 in performance (if there is no loss from error propagation or
precoding). The SNRmfb of 10 dB in previous invocations of this example is no longer
a bound unless the symbol rate is 1/T = 1 since that bound was derived for T = 1 and
7 Less water to pour means more, or same, narrow water-fill band always.
515
H(f)%
f%
&.5$ &.25$ .25$ .5$
.0$
needs rederivation if another symbol rate is used. For verfication, the capacity in bits/second
is consistently at both sampling rates, but 1/T ⇤ = .88 can be realized8 . The capacity in
bits/second remains
.88 1
C= log2 (1 + 101.02 ) = log2 (1 + 10.88 ) = 1.55 bits/second . (5.60)
2 2
EXAMPLE 5.2.5 (The “half-band” ideal lowpass channel) A brickwall lowpass chan-
nel has cut-o↵ frequency .25 Hz as shown in Figure 5.9. Clearly the water-filling bandwidth
is ⌦⇤ = 2⇡( .25, .25). The capacity is given as C = 2 bits per second for this channel. Thus,
at T ⇤ = 2, then C̄(T ⇤ ) = 4 bits/dimension. By the CDEF result, a MMSE-DFE with this
symbol rate will have performance given by SNRmmse-dfe,u (T ⇤ = 2) = 22·4 1 ⇡ 24 dB.
The MMSE-DFE in this case is clearly trivial and the equalized channel is equivalent to the
original ISI-free channel at this symbol rate.
Suppose instead, a designer not knowing (or not being able to know for instance in broadcast
or one-directional transmission) the channel’s Fourier transform or shape instead used T = 1
for a DFE with flat transmit energy. While clearly this is a poor choice, one could easily
envision situations that approximate this situation in applications with variable channels.
An immediate loss that is obvious is the 3 dB loss in received energy that is outside the
passband of the channel, which in PAM/QAM is equivalent to roughly to .5 bit/dimension
loss. This represents an upper bound SNR for the MMSE-DFE performance.9 The mutual
information (which is now less than capacity) is approximately then
¯ ⇤
¯ = 1) ⇡ I(T = 2)
I(T
.5
=
3.5
= 1.75 bits/dimension . (5.61)
2 2
¯ ⇤ = 2) .5 = 1 log2 (1 + SNR ) = 3.5 approx-
The .5 bit/dimension loss in the numerator I(T 2 2
imates the 3 dB loss of channel-output energy caused by the channel response. Clearly, the
channel has severe ISI when T = 1, but the CDEF result easily allows the computation of
the MMSE-DFE SNR according to
The equalized system with T = 1 is equivalent to an AWGN with SNR=10.1 dB, although
not so trivially and with long equalization filters in this T = 1 case, because ISI will be
severe.
8 At the optimum symbol rate, Ē
x = 1/.88, kpk2 = 1.81/.88, and the noise per sample increases by 1/.88. Thus,
SNRmfb (.88) = 10.6 dB.
9 In fact, this upper bound can be very closely achieved for very long filters in MMSE-DFE design, which could be
verified by DFE design for instance according to the DFE program in Chapter 3.
516
Γ!=!7!dB!
Γ!=!0!dB!
Figure 5.10: Margin di↵erence (improvement) for optimized transmission over unoptimized MMSE-DFE
on a “half-band” channel.
The system with T = 1 then attempts to transmit some b̄(T = 1) with an SNR of 10.1 dB,
while the optimized system transmits b̄(T ⇤ = 2) = 2b̄(T = 1) with SNR of 24 dB. The margin
as a function of b̄(T = 1) fis then
✓ 2·1.75 ◆ h i
2 1 2b̄(T =1)
m (T = 1) = 10 · log10 = 10.1 dB 10 · log 10 2 1 . (5.63)
22b̄(T =1) 1
For T ⇤ = 2, the corresponding margin (basically against an increase in the flat noise floor) is
✓ ◆ h i
⇤ 22·2 1
m (T = 2) = 10 · log 10 2 b̄(T ⇤ =2)
= 24 dB 10 · log10 24b̄(T =1) 1 . (5.64)
2 1
The ratio of the margins for T = 1 and T ⇤ = 2 is then plotted in Figure 5.10 as a function of
the number of bits per dimension. The di↵erence decreases as the systems approach capacity,
meaning codes with smaller gap are used, but is always nonzero in this case because the
system with T = 1 essentially “wastes 3 dB (a factor of 2) of bandwidth.” Indeed, it is not
possible for the T = 1 system to transmit beyond 1.75 bits/second and is thus at best 3 dB
worse than the T ⇤ = 2 system because half the energy is wasted on a channel band that
cannot pass signal energy. One could infer that at fixed Pe , the gap decreases with increasing
b̄(T = 1) on the horizontal access until the = 0 dB limit is reached at 1.75 bps.
Some designers might attempt transmission with a low-pass filter to correct the situation,
thus regaining some of the minimum 3 dB energy loss when = 0 dB. As the transmit
filter becomes more tight, it becomes difficult to implement - in the limit, such a filter is not
realizable because it does not meet the PW criterion. However, leaving T = 1, no matter
how complex the transmit filter, forces ISI and makes both transmitter and receiver very
complex with respect to using the correct T ⇤ = 2. As the gap increases, the performance
517
H (ω )
Water"filling(
band/energy(
f c* ω
Ω Ω *
Ω
2
H bb (ω )
bb"equiv(
water"filling(
1 1 ω
Ω −
2T *
0
2T *
Ω
Ω*
2
Figure 5.11: Illustration of water-filling and transmit optimization for (“complex”) passband channel.
518
fied.10 Thus, for the MMSE-DFE on a passband channel, the carrier frequency must be centered in the
water-filling band and the symbol rate is chosen to be the measure of the resulting (postive-frequency
for passband case) continuous-time water-filling band. Again, a gap > 0 dB causes a slight decrease
in the water-fill band’s measure and will also alter the carrier/center frequency slightly (unless the band
is conjugate symmetric with respect to the choice of carrier/center frequency).
5.2.5 The general multiple band case and the Optimum MMSE-DFE
Examples 5.7 and 5.11 were overly simple in that a single band of transmission was presumed. On ISI
channels that exhibit notches (i.e., multipath fading or bridged-taps, multiple antennas, etc.) and/or
band-selective noise (crosstalk, RF noise, etc.), ⌦⇤ may consist of many bands. This subsection addresses
these more practical cases to find a minimal set of MMSE-DFEs that can be analyzed as a single system.
Practical ISI-channels often have water-filling solutions that consist of a countable number of band-
pass (and perhaps one lowpass) water-fill frequency bands, which have nonzero transmit energy over a
continuous set of frequencies within each band. To satisfy the PW criterion, the MMSE-DFE then must
become multiple MMSE-DFE’s, each with its own independent water-filling solution. This situation
appears in Figure 5.12 for 3 disjoint water-fill regions. Correspondingly, there would be 3 MMSE-DFE’s
each operating at an SNRmmse-dfe,u for its band and at a data rate Ri for each band.
An overall SNR can be computed in this case of multiple bands. An overall symbol rate, presuming
carriers centered in each band, is defined
M
X 1
1
= , (5.65)
T ⇤ T̄ ⇤
i=1 i
where T̄i⇤ = (1 or 2) · Ti⇤ for complex passband and real baseband respectively. The SNR in each band
is SNRi (Ti⇤ ). Each band has data rate
✓ ◆
1 SNRi (Ti⇤ )
Ri = ⇤ · log2 1 + . (5.66)
T̄i
10 Note Carrierless AMPM (CAP) systems of Chapter 1 do not use a carrier, but have a “center” frequency. The optimum
center frequency is computed exactly the same way as the optimum carrier frequency in this subsection.
519
H (ω )
Water&filling, WF,3,
WF,2,
band/energy,1,
Figure 5.12: Illustration of water-filling and transmit optimization for a general channel with more than
one passband.
and !
1 SNR⇤mmse-dfe,u
⇤
b̄ = · log2 1+ bits/dimension . (5.74)
2
When all symbol rates and carrier frequencies are optimized, clearly this SNR is equivalent to MM
and MT systems of Chapter 4 because the rates/capacities for each water-filling band are the same.
However, the MMSE-DFE now is often many MMSE-DFE’s, and each has a distinct variable carrier
frequency and symbol rate. The reader is cautioned against the statements often encountered by as-yet-
uninformed engineers who misinterpret the CDEF result to mean that a “single-carrier system performs
the same as a multicarrier system” – misquoting the CDEF result. Such a statement is only true in the
simplest cases where a single water-fill band is optimum, and the symbol rate and carrier frequencies
have been precisely chosen as a function of the specific channel’s water-filling solution and coding gap.
520
Otherwise, multicarrier will outperform single carrier – and further, single carrier can never outperform
multicarrier.
A final simplified VDSL example provided to illustrate both proper design and a performance loss
that might be incurred when designers try “to simplify” by only using one fixed band.
EXAMPLE 5.2.7 (Simple VDSL and lost “dead” bands) Figure 5.13 illustrates equiv-
alent transmitters based on a multitone design of 8 equal bandwidth modulators. All tones
are presumed passband uncoded QAM with gap = 8.8dB. This system choses symbol rates
to approximate what might happen on a short telephone line of 1 km in length, and is sim-
plified with respect to what actually happens in practice (where more than 2 bands might
occur in water-filling). The transmit filter for each band is denoted by Hn (f ) in set A and
Gn (f ) in set B. The gn ’s for these example subchannels are given in the table below.
Application of water-filling with 11 units of energy produces channel SNR’s that appear in
the following table for a Gap of = 8.8dB and a water-filling constant of 0 = 2:
n gn En bn
1 15.2 1.50 2
2 30.3 1.75 3
3 121.4 1.9375 5
4 242.7 1.97 6
5 2 0 0
6 60.7 1.875 4
7 242.7 1.97 6
8 2 0 0
Channel characteristics are such in this system that the optimum bandwidth use is only 6
of the 8 subchannels. 4 of the used bands (set A) are adjacent and another 2 of the bands
(set B) are also adjacent. Sets A and B, however, are separated by an unused band. That
unused band might be for example caused by a radio interference or perhaps notching from
a bridged-tap, and its position is likely to vary depending on the line. The corresponding
receiver is shown in Figure 5.14.
First Multitone Design:
The tones in Set A can carry (2b̄n =) 2, 3, 5, and 6 bits respectively corresponding to
increasing signal-to-noise ratios in the corresponding channel, while the two bands in Set B
can carry 4 and 6 bits respectively. The unused bands carry 0 bits. The average number
of bits per tone in Set A is 4 while the average number in Set B is 5. If the symbol rate
for each subchannel is 1 MHz, then the data rate is (2+3+5+6+4+6) bits transmitted one
million times per second for a total data rate of 26 Mbps. Equivalently, from Equation
(5.65), the overall symbol rate is 1/T ⇤ = 6 MHz, and there are thus b̄(1/T ⇤ = 6MHz) =
26 Mbps
2(1/T ⇤ ) = 26/[2(6)] = 2.16 bits/dim or 4.33 bits per equivalent tone. For an uncoded-
= 8.8dB multitone system b̄(1/T 0 = 8MHz) = 26/16 = 1.625. This rate is equivalent to
521
!FMT!(or!DMT)!TransmiOer!
2!bits! X!1,k! ↑!!!8! φ 1,m!
3!bits! X!2,k! ↑!!!8! φ 2,m! Symbol!rate!=!1!MHz!
Data!rate!=!26!!Mbps!
5!bits! X!3,k! ↑!!!8! φ 3,m!
Modulated!
6!bits! X!4,k! ↑!!!8! φ 4,m! +! signal!
0!bits!
Correct!Equivalent!QAM!TransmiOer! 1
= 4 MHz
T1*
2b1 = 4 (16 QAM)
4!bits,!4!Gmes! Ak! ! ↑!!!2! φ A,m!
R1 = 16 Mbps
0!bits!
Modulated!
5!bits,!2!Gmes! B!k! ↑!!!4!
φ B,m! +! signal!
1
= 6 MHz
0!bits!
1 T*
= 2 MHz
T2*
2b = 4.33
2b2 = 5 (32CR QAM)
R = 26 Mbps
R2 = 10 Mbps
Figure 5.13: Simplified VDSL example multitone and equivalent 2-channel transmitters.
522
b̄(1/T ⇤ = 6MHz) = 2.16 since both correspond to the same overall data rate of 26 Mbps.
The SNR at a symbol rate of 1/T = 8 MHz is
n h io
SNRmt (1/T 0 = 8MHz) = 10 · log10 · 22(1.625) 1 = 18.1dB . (5.76)
The two SNRs are di↵erent because the symbol rates are di↵erent, but both correspond to a
Pe = 10 6 at the data rate of 26 Mbps with gap 8.8 dB (same code).
2nd Design: Equalivalent Two-tone QAM Design:
The corresponding best QAM receiver uses the same bands and is actually 2 QAM systems
in this example. The first system has a symbol rate of 1/T1⇤ = 4 MHz and carries 4 bits per
QAM symbol (16 QAM) for a data rate of 16 Mbps. By the CDEF result, the MMSE-DFE
receiver has an SNR of SNRdf e,1 (1/T1⇤ = 4MHz) = · (24 1)=20.6 dB. The second system
has symbol rate 1/T2⇤ = 2 MHz, and 5 bits per QAM symbol, which corresponds to 10 Mbps
and SNRdf e,2 (1/T2⇤ = 2MHz) = · (25 1)=23.7 dB. The total data rate of 26 Mbps is the
same as the DMT system in the first design. The two systems (DMT or two-tone QAM)
carry the same data rate of 26 Mbps with a probability of symbol error of 10 6 .
Correct design thus finds a 2-band equivalent of the original 8-tone MT system, but absolutely
depends on the use of the 2 separate QAM signals in the lower portions of Figures 5.13 and
5.14.
3rd Design - single-tone QAM designer:
Some designers might instead desire to see the loss of the single-band DFE system. The single-
band (with 1/T = 8 MHz) QAM system with MMSE-DFE then uses 2Ēx = 11/8 = 1.375 at
all frequencies and thus has
8" 9
< Y 8 ✓ ◆#1/8 =
1.375 · gn
SNRdf e,f lat = · 1+ 1 (5.78)
: ;
n=1
= 17dB (5.79)
which is about 1.1 dB below the multitone result. If Tomlinson Precoding was used at the
b̄ = 1.625, the loss is another .4 dB, so this is about 1.5 dB below the multitone result in
practice. This 1/T = 8 MHz single-tone QAM does then perform below MT because two
separate QAM/DFE systems are required to match MT performance.
As a continued example, this same transmission system is now applied to a longer line
for which the upper frequencies are more greatly attenuated and g6 = g7 2, essentially
zeroing the water-fill energy in band B. The multitone system might attempt 16 Mbps data
rate. Such a system could reload the 1.875+1.97 units of energy on tones 6 and 7 to the
lower-frequency tones, and the new SNRmt will be 14.7 dB, which is a margin of 1.2 dB
with respect to 16 Mbps (2b̄ = 2 requires 13.5 dB). A new computation of the single-tone
(1/T = 8 MHz) SNR according to (5.78), which now has only 4 terms in the product provides
SNRDF E (1/T = 8MHz) = 12.8 dB that corresponds for the same data rate of 16 Mbps to
a margin of -.7 dB ( = SNR ·22 1 ). The MT system (even without perfect loading here,
DF E
because the margin-adaptive scheme was not used and the design instead approximated by
boosting all the remaining tones equally) is 1.9 dB better. Furthermore, precoder loss would
be 1.3 dB for a Tomlinson or Laroia precoder, leading to a 3.2 dB di↵erence. Thus there is
always a loss when the single-band system is used, and the amount of loss increases with the
inaccuracy of the symbol-rate with respect to best symbol rate.
Since the margin of the QAM system is negative on the long line, the practice in industry
is to “design for the worst case” long line, which means a better symbol rate choice would
523
Mul5tone!R
! eceiver!
φ 1,%m! ↓!!!8! Y!1,k! 2!bits !
φ 2,%m! ↓!!!8! Y!2,k! 3!bits !
0!bits !
φ 6,%m! ↓!!!8! Y!6,k! 4!bits!
Equivalent!QAM!Receiver!
!
φ A,%m! ↓!!!2!
feedforward
filter ! +! dec! Ak!! 4!bits,!4!5mes
Symbol!rate!=!4!MHz!
!
feedback ! ! !
Data!rate!=!16!Mbps
filter !
! !
Total!Data!rate!=!26!Mbps
0!bits !
!
φ B,%m! ↓!!!4!
feedforward
!
filter +! dec! B!k! 5!bits,!2!5mes !
! !
Symbol!rate!=!2!MHz
feedback
!
filter
! !
Data!rate!=!10!Mbps
0!bits !
Figure 5.14: Simplified VDSL example multitone and equivalent 2-channel receivers.
524
be 4 MHz. In this case, on the long line, both MT and QAM at 16 Mbps would have the
SNR of the A band, 20.6 dB, increased by (11/(11-1.97-1.875) = 1.86 dB) to 22.5 dB and a
margin of 1.86 dB at 10 6 probability of error with = 8.8 dB. However, if the short line
with bands A AND ALSO B is now again encountered, the 4 MHz-worst-case-designed QAM
system will remain at 1.86 dB margin at 16 Mbps. The MT system margin at 16 Mbps now
improves to (Equation 4.7 in Chapter 4)
¯
22bmax 1 23 .25 1
mt = = = 4.5dB (5.80)
22b̄ 1 22 1
or a 2.6 dB improvement in margin over the 1.9 dB margin of the QAM system.
As the used-bandwidth error grows, the loss of a single-band DFE increases, but is hard to
illustrate with small numbers of tones. In DSL, used bandwidth ratios can easily vary by a
factor of 10 on di↵erent lines, increasing the deviation (but not easily depicted with a few
tones) between MT systems and DFE systems that use a fixed bandwidth (or single tone). For
instance, if only tone 4 were able to carry data that the best rate-adaptive solution is about
8.5 Mbps, while the full-band single-QAM DFE would attain only 420 kbps, and performs
approximately 7 dB worse (be careful to avoid gap approximation margin calculations when
number of bits per dimension is less than 1).
For real channels, independent test laboratories hosted a “VDSL” Olympics in 2003 for
comparing DMT systems with variable-symbol-rate QAM systems. The test laboratories
were neutral and wanted to ascertain whether a single-carrier system (so only one contiguous
band that could be optimized and placed anywhere) really could “get the same performance
as DMT” – an abuse of the CDEF result then misunderstood and promulgated by single-
carrier proponents). The results and channels appear in Figures 5.15 and 5.16 respectively.
Clearly these fixed-margin (6 dB) tests for length of copper twisted pair at the data rate shown
indicate that over a wider range of difficult channels as in DSL, the di↵erences between DMT
and single-carrier can be quite large. Generally speaking, the more difficult the channel, the
greater the di↵erence.
This section has shown that proper optimization of the MMSE-DFE may lead to several MMSE-DFEs
on channels with severe ISI, but that with such a minimum-size set, and properly optimized symbol
rate and carrier frequency for the corresponding transmitter of each such MMSE-DFE, determines a
canonical transmission system, then matching the DMT/VC like systems of Chapter 4. One then begins
to question which might be best used if both are canonical. That question requires investigation of
finite-length (finite N ) designs and focuses on complexity. Sections 5.3 and beyond investigate this area
as well as generalize the MMSE-DFE and DMT/VC into a very general type of interference channel.
The reader will see that the DMT system is not only canonical, but also optimal, and indeed has the
least complexity (using FFTs) of any of the systems if it is properly designed at the same performance
level.
and then water-filling of course always uses the entire band of transmission. Thus Price accidentally considered only one
transmission band that was this entire band. Of course, trivially, ZF and MMSE are the same when there is no noise –
this is hardly surprising, and Price erroneously arrived at a result resembling CDFE that is correct only when there is zero
noise. This is sometimes referred to as “Price’s result,” but it is clearly Price did not understand many of the fundamental
issues and concepts at the time of his conclusion.
525
Variable(fc(and(1/T(single2carrier(QAM(results(
DMT(results(–(exact(same(channels(as(QAM(
526
Figure 5.16: Channel types and speeds for 2003 VDSL Olympics.
527
proof: This proof uses continuous bands, presuming the condition for choice of optimum sam-
pling rate(s) and carrier frequencies have already been made so that all frequencies are used
with non-zero energy (except possibly for countable set of infinitessimally narrow notches) –
that is the PW criterion is satisfied. The power spectrum for an ISI channel for which the
symbol/sampling rate has been altered for exact match to one (any) water-filling band 1/T ⇤
that must satisfy
2
Ēx | (!)|2 + =K (5.81)
|H̃(!)|2
for all frequencies ! in the band (zeros are only allowed at infinitesimally narrow notch points,
so resampling is necessarily to avoid singularity). H̃ represents the equivalent-white-noise
channel H̃ = pH . The MMSE-DFE fundamentally is determined by canonical factorization,
S̄n
which in the frequency domain has magnitudes related by
0
Ēx | (!)|2 · |H(!)|2 + 2
= · |G(!)|2 . (5.82)
kpk2
Insertion of (5.81) into (5.82) yields
0
K · |H(!)|2 = · |G(!)|2 , (5.83)
kpk2
illustrating a very unusual event that the overall equivalent channel has the same shape as
the channel itself. This happens when the input is water-filling. Thus, since the shape of
H and G are the same, they di↵er only by an all-pass (phase-only) filter. Equivalently,
the receiver’s MS-WMF is essentially ⇤ times an all-pass filter. Such an all-pass can be
implemented at the transmitter without increasing the transmit energy, leaving only the filter
1/2
S̄n · ⇤ in the receiver. Such an all-pass phase shift never changes the performance of the
DFE (or any infinite-length equalizer). The receiver’s remaining noise whitening filter and
matched-filter-to-transmit-water-fill filter constitute the entire MS-WMF, perhaps resulting
in an opportunity to reduce receiver complexity. The MMSE-DFE has slightly non-unity gain
SNRmmse-dfe,u
through the feed-forward filter and the overall channel gain is SNR , which is
mmse-dfe,u +1
removed by anti-bias scaling. However, ignoring the bias removal and consequent e↵ect on
signal and error sequence, water-filling creates an equivalent overall channel that has the
same shaping of signal as the original channel would have had. That is the signal (ignoring
bias in error) has the same minimum-phase equivalent ISI as the original channel would have,
or equivalently as a ZF-DFE would have generated. QED.
The MMSE-DFE however does have a lower MMSE and better SNR, even after bias removal. The
di↵erence in SNR is solely a function of the error signal and scaling. The ZF-DFE has white noise and
no bias. The MMSE-DFE with water-filling has the same minimum-phase shaping, that is achieved by
filtering the signal, reducing noise power, but then ensuring that the components of the error (including
bias) add in a way that the original channel reappears as a result of all the filtering.
The minimum-phase equivalent of the channel alone H is equal to G via Equation (5.83). However
Pc (D), the canonical equivalent of the pulse response · H (which includes the water-filling shaping)
is not the same unless water-filling shape is the special case of being flat. The precoder settings or
equivalently unbiased feedback-section settings are not necessarily determined by G, but by Gu . Gu
di↵ers from the minimum-phase channel equivalent.
Thus, the MMSE-DFE results in same equivalent channel as ZF-DFE under water-filling, but still
performs slightly better unless water-filling is flat (essentially meaning the channel is flat). Often water-
filling is very close to flat in practical situations or there is very little loss. Thus, it may be convenient
to implement directly a ZF-DFE once the exact water-filling band of frequencies is known.
Theorem 5.2.3 (Worst-Case Noise Equivalence) Over any of the continuous bands
for which the PW Criterion holds, if the noise power spectral density is the worst pos-
sible choice that minimizes mutual information for the channel, then ZF and MMSE are the
same even if the noise is not zero.
528
proof: The minimization of the mutual information
Z ✓ ◆
1 Sx (!) · |H(!)|2
I= log2 1 + d! (5.84)
2⇡ ⌦ Sn (!)
Thus, the MS-WMF section is exactly an all pass filter, meaning then ZF and MMSE-DFEs
(the latter with bias-removal scaling) are the same. QED.
The above result holds for any input spectrum Sx (!) (and clearly the worst-case noise may vary with
this input spectrum choice). In particular, this result does hold for the water-filling spectrum also. The
latter result has broad implications in multi-user optimization of systems as in Chapter 14. It suggests
that if the noise is chosen to be the worst possible spectrum (for a given power), receiver processing
is unnecessary (as the all-pass could be implemented at the transmitter without loss and a precoder
could also be used). Worst-case noise (unlike water-filling transmit spectra) is not good – it means
that receiver filtering is essentially useless. The absence of receiver processing enables derivation of the
best possible transmit spectra for each of the individual users in what are called “broadcast” multi-user
systems (think downlink to many devices in Wi-Fi or downstream to many homes in crosstalking DSL
binders) where coordination of receiver dimensions (users) is not physically possible.
529
5.3 Generalized Channel Partitioning: The GDFE
Sections 5.1 and 5.2 suggest that both a set of MMSE-DFE’s and a MT transmission design can achieve
¯
the same data rate of I(X(D); Y (D)), which is the maximum data rate for the given spectrum of
X(D) and with a zero dB gap. The MT system partitions the channel into a infinite number of AWGN
subchannels that each carry a di↵erent amount of information, while by contrast each of the set of MMSE-
DFE systems (with correct decisions) partitions the channel into an infinite set of AWGN subchannels
that each carry the same amount of information. However, the sum of the data rate of the DMT
subchannels is then equal to the sum of the data rates of each of the equal-information/dimension
DFE systems. The observation of two canonical-performance partitions suggests that more general
partitioning of an ISI channel exists. Indeed, the approach allows generalization from ISI to any channel
matrix description, where the channel introduces interference between input dimensions in reaching the
channel output.
This section investigates partitioning for the finite-length packet channel characterized by the rela-
tionship
y = Px + n (5.90)
with nominal output dimensionality N and input dimensionality N + ⌫ (as in Chapter 4), although
all developments will hold for more general P of any dimensionality and any structure (so one could
think of ⌫ as possibly zero or negative in any of the ensuing developments (as well as the usual case
of ⌫ 0). In fact, the general P allows modelling of MIMO wireless systems where the inputs and
outputs may correspond to di↵erent antennas, and not just successive time samples as in Chapters 3 and
parts of Chapter 4. The Toeplitz structure of P need not be maintained. One interesting choice of P
models time-varying convolutions where the successive rows of P are indented as with convolution, but
each row varies with respect to previous row proceeding down through the matrix. Such time-varying
models may be useful in wireless mobile transmission systems. Other models of P could model crosstalk
between di↵erent antennas in MIMO wireless transmission. Yet other models would be used for crosstalk
between wires sharing a common physical space (like a binder of telephone wires or an ethernet cable),
called “vectored” transmission channels12 . In short, the GDFE development allows any P and finds
the corresponding canonical-performance partitions, opening new vistas to the concept of “equalization”
extending to all kinds of linear interference and canonically providing designs for them. For example,
vector coding of Chapter 4 also did not restrict P to have any structure (although DMT forced a cyclic
structure).
For vector coding on such a channel, the product of the subchannel SNR’s can be computed (for
= 0dB) as
" N⇤ !# N 1+⌫ ⇢ 1
Y En · |Ryy | N +⌫
= 22I(x;y ) .
n ¯
SNRvc,u + 1 = 1+ N0
= (5.91)
n=1 2
|Rnn |
Since VC has the optimum finite-length partitioning for any energy distribution on the subchannels, or
¯ y) is this highest rate. Any one-to-one transforma-
equivalently attains the highest rate, then clearly I(x;
tion of either x or y to another random vector is reversible and cannot change the mutual information.
This observation leads allows discovery of other structures and sets of parallel channels that perform at
the same highest rate for the given input energy distribution (or given input autocorrelation function
Rxx ). One-to-one transformations on the input x can be viewed as “codes,” seeding the concept of
what is known as Code-Division Multiple Access (CDMA, used in some 3G wireless), see the appendix
of Chapter 13.
Figure 5.17 overviews the concept of generalized partitioning. There are an infinite number of parti-
tionings that all can achieve the same aggregate data rate b = I(x; y) over each a set of corresponding
parallel independent AWGN channels. The partitionings can be described and summarized through the
concept of Generalized Decision Feedback Equalization, or the “GDFE” for short. VC (and its special
case DMT with cyclic prefixes) are the simplest and most natural of the partitionings, but many exist.
A particularly interesting partitioning for ISI channels is Circulant Decision Feedback, or the CDFE. It
12 Recently, Kahn and others have modelled intermodal crosstalk in optical fibers with such a matrix channel.
530
Generalized*Channel*Par..oning*
GDFE*
Triangular*GDFE*
Vector*Coding*
Achieve*same*I(x:y)* (GDFE)*
N → ∞ + stationarity, circulant
*
DMT** Achieve*same*I(x:y)* CDFE*
* minimal*size*set*
of*MMSEDDFEs*
is this latter structure, which under an assumption of channel stationarity over all sampling periods, will
converge (with various care about the PW criterion) to Section 5.2’s set of MMSE-DFEs. VC, under the
same stationarity assumption, converges to MT. Some of the more general decompositions for the GDFE
can be of interest in MIMO situations where the channel is not stationary over all dimensions. These
types of matrix channels will possibly lead to P matrices that are neither “Toeplitz” nor convolution
matrices and for which the size and rank are arbitrary.
Subsection 5.3.1 begins this section with decomposition of the channel input according to a combi-
nation of a channel-dependent deterministic vector space and a random (Hilbert) space corresponding
to the transmitted signal’s autocorrelation matrix. The decomposition extracts the essence of the input
for which a finite-length canonical replacement channel can be found that is nonsingular and has the
same mutual information as the original channel in Subsection 5.3.2. Having established an equivalent
canonical channel, the GDFE then easily follows through canonical/Cholesky factorization of the input
essence in Subsection 5.3.3. Subsection 5.3.4 investigates the proper input construction to get maximum
GDFE performance, while Subsection 5.3.5 updates the precoders of Section 3.8 for the GDFE. Subsec-
tions 5.3.6 and 5.3.7 provide some interesting one-sided results for special channel structures that can
often be imposed in practice, particularly in the multi-user situations in Chapters 13 and 14.
general case.
531
P '
x'
Pass$Space$ x'
passed$
v" u" P
~
x 0 Px"
Φ nulled$
Null$Space$
N Channel$P$
x"
in both the pass and the null space, but those components in the null space clearly waste transmit energy
because none will appear at the channel output. Thus, only components in the pass space will carry
information through the channel. A vector that has no component in the null space will be denoted by
x̃ (such a vector would fail the discrete-packet equivalent of the Paley-Wiener Criterion).
A transmit vector can be written as
N
X +⌫
x= un · cn = Cu , (5.92)
n=1
a generalization of modulation, where the vectors cn n = 1, ..., N + ⌫ need only be linearly independent
(not necessarily an orthonormal set), and where the random-message components multiplying these
vectors, un , need not be independent.14 The set of vectors {cn }n=1...N +⌫ may be projected into the
rank-Ñ pass space of the channel to obtain a new set of Ñ N linearly independent vectors {c̃n }n=1...Ñ ,
that characterize x̃, the part of x that is in the pass space, by
Ñ
X
x̃ = ũn c̃n = C̃ · ũ . (5.93)
n=1
The values for x̃ span only the Ñ -dimensional pass subspace of the (N + ⌫)-dimensional complex vectors
and are then, by construction, in one-to-one correspondence with values of the vector ũ (because of
the linear independence of the vectors {c̃n }N =1,...,ñ ). A method for computing both ũ and C̃ from the
channel matrix P and an arbitrary u and C appear in Example 5.3.1 below. The vector x̃ is the finite-
length discrete-time equivalent of an input signal x(t) having no component in the dead-zones of the
channel, i.e., those frequency ranges for which H(f ) = 0 (or those that fail the Paley-Wiener Criterion).
In general, the input may have had components in the null space and so
Rxx 6= Rx̃x̃ , (5.94)
but any components of the message sequence not included in x̃ carry zero information for data trans-
mission. The input has entropy
Hx = Hx2N + Hx̃ Hx̃ . (5.95)
14 A special case is when the input components u = X are uncorrelated and the vectors c = m are the channel-
n n n n
dependent, SVD-derived orthonormal basis of vector coding, but this need not be the case in general.
532
x
x~ = PM~ x ~"
C
(The above equation is easily proved by thinking of entropy as the sum of scalar terms based on the
eigenvalues of Rxx , which may be nonzero in the null-space of the channel.) However, basic MMSE
estimation relationships with entropy (Gaussian case) then also lead to15
Hx/y = Hx2N + Hx̃/y Hx̃/y , (5.96)
and thus
I(x; y) = Hx H x/ y (5.97)
= Hx2N + Hx̃ Hx2N Hx˜/y (5.98)
= Hx̃ Hx̃/y (5.99)
= I(x̃; y) (5.100)
so that mutual information remains the same, an intuitively gratifying result – coding into the null
space of the channel does not increase the achievable data rate. Example 5.3.1 illustrates one method
for determining the null space and pass space of a channel and then finding the information-equivalent
vector x̃ with further components ũ in the channel’s pass space. Further, since ũ is in one-to-one
correspondence with x̃, then
I(ũ, y) = I(x̃; y) = I(x; y) . (5.101)
where Ñ N is the rank of the channel and corresponds to the number of nonzero singular values. The
singular values are presumed here to be positive real and arranged in decreasing order 1 2 ...
Ñ Ñ +1 = 0 without loss of generality. The pass space P is then spanned by the orthonormal set of
vectors in the columns of the (N + ⌫) ⇥ Ñ matrix
M̃ = [m1 m2 ... mÑ ] (step 1 in Fig. 5.20). (5.103)
15 Recall the null space does not pass to y so Hx2N /y = Hx2N .
533
I
~
x P = Rnn
-1 / 2
P + y
~ é ù
Step 1 P = FLM * M = m1 ... mN~ mN~ +1 ... mN +n ú
ê
ê$!#
! ~ !"
! $!!#!!"ú
ë M null space û
Step 2 ~~
PM~ = MM *
~ é ~ ~ ù
Step 3 Ctemp = PM~ C = ê C ! C2 ú
! (may need re-indexing)
êë N~ lin . ind . lin . dep .ú
û
Step 4 [ ](
~ ~ -1 ~ ~
O = C *C C *C2 )
éu ~
ù
N dimensions éR R12 ù
Step 5 u =ê 1 ú Ruu = ê 11 ú
ëu 2 ë R21 R22 û
~
N + n - N dimens
û
~
Step 6 u~ = u 1 + Ou 2
~
Step 7 x~ = PM~ x = Cu~
~ ~ ~ ~
Step 8 Ru~u~ = R11 + OR21 + R12O* + OR22O*
534
Then,
x̃ = PM̃ x (5.104)
where ⇣ ⌘ 1
PM̃ = M̃ M̃ ⇤ M̃ M̃ ⇤ = M̃ M̃ ⇤ (step 2 in Fig. 5.20). (5.105)
The null space N is similarly spanned by the remaining columns of M . The projection in the pass
space of each of the (N + ⌫-dimensional modulation vectors c̃n may be determined by the projection
operation
c̃n = PM̃ cn , (5.106)
which may be compactly rewritten (possibly for easy matlab construction)
where the Hermitian matrix PM̃ is known as a “projection matrix” in mathematics. Also, one may write
The matrix C is a matrix of no more than N + ⌫, (N + ⌫)-dimensional column vectors that correspond
to the original modulator for x, and the matrix C̃temp is a rank-Ñ matrix of (N + ⌫)-dimensional column
vectors. This C̃temp matrix thus contains Ñ linearly independent columns, which can be reindexed (the
designer must keep track of the indexing in practice) so that
x̃ = PM̃ x (5.110)
= PM̃ Cu (5.111)
= C̃temp u (5.112)
u1
= [C̃ | C̃2 ] (5.113)
u2
= C̃u1 + C̃2 u2 . (5.114)
The input autocorrelation matrix then can be partitioned according to the same labeling
⇢
u1 R11 R12
Ruu = E [u⇤1 u⇤2 ] = , (5.115)
u2 R21 R22
The vectors/columns of the remaining matrix C̃2 are linearly dependent on C̃ and can be written in
terms of their projections on C̃ by the matrix operation
h i 1
C̃2 = C̃ C̃ ⇤ C̃ C̃ ⇤ C̃2 , (5.116)
16 This separation is often obvious, but a general procedure follows the use of the command “qr” in matlab. By executing
the command “[Q,R,J]=qr(P̃M * C),” then Ñ is obtained by the command “rank( P̃M * C),” and then C̃ is the first Ñ
colums of the matrix formed by Q*R*J in matlab and the last N Ñ columns are then C̃2 . The rearrangement of inputs
by J needs to be noted and used by the designer also.
535
actual"channel"PC" n
u
x +" y
C" P"
equivalent"channel"
( N +ν ) ×1
(no"channel"singularity)" n
~ ~
x
~ y
u C P" +"
~
N ×1
& #
* ~~
PM~ = MM *
~ $ ~ ~ ! &u #
P = FΛM Ctemp = PM~ ⋅ C = $ C ! C2 !
! u = $ 1!
linearly
$independen t de pendent !
~
%u 2 "
% on C "
~ ~ −1 ~ ~ ~
~ = u +O ~; y )
( )
O = C *C C *C2 u 1 ⋅ u2 I (x; y) = I (u
Figure 5.21: The original channel and its equivalent with singularity removed.
essentially a matrix post multiply by Õ to compute C̃2 from C̃ in Equation 5.109. The matrix Õ is
more helpful than C̃2 itself as follows: Step 5 in Figure 5.20 shows explicitly the decomposition of u
into the Ñ components u1 that multiply C̃ and the N Ñ components u2 that multiply C̃2 . These two
components can be combined into a single component ũ according to
⇣ ⌘
x̃ = C̃ · u1 + C̃ · Õ · u2 = C̃ u1 + Õ · u2 = C̃ · ũ} .
| {z (5.118)
| {z } Step 7
Step 6
Rũũ = R11 + ÕR21 + R12 Õ⇤ + ÕR22 Õ⇤ (Step 8 in Fig. 5.20). (5.120)
The command “orth” in matlab essentially performs the reduction of the set of C̃ to a linearly indepen-
dent set of minimal rank, while the more general command “qr” in matlab does QR-factorization, which
also provides both the new set of vectors and the linear combinations necessary to compute ũ with less
computation than Equation (5.117). This “qr” matlab command can also optionally reorder the indices
of the vectors to ensure nonsingularity in the first Ñ positions. (See the last footnote.)
Figure 5.21 illustrates the original channel (at the top) and the equivalent channel with inputs-on-
the-null-space-of-channel singularity removed. The outputs are exactly the same in both cases. The
lower equivalent channel captures all necessary information about the original channel while eliminating
any useless transmission components into the channel singularity.
536
EXAMPLE 5.3.1 (1 + D Channel) An example 2 ⇥ 3 matrix
1 1 0
P = (5.121)
0 1 1
and 2 3
p1 p1
p6 2
6 p2
7
M̃ = 4 3
0 5 . (5.123)
p1 p1
6 2
Then 2 3
2 1 1
3 3 3
PM̃ = 4 1
3
2
3
1
3
5 (5.124)
1 1 2
3 3 3
Then with a white PAM input, x = u or equivalently C = I so that
x̃ = PM̃ x , (5.125)
so then Ctemp is 2 3
2 1 1
3 3 3
Ctemp = PM̃ C = PM̃ = 4 1
3
2
3
1
3
5 (5.126)
1 1 2
3 3 3
and thus 2 3 2 3
2 1 1
3 3 3
C̃ = 4 1
3
2
3
5 and C̃2 = 4 1
3
5 . (5.127)
1 1 2
3 3 3
y = P PM̃ Cu + n = P x̃ + n (5.130)
= P C̃ ũ + n (5.131)
1 1 ũ1
= +n . (5.132)
0 1 ũ2
This final channel-output model is, in terms of just those components of x , ũ1 = u1 u3 =
x1 x3 and ũ2 = u2 + u3 = x2 + x3 , that “pass” through P . Furthermore, it is clear that
any component of the input that lays on the vector
2 1 3
p
3
6 p1 7
m3 = 4 3 5 (5.133)
p1
3
537
for instance the PAM input 2 3
1
4 1 5 (5.134)
1
will not pass. Thus, the two codewords +,-,+ and -,+,-
p that nominally look quite separated
and good for coding with a minimum distance of 2 3 could not be distinguished at the
channel output. Any codewords containing nonzero di↵erences of this type are simply wasting
energy as far as passage through the channel is concerned. For this channel, better input
design than PAM would let only Eũ1 and Eũ2 be nonzero while avoiding any “oscillating”
components (i.e, +,-,+ or -,+,-).
The reduction of modulator vectors to the pass space so far has been based on the fixed deterministic
vectors in C and on the deterministic channel, in particular through M̃ . The pass space and the null
space depend only upon the channel matrix P . However, the input vectors are random, constructed
through modulation of a random component un on each of the fixed deterministic transmit modulator
vectors, un · cn . Thus, the reduction so far to x̃ depends only on the fixed part of the input, namely
C̃. The projected vectors x̃ themselves span a random vector (“Hilbert”) space that is determined
(Gaussian case) by Rx̃x̃ . This random vector space rarely occurs by accident, or usually occurs by
design when Rxx (or Rx̃x̃ ) is optimized, and may have lesser rank or dimensionality than Ñ . The
discrete equivalent of the PW criterion for realization of channel inputs is that Rx̃x̃ and also Rxx be
nonsingular, which can be written in the form ln |Rxx | < 1, remniscent of the integral form of the
continuous PW criterion. With ⌫ > 0, the PW is never satisfied for white inputs like PAM – that is,
PAM is never a good design on a channel with ISI and finite-length packets.
where Ẽx,n is the nth eigenvalue, and q̃ n is the corresponding eigenvector. Those input vectors for
which Ẽx,n = 0 can be omitted from the construction of x̃ (or x) because x̃ has no information-bearing
component on these dimensions17 . Define Q̃ = [q̃ 1 ...q̃ N ⇤ ] and PQ̃ = Q̃Q̃⇤ (step 2 in Fig. 5.22).
Figure 5.18 further suggests a second projection, now of x̃ to x0 , into a subset of the pass space
0
P ✓ P that depends only on the nonzero components/eigenmodes of the input autocorrelation matrix:
x0 = PQ̃ x̃ (5.136)
= PQ̃ C̃ ũ (5.137)
0
= Au , (5.138)
538
x¢
u' A
é ù
Step 1 Rx~x~ = QYQ* ~ ~
Q = q1 ... qN* qN* +1 ... q N~ ú
ê
ê $!# !" $!!#!!" ú
ë ~
Q no input energy û
~~
Step 2 PQ~ = QQ*
~ é ù
Step 3 Atemp = PQ~C = ê !A A2 ú (may need re-indexing)
êë N * lin . ind . !
lin . dep .ú
û
Step 4 OA = A* A [ ] (A A )-1 *
2
~
éu *
ù
N dimensions éR R12 ù
~
u = ê~1 Ru~u~ = ê 11
Step 5 ú R22 úû
ëu2 ë R21
~ *
N - N dimens
û
~ +O u
u' = u ~
Step 6 1 A 2
Step 7 x¢ = PQ~ ~
x = PQ~ PM~ x = Au'
Figure 5.22: Algorithm for elimination of x components in the input autocorrelation Rxx .
539
the (N + ⌫) ⇥ N ⇤ matrix Atemp by first computing (with A a set of N ⇤ linearly independent columns of
Atemp )
Atemp = PQ̃ C̃ = [A | A2 ] (step 3 in Fig. 5.22), (5.139)
and note18
A2 = AOA (5.140)
⇤ 1 ⇤
where OA = (A A) A A2 (step 4 in Fig. 5.22). Then
ũ1
ũ = (step 5 in Fig. 5.22), (5.141)
ũ2
and
u0 = ũ1 + OA ũ2 (step 6 in Fig. 5.22). (5.142)
When N ⇤ = Ñ , then the matrix Q̃ is a square Hermetian matrix (Q̃Q̃⇤ = Q̃⇤ Q̃ = I) and then A = C̃.
The entropy of x0 remains the same as x̃, Hx0 = Hx̃ , because removing zeroed eigenvalues (see
Appendix) from the Gaussian autocorrelation matrix does not change the entropy nor the matrix itself.
Thus, the mutual information remains identical to that of the original channel between the essence of
the input x0 and the channel output y,
The final desired decomposition of the input into its nonsingular essence is then
where Ru0 u0 is necessarily nonsingular and of rank N ⇤ and of course the matrix entries R11 , R12 , R21
and R22 were obtained from the original ũ, and hence then also from u, from which the essence of the
input was extracted (and then redefined after definition of these submatrices). For every value that
the random vector x0 is allowed to take with nonzero probability, there is a unique value of u0 that
corresponds to it, so these two are in one-to-one correspondence, and thus
EXAMPLE 5.3.2 (reducing a singular input for the 1 + D packet channel) This ex-
ample returns to the 1 + D packet channel, except with the input autocorrelation matrix
2 3
2/3 1/3 2/3
Rxx = 4 1/3 5/3 1/3 5 , (5.147)
2/3 1/3 2/3
which is presumably generated from some u according to x = Cu, where the input u has 3⇥3
autocorrelation matrix Ruu = I. The following sequence of matlab commands eliminates
the energy on the channel null space
18 This separation is often obvious, but a general procedure follows the use of the command “qr” in matlab. By executing
the command “[Q,R,J]=qr(P̃Q̃ * C̃),” then N ⇤ is obtained by the command “rank( P̃Q̃ * C̃),” and then A is the first N ⇤
colums of the matrix formed by Q*R*J in matlab and the last Ñ N ⇤ columns are then A2 . he rearrangement of inputs
by J needs to be noted and used by the designer also.
540
>> rxx
rxx = 0.6667 0.3333 0.6667
0.3333 1.6667 0.3333
0.6667 0.3333 0.6667
>> [F,L,M]=svd([1 1 0
0 1 1])
F =-0.7071 -0.7071 L= 1.7321 0 0 M = -0.4082 -0.7071 0.5774
-0.7071 0.7071 0 1.0000 0 -0.8165 0.0000 -0.5774
-0.4082 0.7071 0.5774
>> Mt=M(1:3,1:2)
Mt = -0.4082 -0.7071
-0.8165 0.0000
-0.4082 0.7071
>> Pm=Mt*Mt’
Pm = 0.6667 0.3333 -0.3333
0.3333 0.6667 0.3333
-0.3333 0.3333 0.6667
>> rxxtt = Pm*rxx*Pm
rxxtt = 0.3333 0.6667 0.3333
0.6667 1.3333 0.6667
0.3333 0.6667 0.3333
>> Ctemp=Pm*eye(3)
Ctemp = 0.6667 0.3333 -0.3333
0.3333 0.6667 0.3333
-0.3333 0.3333 0.6667
>> Ct=Ctemp(1:3,1:2)
Ct = 0.6667 0.3333
0.3333 0.6667
-0.3333 0.3333
>> Ot=inv(Ct’*Ct)*Ct’*Ctemp(1:3,3)
Ot = -1.0000
1.0000
541
0.6667 1.3333 0.6667
0.3333 0.6667 0.3333
>> Atemp =.5*rxxtt*Ct1
Atemp = 0.1667 0.3333
0.3333 0.6667
0.1667 0.3333
>> A=Atemp(:,1)
A = 0.1667
0.3333
0.1667
>> Oa=inv(A’*A)*A’*Atemp(:,2)
Oa = 2.0000
Thus the final u0 is a scalar and is equal to u0 = ũ1 + 2ũ2 = (u1 u3 ) + 2(u2 + u3 ) =
u1 + 2u2 + u3 ) where u1 , u2 , and u3 are independent and identically distributed unit-variance
random processes. There is only one dimension of the input that makes it to the channel
output 2 3
1/6
y = P Au0 + n = 4 1/3 5 (u1 + 2u2 + u3 ) + n . (5.149)
1/6
The rest of the input components are lost and do not carry information to the channel output.
An alternative input that was white only over the pass space of this channel and zero else-
where by design might be of interest. Such an input could have have autocorrelation matrix
constructed by 2 3
2/3 1/3 1/3
Rxx = 1.5 · M̃ · M̃ = 4 1/3 2/3 1/3 5 ,
⇤
(5.150)
1/3 1/3 2/3
which could correspond to an input constructed according to (the factor of 1.5 corresponds
to increasing the total energy to 3 units for the 3 dimensions, which is the trace of the
autocorrelation matrix)
2 1 3 2 3
p p1
p6 2
6 7
x = X 1 · m1 + X2 · m2 = X 1 · 4 p2
3
5 + X2 · 4 0 5 (5.151)
p1 p1
6 2
with X1 and X2 independent random variables each of variance 1.5. In this case, clearly
x̃ = x = x0 . The construction of an input autocorrelation matrix is not unique.
q
2
The construction of an input x = 3 (X1 m1 + X2 m2 + X3 m3 ) would not be wise, but
would have Rxx = I, and would lose 1/3 the energy to the null space. Other constructions
of such white inputs might not have independent components nor even orthogonal vectors.
In all cases, the white input injects 1/3 of its power into the null space of the channel, thus
losing performance.
542
The GDFE development generalizes to Gaussian noise vectors n that do not necessarily have a
diagonal autocorrelation matrix
1/2 ⇤/2
Rnn = Rnn · Rnn , (5.152)
1/2
where Rnn is any (non-unique) square root of Rnn . The equivalent “white-noise” channel is formed
by whitening the noise or
1/2
ỹ = Rnn y = Rn 1/2 (P Ãu + n) = P̃ u + ñ , (5.153)
1/2
where P̃ = Rnn P A and ñ is white noise with unit variance per (possibly complex) dimension. This
noise whitening was tacitly illustrated at the top of Figure 5.20 earlier, and the consequent noise-whitened
channel matrix P̃ can undergo singularity removal according to the same two-step procedure. The filtered
noise ñ remains independent of the input u. By the sufficiency of matched filtering19 , the receiver may
process the received signal by a set of matched filters (the rows of P̃ ) without loss of information to
obtain the canonical forward channel model:
z = P̃ ⇤ P̃ u + P̃ ⇤ ñ = Rf u + n0 , (5.154)
where Rf is the canonical forward-channel matrix Rf = P̃ ⇤ P̃ and Rn0 n0 = Rf . This forward channel
is canonical because the channel shaping Rf is the same as the noise-autocorrelation or shaping, also
Rf . Because the noise vector n is uncorrelated with the input vector u, a right triangle can be drawn
to illustrate Equation (5.154) as in Figure 5.23 (on the left). This triangle satisfies a “pythagorean
theorem”
Rzz = Rf Ruu Rf + Rn0 n0 = Rf Ruu Rf + Rf , (5.155)
observing that Rf⇤ = Rf . Also, because canonical channel noise n0 is uncorrelated with the channel
input u, then
ẑ = Rf u , (5.156)
is the MMSE vector estimate of z given u. Thus, another expression for Rf by the orthogonality
principle is
1
Rf = Rzu Ruu . (5.157)
The MMSE matrix for this forward-channel estimation problem is then clearly Rn0 n0 = Rf . (This also
implies that Rzu = Ruz , or Rzu is conjugate symmetric.)
A corresponding MMSE estimate of u given z is found through the canonical backward channel
model:
u = Rb z + e , (5.158)
where Rb is the MMSE matrix estimator (equalizer)
1
Rb = Ruz Rzz . (5.159)
The vector e is the MMSE error vector for the MMSE estimation of u given z. This backward problem
is a matrix linear equalizer. Cleary, the dual Pythagorean relationship shown on the right in Figure 5.23
is
1
Ree = Ruu Ruz Rzz Rzu = Ruu Rb Rzz Rb . (5.160)
A very useful alternatively expression for Rb is (recalling that Ruz is square nonsingular because of the
earlier singularity removal.
1
Rb = Ruz Rzz (5.161)
1 ⇤
Rb = Rzz Rzu (5.162)
1 ⇤
Rb Ruu = Rzz Rzu Ruu (5.163)
= Rzz Rf 1 (5.164)
1
= (Rf Ruu Rf + Rf ) Rf (5.165)
= Rf Ruu + I (5.166)
1 1
Rb = Rf + Ruu (5.167)
19 This matrix matched filter is a one-to-one mapping on the signal components of x0 u and the noise after filtering is
white and so any components on non-signal vectors are irrelevent.
543
Forward'Triangle' Backward'Triangle'
z u
n' e
Rf ⋅u Rb ⋅ z
Rb ⋅ (backward triangle)
R f ⋅ (backward triangle )
which allows computation of Rb from the easily computed Rf = P P ⇤ and Ruu the given transmit
autocorrelation matrix. Equivalently,
1 1
I = Rb Rf + Rb Ruu = Rf Rb + Ruu Rb since I is symmetric . (5.168)
so the backward channel is thus also canonical (the autocorrelation of the error vector equals the channel
shaping = Rb ). So just as Rnn = Rf , Ree = Rb . Use of the two triangles allows derivation of any
backward relation from any forward relation by swapping Rf and Rb as well as replacing Ree by Rn0 n0
(essentially then z $ u, n0 ! e). The following relations use this duality of the forward and backward
channels depicted in Figure 5.23:
Rb 1 = 1
Rf + Ruu (5.175)
1 1
Rf = Rb + Rzz (5.176)
Ree = Rb (5.177)
Rn n 0 0 = Rf (5.178)
Rzz = Rf Ruu Rf + Rf = Rf Ruu Rb 1 (5.179)
Ruu = Rb Rzz Rb + Rb = Rb Rzz Rf 1 (5.180)
Rzu = Rf Ruu (5.181)
Ruz = Rb Rzz . (5.182)
544
Because the signal part of z is in one-to-one correspondence with u as a result of the careful elimi-
nation of unnecessary dimensionality through the matrix A,
I(u; z) = I(u; y) = I(x; y) , (5.183)
so that the new channels between u and z carry all the pertinent information between channel input
and output. The backward and forward canoncial channels both have the same mutual information.
Transmission from u to z has the same performance as z to u, and as from x to y.
545
The “sbsi ” operation is just symbol-by-symbol detection for whatever constellation is used on the ith
transmitted subsymbol ui , i = 0, ..., N ⇤ 1. Because of this symbol-by-symbol slicing, decision feedback
is suboptimal (that is not a maximum likelihood detector for the whole sytmbol), but recursively and
simply implemented. The feedback “filters” are a function of the sample-time index and represent a
periodically time-varying21 feedback section of the DFE. The period is the symbol period. Similarly, the
feedforward section is also periodically time-varying because it is a triangular matrix multiply for which
the rows are not simple shifts of each other. This receiver is called the “Generalized DFE” or GDFE,
and a GDFE block diagram appears in Figure 5.3.3. The nth tone’s MSE is
1
E[|e0n |2 ] = S0,n1 = . (5.196)
S0,n
When u is not white, then it can be related to a white signal that carries the information, leading to
various interesting special cases as in the next subsection and also the next full section.
The GDFE is a set of parallel subchannels with (biased) SNR’s equal to
E[|un |2 ]
SNRbias,n = 1 + SNRu,n = = Eu,n · S0,n (5.197)
E[|e0n |2 ]
Ēx ·kpk2 kpk2
where this expression is similar to the expression SNRmmse-dfe = 0· N0 with S0,n replacing 0· N0
2 2
for the infinite-length DFE. Equation (5.197) uses a subscript u on Eu,n that stands for the input vector
u - care should be exercised to avoid confusing this with the “u” for unbiased or for the “u” user index
of Chapters 12-14 for readers referring back to GDFE material from those chapters. S0,n has a role
similar to the (scaled) 0 of the infinite-length equivalent of Cholesky factorization, which is Chapter
3’s canonical factorization when the channel, noise, and input processes are stationary. The product of
these biased SNR’s is then
N⇤
! N 1+⌫
Y |Ruu |1/(N +⌫)
= 22I(u,z ) = 22I(x,y ) ,
¯ 0 ¯
SNRgdfe = SNRbias,n (5.198)
|R e 0 e0 |1/(N +⌫)
n=1
with less than (and not just equal) because of the information-lossy action of slicing in the feedback
operation. Equality occurs when Ruu = diag{Eu,N ⇤ 1 , ..., Eu,0 }. With such a diagonal (white) input,
this is a finite-length CDEF result. A suboptimal detector, namely the GDFE, is exhibiting an SNR on
an equivalent set of independent AWGN channels that is equal to the best achievable for such a set. This
surprising result occurs only for the backward canonical model of a channel. For this symbol-length, the
same good codes that are used on the ISI-free channel can be applied to a succession of symbols in the
GDFE system to acheive the same gap with respect to the mutual information rate. If Rx0 x0 is the
same as that generated by water-filling on the N + ⌫ discrete subchannels of P that vector coding would
use, then transmission capacity can be approached by this GDFE structure, just as closely as with the
VC system of Chapter 4, even though the slicing (symbol-by-symbol detector) is suboptimum. A white
input (diagonal Ruu ) is required to attain this canonical level of performance.
Some interpretation is helpful: The GDFE replaces the linear filters of the usual DFE by matrix
multiplies, indeed triangular matrix multiplies (I G) and S0 · G ⇤ correspond to a causal feedback
section and a non-causal feed-forward section, respectively, when P is Toeplitz (stationary channel). The
1/2
matched filter is the multiply (Rnn P A)⇤ . These matrix multiplies can be interpreted as periodically
time-varying filters - a di↵erent set of coefficients for each index n = 1, ..., N ⇤ within the packet. The
GDFE filters are thus then fundamentally di↵erent from the fixed finite-length filters that were derived
in Chapter 3, and in some very special cases, converge to the same thing as N ! 1. In the majority of
cases, the GDFE filters do not converge to the same filters as in Chapter 3. More generally MIMO space-
time models do not have such dimensional stationarity and convergence but all the above construction
of the GDFE still applies.
The matrix SNR for this channel is
SN Rgdfe = Ruu Ree1 = SN Rgdfe,u + I , (5.199)
21 Or more generally, periodically “index-varying.” The period is the symbol period.
546
n
x " Px" ~y z z "
y" *
u A" P" +" R − 12
nn
(R − 12
nn ⋅P⋅ A ) S 0−1 ⋅G −* +" dec"
Eliminate noise matched triangularize
singularity original
channel
whiten filter matrix
I&G"
u = uˆ
Canonical Backward Channel feedback
section
u Rf" +" z
%e0"
u0" +" z0
%e1"
u1" +" z1
."."
."
%eN%1"
u1" +" z1
547
and its determinant is SNRgdfe = |SN Rgdfe |. Thus
⇤
NY 1
|SN Rgdfe | = |SN Rgdfe,u + I| = (1 + SNRu,i ) . (5.200)
i=0
A task remaining is to make sure that u corresponds to a white input, for which there are several
methods discussed in Sections 5.4 and 5.5. If Ruu is not diagonal, then SNRgdfe < 22I(x;y ) in (5.198)
¯
Bias
The GDFE is biased like all MMSE detectors. Each subchannel is a MMSE estimate and thus has the
relation SNRi = SNRu,i + 1. The matrix snr SN Rgdfe corresponds to a biased estimate. That is
1
E[ûn /un ] = (1 )un 6= un . (5.201)
SNRbias,n
Bias can be removed individually after feedback on the subchannels or by scaling each output of the
SNR
feedforward matrix by SNR bias,n 1 .
bias,n
u= v , (5.202)
à à (5.203)
and all the development of this section for the GDFE follows with the simple replacements
1/2
P̃ Rnn P Ã (5.204)
u v . (5.205)
Figure 5.3.3 replaces Figure 5.25 with such substitution. After v has been correctly estimated, then u
and in turn x0 can be reconstructed. Any part of x not contained in x0 is of course lost in transmission,
but when x = x0 , but there remains no such part since Ruu was constructed this way and u and v
are in 1-to-1 correspondence (as long as the GDFE symbol-by-symbol detectors function without error
in estimation). In practice of course x and consequently v is never quite Gaussian and instead is a
discrete distribution corresponding to messages, even though with good codes that distribution may be
close to Gaussian. In this case then, it is desirable to consider v as the message sequence itself and
x0 as derived from this message sequence in modulation. Thus A is a matrix transmit filter. The
GDFE then directly functions to estimate the message sequence. In this case, thet simple QAM/PAM
modulation needs modification according to loading of information on to the set of parallel channels, to
obtain maximum data rate. Thus, fixed-constellation QAM/PAM with an arbitary number of bits or
even a number of bits per symbol equal to the packet mutual information I(x;¯ y) are not canonical in
general for the finite-length packet channel.
The next section investigates two specific structures for the matrix and finds that a triangular
factorization will lead to a finite-length equivalent of the MMSE-DFE. The other structure, an eigen-
decomposition, leads to VC. Both are special cases of the GDFE.
There can be many such transformations and each will correspond to a di↵erent GDFE, but all will
attain the same performance. The following example illustrates one such case.
548
n
x " Px" ~y z" z "
y"
+" +" dec"
*
v" AΦ" P" R − 12
nn
(R − 12
nn ⋅ P ⋅ A⋅ Φ ) S 0−1 ⋅G −*
v = vˆ
Canonical Backward Channel with input v feedback
section
v Rf" +" z
'e0"
v0" +" z0
'e1"
v1" +" z1
."."
." 'eN'1"
v1" +" z1
549
EXAMPLE 5.3.3 (GDFE for 1 + .9D 1 Channel) This book has investigated numer-
ous times the 1 + .9D 1 channel with input energy Ēx = 1 and 2 = .181. This current
instance will investigate a form of the GDFE for this channel with N = 2 and ⌫ = 1 to keep
1/2
computation to a minimum. The matrix Rnn P describing this channel is
1 1 .9 1 0 2.1155 2.3505 0
·P = p · = , (5.206)
.181 0 .9 1 0 2.1155 2.3505
The first two columns of M span the pass space of the channel. The original PAM modulator
corresponds to C = I, so
2 3
.5945 .3649 .3285
C̃ = PM̃ · I = 4 .3649 .6715 .2956 5 , (5.208)
.3285 .2956 .7340
Since Rx̃x̃ has rank 2, then N ⇤ = Ñ and no further elimination of singularity is necessary.
However, Ruu is not white. By using the steps in Figure 5.20,
2.5242 1.3717
Ruu = , (5.210)
1.3717 2.2346
and
u1 = x1 1.235x3 (5.211)
u2 = x2 + 1.111x3 (5.212)
A GDFE based on estimating u1 and u2 will therefore not have canonical peformance.
Instead, the designer might at least attempt to find an equivalent white input Rvv that
results in the same Rx̃x̃ as u as per the following matlab commands:
>> rxxtt=Pm
rxxtt = 0.5945 0.3649 -0.3285
0.3649 0.6715 0.2956
-0.3285 0.2956 0.7340
>> [V,D]=eig(rxxtt)
V = 0.6368 0.3545 -0.6847 D = 0 0 0
-0.5731 0.8117 -0.1128 0 1 0
0.5158 0.4642 0.7200 0 0 1
550
>> Phi*eye(2)*Phi’ = 0.5945 0.3649 -0.3285 = rxtt (checks)
0.3649 0.6715 0.2956
-0.3285 0.2956 0.7340
>> P*Phi
2.6578 -1.7136
2.8083 1.4538
>> P*Pm*Phi
2.6578 -1.7136
2.8083 1.4538
A GDFE based on the 2-dimensional white input Rvv = I achieves canonical performance,
which is found by the following sequence of matlab commands:
S0 = 15.9500 0
0 6.0361
>> snr=10*log10((det(S0))^(1/3)-1) =
5.5427 dB
The canonical performance is thus SNRgdf e,u = 5.5 dB. The one unit of energy into the
null space is wasted, pulling down performance if the white PAM-like autocorrelation matrix
Rxx = I is used, even if the input is recoded so simple decisions on v1 and v2 can be made.
The performance loss is caused by a poor choice in input autocorrelation matrix (which is
nevertheless, that of the widely used PAM in this case). Assuming the matched filter matrix
and the feedforward matrix are combined into a single 2 ⇥ 2 matrix, the complexity of this
GDFE is 5 operations per 3 samples or 1.667/sample.
It is possible to attempt to recover some of the loss by reshaping the input so that no energy
is placed into the null space and 1.5 units each are used on each of the components of the
white v. This provides the autocorrelation matrix
2 3
0.8918 0.5474 0.4927
Rxx = 4 0.5474 1.0073 0.4434 5 . (5.213)
0.4927 0.4434 1.1009
but
Rvv = 1.5I . (5.214)
551
and
⇤
rxx = Rvv (5.215)
>> snr=10*log10((2.25*det(S0))^(1/3)-1) =
6.8589 dB
>> W=inv(S0)*inv(G’)= 0.0627 0
0.0049 0.1657
>> W*Pt’ (MS-WMF combination)
0.1666 0.1761
-0.2709 0.2546
The SNR increases to 6.9 dB and the feedforward filter and the combination of feedforward-
matched filter are illustrated. The transmit energy is 3 units per symbol. The complexity
remains at 1.667/sample. From Chapter 3, the finite-length MMSE-DFE required Nf = 2
and Nb = 1 to get this same performance, leading to a complexity of 3, almost twice that
of the GDFE with altered input. Such is often the benefit of transmit optimization – not
only does it work better, the receiver gets easier, because this E1 = E2 = 1.5 choice of inputs
is close to water-filling. For N = 3 in the GDFE, the SNR increases to 8.0 dB, and as N
becomes large, the ultimate SNR is 8.4 dB for an i.i.d. input. Unfortunately, as N grows,
the complexity of this choice of GDFE will grow as N 2 and unnecessarily be well above the
complexity of DMT (which achieves 8.8 dB when N = 16 and complexity is 3.8/sample). If
a water-fill input is used, then this ultimate SNR can be as high as 8.8 dB.
When Ruu , or equivalently by design Rvv , are diagonal, the GDFE creates a set of parallel channels
that have the same maximum data rate possible as VC. This set of parallel channels is di↵erent than
those of vector coding for the same Rxx and have a di↵erent set of SNRn . However, the total data rate
and overall SNR are the same. Loading needs to be excuted for this set of nonequal SNRn in order to
get the maximum performance level. The standard loading algorithms of Chapter 4 can be applied to
the set of parallel independent subchannels created by the GDFE.
I(x y) = I(x0 ; y) + I(x1 y/x0 ) + ... + I(xn y/[x1 ...xn 1 ]) + ... + I(xN 1 y/[x1 ...xN 2 ]) (5.216)
has a very special relationship to all GDFE’s. Essentially each term in equation 5.216 corresponds
to a MMSE-DFE designed for xn given the entire channel symbol output y and the previous values
of x1 , ... xn . A little reflection reveals this is exactly what the GDFE is – a series of independently
designed MMSE-DFEs given the channel output and past decisions – when the input sequence has
diagonal autocorrelation, i.e., is “white”.
552
Any invertible transformation on the input from a possibly “non-white” x to a “white” v produces
the same mutual information I(v y) = I(x y) and a new chain rule for the components of v. There
are an infinite number of such possible transformations, leading to an infinite number of GDFEs, as
previous sections have illustrated. This same chain-rule applied to the infinite-length MMSE-GDFE in
Subsection 5.1.2. This same result applies also to the GDFE, as in the subsequent subsection.
Zero-Forcing GDFE’s
The zero-forcing version of any MMSE design, like the GDFE, is obtained by assuming there is no noise
in the MMSE solution. Because there may be a multitude of equivalent MMSE structures that all have
the same MMSE performance, caution needs to be exercised in assuming all ZF-GDFEs have the same
performance with noise.
For any given GDFE, the ZF-equivalent uses the forward channel model to derive a ZF-GDFE. The
forward channel output z is again with lower-diagonal-upper Cholesky factorization of Rf = Pf⇤ Sf Pf
z = Pf⇤ Sf Pf u + n0 . (5.217)
⇤
The receiver can process z with Sf 1 Pf to obtain
z 0 = Sf 1 Pf ⇤ z = Pf u + n00 . (5.218)
Ignoring the noise n00 as if it were zero produces a triangular set of equations (since Pf is upper triangular)
The set of equations provides an estimate of the transmitted sequence, but the overall SNR (which is
unbiased) is less than or equal to 22I(x;y ) 1. This SNR can be computed as (with 0 dB gap)
¯
" N
#1/N
Y
SNRzf gdf e = (1 + Eu,n · Sf,n ) 1 . (5.224)
n=1
Equality holds under various conditions like the matrix Rf is diagonal (that is Pf = I and there is
no feedback matrix) or certain types of noise (worst-case), as will be seen later in Section 5.5. Often,
the ZF-GDFE, can have performance very close to the MMSE-GDFE, which is canonical and highest
SNR level.
553
x1" n
Px" ~y z" z "
y" *
x = xˆ
Distributed
Input
GDFE – receiver only feedback
section
dimensions
Nonetheless, the transmission design may use precoding to eliminate even error propagation within
a symbol. The rows of the feedback section now vary with subchannel index n and
22b̄n
Each dimension has a loss in SNRn of 22b̄n 1 , which can then be incorporated into the overall SNR
for the GDFE through the same formula (5.73). Each of the N ⇤ dimensions of the feedforward matrix
output should have a modulo operator 22b̄n (•) prior to the decision element.
The Laroia precoder then also easily follows with the periodic g U,n vectors being used in the usual
manner for each corresponding dimension – however, the Laroia precoder cannot be used if signal-
processing coordination across dimensions is necessary because it requires a second wave of corresponding
decoder processing as in Section 3.8 after a first decision element (and this additional processing requires
coordination among the dimensions in the receiver, see Chapter 14 on broadcast channels for more on
the absence of receiver coordination).
554
(S1)&1/2" sbs1"
n
x=u" x " ."
Px" y" ."
v" Pf&1" M" P" +" ."
precoder"
original (SN)&1/2" sbsN"
Coordinated transmitter channel
scaling distributed
outputs
Sf1/2"Pf"
The Vector OFDM systems to come in Section 5.5 also decompose into a number of smaller systems,
each with such a nonsingular square P matrix.
In these situations only, the GDFE performance can be attained without coordination or co-generation
of the input dimensions. The absence of an ability to transform the input dimensions with an A or C
matrix might correspond to physically distinct locations in which the transmitted signals entering the
channel are generated, or distributed inputs. If the P matrix has rank greater than or equal to the
number of inputs, A = C = I, then no dimensional reduction is necessary.
Figure 5.26 illustrates the GDFE in the case of distributed input dimensions, and it is clear that all
processing of the GDFE occurs in the receiver (which must be able to co-process the various channel
output dimensions). While seemingly trivial as written here – this particular situation of receiver-
side-coordination-only can occur in a number of multiple-input-multiple-output channel situations (see
Chapter 13).
1/2
If the noise is not white, then P should be replaced by P Rnn in all the above equations, and there
may be additional performance loss with respect to GDFE levels.
22 More channel outputs than input dimensions is not of practical interest if the outputs cannot be coordinated in
processing.
555
Precoding in the MMSE sense can be done if P is singular and/or the input is singular in the usual
sense with a GDFE. More general precoders are considered in Chapter 14. This means the matrix
A is found and the input processing determined accordingly. The feedback section is implemented
at the transmitter for G of the GDFE. However, the combination of the matched-filter feedforward
filter S0 1 G ⇤ P̃ would nominally require co-location of the recievers, which is not physically possible.
However, there are many choices of the GDFE input processing that all provide the same performance,
but di↵erent feedforward filters and feedback sections. A question is “Is there a choice of partitionings
and white inputs v that produces a diagonal W = S0 1 G ⇤ P̃ ?”
There are basically two “yes” answers when the system is square nonsingular:
1. If the noise is white and water-filling spectra (see Section 5.5.5) are also used, then the MS-WMF
matrix can be diagonal with no performance loss.
556
5.4 Special Cases of the GDFE: VC and The Packet DFE
A generalized DFE for a linear-ISI-with-AWGN channel (P, Rnn ) has the same performance for all Gaus-
sian inputs with covariance Ruu that are constructed from a diagonal Rvv with |Rvv | = |Ruu |. The de-
sign of a realistic GDFE system should consider the message sequence to be the diagonal-autocorrelation
input vector v of Figure 5.25 since only decisions made on vn n = 0, ..., N ⇤ 1 achieve the cannonical
performance maximum of SN R = 22I(x;y ) . This input choice of diagonal v then generates any useful
¯
557
5.4.1 Vector-Coding as a special case of the GDFE
The partitioning of vector coding is a special case of the GDFE. In this case, the operation of noise-
1/2
whitening is best considered first so that the designer replaces P by Rnn P and then derives the singular
value decomposition
1/2
Rnn P = F ⇤M ⇤ . (5.232)
The input vectors of vector coding are again chosen to be the right-singular-vectors of the channel
spanned by M ,
N
X +⌫
x= X n mn = M X . (5.233)
n=1
Only Ruu of the form Ruu = M RXX M ⇤ constitute vector-coding systems – any other Ruu is
not vector coding. The projection into the pass space corresponds trivially to removal of the vectors
mn n > N from the sum so
XN
x̃ = Xn mn = M̃ X̃ . (5.234)
n=1
In vector coding, when water-filling is used, some parts of the pass space are so poor that they are not
used – a classic example of the situation where Rx̃x̃ is singular. The projection, in any case where Rx̃x̃
is singular for VC, is then
XN⇤
0
x = Xn mn = M 0 X 0 . (5.235)
n=1
Rf = P̃ ⇤ P̃ = diag 2
1,
2
2 , ...,
2
N⇤ , (5.237)
VC is canonical. Since there is no feedback section in the GDFE, the concern for suboptimal
detection is removed and an independent ML decoder on each subchannel (which is a simple
slicer for uncoded transmission) is optimum. QED.
The joint optimality and canonical nature of the VC-based GDFE is unique to a structure based on
modulating vectors that coincide with a set of singular vectors for the channel. No other structure
produces a diagonal channel with the consequence of G = I. Any other G 6= I may have canonical SNR
(22I(x;y ) ) but assumes correct decisions and thus is not ML nor optimum as a detector. Thus, VC is
¯
truly the best performing GDFE structure for transmission on the channel (P, Rnn ).
558
Innovations
n
x Px y y~ *
z z
v AGφ" P" +" R − 12
nn
(R
− 12
nn ⋅ P ⋅ A ⋅ Gφ ) S 0−1 ⋅G −* +" dec"
Causal when noise matched triangularize
A=I original
channel
whiten filter matrix
I%G"
v = vˆ
Canonical Backward Channel for Triangular DFE feedback
section
559
vk Gφ xk
Rxx
−1
Rvv (diagonal)*
xk Gφ vk
x = Gx v (5.244)
with Gx a upper-triangular N ⇥ N matrix. This situation can correspond to the circulant DFE
or CDFE. In this case, for a stationary channel, namely a circulant Toeplitz P and finite fixed ⌫ as
N ! 1, the CDFE will converge to a MMSE-DFE as in Section 5.7. For the more complex case
of input singularity corresponding to input design zeroing certain frequencies for any reason (channel
notches or choice of loading algorithm, or both), then the situation essentially leads to multiple CDFEs
each converging to its own corresponding MMSE-DFE.24
The transmit filter will correspond to any of the middle rows of Gx while the feedback section is any
of the middle rows of G.25 The matched filter matrix clearly converges to a matched filter, and any of
the middle rows of this feedforward matrix converges to the anti-causal feedback section. The CDFE as
described here exists only when Rxx is nonsingular, which may not occur especially if water-filling is
used. The next section (5.5) deals with an adjustment that needs to be made when there are multiple
disjoint bands, which is called “generalized Cholesky factorization.” Under the cyclic-channel-matrix
restriction, DMT is clearly an optimum transmission method with best SNR and ML detection achieved
because G = I and there is no error propagation. The CDFE when its input exists and matches DMT,
obtains the same SNR, but is only canonical because it does not have an ML detector.
24 One can think of applying everything in this section to each CDFE individually in this case of multiple discontiguous
band use.
25 All these middle rows will have the nonzero coefficient values tending to the same fixed filter when the block symbol
560
EXAMPLE 5.4.1 (1 + .9D 1 CDFE with PAM input) Returing the familiar 1+.9D 1
example often used in this text, the AWGN noise variance is N20 = .181 and Ēx = 1. This
example will use flat energy transmission with cyclic prefix of length ⌫ = 1 on a block size
of N = 8. Thus, Rvv = Ruu = I. For this case, C = I for a circulant matrix and A = I
also because the input is white. Rather than repeat the analysis of previous developments
mathematically here, this example simply inserts some descriptive matlab text with results:
561
S0 = 11.0000 0 0 0 0 0 0 0
0 8.7523 0 0 0 0 0 0
0 0 8.1751 0 0 0 0 0
0 0 0 7.9756 0 0 0 0
0 0 0 0 7.9000 0 0 0
0 0 0 0 0 7.8703 0 0
0 0 0 0 0 0 7.8585 0
0 0 0 0 0 0 0 4.4639
The important G matrix clearly is converging to what is known (from Chapter 3) to be the
MMSE-DFE feedback section of 1 + .633D in the middle rows of G. This behavior would
happen for any sufficiently large N on this example and illustrates that the MMSE-DFE
is simply the limit of the CDFE as N becomes large. That is, no blocking is necessary if
the transmitted symbol sequence is just considered long enough. However, at the beginning
of transmission, especially on this maximum phase channel, the filter is di↵erent during a
transient. An MMSE-DFE designed according to Chapter 3 for finite or infinite-length filters
would actually only achieve its 8.4 dB SNR asymptotically, because the assumptions made
in that derivation were stationarity for all time, when in fact the more realistic situation
illustrated in this example is that transmission begins at one point in time and continues. In
that latter more realistic case, the first few samples are better handled by the CDFE than by
the usual MMSE-DFE design. Indeed the 7.16 dB SNR here increases to 7.75 dB at N = 16,
8.26 dB at N = 100 and 8.3 dB at N = 200 illustrated the fastest or best convergence to the
eventual 8.4 dB. Thus, use of a stationary-designed MMSE-DFE over finite block lengths (as
often occurs in wireless transmission, for instance GSM (Group Special Mobile or widely used
cell-phone transmission method) where block lengths are only about 150 symbols long with
essentially QPSK and a MMSE-DFE equalizer) will not achieve the performance computed
for the asymmptotic convergence. Some GSM designers are aware of the e↵ect and actually
use time-varying DFE’s within the packet of samples.
The feedforward filter is converging also, but clearly has significant terms for all samples at
least for N = 8. The convergence is evident in the middle rows to [0.8 0.12 0.19 0.30 0.63].
The non-zero “end” sample here is related to ⌫ = 1 and eventually just implies an imple-
mentation with > 0 to handle the maximum-phase channel.
It is interesting to compare the CDFE with a conventional GDFE as in the design of Example
5.3.3 execept that N is increased from 2 there to 8 here to produce the results with now energy
9/8 fed into each of the dimensions recognizing the channel singularity on one dimension and
not inserting energy there:
562
0 0 0 0 2.1155 2.3505 0 0 0
0 0 0 0 0 2.1155 2.3505 0 0
0 0 0 0 0 0 2.1155 2.3505 0
0 0 0 0 0 0 0 2.1155 2.3505
>> M
M =
0.0775 -0.1527 0.2232 0.2868 -0.3414 0.3852 -0.4153 -0.4214 0.4728
0.2319 -0.4037 0.4712 0.4182 -0.2608 0.0428 0.1748 0.3238 -0.4255
0.3583 -0.4657 0.2480 -0.1415 0.4320 -0.4280 0.1475 -0.1871 0.3830
0.4415 -0.3099 -0.2232 -0.4674 0.1108 0.3852 -0.4008 0.0278 -0.3447
0.4714 -0.0090 -0.4712 -0.0208 -0.4705 0.0428 0.4666 0.1348 0.3102
0.4445 0.2960 -0.2480 0.4602 0.0526 -0.4280 -0.3140 -0.2812 -0.2792
0.3639 0.4626 0.2232 0.1806 0.4522 0.3852 0.0146 0.3936 0.2513
0.2395 0.4127 0.4712 -0.3975 -0.2097 0.0428 0.2917 -0.4586 -0.2261
0.0862 0.1697 0.2480 -0.3187 -0.3794 -0.4280 -0.4615 0.4683 0.2035
>> Mt
Mt =
0.0775 -0.1527 0.2232 0.2868 -0.3414 0.3852 -0.4153 -0.4214
0.2319 -0.4037 0.4712 0.4182 -0.2608 0.0428 0.1748 0.3238
0.3583 -0.4657 0.2480 -0.1415 0.4320 -0.4280 0.1475 -0.1871
0.4415 -0.3099 -0.2232 -0.4674 0.1108 0.3852 -0.4008 0.0278
0.4714 -0.0090 -0.4712 -0.0208 -0.4705 0.0428 0.4666 0.1348
0.4445 0.2960 -0.2480 0.4602 0.0526 -0.4280 -0.3140 -0.2812
0.3639 0.4626 0.2232 0.1806 0.4522 0.3852 0.0146 0.3936
0.2395 0.4127 0.4712 -0.3975 -0.2097 0.0428 0.2917 -0.4586
0.0862 0.1697 0.2480 -0.3187 -0.3794 -0.4280 -0.4615 0.4683
>> Pm=Mt*Mt’
Pm =
0.7764 0.2012 -0.1811 0.1630 -0.1467 0.1320 -0.1188 0.1069 -0.0962
0.2012 0.8189 0.1630 -0.1467 0.1320 -0.1188 0.1069 -0.0962 0.0866
-0.1811 0.1630 0.8533 0.1320 -0.1188 0.1069 -0.0962 0.0866 -0.0779
0.1630 -0.1467 0.1320 0.8812 0.1069 -0.0962 0.0866 -0.0779 0.0702
-0.1467 0.1320 -0.1188 0.1069 0.9038 0.0866 -0.0779 0.0702 -0.0631
0.1320 -0.1188 0.1069 -0.0962 0.0866 0.9221 0.0702 -0.0631 0.0568
-0.1188 0.1069 -0.0962 0.0866 -0.0779 0.0702 0.9369 0.0568 -0.0511
0.1069 -0.0962 0.0866 -0.0779 0.0702 -0.0631 0.0568 0.9489 0.0460
-0.0962 0.0866 -0.0779 0.0702 -0.0631 0.0568 -0.0511 0.0460 0.9586
>> rxx=(9/8)*Pm
rxx =
0.8735 0.2263 -0.2037 0.1833 -0.1650 0.1485 -0.1337 0.1203 -0.1083
0.2263 0.9213 0.1833 -0.1650 0.1485 -0.1337 0.1203 -0.1083 0.0974
-0.2037 0.1833 0.9600 0.1485 -0.1337 0.1203 -0.1083 0.0974 -0.0877
0.1833 -0.1650 0.1485 0.9913 0.1203 -0.1083 0.0974 -0.0877 0.0789
-0.1650 0.1485 -0.1337 0.1203 1.0167 0.0974 -0.0877 0.0789 -0.0710
0.1485 -0.1337 0.1203 -0.1083 0.0974 1.0373 0.0789 -0.0710 0.0639
-0.1337 0.1203 -0.1083 0.0974 -0.0877 0.0789 1.0540 0.0639 -0.0575
0.1203 -0.1083 0.0974 -0.0877 0.0789 -0.0710 0.0639 1.0675 0.0518
-0.1083 0.0974 -0.0877 0.0789 -0.0710 0.0639 -0.0575 0.0518 1.0784
>> A*ruu*A’ (checks)
ans =
0.8736 0.2264 -0.2037 0.1833 -0.1650 0.1485 -0.1336 0.1203 -0.1083
0.2264 0.9212 0.1833 -0.1650 0.1485 -0.1336 0.1203 -0.1082 0.0974
-0.2037 0.1833 0.9601 0.1485 -0.1337 0.1203 -0.1083 0.0975 -0.0877
563
0.1833 -0.1650 0.1485 0.9913 0.1203 -0.1083 0.0974 -0.0876 0.0790
-0.1650 0.1485 -0.1337 0.1203 1.0167 0.0974 -0.0877 0.0790 -0.0710
0.1485 -0.1336 0.1203 -0.1083 0.0974 1.0373 0.0790 -0.0711 0.0639
-0.1336 0.1203 -0.1083 0.0974 -0.0877 0.0790 1.0540 0.0639 -0.0574
0.1203 -0.1082 0.0975 -0.0876 0.0790 -0.0711 0.0639 1.0674 0.0517
-0.1083 0.0974 -0.0877 0.0790 -0.0710 0.0639 -0.0574 0.0517 1.0783
>> A (caution: different Matlab versions produce different eigenvectors)
A =
-0.3794 0.0519 -0.5466 0.2553 -0.3330 -0.0143 -0.3291 -0.2157
0.2803 -0.0590 -0.2591 0.7194 0.1414 -0.0333 0.1254 -0.3396
-0.0047 -0.0481 -0.0369 0.0147 -0.1217 -0.3389 0.8394 -0.1235
-0.0285 -0.0068 -0.4208 -0.5844 -0.0748 0.2734 0.1743 -0.5010
0.1331 0.0490 0.5621 0.0263 0.0256 0.1161 -0.1697 -0.7239
-0.7324 0.0778 0.1464 0.0011 0.3665 -0.4337 -0.0155 -0.1883
-0.1253 0.4857 -0.1207 0.1086 0.5678 0.5325 0.2147 0.0829
-0.4401 -0.1120 0.3135 0.2511 -0.4834 0.5255 0.2567 0.0741
-0.1141 -0.8570 -0.0738 0 0.3972 0.2187 0 0
>> ruu
ruu =
1.1250 0 0 0 0 0 0 0
0 1.1250 0 0 0 0 0 0
0 0 1.1250 0 0 0 0 0
0 0 0 1.1250 0 0 0 0
0 0 0 0 1.1250 0 0 0
0 0 0 0 0 1.1250 0 0
0 0 0 0 0 0 1.1250 0
0 0 0 0 0 0 0 1.1250
>> Pt=P*A
Pt =
-0.1438 -0.0289 -1.7653 2.2310 -0.3721 -0.1085 -0.4014 -1.2545
0.5819 -0.2379 -0.6348 1.5564 0.0131 -0.8670 2.2383 -1.0087
-0.0769 -0.1177 -1.0672 -1.3425 -0.4333 -0.0743 2.1854 -1.4389
0.2526 0.1008 0.4310 -1.1745 -0.0981 0.8513 -0.0302 -2.7614
-1.4399 0.2865 1.5332 0.0582 0.9156 -0.7738 -0.3954 -1.9740
-1.8439 1.3062 0.0260 0.2576 2.1099 0.3342 0.4719 -0.2035
-1.2995 0.7642 0.4815 0.8199 0.0649 2.3617 1.0576 0.3495
-1.1992 -2.2513 0.4897 0.5312 -0.0890 1.6257 0.5430 0.1568
>> Rf=Pt’*Pt
Rf =
9.0291 -1.2142 -3.3934 -1.8697 -5.1169 -4.7888 -1.1417 1.5820
-1.2142 7.5222 0.1098 -0.6111 3.3171 -1.3365 -0.6924 -0.7499
-3.3934 0.1098 7.6671 -3.2492 2.5150 1.9439 -2.8762 0.4135
-1.8697 -0.6111 -3.2492 11.6059 0.4898 0.3495 0.9436 1.0085
-5.1169 3.3171 2.5150 0.4898 5.6382 -0.0170 -0.1114 -0.8802
-4.7888 -1.3365 1.9439 0.3495 -0.0170 10.4246 1.7590 1.3068
-1.1417 -0.6924 -2.8762 0.9436 -0.1114 1.7590 11.7403 -3.6760
1.5820 -0.7499 0.4135 1.0085 -0.8802 1.3068 -3.6760 16.3715
>> Rbinv=Rf+inv(ruu)
Rbinv =
9.9180 -1.2142 -3.3934 -1.8697 -5.1169 -4.7888 -1.1417 1.5820
-1.2142 8.4111 0.1098 -0.6111 3.3171 -1.3365 -0.6924 -0.7499
-3.3934 0.1098 8.5560 -3.2492 2.5150 1.9439 -2.8762 0.4135
-1.8697 -0.6111 -3.2492 12.4947 0.4898 0.3495 0.9436 1.0085
-5.1169 3.3171 2.5150 0.4898 6.5271 -0.0170 -0.1114 -0.8802
564
-4.7888 -1.3365 1.9439 0.3495 -0.0170 11.3135 1.7590 1.3068
-1.1417 -0.6924 -2.8762 0.9436 -0.1114 1.7590 12.6292 -3.6760
1.5820 -0.7499 0.4135 1.0085 -0.8802 1.3068 -3.6760 17.2604
>> Gbar=chol(Rbinv)
Gbar =
3.1493 -0.3855 -1.0775 -0.5937 -1.6248 -1.5206 -0.3625 0.5023
0 2.8744 -0.1063 -0.2922 0.9361 -0.6689 -0.2895 -0.1935
0 0 2.7173 -1.4426 0.3179 0.0862 -1.2136 0.3438
0 0 0 3.1584 0.0815 -0.1977 -0.3505 0.5529
0 0 0 0 1.7039 -1.0991 -0.0089 -0.0218
0 0 0 0 0 2.7017 0.3848 0.7391
0 0 0 0 0 0 3.2665 -0.9868
0 0 0 0 0 0 0 3.8764
>> G=inv(diag(diag(Gbar)))*Gbar
G =
1.0000 -0.1224 -0.3421 -0.1885 -0.5159 -0.4828 -0.1151 0.1595
0 1.0000 -0.0370 -0.1017 0.3257 -0.2327 -0.1007 -0.0673
0 0 1.0000 -0.5309 0.1170 0.0317 -0.4466 0.1265
0 0 0 1.0000 0.0258 -0.0626 -0.1110 0.1750
0 0 0 0 1.0000 -0.6450 -0.0052 -0.0128
0 0 0 0 0 1.0000 0.1424 0.2736
0 0 0 0 0 0 1.0000 -0.3021
0 0 0 0 0 0 0 1.0000
>> S0=diag(diag(Gbar))*diag(diag(Gbar))
S0 =
9.9180 0 0 0 0 0 0 0
0 8.2624 0 0 0 0 0 0
0 0 7.3837 0 0 0 0 0
0 0 0 9.9758 0 0 0 0
0 0 0 0 2.9033 0 0 0
0 0 0 0 0 7.2993 0 0
0 0 0 0 0 0 10.6702 0
0 0 0 0 0 0 0 15.0262
>> snr=10*log10(det(ruu*S0)^(1/9)-1)
snr = 7.9306
The filters are non-stationary in this case and will not converge, but the performance is better
(because no energy is wasted in a cyclic prefix or in a null space to the channel) and the SNR
is 8 dB. Vector Coding with flat-energy transmission would achieve this same performance
level. This nonstationary triangular GDFE will more rapidly converge in SNR with increasing
N to a point intermediate to the 8.4 dB of the MMSE-DFE (which e↵ectively is the CDFE
and inserts energy into a useless dimension) and the 8.8 dB maximum that occurs with
water-filling.
8.4 dB < lim SNRN +⌫/N,GDF E,u < 8.8 dB . (5.245)
N !1
565
Single-dimensional Output and ML Decoding
The single-dimensional channel output could be written as
y = P1 x1 + P2 x2 + ... + PL xL + n (5.246)
2 3
x1
6 x2 7
6 7
= [P1 P2 ... PL ] 6 . 7 + n (5.247)
4 .. 5
xL
= Px + n . (5.248)
Each of the matrices Pi , i = 1, ..., L is cyclic because a DMT system with a cyclic prefix and the same
clock is used in all L transmitters (for instance with Zippering of Section 4.6). Thus a single DFT in
the receiver then diagonalizes each of the individual contributions. A GDFE can be directly applied in
this case to detect x1 ... xL , but an ML detector should replace the “sbs” device so that a joint decision
then occurs on the ensemble of L inputs from the di↵erent input locations for best performance.
Tonal GDFE
Of interest is the special case where the receiver also has L independent observations (i.e., L lines or L
receiver antennas, each with channel matrix Pi,j i = 1, ..., L ; j = 1, ..., L ) and thus
2 3 2 32 3
y1 P1,1 P1,2 ... P1,L x1
6 y 2 7 6 P2,1 P2,2 ... P2,L 7 6 x2 7
6 7 6 76 7
y=6 . 7=6 . .. .. .. 7 6 .. 7 + n . (5.249)
4 .. 5 4 .. . . . 5 4 . 5
yL PL,1 PL,2 ... PL,L xL
After a receiver DFT on each output y i to generate Y i , there will be a sum of contributions of all the
inputs X i into each and every Y i . These contributions, because of the DMT structure however will be
independent for each tone, meaning
L
X
Yn,i = Pn,i,j Xn,j + Nn,i , (5.250)
j=1
where Pn,i,j is the nth -tone DFT value for the channel response from input j to output i (that is the
DFT of the cyclic matrix Pi,j ’s first row. By creating a new matrix channel for each tone n,
2 3 2 32 3
Yn,1 Pn,1,1 Pn,2 ... Pn,L Xn,1
6 Yn,2 7 6 P n, 2, 1 Pn,2,2 ... Pn,2,L 7 6 Xn,2 7
6 7 6 76 7
Yn=6 . 7=6 .. .. .. .. 7 6 .. 7 + N n . (5.251)
4 .. 5 4 . . . . 5 4 . 5
Yn,L Pn,L,1 Pn,L,2 ... Pn,L,L Xn,L
566
MIMO” in wireless, and sometimes also called “MU-MIMO” in wireless where MU means multi-user and
each of the dimensions corresponds to a user in a di↵erent location. These systems are called “Vectored
DSLs” in wireline.
For each tone, the designer has the choice of using either G = I (vector coding) or G 6= I for
the triangular GDFE. The triangular form is preferred because vector coding (with G + I) requires
coordination (i.e., the vector matrix Mn ) on the transmit side, which is not physically possible. Thus
a triangular GDFE for the square Pn is used. Input singularity can be trivially avoided by judiciously
exciting all N input dimensions on at least one with non-zero energy over the L transmitters, insuring
e↵ectively that An = I and can be ingored in implementation (corresponding to no transmitter-side
coordination). Since the input is white, a simple sbs GDFE on each tone achieves canonical performance.
“Vector OFDM” in is used in the LTE 4G standard for wireless transmission as well as in the IEEE
802,11ac and 11ax Wi-Fi standards, where they are often called “MU-MIMO.” Vector OFDM places
all complexity of the GDFE at the base-station side where more computing power is usually available
and coordination is possible. In wireless, coding is used with constant bit loading on all dimensions.
Vectored DMT with adaptive loading is used in upstream vectored DSL. Chapter 13 develops multi-user
loading algorithms for this situation.
567
5.5 Transmit Optimization for the GDFE
The GDFE depends upon an input covariance Rxx , which can be any autocorrelation matrix. There is
one Rxx that maximizes the SNRgdfe and is thus considered to be optimum for packet transmission.
This section revisits determination of this Rxx through finite-length symbol partitioning and subsequent
water-fill loading. Subsection 5.5.1 returns to vector coding to compute the best Rxx while also revisiting
briefly the set of parallel channels thus derived. Subsection 5.5.2 then visits the construction of this best
Rxx using the triangular white input of the GDFE, requiring a generalization of Cholesky factorization.
Subsection 5.5.3 then specificially investigates loading for the GDFE and the inherent interpolation in
the transmit signal construction.
The Circulant DFE of Subsection 5.4.3 has the same performance as DMT when both have the
same P , Rnn , and Rxx . The CDFE can also converge to a set of the MMSE-DFEs of Chapter 3.
Section 5.5.4 studies the CDFE and uses a DMT system to optimize the performance of a CDFE by two
methods – digital interpolation of sampling rate and analog interpolation of sampling rate, finding both
in best cases more complex than the original DMT system, but with the same performance at any block
size N and guard-period ⌫. The optimization of symbol rate and carrier frequency is equivalent to the
interpolation in the generalized-Cholesky and CDFE of Subsection 5.5.3.
z = Rf u + n0 = |⇤|2 u + n0 = diag(| n|
2
· un + n0n ) , (5.253)
where n0 has autocorrelation matrix Rn0 n0 = |⇤|2 . The SNR26 of each subchannel is SNRn = En · | n|
2
.
The backward channel has
Rb 1 = S0 = Rf + Suu1 = diag(| n|
2
+ En 1 ) , (5.254)
or
En
Rb = Ree = diag( ) . (5.255)
1 + SNRn
Equation (5.255) validates the relation concerning the (biased) SNR on each channel of the GDFE
Bias removal on each subchannel then provides an unbiased SNR for the GDFE and backward-canonical
channel (MMSE case) of
SNRgdf e,u,n = SNRgdf e,n 1 = SNRn . (5.257)
The unbiased SNR on each of the forward subchannels in (5.253) is also SNRn meaning that the forward
and backward channels, in the special case of Vector Coding (A = M 0 , N ⇤ columns of M ) are the same.
The best structure of VC thus exhibits a unique property within the set of all GDFE-like systems: ZF
and MMSE are the same in this very special case. Recall in Chapter 3 that this occurred with nonzero
noise only when there is no ISI (Q(D) = 1), while in VC it is occurring with ISI overall, and because
there is no ISI component in the MMSE on any of the independent subchannels in this special case.
The VC receiver, which does not have a feedback section, essentially just multiplies by ⇤ 1 F ⇤ ,
which is equivalent to the combination of matched filtering by P̃ ⇤ , feedforward filtering by S 0 1 M ⇤ , and
26 Recalling that includes the e↵ect of the noise normalization in (5.232), the gn of Chapter 4’s loading discussion is
n
gn = | n |2 here.
568
removing bias on each subchannel:
✓ ◆
SNRn + 1
diag S0 1 M ⇤ P̃ ⇤ (5.258)
SNRn
✓ 2 1
◆ ✓ ◆
| n| + En 1
= diag 2
· diag 2+E 1
· ⇤⇤ F ⇤ (5.259)
| n| | n | n
✓ ◆
1 ⇤ ⇤
= diag 2
· diag( n )F (5.260)
| n|
✓ ◆
1
= diag F⇤ (5.261)
n
= ⇤ 1
F⇤ . (5.262)
This unbiased feedforward section then simply completes the parallelization into subchannels and scales
each subchannel by | n |2 . The subchannels created can and usually do carry di↵erent amounts of
information: For any {En } ! {SNRn } distribution,
✓ ◆
1 SNRn
b̄n = log2 1 + (5.263)
2
and b̄n = I¯n when = 0 dB. Exceptionally important is that in the DMT/VC case, the (unbiased
MMSE) error on each subchannel contains no component of the signal in this special GDFE, as the
Subsection 5.5.1 elaborates:
Since di↵erent choices of the input realization lead to di↵erent SNRn sets, a non-zero gap causes SNRgdf e
to vary with the particular set of SNRn ’s. All GDFE’s will have the same SNRgdf e,u = 22I(x y ) 1 only
¯
when = 0 dB.
Theorem 5.5.1 (VC/DMT Optimality at non-zero Gap) Vector coding (which has a
special case DMT when cyclic prefixes are used) has the highest SNR amoung all GDFE’s
for the same channel and input when the gap is non-zero, > 0 dB.
proof: Because there is no component of the error caused by the signal when VC is used,
division by the gap on each subchannel is a true measure of performance of that subchannel.
The overall gap works just as well as does the gap formula on each of the subchannels for
VC/DMT. However, with an SNR that has a MMSE component depending on the signal,
then multiplication of this “distortion” or MSE by > 0 increases the signal component
of the MSE also (but that signal component did not increase since the transmit power was
not increased). Thus, the overall SNR computed according to (5.264) will be too low on
each subchannel, and indeed then the product of such terms is also lower than the exact
SNRgdf e,u = · (22I(x y ) 1) of the VC/DMT system. Further, VC/DMT is exactly an ML
¯
detector while the GDFE is not, guaranteeing at least slightly higher VC/DMT performance.
QED.
569
The computed SNR of other GDFE’s may thus actually under-estimate the performance of the GDFE
system when > 0 dB, and after all, the gap was an approximation anyway. However as the proof notes,
because the VC/DMT detector is maximum likelihood, and since the SNR accurately represents exactly
what is happening on each subchannel, then no other detector could have better performance. Since
the SNRgdf e is directly related (via the gap) to a constant probability of symbol error associated with
the gap for the number of bits transmitted on each subchannel, the overall probability of symbol error
for the VC/DMT system is that same value. However, for other GDFE’s, the error is not Gaussian for
non-zero gaps, and thus the detector is thus no longer exactly ML, and its performance is worse than a
VC/DMT detector unequivocally (even if the SNR calculation is somewhat in error and the SNR-based
approximation underestimates performance for non-VC/DMT GDFE’s, that performance cannot be as
good as the VC/DMT anyway). Further, a larger gap means a larger deviation in computed SNR.
EXAMPLE 5.5.1 As an example, the 1 + .9D 1 channel DMT example of Section 4.6
provided for N = 8 produced for = 0 dB an SNRDM T = 7.6 dB exactly equal to the
CDFE SNR for that same channel and input in Section 5.4. However, if those examples are
reworked (which the student can do as an exercise) with = 8.8 dB, the two SNR’s are then
a di↵erence of almost 1 dB. These SNR’s are higher than the true SNR of 7.6 dB but do
not represent higher performance because a gap of 8.8 dB essentially means performance is
as if the noise were 8.8 dB larger than at capacity-achieving codes (so performance of the
non-zero DMT system would be 9.5-8.8 or 0.7 dB, compared with 7.6 dB when the gap is 0
dB). The 8.6 dB may be low, but overall performance cannot exceed 9.5 dB.
The problem of maximization of a set of parallel channels with mutual information I(x; y), which is
what the GDFE has created, is solved by water-filling. The solution is then
1
En + =K (5.267)
| i |2
where K is a constant determined either the data rate (MA problem) or energy constraint (RA) problem.
In the RA case,
SNRgdfe,u = 22C̄ 1 , (5.268)
where C̄ is the capacity or maximum value for I(x; y) The number of bits on each subchannel is
1
b̄n = c̄n = log2 (1 + SNRn ) . (5.269)
2
The water-filling procedure determines N ⇤ , the number of used input dimensions. Those dimensions with
zero energy are eliminated from the GDFE in the input-singularity-elimination step owhen constructing
the canonical forward and backward channels.
The optimum covariance is then
⇤
N
X
Rxx (opt) = Rx0 x0 (opt) = En · mn m⇤n , (5.270)
n=1
570
5.5.3 Using the optimized Rxx in the Triangular GDFE
1/2
To optimize the triangular GDFE, the designer first constructs M by SVD of the channel matrix Rnn P ,
and then computes the water-filling subchannel energies, before finally computing the optimum Rxx as
in (5.270). Other input energy distributions can also be used, and the procedure in this Section applies to
any Rxx that may be singular by whatever construction used to design that Rxx . The implementation
of a non-VC triangular GDFE can admit recursive causal implementation of the transmit packet, i.e.
from v to best Rxx . Such an implementation may be of interest for several reasons, some of which are
related to the desire for a single-sided GDFE’s implementation as in Sections 5.3.6 and 5.3.7.
The objective is a relationship
x = Av , (5.271)
where Rvv is diagonal, and where A is generalized triangular as defined next:
Definition 5.5.1 (Generalized Triangular) An (N + ⌫) ⇥ N ⇤ matrix A is generalized
triangular if the lower N ⇤ rows are upper triangular. The remaining rows can be arbitrary.
A generalized triangular matrix essentially interpolates in a step-by-step causal-like manner from a set
of N ⇤ white-input samples vn to a larger set of N + ⌫ modulator-output samples.
571
~
Gx N +ν − N *
x"
*
v" Gx N* N +ν dimensions
N dimensions
which can be computed by conventional means.27 The rightmost N ⇤ positions in the upper N + ⌫ N ⇤
rows of Rxx are called Rxv̄ xv , which is the (N + ⌫ N ⇤ ) ⇥ N ⇤ cross-correlation matrix between xv
and xv̄ . then
1
Rxv̄ xv Gx ⇤ Rvv G̃x
A= = (5.275)
Gx Gx
is generalized triangular, and x = Av and also
The input can then be generated in a causal manner with the last N + ⌫ N ⇤ samples being generated
from only previous inputs (so strictly causal) as shown in Figure 5.5.2.
The following example illustrates the basic procedure.
EXAMPLE 5.5.2 (Generalized Cholesky and GDFE for 1 + .9D 1 Channel.) The
singular Rx0 x0 for the pass space of the channel with white input was previously found to
be (Example 5.4.1) 2 3
.5945 .3649 .3285
Rx0 x0 = 4 .3649 .6715 .2956 5 . (5.277)
.3285 .2956 .7340
This matrix will be considered now to have been provided as a desired input autocorrelation.
Then Generalized Cholesky proceeds as follows with the Matlab instructions simply inserted
for the reader convenience and understanding:
>> P=(1/sqrt(.181))*[.9 1 0
0 .9 1] = 2.1155 2.3505 0
0 2.1155 2.3505
>> [F,L,M]=svd(P)
27 The correct upper triangular matrix is not directly computed in Matlab. The Matlab command to compute this
desired upper form is chol(JRuu J), where J has all ones down the anti-diagonal and zeros elsewhere. Pre- and post-
multiplication of the resultant matrix by J, and then taking congugate transpose produces intermediate upper triangular
matrix Gxbar. Finally, removal of diagonal terms by post multiplication generates Gx=Gxbar*inv(diag(diag(Gxbar))) or
thus obtains the Gx used in this text. Rvv is diag(diag(Gxbar))*diag(diag(Gxbar). For matlab command examples, see
Examples 5.5.2, 5.5.3, and 5.5.4.
572
F= -0.7071 -0.7071 L= 3.8694 0 0 M= -0.3866 -0.6671 0.6368
-0.7071 0.7071 0 2.2422 0 -0.8161 -0.0741 -0.5731
-0.4295 0.7412 0.5158
>> Mt=M(1:3,1:2) = -0.3866 -0.6671
-0.8161 -0.0741
-0.4295 0.7412
>> rxx=Mt*Mt’ =
0.5945 0.3649 -0.3285
0.3649 0.6715 0.2956
-0.3285 0.2956 0.7340
>> Gxbar=(J*chol(J*rxx(2:3,2:3)*J)*J)’ = 0.7433 0.3451
0 0.8567
>> Gx=Gxbar*inv(diag(diag(Gxbar))) = 1.0000 0.4028
0 1.0000
>> rvv=(diag(diag(Gxbar)))*(diag(diag(Gxbar))) =
0.5525 0
0 0.7340
>> Gx*rvv*Gx’ (check) = 0.6715 0.2956
0.2956 0.7340
>> A=[rxx(1,2:3)*inv(Gx’)*inv(rvv) % tildeGx
Gx] =
0.9000 -0.4475
1.0000 0.4028
0 1.0000
>> A*rvv*A’ (another check) 0.5945 0.3649 -0.3285
0.3649 0.6715 0.2956
-0.3285 0.2956 0.7340
>> Pt=P*A = 4.2544 0.0000
2.1155 3.2025
>> Rf=Pt’*Pt =
22.5751 6.7748
6.7748 10.2562
>> Rbinv=Rf+inv(rvv) =
24.3851 6.7748
6.7748 11.6187
>> Gbar=chol(Rbinv) = 4.9381 1.3719
0 3.1203
>> G=inv(diag(diag(Gbar)))*Gbar = 1.0000 0.2778
0 1.0000
>> S0=diag(diag(Gbar))*diag(diag(Gbar))=
24.3851 0
0 9.7365
>> 10*log10(det(S0*rvv)^(1/3)-1) = 5.5427 dB
This is exactly the same value as obtained previously. The input matrix A is generalized
triangular. By chance, the earlier Example 5.3.3 using this channel without generalized
Cholesky happened to have a zero in the M matrix in just the right place that the resultant
A then was also generalized triangular. This does not occur in general, and is just a result
of the particular values in that case. Nonetheless, this example illustrates the Generalized
Cholesky procedure always ensures a generalized triangular “causal” input by construction
for the GDFE.
573
5.5.4 CDFE with Causal Triangular input
The optimum spectrum with a CDFE can be constructed from water-filling in a DMT system with
transmit IDFT matrix Q⇤ and energy distribution En on each of the tones. When the sampling rate
has been adjusted (in each band) so that all tones are used, then this input will be nonsingular. The
designer may then proceed with direct application of the triangular or circular GDFEs of Section 5.5.4
with such a nonsingular input. Example 5.5.4 later in this section takes this approach. The resampling
would of course have to be executed independently for each discontiguous band of frequency – a de-
sign and implementation nightmare. Another approach is to use a digital-interpolation technique that
separates the A-matrix “modulation” into a carrier-frequency-and-interpolation part (which is never
triangular) and a “causal” (triangular) part. This method finds the independent bands of the CDEF
by essentially extracting those same bands from a DMT design of the same block-length. That second
digital-interpolation approach appears first here in this subsection.
A good N ⇥ N Rxx is constructed for a cyclic channel P from a DMT system,28
where RXX is an N ⇥N diagonal matrix containing the DMT or OFDM input energies on the diagonal.
The matrix QN̄ is an N̄ ⇥ N̄ FFT matrix. In the case of real-baseband DMT, then (5.278) has N̄ replaced
by N = 2N̄ but the diagonal matrix RXX is such that RXX (i, i) = RXX (N i, N i) to ensure
real time-domain outputs. These vectors X and x will be respectively ordered in frequency or time from
smallest index 0 at the bottom to highest index N̄ = N̄˜ at the top. Because of the DMT system used in
design and ordering of the frequency index, it will be clear there are M 1 bands where there are ALL
nonzero entries within each contiguous-frequency band, or equivalently set of adjacent non-zero-energy
frequency indices, for RXX . In fact, each such band has N̄i i = 1, ..., M nonzero input energies and29
M
X
N̄ ⇤ = N̄i . (5.279)
i=1
The input’s information-bearing part contains non-zero tone inputs X̃, which are interpolated from N ⇤
used tones to N̄ total tones according to
X = Jg X̃ , (5.280)
where Jg is as follows:
For complex baseband x, Jg is an N̄ ⇥ N̄ ⇤ matrix with no more than one nonzero unit-value entry
in each row (and all zeros in N̄ N̄ ⇤ of the rows) with structure
2 3
0N̄z,M +1 ⇥N̄M 0N̄z,M +1 ⇥N̄M 1 ... 0N̄z,M +1 ⇥N̄1
6 IN̄M ⇥N̄M 0N̄M ⇥N̄M 1 ... 0N̄M ⇥N̄1 7
6 7
6 0N̄z,M ⇥N̄M 0N̄z,M ⇥N̄M 1 ... 0N̄z,M ⇥N̄1 7
6 7
6 0N̄z,M 1 ⇥N̄M IN̄M 1 ⇥N̄M 1 ... 0N̄z,M 1 ⇥N̄1 7
Jg = 6 7 , (5.281)
6 .. .. .. .. 7
6 . . . . 7
6 7
4 0N̄z,1 ⇥N̄M 0N̄z,1 ⇥N̄M 1 ... IN̄1 ⇥N̄1 5
0N̄z,1 ⇥N̄M 0N̄z,1 ⇥N̄M 1 ... 0N̄z,1 ⇥N̄1
For the real baseband case, Jg is a more complicated N ⇥ N ⇤ matrix. Some additional definitions are
necessary. First, only band 1 can contain the single-real-dimensional DC frequency and only band M can
contain the single-dimensional Nyquist frequency. The remaining bands will all have Nm non-zero real
dimensions and Nz,m zeroed real dimensions, m = 2, ..., M 1. Each of these bands has corresponding
images for dimensions n > N/2 that have the same number of zeroed and non-zero real dimensions.
+
However, band m = 1 will have Nz,1 zeroed real dimensions and N1+ non-zero real dimensions, one of
which will include DC or n = 0. Thus, when DC carries no information (whence the superscript of +
28 This procedure works for any DMT energy distribution, not just limited to, but of course including, water-filling.
29 the total number of real dimensions is, as always consistently, Ni = 2N̄i , twice the number of complex tones.
574
+ +
for “positive frequences”), there will be Nz,1 = Nz,1 1 image zeros, and otherwise Nz,1 = Nz,1 image-
zeroed real dimensions. Similarly N1 will be the number of non-zero image real dimensions and equal
to N1+ 1 when DC carries information and equal to N1+ when DC carries no information. Band M
+
can include Nyquist, either with zero or non-zero energy: this leads to Nz,M = Nz,M + 1 when Nyquist
+ +
carries no information and Nz,M = Nz,M otherwise. Similarly, NM = NM + 1 when Nyquist does carry
+
information and Nz,M = Nz,M otherwise. With these definitions Jg for the real baseband case becomes
2 3
Jg 0N ⇥ PM 1
N1 +NM + Nm
Jg = 4 PM
2 m=2 5 , (5.282)
0N ⇥ N1+ +NM
+
+
1
Nm
Jg+
2 m=2
and 2 3
0N + +
⇥NM 0N + ⇥NM 1
... 0N + ⇥N1+
z,M z,M z,M
6 I + + 0N + ⇥NM ... 0N + ⇥N + 7
6 NM ⇥NM 7
6 M 1 M 1
7
6 0Nz,M 1 ⇥N + 0Nz,M 1 ⇥NM 1 ... 0Nz,M +
1 ⇥N1
7
6 M 7
6 7
Jg+ = 6 0NM 1 ⇥NM + INM 1 ⇥NM 1 ... 0NM +
1 ⇥N1 7 . (5.284)
6 .. .. .. 7
6 . . ..
. 7
6 7
6 0 + + 0N + ⇥NM 1 ... IN + ⇥N + 7
4 N1 ⇥NM 1 1 1
5
0N + ⇥N + 0N + ⇥NM 1 ... 0N + ⇥N +
z,1 M z,1 z,1 1
Since the zero-energy tones between the bands carry no information, a nonsingular input u can be
associated with only the information-carrying (non-zero input) tones in two cases as:
• complex case M size-N̄i IFFT’s Q⇤N̄i or
For the real baseband-DMT case, the additional subdivision of an FFT matrix is necessary as
QNi
QNi = . (5.286)
Q+Ni
575
has zero energy (meaning N1 is even), the corresponding non-singular time-domain input uk is e↵ectively
2⇡
modulated by e| N1 k so h 2⇡ i
2⇡
QN1 ! QN1 · diag e| N1 (N1 1) ... e| N1 (1) 1 . (5.287)
Similarly Band M’s matrix QNM is a special case where Nyquest may or may not carry nonzero energy.
When Nyquist carries zero energy, implying even NM , then no o↵set is necessary. When nonzero Nyquist
energy is carried (implying that NM is odd), the alteration is to multiply the corresponding nonsingular
| 2⇡ k/2
time-domain input uk is modulated by e NM (an o↵set of half a carrier) so
h ⇡ i
| (N 1) | ⇡ (1)
QNM ! QNM · diag e NM M ... e NM 1 . (5.288)
With these possibly modified baseband transforms, then the (correspondingly modified) matrix in 5.286
is used to form
2 3 2 3
X1 0 0 ... QN1
6 X2 7 6 .. .. .. 7
6 7 6 . . .. . 7
6 .. 7 6 72 3
6 . 7 6 0 QNM ... 0 7 uM
6 7 6 1 7
6 X 7 6
6 Q 0 ...
76
0 7 6 uM 1
7
7
X̃ = 6 M 7=6 N 76 7 = Q̃u . (5.289)
...
M
6 X+ 7 6 Q+ 0 ... 0 74 5
6 M 7 6 NM 7
6 . 7 6 0 Q+ ... 0 7
6 .. 7 6 NM 1 7 u1
6 7 6 . .. .. .. 7
4 X+ 5 4 .. . . . 5
2
X+
1 0 0 ... Q+ N1
Also, then for both real and complex cases, understanding that both Jg and Q̃ are defined di↵erently in
these cases,
X = Jg X̃ = Jg Q̃u . (5.290)
For the complex case, Equation (5.290) leads to a computation of a time-domain u autocorrelation
matrix of
Ruu = Q̃⇤ R Q̃ . (5.291)
X̃ X̃
In the real case, there is some regrouping of positive and negative frequencies together for each of the
bands in forming Ruu terms. In either the real or complex cases, if u is considered to be a stacked
vector of Ni -dimensional baseband-equivalent and decimated time-domain contributions of the di↵erent
bands. Those contributions are ui i = 1, ..., M , and
2 3
Ruu (M ) 0 ... 0
6 0 Ruu (M 1) ... 0 7
6 7
Ruu = 6 .. .. . . 7 . (5.292)
4 . . .. .. 5
0 ... 0 Ruu (1)
In the real case, it is easier from a notational standpoint to compute the Ruu (i) for the ith band
according to " #
R (i) 0
⇤
Ruu (i) = Q̃N̄i X̃ X̃ Q̃N̄i (5.293)
0 R+ (i)
X̃ X̃
The relationship between the modulated channel input x and u is
x = Q⇤ X = Q⇤ Jg Q̃u . (5.294)
576
where xi is formed with all other components of uj6=i = 0. Each of these band’s baseband equivalent
could appear stationary if considered by themselves. The multiplication of u by the matrix Q⇤ Jg Q̃
essentially performs carrier modulation and interpolation (including the construction of the baseband
equivalent). The minimal number of bands is M , but it is possible to subdivide a band into adjacent
subbands and execute the same procedure. In the limit, if each band is subdivided into its constituent
DMT frequencies used in water-filling, the entire modulation reduces to DMT.
The non-white inputs ui can be related to white inputs v i by the usual Cholesky factorization
or
Ruu (i) = Gu (i)Rvv (i)G⇤u (i) , (5.297)
breaking the Cholesky factorization into M such factorizations. Gu is block diagonal with each block
upper triangular. The blocks are of di↵erent sizes when the Ni are di↵erent. The matrix A for CDFE
construction is then
A = Q⇤ Jg Q̃ · Gu . (5.298)
| {z } |{z}
fc,i mods causal bb-equiv filter
The Gu will converge to stationary filters in the middle rows of the Cholesky factors of each block
as the individual block lengths Ni ! 1. These are the baseband-equivalent transmit filters of the
corresponding M MMSE-DFE’s, each e↵ectively operating at a sampling rate equal to the optimized
symbol rate for that subchannel of the MMSE-DFE system.
In fact, any nonsingular input with transmit matrix Q and En 6= 0 8 n = 1, ..., N can be used
to construct an acceptable (PW satsifying) input for a CDFE. Such an input necessarily will have a
circulant Rxx = Q⇤ diag{En }Q (the IDFT in this form always produces a circulant matrix). Thus, the
CDFE channel input Rxx is circulant, and the resultant x represents a sum of contributions from the
di↵erent bands. As N ! 1, the diagonal terms of En will become constant, and the rows of Gu ! G(D)
become the feedback sections for each DFE as in Section 5.6.
Then for complex systems, the actual carrier frequencies of each band are (where i is the first
nonzero tone index of the ith band)
✓ ◆
2⇡ N̄i
fc,i = fc + + i , (5.299)
NT0 2
EXAMPLE 5.5.3 (Real baseband optimized CDFE for 0dB Gap) The 1 + .9D 1
example 4.6.1 is revisted here with a gap of 0 dB and the CDFE. The following matlab
commands illustrate the sequence of computations
577
interpolation carrier
modulation
uM X̂ M XM
vM Gu (M ) FFT(M)
N M*
1
T'
..
. e j 2pf ct
ui X̂ Xi
( )
! m x
x(t )
D
Jg ´
FFT(m)
v
! m G m IFFT
Cyclic
prefix
A Â
! u !
*
N !
m C
..
. N
u1 X̂1 X1
Gu (1)
v1 FFT(1)
N1*
1
variable j 2pf c ,M t
TM* e
xM (D ) D
vM (D) G x, M (D ) A
´ Â
C
.. 1
. variable! * j2π fc ,mt
!
Tm
!e
( )
xm D
( )
D
v D
! m G
! x ,m
D ! ( ) A
C
´ Â + x(t )
.. 1
. variable j2π fc ,1t
T1*
!e
x1 (D )
( )
D
v1 (D) G D
! x ,1
A
C
´ Â
Figure 5.31: Comparison of interpolated CDFE transmitter structure for multiple bands with the infinite-
length multi-MMSE DFE transmitter. (FFT’s for Bands 1 and M may contain rotation factor for zero
DC or non-zero Nyquist in real baseband case.)
578
Carrier
demodulation decimation I - GM
1 yM
IFFT(M) SBS
T' N M* S0-,1M × GM-* + v̂ M
j 2pf c t
e ..
.
D y I − Gm
!
y (t )
y
´
phase A Cyclic -1
split C strip R ×P
nn
*
FFT ! m
J * IFFT(i)
S −1 ⋅G −* + SBS v̂
g N* ! ! m
! m ! 0,m m
..
N .
y1 I - G1
IFFT(1)
Note only N1* S0-,11 ×G1-* + SBS v̂1
Cyclic
-1
Rnn × P* j 2pf c ,M t
variable
1
TM*
Commutes, e 1 - GM (D)
D y M (D )
But ~ cyclic
As N à large
´ A
C
MS-WMF(M) + SBS vˆM (D)
.. 1 ..
. variable! * .
j2π fc ,mt Tm
!e ! 1− Gm D ( )
( ) !
y (t ) D ym D
!
´ ( )
phase MS-WMF(m)
A + SBS v̂ D
split ! m
C
..
1 .
variable
j2π fc ,1t T1*
!e ( )
1− G 1 D
D
y1 (D)
´ A
C
MS-WMF(1) + SBS vˆ1 (D)
Figure 5.32: Comparison of decimated CDFE receiver structure for multiple bands with infinite-length
multi-MMSE DFE receiver. (IFFT’s for Bands 1 and M may contain rotation factor for zero DC or
non-zero Nyquist in real baseband case.)
579
Nstar = 7
b_bar = 1.3814
>> 10*log10(2^(2*b_bar) -1) = 7.6247 dB
>> rXX=diag([en_bar(8:-1:1)]) =
1.2329 0 0 0 0 0 0 0
0 1.1916 0 0 0 0 0 0
0 0 0.9547 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0.9547 0 0 0
0 0 0 0 0 1.1916 0 0
0 0 0 0 0 0 1.2329 0
0 0 0 0 0 0 0 1.2415
1.2329 0 0 0 0 0 0
0 1.1916 0 0 0 0 0
0 0 0.9547 0 0 0 0
0 0 0 0.9547 0 0 0
0 0 0 0 1.1916 0 0
0 0 0 0 0 1.2329 0
0 0 0 0 0 0 1.2415
>> J=hankel([zeros(1,7),1]);
>> Q=(1/sqrt(8))*J*fft(J);
>> J7=hankel([zeros(1,6),1]);
>> Qtilde=(1/sqrt(7))*J7*fft(J7);
>> ruu=real(Qtilde’*rXXbar*Qtilde) =
>> Gubar=(J7*chol(J7*ruu*J7)*J7)’ =
>> Gu=Gubar*inv(diag(diag(Gubar))) =
580
1.0000 0.0716 -0.0335 0.0072 0.0149 -0.0375 0.0660
0.0000 1.0000 0.0692 -0.0330 0.0082 0.0123 -0.0330
0.0000 0.0000 1.0000 0.0690 -0.0335 0.0095 0.0101
0.0000 0.0000 0.0000 1.0000 0.0691 -0.0338 0.0101
0.0000 0.0000 0.0000 0.0000 1.0000 0.0685 -0.0330
0.0000 0.0000 0.0000 0.0000 0.0000 1.0000 0.0660
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 1.0000
>> rvv=(diag(diag(Gubar)))*(diag(diag(Gubar))) =
1.1289 0 0 0 0 0 0
0 1.1347 0 0 0 0 0
0 0 1.1360 0 0 0 0
0 0 0 1.1360 0 0 0
0 0 0 0 1.1363 0 0
0 0 0 0 0 1.1379 0
0 0 0 0 0 0 1.1429
>> Jg = [
1 0 0 0 0 0 0
0 1 0 0 0 0 0
0 0 1 0 0 0 0
0 0 0 0 0 0 0
0 0 0 1 0 0 0
0 0 0 0 1 0 0
0 0 0 0 0 1 0
0 0 0 0 0 0 1 ];
>> A=real(Q’*Jg*Qtilde*Gu) =
>> C=[.9
zeros(6,1)
1];
>> R=[.9 1 0 0 0 0 0 0];
>> P=toeplitz(C,R) =
0.9000 1.0000 0 0 0 0 0 0
0 0.9000 1.0000 0 0 0 0 0
0 0 0.9000 1.0000 0 0 0 0
0 0 0 0.9000 1.0000 0 0 0
0 0 0 0 0.9000 1.0000 0 0
0 0 0 0 0 0.9000 1.0000 0
0 0 0 0 0 0 0.9000 1.0000
581
1.0000 0 0 0 0 0 0 0.9000
>> Pt=(1/sqrt(.181))*P*A =
>> Rf=Pt’*Pt =
>> Rbinv=Rf+inv(rvv) =
>> Gbar=chol(Rbinv) =
>> G=inv(diag(diag(Gbar)))*Gbar =
>> S0=diag(diag(Gbar))*diag(diag(Gbar)) =
582
12.3065 0 0 0 0 0 0
0 10.7190 0 0 0 0 0
0 0 10.4057 0 0 0 0
0 0 0 10.3269 0 0 0
0 0 0 0 10.3107 0 0
0 0 0 0 0 10.3104 0
0 0 0 0 0 0 8.3049
7.6247 dB
>> W=inv(S0)*inv(G’) =
0.0813 0 0 0 0 0 0
-0.0402 0.0933 0 0 0 0 0
0.0230 -0.0471 0.0961 0 0 0 0
-0.0127 0.0267 -0.0488 0.0968 0 0 0
0.0047 -0.0144 0.0276 -0.0493 0.0970 0 0
0.0039 0.0047 -0.0145 0.0276 -0.0492 0.0970 0
-0.0660 0.0284 -0.0056 -0.0124 0.0321 -0.0611 0.1204
EXAMPLE 5.5.4 (CDFE for 1 + .9D 1 channel) Water-fill loading for DMT modula-
tion on the 1 + .9D 1 channel appeared as an example in Section 4.6. There and here, N = 8
and ⌫ = 1 with energies
n 0 1 2 3 4 5 6 7
En 1.24 1.23 1.19 .96 .96 1.19 1.23 0
Or, equivalently from matlab
Figure 5.33 helps illustrate the resampling at a lower rate 7/8 instead of the original rate 1.
The channel is sampled at rate 1/T ⇤ = 7/8 or equivalently T ⇤ = 8/7 and all tones will now
be used. The symbol period is now 64/7, corresponding to 8 samples at spacing T ⇤ = 8/7.
583
(T ')* = 8 s ; N = 7 ;ν = 1 ; T = (N +ν )⋅ T '* =
64
s
7 7
1.24% Ex 64
Px = = 1 W ; Ex = W/Hz
1.23%
T 7
7
Ex (DMT loading ) = ⋅ Ex = 8 W/Hz
1.19%
8
.96%
New%fully%used%
Nyquist%Band%
Old%
Nyquist%Band%
1
Figure 5.33: Resampled 1 + .9D channel.
584
The DFT size will be N = 7 in this case, allowing for one sample of cylic prefix. A TEQ
might be necessary to restore intersymbol interference to one sample, but since ISI is less
than the original invocation of this example over a wider band, we assume any TEQ loss to
be negligible. To maintain the same power, Ex = 64/7, but because 1/8 of this energy is lost
in the cyclic prefix, the energy available for DMT loading is 8 units.
The following sequence of matlab commands shows the resampling interpolation:
>> D=exp(j*[0:100]*(7/8)*.01*pi);
>> P7=sqrt(8/7)*(ones(1,101)+.9*D);
>> P7=[P7,conj(P7(101:-1:2))];
>> p7=real(ifft(P7));
>> p=[p7(200:201),p7(1:5)] =
>> P=toeplitz([p(1),p(7:-1:2)]’,p) =
>> P=sqrt(1/.181)*P =
This channel will now have the water-fill input energies allocated to it, as executed by the
following matlab commands:
>> J7=hankel([zeros(1,6),1]’) =
0 0 0 0 0 0 1
0 0 0 0 0 1 0
0 0 0 0 1 0 0
0 0 0 1 0 0 0
0 0 1 0 0 0 0
0 1 0 0 0 0 0
1 0 0 0 0 0 0
>> Q7=(1/sqrt(7))*J7*fft(J7);
>> rXX=diag([1.23,1.19,.96,.96,1.19,1.23,1.24]);
>> rxx=real(Q7’*rXX*Q7) =
585
0.0735 1.1429 0.0735 -0.0364 0.0115 0.0115 -0.0364
-0.0364 0.0735 1.1429 0.0735 -0.0364 0.0115 0.0115
0.0115 -0.0364 0.0735 1.1429 0.0735 -0.0364 0.0115
0.0115 0.0115 -0.0364 0.0735 1.1429 0.0735 -0.0364
-0.0364 0.0115 0.0115 -0.0364 0.0735 1.1429 0.0735
0.0735 -0.0364 0.0115 0.0115 -0.0364 0.0735 1.1429
The designer then relates this input to a diagonal input over the new interpolated band easily
because it is nonsingular, via Cholesky factorization.
>> Gxbar=(J7*chol(J7*rxx*J7)*J7)’ =
>> Gx=Gxbar*inv(diag(diag(Gxbar))) =
>> rvv=diag(diag(Gxbar))*diag(diag(Gxbar)) =
1.1297 0 0 0 0 0 0
0 1.1352 0 0 0 0 0
0 0 1.1363 0 0 0 0
0 0 0 1.1364 0 0 0
0 0 0 0 1.1366 0 0
0 0 0 0 0 1.1381 0
0 0 0 0 0 0 1.1429
The proximity of the input with resampling to a white input in that Gx is close to a diagonal
matrix, converging to Gx (D) = 1 + .07D. The CDFE then follows in the usual manner:
>> Pt=P*Gx
Pt =
586
2.8156 0.0540 -0.0081 -0.0375 0.0868 -0.3343 2.3765
2.2078 2.9691 -0.0237 0.0094 -0.0025 0.0001 -0.1801
>> Rf=Pt’*Pt
Rf =
>> Rbinv=Rf+inv(rvv)
Rbinv =
>> Gbar=chol(Rbinv)
Gbar =
>> G=inv(diag(diag(Gbar)))*Gbar
G =
>> S0=diag(diag(Gbar))*diag(diag(Gbar))
S0 =
587
13.7802 0 0 0 0 0 0
0 11.8218 0 0 0 0 0
0 0 11.2951 0 0 0 0
0 0 0 11.1342 0 0 0
0 0 0 0 11.0824 0 0
0 0 0 0 0 11.0815 0
0 0 0 0 0 0 8.3792
Thus, the higher SNR must be interpreted in terms of a larger number of bits per dimension
to obtain the same data rate, or reducing the SNR by the factor of 10 log10 (8/7) = 1.3
dB produces 7.6 dB again. In this case, the good DFE performance is obtained by analog
resampling rather than the digital interpolation. Analog resampling appears simpler here,
but such a variable sampling device would have to cover the range of channel bandwidths in
practice, often a much more difficult analog design than using the FFT-based interpolation
in digital-signal processing.
The upper rows again converge to a nearly constant feedback filter. As N ! 1, these upper
rows would converge to the G(D) of the MMSE-DFE for this new sampling rate on this
channel of 1/T = 7/8, which looks close to 1 + .55D .04D2 . The combination of matched
filter and feedforward matrix is
>> W=inv(S0)*inv(G’)*Pt’ =
which appears to be W (D) ⇡ .16 + .2D 1 plus other smaller terms. A larger N is necessary
to see the types of 10-tap feedforward filters for this example that were found to be necessary
in Chapter 3.
As ! 0, the CDFE and DMT perform the same when the resampling/interpolation have been
executed for the CDFE, both have nonsingular, and the same, Rxx . DMT would clearly be preferred,
because it has no feedback section and can be implemented with N log2 (N ) operations as compared to
N 2 for the CDFE. Also, DMT has a higher SNR for any non-zero gap, and thus would be better in
any practical system where gaps must be greater than 0 dB. The CDFE may see many internal values
of the matrix G and the feedforward filter becoming zero or negligible, thus allowing a highly channel-
dependent computational reduction. In Example 5.5.4, with 6 feedforward taps and 3 feedback taps,
the receiver complexity per 8-sample symbol is 48+24 or 72 operations/symbol. The DMT system of
same block size has 8 log2 (8) = 24 operations/symbol, 3 times less complex. In Example 5.5.3, the
CDFE receiver complexity is 1.5N 2 + N per symbol, or 104 operations per sample (but does avoid the
resampling, which was not included in the complexity calculation for Example 5.5.4.) In general, any
588
MMSE-DFE that requires more than log2 (N ) taps in both feedback and feedforward filters together to
approximate the same performance as a DMT system of symbol length N would be more complex to
implement. For example, when N = 16 even at the higher sampling rate of 1/T = 1, DMT achieves the
maximum of 8.8 dB on the 1 + .9D 1 channel. However, a CDFE or MMSE-DFE clearly requires more
than log2 (N = 16) = 4 taps to achieve such a high SNR on this channel for this channel (the feedforward
filter of the CDFE in the example already has more than 4 taps that cannot be ignored at N = 7).
In practice, no matter how severe the channel ISI, DMT requires log2 (N ) operations per sample,
while the CDFE would need to have the capability to perform up to N operations per sample. The
CDFE is nearly always more complex than DMT, no matter what the channel for any specific choice of
N . If some of the coefficients of CDFE filters are “zero at the end,” then in those situations complexity
and delay are less than N . In order for this complexity to reduce below the log2 (N ), it is likely the
channel has very mild intersymbol interference, for which analog resampling was used to reduce the ISI,
but then DMT can use a smaller N also, and still likely get the same performance. No known examples
of lower CDFE complexity are known to the author. Thus, on severe ISI channels, the complexity
advantage is likely to be large for DMT while as the ISI severity decreases, the complexity advantage
diminishes to the case of the AWGN channel with no ISI, in which case both have the same complexity
and performance ( = 0 dB, N = 1, and ⌫ = 0). The sole possible reason for using a MMSE-DFE might
be that with continuous transmission, the length of the equalizer filters might lead to a delay of less
than N as Example 5.5.4 shows a bit, thus leading with very long block lengths to a shorter delay to get
essentially the same SNR – equivalently, there is no “resetting” of the packet to length N necessary in a
very long N CDFE as the transmitter and receiver simply ignore block boundaries and use MMSE-DFE
continuously. However, = 0 dB implies infinite coding and decoding delay, so a better delay would
then be mitigated.
A last example shows a 2-band optimization, and was provided by former student (and teaching
assistant) Dr. Haleema Mehmood. This example should help students with any multi-band channel
analysis they may encounter in the field as almost all the detailed matrix issues arise in this example.
Haleema Mehmood’s Two-Band Example (thanks to former TA and graduate student Dr.
Haleema Mehmood):
EXAMPLE 5.5.5 (CDFE for 1 + .5D + D2 + 0.5D3 two-band real baseband channel)
The sampling rate for a channel with H(D) = 1 + .5D + D2 + 0.5D3 is 1 MHz, and AWGN
with N20 = 0.1nW/Hz. The allowed transmission power is 0.5 mW.
The first step of optimized design begins with determination of the water-filling bandwidth
for this channel and noise, which we will initially do for a gap of 0dB.
The energy per dimension is the power times the sampling period, so .005 ⇥ 10 6 = 0.5
nW/Hz. With this and P (D) known, DMTra can be run to determine a good water-filling
solution as follows:
>> N=128;
>> N=256;
>> [gn,en,bn,Nstar,b_bar,snrdmt]=DMTra([1 0.5 1 0.5],0.1,0.5,N,0);
>> snrdmt = 8.5188 dB
>> b_bar = 1.5099
>> N=512;
>> [gn,en,bn,Nstar,b_bar,snrdmt]=DMTra([1 0.5 1 0.5],0.1,0.5,N,0);
>> snrdmt = 8.5792 dB
>> b_bar = 1.5187
589
Two-band Example Frequency response
0.7
0.6
0.5
energy/dimension
0.4
0.3
0.2
0.1
0
0 100 200 300 400 500 600
frequencies from DC to Nyquist
590
Figure 5.35: Two-band Example continued.
b̄ can be as high as 1.53 bits/dimension asymptotically, but N = 512 leads to less than 1%
loss at 1.52 Mbps. The next step finds indices for bands.
>> b2neg_start=257;
>> b2neg_end=256+find_bands(1)-1 = 369
>> b2neg_len=b2neg_end - b2neg_start +1 = 113
591
Energy distribution with 8.8 dB gap
1.2
0.8
energy/dimension
0.6
0.4
0.2
0
0 100 200 300 400 500 600
frequency dimension DC to Nyquist
592
Figure 5.37: Two Band Example Transmitter - H. Mehmood
593
zeros(29,227)
zeros(115,227-115) eye(115)];
>> Jg=[ Jgneg zeros(256,227)
zeros(256,227) Jgpos ];
>> Qtb1neg=Qtb1(1:114,:);
Qtb1plus=Qtb1(115:229,:);
Qtb2neg=Qtb2(1:113,:);
Qtb2plus=Qtb2(114:225,:);
ans =
454 454
SNR_CDFE = 8.5788 dB
594
>> G(50:56,50:56) =
>> W(50:56,50:56) =
0.0914 0 0 0 0 0 0
0.0213 0.0914 0 0 0 0 0
0.0206 0.0213 0.0914 0 0 0 0
0.0130 0.0206 0.0213 0.0914 0 0 0
0.0099 0.0130 0.0206 0.0213 0.0914 0 0
0.0075 0.0099 0.0130 0.0206 0.0213 0.0914 0
0.0060 0.0075 0.0099 0.0130 0.0206 0.0213 0.0914
>> G(400:406,400:406) =
>> W(400:406,400:406) =
0.0275 0 0 0 0 0 0
-0.0189 0.0275 0 0 0 0 0
0.0134 -0.0189 0.0275 0 0 0 0
-0.0099 0.0134 -0.0189 0.0275 0 0 0
0.0076 -0.0099 0.0134 -0.0189 0.0275 0 0
-0.0059 0.0076 -0.0099 0.0134 -0.0189 0.0275 0
0.0047 -0.0059 0.0076 -0.0099 0.0134 -0.0189 0.0275
The feeback section for band 1 (includes DC) is clearly G1 (D) = 1 0.2334D 0.1714D2
0.0497D3 0.0252D4 0.0157D5 0.0108D6 and the corresponding feedfoward section is
W1 (D) = 0.0099D 4 + 0.0130D 3 + 0.0206D 2 + 0.0213D 1 + 0.0914. The feeback section
for band 2 (includes Nyquist) is clearly G2 (D) = 1.0000 + 0.6879D 0.0143D2 + 0.0146D3
0.0099D4 and the corresponding feedfoward section is W (D) = 0.0059D 5 0.0075D 4
0.0099D 3 + 0.0134D 2 0.0189D 1 + 0.0275. The complexity per sample is roughly 25-30
multiplies, while for the DMT system it is 9, again about 3 times more complex.
One can also find the two bands with = 8.8 dB, as in Figure 5.36.
The transmitter and receiver structures are detailed in Figures 5.37 and 5.38.
595
Thus, claims that the reader may encounter that a MMSE-DFE with QAM performs the same, but is
less complex are unfounded in transmission funamentals – instead in reality, a very special e↵ort has to
be made to make the performance the same, and in which case the MMSE-DFE is always more complex.
For some reason, this misunderstanding abounds today without foundation despite e↵orts by the author
and others to correct the misinformed. The sole benefit of the CDFE, or equivalently the MMSE-DFE,
is the possibility of a shorter delay if the filter settings converge to a constant setting with many zeros
in the trailing positions. Furthermore, systems with large margin, like the 6 dB used in DSL, then
necessarily have e↵ectively larger gaps that cannot go to zero dB even with good codes. Thus, it is not
possible for the CDFE to match the performance of DMT with non zero margins.
(where Gx is monic lower triangular and Sx is diagonal) from which emerges the relation
⇥ ⇤
Ruu = M K · I ⇤ 2 M ⇤ = Q · Gx · Sx · G⇤x · Q⇤ . (5.305)
Figure 5.39 illustrates the consequent transmitter and simplified receiver when the input Q⇤ u is
represented in terms of a diagonal (“white”) x in the upper portion of Figure 5.39. The overall channel
simplifies in the lower part of the figure and is determined by monic upper triangular
Gtot = G · Gx (5.306)
for the “white” input. A ZF-GDFE for the upper system of Figure 5.39 then uses a feedback section of
G and the corresponding SNRs are
SNRn = Sx,n · Dn2 (5.307)
on each of the subchannels. Basic matrix multiplication produces
H ⇤ H = M · ⇤ 2 · M ⇤ = Q · G⇤ · D 2 · G · Q ⇤ (5.308)
596
n Rnn = I
u Hu z x̂ k
x Gx* Q H + + dec
D -1 -
Zero-forcing with WF
$!!!#!!!" Gtot = G × Gx
G
e unbias
G
Gv z x̂ k
x + + × dec Equivalent MMSE with WF (same G):
- Performance still not same, MMSE slightly better
[ ]
Ruu = M K × I - L-2 M * = Q × Gx* × Sx × Gx × Q* H = F × L × M * = D × G × Q*
Figure 5.39: Relationship diagram for the ZF-GDFE and GDFE with water-filling input choice.
K ·I = Q · Gx · Sx · G⇤x · Q⇤ + Q · G 1
·D 2
·G ⇤
· Q⇤ (5.310)
⇤
K ·G·G = Gtot · Sx · G⇤tot +D 2
(5.311)
Equation 5.311 relates that the G of QR factorization essentially determines the shape of the channel
plus noise with water-filling Ruu after equalization by the lossless transformations as in Figure 5.39.
E↵ectively the MMSE-GDFE is determined by this same G, since Figure 5.39’s structure already has
maximum mutual information. Despite the common shape, the ZF-GDFE detector will perform worse
than the MMSE-GDFE unless Gx = I, when they are the same. However, QR factorization and
Cholesky factorization are much easier to execute in a real system than is singular-value decomposition
or eigenvector decomposition. So if a nonsingular square H can be found easily, Equation (5.311)
implements a direct computation of necessary quantities and input energies
K · G⇤ G D 2
= G⇤tot · Sx · Gtot . (5.312)
The left side of (5.312) uses the quantities G and D of QR factorization, and K, which for water-filling
is easily determined as
⇤
N
1 X 1 1 n o
1
K = Ēx = Ēx trace [H ⇤ H] . (5.313)
N ⇤ n=1 2n N ⇤
Direct Cholesky factorization of the quantity computed on the left in (5.312) produces Gtot and Gx =
Gtot · G 1 . No singular value decomposition is then necessary. Either a ZF or a MMSE-GDFE can then
be implemented. The reader is reminded that N ⇤ = N for this simplification to be of use. This result
can be useful only when the water-filling input uses all dimensions of the channel. So, if water-filling
uses all dimensions, the individual En need not be computed to determine the GDFE filters. Only K is
needed for this optimum GDFE. Thus while vector coding might have been used, calculation of transmit
and receive filters is easier in this form (and presumably DMT was not applicable because a circulant
channel was not possible - of course DMT avoids singular value decomposition also).
597
worst-case noise
Worst-case noise autocorrelation can be found from optimization theory with the constraint that the
diagonal elements of the noise autocorrelation matrix Rnn are fixed – that is fixed power of the noise on
each dimension (or fixed covariance elements/matrices among sets of dimensions along a block diagonal
of a matrix). Such worst case noise has a correspondence with the broadcast channel of Chapter 14
where no receiver inter-dimensional coordination is allowed (since the dimensions are di↵erent users who
may be in physically separated locations).
That is, correlation between noises of di↵erent users cannot be mitigated by an allowable receiver
if no receiver-side coordination is permitted. This subsection first simply derives an expression for
the worst-case noise that is well-known, but very difficult to work with as a designer. Instead, the
GDFE is subsequently used to provide a di↵erent interpretation of worst-case noise, as in the previous
subsection. The latter, when combined with water-filling, will avoid the difficult computation for the
designer altogether.
Existence of Worst-Case Noise The mutual information for any vector channel I(x; y) is a function
of the noise, and
1 |P Rxx P ⇤ + Rnn |
I(x; y) = log2 , (5.314)
2 |Rnn |
which is convex in Rnn . It is minimized of course by an infinite variance noise. If the noise variance on
o
each dimension is held fixed at the set diagonal values of Rnn , so essentially the constraint is that the
diagonal of Rnn is fixed, then the minimizing noise covariance can be founded from the Lagrangian
XN
1 1
min log2 |P Rxx P ⇤ + Rnn | log2 |Rnn | + n (Rnn (n) o
Rnn (n)) . (5.315)
Rnn 2 2 n=1
Then careful setting31 of the gradient with respect to all the elements in Rnn to zero and organization
of the result into matrix form produces
1
[P Rxx P ⇤ + Rnn ] 1
Rnn = D . (5.316)
D = diag{ n} . (5.317)
Previous EE379C student Mehdi Mohseni has provided a software routine using “interior point”
methods that iteratively computes the worst-case noise. This program’s channel matrix has dimensions
(K · N ) ⇥ m, which requires some explanation: The input is construed as coming from m independent
sources (lines or “antennas” as the comments of the program indicate). If intersymbol interference is
included, then the m sources may be the dimensions of a single input (such as the N + ⌫ inputs of a
packet in time as often modeled in this chapter or combinations of many such packets of inputs).
The signals arising from these m sources produce KN output dimensions. This program’s N here is
not always the same N as packet length, but instead generalizes that concept and refers to N dimensions
for each of K groups of such dimensions (in multi-user use in Chapter 14, each group represents a di↵erent
“user.”) The N could represent the output dimensions for instance for each of K output positions/groups.
For the most common case in this chapter the program input H is set equal to P and N is set to the
number of rows of P while then m = N + ⌫.
31 Matrix derivatives become easier to understand and perform if a Taylor’s Series representation of log 2 (x) =
1
P1 ( 1)n+1 n
ln(2) n=1 n
x is thought of with x a symmetric non-negative-definite matrix x = Q⇤Q⇤ , where ⇤ is a diag-
onal matrix of non-negative eigenvalues. In such a form, the derivative is taken with respect to each eigenvalue like a scalar
since the Q is invariant to the power of xn , that is invariant to the value of n. Thus, the derivative of log2 (R) is simply
R 1.
598
Mohseni’s Worst-Case Noise Autocorrelation Matrix
% the channel matrix is K*N by m, m is the number of transmitter’s antennas,
% K is the number of output dimension groups and N is the number of receiver
% dimensions for each such group.
% Rx is the m by m input covariance matrix
% Rn is the K*N by K*N worst case noise minimizing
% 0.5 * log(det(HRx*H’+Rn)/det(Rn)), Rn has its N by N diganoal sub-blocks
% equal to identity matrix
[n,m] = size(H);
K = n / N;
A = zeros(n,n,n*(n+1)/2);
for i = 1:n
A(i,i,i) = 1;
end
count = n+1;
for i = 2:n
for j = 1:i - 1
A(i,j,count) = 1;
A(j,i,count) = 1;
count = count+1;
end
end
map = zeros(n,n);
for i = 1:K
map((i-1) * N + 1:i * N,(i-1) * N + 1:i * N) = ones(N,N);
end
count = 1;
nerr = 1e-4; % acceptable error for inner loop
% Newton’s method
599
while l_v > nerr & count < NT_max_it
for i = 1:K
Rnprime((i-1) * N + 1:i * N,(i-1) * N + 1:i * N) =
Rn((i-1) * N + 1:i * N,(i-1) * N + 1:i * N);
end
S = inv(H * Rx * H’ + Rn);
Q = inv(eye(n) - Rnprime);
Rn_inv = inv(Rn);
g = zeros(n*(n+1)/2,1);
h = zeros(n*(n+1)/2,n*(n+1)/2);
for i = 1:n*(n+1)/2
g(i) = t * trace(A(:,:,i) * S) - (t + 1) * trace(A(:,:,i) * Rn_inv)...
+ (sum(sum(A(:,:,i) .* map)) ~= 0) * trace(A(:,:,i) * Q) ; % gradient
end
for i = 1:n*(n+1)/2
for j = 1:n*(n+1)/2
h(i,j) = -t * trace(A(:,:,i) * S * A(:,:,j) * S) + (t + 1) *
trace(A(:,:,i) * Rn_inv * A(:,:,j) * Rn_inv)...
+(sum(sum(A(:,:,i) .* map)) ~= 0) * (sum(sum(A(:,:,j) .* map)) ~= 0)
* trace(A(:,:,i) * Q * A(:,:,j) * Q); %hessian
end
end
v_new = v + s * dv;
f_new = 0;
Rn_new = zeros(n,n);
for i = 1:n*(n+1)/2
Rn_new = Rn_new + v_new(i) * A(:,:,i);
600
end
for i = 1:K
Rnprime((i-1) * N + 1:i * N,(i-1) * N + 1:i * N) =
Rn_new((i-1) * N + 1:i * N,(i-1) * N + 1:i * N);
end
feas_check = 1;
if real(eig(Rn_new)) > zeros(n,1)
feas_check = 1;
else
feas_check = 0;
end
while feas_check ~= 1
s = s * beta
v_new = v + s * dv;
f_new = 0;
Rn_new = zeros(n,n);
for i = 1:n*(n+1)/2
Rn_new = Rn_new + v_new(i) * A(:,:,i);
end
for i = 1:K
Rnprime((i-1) * N + 1:i * N,(i-1) * N + 1:i * N) =
Rn_new((i-1) * N + 1:i * N,(i-1) * N + 1:i * N);
end
feas_check = 1;
if real(eig(Rn_new)) > zeros(n,1)
feas_check = 1;
else
feas_check = 0;
end
601
if real(eig(eye(n) - Rnprime)) > zeros(n,1)
feas_check = 1;
else
feas_check = 0;
end
v = v + s * dv; % update v
l_v = -g’*dv % lambda(v)^2 for Newton’s method
count = count + 1; % number of Newtons method iterations
end
end
Rn = zeros(n,n);
for i = 1:n*(n+1)/2
Rn = Rn + v(i) * A(:,:,i);
end
for i = 1:K
Rn((i-1) * N + 1:i * N,(i-1) * N + 1:i * N) = eye(N);
end
sumRate = 0.5 * log(det(H * Rx * H’ + Rn)/det(Rn));
This program appears in usable form on the course web page. The convexity of the mutual information
in Rnn (and the program!) establishes the existence of the worst-case noise.
A couple of simple solutions are evident without resort to the program. At very high SNR with white
1
noise, then the noise e↵ectively goes to zero (w.r.t. signal) so that Rnn = 1 · I and the condition is
met. So, white noise is worst-case when the SNR is infinite and any large noise (say ¡ 0 dB SNR) is
worst-case. (At very low SNR with any correlation of noise, then the two terms in the subtraction are
equal and so zero is a diagonal matrix.)
Connection to the GDFE Worst-case noise diagonalizes the overall feedforward processing of a
GDFE for certain inputs. The construction of the input first observes the worst-case noise autocorrelation
can be rewritten32 for some input modulation matrix A as
1
[P Rxx P ⇤ + Rwcn ] 1
Rwcn = D (5.318)
h i 1
1/2
Rwcn P AA⇤ P ⇤ Rwcn
⇤/2
+I = ⇤/2
Rwcn 1/2
DRwcn (5.319)
1 ⇤ ⇤
1/2
Rwcn P A [I + A⇤ P ⇤ P A]A P Rwcn ⇤/2
= ⇤/2
Rwcn 1/2
DRwcn (5.320)
1 ⇤ ⇤ ⇤
Rwcn P ARb A P Rwcn = D (5.321)
1
Rwcn P AG 1 S0 1 G ⇤ A⇤ P ⇤ Rwcn
⇤
= D (5.322)
602
1
(where DA is a diagonal
pmatrix that satisfies DA S0 DA = D, or equivalently each diagonal entry is
computed as DA (n) = D(n) · S0 (n)) satisfies the worst-case-noise equation, where G remains to be
determined. Determination of G occurs through the Cholesky factorization
or
G = DA 1 RU . (5.327)
The GDFE is now determined, and the overall feedforward processing is
⇤
W = S0 1 G A⇤ P ⇤ Rwcn
1
= S0 1 D A = D A 1 D , (5.328)
which is thus clearly diagonal. The requirement that R be nonsingular is equivalent to the channel having
a rank that is equal to that of Rwcn , which is N (the number of channel output dimensions). When the
channel has a rank less than N , the input should be projected (as earlier in this chapter) into a smaller
number of input dimensions that is equal to the channel rank. A GDFE attempting to estimate these
non-singular inputs will have diagonal total feedforward signal processing (no coordination necessary).
It is not possible (in some sense trivially) to diagonalize a feedforward section for a larger number of
input dimensions than N . The worst-case noise will certainly exist, but the corresponding input to
diagonalize does not.
Theorem 5.5.2 (Worst-Case Noise and the GDFE) The worst-case noise covariance
subject to autocorrelation constraints on sets of dimensions allows at least one GDFE receiver
whose entire linear processing (ignoring feedback) is diagonal.
Proof: From the convexity of the mutual information in noise covariance matrix, a worst-
case noise always exists. Following the above development in (5.318) - (5.328), cleary W is
diagonal. QED.
Theorem 5.5.2 holds for any input Rxx to the channel (not just water-filling), and a corresponding
A can be found to synthesize Rxx as well as diagonalize the feedforward processing. An interesting
use is that with a precoder implementation of the feedback section at the transmitter that the receiver
essentially becomes a trivial scaling of each input dimension. Thus, all complexity and also coordination
of signal processing among the dimensions occurs at the transmitter.
Lemma 5.5.1 states an immediately following truth for Gaussian x.
Lemma 5.5.1 (Best performance with diagonalized processing) For a given Rxx and
corresponding Rwcn , the canonical (best) performing GDFE requires no feedforward signal
processing (coordination among receiver dimensions), presuming x and the noise are Gaus-
sian.
Proof: If a better receiver for any Rxx and corresponding Rwcn existed with coordinated
signal processing, it would be a possible setting for the GDFE considered in optimization, and
thus would exceed the canonical performance data rate, which would violate basic capacity
limits. QED.
603
Thus, when
Rxx = M Sx M ⇤ (5.330)
the receiver-diagonalizing input matrix A for the corresponding worst-case-noise input is given by
1
A = Q1 R DA G = Q1 U = M Sx1/2 Qx (5.331)
1/2
where Qx is an unknown orthogonal matrix. Since Sx is diagonal, then the product Sx Qx = Qlef t Dright
then forces the solution for U to be a diagonal. Essentially then through Equation (5.327) with U known
diagonal, and when monic, R and G have the same triangular coefficients. R came from QR factorization
of the noise-equivalent channel (or ZF-GDFE) while G came from the MMSE-GDFE. So the GDFE is
then determined by the “QR” factorization of Rwcn P .
The ZF and MMSE GDFEs are trivially the same when there is no receiver processing (after biases
are removed). Thus worst-case noise can be (with the correct input modulation choice corresponding
to A) an additional situation for which the ZF and MMSE GDFE receivers have the same canonical
performance. The worst-case noise is a function of the input covariance Rxx . However, the best
input covariance is also a function of the noise Rnn . The combination best input covariance for a
corresponding worst-case noise that diagonalizes the GDFE can be found by an iterative loop that first
finds a water-filling solution for the diagonal noise covariance (there will be a corresponding data rate b0 ),
then finds a worst-case noise for that water-filling solution that will not increase the data rate (b1 b0 ).
If equality holds, then the solution has been found. If not, then the procedure repeats to find a new
water-filling solution for that worst-case noise and will not decrease data rate (b2 b1 ) and a subsequent
new worst-case noise with b3 b2 .
With q 1 an integer. b2q+2 b2q and b2q+3 b2q+1 . That is successive upper bounds from
water-filling steps are decreasing (because the intermediate worst-case noise step searches all covariances
with the same noise diagonal) and successive lower bounds from worst-case noise steps are increasing
(because the water-filling step searches all input covariances with same energy constraint), thus forcing
convergence since both problems are convex. The solution is sometimes called a “saddle point.” This
saddle point is a very special one for what are called “broadcast” multi-user channels in Chapter 14.
This observation in GDFE theory lead to former EE379C students Wei Yu and Mehdi Mohseni being
the first to master the fundamental limits of the broadcast channel.
>> P =
0.9000 1.0000 0 0
0 0.9000 1.0000 0
0 0 0.9000 1.0000
>> P=(1/sqrt(.181))*P =
2.1155 2.3505 0 0
0 2.1155 2.3505 0
0 0 2.1155 2.3505
>> C=eye(4) =
1 0 0 0
604
0 1 0 0
0 0 1 0
0 0 0 1
>> [F,L,M]=svd(P)
L= 4.1270 0 0 0
0 3.1623 0 0
0 0 1.7228 0
>> Pm=M(:,1:3)*M(:,1:3)’ =
>> Ctemp=Pm*C =
>> Rxx=Pm*Pm’ =
>> [Rwcn,rate]=wcnoise(Rxx,P,1)
Rwcn =
>> J3 = [
0 0 1
0 1 0
1 0 0 ];
>>J4 = [
605
0 0 0 1
0 0 1 0
0 1 0 0
1 0 0 0 ];
>> Ptilde=inv(Rwcn)*P =
>> [Q,R]=qr(J4*Ptilde’*J3);
>> Q=J4*Q*J4 =
>> R=J4*R*J3;
>> R=R’ =
> R*Q’ =
>> Q1=Q(:,2:4) =
>> Rxxrot=Q1’*Rxx*Q1 =
>> Ubar=J3*chol(J3*Rxxrot*J3)*J3 =
1.0000 0 0
-0.0000 1.0000 0
0.0000 0.0000 1.0000
>> Ubar=Ubar’;
>> Rup=R(:,2:4) =
606
-2.7323 -1.4039 0.0071
0 -2.7077 -1.2346
0 0 -3.0719
>> DA=diag(diag(Rup*Ubar)) =
-2.7323 0 0
0 -2.7077 0
0 0 -3.0719
>> G=inv(DA)*Rup*Ubar =
>> A=Q1*inv(Rup)*DA*G =
1.0e-015 *
>> Rbinv=eye(3)+A’*P’*inv(Rwcn)*P*A
>> Gbar=chol(Rbinv) =
>> G=inv(diag(diag(Gbar)))*Gbar =
607
0 1.0000 0.4559
0 0 1.0000
(checks)
>> S0=diag(diag(Gbar))*diag(diag(Gbar)) =
8.4657 0 0
0 8.5956 0
0 0 10.7006
>> snr=10*log10(det(S0)^(1/4)-1) =
6.3169
This first example above clearly has a diagonal U because the input autocorrelation was
constructed with the M of the channel’s singular value decomposition. The next example
illustrates the more general case where the input covariance is more arbitrarily chosen, thus
the initial modulation matrix C is not a diagonal nor based on M , but the channel is the
same otherwise.
>> C =
1 1 1
-1 1 1
1 -1 -1
-1 -1 1
>> Ctemp=Pm*C =
>> Ctilde=Ctemp(:,1:3) =
>> Rin=C*C’ =
3 1 -1 -1
1 3 -3 1
-1 -3 3 -1
-1 1 -1 3
608
>> Rxx=Pm*Rin*Pm’=
>> [Rwcn,rate]=wcnoise(Rxx,P,1)
Rwcn =
rate = 3.1377
>> Ptilde=inv(Rwcn)*P =
>> [Q,R]=qr(J4*Ptilde’*J3);
>> Q=J4*Q*J4 =
>> R=J4*R*J3;
>> R=R’ =
>> Q1=Q(:,2:4) =
>> Rxxrot=Q1’*Rxx*Q1 =
>> Ubar=J3*chol(J3*Rxxrot*J3)*J3 =
1.9272 0 0
609
-0.1771 0.0792 0
-1.0485 -0.8106 1.3621
>> Rup=R(:,2:4) =
>> Ubar=Ubar’ =
>> DA=diag(diag(Rup*Ubar)) =
-4.8746 0 0
0 -0.2224 0
0 0 -4.3311
>> G=inv(DA)*Rup*Ubar =
>> A=Q1*inv(Rup)*DA*G =
>> Rbinv=eye(3)+A’*P’*inv(Rwcn)*P*A =
>> Gbar=chol(Rbinv) =
>> S0=diag(diag(Gbar))*diag(diag(Gbar)) =
24.7620 0 0
0 1.0529 0
0 0 20.3803
>> snr=10*log10(det(S0)^(1/4)-1) =
610
5.7991
In this case, the input is not a vector-coding input, so U is not diagonal. However, there still
exists an input that diagonalizes the GDFE.
The examples emphasize that for the worst-case noise, no matter what is the input covariance, there
always exists a modulation of the input that diagonalizes the feedforward section of the GDFE. This is
independent of “water-filling” or “vector-coding” input selections.
611
5.6 Asymptotic Stationary Convergence of certain GDFEs
Sections 5.4 and 5.5 observe that the CDFE with nonsingular, Toeplitz, circulant P and stationary
(circulant also) Rxx is very special, and appeared in all examples to converge to the MMSE-DFE of
Chapter 3 as N ! 1. This section investigates such convergence further. The results here are often
known in the statistical signal processing area as arising from “Toeplitz Distribution Theory.”
There are 3 GDFE-essential asymptotic results of interest:
1. Toeplitz and cyclic autocorrelation matrices - Subection 5.6.1
2. linear prediction and canonical factorization - Subsection 5.6.2
3. Use of 1 and 2 in the GDFE - Subsection 5.6.3.
which is not Toeplitz (the diagonal is not constant). As N ! 1, this matrix will approach Toeplitz, but
it is not Toeplitz for each N along the way. The repeated insertion of the guard period thus essentially
destroys the stationarity that is otherwise naturally present.
However, with the use of the cyclic prefix, the corresponding Ryy becomes
1.81 .9
Ryy = + 2I , (5.333)
.9 1.81
which is Toeplitz. Indeed, a cyclic prefix of length ⌫ samples when the channel (or TEQ equalized
channel) has length of ⌫ or less will always produce a stationary Ryy = P ⇤ Rxx P + Rnn as long as
33 The term “stationary” in this chapter means “wide-sense stationarity,” and so only means, covariances need be invariant
to time
612
Rnn is Toeplitz, and Rxx is not only Toeplitz, but cyclic also. 34 Clearly, the cyclic prefix insures
the Toeplitz nature of the signal part in Ryy .35 Thus, the cyclic prefix has an additional benefit in
asymptotic analysis in that Toeplitz matrices will appear nearly throughout the GDFE problem for all
N , leading to various Cholesky factorizations appearing to converge for smaller N than would otherwise
be necessary. This was clearly evident in early examples in that the CDFE appeared well-behaved as
N ! 1 while a more general GDFE appeared to have no easy convergence evident (at the N values
used in previous examples).
With multiple transmission bands (M > 1), the matrix P̃ = P A of Section 5.5 leads to a P̃ ⇤ P̃ that
is block diagonal. Each block along the diagonal is Toeplitz in this matrix. Thus, the remarks in
this section apply individually to each of these blocks, and of course cannot apply to the entire
matrix, which is not Toeplitz in the multiband case.
convolution.
35 In fact, any noise whitening by cyclic R 1/2 that is done for equivalent channels needs then also for R 1/2
nn nn and Rnn
to be cyclic – cyclic Rnn occurs naturally in the white-noise case, but rarely otherwise. However, nearly all noise is close
to cyclic when N ! 1, and because the noise is much smaller than signal in cases where equalization of any type is of
interest, the approximation to a cyclic Rnn is usually very good. In fact, in DMT systems, noise-whitening is ignored and
the SNRs measured directly with whatever noise at each frequency, tacitly assuming the cyclic nature of Rnn .
36 The entries in the rows of G need not be minimum phase, but will tend to minimum phase as N ! 1.
x
37 The statisfaction of (5.338) follows directly from R
vv being diagonal and thus vk 1 ... v0 or v k 1 are all uncorrelated
with vk and thus so must also be xk 1 ... x0 or xk 1 since xk 1 = Gx (k 1)v k 1 from Cholesky factorization of one
order lower. The non-singularity of Rxx ensures Cholesky factorization of all orders.
613
since the MMSE solution is unique when the inputs are stationary or equivalently all Rxx (N ) as N ! 1
are nonsingular.
The diagonal matrix Rvv must also become constant as N ! 1 because the diagonal values represent
the single constant MMSE value
This result does not hold for a singular process – that means input singularity must be eliminated, or
equivalently the PW must be satisfied. When a water-filling or any other circulant Rxx has sets of
nonzero DFT values that are separated by zeroed values, the consequent singularity must be eliminated
as in Section 5.5.
Then a separate Cholesky filter, each acting on the independent inputs of each band, corresponds to
and ultimately converges to each linear prediction filter for the baseband equivalent of each independent
nonsingular band. Canonical factorization across the whole band does not work for finite length nor for
infinite-length when water-filling produces unused bands. In this case, there must be multiple bands.
The MMSE for this factorization must also then converge to a constant so that
The diagonal entries of the matrix S0 1 also represent the MMSE associated with the GDFE for each
time instant, and thus because S0 tends to a constant-diagonal matrix, there is then a constant MMSE
for the GDFE as N ! 1, which is known from Chapter 3 as
N0
s0 1 = 2
(5.345)
0 · kpk2
38 The limit here is taken in the two-sided sense of time going forward and backward to infinity so that is then true for
all i.
614
or
0 · kpk2
s0 = N0
. (5.346)
2
The unbiased SNR is as always SNRcdf e,u ! SNRmmse-dfe,u = SNRmmse-dfe 1. An overall SNR can
be defined based on fraction of bandwidth use of each of the DFEs as in Section 5.2.
Some final comments are in order:
1. All asymptotic results hold ⌫ as a constant (correctly because it is a constant). The corresponding
“wasted samples” and any energy “wasted” in the cyclic prefix clearly then go to zero as block
length N increases.
2. Error propagation is limited to within each block in all GDFE’s, including the CDFE. Shorter
block’s can thus limit error bursts, while the MMSE-DFE has a potential for infinite catastrophic
bursts.
3. A designer could pick N too large, much larger than is necessary to obtain infinite-length results,
thus resulting in a huge unnecessary complexity for no performance gain. Complexity comparisons
where DMT (VC) perform at lower complexity than CDFE (GDFE, respectively) are made in this
same good-design context. Obviously, a the channel P (D) = 1 works equally well with all methods
with N = 1 and ⌫ = 0. As ISI increases, there is a judicious choice of N that allows infinite-
length performance without infinite-complexity in either DMT or CDFE. At this choice, DMT
complexity is log2 (N ) per sample while CDFE (or MMSE-DFE) complexity is upper bounded
by N and typically between log2 (N ) and N , typically about 3 log2 (N ) ignoring modulation or
interpolation complexity unique to CDFE, and about 5 log2 (N ) if those are included.
4. Any gap greater than 0 dB will lead to the CDFE having a lower SNR than DMT because the
CDFE is designed and optimized for 0 dB gap, while the DMT (because the feedback section is 0)
simultaneously minimizes MSE as well as maximizing product SNR at all gaps. Beware of certain
statements that state the opposite as an “SNR averaging” property of the DFE – correct use of
codes and gaps reverses and such argument (and it is errors in the use of the codes and gaps that
leads to the misinformed making such high-level arguments.
5. DMT is a maximum likelihood detector and thus canonical and optimal. The CDFE is only
canonical and does not have ML performance of the detector, and as well may have then error
propagation problems.
6. If modulation and interpolation is carefully implemented (not shown in these notes), it may be
possible to reduce the delay from input to output in a CDFE design with respect to DMT.
615
7. OFDM does not achieve the performance levels of DMT nor CDFE. However, it has been observed
that with a very-well-designed “robust” code, it is possible for an OFDM system to obtain the
¯
SNR of 22I 1 with gap 0 dB for the one special case of flat transmission energy. This result has
significance in time-varying channels (i.e., some wireless applications) where it is not possible to
convey to the transmitter the best transmit spectrum to use either because the channel is broadcast
only (unidirectional, possibly through many simulataneous di↵erent channels to di↵erent users) or
because the channel changes so fast that the input dynamic spectra could not follow the channel.
Thus, a fixed flat spectrum has a certain I¯ that corresponds a certain performance level (in the
absence of channel singularity) of both OFDM and MMSE-DFE systems if gap=0 dB codes are
used in both cases. The code for OFDM may be di↵erent than the code for the MMSE-DFE.
Thus, in time-varying channels, there can be no di↵erence between a flat-input-coded OFDM
system and a flat-input-QAM-MMSE-DFE system, other than possibly the receiver’s ability to
track channel changes (which is likely going to favor the multicarrier system for which each band
is separately equalized by a single coefficient, rather than a complicated matrix system with many
more coefficients (N 2 versus N ). For this reason, most wireless systems use OFDM.
8. DMT systems do not require an optimum transmit filter matrix, and use the IFFT – a known
and fixed transmit partitioning system that can be designed once. CDFE systems alone use an
optimum transmission filter (as well as Rxx that is common to DMT and CDFE) that is a function
of the channel and thus must be implemented adaptively.
9. CDFE systems exhibit the same “Gaussian” like high peak-to-average ratio of DMT systems (con-
trary to misinformed popular belief), this is particularly true as ISI becomes severe, or equivalently
large N is required. Simply put, this is a function of the “central limit theorem” and the transmit
signal being simply a sum of many contributions of independent random variables, and thus ap-
proaches Gaussian. PAR-reduction methods, such as those of Section 4.10 for DMT and OFDM,
have not been studied for CDFE or MMSE-DFE (which shares the high PAR problem). Such
studies should investigate at least 4x the sampling rate of the transmission system to be of prac-
tical significance (often academic researchers forget that it is the analog PAR that is important,
not the sample-time-only PAR), see Section 4.10.
10. Adaptive training of DMT and CDFE systems requires some kind of “loading” algorithm to deter-
mine good use of transmit spectra. While this training is well studied for DMT, it is an open area
for CDFE presently unless one has a DMT system behind it that simply supplies the information
for training the CDFE to the procedures given in this chapter. “Blind” training (i.e., with no
feedback from receiver to transmitter loses performance in the case where the initially presumed
spectrum is not correct. Beware of statements that DFE systems can be trained blindly from
the misinformed who do not understand the e↵ect and need for transmit optimization for best
performance.
11. The matched-notching ability of the MS-WMF of the MMSE-DFE that occurs when the noise-
equivalent ISI channel has notches is absolutely NOT equivalent to the use of multiple bands. This
statement is found throughout the literature on MMSE-DFEs and is simply incorrect every single
time it has been said, even if that is often and by many. A single MMSE-DFE will perform worse
than multiple MMSE-DFEs on each side of all the notches - no exceptions.
616
so that there is a certainty of at least one error made in an infinite sequence of such symbol-by-symbol
decisions. By contrast, the probability of sequence error for MLSD can be made arbitarily small and
nonzero if the code is well chosen at rates less than capacity. Even with poor codes, the MLSD probability
of error cannot exceed one. Thus, MLSD has a lower probability of sequence error than an ideal DFE
whenever the probability of symbol error in the ideal DFE is non-zero. A limiting argument would find
that the ideal DFE probability of error is lower bounded by MLSD as the probability of symbol error
of the ideal DFE is lowered gradually to zero because if there are no errors in reality, then it is still a
suboptimum structure relative to MLSD.
This result is somewhat profound also, albeit it again trivial. The result implies that a receiver design
that follows the MS-WMF(matrix) of a MMSE-GDFE with a sequence detector for the consequent
equivalent channel output will can perform at least as well as an ideal MMSE-GDFE. Thus, any loss
caused by error propagation can be ignored for capacity purposes in that the GDFE feedback section
can be replaced by infinite complexity receiver that will at least attain the canonical ideal MMSE-GDFE
performance level, albeit with infinite decoding delay. This section essentially establishes that in the
limit, there is no loss from capacity by using the feedforward part of a GDFE, a good code, and maximum
likelihood detector for the channel shaped by the GDFE feedforward matrix/filter.
In short, Claude Shannon had it right as with so many other of his basic simple and information-age-
envisioning results – a multicarrier system is optimum for handling ISI. And, as we see in the last two
chapters, quite practical and efficient as well with modern digital signal processing. Wide-band QAM
or PAM can be saved to a canonical level, but this is unnecessarily complex – these systems exist as a
legacy of analog processing methods of decades past where high precision digital signal processing was
not available to implement efficiently what Shannon originally conceived as best. In time, as this legacy
dwindles, the need for the wide-band system theories and designs will diminish also as more educated
engineers proceed to good designs initially when faced with bandlimited channels.
617
5.7 Block MIMO infinite channels and results
The channel matrix P has been arbitrary in this chapter, but much of the theory for the equivalence
conditions for CDFE and DMT have focused on the situation in which P models the time-domain
convolution of the input samples xk with a finite-length channel pulse response pk . However, at times P
has represented a multiple-input-multiple-output transmission system (wired or wireless) for which the
matrix P is more arbitrary and has in general no “sample-stationary” nor even convolutional stucture.
However, all GDFE theory has assumed independent packet transmissions through the channel P – that
is no intersymbol interference between “packets” (in the GDFE theory, the packets are symbols).
This section generalizes the case to possible block-channel memory in forming a block-stationary
matrix channel pulse response with D-transform:
where ⌫˜ is now used in a block or symbol sense, but is analogous to the ⌫ parameter used to represent
the channel length of the time-domain pulse response on single-input-single-output channel. However,
P (D) can be infinite in length also if necessary and none of the following theory in this section changes.
Fundamentally, ⌫˜ represents a response length in symbol periods. This type of model, for instance, can
allow the omission of guard-bands between blocks and the associated excess-dimensionality loss. In most
transmission systems without a guard band and some pulse response wiht N = ⌫ + 1 and ⌫˜ = 1,
P (D) = P0 + P1 · D (5.353)
where 2 3
p0 p1 ... p⌫
6 0 p0 ... p⌫ 7
6 7
P0 = 6 .. .. .. .. 7 (5.354)
4 . . . . 5
0 ... 0 p0
and 2 3
0 ... 0 0
6 p⌫ 0 ... 0 7
6 7
P1 = 6 .. .. .. .. .. .. 7 . (5.355)
4 . . . . . . 5
p1 ... p⌫
Other block lengths, ⌫’s , and structure can be imposed on Pi , depending on the particulars of the
application. For wireless MIMO, the P (D) structure allows memory within the channel or intersymbol
interference to be modelled along with crosstalk. For a cable of wires, it can represent the matrix
channel’s memory and the memory of the crosstalk between the lines. Vector D transforms can be
associated with the channel input, channel noise, and channel output to produce
618
P(D)#x(D)# N(D) z(D)#
Innovations
x (D)# y(D) y~(D ) z
[R
− 12
(D )⋅ P (D )⋅ A (D )⋅ G φ (D )]
*
S0−1 ⋅ G −* (D ) +$ GDFE$
v(D) A(D)Gφ(D)$ P(D)$ +$ Rnn
1
− 2
(D ) nn
G0$
Causal when triangularize
A=I
original
matched
filter matrix G0'G(D)$
channel noise
whiten
v (D ) = vˆ (D )
GDFE (D) – GDFE for matrix channel P(D)
feedback
section
¯
in frequency or dead-spatial zones). Mutual information is maintained I(x(D); ¯
y(D)) = I(u(D); z(D))
and performance is canonical for any derived GDFE’s, which are now a function of D,
G ! G(D) (5.357)
S0 ! S0 (5.358)
⇤ ⇤
W ! W (D) = S0 1 G (D ) (5.359)
The GDFE then generalizes to the structure of Figure 5.40. However, Cholesky factorization, and also
any singular-value or eigenvector decompositions, need re-interpretation.
and must be satisfied, where | • | denotes determinant and ln(matrix) is defined in the poly-
nomial Taylor series sense.
The Smith-canonical (Cholesky Factorization) form has known algorithms that produce it (see Chapter
10 appendices) symbolically for polynomial R(D). Conceptually, Cholesky factorization is used for the
transmitted input in two cases:
⇤
1. input triangular factorization Ruu = Gu (D)Rvv Gu (D ) where Gu,0 is monic upper triangular
1 ⇤ ⇤
2. and for the feedback section of the GDFE Rb (D) = G (D ) · S0 · G(D) where G0 is monic upper
triangular.
Eigenvector and/or singular-value decompositions follow directly the case in which P (D) = P0 but
must be executed (conceptually) for each and every value of D at least on the unit circle. As far as
this author has been able to determine, there is no body of mathematics ever devoted to the concept
of such matrix-polynomial eigen-vector or singular-value factorization. Even for any fixed value of D,
such factorizations require iterative approximate algorithms for computation, so there is certainly no
closed form means for executing the generalized forms as a function of D. A means for approximating
such factorizations is to execute them for equally spaced values (say 100 or so) around the unit circle
619
D = e |·(i/100)·⇡ for i = 100, ..., 0, ..., 100. When the resulting 201 matrix factorizations are stored,
one can then take the IFFT of each entry of such matrices to get the time-domain equivalent response
at the packet-sampling interval and construct the various GDFE matrices. A lot of design work for the
designer, but a means for approximating matrix polynomial series.
E k = BX k ( ) WY k , (5.362)
B is monic and volume preserving. A GDFE for the monic triangular feedback section of B0 is inde-
pendently still executed to obtain each packet decision.
where B0 is triangular (and monic). The mean-square (trace) of the error-autocorrelation matrix
trace(REE ) is to be minimized over B and W . Signals will again be presumed to be complex, but
all developments here simplify to the one-dimensional real case directly, although it is important to
remember to divide any complex signal’s variance by 2 to get the energy per real dimension. The SNR
equals Ēx / N20 = Ex /N0 in either case.
Optimizing the feedforward and feedback filters For any fixed B in (5.362), the cross-correlation
between the error and the vector of channel outputs Y k should be zero to minimize MSE,
E [E k Y ⇤k ] = 0 . (5.364)
So,
W ⇤ R̄Y Y = B ⇤ R̄XY ( ) , (5.365)
and
n h i o
R̄XY ( ) = E X k ( ) x⇤k x⇤k 1 ...x⇤k Nf ⌫+1 P⇤ (5.366)
= Rvv J ⇤ P ⇤ , (5.367)
where J ⇤ is a matrix with an N ⇥ N Identity in the th position and zeros elsewhere. The MSE for
this fixed value of B then becomes
⇣ ⌘
REE = B ⇤ Ēx I R̄XY ( )R̄ 1 R̄Y X ( ) B (5.368)
YY
= B ⇤ R̄X
?
/Y
( )B (5.369)
( ✓ ◆ !
1
l
= Rvv · B ⇤ INb ·N J⇤ P ⇤ P P ⇤ + · R̄N N PJ B (5.370)
SNR
( ✓ ◆ 1 )
N0 l
= l· B⇤J ⇤ P ⇤P + · R̄N N J B , (5.371)
2 SNR
620
and R̄X?
/Y
( ) = Ēx I R̄XY ( )R̄ 1 R̄Y X ( ), the autocorrelation matrix corresponding to the
YY
?
MMSE vector in estimating X( ) from Y k . That is, R̄X /Y
is the autocorrelation matrix for the
error sequence of length Nb that is associated with a “matrix” MMSE-LE. The solution then requires
factorization of the inner matrix in to canonical factors, which is executed with Choleksy factorization.
By defining
( ✓ ◆ 1 ) 1
⇤ ⇤ l
Q̃( ) = J P P+ I J . (5.372)
SNR
Ēx Q̃ = G⇤ S 1
G , (5.373)
where G is an upper triangular (causal) and monic (ones down the diagonal) matrix and S =
diag{S0 ( ) S1 ( ) ... SNb ( )} is a diagonal matrix with smallest element in the upper left corner
and positive, real, non-decreasing values down the diagonal. The MSE then is
REE = BG 1
S G ⇤
B⇤ , (5.374)
Rvv = S0 ( ) . (5.376)
The packet decision device becomes a within-packet feedback section determined by G0 ( ) = B0 (the
term with the monic diagonal).
The feedforward filter then becomes
5.7.2 MIMO
The approaches of this section could be used to handle any general MIMO system with (or without)
ISI. The matrix calculations could become exorbitantly complex to do so. The Vector DMT (or vector
OFDM with constant bit loading) systems that synchronize di↵erent transmitters (antennas or wires,
etc) to the same symbol and sample clocks can be used instead to limit the complexity of the GDFE-style
matrix manipulations to a much smaller matrix for each of the tones in a system. This approach to date
has been used in all such situations to the best of the author’s knowledge, but the theory was presented
to be complete.
621
Band 1, 21 dB
Band 3 SNR=24 dB
Band 2 SNR=27 dB
15 25 30 90
f (MHz)
0 5
Exercises - Chapter 5
5.2 Innovations
Find the innovations variance per dimension, entropy and linear prediction filter for the following
Gaussian processes (let T = 1):
2 1
a. (2 pts) A real process with autocorrelation Rxx (D) = .0619 · D + .4691 · D + 1 + .4691 · D +
.0619 · D2 .
b. (2 pts) A complex discrete-time process with power spectral density 10 (1.65 + 1.6 · cos(!)).
c. ( 2 pts) A complex process that has a maximum of only 3 nonzero terms in its autocorrelation
function, a notch exactly in the middle of the band (i.e., at normalized frequency 1/4) and total
power 2.
5.3 Multibands
Three bands of transmission result from infinite-length water-filling as shown below with a gap of
5.8 dB at Pe = 10 6 . The lowest band uses baseband PAM transmission, and the other two bands use
QAM transmission. Each band has an MMSE-DFE receiver with the SNR shown in Figure 5.41.
a. (1 pt) Find the optimum symbol rates 1/Ti⇤ and carrier frequencies fc,i
⇤
for each of the 3 bands.
b. (2 pts) Find b1 , b2 , and b3 for these 3 bands and the data rate R.
c. (1 pt) Find the overall best SNR and b̄ for a single AWGN that is equivalent to the set of channels
in terms of mutual information.
d. (1 pt) The noise is such that Ēx = 70 dBm/Hz in all bands. What is the total energy used Ex =?
Suppose baseband PAM with a symbol rate of 1/T =200 MHz is used instead with total en-
ergy/power equally divided on all dimensions (i.e., successive PAM symbols are independent).
622
e. (.5 pt) What is Ēx,P AM =?
f. (1.5 pts) Find approximate SNRmmse df e,P AM,u and new data rate for this alternative single-band
PAM design.
5.4 CDEF
An AWGN with intersymbol interference sustains successful transmission using a MMSE-DFE re-
ceiver with 256 QAM with Gap of = 8.8 dB with a margin of 1.2 dB at P̄e = 10 6 .
a. (2 pts) What is the mutual information in bits per symbol for this channel? In bits per dimension?
b. (2 pts) Suppose optimization of the transmit filter increased the margin to 2.5 dB. What is the
capacity of the channel at this symbol rate?
1
Suppose we return to the 1 + .9D channel with SNRmfb = 10 dB when T = 1 with PAM
transmission.
c. (3 pts) At what new increased symbol energy per dimension would this channel have T ⇤ = 1?
d. (2 pts) What is the capacity of this system in bits per symbol at symbol rate in part c with this
new energy level?
e. (1 pt) Suppose this optimized system transmits with code with gap of 6 dB for probability of error
10 6 at b̄ = 1. What is margin at this data rate? (fractional bits per symbol are ok for inclusion
in results and use of all formulas.)
b. (2 pts) Determine the 4 ⇥ 3 matrix C̃ and the input ũ that characterize the pass-space description
of this channel.
623
2 3
5 6 7 8
c. (1 pt) P = 4 1 3 2 4 5 and Rxx = I .
4 3 5 4
2 3
2 3 1 0 0 0
1 1 0 0 6 0 0 0 0 7
d. (1 pt) P = 4 0 1 1 0 5 and Rxx = 6
4 0 0 1 0 5.
7
0 0 1 1
0 0 0 1
2 3 2 3
1 1 0 1 0 0
e. (1 pt) P = 4 0 1 1 5 and Rxx = 4 0 0 0 5 .
1 0 1 0 0 1
2 3
2 3 1 0 0 0
5 6 7 8 6 0 0 0 0 7
f. (1 pt) P = 4 1 3 2 4 5 and Rxx = 6
4 0 0 1 0 5.
7
4 3 5 4
0 0 0 1
a. (1 pt)
2
Find x/y in terms of Ex , rxy and Ey .
b. (2 pts)
2
Find px/y and show that it is also Gaussian with mean [rxy /(Ey ] · y and variance x/y .
c. (2 pts)
2
Relate the conditional entropy Hx/y to x/y and therefore to the MMSE estimate.
d. (1 pt)
Show the results in parts a,b, and c are symmetric in x and y in that the two random variables
can be interchanged.
e. (1 pt)
2
Now let y = x + n where n is zero-mean complex Gaussian and independent of x with variance .
Determine Hy/x .
f. (3 pts)
Ex Ey Ex
Show that SNRx = 2 = SNRy = 2 . Relate these two identical SNRs to the SNR = 2 .
x/y y/x
g. (1 pt)
Relate the mutual information to SNRx and to SNR.
h. (2 pts)
1
Suppose y becomes a complex vector y but x remains a scalar with y = x + n where n has
1
2
independent zero-mean Gaussian components all with variance . Does your answer to part g
change? How might you interpret SNRx in this case in terms of equalizers you know from Chapter
3?
624
5.8 DFE - MT connection.
This problem explores the connection between DFE and multi-tone-like concepts for transmitter
optimization.
a. (4 pts) Show that the following are all equivalent expressions for I. (QAM is assumed)
⇡ ⇡
ZT ZT
T T
I= log2 (1 + SN R(w))dw = log2 (1 + SN RM F B Q(ejwT ) )dw
2⇡ 2⇡
⇡ ⇡
T T
⇡
ZT
T 2 2
= log2 (1 + SN R H(ejwT ) (ejwT ) )dw
2⇡
⇡
T
where H is the transform of the sampled channel. Assume that the sampling rate is high enough
so that there is no aliasing.
b. (4 pts) One can approximate the integral in part (a) by the following sum
N
X 2 2
1 1
I¯ = ⇥T log2 (1 + SN R H(ej2⇡n/2N T ) (ej2⇡n/2N T ) )
2N T 2
N +1
Do you see a transmitter optimization problem here? Show that the water-fill equations for this
problem are :
1 2
2 + (ej2⇡n/2N T ) = Constant
SN R H(ej2⇡n/2N T )
a. (2 pts) The forward channel in Figure 5.23 has two right subtriangles embedded within it. From the
one describing a decomposition of the noise vector n0 , one notes that the MMSE estimation filter
1
for n0 given z is Rn0 z Rzz = (I Rf Rb ). Use this relation, and note that Rn0 z = Rn0 n0 = Rf ,
1 1
to prove that Rf = Rb + Rzz .
625
b. (2 pts) Use the triangle for decomposition of the error vector in the backward triangle to note that
Rb = Ren0 Rn10 n0 to prove easily that Ree = Rb .
c. (2 pts) Follow parts a and b to prove that Rb 1 = Rf + Ruu
1
.
d. (2 pts) Use a convenient triangle to show that Ren0 ⇤ = 1
Rf Rb and thus that Rf Rb = (I Rf Rzz ).
1
e. (2 pts) Prove that Rb Rf = (I Rb Ruu ).
f. (3 pts) The matrix SNR for a matrix MMSE-LE is SN R = Ruu Ree1 . Use the Pythagorean
relationship Ruu = Rb Rzz Rb + Ree to prove the “similar” triangles relationship SN R is also
equal to Rn10 n0 Rzz . Why is I(x; y) = I(u; z) = log2 |SN R|?
d. (2 pts) Show that another expression for the unbiased matrix SNR is Rn10 n0 Rẑ ẑ where ẑ = Rf u.
1
e. (2 pts) Show that I(u; z) = log2 |SN R| for complex signals and I(u; z) = 2 log2 |SN R| for real
signals. Explain the di↵erence in formulae for real and complex channels.
d. (2 pts) Compare 22I(x;y ) to SNRGDF E for this u. What can you say about probability of error if
¯
a. (4 pts) For N = 3 and ⌫ = 1, find the CDFE on this channel, including G, feedforward filter
matrix , SNRcdf e,u and P̄e with equal-energy 16 PAM on each of the 3 used subchannels.
b. (2 pts) Compare the probability of error in part a with the asymptotic probability of error of an 8
PAM MMSE-DFE with Nf = 3 and Nb = 1 on this channel. Comment on why the latter appears
better.
c. (4 pts) Now rework part a for a GDFE (with no cyclic prefix) that instead places 4/3 units of
energy on each of the 3 useful dimensions of the input. Why does this work better than part a?
Compare with part b and comment as to which system is actually better.
626
d. (5 pts) Repeat part c for N increasing to 10, 20, 100, 200 except only compute the unbiased SNR
(and not all the matrices). Estimate to which value this SNR converges as N becomes infinite.
What is the number of levels of PAM that would be used as N increases at P̄e = 10 6 . Which
system in this problem is best and why?
a. (2 pts) Find a water-filling input covariance matrix Rxx =? and corresponding Cholesky factor-
ization Rxx = Gx Rvv G⇤x .
b. (2 pts) Find the forward and backward canonical-channel-characterizing matrices Rf and Rb 1 .
c. (2 pts) Find the feedback matrix G and the combined matched-filter feedforward filter matrix.
d. (1 pt) What is the SNR of this CDFE-equalized channel and what is the corresponding largest
number of bits per dimension that can be transmitted at Pe = 10 6 ?
627
1.0δ!k! ! 0.5δ!k! !
!!
n1
X1 DMT 1 x1 y1
+ FFT 1 Y1
h y2 GDFE
+ FFT 2 Y2
X2 DMT 2 x2
n2
matrix
channel
Distributed
Input
dimensions
628
where each entry is an FIR channel and
a. (1 pt) What is the shortest-length cyclic prefix that can be used to ensure there is no intersymbol
interference on or between any of the discrete-time paths?
b. (2 pts) Write a relationship for each DMT-output (i.e. tone n for both of the outputs Y1,n and
Y2,n ) of a receiver in terms of ALL the tone inputs to both channels. What is the dimension of
the channels created?
c. (4 pts) For the resultant channels in part b, determine GDFE settings in terms of the given
quantities above and H n and/or its elements? What happens if any of the inputs have zero
energy on a given frequency? You should use the defined quantities r1,n = |H11,n |2 + |H21,n |2 ,
⇤ ⇤
r2,n = |H22,n |2 + |H12,n |2 , and r12,n = H11,n · H21,n + H21,n · H22,n to simplify derived expressions.
The total feedforward-filter/matched-filter may be expressed as a product of 3 matrices, and not
simplified further.
d. (2 pts) If the two inputs have mutual information I¯1 (x1 ; y) and I¯2 (x2 ; y), what is the overall SNR
of the DMT/GDFE (bonded DMT) system?
a. (4 pts) Find the best Rxx and corresponding SNRgdf e,u for N = 4 and ⌫ = 1.
b. (5 pts) Compute all the matrices in the GDFE for your answer in part a if the designer is allowed
to construct a white input and wants a triangular or “causal” implementation. Provide a block
diagram of both transmitter and receiver.
c. (1 pt) Why can’t a CDFE or DMT obtain quite this same performance with N = 4 and ⌫ = 1?
a. (1 pt) For what types of Rxx can a CDFE be implemented? Equivalently, for what types of
channel matrices P ?
b. (1 pt) For what types of Rxx can a GDFE be implemented? Equivalently, what are the restrictions
on P ?
c. (1 pt) What is the characteristic that defines a “canonical channel”?
d. (1 pt) What is the di↵erence between “canonical factorization” and a “canonical channel”?
e. (1 pt) Why does the appropriate use of the CDEF result allow suboptimum equalizers to play at
highest performance levels?
f. (1 pt) Generally on a channel with à prior unknown or severe intersymbol interference, if you had
the option to implement DMT or a CDFE/MMSE-DFE, what would you choose if complexity/cost
was your dominant concern? Why? (Give two reasons).
629
!
H f( )
ω
f c*,1 = 10!MHz f c*,2 = 25!MHz f c*,3 = 45!MHz
! ! !
1 = 10!MHz 1 1
T* * = 5!MHz = 30!MHz
! 1 !
T T3*
2
!
a. (5 pts) Suppose this channel were modelled as 3 independent 1 D channels in parallel. Find the
CDFE for N = 8 and ⌫ = 1 and the best data rate with = 3 dB.
b. (1 pt) Now instead model this channel directly with N = 24 and ⌫ = 3. How may independent
CDFE bands are there, M =? .
c. (5 pts) Design the CDFE and compute its SNR for the overall design in part b. You need not pro-
vide the feedforward and feedback matrices, but do provide the set of SNR’s for all the subchannels
implemented. Use a water-filling rate-adaptive input design for the best covariance.
d. (2 pts) Can you guess an eventual setting for the CDFE’s feedforward and feedback sections from
part c. If so, provide it.
c. (1.5 pts) What is the overall b̄ and corresponding equivalent SNR for this system?
d. (1 pt) What is the total transmit power (assuming the load is 1 Ohm) used?
e. (3 pts) What is the maximum bit rate that can be achieved if the spectrum within each band is
flat and each band may use coded-QAM with = 0 dB and a MMSE-DFE receiver?
630
f. (2 pts) Repeat part e with = 6 dB.
g. (2.5 pts) Compare your data-rate in part e to the data-rate achieved with baseband PAM trans-
mission (subject to power constraint from part d and = 0 dB) with symbol rate of 120 MHz and
equal loading over the entire band. Assume also that the SNR in the regions between the bands is
-30 dB
a. (4 pts) Determine a DMT design with a sufficient number of tones. What is the highest data rate
that can be transmitted on such a channel with 0 dB gap? Please specify the number of tones, the
data-rate, and provide a plot of the bit distribution.
d. (3 pts) Show in detail a block diagram that lists in detail all filters and FFT/IFFT sizes for the
transmitter of the CDFE.
e. (3 pts) Repeat part d for the corresponding receiver diagram of the CDFE.
f. (1 pt) Compute the overall CDFE SNR for a gap of 0 dB.
g. (3 pts) Compute the overall CDFE SNR for a gap of 8.8 dB. Please provide a plot of the energy
distribution.
h. (2 pts) Compute an SNR for each CDFE band and list the corresponding bit rate for that band
with a gap of 0 dB.
i. (5 pts) Find the stationary transmit filters and receive filters (feedforward and feedback) for each of
the bands if a MMSE-DFE (set) were used instead (for the 0 dB gap case). Plot all filter responses
in time and frequency (magnitude only).
631
Appendix A
Information Measures
A concept generalizing the number of input bits to an encoder, b, is the entropy. Entropy (in this text)
is defined for a stationary distribution for x, px (i), that exists in N -dimensions.1
Definition A.0.1 (Entropy) The entropy for an N -dimensional sequential encoder with
probability distribution px (i) i = 0, ..., M 1 is:
M
X1
Hx = px (i) log2 [px (i)] bits/symbol (A.1)
i=0
= E {log2 [1/px ]} , (A.2)
The entropy Hy of the channel output is also similarly defined for discrete channel-output distributions.
The entropy of a random variable can be interpreted as the “information content” of that random
variable, in a sense a measure of its “randomness” or “uncertainty.” It can be easily shown that a
discrete uniform distribution has the largest entropy, or information – or uncertainty over all discrete
distributions. That is, all values are just as likely to occur. A deterministic quantity (px (i) = 1 for
one value of i and px (j) = 0 8j 6= i) has no information, nor uncertainty. For instance, a uniform
distribution on 4 discrete values has entropy Hx = 2 bits/symbol. This is the same as b for 4-level
PAM or 4 QAM with uniform input distributions. The entropy of a source is the essential bit rate of
information coming from that source. If the source distribution is not uniform, the source does not have
maximum entropy and more information could have been transmitted (or equivalently transmitted with
fewer messages M ) with a di↵erent representation of the source’s message set. Prior to this chapter,
most of the message sets considered were uniform in distribution, so that the information carried was
essentially b, the base-2 log of the number of messages. In general, Hx log2 (M ), where M is the
number of values in the discrete distribution.
In the case of a continuous distribution, the di↵erential entropy becomes:
Z 1 h i
Hy = py (u) log2 py (u) du . (A.3)
1
1 Information measures in this book use a base-2 logarithm and are measured in bits per symbol. Any other base, p,
could be used for the logarithm, and then the measures would be in the pits/symbol!
632
For any other distribution py (v) with mean zero and the same variance,
Z 1 ⇣q ⌘ 1
py (v) log2 (gy (v)) dv = log2 2⇡ y2 + , (A.5)
1 2 ln(2)
2
which depends only on y. Then, letting the distribution for y be an argument for the
entropy,
Hy (gy ) Hy (py ) = (A.6)
Z 1 Z 1
= gy (v) log2 (gy (v))dv + py (v) log2 (py (v))dv (A.7)
1 1
Z 1 Z 1
= py (v) log2 (gy (v))dv + py (v) log2 (py (v))dv (A.8)
1 1
Z 1 ✓ ◆
gy (v)
= py (v) log2 dv (A.9)
1 py (v)
Z 1 ✓ ◆
1 gy (v)
py (v) 1 dv (A.10)
ln 2 1 py (v)
1
(1 1) = 0 , (A.11)
ln 2
or2
Hy (gy ) Hy (py ) . (A.12)
QED.
With simple algebra,
1
log2 (2e⇡ y2 ) .
H(gy ) = (A.13)
2
For baseband complex signals, Hy , in bits per complex (two-dimensional) symbol is often written Hy =
log2 ⇡e y2 where y2 becomes the variance of the complex random variable (which is twice the variance
of the variance of the real part of the complex variable, when real and imaginary parts have the same
variance, as is almost always the case in data transmission).
Most of the uses of entropy in this text are associated with either the encoder distribution px , or with
the channel output distributions py or py /x . The normalization of the number of bits per dimension to
b̄ = Nb tacitly assumes that the successively transmitted dimensions were independent of one another.
In the case of independent successive dimensions, Hx = N Hx . Hx is equal to b̄, if the distribution on
each dimension is also uniform (as well as independent of the other dimensions). Equivalently in (A.2),
Hx = N · Hx if each of the dimensions of x is independent.
For instance, 16QAM has entropy Hx = b = 4 bits/symbol and normalized entropy H̄x = b̄ = 2
bits/dimension. However, 32CR has entropy Hx = b = 5 bits/symbol, but since p(±x = 1) = p(±x =
3) = 6/32 and p(±5) = 4/32, the entropy Hx = 2.56 bits/dimension 6= H̄x = b̄ = 2.5 bits/dimension.
Note also that the number of one-dimensional distribution values is 6, so Hx = 2.56 < log2 (6) = 2.58.
The di↵erential entropy of a (real) Gaussian random variable with variance ¯ 2 is
1
Hx = log2 2⇡e¯ 2 bits/symbol. (A.14)
2
2
A complex Gaussian variable with variance has di↵erential entropy
2
Hx = log2 ⇡e bits/symbol. (A.15)
The conditional entropy of one random variable given another is defined according to
XM
X1 1
H x/ y = px (i)py /x (v, i) log2 (A.16)
v i=0
px/y (v, i)
2 Equation (A.11) uses the bound ln(x) x 1.
633
XM
X1 1
Hy /x = px (i)py /x (v, i) log2 , (A.17)
v i=0
py /x (v, i)
with integrals replacing summations when random variables/vectors have continuous distributions. The
definition of conditional entropy averages the entropy of the conditional distribution over all possibilities
in some given input distribution. Thus, the conditional entropy is a function of both py /x and px .
Conditional entropy measures the residual information or uncertainty in the random variable given
the value of another random variable on average. This can never be more than the entropy of the
unconditioned random variable, and is only the same when the two random variables are independent.
For a communication channel, the conditional entropy, Hy /x , is basically the uncertainty or information
of the “noise.” If the conditional distribution is Gaussian, as is often the case in transmission, the
conditional entropy of a scalar x becomes
⇢ 1 2
Hx/y = 2 log2 2⇡e mmse real x
(A.18)
2
log2 ⇡e mmse complex x
The MMSE in the above equations is that arising from estimation of x, given y. Thus, the conditional
entropy then measures the information remaining after the e↵ect of the y has been removed. That is in
some sense measuring useless information that a receiver might not be expected to use successfully in
estimating x.
The information of the “noise,” or more generically, the “useless part” of the channel output given
a certain input distribution, is not of value to a receiver. Thus, while the entropy of the source is a
meaningful measure of the data transmitted, the entropy of the channel output has extra constituents
that are caused by the randomness of noise (or other useless e↵ects). Given that it is the output of a
channel, y, that a receiver observes, only that part of the output that bears the information of the input
is of value in recovering the transmitted messages. Thus, the entropy Hy Hy /x measures the useful
information in the channel output. This information is called the mutual information.
Definition A.0.2 (Mutual Information) The mutual information for any N -dimensional
signal set with probability distribution px (i) i = 0, ..., M 1, and a corresponding channel
description py /x (v, i), is:
I y ,x = H y Hy /x . (A.19)
The identity,
I y ,x = H y Hy /x = H x H x/ y , (A.20)
easily follows from transposing x and y. Using probability distributions directly:
" #
XM X1 py /x (v, i)
I y ,x = px (i)py /x (v, i) log2 PM 1 bits/symbol (A.21)
v i=0 m=0 py /x (v, m)px (m)
" #
py /x
= E log2 (A.22)
py
py , x
= E log2 (A.23)
px · py
px/ y
= E log2 , (A.24)
px
In the case of a continuous distribution on y and/or x, the summation(s) is (are) replaced by the
appropriate integral(s).
634
Appendix B
Cholesky Factorization
This appendix illustrates two approaches to Cholesky factorization that can either simply the direct
computation of triangular matrices in Section B.1 or provide a MMSE approach as in Section B.1.1.
635
2 3
1 0.828 0.828
1
R1a = S1 · R = 4 1 1.21 1 5 (B.5)
1 1 1.21
Step 1b) Subtract the first row from the second and third row
2 3
1 0 0
G1 ⇤ = 4 1 1 0 5 (B.6)
1 0 1
2 3
1 0.828 0.828
R1b = G1 ⇤ · R1a = 4 0 0.382 0.172 5 (B.7)
0 0.172 0.382
Step 2a) Normalize the second and third row by the second column
2 3
1 0 0
S2 = 4 0 0.382 0 5 (B.8)
0 0 0.172
2 3
1 0.828 0.828
R2a = 4 0 1 0.45 5 (B.9)
0 1 2.22
Step 2b) Subract the second row from the third row
2 3
1 0 0
G2 ⇤ = 4 0 1 0 5 (B.10)
0 1 1
2 3
1 0.828 0.828
R2b = G2 ⇤ · R2a = 4 0 1 0.45 5 (B.11)
0 1 1.76
Step 3) Normalize the third row by the third column
2 3
1 0 0
S3 = 4 0 1 0 5 (B.12)
0 0 1.76
2 3
1 0.828 0.828
G = R3 = S3 1 · R2b = 4 0 1 0.45 5 (B.13)
0 0 1
The overall S is then 2 3
151 0 0
S = 4 0 47.8 0 5 (B.14)
0 0 38.1
Cholesky decomposition for Rxx
In Section 5.5, the Cholesky decomposition locates the upper triangle first, and lower triangular
matrix last. To do this calculation, the sequence instead then works above the diagonal instead of
below. As an example”
0.6715 0.2956
Rxx = . (B.15)
0.2956 0.7340
Step1) Normalize each row by the second column and subtract the second row from the first row.
0.2956 0
S1 = (B.16)
0 0.7340
1 1
G1 = (B.17)
0 1
1 ⇤ 1.87 0
R1 = S1 · G1 = (B.18)
0.403 1
636
Step 2) Normalize the first row
1.87 0
S2 = (B.19)
0 1
1 0
G = S2 1 · R1 = (B.20)
0.403 1
Then
1.87(.2956) 0
S= . (B.21)
0 .7340
637