You are on page 1of 17

Multiple Output (MIMO), or space-time, communication.

There is a great deal of commonality


between signal processing for dispersive channels and for MIMO, which is why we treat these
topics within the same chapter. Furthermore, the combination of OFDM with MIMO allows
parallelization of transceiver signal processing for complicated channels, and has become the
architecture of choice for both WiFi (the IEEE 802.11n standard) and for fourth generation
cellular systems (LTE, or long term evolution). Three key concepts for MIMO are covered:
beamforming (directing energy towards a desired communication partner), diversity (combating
fading by using multiple paths from transmitter to receiver), and spatial multiplexing (using
multiple antennas to support parallel data streams).
Chapter Plan: Compared to the earlier chapters, this chapter has a somewhat unusual orga-
nization. For dispersive channels, a key goal is to provide hands-on exposure via software labs.
A model for singlecarrier linear modulation over a dispersive channel, including code fragments
for modeling the transmitter and the channel, is presented in Section 8.1. Linear equalization
is discussed in Section 8.2. Sections 8.1 and 8.2.1 provide just enough background, including
code fragments, for Software Lab 8.1 on adaptive implementation of linear equalization. Section
8.2.2 provides geometric insight into why the implementation in Software Lab 8.1 works, and
provides a framework for analytical computations related to MMSE equalization and the closely
related notion of zero-forcing (ZF) equalization. It is not required for actually doing Software
Lab 8.1. The key concepts behind OFDM and its DSP-centric implementation are discussed in
Section 8.3, whose entire focus is to provide background for developing a simplified simulation
model for an OFDM link in Software Lab 8.2. Finally, MIMO is discussed in Section 8.4, with
the signal processing concepts for MIMO communication reinforced by Software Lab 8.3. The
problems at the end of this chapter focus on linear equalization concepts discussed in Section
8.2.2, and on performance evaluation of core MIMO techniques (beamsteering, diversity and
spatial multiplexing) discussed in Section 8.4.
Software: As already mentioned, this chapter is structured to give an exposure to advanced
concepts through the associated software labs: Software Lab 8.1 for singlecarrier modulation
over dispersive channels, Software Lab 8.2 for OFDM, and Software Lab 8.3 for MIMO signal
processing.

8.1 Singlecarrier System Model


We first provide a system-level overview of singlecarrier linear modulation over a dispersive
channel. Figure 8.1 shows block diagrams corresponding to a typical DSP-centric realization of
the transceiver. The DSP operations are performed on digital streams at an integer multiple
of the symbol rate, denoted by m/T . For example, we might choose m = 4 for implementing
the transmit and receive filters, but we might subsample the output of the receive filter down
to m = 2 before implementing an equalizer. We model the core components of such a system
using the complex baseband representation, as shown in Figure 8.2. Given the equivalence of
passband and complex baseband, we are only skipping modeling of finite precision effects due
to digital-to-analog conversion (DAC) and analog-to-digital conversion (ADC). These effects can
easily be incorporated into models such as those we develop, but are beyond our current scope.
We focus on a hands-on development of the key ideas using discrete time simulation models,
illustrated by code fragments.

8.1.1 Signal Model


We begin with an example of linear modulation, to see how ISI arises and can be modeled.
Consider linear modulation using BPSK with a sine pulse, which leads to a transmitted baseband

400
I
Transmit DAC
Symbols filter I
Up
(implemented Q
rate 1/T Q converter
at rate m/T) DAC

Digital Analog Passband


streams baseband Channel
rate m/T waveforms

Receive I
DSP for ADC
Estimated filter I Down
receiver
(implemented Q converter
symbols functions Q
at rate m/T) ADC
(includes coarse analog
(synchronization,
passband filtering)
equalization,
demodulation)

Figure 8.1: Typical DSP-centric transceiver realization. Our model does not include the blocks
shown in dashed lines. Finite precision effects due to digital to analog conversion (DAC) and
analog to digital conversion (ADC) are not considered. The upconversion and downconversion
operations are not modeled. The passband channel is modeled as an LTI system in complex
baseband.

Sampler,
rate m/T
Symbols Transmit Receive
Channel Receiver Estimated
{b[n]} Filter Filter Filter Signal
Rate 1/T g (t) g (t) g RX(t) Processing symbols
TX C

(Synchronization,
Noise Equalization,
Demodulation)

Figure 8.2: Block diagram of a linearly modulated system, modeled in complex baseband.

401
waveform shown in Figure 8.3(a). The Matlab code used for generating this plot is given below.
We have sampled much faster than the symbol rate (at 32/T ) in order to obtain a smooth plot.
In practice, we would typically sample at a smaller multiple of the symbol rate (e.g. at 4/T ) to
generate the input to the DAC in Figure 8.1.
1 0.5

0.8 0.4

0.6 0.3

0.4 0.2

0.2 0.1

0 0

−0.2 −0.1

−0.4 −0.2

−0.6 −0.3

−0.8 −0.4

−1 −0.5
0 1 2 3 4 5 6 7 8 9 10 0 2 4 6 8 10 12
t/T t/T

(a) Transmit filter output. (b) Receive filter output.

Figure 8.3: The outputs of the transmit and receive filter without channel dispersion. The
symbols can be read off from sampling each waveform at the times indicated by the stem plot.

We provide Matlab code fragments that convey the concepts underlying discrete-time modeling
and implementation. The code fragments also show how some of the plots here are generated,
with cosmetic touches omitted.
The following code fragment shows how to work with discrete time samples using oversampling
at rate m/T , including how to generate the plot of the transmitted waveform in Figure 8.3(a).

Code Fragment 8.1.1 (Transmitted waveform)

%choose large oversampling factor for smooth plots


oversampling_factor = 32;
m = oversampling_factor; %for brevity
%generate sine pulse
time_over_symbol = cumsum(ones(m,1))-1;
transmit_filter = sin(time_over_symbol*pi/m);
%number of symbols
nsymbols = 10;
%BPSK symbol generation
symbols = sign(rand(nsymbols,1) -.5);
%express symbol sequence at oversampled rate using zeropadding,
%(starts and ends with nonzero symbols)
Lpadded = m*(nsymbols -1)+1; %%length of zeropadded sequence
symbolspadded = zeros(Lpadded,1); %%initialize
symbolspadded (1:m:Lpadded) = symbols; %%fill in bit values every m entries
%%now all convolutions can be performed in oversampled domain
transmit_output = conv(symbolspadded,transmit_filter);
%plot transmitted waveform and sampling times
t1 = (cumsum(ones(length(transmit_output)))-1)/m;
figure;
plot(t1,transmit_output,’b’);
xlabel(’t/T’);

402
1

0.8

0.8
0.6

0.6
0.4
0.4

0.2 0.2

0
−0.2

−0.4
−0.2

−0.6

−0.4
−0.8 0 2 4 6 8 10 12 14
−0.5 0 0.5 1 1.5 2
t/T t/T

(a) Dispersive channel. (b) Receive filter output.

Figure 8.4: When the transmitted waveform passes through the dispersive channel shown, we
can no longer read off the symbols reliably by sampling the output of the receive filter. For this
particular set of symbols, one of the symbols is estimated incorrectly, even though there is no
noise.

Figure 8.4 shows a dispersive channel and the corresponding noiseless receive filter output. The
effective pulse given by the cascade of the transmit, channel and receive filters is no longer
Nyquist, hence we do not expect a symbol decision based on a single sample to be reliable.
Figure 8.4(b) shows the severe distortion due to ISI with a “best effort” choice of sampling times
(chosen based on the peak of the effective pulse). In particular, for the specific symbol sequence
shown, one (out of ten) of the symbol estimates obtained by taking the signs of these samples is
incorrect.
20 30

15
20

10

10
5

0 0

−5
−10

−10

−20
−15

−20 −30
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
t/T t/T

(a) Ideal channel. (b) Dispersive channel.

Figure 8.5: Eye diagrams with and without channel dispersion. The eye is closed for the channel
considered, which means that reliable symbol decisions are not possible without equalization.

Eye diagrams: A classical technique for visualizing the effect of ISI is the eye diagram. It
is constructed by overlapping multiple segments of the received waveform over a fixed window,
which tells us how different combinations of symbols could potentially create ISI. For an ideal
channel and square root Nyquist pulses at either end, the eye is open, as shown in Figure 8.5(a).
However, for the dispersive channel in Figure 8.4(b), we see from Figure 8.5(b) is closed. An open
eye implies that, by an appropriate choice of sampling times, we can make reliable single-sample
symbol decisions, while a closed eye means that more sophisticated equalization techniques are

404
needed for symbol recovery.
Physically, an eye diagram can be generated using an oscilloscope with the baseband modulated
signal as the vertical input, with horizontal sweep triggered at the symbol rate. A code fragment
for generating the eye pattern from discrete time samples at rate m/T is given below. (While
Matlab has its own eye diagram routine, this code fragment is provided in order to clearly convey
the concept.) The output of the receive filter generated in code fragment 8.1.2 is the input to
this fragment, but in general, we could plot an eye diagram based on the baseband waveform at
any stage in the system. For complex baseband signals, we would plot the eye diagrams for the
I and Q components separately.

Code Fragment 8.1.3 (Eye diagram)

%remove edge effects before doing eye diagram


r1 = receive_out(m/2:m/2+nsymbols*m-1);
%horizontal display length in number of symbol intervals
K=2;
%break into non-overlapping traces
R1=reshape(r1,K*m,length(r1)/(K*m));
%now enforce continuity across traces
%(append to each trace the first element of the next trace)
row1 = R1(1,:);
L=length(row1);
row_pruned = row1(2:L);
R_pruned = R1(:,1:L-1);
R2 = [R_pruned;row_pruned];
time = (0:K*m)/m; %time as a multiple of symbol interval
plot(time,R2);
xlabel(’t/T’);

8.1.2 Noise Model and SNR


In continuous time, our model for the noisy input to the receive filter is
X
y(t) = b[n]p(t − nT ) + n(t) (8.1)
n

where p(t) = (gT X ∗ gC )(t) is the “effective pulse” given by the cascade of the transmit pulse
and the channel filter, {b[n]} is the symbol sequence, which is in general complex-valued, and
n(t) is complex WGN with PSD σ 2 = N20 . We translate this model directly into discrete time
by constraining t = kT /m + τ , where m/T is the sampling rate (m a positive integer) and τ
equals the sampling offset. The noise at the input to the receive filter is now modeled as discrete
time white Gaussian noise (WGN) with variance σ 2 = N20 per dimension. As we well know from
Chapter 6, the absolute value of the noise variance is meaningless unless we also specify the signal
scaling, hence we fix either the signal or noise strength, and set the other based on SNR measures
such as Eb /N0 or Es /N0 . Here Es = E [|b[n]|2 ] ||p||2 for the model (8.1), and Eb = Es / log2 M
as usual, where M is the constellation size. Inner products and norms are computed in discrete
time.
Note that, with the preceding convention, the noise energy in a fixed time interval scales up with
the sampling rate, and so does the signal energy (since we have more samples whose energies
we are adding up), with the SNR converging to the continuous-time SNR as the sampling rate
gets large. However, for a sampling rate that is a small multiple of the symbol rate, the SNR for

405
We summarize as follows. The zero-forcing equalizer drives the ISI to zero, while the linear
MMSE equalizer trades off ISI and noise at its output so as to maximize the SINR. For large
SNR, the contribution of the ISI is dominant, and the MMSE equalizer tends in the limit to the
zero-forcing equalizer (if it exists), and hence pays the same asymptotic penalty in terms of noise
enhancement. In practice, the MMSE equalizer often performs significantly better than the ZF
equalizer at moderate SNRs, but in order to improve equalization performance at high SNR, one
must look to nonlinear equalization strategies, which are beyond our present scope.
Extension to complex-valued signals: All of the preceding development applies to complex-
valued constellations and signals, except that vector transposes xT are replaced by conjugate
transposes xH , and the noise covariance matrix must include the effect of both the real and
imaginary parts of the noise.
Noise model: In order to model complex-valued WGN, we set Cw = 2σ 2 I. This can be gener-
ated by setting Re(w) and Im(w) to be i.i.d. N(0, σ 2 ). More generally, we consider circularly
symmetric, zero mean, complex Gaussian noise vectors w, which are completely characterized
by their complex covariance matrix,
Cw = E (w − E[w])(w − E[w])H = E wwH
   

We use the notation w ∼ CN(0, Cw ). Detailed discussion of circularly symmetric Gaussian ran-
dom vectors would distract us from our present purpose. Suffice it to say that circular symmetry
and Gaussianity is preserved under linear transformations. The covariance matrix evolves as
follows: if w = Bw̃, then Cw = BCw̃ BH . Thus, we can generate colored circularly symmetric
Gaussian noise w by passing complex WGN through a linear transformation. Specifically, if we
can write Cw = BBH (this can always be done for a positive definite matrix), we can generate
w as w = Bw̃, where w̃ ∼ CN(0, I).
The expressions for the ZF and MMSE correlators are as follows:
−1
cZF = C−1 H −1
w U U Cw U e , ZF correlator for complex − valued signals
(8.35)
cM M SE = R−1p , MMSE correlator for complex − valued signals
(R = σb2 UUH + Cw , p = σb2 u0 , σb2 = E[|b[n]|2 ])

MMSE and SINR: While the SINR for any linear correlator can be computed as in (8.16),
we can obtain particularly simple expressions for the MSE and SINR achieved by the MMSE
correlator, as follows.

MMSE = σb2 − pH cM M SE = σb2 − pH R−1 p


(8.36)
σb2
SINRmax = M M SE
−1

8.3 Orthogonal Frequency Division Multiplexing


We now introduce an alternative approach to communication over dispersive channels whose goal
is to isolate symbols from each other for any dispersive channel. The idea is to employ frequency
domain transmission, sending symbols B[n] using complex exponentials sn (t) = ej2πfn t , which
have two key properties:
P1) When sn (t) goes through an LTI system with impulse response h(t) and transfer function
H(f ), the output is a scalar multiple of sn (t). Specifically,

ej2πfn t ∗ h(t) = H(fn )ej2πfn t

418
P2) Complex exponentials at different frequencies are orthogonal:
Z Z ∞

hsn , sm i = sn (t)sm (t)dt = ej2π(fn −fm )t dt = δ(fm − fn ) = 0 , fn 6= fm
−∞

This is analogous to the properties of eigenvectors of matrices. Thus, complex exponentials are
eigenfunctions of any LTI system, as already pointed out in Chapter 2.
Conceptual basis for OFDM: For frequency domain transmission with symbol B[k] modu-
lating the complex exponential sn (t) = ej2πfn t , the transmitted signal is given by
X
u(t) = B[n]ej2πfn t
n

When this goes through a dispersive channel h(t), we obtain (ignoring noise)
X
(u ∗ h)(t) = B[n]H(fn )ej2πfn t
n

Note that the symbols {B[n]} do not interfere with each other after passing through the channels,
since different complex exponentials are orthogonal. Furthermore, regardless of how complicated
the time domain channel h(t) is, we have managed to parallelize the problem of equalization by
going to the frequency domain. Thus, we only need to estimate and compensate for the complex
scalar H(fn ) in demodulating the nth symbol. We now discuss how to translate this concept
into practice.
Finite signaling interval: The first step is to constrain the signaling interval, say to length T .
The complex baseband transmitted signal is therefore given by
N
X −1 N
X −1
j2πfn t
u(t) = B[n]e I[0,T ] (t) = B[n]pn (t) (8.37)
n=0 n=0

where B[n] is the symbol transmitted using the modulating signal pn (t) = ej2πfn t I[0,T ] , using the
nth subcarrier at frequency fn . Let us now see how the properties P1 and P2 are affected by
time limiting. The time limited tone pn (t) has Fourier transform Pn (f ) = T sinc((f −fn )T )e−πf T ,
which decays quickly as |f − fn | takes on values of the order of Tk . For a channel whose impulse
response h(t) is approximately timelimited to Td (the channel delay spread), the transfer function
is approximately constant over frequency intervals of length Bc roughly inversely proportional
to 1/Td (the channel coherence bandwidth). If the signaling interval is large compared to the
channel delay spread (T ≫ Td , then 1/T is small compared to the channel coherence bandwidth
( T1 ≪ Bc ), so that the gain seen by Pn (f ) is roughly constant, and the eigenfunction property
is roughly preserved. That is, when Pn (f ) goes through a channel with transfer function H(f ),
the output
Qn (f ) = H(f )Pn (f ) ≈ H(fn )Pn (f ) (8.38)
Regarding the orthogonality property P2, two complex exponentials that are constrained to an
interval of length T are orthogonal if the frequency separation is an integer multiple of 1/T :
Z T
ej2π(fn −fm )T − 1
ej2πfn t e−j2πfm t dt = = 0 , for (fn − fm )T = nonzero integer (8.39)
0 j2π(fn − fm )

Thus, if we wish to send N symbols in parallel using N subcarriers (the term used for each time-
constrained complex exponential), we need a bandwidth of roughly N/T in order to preserve
orthogonality among the timelimited tones. Of course, even if we enforce orthogonality in this

419
fashion, the timelimited tones are not eigenfunctions of LTI systems, so the output corresponding
to the nth timelimited tone is not just a scalar multiple of itself. However, using (8.38), we can
approximate the channel output for the nth timelimited tone as H(fn )ej2πfn t I[0,T ] (t). Thus, the
output corresponding to the transmitted signal (8.37) can be approximated as follows:
N
X −1
y(t) ≈ B[n]H(fn )ej2πfn t I[0,T ] (t) + n(t) (8.40)
n=0

To summarize, once we limit the signaling duration to be finite, the ISI avoidance property of
OFDM is approximate rather than exact. However, as we now discuss, orthogonality between
subcarriers can be restored exactly in digital implementations of OFDM. Before discussing such
implementations, we provide some background on discrete time signal processing.

8.3.1 DSP-centric implementation


The proliferation of OFDM in commercial systems (including wireline DSL, wireless local area
networks and wireless cellular systems) has been enabled by the implementation of its transceiver
functionalities in DSP, which leverages the economies of scale of digital computation (Moore’s
“law”). For T large enough, the bandwidth of the OFDM signal u is approximately N/T , where
N denotes the number of subcarriers. Thus, we can represent u(t) accurately by sampling at
rate 1/Ts = N/T , where Ts denotes the sampling interval. From (8.37), the samples are given by
N
X −1
u(kTs ) = B[n]ej2πnk/N
n=0

We can recognize this simply as the inverse DFT of the symbol sequence {B[n]}. We make this
explicit in the notation as follows:
N
X −1
b[k] = u(kTs ) = B[n]ej2πnk/N (8.41)
n=0

If N is a power of 2 (which can be achieved by zeropadding if necessary), the samples {b[k]} can
be efficiently generated from the symbols {B[n]} using an inverse Fast Fourier Transform (IFFT).
The complex baseband waveform u(t) can now be obtained from its samples by digital-to-analog
(D/A) conversion. This implementation of an OFDM transmitter is as shown in Figure 8.9: the
bits are mapped to symbols, the symbols are fed in parallel to the inverse FFT (IFFT) block,
and the complex baseband signal is obtained by D/A conversion of the samples (after insertion
of a cyclic prefix, to be discussed after we motivate it in the context of receiver implementation).
Typically, the D/A converter is an interpolating filter, so that its effect can be subsumed within
the channel impulse response.
Note that the relation (8.41) can be inverted as follows:
N −1
1 X
B[n] = b[k]e−j2πnk/N (8.42)
N k=0

This is exploited in the digital implementation of the OFDM receiver, discussed next.
Remark on Matlab FFT and IFFT conventions: Matlab puts a factor of 1/N in the IFFT rather
than in the FFT as done in (8.41) and (8.42). In both cases, however, IFFT followed by FFT

420
Parallel to serial

...

...
Serial to parallel Digital−to−analog
Bits Modulator IFFT converter To
converter converter
from (bits to symbols) (insert cyclic upconverter
encoder prefix)

N complex N complex
symbols in samples out

Figure 8.9: DSP-centric implementation of an OFDM transmitter.

gives the identity. Note also that Matlab numbers vector entries starting with one, so the FFT
of x[n], n = 1, ..., N is given by:
N
X
X[k] = x[n]ej2π(n−1)(k−1)/N
n=1

The corresponding IFFT is given by


N
1 X
x[n] = X[k]ej2π(n−1)(k−1)/N
N
k=1

We have observed that, once we limit the signaling duration to be finite, the ISI avoidance
property of OFDM is approximate rather than exact. However, as we now show, orthogonality
between subcarriers can be restored exactly in discrete time by using a cyclic prefix, which allows
for efficient demodulation using an FFT. The noiseless received OFDM signal is modeled as
N
X −1
v(t) = b[k]p(t − kTs )
k=0

where the “effective” channel impulse response p(t) includes the effect of the D/A converter at
the transmitter, the physical channel, and the receive filter. When we sample this signal at rate
1/Ts , we obtain the discrete-time model
N
X −1
v[m] = b[k]h[m − k] (8.43)
k=0

where {h[l] = p(lTs )} is the effective discrete time channel of length L, assumed to be smaller
than N. We assume, without loss of generality, that h[l] = 0 for l < 0 and l ≥ L. We can rewrite
(8.43) as
L−1
X
v[m] = h[l]b[m − l] (8.44)
l=0

Let H denote the N point DFT of h, where N > L.


N
X −1 L−1
X
−j2πnl/N
H[n] = h[l]e = h[l]e−j2πnl/N (8.45)
l=0 l=0

As noted in (8.42), the DFT of {b[k]} is the symbol sequence B[n] (the normalization is chosen
differently in (8.42) and (8.45) to simplify the forthcoming equations.) In order to parallelize

421
...

...
Serial to parallel Parallel to serial To demodulator
Analog−to−digital
Sampler converter FFT
From converter converter and decoder
downconverter

N complex N complex
samples in decision statistics
out

Figure 8.13: DSP-centric implementation of an OFDM receiver. Carrier and timing synchro-
nization blocks are not shown.

where the frequency domain noise samples N[n] are modeled as i.i.d. complex Gaussian, with
Re(N[n]) and Im(N[n]) being i.i.d. N(0, σ 2 ). If the receiver knows the channel, then it can
implement ML reception based on the statistic H ∗ [n]Y [n]. Thus, the task of channel equalization
has been reduced to compensating for scalar channel gains for each subcarrier. This makes
OFDM extremely attractive for highly dispersive channels, for which time domain singlecarrier
equalization strategies would be difficult to implement.
Channel estimation: Channel estimation (along with timing and carrier synchronization,
which are not considered here) is accomplished by sending pilot symbols. In Software Lab 8.2,
we send an entire OFDM symbol as a pilot, followed by a succession of other OFDM symbols
with payload.

8.4 MIMO
The term Multiple Input Multiple Output (MIMO), or space-time communication, refers to com-
munication systems employing multiple antennas at the transmitter and receiver. We now pro-
vide a brief introduction to key concepts in MIMO systems, along with pointers for further
exploration.
While much effort and expertise must go into the design of antennas and their interface to
RF circuits, the following abstract view suffices for our purpose here: at the transmitter, an
antenna transduces electrical signals at radio frequencies into electromagnetic waves at the same
frequency that propagate in space; at the receiver, the antenna transduces electromagnetic waves
in a certain frequency range into electrical signals at the same set of frequencies. Antennas which
are insensitive to the direction of arrival/departure of the waves are termed omnidirectional or
isotropic (while there is no such thing as an ideal isotropic antenna, it is a convenient conceptual
building block). Antennas which are sensitive to the direction of arrival or departure are termed
directional. It is possible to synthesize directional responses using an array of omnidirectional
antenna elements, as we discuss next.

8.4.1 The linear array


Consider a plane wave impinging on the uniformly spaced linear array shown in Figure 8.14.
We see that the wave sees slightly different path lengths, and hence different phase shifts, in
reaching different antenna elements. The path length difference between two successive elements
is given by ℓ = d sin θ, where d is the inter-element spacing, and θ the angle of arrival (AoA)
relative to the broadside. The corresponding phase shift across successive elements is given
by φ = 2πℓ/λ = 2πd sin θ/λ, where λ denotes the wavelength. Another way to get the same
result: the delay difference between successive elements is τ = ℓ/c, where c is the speed of wave

425

You might also like