Introduction To OFDM Receiver Design and Simulation
Introduction To OFDM Receiver Design and Simulation
Y. J. Liu
artechhouse.com
ISBN-13: 978-1-63081-738-1
All rights reserved. Printed and bound in the United States of America. No part of this
book may be reproduced or utilized in any form or by any means, electronic or mechanical,
including photocopying, recording, or by any information storage and retrieval system,
without permission in writing from the publisher.
All terms mentioned in this book that are known to be trademarks or service marks
have been appropriately capitalized. Artech House cannot attest to the accuracy of this
information. Use of a term in this book should not be regarded as affecting the validity
of any trademark or service mark.
10 9 8 7 6 5 4 3 2 1
Preface xv
1.1 Introduction 1
1.2 Discrete Time Signals 2
1.3 Fourier Series Representation 2
1.4 DFT 5
1.5 Sampling Theorem and Signal Interpolation 7
1.6 Properties of the DFT 8
1.7 Time and Frequency Relationship of the DFT 10
1.8 Operations of the DFT 12
1.8.1 Linearity 12
1.8.2 Time Shift 12
1.8.3 Frequency Shift 13
1.8.4 Circular Convolution 13
1.9 Z-Transform 14
vii
1.10 Summary 16
References 17
2 Single-Carrier Modulation 19
2.1 Introduction 19
2.2 Data Transmission Rate 19
2.3 Bandpass Signals 20
2.4 Digitally Modulated Signals 21
2.4.1 PAM 22
2.4.2 PSK 22
2.4.3 QAM 24
2.4.4 FSK 26
2.5 Pulse Shaping 27
2.6 Summary 30
References 31
3 Multicarrier Modulation 33
3.1 Introduction 33
3.2 OFDM Waveform 34
3.3 OFDM Characteristics 35
3.3.1 Orthogonality 35
3.3.2 OFDM Spectrum 36
3.3.3 PAPR 37
3.3.4 Cyclic Prefix 39
3.3.5 FFT 40
3.4 Time and Frequency Parameters 41
3.5 Window Function 42
3.6 Digital Modulation 44
3.7 OFDM Waveform Properties 45
3.8 Summary 46
References 47
4 OFDM Transmission 49
4.1 Introduction 49
4.2 OFDM Transmitter Architecture 49
4.3 Signal Transmission Format 50
4.4 Preamble Signal for IEEE 802.11a 51
4.4.1 Short Sequence 52
4.4.2 Long Sequence 54
4.5 IEEE 802.11a Header Format 56
4.6 IEEE 802.11a Data Format 58
4.7 OFDM Receiver Architecture 58
4.8 Summary 59
Reference 60
5.1 Introduction 61
5.2 Binary Field 62
5.3 Galois Field 64
5.4 Sequence Generator 66
5.5 Period of Sequence Generator 70
5.6 Maximum-Length Sequences 72
5.6.1 Properties of the Maximum-Length Sequence 72
5.6.2 Sequence Generator from the IEEE 802.11a 73
5.7 Data Scrambler 74
5.8 Summary 75
References 76
6.1 Introduction 77
6.2 Large-Scale Propagation Model 78
6.2.1 Free-Space Propagation Loss 78
9 Synchronization 153
Index 255
xv
same. The transmission waveform specified in 802.11a was chosen. Once the
reader has an understanding of the design concepts based upon 802.11a, a
similar principle can be easily extended to other OFDM waveforms.
For example, the next generation cellular wireless digital communica-
tion is 5G (fifth generation), which is emerging. The 5G technology provides
much higher speed and is capable of connecting a massive number of devices.
The Third Generation Partnership Project (3GPP), the standards body behind
cellular 5G, has again adopted OFDM. Therefore, an understanding of basic
OFDM will help with stepping into the 5G era.
From Chapters 8 to 12, many simulation examples are provided. Besides
the simulation study, detailed derivations leading to the final formula for any
algorithm are given. In doing it this way, the reader can clearly understand the
approximations and conditions behind the formulas and apply them in the
correct way. If some important intermediate derivations are omitted, it is very
difficult to understand any algorithm. The emphasis is not on mathematics,
but includes enough to grasp the concepts behind the formula.
For any design topic used in the receiver, there can be many algorithms
in the literature. Only algorithms that were required for illustration and
comparison were provided to not confuse the reader. In most cases, only one
algorithm that is most promising from the simulation study was given. In
addition to the simulations, examples were provided in many cases to help to
understand the design subject. Therefore, this book is ideal for undergraduate
seniors, graduate students, engineers, and even professors who would like to
start understanding the OFDM technology.
This book is organized into 12 chapters. Chapter 1 provides the basics
of digital signal processing. We start with discrete time signals generated by
sampling an analog waveform. Next, Fourier series representation is given.
From its spectrum, the requirement for perfect analog signal reconstruction
is derived and that leads to the sampling theorem. The discrete Fourier trans-
form, inverse discrete Fourier transform, and an interpolation formula that
can reconstruct an analog signal based upon the discrete samples are then
subsequently derived.
The discrete Fourier transform has an important time and frequency
relationship and is presented. In addition, some operations including linear-
ity, time shift, frequency shift, and circular convolution are discussed. The
real-time signal has interesting symmetry properties that are illustrated.
Lastly, the z-transform and its usage to specify a time invariant linear system
are provided.
Chapter 2 reviews the single-carrier modulation techniques. The ana-
log modulated signal is first shown to be a bandpass signal. Its information
The detection includes both coarse detection and fine detection. The
coarse detection is done in two steps. The first step is the segment detection
for fast detecting the periodic segment in the preamble waveform. The second
step is the sample detection to narrow down the detection error in samples,
followed by the fine detection to pinpoint the sample onset.
Chapter 9 deals with synchronization issues in the receiver. The topics
covered include direct current (DC) offset, carrier frequency offset, frame
timing offset, sampling clock offset, and in phase and quadratic phase (IQ)
imbalance. For the sampling clock offset, the formulas in the acquisition mode
using the preamble waveform and the tracking mode from using the pilot
carriers in the data symbols are demonstrated. All the issues were analyzed
and derived in detail without omitting any intermediate steps. The possible
approximations and conditions are clearly illustrated. Simulation examples
are also given to help to understand each topic.
Chapter 10 concentrates on channel estimation. Two types of pilot
patterns are analyzed. They are the block type and the comb type, which are
mainly used for slow- and fast-varying channels, respectively. The channel
estimate for the block type is though discrete Fourier transform (DFT). For
the comb type, it is though interpolation of a few pilot carriers inside each
data symbol. Using the Lagrange interpolation formula, linear interpolation,
parabolic interpolation, and cubic interpolation are discussed. The channel
can also be adaptively tracked through the use of the least mean square (LMS)
algorithm, which is derived in detail using the method of steep descent. The
condition for convergence is also derived.
Chapter 11 talks about the decoding process. After the channel effect
is removed, the data demodulation follows. Both hard decision decoding and
soft decision decoding are discussed. For the hard decision decoding, either
a brute-force approach or a simplified approach can be applied. The brute-
force approach has to compute the Euclidean distances for all the constella-
tion points. However, the simplified approach can determine each in-phase
and quadrature-phase bits individually by using a simple logic that is derived
for QPSK, 16-QAM, and 64-QAM. After the demodulation is complete,
deinterleaving, error correction decoding, and descrambling discussed in the
previous chapters follow. For the soft decision decoding, the received in-phase
and quadrature samples are combined with Viterbi decoding to generate cor-
rected output sequence. Both the Euclidean distance and the log likelihood
ratio (LLR) used for the distance metric are discussed.
Chapter 12 performs the simulation study of the OFDM performance in
a multipath channel. First, the time-varying multipath channel is characterized.
Then the transmitter and receiver architecture used for simulation are reviewed.
The simulation consists of two parts. The first part is the OFDM performance
in an additive white Gaussian noise, (AWGN) channel. The performance of
binary phase shift keying (BPSK), QPSK, 16-QAM, and 64-QAM are com-
pared using a 1/2 convolutional code. The study using punctured convolutional
code is also conducted. The second part is the simulation study of OFDM in a
multipath channel with the use of a 1/2 convolutional code. The channel also
has fading and a simulation model is provided. The block pilot pattern together
with LMS algorithm-channel tracking are of particular interest. Various fad-
ing strength and block pilot periods are used for performance comparisons.
1.1 Introduction
In digital communication, the input signal is digitized, processed, and modu-
lated before going through a digital-to-analog converter in order for transmis-
sion. For example, the input speech from a microphone is digitized first before
encoding and modulation. This analog signal can be perfectly reconstructed
if an appropriate sampling rate is specified.
Orthogonal frequency division multiplexing (OFDM) is a frequency-
domain modulation technique and will be discussed in later chapters in detail.
The major operation of OFDM is fast Fourier transform (FFT), which is a
fast computation method of discrete Fourier transform (DFT). In prepara-
tion for understanding OFDM, all the steps from discrete time signals to
DFT and sampling theorem are reviewed. The major operations of DFT are
also discussed.
The z-transform, which is useful in specifying the time-invariant system
response, is also briefly reviewed.
Figure 1.2 shows such an impulse delta function. Note that p(t)is zero
except at the sampling instant nT. The discrete time signal x(t) is then repre-
sented by the following formula [1, 2]:
where xa(t) is a corresponding analog signal. The discrete signal x(t) only has
the sequence of values x(T ), x(2T ), x(3T ), and so forth, assuming that the
sampling time is greater than zero.
The second term on the right side of (1.6) integrates to 0 for m ≠ n. The
coefficient an is then given by
T /2
1
T −T∫/2
an = p(t)e − jnΩs t dt (1.7)
⎛ 1⎞
p(t) = ∑ ⎜ ⎟ e jnΩs t (1.8)
⎝T ⎠
Substituting (1.8) to (1.2), the discrete time function x(t) is then given by
⎛ 1⎞
x(t) = ⎜ ⎟ ∑ x a (t)e jnΩs t (1.9)
⎝T ⎠
⎛ 1⎞
(
X (Ω) = ⎜ ⎟ ∑ X a Ω − nΩs
⎝T ⎠ ) (1.10)
nΩ s − Ωc = (n − 1)Ωs + Ωc (1.11)
After some simple algebra from (1.11), the minimum sampling rate is
given here:
Minimum of Ω s = 2Ωc (1.12)
Equation (1.12) is the well-known result and states that the minimum
sampling rate must be twice the cutoff frequency of the analog signal to com-
pletely reconstruct the original signal without any spectral distortion. The
sampling rate given in (1.12) is also the Nyquist rate.
1.4 DFT
The DFT [1, 2] is derived by first taking the Fourier transform on both sides
of (1.3) to have the following:
∞ ∞ ∞
∫ x(t)e − jΩt dt = ∫∑
− jΩt
x a (nT )d(t − nT )e dt (1.13)
−∞ −∞
−∞
where we have represented xa(nT ) by xn which is the nth sample of the analog
signal xa(t). Equation (1.16) is the Fourier transform of the discrete samples xn.
Equation (1.18) defines the DFT of the discrete time sequence xn. The
sequence Xk is periodic with a period of N as evidenced by the fact that
Xk = Xk+N. Therefore, there are only N unique values of Xk.
To obtain the coefficients x(n) from Xk, we multiply both sides of (1.18)
by the complex exponential ej2πmk/N and summing k from 0 to N − 1 and
obtain the following:
N -1 N -1 N -1
 X k e j2pmk/N =   xne - j2pnk/N e j2pmk/N (1.19)
k=0 k=0 n=0
{
N −1
N for r = jN , j an integer
∑ e − j2prk/N = 0 otherwise
(1.21)
k=0
N −1
1
xn =
N ∑ X k e j2pnk/N n = 0,…, N − 1 (1.23)
k=0
⎛ 1 ⎞
x a (t) = ⎜ ⎟ ∫ X a (Ω)e jΩt dΩ (1.24)
⎝ 2p ⎠
⎡⎛ p ⎞ ⎤
sin ⎢⎜ ⎟ (t − nT )⎥
⎝ T ⎠
x a (t) = ∑ x(nT ) ⎣ ⎦ (1.28)
⎛p⎞
⎜⎝ T ⎟⎠ (t − nT )
N −1
1
xn =
N ∑ X k e j2pnk/N n = 0,1,…, N − 1 (1.30)
k=0
Assume that the input has a real sequence xn. The real and imaginary
parts of Xk are then given by
N −1
( ) ∑ xn cos ⎛⎜⎝ 2pnk
Re X k =
N ⎟⎠
⎞
(1.31a)
n=0
N −1
⎛ 2pnk ⎞
( )
Im X k = − ∑ xn sin ⎜
⎝ N ⎟⎠
(1.31b)
n=0
( )
Re X k = Re X − k ( ) (1.32)
( )
Im X k = −Im X − k ( ) (1.33)
If the input sequence is real, the real part of Xk is then an even func-
tion of the frequency while the imaginary part of Xk is an odd function of
the frequency.
The power spectrum of the kth frequency component is the sum of the
square of the real and imaginary parts of Xk and is given here:
( ) ( )
2 2
Pk = ⎡⎣Re X k ⎤⎦ + ⎡⎣Im X k ⎤⎦ (1.34)
( ) ( )
X − k = Re X − k + jIm X − k
= Re ( X k ) − jIm ( X k ) (1.37)
= ( Xk )
∗
( )
∗
X N −k = X k (1.38)
( ) (N + 1)
∗
X ( N −1)/2 = X ( N +1)/2 k= and N odd (1.39a)
2
N
( )
∗
X N /2 = X N /2 k= and N even (1.39b)
2
dt = T (1.41)
where dt is the time duration between two consecutive samples in the time
domain and is also equal to the sampling time T. Similarly, Figure 1.7 is a typi-
cal plot of the DFT in the frequency domain. The bandwidth is then given by
1
Lf = (1.42)
T
1
df = (1.43)
NT
where df is the frequency width between two consecutive samples in the fre-
quency domain. The bandwidth is also equal to the sampling frequency 1/T.
Equations (1.41) to (1.44) also illustrates the following relationship:
1
Lt = (1.44)
df
1
dt = (1.45)
Lf
From (1.44), the time duration Lt is the inverse of the frequency incre-
ment df. From (1.45), the time increment dt is the inverse of the bandwidth Lf.
WN = e j2p/N (1.46)
1.8.1 Linearity
Consider two periodic sequences, xn and yn. The DFT of xn is Xk and the DFT
of yn is Yk. The two periodic sequences can be linearly combined to generate
a third periodic sequence qn = axn + byn where a and b are constants. Then
clearly, the DFT of axn + byn is aXk + bYk.
Yk = X kWN−mk (1.47)
Equation (1.47) implies that a time shift in the time domain is equivalent
to multiplication by a phase factor in the frequency domain.
⎛ 1⎞ ⎛
N −1 N −1
⎞ ⎛ N −1 ⎞
= ⎜ ⎟ ∑ ⎜ ∑ xmWN− km ⎟ ⎜ ∑ yrWN− kr ⎟ WNkn (1.51)
⎝ N ⎠ k=0 ⎝ m=0 ⎠ ⎝ r=0 ⎠
⎛ 1⎞
N −1 N −1
⎛ N −1 ⎞
= ⎜ ⎟ ∑ xm ∑ yr ⎜ ∑ WN(n−m−r )k ⎟
⎝ N ⎠ m=0 r=0 ⎝ k=0 ⎠
N −1
qn = ∑ xm yn−m (1.52)
m=0
1.9 Z-Transform
The z-transform [1, 2] is defined by the following equation:
n=∞
X (z) = ∑ xn z −n (1.53)
n=−∞
Example 1.1
Consider the positive sequence given here:
xn = { bn n ≥ 0
0 n<0
(1.55)
n=∞ m=∞
Y (z) = ∑ ∑ xm hn−m z −n (1.58)
n=−∞ m=−∞
⎛ k=∞ ⎞ ⎛ m=∞ ⎞
= ⎜ ∑ hk z − k ⎟ ⎜ ∑ xm z −m ⎟ (1.59)
⎝ k=−∞ ⎠ ⎝ m=−∞ ⎠
= X (z)H (z)
Assume a linear system H(z) whose time sequence is hn. Passing through
the input sequence xn to H(z) generates an output sequence yn, which is the
convolution of xn and hn. The z-transform of the output is simply the product
of the input z-transform X(z) and the system z-transform H(z). This is also
similar to the case for the DFT.
The system function described in (1.59) has the following general form:
N (z)
H (z) = (1.60)
D(z)
Both N(z) and D(z) are polynomials of z−1 and they may have different
degrees. Assuming that N(z) has the degree u and D(z) has the degree v, they
can be written as
Y (z) b0 + b1z −1 + b2 z −2 + ! + bm z −u
= (1.63)
X (z) 1 + a1z −1 + a2 z −2 + ! + an z −v
Using the time shift operations given in (1.57), (1.64) can be converted
into the following difference equations
k=u k=v
yn = ∑ bk xn−k − ∑ ak yn−k (1.65)
k=0 k=1
1.10 Summary
A discrete time signal is obtained by sampling an analog signal at a periodic
rate. The DFT of these discrete samples is then derived. It was found that the
sampled spectrum is a summation of the shifted spectrum of the analog signal.
To reconstruct the original analog signal, the discrete samples must be taken
at least at the Nyquist rate. For a band-limited analog signal with a cutoff
frequency fc, the Nyquist rate is at least 2fc. Based upon the Nyquist rate, an
interpolation formula was derived to reconstruct the analog signal.
The DFT has a relationship between time and frequency. The band-
width in the frequency domain is the inverse of the sampling period in the
time domain. The signal duration in the time domain is the inverse of the
frequency increment in the frequency domain.
Three important operations of the DFT were illustrated: time shift,
frequency shift, and convolution. A time shift in the time domain is equivalent
to the multiplication by a phase factor in the frequency domain. A multiplica-
tion in the time domain by a phase factor is equivalent to a frequency shift in
the frequency domain. This frequency shift is equivalent to a Doppler shift.
The circular convolution of two discrete time sequences was defined. Its DFT
is the product of the DFT of the two individual sequences.
The z-transform was also defined. It is useful in specifying the time-
invariant system response. The output generated by passing the input through
such a system can be implemented using a tapped delay line.
In the next chapter, single-carrier modulation is reviewed.
References
[1] Oppenheim, A. V., and R. W. Schafer, Digital Signal Processing, Upper Saddle River,
NJ: Prentice Hall, 1975.
[2] Stanley, W. D., Digital Signal Processing, AU: Provide city of publication: Reston
Publishing Company, 1975.
[3] Proakis, J. G., Digital Communications, New York: McGraw-Hill, 1983.
2.1 Introduction
OFDM is a multicarrier modulation technique. First, let us explain single-
carrier modulation. From the name itself, it is clear there is only one carrier.
Depending upon the type of modulation, the amplitude, phase, or frequency
of this single carrier is modulated.
In digital communication, a sequence of digital bits is first grouped
into bauds. Each baud is then mapped into a unique phase, amplitude, or
frequency to modulate the carrier. The four most commonly applied modula-
tion techniques are discussed. They are pulse amplitude modulation (PAM),
phase shift keying (PSK), quadrature amplitude modulation (QAM), and
frequency shift keying (FSK).
The analog signal can be reconstructed through interpolation and was
discussed in Chapter 1. Two interpolation filters, rectangular and raised cosine,
are given.
19
(
x(t) = a(t)cos 2pf c t + q(t) ) (2.1)
where a(t) is the amplitude, θ (t) is the phase, and fc is the carrier frequency
of the modulated signal. Equation (2.1) can be represented in complex form
as given here:
(
x(t) = Re a(t)e jq(t )e j2pf c t ) (2.2a)
(
= Re s(t)e j2pf c t ) (2.2b)
where s(t) is the lowpass signal bearing the information of the input digital
bit stream
X( f ) =
1
2∫
( )
s(t)e j2pf c t + s∗ (t)e − j2pf c t e − j2pft dt
(2.4)
1
(( )
= S f − fc + S∗ f + fc
2
( ))
where S(f ) is the spectrum of s(t). Figure 2.1 is a plot of the lowpass signal s(t)
and Figure 2.2 is a plot of the bandpass signal x(t). Clearly, X(f ) is a frequency
shifted version of the baseband signal x(t).
sn = an e jqn (2.6)
where an is the nth sample of a(t) and θ n is the nth sample of θ (t). The in-phase
component In and the quadrature-phase component Qn can then be written as
( )
I n = an cos qn (2.7a)
( )
Q n = an sin qn (2.7b)
2.4.1 PAM
For PAM, only the amplitude an is changed while the phase θ n remains con-
stant. The simplest case is the on-off keying where k = 1 and M = 2. If the
input bit is 1, there is a transmission. However, if the input bit is 0, there is no
transmission. In general, there are M different amplitude levels for every k bits.
2.4.2 PSK
For PSK, the amplitude an remains constant while only the phase θ n is changed.
There are two popular PSK modulations. One is BPSK and the other is QPSK.
For BPSK, k = 1 and M = 2. Figure 2.3 shows the signal constellation.
The phase angle is either 180° or 0° and sn is either 1 or −1. Table 2.1 lists the
complex amplitude sn.
For QPSK, k = 2 and M = 4, and there are four possible phases. The
phase angles can be encoded as 45°, 135°, 225°, and 315°. Figure 2.4 shows
the signal constellation and Table 2.2 lists the complex amplitude 2sn [2].
The factor 2 is a constant to normalize the average energy.
Table 2.1
BPSK Encoding Table
Input Bits sn
0 −1
1 1
Table 2.2
QPSK Encoding Table
2sn
Input bits
00 −1 − j
01 −1 + j
11 1+j
10 1−j
2.4.3 QAM
For QAM, both the amplitude an and the phase θ n are changed. In the IEEE
802.11a standard [2 ], there are two types of QAM: 16-QAM and 64-QAM.
Depending on the phase angle, the amplitude can be different to make sure
that the average transmitted power remains the same.
In 16-QAM, k = 4 and M = 16. In other words, four input bits are
encoded into 16 different discrete levels. Figure 2.5 shows the signal constel-
lation while Table 2.3 lists the complex amplitude sn/C1 where C1 is a normal-
ization constant. The encoding of the constellation point is based upon the
Table 2.3
16-QAM Encoding Table
0000 −3 − 3j 1000 3 − 3j
0001 −3 − j 1001 3−j
0010 −3 + 3j 1010 3 + 3j
0011 −3 + j 1011 3+j
0100 −1 − 3j 1100 1 − 3j
0101 −1 − j 1101 1−j
0110 −1 + 3j 1110 1 + 3j
0111 −1 + j 1111 1+j
concept of Gray coding. In other words, any two adjacent constellation points
differ by only 1 bit. For example, 3 + j encoded as 1011 and 3 − j encoded as
1001 are adjacent but differ only in the third bit.
In 64-QAM, k = 6 and M = 64. Therefore, six input bits are encoded
into 64 discrete levels. Figure 2.6 shows the signal constellation while Table
2.4 lists the complex amplitude sn/C2 where C2 is a normalization constant.
The same Gray coding is applied.
The constant C1 in Table 2.3 and the constant C2 in Table 2.4 can be
determined by normalizing the average energy to be a constant 1. To deter-
mine C1 in Table 2.3 to normalize the average energy, the following is done:
15
⎛ 1⎞
⎜⎝ 16 ⎟⎠ ∑ si = 1
2
(2.9)
i=0
Table 2.4
64-QAM Encoding Table
2.4.4 FSK
For FSK, the information sn is used to change the frequency of the signal
waveform s(t). Assuming the frequency deviation is given by ∆fsn, the s(t) is
then given by [1]
∞
s(t) = ∑ e j2p(Δf )ts q(t − nT )
n
(2.10)
n=−∞
Since sncan take M different levels, there are M possible frequencies from
which to choose. The end result is the transmitted carrier frequency is shifted
based upon the input information sn.
⎡⎛ p ⎞ ⎤
sin ⎢⎜ ⎟ (t − nT )⎥
⎝ T ⎠
x a (t) = ∑ x(nT ) ⎣ ⎦ (2.11)
⎛p⎞
⎜⎝ T ⎟⎠ (t − nT )
( )(
⎛ n ⎞ sin ⎡⎣ 2pf c t − n/2 f c ⎤⎦
x a (t) = ∑ x ⎜
)
(2.12)
⎝ 2 f c ⎟⎠ ( )(
2pf c t − n/2 f c )
Equivalently, each discrete sample is multiplied by a pulse-shaping func-
tion given here:
⎛ pt ⎞
sin ⎜ ⎟
⎝T⎠
q(t) = (2.13)
pt
T
q(kT ) = { 01 k=0
k≠0 (2.14)
Equation (2.11) is just the convolution of the discrete signal x(t) with
the pulse q(t). Therefore, the analog spectrum is the product of the pulse
spectrum and the signal spectrum. In order to have no spectral distortion,
the ideal frequency spectrum of the function q(t) is the rectangular function,
Q(Ω) given here:
⎧⎪ p p
Q (Ω) = ⎨ T − T < Ω < T (2.15)
⎩⎪ 0, otherwise
The function Q(Ω) is also plotted in Figure 2.7. As shown next, the
inverse Fourier transform of (2.15) generates q(t):
p/T
⎛T ⎞
q(t) = ⎜ ⎟
⎝ 2p ⎠ ∫ Q (Ω)e jΩt dΩ
−p/T
p/T
⎛T ⎞
=⎜ ⎟
⎝ 2p ⎠ ∫ e jΩt dΩ (2.16)
−p/T
⎛ pt ⎞
sin ⎜ ⎟
⎝T⎠
=
pt
T
Figure 2.8 is a plot of sinc function given in (2.16). As can be seen, q(t)
is 1 at t = 0 and 0 when t/T has integral values.
Even though the sinc function in the time domain generates no ISI, it
has infinite duration and cannot be realized. In practice, the sinc function is
truncated to approximate the ideal function. If enough side lobes are kept,
negligible ISI can result.
The sinc function drops at the rate of 1/t. One method frequently used
in digital communication is to use the raised cosine function defined next [1]:
⎛ pt ⎞ ⎛ bpt ⎞
sin ⎜ ⎟ cos ⎜
⎝T⎠ ⎝ T ⎟⎠
q(t) = (2.17)
pt 1 − 4 b2 t 2
T T2
Its spectrum Q(f )/T has the following closed form [1]:
⎧ (1 − b)
⎪1 0≤ f ≤
2T
⎪ ⎛ ⎞
Q( f ) ⎪ ⎛ ⎛ 1 ⎞⎞
=⎨ pT ⎜ f −
T ⎜ ⎜ ⎝ 2T ⎟⎠ ⎟ ⎟ (1 − b) (1 + b) (2.18)
⎪ 0.5⎜1 − sin ⎜ ⎟⎟ ≤ f ≤
⎪ ⎜ b 2T 2T
⎜ ⎟⎟
⎪⎩ ⎝ ⎝ ⎠⎠
Figure 2.9 is a plot of the raised function against t/T for β = 0, 0.5, and
1. For β = 0, the raised cosine function is the same as the sinc function. As
β increases, the side lobe also decreases. For β = 1, the side lobe is negligibly
Figure 2.10 Frequency spectrum of the raised cosine function versus fT.
small after the main lobe. Figure 2.10 is a plot Q(f )/T against fT. When β
= 0, the spectrum converges to the ideal rectangle with bandwidth fT = 0.5
or Ω = 2π f = π /T.
The raised cosine function also satisfies the conditions for reconstruction
without ISI as defined in (2.14).
2.6 Summary
In digital communication, the traditional way is to have only one carrier to
carry the data information. A sequence of k input bits is first grouped to gen-
erate a baud that has a total of M = 2k levels. Each level is mapped onto the
phase, amplitude, or frequency of this single carrier for transmission.
Four modulation techniques, PAM, PSK, QAM, and FSK were pre-
sented. In PAM, only the amplitude is modulated. In PSK, only the phase
is modulated. If M = 2 or k = 1, it is BPSK. If M = 4 or k = 2, it is QPSK.
In QAM, both amplitude and phase are modulated. If M = 16 or k = 4, it
is 16-QAM. If M increases to 64 or k = 6, it is then 64-QAM. In FSK, M
different frequencies corresponding to k bits can be selected to change the
carrier frequency.
From the discrete digital samples, the analog signal can be reconstructed
by applying an interpolation filter. Two pulse-shaping waveforms were given.
One has a rectangular spectrum implying a sinc function in the time domain.
This sinc function has an infinite duration requiring truncation for implemen-
tation. To reduce the side lobes for fast convergence, a raised cosine function
can be applied. A parameter β was defined in this function to control the rate
References
[1] Proakis, J. G., Digital Communications, New York: McGraw-Hill, 1983.
[2] Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY)
Specifications, IEEE Standard 802.11a, 2007.
3.1 Introduction
OFDM is a modulation technique that applies multiple carriers to be modu-
lated by an input data stream. In a single-carrier modulation, the input data
is carried by only one carrier and the modulation is carried out in the time
domain. In a multicarrier modulation, the input data is split into bauds and
carried by multiple subcarriers and the modulation is carried out in the fre-
quency domain. Any two subcarriers are orthogonal in a symbol interval. This
is also why OFDM is so named.
A transmission through a multipath channel can cause ISI and signal
distortion. One characteristic of OFDM is its insertion of guard interval
between adjacent symbols to eliminate this degradation. This guard interval
is also called cyclic prefix to maintain the orthogonality of the subcarriers.
As will become clear in later chapters, the multipath degradation and fading
can be removed much more easily in the frequency domain using OFDM.
Even though it is easier to remove the multipath interference using
OFDM, there are also some disadvantages. One is the peak-to-average power
ratio (PAPR). This is because the peak power can be much higher than the
average power. When this happens, the OFDM signal is clipped to cause
distortion. In other words, the efficiency of the power amplifier is reduced.
33
Two other major characteristics of the OFDM are the FFT and the
classical OFDM spectrum. A DFT is an essential tool used in this multicar-
rier modulation. However, the FFT is a fast computation technique of DFT.
Except for the computation speed, there is no difference between the DFT
and the FFT. The classical OFDM spectrum is a summation of the sinc func-
tion from each subcarrier. It is a sinc function because of the finite window
length in the time domain.
To understand the OFDM waveform, we therefore start with the DFT.
Subsequently, cyclic prefix, FFT, classical OFDM spectrum, PAPR, and
orthogonality are all analyzed. After discussing the OFDM characteristics,
time and frequency relationship, window function, and digital modulation
are given in sequence in the subsequent sections.
In (3.1), k is the frequency index, n is the time index, and Xk is the kth
frequency component. During the modulation process, the amplitude, phase,
or frequency of Xk is modified. Therefore, the whole process is performed in
the frequency domain in contrast to the time-domain modulation of the
single-carrier waveform.
To get more insight into the multicarrier waveform, define the kth radian
frequency component given here:
2pk
wk = (3.2)
N
X k = Ak e jΨ k (3.4)
It is clear from (3.5) that there are N carriers. These carriers are also
called subcarriers. Each subcarrier has an amplitude Ak, a phase Ψk, and a
radian frequency wk.
The discrete samples xn can be reconstructed to generate x(t) as long as
the sampling rate is at least twice the baseband cutoff frequency. Assuming
that the radio frequency (RF) carrier frequency is fc, then the transmitted
analog waveform for the jth OFDM symbol is given by
(
y(t) = Re x(t)e j2pf c t ) jNT < t < ( j + 1)NT (3.6)
In the same way as the single-carrier case, the input bit stream is grouped
into bauds. Each baud has k bits where k = log2M and M is the total number
of levels. Each baud of k bits is then mapped onto one of M possible phases,
frequencies, or amplitudes.
3.3.1 Orthogonality
In OFDM, any two subcarriers are orthogonal. To show that, assume any two
subcarriers, yi and yk, given below:
yk = X k e j2pkn/N (3.7)
yi = X i e j2pin/N (3.8)
⎛ 1⎞
N −1
⎪⎧ 0 if k ≠ i
⎜⎝ N ⎟⎠ ∑ yk yi = ⎨ X 2 if k = i
∗
(3.9)
n=0 ⎪⎩ k
n=0 n=0
(3.10)
⎛ 1⎞ ⎛ N −1 ⎞
= ⎜ ⎟ X k X i∗ ⎜ ∑ e j2pn(k−i)/N ⎟
⎝N⎠ ⎝ n=0 ⎠
⎛ 1⎞ ⎪⎧ 0 if k ≠ i
N −1 (3.11)
⎜⎝ N ⎟⎠ ∑ yk yi = ⎨ X 2 if k = i
∗
(3.12)
n=0 ⎩⎪ k
X( f ) N −1
sin(pfNT − pk)
T
= ∑ pfNT − pk
(3.14)
k=0
Example 3.1
Assuming that fs = 20 MHz, then T = 0.05 µ s. Assume that also N = 5 and
k ranges from 1 to 4. The subcarrier at k = 0 is assumed to be unused. The
spectrum is plotted in Figure 3.1. The spectrum is maximum at frequency 4
MHz, 8 MHz, 12 MHz, and 16 MHz corresponding to k = 1, 2, 3, and 4. It
can be seen also that the maximum at a given subcarrier is the zero-crossing
for all the rest of subcarriers. This also means there is no intercarrier interfer-
ence at the peak frequencies.
3.3.3 PAPR
The PAPR is defined to be the ratio of maximum power to the average power
in an OFDM symbol interval:
Pmax
PAPR = (3.15)
Pavg
⎛ N −1 ∗ ⎞
Pmax = max ⎜ ∑ xn xn ⎟ (3.16)
⎝ n=0 ⎠
⎛ N −1 ⎞
Pavg = E ⎜ ∑ xn xn∗ ⎟ (3.17)
⎝ n=0 ⎠
where Pmax represents the maximum power, Pavg represents the average power,
and E is the expected value. As was mentioned in the introduction, PAPR can
be large to cause detrimental effects to the OFDM signal.
To get some idea about the magnitude of PAPR, both Pmax and Pavg
can be evaluated by substituting (3.1) into (3.16) and (3.17). To simplify the
analysis, each subcarrier is assumed to be unmodulated and Xk = 1. Under
this assumption, (3.16) becomes
1 N −1⎛ N −1 ⎞ ⎛ N −1 ⎞
Pmax = 2 ∑ ⎜ ∑
N n=0 ⎝ k=0
max e (
j2pnk/N
⎟ ⎜ ∑)
⎠ ⎝ k=0
( )
max e − j2pnk/N ⎟
⎠
(3.18)
1 N −1
= 2 ∑(N2) = N
N n=0
N2
Pavg = =1 (3.20)
N2
Substituting (3.18) and (3.20) into (3.15), we then have the following:
PAPR = N (3.21)
Example 3.2
For IEEE 802.11a, there are 52 modulated subcarriers as will be given later,
and then N = 52. The PAPR in decibels is then 10log52 = 10∗1.71 = 17.1 dB.
This means that the power amplifier must have an output back-off of 17 dB
due to the power surge.
Figure 3.2 OFDM signal without time gap between adjacent symbols.
3.3.5 FFT
So far, the DFT has been used to describe OFDM characteristics. However,
it is time-consuming in using DFT for direct computation. Equation (1.18)
defined the DFT and is rewritten here for easy reference:
N −1
Xk = ∑ xne − j2pnk/N k = 0,…, N − 1 (3.22)
n=0
From (3.22), there are N complex multiplications and additions for each
point of Xk. Since there are N points, the total number of complex multiplica-
tions and additions becomes N2.
To reduce the number of computations, the FFT is designed. The prin-
ciple is easily described when N is even using the decimation-in-time technique.
Initially, the N points are split into two groups. One group has N/2 even points
and the other group has N/2 odd points. In other words, a N-point DFT is
split into two N/2-point DFTs. These N/2 even points and odd points can be
further split into N/4 even points and odd points. This process continues until
a total of log2N stages are reached. For each stage, the number of complex
multiplications and additions is N [4]. Therefore, the total number of com-
plex multiplications and additions becomes Nlog2N. A detailed quantitative
analysis can be found in [4].
The above qualitative description shows there are significant computation
savings. The computation reduction ratio from the DFT to the FFT becomes
N/log2N. This ratio is 4 for N = 16 and 32 for N = 256. As the size of FFT
increases, the computation time savings are even more obvious.
Table 3.1
OFDM Time and Frequency Parameters from IEEE 802.11a
N 64 64 64
T 0.05 μs 0.1 μs 0.2 μs
Tfft 3.2 μs 6.4 μs 12.8 μs
∆f 0.3125 MHz 0.15625 MHz 0.078125 MHz
Tgi 0.8 μs 1.6 μs 3.2 μs
Tsym 4 µs 8 μs 16 μs
this table the symbol interval increases and the subcarrier spacing decreases
as the channel spacing decreases.
Unless specified, a symbol interval refers to the data portion only without
including the guard interval in the future chapters.
2⎛p b b
⎧ tp ⎞
⎪ sin ⎜⎝ 4 + 2b⎟⎠ −
2
<t<
2
⎪
⎪ b b
h(t) = ⎨ 1 ≤t <P− (3.23)
⎪ 2 2
⎪ sin2 ⎛⎜ p − p(t − p)⎞⎟ P−
b
≤t <P+
b
⎪⎩ ⎝4 2b ⎠ 2 2
The spectrum can be found by taking the Fourier transform. For the
rectangular window given in (3.24), the spectrum is given here:
P
H ( f ) = ∫ e − jΩt dt
0
(3.25)
sin(pfP)
(
= P e − jpfP ) pfP
where Ω = 2π f and f is the frequency. For the modified window given from
(3.23), the spectrum is derived here:
b/2 P− b/2
p tp ⎞ − jΩt
2⎛
H ( f ) = ∫ sin ⎜ + ⎟⎠ e dt ∫ e − jΩt dt
− b/2
⎝ 4 2b b/2
(3.26)
P+ b/2
⎛ p p ( t − P ) ⎞ − jΩt
+ ∫ sin2 ⎜ −
⎝4 2b ⎟⎠
e dt
P− b/2
⎡ ⎤
⎢ sin ( pf (P − β )) sin(pf b)cos(pfP) 4pf cos(pf b)sin(pfP) ⎥
H ( f ) = e − jpf P ⎢ + − ⎥
⎢ pf pf ⎛ 2 2 p2 ⎞ ⎥
⎢ ⎜⎝ 4p f − b2 ⎟⎠ ⎥
⎣ ⎦
(3.27)
μs
μs
μs
Figure 3.6 Power spectrum of the modified rectangular window at a 20-MHz channel
spacing.
X k = Ak e jΨ k
( ) ( )
= Ak cos Ψ k + jAk sin Ψ k (3.28)
= I k + jQ k
Table 2.4 and Figure 2.6 show, there are 8 different Ik levels and 8 different
Qk levels. Therefore, the total number of Xk levels is 8∗8 = 64.
Not all of the N subcarriers in an OFDM symbol are used for modula-
tion. The number of subcarriers actually used is M and M < N. The subcar-
rier at DC is normally set null to minimize the impact of a DC component
generated from the receiver front end. Other subcarriers not used are normally
around the band edges. This can reduce the interference from side lobes of the
OFDM transmission. For IEEE 802.11a, N = 64 and M = 52, there are 12
unused subcarriers including the DC. Figure 3.7 shows the region of unused
subcarriers in a dark color. The subcarriers numbered from −26 to −1 and
from 1 to 26 are used.
To modulate the subcarriers, the input bit stream is first grouped into
bauds. Each baud has k bits. The total number of levels is M = 2k or k = log2M.
Based upon the baud, each available subcarrier is modulated using one of the
M levels according to the desirable modulation technique.
Example 3.3
Assume that the input bit stream is 001011011000 using QPSK modulation.
For QPSK, k = 2 and M = 4. Grouping every two bits together, the baud
stream becomes 023120. Using Table 2.2 of the QPSK encoding table, the
Xk sequence becomes 1 2 (−1 − j), 1 2 (1 − j), 1 2 (1 + j), 1 2 (−1 + j),
1 2 (1 − j), and 1 2 (−1 − j).
the real part of the spectrum has to be even and the imaginary part of the
spectrum has to be odd.
The transmission of the OFDM signal through the media normally suf-
fers from multipath delay and the Doppler shift. The multipath delay is the
operation of a time shift. The impact is the multiplication by a phase factor
in the frequency domain as given in (1.47). The Doppler shift is equivalent
to the multiplication by a phase factor in the time domain. The impact is the
frequency shift in the frequency domain as given in (1.49).
Example 3.4
The null subcarrier region can be plotted in the positive frequency domain
using the periodic property X–k = X N–k. Since N = 64, null subcarriers from a
frequency index −31 to −27 are the same as those from a frequency index 33
to 37. Figure 3.7 is plotted again in Figure 3.8.
3.8 Summary
OFDM utilizes the multicarrier modulation technique through an inverse
DFT, which has a summation of N terms. Each term represents one subcarrier
and there are a total of N subcarriers. Several important characteristics were
discussed: orthogonality, OFDM spectrum, PAPR, cyclic prefix, and FFT.
The orthogonality characteristics showed that any two subcarriers are
orthogonal in an OFDM symbol duration. The OFDM spectrum is a sum-
mation of sinc function from each subcarrier. At the peak for any subcarrier,
the rest of subcarriers exhibit zero crossing. One disadvantage of OFDM is
PAPR because the peak power in a single OFDM symbol can be N times
larger than the average power. This effect can saturate the power amplifier and
cause signal distortion. To reduce the number of computations, the DFT is
performed using the FFT. The number of complex multiplications and addi-
tions for DFT against FFT is N/log2N.
References
[1] Grangwar, A., and M. Bhardwaj, “An Overview: Peak to Average Power Ratio in
OFDM System & Its Effect,” International Journal of Communication and Computer
Technologies, Vol. 1, No. 2, 2012, pp. 22−25.
[2] O’Neill, R., and L. B. Lopes, “Envelope Variations and Spectral Splatter in Clipped
Multicarrier Signals,” Proceedings of the IEEE International Symposium on Personal,
Indoor, and Mobile Radio Communications, Vol. 1, 2005, pp. 71−75.
[3] Jones, A., and T. A. Wilkinson, “Block Coding Scheme for Reduction of Peak to Mean
Envelope Power Ratio on Multicarrier Transmission Schemes,” Electronic Letters, Vol.
30, No. 25, 1994, pp. 2098−2099.
[4] Oppenheim, A. V., and R. W. Schafer, Digital Signal Processing, Upper Saddle River,
NJ: Prentice Hall, 1975.
[5] Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY)
Specifications, IEEE Standard 802.11a, 2007.
4.1 Introduction
Before data is transmitted through OFDM, the preamble and header fields
are normally sent first. A preamble is usually in a periodic sequence with a
known data structure. Its purpose is to help the receiver in signal detection,
channel estimation, timing synchronization, and frequency offset estima-
tion. A header field normally contains a rate field to inform the receiver of
the transmission data rate.
To help understand the preamble, header, and data structure, the frame
format specified in IEEE 802.11a is used for illustration. However, any other
useful format can be used to meet the specific requirements.
Before getting into the signal transmission format, a general transmit-
ter block diagram is presented first to have an idea of the overall transmitter
architecture. Subsequently, the frame format for preamble, header, and data
is discussed in detail for IEEE 802.11a. Lastly, a typical receiver architecture
is also given in preparation for future discussion of all the major components.
49
and the total length are required for the receiver to demodulate. The tail bits
can be inserted to make a full OFDM symbol. The header field is normally
modulated with BPSK. However, the header bits are not necessarily scrambled.
After both the preamble and header transmission, the user data starts.
The detailed frame format of preamble, header, and data is discussed in the
following sections.
Figure 4.4 The phase of one short sequence segment in the frequency domain.
Figure 4.5 The phase of downsampled short sequence segment in the frequency
domain.
⎛ T fft ⎞ 10NT
tshort = 10 ⎜ = (4.1)
⎝ 4 ⎟⎠ 4
Equation (4.1) shows that the duration increases with increasing sam-
pling period or decreasing channel spacing. The number of samples, Nshort,
is then given here:
10N
N short = (4.2)
4
Figure 4.6 The amplitude of the first four segments of a short sequence in the time
domain.
Figure 4.7 Phase angle of the first four segments of a short sequence in the time
domain.
( ) ⎛
t long = 2 T fft + Tgi = 2 ⎜ NT +
⎝
NT ⎞
4 ⎟⎠
= (2.5)NT (4.3)
Figure 4.8 The complex amplitude of the long sequence in the frequency domain.
Figure 4.9 The amplitude of the long sequence in the time domain.
Figure 4.10 The phase angle of the long sequence in the time domain.
(
N dbps = Rcoding N cbps ) (4.6)
where Nsd is the number of data subcarriers and Rcoding is the coding rate.
For a convolutional encoder, the coding rate Rcoding specifies the ratio of
data bits against the coded bits. For IEEE 802.11a. there are 52 subcarriers
with a frequency index ranging from −26 to −1 and from 1 to 26. However,
subcarriers −21, −7, 7, and 21 are reserved for pilots. That means the total
number of data subcarriers is Nsd = 48. The data rate, Rdata is then computed
as follows:
N dbps
Rdata = (4.7)
T fft + Tgi
Example 4.1
Assuming that QPSK and coding rate R = 3/4, then Nbpsc = 2 from Table 4.1
and there are Nsd = 48 data subcarriers using IEEE 802.11a. From (4.5), Ncbps
= 48 ∗ 2 = 96. From (4.6), Ndbps = 96 ∗ 3/4 = 72. At 20 MHz, the symbol
duration is Tfft + Tgti = 4 μs from Table 3.1. From (4.7), the data rate is then
Rdata = 72/4 = 18 Mbps.
Example 4.2
For the header field, the modulation is BPSK and the coding rate is 1/2. From
Table 4.1, we have Ncbps = 48 and Ndbps = 48 ∗ 1/2 = 24. The data rate at 20
MHz is then 24/4 = 6 Mbps.
Table 4.1
IEEE 802.11a Modulation Parameters at 20-MHz Channel Spacing
BPSK 1/2 1 48 24 6
BPSK 3/4 1 48 36 9
QPSK 1/2 2 96 48 12
QPSK 3/4 2 96 72 18
16-QAM 1/2 4 192 96 24
16-QAM 3/4 4 192 144 36
64-QAM 2/3 6 288 192 48
64-QAM 3/4 6 288 216 54
(
N pad = N data − 16 + 8N message + 6 ) (4.9)
The number of PAD bits is a variable and depends upon the data length
in bytes specified in the header field.
Example 4.3
Assume that the incoming message has 125 bytes using the QPSK and 1/2
coding rate. The data field has 16 + 6 + 8 ∗ 125 = 1,022 bits. From Table
4.1, Ndbps = 48. From (4.8), Ndata = 48 Ceiling (1,022/48) = 48 ∗ 22 = 1,056.
From (4.9), Npad = 1,056 − 1,022 = 34. Therefore, 34 bits must be padded.
After data demodulation, a total of Ncbps bits are collected for each
OFDM symbol. When the processes of deinterleaver, error correction decod-
ing and descrambling are completed, the desired number of Ndbps data bits
are then recovered.
After propagating through the media, the received analog signal goes
through an RF front end, which performs filtering, automatic gain control
(AGC), and the recovery of in-phase and quadrature-phase (IQ) signals. The
IQ signal is subsequently digitized for further processing.
There are two different types of signal to be received: preamble and data.
If the received signal is a preamble, the channel estimate and synchronization
are performed. However, if the input is data, the cyclic prefix is first removed
before performing the FFT. During the data transmission, not all the subcarri-
ers are dedicated to data. Some are pilot subcarriers to help channel estimation
and synchronization. This is true not just for 802.11a but also for 4G-LTE.
Subsequently, the channel degradation is removed based upon an earlier
channel estimate. The channel estimation can also be updated concurrently
using the LMS algorithm. After that, the received IQ signal is demodulated
to get the bit stream. This bit stream subsequently goes through the deinter-
leaver, error correction decoder, and, finally, the descrambler to get the original
transmitted data.
The detailed processing of every box will be discussed in subse-
quent chapters.
4.8 Summary
A general transmitter block diagram was first given to have a picture of the over-
all OFDM architecture. The transmission frame format including preamble,
header, and data was subsequently discussed. The frame format specified in
IEEE 802.11a was used for illustration.
A preamble consists of a short sequence and a long sequence in IEEE
802.11a. The short sequence has 10 periodic segments and a total of 160 sam-
ples. The long sequence also has 160 samples including two guard intervals of
32 samples and two FFT intervals of 128 samples.
The header field specifies the data rate to inform the receiver for demodu-
lation; it also has a LENGTH field specifying the total data length in bytes
for transmission. The data field has tail bits to allow the convolutional encoder
to return to the zero state. It also inserts some pad bits so the total duration
has an integral number of data bits per OFDM symbol.
Finally, a typical receiver architecture was presented to show the major
components inside a receiver. Each component in both the transmitter and
receiver architecture will be discussed in subsequent chapters.
In the next chapter, the shift-register sequence, data scrambler, and
descrambler are discussed.
Reference
[1] Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY)
Specifications, IEEE Standard 802.11a, 2007.
5.1 Introduction
In digital communication, the input data is often scrambled before the modula-
tion and transmission. The receiver knows exactly how to generate the scram-
bler sequence used in the transmitter to recover the original data. For military
communication, the sequence period is extremely long and is difficult for the
enemy to descramble. For commercial communication, it is long enough to
protect the security of the user data.
IEEE 802.11a also defines a scrambler generated from a shift register
sequence. Depending upon the number of shift registers, this sequence has
a unique period of maximum length. To understand the process of sequence
generation from the shift registers, we start with a binary field, and a Galois
field is also discussed. The details of sequence generation from the shift reg-
isters and its period determination are subsequently presented.
Finally, a data scrambler is discussed. The process of data scrambling in
the transmitter and descrambling in the receiver is also discussed.
61
Table 5.1
Binary Addition
+ 0 1
0 0 1
1 1 0
Table 5.2
Binary Multiplication
. 0 1
0 0 0
1 0 1
f (x) = a0 + a1 x + a2 x 2 + a3 x 3 + … + an x n (5.1a)
g(x) = b0 + b1 x + bx 2 + bx 3 + … + bm x m (5.1b)
( )
f (x) + g(x) = a0 + b0 + ( a1 + b1 ) x + ( a2 + b2 ) x 2 + … (5.2)
( )
f (x) − g(x) = a0 − b0 + ( a1 − b1 ) x + ( a2 − b2 ) x 2 + …
(5.3)
( ( )) ( ) (
= a0 + −b0 + a1 + ( −b1 ) x + a2 + ( −b2 ) x + … ) 2
Example 5.1
Assuming that f(x) = 1 + x 2 + x3 and g(x) = x + x 2 + x3 + x4, then
(
f (x)g(x) = a0 + a1 x + a2 x 2 + a3 x 3 + … + an x n )( b
0
+ b1 x + b2 x 2 + b3 x 3 + … + bm x m )
( ) ( )
= a0b0 + a0b1 + a1b0 x + a0b2 + a1b1 + a2b0 x + …anbm x2 n+m
= c0 + c1 x + c2 x + c3 x + … + cn+m x
2 3 n+m
(5.4a)
where cn is in general given by
cn = a0bn + a1bn−1 + a2bn−2 + … + anb0 (5.4b)
Example 5.2
Assume f(x) = 1 + x + x 2 and g(x) = 1 + x 2, then the product of f(x) and g(x)
is given by
f (x)g(x) = 1 + x + x 2 + x 2 + x 3 + x 4 = 1 + x + (1 + 1)x 2 + x 3 + x 4
= 1 + x + x3 + x 4
Equations (5.4a) and (5.4b) can also be used to compute the product. In
this case, a 0 = 1, a1 = 1, a2 = 1, a3 = 0, a4 = 0 and b0 = 1, b1 = 0, b2 = 1, b3 = 0,
b4 = 0. From (5.4b), we have c 0 = a 0b0 = 1, c1 = a 0b1 + a1b0 = 1.0 + 1.1 = 1, c 2
= a 0b2 + a1b1 + a2b0=1.1 + 1.0 + 1.1 = 0, c3 = a 0b3 + a1b2 + a2b1 + a3b0 = 1.0
+ 1.1 + 1.0 + 0.1 = 1 and c4 = a2b2 = 1. Therefore, f(x)g(x) = 1 + x + x3 + x4
and is the same as given earlier.
The division in GF(2) can be performed through long division. If the
quotient is q(x) and the remainder is r(x), then f(x) = q(x)g(x) + r(x). The
degree of r(x) is less than q(x). The process of long division is shown through
the following example.
Example 5.3
Assuming that f(x) = x4, g(x) = 1 + x + x 2, then f(x)/g(x) is given here:
x2 + x
x2 + x + 1 x 4
x 4 + x3 + x2
x3 + x2
x3 + x2 + x
x
Example 5.4
Assume that the primitive polynomial is p(x) = 1 + x + x3. Then we have x 3 =
x + 1 and x 7 = 1. The 8 field elements are then generated here:
0
1
y
y2
y3 = y + 1
y 4 = y( y + 1) = y2 + y
y5 = y ( y 2 + y ) = y 3 + y 2 = y 2 + y + 1
y6 = y ( y2 + y + 1) = y3 + y2 + y = y + 1 + y2 + y = y2 + 1
Since y7 = 1, the process repeats and there are at most 8 elements in GF(8).
To prove y 7 = 1, we have y 7 = y(y2 + 1) = y3 + y = y + 1 + y = 1. Also, from the
listing above, every element polynomial has degree of 2 or less.
If the primitive polynomial has degree of m, then all the field element
polynomials can be represented as a0 + a1y + a2y2 + ⋯ + am–1ym−1. The coefficient
m
Therefore, the polynomial sequence 1, y, y2 + ⋯ + y2 −2
are all the roots
m
of x 2 −1 + 1 = 0.
(
Y (z) = Y (z) g1z −1 + g 2 z −2 + … + g r−1z −r+1 + g r z −r ) (5.6)
+ A(z)
The coefficients from a0 to ar–1 are initial loads to the r shift registers.
The coefficient a 0 is the initial load to the leftmost shift register while ar–1 is
the initial load to the rightmost shift register. The coefficient an of the nth
shift register is either 0 or 1. Combining terms with Y(z) together, we have
( )
Y (z) 1 − g1z −1 − g 2 z −2 + … + g r−1z −r+1 − g r z −r = A(z) (5.8)
A(z)
Y (z) = −1 −2
(5.9)
1 + g 1z + g 2 z + …+ g r−1z −r+1 + g r z −r
a0 + a1 x + a2 x 2 + … + ar−1 x r−1
y(x) = (5.10)
1 + g1 x + g 2 x 2 + … + g r−1 x r−1 + g r x r
Note that a 0 is the content of the leftmost shift register while ar–1 is the
content of the rightmost shift register [2]. Before performing the division, A(x)
is modified to B(x) such that B(x) is the polynomial of A(x)G(x) after remov-
ing all terms with a degree greater than r − 1 [2].
Example 5.5
Assume that G(x) = 1 + x + x3 and the initial load to the shift registers is 001
as illustrated in Figure 5.2. There are two methods to get the output. The first
is to step through the shift register operations cycle by cycle and the second
is through the polynomial divisions. Using the first method, the shift register
content and output are given in Table 5.3.
During each cycle, the content of the shift register shifts one place to
the left. The initial condition is that the shift register content is 001 at the first
cycle. In the second cycle, the content of the third register becomes 0 while
the content of the second register becomes 1. The summation result is shifted
to the first register and becomes 0 + 1 = 1 and the output is 1.
Table 5.3
Register Content and Output for Example 5.5
1 0 0 1 1
2 0 1 1 1
3 1 1 1 1
4 1 1 0 0
5 1 0 1 1
6 0 1 0 0
7 1 0 0 0
Therefore, the content of the shift registers becomes 011 after the first
cycle. For the other cycles, the register content can be obtained in the same
way. After the seventh cycle, the content of the shift register repeats so the
period is 7.
Using the second method, the polynomial B(x) needs to be determined
first. From the initial load, A(x) = x 2 and A(x)G(x) = x 2(1 + x + x3) = x 2 + x3
+ x5. After removing all the terms with a degree greater than 2, we have B(x)
= x 2. The long division is then performed here:
x2 + x3 + x 4 + x6 + x9
1 + x + x3 x2
x2 + x3 + x5
x +
3
+ x5
x +x
3 4
+ x6
x 4 + x5 + x 6
x 4 + x5 + x7
x6 + x7
x6 + x7 + x9
x9
Example 5.6
Consider another example with G(x) = 1 + x3 illustrated in Figure 5.3. The
first method is used to find the output with different initial register contents.
The results are given in Table 5.4.
As can be seen from Table 5.4, different initial register content gener-
ates different output and period. For the initial register content 001, 111, 000,
110, the output sequence is 100, 111, 000, 011, respectively, and the period
is either 1 or 3.
⎛ 1⎞
G −1(x) = x rG ⎜ ⎟ (5.12)
⎝ x⎠
where r is the number of shift registers. It can be shown [2] the maximum
period N of a shift register sequence with polynomial G(x) is the smallest N
such that xN + 1 is divisible by G −1(x). This is demonstrated by the follow-
ing example.
Table 5.4
Register Content for Example 5.6
Initial Register
Contents/Cycles 001 111 000 110
Example 5.7
Let G(x) = 1 + x + x3 + x4 for the sequence generator illustrated in Figure 5.4.
The inverse polynomial is then given by
⎛ 1⎞
G −1(x) = x 4G ⎜ ⎟ = x 4 ( x −4 + x −3 + x −1 + 1) = 1 + x + x 3 + x 4
⎝ x⎠
x 6 + 1 = ( x 4 + x 3 + x + 1)( x 2 + x + 1)
x12 + 1 = ( x 4 + x 3 + x + 1)( x 8 + x 7 + x 6 + x 2 + x + 1)
Both x6 + 1and x12 + 1 are divisible by (x4 + x3 + x + 1), but the smallest
degree is 6 and the period is then 6. This can be verified by going through the
state sequence as given by Table 5.5.
The maximum number of states for 4 registers is 15 and all the 15 states
appear in Table 5.3 and there are no other periods. This proves that the maxi-
mum period is 6.
Table 5.5
Register Content of Example 5.7
Initial Register
Contents/Cycles 0000 0101 1111 1011 0011 0010
Table 5.6
Listing of Some Primitive Polynomials
2 1 + x + x2 3
3 1+x+x 3 7
4 1+x+x 4 15
5 1 + x2 + x 5 31
6 1+x+x 6 63
7 1 + x3 + x 7 127
8 1+x +x +x +x
2 3 4 8 255
9 1+x +x
4 9 511
10 1 + x3 + x10 1023
the number of even numbers. Examining the register content of Figure 5.2,
it can be seen that there are 4 odd numbers and 3 even numbers. Since the
output is shifted to the rightmost register, the number of ones is one more
than the number of zeros.
Including two periods, the output sequence of Example 5.5 is
11101001110100. If the initial content of the register is changed to 110, the
output sequence becomes 01001110100111. Comparing the two sequences,
the second sequence starts from the fourth digit of the first sequence. There-
fore, the same sequence is generated except for the phase difference. That
this is true is because the maximum-length sequence goes through all the
possible states. Therefore, for a fixed primitive polynomial, the maximum
length sequence is independent of the register content except for the phase.
The period is also always the same independent of the content of the initial
register state.
G(x) = 1 + x 3 + x 7 (5.13)
G −1(x) = x 7 (1 + x −3 + x −7 ) = 1 + x 4 + x 7 (5.14)
The IEEE 802.11a uses the inverse polynomial defined in (5.14) as the
generator and is shown in Figure 5.5. The period is then 27 − 1 = 127. The
initial state is all ones and the output repeats every 127 digits.
Example 5.8
Assume that the sequence generator uses G(x) = 1 + x + x3 defined in Example
5.5. The pseudo-random sequence with period 7 is 1110100. Assuming that the
input data is 01101100101000, then the scrambler output is 10000101011100
by performing the modulo-2 sum of 11101001110100 and 01101100101000.
In the receiver, the modulo-2 sum of the received data 10000101011100 and
11101001110100 generates the original data of 01101100101000.
5.8 Summary
A binary field of GF(2) has only two elements, 0 and 1. The operation of
addition, subtraction, multiplication, and division can be defined. The addi-
tion is commutative and associative while the multiplication is distributive. A
polynomial whose coefficients over GF(2) was then defined. The polynomial
addition, multiplication, and division were illustrated.
A Galois field of GF(2m) has a total of 2m elements. The operation in this
field is over a primitive polynomial whose coefficients are over GF(2). Based
upon this primitive polynomial, every element can be generated. This primi-
tive polynomial has a degree m and no element polynomial can have a degree
greater than m. In this field, the commutative, associative, and distributive
laws are all satisfied and the operation of addition and multiplication is closed.
Another interesting property is that every element in this field is also a root of
m
the polynomial f(x) = x2 −1 + 1 where m is the order of the primitive polynomial.
A sequence generator through shift registers was then discussed. There
are two methods to get the output. The first is to step through the shift reg-
ister operations cycle by cycle. The second is through polynomial divisions
over a generator polynomial. The output through polynomial division was
derived in detail.
The generator polynomial has an inverse polynomial. The maximum
period of a shift register sequence with a given generator polynomial depends
upon this inverse polynomial. Based upon this inverse polynomial, the period
depends upon the initial condition of the shift register.
A maximum-length sequence was then defined. To generate this sequence,
the generator polynomial is primitive. If the primitive polynomial degree is
r, the maximum period is 2r − 1. There are two interesting properties. The
first is that the number of ones is one more than the number of zeros in the
output. The second is that the output is independent of the initial condition
of the shift register except for the phase.
References
[1] Lin, S., and D. Costello, Error Control Coding, Upper Saddle River, NJ: Prentice Hall,
1983.
[2] Peterson, R. L., R. Ziemer, and D. Borth, Introduction to Spread Spectrum, Upper
Saddle River, NJ: Prentice Hall, 1995.
6.1 Introduction
In a wireless communication system, an RF carrier is modulated by the base-
band signal and propagates through the air. Along the propagation path, it
may suffer three major types of obstacles: reflection, diffraction, and scattering.
The reflection and scattering are caused by objects with a dimension greater
than and smaller than the wavelength, respectively. The reflection can occur
from the ground, buildings, or mountains. If scattering occurs, the output
wave may travel in different directions in a random manner. The diffraction
is caused by an object with sharp edge and the output wave may even travel
behind the object.
As a result of these three mechanisms, the receiver may receive signals
traveling from different directions to cause multipath distortion. This phe-
nomenon can be characterized from the point of view of large-scale path loss
or small-scale fading.
The large-scale propagation loss centers on how the received power varies
as a function of the distance between the transmitter and the receiver. As the
propagation distance increases, the received power decreases. However, the
signal may be received from different paths with varying phase and amplitude
fluctuations. The small-scale fading model concentrates on how the received
power fluctuates with distance around a few wavelengths.
77
MHz to 1.2 GHz. Clearly, the loss increases with the increasing distance
and frequency.
Example 6.2
The received power in decibels from (6.4) is 10log(Pr) = 10log(Pt) − PL (dB). If
the transmitted power is 1W or 30 dBm, the received power is then 30 dBm
− PL (dB). Using the same parameters as in Figure 6.1, Figure 6.2 shows the
received power in dBm.
( )
PL (dB) = 40log(d) − 10log GtGr − 20log ht hr ( ) (6.6)
As is evident from (6.6), the path loss increases with increasing distance d
but decreases with increasing antenna gain and antenna height. One drawback
of (6.6) is that there is no frequency dependence. However, the two-ray model
is found to predict the path loss reasonably well at large distances.
Example 6.3
Assume that both the transmitter and receiver have unit gain and the antenna
height for both transmitter and receiver is 1m. The path loss is plotted against
d in Figure 6.4 by setting Gt = Gr = 1 and ht = hr = 1m. Comparing Figures
6.1 and 6.4 at the same distance, it is evident that the two-ray model has a
much larger path loss than that predicted by free space.
⎛d⎞ ⎛ f ⎞
( )
PL(d, f ) = PL dr , f r + 10nlog ⎜ ⎟ + 10mlog ⎜ ⎟ + O (dB)
⎝ dr ⎠ ⎝ fr ⎠
(6.7)
where n and m are variables. The parameter n depends upon the environment
and is normally greater than 2 for urban areas and with building obstacles.
Since the propagation loss increases with increasing frequency, the third term
is added to emphasize frequency dependence. The last term, O, is added so as
to include any additional variations against frequency, distance, and others.
The parameter dr is the reference distance and the parameter f r is the reference
frequency. If d = dr and f = f r, then PL(d, f ) reduces to PL(dr, f r). The refer-
ence distance dr is normally set at 1 km and PL(dr, f r) is measured in the field
using the desired reference frequency f r. If only one frequency is of interest,
then f = fr and the third term is 0. However, if the frequency is changed to a
different frequency, then (6.7) can be used to predict the path loss using the
new frequency f. If there is no other complicated dependence, then the last
term is also 0.
To see how (6.7) can be applied to the theoretical model, consider first
the free-space formula given in (6.4). By performing PL(d) − PL(dr), we have
the following
⎛d⎞ ⎛ f ⎞
( )
PL(d) = PL dr + 20log ⎜ ⎟ + 20log ⎜ ⎟
d
⎝ r⎠ ⎝ fr ⎠
(6.8)
⎛d⎞
( )
PL(d) = PL dr + 40log ⎜ ⎟
⎝ dr ⎠
(6.9)
(
PL(d, f ) = 69.55 + 26.16 log f − 13.82log hte − a hre , f ) (6.10)
( )
+ 44.9 − 6.55log hte log d
(
PL(dr , f r ) = 69.55 + 26.16 log f r − 13.82log hte − a hre , f r )
(6.11)
( )
+ 44.9 − 6.55log hte log dr
⎛ f ⎞
(( ) (
PL(d, f ) = PL(dr , f r ) + 26.16 log ⎜ ⎟ − a hre , f − a hre , f r
⎝ fr ⎠
))
(6.12)
⎛d⎞
( )
+ 44.9 − 6.55log hte log ⎜ ⎟
⎝ dr ⎠
⎛d⎞ ⎛ f ⎞
( )
PL(d, f ) = PL dr , f r + 10nlog ⎜ ⎟ + 10mlog ⎜ ⎟ + O (dB) + X s (6.13)
⎝ dr ⎠ ⎝ fr ⎠
where Xσ is a random variable having a normal distribution with zero mean and
standard deviation σ . Since Xσ has a normal distribution in the log domain,
this phenomenon is also called log-normal shadowing.
Through field measurement, the parameters n and m can be determined
through least square curve fitting to minimize the difference between the
theoretical prediction and the measured data. The parameters n and m are not
necessarily 2 as shown in (6.12). The standard deviation σ is also determined
through curve fitting. Equation (6.13) emphasizes the fact that the measured
path loss at a specified distance and frequency f is random following a log-
normal distribution.
the received power fluctuates with respect to time. When a signal propagates
through the media, it may be reflected from the surrounding structures such as
the ground, building, and mountain. These reflected waves may suffer different
propagation delays and arrive at the receiver at different times. The resulting
signal is the vector sum of all these component signals. Due to the amplitude
and phase difference of each arriving signal, signal distortions can occur.
However, the relative motion between the transmitter and the receiver
and the time variation of the channel can cause a Doppler shift in the received
carrier frequency. Therefore, this Doppler shift can vary with time. With
respect to the motion, the Doppler shift is at its highest when the receiver
moves away or toward the transmitter.
These two phenomena can be grouped into time dispersion and frequency
dispersion. The time dispersion accounts for a multipath channel, while the
frequency dispersion accounts for the Doppler shift from the relative motion
between the transmitter and the receiver. Both will be discussed in detail in
the following sections. The Clark model, which has Rayleigh distribution for
the received signal envelope, is also presented.
Assume that the transmitted baseband signal is s(t). Since the propaga-
tion delay causes a time shift of s(t), (6.14) can also be written as [1, 2]
i= N −1
r(T ) = ∑ ai (t)e jq (t ) s ( t − ti )
i
(6.15)
i=0
where α i(t) and θ i(t) are amplitude and phase perturbations associated with
the ith path. More details will be given in Chapter 12. Because the phase
θ i(t) is random, the multipath signal may sometimes add constructively and
sometimes add destructively. This amplitude variation is called signal fading.
The instantaneous power of the received multipath signal is given by
{ ( )s(t − t ) s
(t − t ) }
N −1 N −1 ∗
j qi (t )−q j (t )
+ 2∑ ∑ Re ai (t)a ∗j (t)e i j
i=0 j>i
Both the channel induced amplitude perturbation α i(t) and phase per-
turbation θ i(t) are random variables. If each path is independent, then the
amplitude and phase in one path are uncorrelated with those of the other
path. Performing the time average, the second term of (6.16) then becomes
0. Under this assumption, (6.16) becomes
⎛ N −1 2⎞
Pavg = E ⎜ ∑ ai (t) si t − ti
⎝ i=0
2
( ) ⎟⎠ (6.17)
⎛ N −1 2⎞
Pavg = E ⎜ ∑ ai (t) ⎟ (6.18)
⎝ i=0 ⎠
Equation (6.18) shows the time average power is just the summation of
the square of average amplitude from each path.
The received power P(t) is also called the intensity profile of the chan-
nel. The width of this intensity profile with an essentially nonzero value is the
delay spread, Δτ . The Fourier transform of P(t) generates the spaced frequency
correlation function ϕ (Δf ) defined below [2]:
The width of ϕ (Δf ) is called the coherence bandwidth, Bc. The delay
spread is proportional to the standard deviation of the multipath delay, σ τ. If
the delay is widely distributed to generate a large standard deviation, then the
delay spread Δτ is also large. However, the coherence bandwidth Bc is inversely
proportional to the delay spread Δτ or the standard deviation of delay σ τ. If the
delay spread increases, then the coherence bandwidth decreases and vice versa.
Example 6.4
For a walkie-talkie handheld radio, the carrier frequency is around 462 MHz.
Assuming that angle θ = 0, Figure 6.7 is a plot of Doppler shift in hertz against
the car speed from 2 miles/hour to 65 miles/hour. Also shown in the figure are
two additional curves for carrier frequency 800 MHz and 1.2 GHz. Clearly,
the Doppler shift increases linearly with motion speed. It also increases with
carrier frequency. At 2 miles/hour or human walking speed, the Doppler shift
is around 1.5 Hz at 462 MHz and is negligibly small. For a car moving at 65
miles/hour and the same carrier frequency of 462 MHz, the Doppler shift
is around 49 Hz, which may need to be taken into account depending upon
the signal bandwidth.
The Doppler spread, f m, is the maximum frequency shift of the chan-
nel. In Example 6.4, the Doppler spread is 49 Hz at 462 MHz, 85 Hz at 800
MHz and 127 Hz at 1.2 GHz assuming the maximum car speed is 65 miles/
hour. If the Doppler spread is much smaller than the signal bandwidth, it can
then be neglected. The receiver should take Doppler spread into account if it
is not small in comparison to the signal bandwidth. The coherence time, Tc,
is a measure of the time variations of the channel and is proportional to the
inverse of the Doppler spread. An empirical formula exists which relates the
coherence time to the Doppler spread as given below [1]:
0.423
Tc = (6.22)
fm
The Doppler spread changes little for a large coherence time and changes
a great deal for a small coherence time. If the Doppler spread is small, the
channel can be considered as time invariant and the signal can pass through
with little distortion. However, the coherence time is small if the Doppler
spread is large. If the coherence time is smaller than the signal duration, the
signal will suffer significant distortion after passing through this channel.
For a time-varying channel, it can be classified as a slow channel or a
fast channel. For a fast channel, the coherence time is smaller than the signal
duration. Because the channel changes faster with time, it causes Doppler
spread that is significant in comparison to the signal bandwidth. This is also
called time-selective fading or frequency dispersion.
For a slow channel, the coherence time is longer than the signal dura-
tion. Because this channel is essentially flat, the Doppler spread approaches a
delta function in the frequency domain. In other words, the Doppler spread
is much smaller than the signal bandwidth. This time-invariant nature of the
channel is considered to be a good channel. The signal can then pass through
it with negligible distortion.
vf c cosan
fn = (6.23)
c
where α n is the angle between the nth scattered wave and the direction of the
moving mobile. Because of flat fading, all the scattered signals are assumed
to arrive at the same time with the same delay. The received signal strength is
then the sum of these N scattered signals as given here [1]:
N −1
r(t) = R0 ∑ An Re ⎡ e ( )
j2p f c + f n t+φn (t ) ⎤
(6.24)
n=0
⎣ ⎦
N −1
( (
r(t) = R0 ∑ An cos j2p f c + f n t + φn (t)
n=0
) )
(6.25)
( ) (
= U c (t)cos 2pf c t − U s (t)sin 2ppf c t )
where the Uc(t) and Us(t) are defined here:
N −1
(
U c (t) = R0 ∑ An cos 2pf n t + fn(t) ) (6.26)
n=0
N −1
(
U s (t) = R0 ∑ An sin 2pf n t + fn(t) ) (6.27)
n=0
From (6.26) and (6.27), the envelope of the received signal is then
given by
( )
0.5
E(t) = U c (t)2 + U s (t)2 (6.28)
The power spectral density S(f ) of the received signal was developed by
Gans and is given by the following formula [1, 4]:
1.5
S( f ) = (6.30)
pf m 1 − b2
waveform due to Rayleigh fading. In other words, the channel with Rayleigh
fading must have a spectrum specified by (6.30).
where T0 is the room temperature. Equating (6.33) and (6.34) together, we have
Te = (F − 1)T0 (6.35)
N1 = kTe (6.38)
N 2 = GN1 (6.39)
If we know the amplifier output noise power density N2, the input noise
power density N1 is then given by N1 = N2/G.
If the amplifier noise factor is F, then (6.38) becomes after using (6.35)
N1 = k(F − 1)T0 (6.40)
In other words, the amplifier noise power density referred to its input is
known as long as its noise factor is available.
Based upon (6.41), the following are true for the cable loss model
N1 = kTe = k(L − 1)T0
(6.42)
N1 = LN 2 (6.43)
For the first amplifier, the noise power density referred to its input is
given by
(
Pa1 = kTa1 = k Fa1 − 1 T0 ) (6.45)
At the antenna input, the noise power density referred from the first
amplifier is then
( )
Pa1,ant = Lk Fa1 − 1 T0 (6.46)
where we have used the relationship (6.43). For the second amplifier, the noise
power density referred to its input is
Pa2,ant =
(
kL Fa2 − 1 T0 ) (6.48)
G1
For any amplifier i, the noise power density referred to the antenna input
can be derived in the same way and is given here:
Pai ,ant =
(
kL Fai − 1 T0 ) i≥2 (6.49)
∏ j=1G j
i−1
For the receiver, the noise power density referred to the antenna input
is derived similarly and is given by
Pr ,ant =
(
kL Fr − 1 T0 ) (6.50)
∏ j=1G j
n
Using all the equivalent noise temperatures referred to the antenna input
by combining (6.44) to (6.50), we have
( )
Te = Tant + (L − 1)T0 + L Fa1 − 1 T0 + LT0 ∑
n
Fai − 1
+
( )
L Fr − 1 T0
(6.52)
∏ j=1G j ∏ j=1G j
i−1 n
i=2
Example 6.5
Assume that the receiver has one amplifier with a gain of 30 dB and an
equivalent noise temperature of 125K. After the amplifier is a receiver with a
noise figure of 15 dB. The room temperature is 293K and the antenna noise
temperature is 40K. There is no cable loss. Based upon these assumptions, n
= 1 and L = 1 and (6.52) becomes
) ( rG ) 0
F −1 T
(
Te = Tant + T0 Fa1 − 1 +
1
= Tant + Ta1 +
( Fr − 1)T0
G1
(31.62 − 1)293
Te = 40 + 125 + = 40 + 125 + 8.97 = 173.97
1000
Example 6.6
Assume the same configuration as in Example 6.5 except there is a cable loss
of 4 dB. Since L is not 0 anymore, (6.52) becomes
The cable loss factor L = 100.4 = 2.51. Substituting all the numbers into
the above equation, we have
2.51(31.62 − 1)293
Te = 40 + (2.51 − 1)293 + 2.51 × 125 +
1000
= 40 + 442.43 + 313.75 + 22.51 = 818.69
⎛d⎞ ⎛ f ⎞
( )
PL(d, f ) = PL dr , f r + 10nlog ⎜ ⎟ + 10mlog ⎜ ⎟ + O
d
⎝ r⎠ ⎝ fr ⎠
(6.53)
⎛d⎞ ⎛ f ⎞
( )
Pt (dB) − Pr (dB) = PL dr , f r + 10nlog ⎜ ⎟ + 10mlog ⎜ ⎟ + O
⎝ dr ⎠ ⎝ fr ⎠
(6.54)
Example 6.7
Using the two-ray model and the parameter values given in Example 6.3, we
have n = 4, m = 0, PL(dr, f r) = 40log(dr), and O(f, d) = 0. Equation (6.54)
then becomes
Table 6.1
The Range at Various Received Power
30 −80 562.3
30 −85 749.9
30 −90 1,000
30 −95 1,333.5
6.6 SNR
Based upon (6.54), the received power is given by
⎛d⎞ ⎛ f ⎞
( )
Pr (dB) = Pt (dB) − PL dr , f r − 10nlog ⎜ ⎟ − 10mlog ⎜ ⎟ − O (dB)
⎝ dr ⎠ ⎝ fr ⎠
(6.55)
⎛d⎞ ⎛ f ⎞
( )
SNR = Pt (dB) − PL dr , f r − 10nlog ⎜ ⎟ − 10mlog ⎜ ⎟
d
⎝ r⎠ ⎝ fr ⎠
(6.57)
(
− O (dB) − 10log kTe B )
Example 6.8
Using the two-ray model as in Example 6.7, we have the SNR given by
6.7 Summary
For wave propagation through a communication channel, the received sig-
nal may be distorted. There are two models to account for this effect. One is
the large-scale propagation model and the other is the small-scale propaga-
tion model.
Figure 6.12 The SNR against bandwidth in decibels and propagation distance.
The large-scale model accounts for the power loss after the radio wave
travels a distance through the media. Three different theoretical models were
presented. The first is the free-space propagation model. The second is the two-
ray model, which takes into account the radio wave reflected from the ground.
The third is an empirical model developed from field measurements. A general
formula that fits many theoretical propagation models was given. The frequency
and distance dependence can be determined from field measurements.
The small-scale model accounts for the amplitude, phase, and frequency
fluctuations as the radio wave propagates the media. There are two major
phenomena. One is the time dispersion and the other is the frequency disper-
sion. The time dispersion is due to the receiver receiving several signals with
different delays. The delay spread is related to the coherence bandwidth and
there are flat fading and frequency selective fading. For the flat fading, the
signal bandwidth is much smaller than the coherence bandwidth and the sig-
nal can pass through with little distortion. For the frequency-selective fading,
the signal bandwidth is much wider than the coherence bandwidth and the
received signal can suffer severe degradations.
The frequency dispersion is due to the time variation of the channel and
the relative motion between the transmitter and the receiver. This Doppler
effect is related to the coherence time and there are both fast fading and slow
fading. For slow fading, the coherence time is larger compared to the signal
duration and the signal can pass through with little distortion. It this case,
the channel can be considered as time invariant. For fast fading, the reverse
is true and the signal will suffer significant distortion after passing through
this channel.
Next, a noise model referred to the antenna input was discussed. A
general receiver front end has an antenna, cable, amplifiers, and receiver. A
general noise energy formula was derived based upon this front-end system.
An equivalent thermal temperature referred to at the antenna input was sub-
sequently derived. Based upon this equivalent temperature, the SNR was then
derived. From the received power measurement, the propagation range can
also be predicted.
In the next chapter, two classes of error correction codes are covered.
They are block code and convolutional code. The Viterbi algorithm used for
convolutional decoding is analyzed in detail. The punctured convolutional
code, which is derived from the 1/2 convolutional code, is also discussed. At
last, an interleaver used to reduce the block errors is also presented.
References
[1] Rappaport, T. S., Wireless Communications, New York: IEEE Press, 1996.
[2] Proakis, J. G., Digital Communications, New York: McGraw-Hill, 1983.
[3] Clarke, R. H., “A Statistical Theory of Mobile-Radio Reception,” Bell Systems Technical
Journal, Vol. 47, No. 6, 1968, pp. 957−1000.
[4] Gans, M. J., “A Power Spectral Theory of Propagation in the Mobile Radio Environment,”
IEEE Transactions on Vehicular Technology, Vol. 21, No. 1, 1972, pp. 27−38.
[5] Roddy, D., Satellite Communications, New York: McGraw-Hill, 1995.
7.1 Introduction
In digital communications, a sequence of input bits can be scrambled and
encoded before going through the modulation process. The scrambling is to
protect the data security and was discussed in Chapter 5. The encoding is to
allow the receiver to detect or correct the bit errors due to the transmission
through a noisy channel.
There are many different types of error correction schemes. Two types
are discussed in this chapter. The first type is the block codes. A block of k
information bits is transformed to n bits and n > k. The coding rate is k/n. The
additional n − k parity bits increase the transmission overheads. However, the
added advantage is to enhance the reception accuracies. Both linear block codes
and cyclic codes are given. The linear block code is operated through matrix
manipulations while the cyclic code is operated using algebraic polynomials.
From the generator polynomial of the cyclic codes, the generator matrix of
the linear block codes can be derived.
The second type is the convolutional codes. Again, k input bits are con-
verted into n coded bits. However, the input bit sequence is infinite in nature
and the output bits are obtained through shift register operations. The coding
rate is still defined to be k/n. The Viterbi algorithm is used for decoding. For the
convolutional code with a coding rate R = 1/2, the transmission redundancy
101
is 50%. To reduce the overhead bits, the punctured codes are discussed to
reduce the overhead transmission. Based upon the 1/2 code, both R = 2/3
and R = 3/4 punctured codes can be derived. Even though the transmission
data rate is increased, the price paid is a slight drop of reception accuracy. If
the drop is not significant, it is still a good approach.
⎡ g0 ⎤
c = a G = ⎡⎣a0 ,a1 ,…,ak−1⎤⎦ ⎢ ! ⎥ (7.2)
⎢ g ⎥
⎣ k-1 ⎦
where G is called the generator matrix. Using (7.2), the k information bits are
multiplied by the generator matrix G to create the code word c. Any k linear
independent row vectors g i , i = 0, k − 1 can be used to create the generator
matrix G. However, it is more convenient to put the matrix G in the follow-
ing standard form [1]:
G = ⎡⎣ P I ⎤⎦ (7.3)
⎡ p0,0 ! p0,n−k−1 ⎤
P=⎢ " # " ⎥ (7.4)
⎢ p ! pk−1,n−k−1 ⎥
⎣ k−1,0
⎦
⎡1 ! 0⎤
I=⎢ " # " ⎥ (7.5)
⎢⎣ 0 ! 1 ⎦⎥
Example 7.1
A (15,11) linear code has the following generator matrix
⎡ 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 ⎤
⎢ 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 ⎥
⎢ 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 ⎥
⎢ 1 1 0 1 0 0 0 1 0 0 0 0 0 0 0 ⎥
⎢ 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 ⎥
G=⎢ 0 1 0 1 0 0 0 0 0 1 0 0 0 0 0 ⎥ (7.7)
⎢ 1 1 1 0 0 0 0 0 0 0 1 0 0 0 0 ⎥
⎢ 0 1 1 1 0 0 0 0 0 0 0 1 0 0 0 ⎥
⎢ 1 1 1 1 0 0 0 0 0 0 0 0 1 0 0 ⎥
1 0 1 1 0 0 0 0 0 0 0 0 0 1 0
⎢ 1 0 0 1 0 0 0 0 0 0 0 0 0 0 1 ⎥
⎣ ⎦
c = ⎡⎣ 0 1 0 1 0 1 0 1 0 0 1 ⎤⎦G
= ⎣⎡ 0 0 0 0 0 1 0 1 0 1 0 1 0 0 1 ⎤⎦
In the code word c, the last 11 bits are exactly the message [0 1 0 1 0
1 01 0 01].
H = ⎡⎣ I n−k P t ⎤⎦ (7.8)
GH t = ⎡⎣ P I k ⎤⎦ ⎡⎢ n−k ⎤⎥
I
⎣ P ⎦ (7.9)
= P+P=0
c H t = aG H t = a 0 = 0 (7.10)
cd t = a G H t bt = 0 (7.12)
Example 7.2
The parity check matrix H corresponding to (7.7) is the following:
⎡ 1 0 0 0 1 0 0 1 1 0 1 0 1 1 1 ⎤
H =⎢ 0 1 0 0 1 1 0 1 0 1 1 1 1 0 0 ⎥ (7.13)
⎢ 0 0 1 0 0 1 1 0 1 0 1 1 1 1 0 ⎥
⎣ 0 0 0 1 0 0 1 1 0 1 0 1 1 1 1 ⎦
The first n − k = 4 columns are the identity matrix. The next 11 columns
are the transpose of matrix P in G. By performing the matrix multiplication,
it can be shown that GH t = 0. Let b = [1 0 0 1] be the message to be coded
by H, and then d = bH = [1 0 0 1 1 0 1 0 1 1 1 1 0 0 0]. From Example
7.1, c = [0 0 0 0 0 1 0 1 0 1 0 1 0 0 1]. Performing the matrix multiplication
again, we have c d t = 0.
7.2.3 Syndrome
Suppose c is the transmitted code word and r is the received code word. If
there are no transmission errors, r = c. Since c is a code word, it must satisfy
c H t = 0. If there are no transmission errors, then s = r H t = c H t = 0. The
product s = r H t is called the syndrome of r and is a 1 × n − k row matrix.
If the code word c is transmitted through a noisy channel, there can
be transmission errors and the received code word r is different from the
transmitted code word c. The difference between r and c is the error vector
e and we can write
r =c+e (7.14)
Let C represent a linear block code. The weight of any code word c in
C is the number of nonzero bits in c. For example, the weight of code word
c = [0 0 0 0 0 1 0 1 0 1 0 1 0 0 1] is 5. The distance d(c, v) between any two
code words c and v of C is the number of places that they differ or the weight
of c + v. Since c + v is also a code word, the minimum weight of a block code
C is then given here:
dmin = min(weight of c , where c is any codeword of C ) (7.17)
t=
( dmin − 1) (7.18)
2
Example 7.3
The generator matric G in Example 7.1 has k independent rows and each row
of n elements is a possible code word of C . From these k code words, it is seen
that the minimum weight is 3. Therefore, the (15,11) code can correct 1 error.
Example 7.4
From Example 7.3, the (15,11) code can correct 1 error. Since each code word
has 15 bits and each bit location is a possible error, there are 15 correctable
error patterns. These 15 correctable error patterns and their corresponding
syndromes are given in Table 7.1. From (7.15), the syndrome s of each error
pattern e is computed from s = e H t . Since there is only one nonzero element
in each error pattern e, the syndrome s is actually equal to the column vectors
of the parity check matrix H given in (7.13).
Table 7.1
Syndrome and Correctable Error Patterns of a (15,11) Code
1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
1 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0
1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0
1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
Example 7.5
From Example 7.1, assume that c = [0 0 0 0 0 1 0 1 0 1 0 1 0 0 1] is the trans-
mitted code word. Assume that there is a single bit error in the third bit of c
and the received code word r = [0 0 1 0 0 1 0 1 0 1 0 1 0 0 1]. The syndrome
s of r is computed here:
s = r H t = ⎣⎡ 0 0 1 0 ⎤⎦
Example 7.6
Let c = (1 1 0 1 0 0 0) be a code word of a (7, 4) linear code. It is also of
minimum degree and g(x) = 1 + x + x3. A cyclic shift two places to the right
of c generates c = (0 0 1 1 0 1 0) and g(2)(x) = x 2 + x3 + x5. Multiplying g(x)
by x 2 gives g(2)(x) = x 2g(x) and g(2)(x) is also a code polynomial.
The message code vector a = (a 0a1 −− ak–2ak–1) of an (n, k) linear code
has k elements. The highest degree of a message polynomial is then k − 1. The
message polynomial a(x) is then given here:
Assume that g(x), xg(x), …., and xk−1g(x) are all code polynomials such
that the degree of xk−1g(x) is less than or equal to n − 1. Since g(x) is a code
polynomial of a minimum degree [1], all the code polynomials xig(x), 0 < i ≤
k − 1 have a degree larger than that of g(x). A linear combination of all these
code polynomials must also be a code polynomial c(x), we then have
( )
c(x) = a0 + a1 x + … + ak−2 x k−2 + ak−1 x k−1 g(x)
(7.22)
= a(x)g(x)
Since g(k)(x) is a code word, g(k)(x) can be written as g(k)(x) = b(x)g(x) and
(7.24) becomes [1]
Equation (7.25) shows that the generator polynomial g(x) must be a fac-
tor of xn + 1 and the degree is n − k.
Example 7.7
The generator polynomial of a (15,11) cyclic code can be found from the fac-
tors of x15 + 1.
The remainder b(x) has a degree less than n − k. The term d(x)g(x) is a
code polynomial and we have [1]
Example 7.8
In Example 7.1, the message vector is a = [0 1 0 1 0 1 0 1 0 0 1]. The
equivalent message polynomial is a(x) = x + x3 + x5 + x 7 + x10. The generator
polynomial from Example 7.7 is g(x) = 1 + x + x4. Dividing x4a(x) by g(x),
we have
Example 7.9
From Example 7.7, the generator polynomial is g(x) = x4 + x + 1. From (7.26),
the division of x4, x5, x 6, x 7, x 8, x 9, x10, x11, x12, x13, and x14 by g(x) gives
the following:
x 4 = g(x) + 1 + x
x 5 = xg(x) + x + x 2
x 6 = x 2 g(x) + x 2 + x 3
x 7 = ( x 3 + 1) g(x) + 1 + x + x 3
x 8 = ( x 4 + x + 1) g(x) + 1 + x 2
x 9 = ( x 5 + x 2 + x ) g(x) + x + x 3
x10 = ( x 6 + x 3 + x 2 + 1) g(x) + 1 + x + x 2
x11 = ( x 7 + x 4 + x 3 + x ) g(x) + x + x 2 + x 3
x12 = ( x 8 + x 5 + x 4 + x 2 + 1) g(x) + 1 + x + x 2 + x 3
x13 = ( x 9 + x 6 + x 5 + x 3 + x + 1) g(x) + 1 + x 2 + x 3
x14 = ( x10 + x 7 + x 6 + x 4 + x 2 + x + 1) g(x) + 1 + x 3
g(x) = 1 + x + x 4
xg(x) = x + x 2 + x 5
x 2 g(x) = x 2 + x 3 + x 6
( x 3 + 1) g(x) = 1 + x + x 3 + x 7
( x 4 + x + 1) g(x) = 1 + x 2 + x 8
( x5 + x 2 + x ) g(x) = x + x 3 + x 9
( x 6 + x 3 + x 2 + 1) g(x) = 1 + x + x 2 + x10
( x 7 + x 4 + x 3 + x ) g(x) = x + x 2 + x 3 + x11
( x 8 + x5 + x 4 + x 2 + 1) g(x) = 1 + x + x 2 + x 3 + x12
( x 9 + x 6 + x5 + x 3 + x + 1) g(x) = 1 + x 2 + x 3 + x13
( x10 + x 7 + x 6 + x 4 + x 2 + x + 1) g(x) = 1 + x 3 + x14
The left sides are all code polynomials. The right sides can be written in
matrix forms as follows:
⎡ 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 ⎤
⎢ 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 ⎥
⎢ 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 ⎥
⎢ 1 1 0 1 0 0 0 1 0 0 0 0 0 0 0 ⎥
⎢ 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 ⎥
G=⎢ 0 1 0 1 0 0 0 0 0 1 0 0 0 0 0 ⎥
⎢ 1 1 1 0 0 0 0 0 0 0 1 0 0 0 0 ⎥
⎢ 0 1 1 1 0 0 0 0 0 0 0 1 0 0 0 ⎥
1 1 1 1 0 0 0 0 0 0 0 0 1 0 0
⎢ 1 0 1 1 0 0 0 0 0 0 0 0 0 1 0 ⎥
⎢ 1 0 0 1 0 0 0 0 0 0 0 0 0 0 1 ⎥
⎣ ⎦
The matrix G is the same as that given in (7.7). This also points out a
way to generate the generator matrix.
In other words, r(x) must be divisible by g(x) and the remainder is zero.
In a noisy channel, the received polynomial r(x) may not be the same as the
transmitted polynomial and the remainder s(x) may not be zero. Under this
condition, r(x) can be written as
The polynomial s(x) is called the syndrome of r(x). The syndrome s(x)
is the remainder after dividing r(x) by g(x). If the syndrome s(x) is not zero,
r(x) is not a code polynomial and there are transmission errors. Therefore, the
syndrome s(x) can be used to detect whether there are any received bit errors.
Assuming that the difference between the received polynomial r(x) and
the transmitted polynomial c(x) is e(x), we can write
Therefore, the syndrome s(x) is also the remainder of dividing e(x) by g(x).
Based upon (7.31), a table can be created to correlate the error patterns e(x)
with the corresponding syndromes s(x). After receiving r(x), it is first divided
by g(x) to get the syndrome s(x). From the syndrome s(x), the corresponding
error pattern e(x) is found from the table. The error pattern e(x) is then added
to the received r(x) to recover the transmitted code polynomial c(x) or
c(x) = r(x) + e(x) (7.32)
The e(x) could be equal to the code polynomial and r(x) is also divis-
ible by g(x). When this happens, the syndrome s(x) is 0 and the error bits are
not correctable. The error correction capability is the same as the linear code.
Assuming that t errors can be corrected, then t is given by
t=
( dmin − 1) (7.33)
2
Table 7.2
Error Pattern and Syndrome of a (15,11) Cyclic Code
1 1
x x
x 2
x2
x3 x3
x 4
1+x
x 5
x + x2
x 6
x2 + x3
x 7
1 + x + x3
x8 1 + x2
x 9
x + x3
x10 1 + x + x2
x 11
x + x2 + x3
x12 1 + x + x2 + x3
x13 1 + x2 + x3
x 14
1 + x3
The information bits pass through a shift register to generate the output. In
general, the shift register has a total of Lk bits. The number L is called the
constraint length [2].
Each output bit is generated from a binary adder with input connections
to the shift register. If there are n output bits, there are n such binary adders.
Similar to the sequence generator described in Chapter 5, the connections to
generate each output bit can be specified by a generator polynomial.
g1(x) = 1 + x 2 (7.34)
g 2 (x) = 1 + x + x 2 (7.35)
four possible 2-bit outputs are 00, 01, 11, and 10, which can be represented
as bauds of 0, 1, 3, and 2. Assume the initial state is 0. If the input bit is 0,
the next state remains at zero and the output baud is zero. If the input bit is
1, the state transitions from 0 to 2 and the output baud is 3. The dashed line
represents the transition due to a bit 0 input while the solid line represents the
transition due to a bit 1 input. Figure 7.2 also shows that there are two pos-
sible ways to reach any state. For example, state 1 can be reached from state
2 due to a bit 0 input and from state 3 due to a bit 0 input.
The convolutional encoder can also be represented by a trellis diagram.
Figure 7.3 shows the trellis diagram of a 1/2 convolutional encoder. The left-
most column shows the four possible states of 0, 1, 2, and 3. The top two rows
show the input bit sequence of either bit 0 or 1 and the corresponding output
sequence of 0, 1, 2, or 3. On each branch, there is a symbol of the form a/b.
The letter “a” represents the output while the letter “b” represents the single
bit input. For example, the symbol 3/1 means a bit 1 input generating an
output baud 3. The trellis diagram starts at state 0 with a depth of d = 0 and
proceeds to the right. The depth d increments by 1 for each new bit input.
At d = 0, there are two possible transitions. A bit 0 input transits from state
0 to state 0 and outputs 0. A bit one input transits from state 0 to state 2 and
outputs 3. At depth 1, there are then two possible states. Since each state has
two possible transitions, there are four possible states at depth d = 2. After
depth 2, two major events are observed. The first is that the number of states
remains at 4. The second is that there are two possible ways to reach any state.
For example, at d = 3, state 1 can be reached from state 2 due to a bit 0 input
and from state 3 also due to a bit 0 input. Following the transition path, an
input sequence of 01100 generates an output baud sequence of 03223. The
path traced through due to the input sequence is marked by dark lines. After
d = 3, there are only two paths reaching each state, as will be discussed next.
⎛ Y ⎞ j=∞ ⎛ y j ⎞
p⎜ = ∏ p⎜ ⎟ (7.36)
⎝ X k ⎟⎠ j=0 ⎝ x kj ⎠
⎛ ⎛ Y ⎞⎞ j=∞ ⎛ ⎛ yj ⎞⎞
ln ⎜ p ⎜ ⎟=
⎝ ⎝ X k ⎟⎠ ⎠
∑ ⎜ p⎜ x ⎟ ⎟
ln (7.37)
j=0 ⎝ ⎝ kj ⎠ ⎠
Out of all the possible paths through the trellis, the code sequence Xk
such that ln (p(Y/Xk)) is the maximum is selected to be the code sequence
input to the channel [3].
Example 7.12
From Figure 7.3, assume there are no channel errors and the received baud
sequence is Y = 03223. The code sequence through the trellis that most likely
matches with Y is the path k such that Xk = 03223. This path is marked with
the dark line in Figure 7.3. Based upon Xk, the input message sequence is then
found to be 01100. No other path can have a code sequence that matches so
perfectly. For example, the code sequence corresponding to the binary input
message sequence 01110 is 03212, which does not match with Y as closely as
Xk. In other words, ln (p(Y/Xk)) is the maximum.
In practice, it is not so easy to accurately determine p(Y/Xk). For hard
decision decoding, the metric used is to minimize the Hamming distance
between Y and code sequence Xk. Assuming that X and Z are two binary
sequences, the Hamming distance is then obtained by performing the exclu-
sive operation of finding the number of places that they differ. For example,
the Hamming distance between X = 11011 and Z = 01111 is 2. It can also be
computed as the weight of X + Z. For example, the weight of X + Z = 10100
is also 2. Table 7.3 lists the Hamming distance between 2-bit bauds and the
number inside the parentheses is the baud representation.
The received convolutional codes can be decoded using the Viterbi algo-
rithm [3], which is illustrated in Figure 7.4 using the encoder given in Figure
7.1. Associated with each branch, there is a symbol in the form a/b/c. The
additional letter c gives the accumulated Hamming distance at the ending
state. The receiver has a replica of the encoder and knows all the possible
transmitted codes. Before all four states are generated, all the possible paths
are kept. Therefore, four paths are kept before d = 2. On each branch, the
Hamming distance between branch symbol a and the received symbol is com-
puted first. For example, the output state 1 at d = 3 is reached from the input
state 2 at d = 2. The branch symbol is the encoder output baud a = 1 after a
bit 0 input and the accumulated Hamming distance c needs an update. The
Hamming distance between a = 1 and the received baud 2 is 2. The input
state 2 is reached from state 0 with an accumulated Hamming distance 0.
The cost at d = 2 and state 2 is then zero. The new accumulated Hamming
distance from state 2 to state 1 is then 0 + 2 = 2. The letter c is then set to
2. The branch symbol becomes 1/0/2. All the other branch symbols can be
computed in a similar manner.
From depth d = 2 to d = 3, a total of eight possible paths exist. The
path is expressed in terms of state sequence. To reach state 0, for example,
Table 7.3
Distance Between 2-Bit Bauds
00(0) 0 1 1 2
01(1) 1 0 2 1
10(2) 1 2 0 1
11(3) 2 1 1 0
there are two paths 0000 and 0210. The other 6 paths are 0021, 0231, 0002,
0212, 0233, and 0023. If all the paths are kept, the number of paths increases
exponentially. There are two paths to reach each state at d = 3 and only one
path with a smaller Hamming distance is kept. All the kept paths are in dark
colors. For example, to reach state 0, the path 0000 has accumulated Ham-
ming distance of 3 while the path 0210 has an accumulated distance of 4. The
path 0000 is then kept and the path 0210 is discarded. The discarded path
will never be used again. After d = 3, the same algorithm is used to keep or
discard paths. At d = 3 and state 1 for example, the path 0021 is kept and the
branch symbol 1/0/2 is used to update the accumulated distance to transition
from state 1 to state 0 and state 2. Doing it this way, a maximum of 4 paths is
maintained at each depth. What has been discussed is one way of discarding
paths although other possible ways exist.
At each depth and each state, there are only two paths leading to it. At
the end of d = 6 and state 0, for example, the two possible paths are from state
0 and state 1 at d = 5. When all the symbols are received, the decoder finds the
minimum accumulated distance. The minimum distance is zero and the path
0023100 is the final selected path. The encoder output baud sequence and the
input bit sequence associated with this path can be found from the symbol
on each branch. For example, the path 0023100 has an encoder output baud
sequence 032230 and an input bit sequence of 011000. From Figure 7.4, the
bit sequence of 011000 is indeed the transmitted message. Figure 7.5 shows
the trellis diagram after removing the discarded paths.
Out of the many possible paths through the trellis diagram, the Viterbi
algorithm selects the final path with minimum Hamming distance. In this
sense, it performs the maximum likelihood decoding. To show how the Vit-
erbi algorithm corrects errors, Figure 7.6 shows the trellis diagram with one
transmission error. The input bit sequence is still 011000 and the transmitted
encoder baud sequence is 032230. However, the received baud sequence is
033230 and there is a 1-bit error in the third baud. At each depth and state,
only one path is chosen. If two paths have the same distance, any path can be
selected. One such case is state 1 at depth 5. The branch from state 2 at depth
4 to state 1 has a distance of 3. The same is true for the branch from state 3 at
depth 4 to state 1. In Figure 7.6, the branch from state 3 is arbitrarily selected.
At d = 6, the selected path at states 0, 1, 2, and 3 has an accumulated distance
of 1, 3, 3, and 3, respectively.
The minimum accumulated distance is 1 and the path 0023100 is
selected. This is indeed the correct path and the input bit sequence is cor-
rectly decoded to be 011000. Figure 7.7 shows the trellis diagram after all the
discarded paths are removed.
Figure 7.5 Illustration of Viterbi algorithm after removing the discarded paths.
Figure 7.7 Illustration of Viterbi decoding with a single bit error after removing the
discarded path.
In comparing Figure 7.5 with Figure 7.7, it is seen that not all the dark
lines or paths are the same. This does not matter as long as the correct path
has the minimum distance. If there is no transmission error, the correct path
has a distance of 0. If there are indeed bit errors, the minimum distance is not
0. However, the minimum distance still selects the optimum path, which can
decode the received code word to get the input message stream.
g1(x) = 1 + x + x 3 + x 4 + x 6 (7.38)
g 2 (x) = 1 + x 3 + x 5 + x 6 (7.39)
One property of this encoder is that every output state can only be gen-
erated from two unique input states. Each input state generates two unique
output states. One comes from a bit 0 input and the other comes from a bit
1 input. Therefore, there exist two input states and two output states that
depend upon each other. Figure 7.9 shows the relationship. In this figure,
both state j and state j + 1 transition to state k after a bit 0 input. However,
if the input bit is 1, both input state j and j + 1 transition to the same output
state i. In other words, there exist two unique input states j and j + 1 that can
only transition to state k and state i. For example, state 8 (j = 8) and state 9
(j + 1 = 9) are two input states that can only transition to state 4 (k = 4) and
state 36 (i = 36). For this generator, the two input states differ by 1 while the
two output states are generally not consecutive. Table 7.4 lists all the input
and output state pairs. For example, input state pair 18 and 19 transitions to
output state pair 9 and 41.
Table 7.4
Generation of Input and Output State Pairs
• Generate the initial 64 states and keep all the paths through the trel-
lis. During the generation process, compute the Hamming distance
between the received baud and the encoder output baud for each
branch, and update the accumulated Hamming distance according
to the following formula
k+1 k
(
C s = C s + d sk+1 ,sk ) (7.40)
( ) ( ( )
C sk+1 = min C sk+1 , the two paths from sk to sk+1 ) (7.41)
If the two paths have the same Hamming distance, a path can be
selected randomly.
• The process continues until the input message is exhausted. At each
new depth, the number of states is 64 and only 64 paths are kept.
Table 7.5
Rate 2/3 Punctured Coding
b 00 b10 b20 b 30
the first (j = 0) and second (j = 1) output bit corresponding to the ith input
bit. In other words, the first index is the input bit index while the second
index is either the first output bit or the second output bit. For example, b30
is the first output bit due to the third input bit while b31 is the second output
bit due to the same third bit input. The bold text is the output bit that will
not be transmitted. Therefore, every fourth output bit is omitted. Table 7.5
shows a 4-bit input stream [4]. After the first 2-bit input, the output bit b11
is omitted and after the next 2-bit input, the output bit b31 is omitted. The
transmitted bit stream is then b00b01b10b20b21b30. Instead of generating 2 bits
for every single bit input for a rate R = 1/2, 3 bits are generated for every 2-bit
input to generate a rate of R = 2/3.
Table 7.6 [4] shows the punctured coding at rate = 3/4. After every
3-bit input, the fourth and fifth output bits are omitted. Table 7.6 shows
that bits b11 and b20 are omitted after the first 3-bit input and bits b41and
b50 are omitted after the next 3-bit input. The transmitted bit stream is then
b00b01b10b21b30b31b40b51Therefore, for every 3-bit input, only 4 bits are trans-
mitted and the rate becomes 3/4.
In the receiver, the convolutional decoding follows exactly the same
procedure. However, the computation of the Hamming distance is slightly
different. Assume after the dummy bits are inserted, bk0 and bk1 are the received
bits and ak0 and ak1 are the encoder generated output bits before any bits are
stolen. If bk1 is the inserted dummy bit, then both ak1 and bk1 are ignored
and the Hamming distance is the exclusive or operation between bk0 and ak0.
However, if ak0 is omitted and bk0 is the inserted dummy bit, the Hamming
distance is the exclusive or operation between ak1 and bk1. For example, assume
Table 7.6
Rate 3/4 Punctured Coding
that 11 is the encoder generated output baud. Assume also that the received
baud is 10 where 0 is the inserted dummy bit. The distance is then the exclu-
sive operation between the first bit 1 of the encoder output baud (11) and the
first bit 1 of the received baud (10) and the result is 0.
Except for the slight modification in computing the cost, the Viterbi
algorithm can be followed in exactly the same way. The way the cost com-
putation as modified will be justified in the simulation given in Chapter 12.
7.5 Interleaver
Even though the error correction discussed in the previous section can correct
bit errors in digital communications, the error performance can be further
enhanced through an interleaver. This is because the errors often occur in
bursts and a group of continuous bits are in error. When this happens, it is
rather difficult for the error correction codes to handle. An interleaver is used
to rearrange the bits following certain rules to prevent a block of bit errors.
Table 7.7
Bit Index of the Interleaver Input and Output
0 0000 0 0000
1 0001 8 1000
2 0010 4 0100
3 0011 12 1100
4 0100 2 0010
5 0101 10 1010
6 0110 6 0110
7 0111 14 1110
8 1000 1 0001
9 1001 9 1001
10 1010 5 0101
11 1011 13 1101
12 1100 3 0011
13 1101 11 1011
where Ncbps is the number of coded bits per symbol, int denotes the integral
part, and mod is the remainder after the division.
The second permutation converts the index i to index j according to the
following formula:
⎛ ⎛ i ⎞⎞ ⎛ ⎛ 16i ⎞ ⎞
j = n ⎜ int ⎜ ⎟ ⎟ + ⎜ i + N cbps − int ⎜ ⎟ ⎟ mod n (7.43)
⎝ ⎝ n⎠⎠ ⎝ ⎝ N cbps ⎠ ⎠
Table 7.8
Input Bit Indexes of an Interleaver in the IEEE 802.11a
0 6 12 18 24 30 36 42
1 7 13 19 25 31 37 43
2 8 14 20 26 32 38 44
3 9 15 21 27 33 39 45
4 10 16 22 28 34 40 46
5 11 17 23 29 35 41 47
where n depends upon the number of bits per subcarrier, Nbpsc, and is given
here:
⎛ N bpsc ⎞
n = max ⎜ ,1⎟ (7.44)
⎝ 2 ⎠
Table 7.9
Output Bit Indexes of an Interleaver in the IEEE 802.11a
0 18 36 7 25 43 14 32
3 21 39 10 28 46 17 35
6 24 42 13 31 2 20 38
9 27 45 16 34 5 23 41
12 30 1 19 37 8 26 44
15 33 4 22 40 11 29 47
48 input bit indexes before an interleaver. Inside each square is the bit index
k. The bit stream is sent column-wise from the first column to the eighth
column. Without an interleaver, the bit indexes are adjacent and continuous.
With an interleaver, the bit indexes are no longer adjacent. Table 7.9 shows the
output bit index j and each bit is reassigned. Bit bk may be assigned to square
m and m ≠ k. For example, bit 1 is assigned to square 16. No two bits can be
assigned to the same square. If bk is assigned to square m and bj is assigned to
square i, then m ≠ i. Table 7.9 clearly shows the bits are reassigned such that
a block of adjacent bit errors can be prevented.
⎛ ⎛ j⎞⎞ ⎛ ⎛ 16 j ⎞ ⎞
i = n ⎜ int ⎜ ⎟ ⎟ + ⎜ j + int ⎜ ⎟ ⎟ mod n j = 0,1,…, N cbps − 1 (7.45)
⎝ ⎝ n⎠⎠ ⎝ ⎝ N cbps ⎠ ⎠
⎛ 16i ⎞
( )
k = 16i − N cbps − 1 int ⎜ ⎟
⎝ N cbps ⎠
i = 0,1,…, N cbps − 1 (7.46)
Example 7.13
For BPSK defined in the IEEE 802.11a, the interleaver shown in Section 7.5.2
converts index k = 1 to index i = 16. In the deinterleaver, the reverse process
converts the index i = 16 back to index k = 1. In other words, Table 7.9 is
converted back to Table 7.8.
7.6 Summary
For the block codes, both linear block codes and cyclic codes were discussed.
Associated with the linear block codes are a generator matrix and a parity
matrix. The generator matrix is orthogonal to the parity matrix. Every code
word can be generated from the generator matrix. If there are transmission
errors, a nonzero syndrome is created. Associated with every syndrome is a
corresponding error pattern. Based upon the syndrome, the error can be cor-
rected. A special (n, k) Hamming code was also defined such that n = 2m − 1
and k = n − m.
For the cyclic code, a cyclic shift of every code word generates another
code word. Associated with the cyclic code is a generator polynomial and
every code word can be generated through this generator polynomial. For
an (n, k) cyclic code, the generator polynomial is a factor of the polynomial
xn + 1. As with the linear block code, a syndrome polynomial was defined.
If there are no transmission errors, the syndrome polynomial is zero. If
there are transmission errors, every syndrome polynomial has a correspond-
ing error pattern. Based upon the syndrome polynomial, the bit errors can
be corrected.
For the convolutional code of rate k/n, every k information bits generate
n coded bits. The input bit sequence can be infinite in length and the output
bit sequence is generated through the contents of a shift register and input
bits. The input and output bits can be traced through a trellis diagram. Each
possible path is associated with a cost defined to be the Hamming distance
between the received baud and the output coded baud. The Viterbi algorithm
used for decoding is to find the best path through the trellis such that the
cost between the received bits and the encoded output bits is at a minimum.
A special convolutional code defined in the IEEE 802.11a was also discussed
in more detail.
To reduce the transmission overhead, a punctured convolutional code
was defined. It can be generated by taking away a certain number of output
bits. For the 1/2 convolutional code, a punctured code of R = 2/3 and R =
3/4 can be generated. For R = 2/3, one output bit is dropped for every two
input bits. For R = 3/4, two output bits are dropped for every 3 input bits. By
ignoring the cost associated with the dropped bits, the Viterbi algorithm can
be followed in exactly the same way.
An interleaver is also frequently applied to reduce burst errors. The idea
is to distribute the input bits following a certain rule. In such a case, a block
of consecutive bits is transmitted far apart.
Upon reception, these errors can then be easily corrected. A special
interleaver used in the IEEE 802.11a was discussed.
In the next chapter, the OFDM signal detection using the preamble
waveform is discussed. Both coarse detection and fine detection are covered.
References
[1] Lin, S., and D. Costello, Error Control Coding, Upper Saddle River, NJ: Prentice Hall,
1983.
[2] Proakis, J. G., Digital Communications, New York: McGraw-Hill, 1983.
[3] Viterbi, A. J. “Error Bounds for Convolutional Codes and an Asymptotically Optimum
Decoding Algorithm,” IEEE Transactions on Information Theory, Vol. 13, No. 2, pp.
260−269.
[4] Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY)
Specifications, IEEE Standard 802.11a, 2007.
8.1 Introduction
For OFDM, a preamble is generally sent before the data transmission. The
preamble normally consists of a repetition of signals. As shown in Chapter
4, the preamble in the IEEE 802.11a has a short sequence followed by a long
sequence. The short sequence is a repetition of 16 segments of 16 samples
each. The receiver must be able to first detect the presence of such a repeti-
tion of signals.
Since the preamble signal repeats, adjacent segments must have strong
correlations. This property can be used to define several metrics for signal
detection. Three metrics are given in this chapter. They are cross-correlation,
normalized cross-correlation, and minimum mean square error (MMSE). Their
performances are compared through examples from the simulation study. The
simulation is based upon transmitted signals specified in the IEEE 802.11a.
The results are compared running on a standard compliant C-program.
From the central limit theorem, each of the three metrics can be con-
sidered to have a Gaussian distribution. Using this assumption, a maximum
likelihood detection approach is used for signal detection. This assumption is
justified from the simulation data.
The front-end electronics must first convert the received signal into
the in-phase I component and the quadrature-phase Q component. These
133
IQ signals are then digitized for further processing for signal detection and
others. The traditional heterodyne receiver needs an intermediate frequency
(IF) stage to recover the baseband signal. In this chapter, the received signal
is directly converted without going through an IF stage.
The detection can be done in two steps. The first step is a coarse tim-
ing detection and the second step is a fine timing detection. In order for fast
detection, the coarse detection is also further divided into two steps. The first
is the segment detection and the second is the sample detection.
Each repetition of the preamble signal is called a segment. Initially, there
is no way of knowing in which segment the signal starts. Instead of computing
the correlation for each sample, a fast detection strategy is to first compute the
correlation for each segment. After detecting the signal segment, the sample
detection can be further performed using samples within the detected segment.
Each segment in the IEEE 802.11a has 16 samples. The maximum number
of correlations for the detected segment is then 15.
After the coarse detection, the sample at which the preamble starts is
roughly known. To fine-tune the sample location, a fine detection algorithm is
further applied. In the IEEE 802.11a, a long sequence follows immediately after
the short sequence. The fine timing detection can be applied using either the
long sequence or short sequence. The long sequence is applied for illustration.
The received signals may also suffer impairments from the front-end
receiver. Only random noise is discussed in this chapter through simulation
study. Others are deferred to Chapter 12.
The normalized cross-correlation is found to have the best performance
and is selected for further studies across various SNR levels.
(
x(t) = Re s(t)e j2pf c t ) (8.1)
where fc is the carrier frequency. Assuming that the baseband signal s(t) has
amplitude a(t) and phase θ (t), we have
(
x(t) = a(t)cos 2pf c t + q(t) ) (8.4)
Using (8.3a) and (8.3b), x(t) can be written in terms of xI (t) and xQ (t)
( ) (
x(t) = a(t)cos( q(t)) cos 2pf c t − a(t)sin ( q(t)) sin 2pf c t ) (8.5)
( ) (
= x I (t)cos 2pf c t − x Q (t)sin 2pf c t )
Assume that the impulse response of the channel is given by h(t). The
received baseband signal y(t) is then just the convolution between the trans-
mitted signal, s(t), and the channel impulse response, h(t).
where yI (t) and yQ (t) are just the convolution of h(t) and s(t)
(
r(t) = Re y(t)e j2pf c t ) (8.9)
( )
= yI (t)cos 2pf c t − yQ (t)sin 2pf c t ( )
In (8.9), we have ignored the additive random noise for analysis simpli-
fication, However, the noise impact will be simulated in later sections. In the
RF front end of the receiver, yI (t) and yQ (t) can be recovered by passing the
received signal through a mixing stage. Without any intermediate frequency,
the bandpass signal can be recovered as shown in Figure 8.1. In this mixer,
there are two locally generated signals. Assuming, for now, that there is no IQ
imbalance, the first is l1(t) = 2cos(2π fct) and the other is l2(t) = −2sin(2π fct).
The signal l2(t) has exactly a 90° phase shift from l1(t). Multiplying (8.9) by
l1(t), we have
( ) ( ) ( ) (
r(t)l1(t) = 2 yI (t)cos 2pf c t cos 2pf c t − 2 yQ (t)sin 2pf c t cos 2pf c t )
(8.10)
= yI (t)(1 + cos( 4pf c t )) − yQ (t)sin ( 4pf c t )
After passing through the lowpass filter (LPF), the double frequency
terms are filtered. The output becomes yI (t). Similarly, multiplying (8.9) by
l2(t), we have
( ) ( ) ( ) (
r(t)l2 (t) = −2 yI (t)cos 2pf c t sin 2pf c t + 2 yQ (t)sin 2pf c t sin 2pf c t )
(8.11)
( ) ( (
= − yI (t)sin 4pf c t + yQ (t) 1 − cos 4pf c t ))
Similarly, the double frequency term is filtered and the output becomes
yQ (t). Therefore, the upper branch recovers the in-phase component yI (t) while
the bottom branch recovers the quadrature-phase component yQ (t).
where i is the start sample index, k is the sample index, and M is the period
in sample count. Based upon (8.13), several detection metrics can be utilized.
8.3.1 Cross-Correlation
In this scheme, two signals separated by M samples apart are correlated. The
metric m is given here [1]:
k= M −1
mi = ∑ ∗
yi+k yi+k+ M
(8.14)
k=0
In (8.14), the first signal is R1 = yi+k while the second signal is R 2 = yi+k+M.
The separation between these two signals is M samples.
The correlation must be low if both signals are noise. The correlation
increases if the signal appears in either R1 or R 2. The correlation reaches a
maximum when both R1 and R 2 are signals. Assuming that there is no noise,
then (8.13) applies and (8.14) becomes
k= M −1
∑
2
mi = yi+k
k=0
k= M −1
∑
2
mi = yi+k − yi+k+ M (8.15)
k=0
(8.16)
From (8.15), it can be seen that the metric is always positive. When the
signal is present and without noise, (8.13) applies. Then from (8.15), mi = 0
and this is also the minimum value of mi.
mi
2 ∑ ( ∗
Re yi+k yi+k+ M )
= 1− k=0 (8.18)
Ei Ei
present, the correlation is even smaller due to the further division by the energy.
Therefore, (8.19) is a good metric to detect the signal in noise.
For all three metrics given in (8.14), (8.16), and (8.19), the search is to
find either the maximum or minimum when the signal appears. Since there
is no way of knowing when the signal is transmitted, the metric is initially
computed each time by advancing the index i by the period M. In other
words, we compute mi, mi+m, mi+2M until mi+lM such that the signal segment
is detected. In doing so, more precise signal timing is not known in exchange
for fast detection.
p( y/H1 )
>l (8.20)
(
p y/H 0 )
where λ is a detection threshold [3]. The ratio on the left side of (8.20) is called
the likelihood ratio. A test based upon this ratio is called a likelihood ratio test.
Under hypothesis H1 and H0, the variable y is given below:
H1 : y = u + n (8.21)
H0 : y = n (8.22)
where n is the random noise and u is the average value of the metric. Assum-
ing that the random noise n to be Gaussian distributed with mean zero and
standard deviation σ , the probabilities p(y/H1) and p(y/H0) are then given here:
⎛ y ⎞ 1 ⎡ −( y−u )2 /2s 2 ⎤
p⎜ = e⎣ ⎦ (8.23)
⎝ H1 ⎟⎠ 2ps
⎛ y ⎞ 1
e ⎡⎣− y /2s ⎤⎦
2 2
p⎜ = (8.24)
⎝ H 0 ⎟⎠ 2ps
u2 + 2s 2 ln l
y> (8.26)
2u
The decision rule can be to choose H1 if p(y/H1) > p(y/H0). In this case,
λ = 1 and (8.26) becomes
u
y> (8.27)
2
Example 8.1
In this example, the SNR is set to be 37.8 dB. Figures 8.2 to 8.4 are plots of
cross-correlation, normalized cross-correlation, and MMSE against the seg-
ment number. Each segment of the short sequence has 16 samples. The index
i of the metric mi is advanced by 16 each time and has numbers 16, 32, 48,
and so forth. The segment number is just i/16 and has numbers 1, 2, 3, and
so forth. The short sequence starts at segment 26.
Figure 8.2 shows that the noise correlation is negligibly small. The cross-
correlation is 0.1 at segment number 26 and reaches a maximum of 0.2 for
segment number ≥ 27. Since the short sequence samples start within segment
26, the cross-correlation is not at maximum. The average signal level u in
(8.27) is then 0.2 and the threshold is u/2 = 0.1. Clearly, the signal is correctly
detected at segment 26. Figure 8.3 shows that the normalized cross-correlations
Figure 8.3 Normalized cross-correlation against segment number at SNR = 37.8 dB.
Figure 8.4 MMSE against the segment number at SNR = 37.8 dB.
maximum is 1. The threshold is then 0.5. The signal is also correctly detected
at segment 26 with a normalized cross-correlation of 0.66. Since the signal is
normalized, the noise correlation is not small anymore and the value can be
either positive or negative as expected.
Figure 8.4 shows the MMSE and the detection is to find the minimum
and (8.27) does not apply. Because of signal and noise mismatch at segments
25 and 26, the MMSE has a larger value. When the signal matches again
starting in segment 27, the MMSE does reach a minimum. Since there is
a peak at segment 26, it cannot be detected as the starting signal segment.
Another issue is that the minimum is almost indistinguishable for noise, and
thererfore, confusion can arise.
Example 8.2
In this example, the SNR is set to be 2.8 dB. Figures 8.5 to 8.7 are plots of
the three metrics against the segment number. For cross-correlation, Figure
8.5 shows at segment 26, the metric is 0.16 and is greater than the threshold
0.1. Even with significant noise, the signal is still correctly detected. At seg-
ment 25, the metric is 0.069 and there is no false alarm. Figure 8.6 shows the
normalized cross-correlation. At segment number 25, the metric is −0.029,
and at segment number 26, the metric is 0.586. Therefore, the signal is still
correctly detected at segment 26. Figure 8.7 shows the MMSE. At segment
number 25, the signal has a peak and drops immediately starting at segment
26. Again, the miniumum is almost indistinguishable from the noise.
The simulation justifies the maximum likelihood detection strategy.
Both cross-correlation and normalized cross-correlation work well. However,
Figure 8.5 Cross-correlation against the segment number at SNR = 2.8 dB.
Figure 8.6 Normalized cross-correlation against segment number at SNR = 2.8 dB.
Figure 8.7 MMSE against the segment number at SNR = 2.8 dB.
these are by no means the only methods to detect the signal in noise. Another
standard method is to estimate the noise level and its standard deviation. For
signal detection, the signal level must be greater than the noise level by at least
the noise standard deviation.
For cross-correlation, the threshold parameter u in (8.27) can be set at
its maximum value. As will become clear later, this value is difficult to set in
advance. For normalized cross-correlation, it is theoretically set at 1 and is a
constant. In practice, it can be set at slightly less than 1 in order not to miss
the sample onset due to interference and others.
Example 8.3
From previous examples, the signal segment is 26. The starting sample is 16 ∗
25 = 400 since the first segment is 1. Figure 8.8 is a plot of cross-correlation
against sample number within segment 26 at SNR = 37.8 dB. The top figure
uses M = 16 for correlation while the bottom figure uses M = 2 for correlation.
Since the signal appears somewhere after a certain sample number, the signal
u can be set at a sample number of 15. The threshold of the top figure is then
0.5m15 = 0.1. However, the correlation is greater than 0.1 for all the sample
numbers and it is not clear where the signal starts. In the bottom figure, the
correlation is much smaller since only 2 samples are used in the correlation.
The threshold is then 0.5m15 = 0.5 ∗ 0.022 = 0.011. The curve shows the cor-
relation is much less than 0.011 until sample number 8. Since sample number
8 has a correlation greater than the threshold 0.011, it is correctly identified as
the signal starting sample. Figure 8.9 is a plot of normalized cross-correlation
Figure 8.8 Plot of cross-correlation against the sample number at SNR = 37.8 dB.
against a sample number. Since the maximum correlation is 1 and the thresh-
old is 0.5. Again, for M = 16, it is not clear where the signal starts. For M = 2,
the correlation is greater than 0.5 for sample numbers greater than 8. Again,
sample number 8 is correctly identified as the signal starting point. It is also
obvious that the percentage jump at signal onset for the normalized cross-
correlation is much higher than that for the cross-correlation.
Example 8.4
To see the impact of noise, the SNR is set to be 2.8 dB. Figure 8.10 is a plot
of cross-correlation. The top figure uses M = 16. To estimate the detection
Figure 8.9 Normalized cross-correlation against the sample number at SNR = 37.8 dB.
Figure 8.10 Cross-correlation against the sample number at SNR = 2.8 dB.
threshold, the sample value at m15 is used. The threshold is then approximately
given by m15/2 = 0.24/2 = 0.12. Figure 8.10 shows that the cross-correlation is
always greater than 0.12 and it is not clear again where the signal starts. The
bottom figure uses M = 2 and the threshold is approximately set at 0.024. The
correlation is greater than the threshold at sample 0 and at sample number
greater than 10. Sample 0 cannot be the signal starting point since future cor-
relations can be smaller than the threshold. Therefore, sample 10 is selected as
the signal onset and there is an error of 2 samples. Since the threshold has to
be set before the detection can start, this shows the disadvantage of the cross
correlation using the maximum likelihood detection strategy.
Figure 8.11 is a plot of normalized cross-correlation. The threshold is
always 0.5. The top figure is for M = 16 and it is not clear where the signal
Figure 8.11 Normalized cross-correlation against the sample number at SNR = 2.8 dB.
starts. The bottom figure is for M = 2. The correlation is greater than 0.5 at
sample 1, 5 and all samples greater than 9. Sample 1 and sample 5 cannot be
the choice since future correlations can drop below 0.5. Therefore, sample 9
is the choice and there is an error of 1 sample.
k= M −1
2 ∑ ( ∗
Re c k yk+d+ L )
md (normalized) = k=0
(8.28b)
Ed
where the parameter δ is the sample deviation index from k = 0 of the clean
preamble waveform. If there is a perfect match, δ = 0 and the following is true:
c k = yk+ L k = 0,…, M − 1 (8.29)
k= M −1
2 ∑ (
∗
Re c k yk+ L )
m0 (normalized) = k=0
=1 (8.31)
E0
This means the metric has the maximum value of 1 with a perfect match.
After the coarse timing estimate is performed, the value δ should not be
too far away from zero. The value δ can be assumed to have the range from
−α to α . In other words, the metric given in (8.26) is computed a total of 2α
+ 1 times to find the best match. The index δ that generates the maximum
metric matches with clean preamble waveform.
Example 8.5
Using the IEEE 802.11a waveform, the long sequence has a total of 160 samples
at a 20-MHz channel spacing. It starts with 32 guard samples followed by
the first symbol of 64 samples and the second symbol of 64 samples. At SNR
= 37.8 dB, the detection of short sequence finds that it starts at sample 408.
The second long symbol then starts at 408 + 32 + 64 = 504. The parameter L
is then set to 504. In other words, the received sample index 504 is assumed
to match with sample index 0 of the clean waveform. At SNR = 2.8 dB, the
short sequence is detected to start at sample index 409. In this case, sample
index 505 is assumed to match with sample 0 of the clean waveform.
Figure 8.12 is a plot of the normalized cross-correlation against the sam-
ple deviation index δ . The dark curve is for SNR = 37.8 dB and the gray curve
is for SNR = 2.8 dB. The parameter α is set to 5 and a total of 11 searches are
performed. As expected, the maximum for SNR = 37.8 dB is 1 appearing at δ
= 0. The first OFDM symbol of the long sequence then starts at sample index
504. At SNR = 2.8 dB, the maximum appears at sample deviation index −1.
The maximum is not 1 due to the background random noise. Since the value
δ = 0 corresponds to the received sample index 505, the first OFDM symbol
of the long sequence then starts at received sample index 504.
Even though the coarse timing estimate may misalign the starting sample
by 1 at SNR = 2.8 dB, the fine timing estimate can indeed correct the error
and again make the correct adjustment.
Example 8.6
Based upon the simulation studies, the normalized cross-correlation has the
best performance. This metric is then selected for further studies in various
SNR levels. Figure 8.13 is a plot of the performance of coarse sample detec-
tion in random noise. The vertical axis shows the number of samples deviated
from the correct signal sample onset. The horizontal axis shows the SNR in
decibels. For SNR above 3.1 dB, there is no sample detection error and the
sample error count is 0. For SNR between −2.08 dB and 3.01 dB, there is
one sample detection error. For SNR between −4.18 dB and −2.18 dB, there
are two sample detection errors. For SNR below −4.18 dB, the signal segment
cannot be detected and the signal acquisition fails.
For segment detection, the segment detection error is always zero, as long
as the SNR is above −4.18 dB. As is mentioned before, no signal segment can
be detected for SNR below −4.18 dB. Even though there is either a one-sam-
ple or two-sample detection error from the coarse sample detection, the fine
sample detection can always correct the error. That means there is no sample
detection error for the fine detection as long as the SNR is above −4.18 dB.
8.7 Summary
The received radio waveform is first processed to remove the carrier. After
going through a direct conversion, in-phase and quadrature-phase signals
are obtained. These two signals can then be digitized for further processing.
For OFDM waveform, a periodic preamble signal is normally sent to help
the receiver for signal detection. This preamble waveform used in the IEEE
802.11a is a short sequence followed by a long sequence. The short sequence
has 16 periodic segments and is used for coarse timing detection. The long
sequence has two periodic segments and can be used for fine timing detection.
For any detection algorithm, the detection metric must be defined.
Three such metrics were discussed. They are cross-correlation, normalized
cross-correlation, and MMSE. The cross-correlation and normalized cross-
correlation find the correlation maximum while MMSE finds the correlation
minimum. A detection algorithm based upon maximum likelihood criterion
was derived. The simple algorithm shows a signal detected if the metric is
greater than a threshold. For normalized cross-correlation, this threshold is
simply set at 0.5 theoretically.
The detection algorithm follows a two-step procedure. The first step
is coarse timing detection followed by fine timing detection. Since the pre-
amble is periodic, we develop further a two-step approach for fast detection
of a coarse timing. The first step is the segment detection in which the cor-
relation is advanced by a segment. For the IEEE 802.11a, the short sequence
has 16 samples in each segment. In other words, the correlation between two
consecutive segments is 16 samples apart. The idea is to find which segment
the signal starts. After segment detection, the sample detection in which the
correlation is performed on a sample basis follows immediately. The idea is to
locate which sample the signal starts. From the simulation study, it was found
that the signal sample is difficult to locate if the correlation size is large. It was
found that the best correlation size is M = 2.
The three metrics were compared from the simulation study. The MMSE
metric was found to have the worst performance since the minimum can be
indistinguishable from noise. The cross-correlation somehow works; however,
the detection threshold is difficult to set and depends upon the correlation size
and SNR. The normalized cross-correlation not only has the best performance,
but is also the easiest metric from the computational point of view. The deci-
sion threshold from the theoretical analysis is simply 0.5 and is independent
of SNR and correlation size.
After the coarse detection is completed, the fine detection follows. The
fine detection computes the correlation between a clean preamble and that
from the received waveform. Since the transmitted preamble is known to
the receiver, this known waveform can be stored in the receiver for the fine
detection. After the fine detection, the signal sample onset can be accurately
determined. Since normalized correlation has the best performance, it is only
used for the simulation study. Based upon the simulation in the examples, the
coarse detection could accurately locate the signal sample at SNR = 37.8 dB,
but with one sample error at SNR = 2.8 dB. However, the fine detection can
accurately correct the error.
Lastly, the signal detection performance in random noise was investi-
gated. As long as the SNR is above −4.18 dB, there is no sample detection error
after the fine sample detection. For SNR below −4.18 dB, no signal segment
can be located and the detection fails.
The next chapter centers on synchronization issues in the receiver. The
topics covered include DC offset, carrier frequency offset, frame timing offset,
sampling clock offset, and IQ imbalance.
References
[1] Schmidt, T., and D. Cox, “Robust Frequency and Timing Synchronization for OFDM,”
IEEE Transactions on Communications, Vol. 45, No. 12, December 1997, pp. 1631−1621.
[2] Minn, H., V. Bhargava, and K. Letaief, “A Robust Timing and Frequency Synchronization
for OFDM Systems,” IEEE Transactions on Wireless Communications, Vol. 2, No. 4,
2003, pp. 822−839.
[3] Whalen, A. D., Detection of Signals in Noise, San Diego: Academic Press, 1971.
9.1 Introduction
The received OFDM signal normally suffers two types of degradations. The
first is due to the propagation effects from the channel and is unavoidable. The
second is due to the imperfect front-end electronics that can cause frequency
and phase mismatches between the transmitter and the receiver. Since the
circuit parts can never completely match, some compensation schemes must
be taken to minimize its impact. The synchronization deals with both issues.
Regarding the channel effect, the received OFDM signal may suffer
Doppler spread. It can be caused by relative motion between the transmit-
ter and the receiver. The received carrier frequency is then different from the
transmitted frequency by the Doppler shift. The second is due to the channel
variations that cause frequency dispersion or time-selective fading. The fad-
ing can be fast if the coherence time is less than the signal duration. Another
distortion that the OFDM transmission suffers is frequency-selective fading.
This is because signals with different delays are often received due to reflec-
tions from the ground or obstacles. This delay spread can be longer than the
OFDM guard interval or the channel coherence bandwidth can be shorter
than the signal bandwidth to cause serious signal distortions.
Regarding the imperfect circuit parts, the local receiver clock can run
slightly differently in comparison with the transmitter clock. This can cause
153
some problems. Because of the different clocks, the local oscillator (LO) can-
not generate the same carrier frequency and phase as the received signal. First,
it causes the carrier frequency offset (CFO). Second, it causes IQ imbalance
because the two LOs used to recover the in-phase and quadrature-phase
components of the received signal run at a different frequency and phase. The
received signals can also be sampled at different time instants in comparison
with the transmitter to cause misalignments of the frame boundary. Another
issue is the DC bias caused by the leakage current from the LO to the front-
end linear amplifier.
All these synchronization issues including DC offset, CFO, sampling
clock offset (SCO), sampling time offset, and IQ imbalance are analyzed in
detail in this chapter. The parameters associated with each synchronization
issue are estimated. A number of examples from computer simulations are
also given to show the accuracy of the estimate.
9.2 DC Offset
After passing through the RF front end, the digitized baseband signals fre-
quently have a DC component. The DC signal is not random and can be
wrongly detected as the transmitted signal, thereby causing a false alarm.
Therefore, it is important to remove the DC bias before further processing.
In an OFDM receiver, direct conversion of the RF band signals to base-
band is frequently used. However, one of the drawbacks is DC bias. In this
section, the DC bias is analyzed and the compensation scheme is also presented.
( )( (
cos 2pf c t a cos 2pf c t )) = α cos2 (2pf c t )
(9.1)
a a
= + cos( 4pf c t )
2 2
Since the noise average is zero and there is no correlation between two
different noise segments, the first and second terms of (9.4) are both zero. We
then have the following:
Ri = 2Md 2 (9.5)
Ri Md 2
mi = = (9.8)
Ei Md 2 + EN
Example 9.1
To design a highpass filter, the frequency sampling design was used [3]. This
filter has 65 coefficients with h0 = 0.984615 while h1 to h64 all have the same
value of −0.015385. The frequency response is shown in Figure 9.2 against
the frequency index. A frequency index of 65 corresponds to 2π . Clearly, the
frequency response is 0 at DC and 1 at all the other frequency indexes.
The computation of the output response can be simplified by utilizing
the fact that all filter coefficients are the same except h0. Assuming that hk =
hc, k = 1, …, N − 1, yk is the input, and zk is the output, we have
k= N −1
zn = ∑ hk yn−k
k=0
(9.10)
( )
= h0 yn + yn−1 + ! + yn− N +2 + yn− N +1 hc
(
zn+1 = h0 yn+1 + yn + yn−1 + … + yn− N +2 hc )
(
= h0 yn+1 + yn hc − yn− N +1hc + yn−1 + … + yn− N +2 + yn− N +1 hc ) (9.11)
= zn − h0 yn + h0 yn+1 + yn hc − yn− N +1hc
( ) (
= zn + h0 yn+1 − yn + hc yn − yn− N +1 )
Instead of having N additions and multiplications, (9.11) only has 4
additions and 2 multiplications.
Assuming that the ith preamble signal is yi, the ith random noise sample
is ni, and the DC offset is di, then the output signal zi becomes
zi = yi + ni + di (9.12)
where the random noise has zero mean. The DC offset is assumed to be a
constant and has the following form:
di = c + jc (9.13)
where c is a constant. At SNR = 37.8 dB and 2.8 dB, the DC offset d ranging
from 0 to 0.059 is used. The short sequence has an average amplitude of 0.112,
Table 9.1
Deviation of Coarse and Fine Detection at SNR = 37.8 dB
Average Coarse
Clean Short Detection Fine Detection
Sequence DC Offset DC Offset Sample Sample
Amplitude Amplitude Percentage Deviation Deviation
0.112 0.000 0% 0 0
0.112 0.020 17.9% 0 0
0.112 0.04 35.7% 0 0
0.112 0.059 52.7% 0 0
which is the square root of the average short sequence energy. It is assumed
that the addition of a DC offset does not saturate the power amplifier. The
average DC offset amplitude is then 2c. Tables 9.1 and 9.2 list the results at
SNR = 37.8 dB and 2.8 dB, respectively. The SNR is computed without add-
ing DC bias. In both tables, the DC offset percentage is the ratio of DC offset
amplitude against the average short sequence amplitude. The coarse detection
deviation is the number of the sample difference between the coarse detected
sample and the actual sample onset. A plus sign means the detected position
is larger than the true position, while a minus sign means the contrary. The
fine detection deviation is the deviation due to the fine detection.
Both Tables 9.1 and 9.2 show that the DC bias has minimum impact
on the signal detection after highpass filtering.
Table 9.2
Deviation of Coarse and Fine Detection at SNR = 2.8 dB
0.112 0.000 0% 0 0
0.112 0.020 17.9% 0 0
0.112 0.040 35.7% 0 0
0.112 0.059 52.7% 0 0
9.3 CFO
In the front end of the OFDM receiver, the received carrier frequency may
be different from the transmitted carrier frequency. This happens because of
the relative motion between the transmitter and the receiver. The net result is
a Doppler shift and was discussed in Chapter 6.
Besides the Doppler shift, there are also interferences from the neighbor
subcarriers. Equation (3.14) and Figure 3.1 show such an effect. It is clear
from Figure 3.1 that interferences exist in the region between peak subcar-
riers. However, at the peak subcarrier frequency, there are no interferences
from the rest of subcarriers.
This frequency offset due to Doppler shift can degrade system perfor-
mance and must be removed. The acquisition signal in OFDM normally has
a repetitive structure that can be used to find the frequency offset. In this
section, the estimate of frequency offset due to Doppler shift is discussed.
(
r(t) = Re y(t)e j2p( f c + f d )t ) (9.14)
= Re ( z(t)e j2pf c t
)
where z(t) is given by
fs
Δf = (9.16)
N
Assuming also that the ratio of f δ against Δf is ò, the following then results:
Nf d
ε= (9.17)
fs
zn = yn e j2pεn/N (9.18)
where we have used (9.18) and (9.20). Both zn+N and zn are the known received
samples. Therefore, the CFO ò can be estimated based upon (9.21).
The estimate can be inaccurate in noise if just one sample is used. A
better way is to form a cross-correlation between two consecutive segments.
We then have the following:
n= N −1 n= N −1
∑ zn∗ zn+ N = ∑ zn∗ zn e j2pε
n=0 n=0
(9.22)
⎛ n= N −1 2 ⎞
= ⎜ ∑ zn ⎟ e j2pε
⎝ n=0 ⎠
ε=
1
2p
! (∑ n= N −1 ∗
n=0
zn zn+ N ) where !(z) = tan −1 ⎛ Im(z) ⎞
⎜⎝ Re(z) ⎟⎠ (9.23)
n= N −1
⎡ n= N −1 2⎤
∑ *
zn+mN zn+lN = ⎢ ∑ zn+mN ⎥ e j2pε(l −m) (9.28)
n=0 ⎣ n=0 ⎦
where we have used (9.27). From (9.28), the frequency offset φ is estimated
as follows:
j(m,l) =
1
2p(l − m)
! (∑ n= N −1 ∗
n=0
zn+mN zn+lN ) (9.29)
j(m,m + 1) =
1
2p
! (∑ n= N −1 ∗
n=0
zn+mN zn+(m+1)N ) (9.30)
1 L−2
ε= ∑ j(m,m + 1)
L − 1 m=0
(9.31)
Example 9.2
In this example, the effect of SNR on the accuracy of the estimate of frequency
offset is investigated. No DC offset is added; however, three different SNR
levels at 37.8 dB, 7.8 dB, and 2.8 dB are used for simulation. From (9.17),
the frequency offset is normalized to the subcarrier spacing and is set to 0.1.
The short sequence is used for simulation and each segment has 16 samples.
Equation (9.31) is used for averaging and L = 9. Only coarse detection is
applied and there is no fine detection. Figure 9.3 is a plot of ò against m in
(9.30). At SNR = 37.8 dB, the estimate is almost flat at ò = 0.1. As the noise
level increases, the estimate also fluctuates. The fluctuation is much higher as
SNR decreases from 7.8 dB to 2.8 dB. At SNR = 37.8 dB and 7.8 dB, there
is no sample misalignment. At SNR = 2.8 dB, there is one sample misalign-
ment. Therefore, at SNR = 2.8 dB, there are two factors contributing to the
estimate inaccuracy. One is the noise and the other is the sample misalign-
ment. Even though the individual estimate for a segment may be inaccurate
Table 9.3
Effect of Averaging on the Frequency Offset Estimate
as SNR drops, the average can have significant improvement. After averaging
by using (9.31), Table 9.3 shows the results.
It is clear from Table 9.3 that averaging does improve the estimate. Even
at SNR = 2.8 dB, the estimate is close.
Example 9.3
This example is a continuation of the previous example using the short
sequence. In this example, the impact of detection accuracy on the estimate
of ò is investigated. Figure 9.4 shows the plot of ò against m at SNR = 2.8
dB. The gray curve uses coarse detection only, while the dark curve follows
the coarse detection with another fine detection. After fine detection, it is
found that there is no sample misalignment. In other words, the only factor
contributing to the estimate inaccuracy is random noise after fine detection.
Even though the individual estimate may still show a large swing, the aver-
age estimate improves from ò = 0.1022 using coarse detection to ò = 0.1008
after fine detection. The estimate after fine detection is also the fine estimate
of frequency offset.
Example 9.4
In the previous examples, the estimate is done using the short sequence. How-
ever, the long sequence can also be used for the fine estimate of frequency
offset. Fine detection using the long sequence can still be performed after the
coarse detection using the short sequence. Immediately after fine detection,
the fine estimate of ò is continued. Table 9.4 shows the results.
In Table 9.4, the ò deviation percentage is the computation of the estimate
deviation from the true value and is computed as (ò − 0.1)/0.1. Quite clearly,
the short sequence is a better choice. This is because the short sequence has
10 segments, while the long sequence has only two segments, even though
Table 9.4
Comparison of ò Estimate Using Short and Long Sequence
ò Deviation ò Deviation
ò (SNR = ò (SNR = Percentage Percentage
37.8 dB) 7.8 dB) (SNR = 37.8 dB) (SNR = 7.8 dB)
the segment size of the long sequence (64 samples) is larger than that of the
short sequence (16 samples).
Example 9.5
In this example, a range of the SNR values are scanned to find the effect of
frequency offset on the detection accuracy. The SNR ranges from −3.1 dB
to 37.8 dB and the frequency offset ò is set at 0.1. Only the short sequence is
used for both the coarse detection and fine detection. Figure 9.5 is a plot of ò
against the SNR under these two conditions. For the coarse detection, there is
no sample error for the SNR above 5.8 dB, 1 sample error for the SNR from
1.81 dB to 4.8 dB, 5 sample errors for the SNR from −1.18 dB to 0.8 dB, and
6 sample errors for the SNR at −2.18 dB. In other words, for the SNR above
5.8 dB, only noise affects the estimation accuracy of ò. However, for the SNR
below 4.8 dB, both the SNR and detection have the impacts. The sudden
transition on the curve is due to the change on the number of sample errors.
The fine detection follows immediately after the coarse detection. After
the fine detection, there is no sample detection error for the SNR above −1.18
dB. However, there is only one sample error for the SNR at −2.18 dB and that
is why the curve has a sudden transition. For the SNR above −1.18 dB, only
noise affects the estimation accuracy of ò.
Figure 9.5 Effect of both SNR and detection accuracy on the frequency offset
estimate.
Example 9.6
In the previous examples, no DC bias is applied in the simulation. Since DC
bias can also be considered as a periodic function, its presence can definitely
affect the accuracy in estimating the frequency offset. To numerically show
the impact of the DC bias, Figure 9.6 is the plot of two curves using the short
sequence. The top curve is the true frequency offset and is the same for all of
the DC bias. The bottom curve shows the estimate of the frequency offset.
The SNR and frequency offset ò are set at 37.8 dB and 0.1, respectively. As the
Table 9.5
The Frequency Offset Estimate After Highpass Filtering
0 0.1001 0.1007
17.7% 0.1001 0.1007
35.3% 0.1001 0.1007
53% 0.1001 0.1007
DC offset percentage increases, the estimate accuracy also drops. This example
indicates DC bias has to be removed in order to estimate the frequency offset.
Example 9.7
This example is a continuation of Example 9.6. The goal is to find the impact
of applying highpass filtering. The result is shown in Table 9.5.
Quite clearly, the frequency offset can be correctly determined after
highpass filtering to remove the DC offset. Since the DC offset is completely
removed, it has no impact on the estimate accuracy.
Zk = Yk e − j2pkd/N (9.33)
9.5 SCO
Besides CFO and frame timing offset, the receiver may also suffer from SCO.
This is because the receiver clock and the transmitter clock may not be aligned.
This translates to a slightly different sampling period between the transmitter
and the receiver. Assume that the transmitter sampling period is T, the receiver
sampling period is T′, and the deviation ratio is δ . Then T and T′ are related
by the following equation
T ′ = T + dT = T (1 + d) (9.34)
Figure 9.8 shows the relationship between the frames and samples. The
time tn is the time of the nth sample in the lth frame. If there is no SCO, tn
can be written as
(
tn = N g + lN s + n T ) (9.37)
Substituting (9.37) into (9.35), the following familiar inverse FFT equa-
tion results:
k= N −1
⎛ 1⎞
yn = ⎜ ⎟ ∑ Yk e j2pkn/N (9.38)
⎝ N ⎠ k=0
In (9.39), we replaced yn with zn,l and Yk with Yk,l to show the spectral
response due to the lth symbol. In the receiver, the sampling clock has a period
of T′ and (9.37) becomes
( )
tn = N g + lN s + n (1 + d)T (9.40)
(
j2pε N g +lN s +n (1+d) ) ⎛ 1⎞
k= N −1
⎜⎝ N ⎟⎠ ∑ Yk,l e
j2pk[d( N g +lN s )+n(1+d)]/N
zn,l = e N (9.41)
k=0
(9.44)
The phase term inside the summation of (9.44) is very small and the
following approximation is made:
Assume the phase of Zk,l is θ and the phase of Yk,l is φ , the following
is then obtained:
⎛ 1⎞
⎝N⎠ ( )
⎛ 1⎞
qk,l = jk,l + ⎜ ⎟ 2pε N g + lN s (1 + d) + ⎜ ⎟ 2pk N g + lN s d
⎝N⎠ ( ) (9.48)
⎛ 1⎞
(
qk,l +1 = jk,l +1 + ⎜ ⎟ 2pε N g + lN s + N s (1 + d)
⎝N⎠ )
(9.49)
⎛ 1⎞
(
+ ⎜ ⎟ 2pk N g + lN s + N s d
⎝N⎠ )
Subtracting (9.48) from (9.49), we have
2pεN s (1 + d) 2pkdN s
qk,l +1 − qk,l = jk,l +1 − jk,l + + (9.50)
N N
Table 9.6
Pilot Phases of the First 5 OFDM Symbols from IEEE 802.11a
1 1 1 1 −1
2 1 1 1 −1
3 1 1 1 −1
4 −1 −1 −1 1
5 −1 −1 −1 1
For the CFO, the phase shift is the same for all of the subcarriers.
However, for SCO, the phase increases linearly with respect to the subcarrier
frequency index.
−7, 7, and 21. Equation (9.57) has only two unknowns, but M data points
and it can be solved using the method of least squares.
For each data point, the error is given here:
e j = vk − dk j − ε j = 1, M (9.58)
j
( )
M M 2
E = ∑ e 2j = ∑ vk − dk j − ε (9.59)
j
j=1 j=1
⎛M ⎞ M
Mε + ⎜ ∑ k j ⎟ d = ∑ vk (9.60)
⎝ j=1 ⎠ j=1
j
⎛M ⎞ ⎛M ⎞ M
⎜ ∑ k j ⎟ ε + ⎜ ∑ k j ⎟ d = ∑ vk j k j (9.61)
2
Equations (9.60) and (9.61) have two unknowns and can be solved to give
ε=
(∑ v )(∑ k ) − (∑ k )(∑
M
j=1 k j
M 2
j=1 j
M
j=1 j
M
v kj
j=1 k j ) (9.62)
J
d=
M (∑ M
v kj −
j=1 k j ) (∑ v )(∑ k ) M
j=1 k j
M
j=1 j
(9.63)
J
where J is given by
2
⎛M ⎞ ⎛M ⎞
J = M ⎜ ∑ k2j ⎟ − ⎜ ∑ k j ⎟ (9.64)
⎝ j=1 ⎠ ⎝ j=1 ⎠
⎛ N ⎞
ε=⎜
(∑ M
j=1
Δ∅k
j
)(∑ k ) − (∑ k )(∑
M 2
j=1 j
M
j=1 j
M
j=1
Δ∅k k j
j
) (9.65)
⎝ 2pN s ⎟⎠ J
⎛ N ⎞M
d=⎜
(∑ M
j=1 j
) (∑
Δ∅k k j −
M
j=1
Δ∅k
j
)(∑ k ) M
j=1 j
(9.66)
⎝ 2pN s ⎟⎠ J
The definition of Ns and Δ∅kj are rewritten here for quick reference
Δ∅k = Δqk − Δjk j = 1, M (9.67)
j j j
Ns = N g + N (9.68)
Equations from (9.65) to (9.66) are then joint estimations of both CFO
and SCO in the tracking mode using the received data symbols.
⎛ 1 ⎞
ε=⎜ ⎟
(∑ M
j=1
Δ∅k
j
)(∑ k ) − (∑ k )(∑
M 2
j=1 j
M
j=1 j
M
j=1
Δ∅k k j
j
) (9.69)
⎝ 2p ⎠ J
⎛ 1 ⎞
d=⎜ ⎟
M (∑ M
j=1
∆∅k k j −
j
) (∑ M
j=1
Δ∅k
j
)(∑ k )
M
j=1 j
(9.70)
⎝ 2p ⎠ J
Ns = N (9.72)
2
⎛M ⎞ ⎛M ⎞
J = M ⎜ ∑ k2j ⎟ − ⎜ ∑ k j ⎟ (9.73)
⎝ j=1 ⎠ ⎝ j=1 ⎠
1
Δq − ε = dk j (9.74)
2p k j
⎛M ⎞ 1 ⎛M ⎞
d⎜ ∑kj ⎟ = ⎜ ∑ Δqk ⎟ − Mε (9.75)
⎝ j=1 ⎠ 2p ⎝ j=1 j
⎠
d=
1
2p (∑ Δq ) − Mε
M
j=1 kj
(9.76)
(∑ k ) M
j=1 j
For the long sequence used in the IEEE 802.11a, there are two consecu-
tive symbols with no guard intervals in between. These two symbols are identi-
cal to each other. Therefore, the same equations applied to the short sequence
are also valid. The only differences are the parameter values, which are L and
M. The parameter L is 2 because there are only two symbols. The number of
subcarriers in each symbol including DC is 53. Excluding DC, then M = 52.
⎛M ⎞
⎜ ∑ Δ∅k j k j ⎟ =
(∑ M
j=1
Δ∅k
j
)(∑ k ) M
j=1 j
(9.77)
⎝ j=1 ⎠ M
ε=
⎛ N ⎞
⎜⎝ 2pN ⎟⎠
s
(∑ M
j=1
Δ∅k
j
) (9.78)
M
Ns = N g + N (9.80)
ε=
(∑ M
j=1
Δθ k
j
) (9.81)
(2pM )
M
∑ Δ∅ k =
(∑ M
j=1
Δ∅k)(∑ k )
j
M 2
j=1 j
(9.82)
j=1
kj j
(∑ k ) M
j=1 j
⎛ N ⎞
d=⎜
(∑ Δ∅ )
M
j=1 kj
(∑ k )
(9.83)
⎝ 2pN s ⎟⎠ M
j=1 j
M
∑ Δ∅k =
(∑ M
j=1 )(∑ k )
Δ∅k k j
j
M
j=1 j
(9.84)
j=1
j
(∑ k ) M 2
j=1 j
⎛ N ⎞
d=⎜
(∑ Δ∅ k )
M
j=1 kj j
(9.85)
⎝ 2pN s ⎟⎠
(∑ k ) M 2
j=1 j
⎛ 1 ⎞
d=⎜ ⎟
(∑ Δq )M
j=1 kj
(9.86)
⎝ 2p ⎠
(∑ k ) M
j=1 j
or
⎛ 1 ⎞
d=⎜ ⎟
(∑ Δq k )
M
j=1 kj j
(∑ k )
(9.87)
⎝ 2p ⎠ M 2
j=1 j
Example 9.8
Assume that the CFO and SCO are ò = 0.05 and δ = 0.001, respectively. The
joint estimate is applied at SNR = 37.8 dB. Assume also that there is no DC
bias. Because of the SCO, the received samples are actually sampled at nT +
nδ T where n is an integer. These time-shifted samples are obtained through
interpolation. The DFT is then applied to find the phase at each subcarrier
index kj. The phase difference given by (9.52) is subsequently evaluated between
two consecutive segments l and l + 1 where l ranges from 2 to 8. For a short
sequence, there are 12 subcarriers from 1 to 6 and from 10 to 15. Figure 9.9 is
a scatter plot of phase difference against subcarrier index. Also superimposed
on the figure is an ideal curve. From (9.74), it is given as
y = 0.001x + 0.05
where y = (1/2π )Δθ kj and x = kj. It can be seen that the data points are scat-
tered along the straight line of this ideal curve. This also means an average
from all two consecutive segments shall improve the estimate.
Example 9.9
Under the same conditions given in Example 9.8, (9.69) and (9.70) are then
applied to compute the CFO and SCO for the SNR from 7.8 dB to 37.8 dB.
First, they are computed for each two consecutive segments l and l + 1 where
l ranges from 2 to 8. A total of seven such values are generated. The average
CFO and SCO are subsequently computed and plotted in Figures 9.10 and
9.11. Both Figures 9.10 and 9.11 show that the estimate converges to the desired
value as the SNR increases. In Example 9.2, we showed the estimate of the
CFO without the SCO through time-domain analysis. It is clear that the
estimate accuracy of the CFO goes down if there is an SCO. This is because
there are approximations involved during the development of the joint estimate.
Example 9.10
Assume that there is no CFO. Then both (9.86) and (9.87) can be used to
compute the SCO. Figure 9.12 is a plot of both against the SNR. The dark
curve is a plot using (9.86) while the gray curve is a plot using (9.87). All the
other conditions are the same as in previous examples. As can be seen from
the plot, the difference from both computations is small. However, the com-
putation from (9.87) is slightly better.
9.6 IQ Imbalance
As was shown in Section 8.2, the in-phase and quadrature-phase components
need to be extracted by mixing the received signal with two locally generated
sinusoidal signals. Under ideal conditions, these two signals differ in phase
by 90°. In reality, the circuit parts may not be perfect and there are phase and
amplitude disturbances. The IQ imbalance [9−11] refers to the mismatch of
these two LOs.
Because of the mismatch, the channel estimate is no longer accurate
and the system performances can be affected significantly. Using the train-
ing samples in the acquisition mode, the compensation scheme is discussed
in the following sections.
9.6.1 IQ Model
Assume the received complex amplitude to be y(t), the transmitted complex
amplitude to be x(t) and the channel response to be h(t), then the following
equations result from (8.7) to (8.9):
(
r(t) = Re y(t)e j2pf c t ) (9.90)
( ) (
= yI (t)cos 2pf c t − yQ (t)sin 2pf c t )
yI (t) = ∫ x I (t)h(t − t) dt (9.91)
(
l1(t) = 2cos 2pf c t ) (9.93)
(
l2 (t) = −2(1 − e)sin 2pf c t + d ) (9.94)
(
= −2asin 2pf c t + d ) (9.95)
( ( ) ( ) ( ) (
rQ (t) = −2a yI (t)sin 2pf c t + d cos 2pf c t − yQ (t)sin 2pf c t sin 2pf c (t) + d ))
( ( ) ( )
= a − yI (t)sin 4pf c t + d − yI (t)sin(d) − yQ (t)cos 4pf c (t) + d + yQ (t)cos(d) )
(9.97)
⎡ rI (t) ⎤ ⎡ 1 0 ⎤ ⎡ yI (t) ⎤
⎢ r (t) ⎥ = ⎢ −a sin(d) a cos(d) ⎥ ⎢ yQ (t) ⎥ (9.99)
⎣ Q ⎦ ⎣ ⎦⎣ ⎦
Similarly, yI,i can be uncorrelated with yQ,i and the following relation-
ship can be made:
i= L−1
∑ yI ,i yQ ,i = 0 (9.104)
i=0
Both (9.103) and (9.104) will be justified in Example 9.11 using the short
sequence of the IEEE 802.11a.
Substituting (9.103) and (9.104) into (9.102), we have
L−1 i= L−1
∑ rQ2 ,i = a 2 ( sin2 (d) + cos2 (d)) ∑ yI2,i
i=0 i=0
(9.105)
i= L−1
=a 2
∑ yI2,i
i=0
∑ i=0 rQ2 ,i
L−1
a= (9.107)
∑ i=0 rI2,i
L−1
e = 1− a (9.108)
∑ i=0 rQ2 ,i
L−1
= 1− (9.109)
∑ i=0 rI2,i
L−1
where we have used the same approximation given by (9.104). From (9.110)
and (9.100), δ is solved to give
∑ rI ,i rQ ,i P
L−1
∑ rI ,i rQ ,i
L−1
rQ ,i + a sin(d)rI ,i
yQ ,i = (9.114)
a cos(d)
Table 9.7
The 12 Subcarriers of the Short Sequence in the IEEE 802.11a
rQ ,i − Pest rIi
yQ ,i = (9.115)
a 2 − Pest2
Both (9.115) and (9.116) can be used to recover the original in-phase
and quadrature-phase samples.
Example 9.11
There are two major assumptions given in (9.103) and (9.104). Both assump-
tions will be justified using the short sequence of the IEEE 802.11a. There are
12 subcarriers, which are given in Table 9.7.
After performing 16-point IFFT, the time-domain samples are further
divided by 4 for further normalization. The powers of the real part and the
imaginary part are computed to obtain
Table 9.8
The Original and Impaired Short Sequence Subcarriers
YI YQ ZI ZQ
Figure 9.14 The constellation of the original and impaired short sequence.
Example 9.12
Assume that the amplitude imbalance α = 0.9 (ε = 0.1) and the phase imbal-
ance δ = 5° = 0.08727 radian. First, perform the FFT of the short sequence
generated in Example 9.11 and then divide by the normalization factor 1.472
to obtain the original spectrum Yi + jYQ. Next, (9.100) and (9.101) are applied
to generate the time-domain samples with IQ imbalance. The FFT is again
applied to obtain the impaired spectrum Zi + jZQ. Table 9.8 lists all the sub-
carriers after dividing the spectrum by the normalization factor 1.472. As
Table 9.8 shows, the original spectrum has only two different subcarriers. It
is either 1 + j or −1 − j. After the application of IQ imbalance, the impaired
spectrum has now four different subcarriers. They are 0.91 + 0.95j, 0.94 +
0.77j, −1.04 − 1.05j, and −1.06 − 0.87j.
Figure 9.14 is a plot of the constellation of the short sequence with IQ
imbalance. Without IQ imbalance, there are only two spectral points. With
IQ imbalance, there are four modified spectral points. The total number of
unique spectral components then increases from 2 to 4. From Figure 9.14, all
these 6 spectral components are clearly seen. Therefore, the occurrence of IQ
imbalance can cause spectral distortion.
Example 9.13
Example 9.11 shows that both (9.103) and (9.104) are satisfied. This means
that the estimate accuracy does not depend upon the magnitude of the imbal-
ance. Assume first that the amplitude imbalance is fixed at α = 0.9. The phase
angle imbalance δ is allowed to change from 5° to 45° in 5° increments.
The imbalanced samples are generated based upon (9.100) and (9.101). The
amplitude imbalance α is then estimated from (9.107) while the phase angle
imbalance is estimated from (9.111). Short sequence samples from the second
segment to the ninth segment are used for estimation. The total number of
samples is L = 128. The SNR of 37.8 dB, 27.8 dB, and 17.8 dB is used to
obtain the performance in random noise.
Figure 9.15 is a plot of estimated phase angle imbalance against its true
input. It can be seen that the estimate of phase angle imbalance is even better
at larger angles than with smaller angles. The straight-line curve demonstrates
the superiority of the estimate. As the SNR drops, the estimate accuracy also
drops because (9.103) and (9.104) are no longer valid.
Figure 9.16 is a plot of estimated amplitude imbalance in random noise.
The horizontal line shows that the estimated amplitude imbalance is inde-
pendent of the input phase angle imbalance. However, as the SNR drops,
the estimation accuracy also drops but is still not too far away from the true
input of 0.9.
Example 9.14
This example is similar to Example 9.13. However, the input phase angle
imbalance δ is fixed at 5° while the amplitude imbalance α is allowed to
vary. Just as before, the SNRs of 37.8 dB, 27.8 dB, and 17.8 dB are used
to get the performance of the estimation in noise. Figure 9.17 is a plot of
the estimated amplitude imbalance against the input amplitude imbalance.
Again, the straight-line curve shows that the estimate is excellent in noise. As
the SNR drops, the accuracy also drops slightly when the input amplitude
imbalance is large.
Figure 9.18 is a plot of phase angle imbalance against the input ampli-
tude imbalance. The horizontal line shows the estimate is independent of the
magnitude of the input amplitude imbalance. However, as the SNR drops,
the estimate accuracy also drops.
9.7 Summary
Five major synchronization issues in the receiver front end have been analyzed
in detail in this chapter. They are DC offset, CFO, SCO, sampling time offset,
and IQ imbalance.
The DC offset is caused by leakage from the receiver LO to the input of
either the amplifier or mixer. Its appearance can cause a false alarm through
the use of the normalized cross-correlation metric in the signal detection.
However, it can also be easily removed though highpass filtering after the
analog-to-digital conversion.
The CFO can be caused by the relative motion between the transmitter
and the receiver. Using the periodic nature of the preamble signal, this offset
can be estimated through correlation between periodic segments. The estimate
improves through the averaging of estimates from adjacent segments.
The sampling time offset can cause the frame boundary difference
between the transmitted and the received signal. This offset is simply a phase
shift in the frequency domain. The effect is similar to the signal delay in a
multipath channel and can be removed through channel estimate and adap-
tation discussed in the later chapters.
The SCO is caused by the difference in sampling time period between
the transmitter and receiver clocks. The effect can be analyzed through a
joint estimate of both SCO and CFO in the frequency domain from adja-
cent symbols. In the tracking mode or during data transmission, the known
phases of pilot subcarriers are used. In the acquisition modes or during the
preamble transmission, the periodic nature of adjacent segments and the zero
guard period can be used for simplification. The least square optimization is
used to estimate both SCO and CFO since there are more than two pilots in
the tracking mode and in the acquisition mode. Under the special condition
where either SCO or CFO is 0, a much simpler formula was derived.
References
[1] Chiueh, T. -D., P. Y. Tsai, and I. W. Lai, Baseband Receiver Design for Wireless MIMO-
OFDM Communications, New York: Wiley, 2012.
[2] Razavi, B., “Design Considerations for Direct-Conversion Receivers,” IEEE Transactions
on Circuits and Systems, Vol. 44, No. 6, June 1997, pp. 428−435.
[3] Oppenheim, A. V., and R. W. Schafer, Digital Signal Processing, Upper Saddle River,
NJ: Prentice Hall, 1975.
[4] Moose, P. H., “A Technique for Orthogonal Frequency Division Multiplexing Frequency
Offset Correction,” IEEE Transactions on Communications, Vol. 42, No. 10, 1994, pp.
2908−2914.
[5] Morelli, M., and U. Mangali, “An Improved Frequency Offset Estimator for OFDM
Applications,” IEEE Communication Letters, 1999.
[6] Speth, M., F. Classen, and H. Meyer, “Frame Synchronization of OFDM Systems in
Frequency Selective Fading Channels,” 1997 IEEE 47th Vehicular Technology Conference.
Technology in Motion, Vol. 3, pp. 1807−1811.
[7] Speth, M., S. Stefan, and A. Fechtel, “Optimum Receiver Design for Wireless Broad-
Band Systems Using OFDM-Part I,” IEEE Transactions on Communications, Vol. 47,
No. 11, November 1999, pp. 1668−1677.
[8] Liu, S. Y., and J. W. Chong, “A Study of Joint Tracking Algorithms of Carrier Frequency
Offset and Sampling Clock Offset for OFDM-Based WLANs,” IEEE International
Conference on Communications, Circuits and Systems, Vol. 1, June 2002.
[9] Tubbax, J., et al., “Compensation of Transmitter Imbalance for OFDM Systems,” 2004
IEEE International Conference on Acoustics, Speech, and Signal Processing (2004 ICASSP),
Vol. 2, 2004.
[10] Tseng, H. -Y., et al., “Compensation of Imbalance and DC Offset for OFDM
Transmission over Frequency Selective Channels,” 2008 IEEE International Conference
on Communications, 2008.
[11] Held, I., et al., “Low Complexity Digital IQ Imbalance Correction in OFDM WLAN
Receivers,” 2004 IEEE 59th Vehicular Technology Conference, VTC 2004-Spring, Vol.
2, pp. 1172−1176.
10.1 Introduction
In a radio channel, there are normally reflecting objects and scatters in the sig-
nal propagation path. These obstacles include mountains, buildings, and even
the ground. The directly transmitted signal is then reflected. The receiver may
then receive multiple versions of the original signal with a different amplitude,
phase, and arrival time. These multipath signals add together and may cause
significant distortion of the received signal.
For OFDM, the signal bandwidth is normally larger than the coherence
bandwidth of the channel. When this happens, the received signal suffers fre-
quency selective fading. In the time domain, this also means the delay spread
is longer than the reciprocal of the signal bandwidth. This is also why a guard
interval is added after each OFDM symbol to minimize the ISI.
The channel equalization technique for OFDM is quite simplified in the
frequency-selective channel. The channel estimation is normally performed
with the transmission of training symbols before the actual signal transmis-
sion. These training symbols are designed using subcarriers with a known
amplitude and phase to the receiver. Based upon the received amplitude and
phase of each subcarrier, the channel is easily estimated.
After the channel estimation, the original signal can be restored. If
the channel is steady and does not change fast over time, the use of training
195
symbols to aid the channel estimation in the data acquisition mode is normally
enough. However, the channel may not be steady and it is necessary to esti-
mate the channel frequently. The latter is done by inserting pilot subcarriers
besides the data subcarriers to aid in the estimation.
If the channel varies fast, it can also be tracked for each received data
symbol. Based upon the estimation error and the received signal, the chan-
nel at each data subcarrier is tracked using the method of steep descent. For
OFDM, only one tap is necessary and the process is also greatly simplified.
In the following sections, the possible pilot structures are introduced
first. For each pilot structure, the channel estimation is presented. After that,
the tracking algorithm is analyzed. The simulation examples are also given to
understand the effectiveness of each algorithm.
per symbol, and M is the data symbol count between pilot symbols, then the
data transmission rate R is given here:
MN bpsc N sdC
R= (10.1)
(
(M + 1) Tg + Ts )
where C is the coding rate. If there is no pilot transmission, then the follow-
ing equation results in:
N bpsc N sdC
R= (10.2)
(Tg + Ts )
Example 10.1
Assume that the modulation is QPSK and the channel spacing is 20 MHz.
From Table 3.1, Tg = 0.8 μs, Ts = 3.2 μs, Nbpsc = 2, Nsd = 48, and C = 1/2 for
the convolutional code. If there is no pilot transmission, the data rate is then
2 ∗ 48 ∗ 0.5
R= = 12 Mbps
3.2 + 0.8
Assuming that now that one pilot symbol is sent every 4 data symbols,
then the new data rate becomes
4 ∗ 2 ∗ 48 ∗ 0.5
R= = 9.6 Mbps
5∗ 4
With the transmission of a pilot symbol after 4 data symbols, the data
rate then reduces from 12 Mbps to 9.6 Mbps.
During the time between pilot transmissions, the existing channel esti-
mation is used. Therefore, the block-type pilot pattern is normally used when
the channel is not fast varying. However, it can still be slightly updated through
tracking as will be discussed later.
Since the channel is estimated at each data symbol, this type of pilot
pattern is suitable for a fast varying channel. If the number of pilot carriers is
not large enough, the accuracy of channel estimation at data subcarriers will
suffer. The IEEE 802.11a specifies four subcarriers as pilot signals. They can
be used for frequency offset and sampling clock offset estimation as discussed
in Chapter 9. If necessary, they can also be used for channel estimation.
The second term of (10.6) is simply Wk representing the kth noise sample
in the frequency domain. Assuming that the frequency response of the channel
is given by Hk, then it is related to hn by the following inverse Fourier transform
N −1
1
hi =
N ∑ H l e j2pli/N (10.7)
l =0
However, the summation inside the bracket of (10.9) has the follow-
ing relationship:
{
N −1
N for r = jN , j an integer
∑ e − j2prk/N = 0 otherwise
(10.10)
k=0
Equation (10.11) says that the discrete Fourier transform of the received
samples is the addition of noise spectrum and the product of the transmitted
data spectrum and channel spectrum. This relationship is true for every sub-
carrier index k. From (10.11), the channel response is given here:
Y!k
Hk = where Y!k = Yk − Wk (10.12a)
Xk
Yk
Xk = (10.13)
Hk
H (k) =
( k − k1 ) H ( k ) + k − k0 H ( k ) (10.14)
( k0 − k1 ) 0 ( k1 − k0 ) 1
where k 0 and k1 are the two pilot subcarriers indexes and k is the data subcar-
rier index to be interpolated. The function values H(k 0) and H(k1) are channel
responses at the pilot subcarrier index k 0 and k1. From (10.14), it is clear H(k)
= H(k 0) when k = k 0 and H(k) = H(k1) when k = k1.
k1 = k0 + D (10.16)
( )
H (k) = (1 − m)H k0 + mH ( k1 ) (10.17a)
k = k0 + mD (10.17b)
H (k) =
( k − k1 )( k − k2 ) H ( k )
( k0 − k1 )( k0 − k2 ) 0
(10.18)
+
( k − k0 )( k − k2 ) H ( k ) + ( k − k0 )( k − k1 ) H ( k )
( k1 − k0 )( k1 − k2 ) 1 ( k2 − k0 )( k2 − k1 ) 2
Let the distance between consecutive data points be a constant such that
km+1 − km = D for m = 0, 1. Then we have the following:
k = k0 + mD (10.19)
k1 = k0 + D (10.20)
k2 = k0 + 2D (10.21)
( m − 1)( m − 2 ) H
H (k) =
2
( k0 ) + m(2 − m)H ( k1 ) + m(m2− 1) H ( k2 ) (10.22a)
k = k0 + mD (10.22b)
( k − k1 )( k − k2 )( k − k3 ) H k + ( k − k0 )( k − k2 )( k − k3 ) H k
H (k) = ( ) ( )
( k0 − k1 )( k0 − k2 )( k0 − k3 ) 0 ( k1 − k0 )( k1 − k2 )( k1 − k3 ) 1
( k − k0 )( k − k1 )( k − k3 ) H k + ( k − k0 )( k − k1 )( k − k2 ) H k
( k2 − k0 )( k2 − k1 )( k2 − k3 ) 2 ( k3 − k0 )( k3 − k1 )( k3 − k2 ) ( 3 )
+ ( )
(10.23)
k0 = k1 − D (10.25)
k2 = k1 + D (10.26)
k3 = k1 + 2D (10.27)
( )
H (k) = C0 H k0 + C1H ( k1 ) + C2 H ( k2 ) + C3 H k3( ) (10.28a)
k = k1 + mD (10.28b)
m(m − 1)(m − 2)
C0 = − (10.29a)
6
C1 =
( m2 − 1)(m − 2) (10.29b)
2
m(m + 1)(m − 2)
C2 = − (10.29c)
2
m ( m2 − 1)
C3 = (10.29d)
6
The choice of linear, parabolic, or cubic interpolation will certainly
affect interpolation accuracy. There are also three other factors that will have
significant impact on the accuracy. The first is the number of pilot subcarriers
available for interpolation. The second is the degree of channel spectral varia-
tions. If the channel frequency response has too many spectral cycles, then
more pilot subcarriers are needed for interpolation. The last is the effects due
to random noise. The dependence of interpolation accuracy on all of these
factors is illustrated in the following examples.
Example 10.2
To illustrate the dependence of interpolation accuracy on the number of pilot
subcarriers, channel spectral variations, and the interpolation method, a simple
multipath model is used. Assume that the receiver receives signals from two
major paths. One is the main signal xn and the other is the reflected signal
bxn-m where b is the reflected amplitude and m is the sample delay. The received
signal yn is then the sum of these two signals:
yn = xn + bxn−m (10.30)
H k = 1 + be − j2pmk/N
(10.32)
⎛ ⎛ 2pmk ⎞ ⎞ ⎛ 2pmk ⎞
= ⎜ 1 + bcos ⎜ ⎟ − jbsin ⎜
⎝ ⎝ N ⎠⎠ ⎟ ⎝ N ⎟⎠
The real part Hkr and the imaginary part Hki of Hk are then written below:
⎛ 2pmk ⎞
H kr = 1 + bcos ⎜ (10.33)
⎝ N ⎟⎠
⎛ 2pmk ⎞
−H ki = bsin ⎜ (10.34)
⎝ N ⎟⎠
In this example, the channel frequency response is a sine wave. The period
is obtained by setting the cos argument to 2π . We then have
N
Period = (10.35)
m
Example 10.3
In this example, we illustrate how the number of pilot subcarriers may affect
the interpolation accuracy. Parabolic interpolation is used and the number of
pilot subcarriers is 8, 16, and 32. However, the total number of subcarriers is
set to 64. Assuming that m = 3, N = 64, and b = 0.9, Figures 10.3, 10.4, and
10.5 are the plots of both the original Hkr and −Hki/b and their interpolation
against the subcarrier index k.
Example 10.4
In this example, we show how the interpolation method affects the inter-
polation accuracy. When the number of pilot subcarriers is insufficient, the
interpolation cannot have a good match to the original. Under this condition,
the interpolation method really does not matter. It is not surprising that the
linear interpolation may even be better than the higher-order interpolation.
If there are a sufficient number of pilot subcarriers that exist, then the higher-
order interpolation shows some advantage in exchange for more computation
time. However, if there are more than enough pilot carriers, then even linear
interpolation can work well.
Figure 10.6 shows the linear interpolation using 16 pilot subcarriers
and m = 3. The interpolation is not that bad. However, it is certainly not as
good as the parabolic interpolation shown in Figure 10.4. Figure 10.7 shows
linear interpolation using 32 pilot subcarriers and m = 3. The interpolation
also has a fairly close match with the original. This also suggests that a lower-
order interpolation is acceptable when more than enough numbers of pilot
subcarriers exist.
Example 10.5
In this example we show how the delay may affect the interpolation. If the
delay decreases, the spectral period increases. Then the number of pilot sub-
carriers required also decreases. Figure 10.8 shows the parabolic interpolation
with the delay reduced to m = 1 and the number of pilot subcarriers used is
8. In this case, there is only one spectral cycle and the match is much better
than that given in Figure 10.3.
Figure 10.9 is another plot with the number of subcarriers reduced to
four. The pilot subcarriers selected are at k = 7, 23, 39, and 55. Because of
the lack of pilot subcarriers near the beginning and end of the symbol, the
match is not good there. However, the overall match is not bad. This is also
the early statement that a minimum of 4 pilot subcarriers are required for
each spectral cycle.
Example 10.6
In this example, the effects of random noise on the accuracy of parabolic inter-
polation are investigated. Four different numbers of subcarriers are considered
Figure 10.8 Parabolic interpolation with delay = 1 sample and 8 pilot subcarriers.
Figure 10.9 Parabolic interpolation with delay = 1 sample and 4 pilot subcarriers.
and they are M = 4, 8, 16, and 32. The channel parameters used are the same
as previous examples. They are m = 3, N = 64, and b = 0.9. For simplicity,
assuming that Xk = 1, then Yk = Hk. To compute SNR, the signal amplitude
is then the same as the channel amplitude. Both the channel amplitude and
noise amplitude at these pilot subcarriers can be averaged. The SNR in decibels
is then computed based upon these average values.
Assume that Hkr and Hki represent the true channel response at subcarrier
k. Assume that also H! and H ! represent the estimated channel response at
kr kı
subcarrier k. Then the average deviation δ per subcarrier is computed as follows:
63
⎛ 1⎞
∑ ⎡⎣⎢( H kr − H!kr ) + ( H ki − H!kı ) ⎤⎦⎥
2 2
d=⎜ ⎟ (10.36)
⎝ 8⎠ k=0
d
e= (10.37)
H peak
Figure 10.10 The deviation percentage of channel estimation against the SNR and the
number of pilot subcarriers.
Since Yk is not 0, the only way for the left side of (10.39) to be 0 is to set
ε k to 0. After doing that in (10.38), the Gk is solved to give
Xk
Gk = (10.40)
Yk
G j+1,k = G j ,k + m∇ ⎛ e j ,k ⎞
2
(10.41)
⎝ ⎠
where
Gj,k: weight vector at the current or the jth iteration;
Gj+1,k: the weight vector at the next or the j + 1th iteration;
∇(⎪ε j,k⎪2): the gradient or partial derivative of the error ⎪ε j,k⎪2 against
Gj,k;
μ : a scalar constant that controls the rate of convergence;
ε j,k: error between the estimation Gj,kYk and the reference Xk.
Substituting (10.39) into (10.41), we have
The adaptation index j can also be considered as the jth received OFDM
symbol. Equation (10.42) shows the adaptation depends upon the estimation
error and the received subcarrier Yk∗.
(
G j+1,k = G j ,k − 2m X k − G j ,kYk Yk∗ ) (10.43)
(
= G j ,k 1 + 2m Yk
2
) − 2mX Y k k
∗ (10.44)
( ) ( )(
E G j+1,k = E G j ,k 1 + 2m Yk
2
) − 2mX Y k k
∗ (10.45)
( ) ( )(
E G1,k = E G0,k 1 + 2m Yk
2
) − 2mX Y k k
∗ (10.46)
( ) ( )(
E G2,k = E G0,k 1 + 2m Yk
2 2
) − 2mX Y k k
∗
− 2mX kYk∗ 1 + 2m Yk ( 2
) (10.47)
( ) ( )(
E G3,k = E G0,k 1 + 2m Yk ) − 2mX Y
2 3
k k
∗
− 2mX kYk∗ 1 + 2m Yk ( 2
)
(10.48)
− 2mX kYk∗ (1 + 2m Y )
k
2 2
Repeating the process given in (10.46), (10.47), and (10.48), we have for
the n + 1th iteration,
( )( ) ( )
n
( )
E Gn+1,k = E G0,k 1 + 2m Yk
2 n+1
− ∑ 2mX kYk∗ 1 + 2m Yk
2 i
(10.49)
i=0
( ) ( )
∞ ∞
2 i 2 i
∑2mX kYk∗ 1 + 2m Yk = 2mX kYk∗ ∑ 1 + 2m Yk
i=0 i=0
(10.50)
2mX kYk∗ X
= 2 =− k
−2m Yk Yk
Equation (10.53) is the same as (10.40). This shows that the gain adapta-
tion given by (10.42) converges to the exact or Wiener-Hopf equation given
by (10.40).
Equation (10.53) is important in the sense that the ideal solution can be
reached by simply performing the adaptation given by (10.42) as long as μ is
chosen to satisfy (10.52). The error ε j,k given by (10.38) requires the knowledge
of the reference Xk which is unknown. However, it can be estimated from
the previous (j − 1)th iteration. Based upon this estimation, the gain can be
estimated in the next iteration.
The adaptation speed depends upon the coefficient μ . If it is too small,
it may take a long time to converge. If it is too large, it may not converge at
all. One way to choose the adaptation coefficient μ is in the following:
−a
m= 2
(10.54)
Yk,max
where Yk,max is the maximum of the kth subcarrier. Substituting (10.54) into
(10.52), we have
2
Yk,max
0<a< 2
(10.55)
Yk
10.4.3 Examples
In the following examples, we concentrate on a single subcarrier k using
QPSK. Assume the multipath channel is given by (10.33) and (10.34). From
the training sequence, the initial gain G is then given here:
Xk 1 H − jH ki
Gk = = = kr2 (10.56)
Yk H kr + jH ki H kr + H ki2
Example 10.7
Let k = 24, b = 0.9, N = 64, and m = 3, and then from (10.33) and (10.34) we
can set some initial values given in (10.57a) to (10.57d):
X 24 = 0.707(1 + j) (10.57a)
If the channel does not change, the G24 given by (10.57d) can be used
to achieve a perfect demodulation. Assume now that b drops to 0.8 and is
maintained for at least 20 symbol periods. Since H24 is changed, the gain
G24 is also changed. If the gain is not updated, an error always occurs and
cannot be removed.
Assume now that the gain is updated according to (10.42). Depending
upon the selection of α , there is a different convergence behavior. Figure 10.11
is a plot of the error magnitude ⎪ε k⎪ given in (10.38) against the iteration
number. The plot starts at iteration 1 when b drops to 0.8.
Depending upon the adaptation and α , there are four different curves. If
there is no adaptation, the error remains the same and can never be reduced.
For both α = 0.1 and 0.5, the adaptation converges. However, the conver-
gence speed at α = 0.5 is much faster than at α = 0.1. For α = 0.1, the error is
close to 0 at the end of iteration. For α = 0.5, the error is exactly 0 at iteration
number 5. It has to be careful to continue increasing α . When α is increased
to 1.1, the error continues increasing because the convergence condition given
by (10.55) is not satisfied.
Figure 10.11 The demodulation error against the iteration number without fading.
Example 10.8
In this example, the fading factor b is assumed to drop from 0.9 to 0.8 in 20
steps. In other words, b drops according to the following formula:
b = 0.9 − 0.005n (10.58)
where n is the iteration number. Besides the change of b values, all the other
conditions follow the same as given in Example 10.6. At b = 0.9, all the initial
parameter values are given in (10.57).
Figure 10.12 is a plot of the error magnitude ⎪ε k⎪ against the iteration
number. There are four curves. One is without adaptation. The other three
curves have α = 0.1, 0.5, and 1.12. The error magnitude is the same at iteration
number 1 for all. This is because at iteration number 0, the error magnitude is
zero. Without adaptation, the error continues increasing with increasing itera-
tion number. With adaptation, the error depends upon the choice of α . The
error does not go to 0 because the channel frequency response changes due
to the b variations at every iteration number. For α = 0.5, the error is better
than that for α = 0.2. At α = 1.12, the error is small initially and diverges
eventually, because the convergence condition given by (10.55) is not satisfied.
Figure 10.12 The error magnitude against iteration number with fading.
10.5 Summary
Two pilot patterns were used to estimate the channel. One is the block type
and the other is the comb type. The pilot patterns are usually given in a time-
frequency diagram.
For the block-type pattern, the pilot subcarriers are periodically inserted
at all subcarriers. This type is used when the channel variation is slow. At the
insertion symbol time, there are no data subcarriers. Therefore, the channel
is accurately estimated at all subcarriers. Since the transmission of the pilot
symbol is an overhead, the price paid is a reduction in the data rate.
For the comb-type pattern, the pilots are sent all the time but only a
finite number of subcarriers are dedicated to be pilots. This type is used when
the channel is fast varying. Even though the channel at the pilot subcarri-
ers can be exactly determined, the channel at the data subcarriers has to be
estimated through interpolation. Lagrange interpolation using polynomials
is used. Depending upon the interpolation order, linear, parabolic, and cubic
interpolation formulas were derived. The interpolation accuracy depends upon
the sample delay, interpolation order, the number of pilot subcarriers, and
random noise. Clearly, the interpolation accuracy increases with an increasing
number of available pilot subcarriers. Since the number of pilot subcarriers is
limited and there is uncertainty on the sample delay, the interpolation may
not generate a good channel estimate.
The channel tracking provides an alternative to comb pilot pattern. The
LMS algorithm uses a gradient search to adaptively adjust the channel response.
The channel at every data subcarrier can be independently tracked and only
one tap is necessary. The tracking depends upon the received subcarrier samples
and the mean-square error between the information sequence and its estimate.
As long as the adaptation coefficient is selected to meet the convergence con-
dition, the channel estimation error is significantly reduced in comparison to
without any tracking. Another advantage is adaptive channel tracking does
not need pilot subcarriers, and the data rate will not additionally suffer.
The next chapter concentrates on the decoding process. Both hard deci-
sion decoding and soft decision decoding are discussed.
References
[1] Chiueh, T.-D., P. Y. Tsai, and I. W. Lai, Baseband Receiver Design for Wireless MIMO-
OFDM Communications, New York: Wiley, 2012.
[2] Rinne, J., and M. Renfors, “Pilot Spacing in Orthogonal Frequency Division
Multiplexing Systems on Practical Channels,” IEEE Transactions on Consumer
Electronics, Vol. 42, No. 4, 1996, pp. 959−962.
[3] Hsieh, M. H., and C. H. Wei, “Channel Estimation for OFDM Systems Based upon
Comb-Type Pilot Arrangement in Frequency Selective Fading Channels,” IEEE
Transactions on Consumer Electronics, Vol. 44, No. 1, 1998, pp. 217−225.
[4] Eurp, L., F. M. Gardner, and R. A. Harris, “Interpolation in Digital Modems, Part II,
Implementation and Performance,” IEEE Transactions on Communications, Vol. 41,
No. 6, 1993, pp. 998−1008.
[5] Proakis, J. G., Digital Communications, New York: McGraw-Hill, 1983.
[6] Widrow, B., et al., “Adaptive Antenna Systems,” IEEE Proceedings, Vol. 55, No. 12,
1967, pp. 2143−2159.
11.1 Introduction
In previous chapters, we have discussed signal detection, synchronization,
channel estimation, and tracking. After the completion of those steps, each
OFDM symbol should be correctly identified. The next step is the demodu-
lation after channel removal to recover the in-phase and quadrature-phase
samples for each subcarrier. These IQ samples are then demapped. Both hard
decision decoding and soft decision decoding are covered.
For the hard decision decoding, both a brute-force approach and a sim-
plified approach are discussed. The brute-force approach has to compute all
the Euclidean distances against all the constellation points. For the simplified
approach, each bit is determined individually based upon a simple metric for
the I bits and Q bits. After demapping and subsequent deinterleaving, Viterbi
decoding follows and the distance metric is based upon computing the Ham-
ming distance. The Viterbi decoder output is then descrambled to recover the
data bit sequence.
For the soft decision decoding, the IQ samples are used together with
Viterbi decoding for demapping and error correction. The difference from the
hard decision decoding is that the distance metric is based upon computing
the Euclidean distance in each branch of the Viterbi decoder. A simplified log
likelihood ratio (LLR) for soft decoding is also discussed. The transmitter and
221
receiver block diagrams are also slightly modified for the purpose of discuss-
ing soft decision decoding.
Both hard decision decoding and soft decision decoding are discussed
in the following sections.
11.2 Demodulation
Figure 4.13 shows a typical receiver block diagram. After ADC and cyclic
prefix removal, the FFT is performed to transform the samples from the time
domain to the frequency domain. The channel effects can then be removed
using the techniques discussed in Chapter 10. After the in-phase I samples
and quadrature-phase Q samples are recovered, the next step is demodulation.
On demodulation, there are two different ways data can be decoded.
One is hard decision decoding and the other is soft decision decoding. In the
hard decision decoding, the I and Q samples are first demapped before pass-
ing to the convolutional decoder. The Hamming distance is used to find the
right path through the trellis diagram to correct errors. In the soft decision
decoding, the I and Q samples are not demapped initially. They are used to
compute the Euclidean distance in the Viterbi decoder to find the right path
for error correction. Since the I and Q samples have a range of possible val-
ues, more information is carried. This additional information provides the
improved error correction capability of the Viterbi decoder.
Both hard decision and soft decision decoding are covered in the fol-
lowing sections.
where Y I,k and YQ,k represent the in-phase and quadrature-phase sample of the
kth subcarrier. Let Hk represent the channel estimation of the kth subcarrier.
After removing the channel degradation, the restored subcarrier Zk is then
given according to (10.13):
Yk
Zk = (11.2)
Hk
Assume also that there are M constellation points for a given modula-
tion. Let the ith constellation point be given as
AI ,i + jAQ ,i
Ai =
N
⎢ I ,k I ,i Q ,k
=⎣ 2
⎦
N
( ) + ( NZ )
2 2
Di = NZ I ,k − AI ,i Q ,k
− AQ ,i
(11.4)
Example 11.1
Figure 11.1 shows the constellation of a QPSK modulation. The normalization
factor is N = 2 . The four constellation points are then A1 = (1 + j)/ 2 , A2
= (1 − j)/ 2 , A3 = (−1 + j)/ 2 , and A4 = (−1 − j)/ 2 . The coordinates of the
constellation points are plotted as NAi. Assume that the received kth subcar-
rier after removing the channel frequency response is Zk = (0.8/ 2 )(1 + j).
From (11.4), the decision metric is then the distance from 0.8 + 0.8j to 1 + j,
1 − j, −1 + j, and −1 − j. They are given by D1 = 0.08, D2 = 3.28, D3 = 3.28,
U Q ,k = NZ Q ,k (11.6)
( ) + (U )
2 2
Di = U I ,k − AI ,i Q ,k
− AQ ,i (11.7)
( ) + (U )
2 2
D = U I ,k − AI Q ,k
− AQ
(11.8)
= DI + DQ
( )
2
DI = U I ,k − AI (11.9)
( )
2
DQ = U Q ,k − AQ (11.10)
(U ) ( )
2 2
I ,k
− 1 < U I ,k + 1 (11.11)
From (11.11), we have UI,k > 0 if the first bit is 1 and UI,k < 0 if the first
bit is 0. This quantitatively justifies the previous argument.
(U ) ( )
2 2
Q ,k
− 1 < U Q ,k + 1 (11.12)
From (11.12), we similarly have UQ,k > 0 if the first bit is 1 and UQ,k < 0
if the first bit is 0.
In summary, the decision rule is given here:
⎧ 1 if U I ,k > 0
bI ,1 = ⎨ (11.13a)
0 if U I ,k < 0
⎩
⎧⎪ 1 if U Q ,k > 0
bQ ,1 = ⎨ (11.13b)
⎪⎩ 0 if U Q ,k < 0
Example 11.2
In Example 11.1, the received kth subcarrier is Zk = (0.8/ 2 )(1 + j). Multiplying
by the normalization factor 2 , we have Uk = (0.8)(1 + j). The in-phase and
quadrature-phase components are then UI,k = 0.8 and UQ,k = 0.8. From (11.13),
the bits are decoded as bI,1 = 1 and bQ,1 = 1. The sequence of 2 bits is then 11.
Equation (11.13) shows that the computation of Euclidean distance is
completely removed. A simple comparison of the in-phase and quadrature-
phase component against 0 determines the baud bits.
(U ) ( )
2 2
I ,k
− 3 < U I ,k − 1 (11.14)
After some simple algebra, (11.14) leads to the condition UI,k > 2. Simi-
larly, constellation point 1 is chosen if UI,k < 2.
In the partition R 0I,1, there are also two constellation points −1 and −3.
The constellation point −3 is chosen if the following is true:
(U ) ( )
2 2
I ,k
+ 3 < U I ,k + 1 (11.15)
Equation (11.15) leads to the condition UI,k < −2. Similarly, the condi-
tion becomes UI,k > −2 if the constellation point −1 is chosen.
For UI,k > 2, the constellation point in partition R1I,1 is 3 and the closest
constellation point in partition R 0I,1 is −1. Therefore, bI,1 = 1 if the following
is true:
(U ) ( )
2 2
I ,k
− 3 < U I ,k + 1 or U I ,k > 1 (11.16)
( ) ( )
2 2
U I ,k < −2 and bI ,1 = 0 if U I ,k + 3 < U I ,k − 1 or U I ,k < −1 (11.17)
( ) ( )
2 2
U I ,k < 2 and bI ,1 = 1 if U I ,k − 1 < U I ,k + 1 or U I ,k > 0 (11.18)
(11.19)
From (11.16) to (11.19), bI,1 is decoded based upon the following criteria:
U I ,k − 1 U I ,k > 2 (11.20a)
U I ,k U I ,k < 2 (11.20b)
U I ,k + 1 U I ,k < −2 (11.20c)
For each criterion, the first term determines whether the bit is 1 or 0.
For example, the first criterion is to set bI,1 = 1 for UI,k − 1 > 0 and bI,1 = 0 for
UI,k − 1 < 0 under the condition of UI,k > 2.
Figure 11.3 shows the partitions of the second in-phase bit bI,2. The two
vertical lines y1 and y2 generate three partitions. The partition R 0I,2 is to the
left of y1 and to the right of y2 while the partition R1I,2 is between y1 and y2.
The constellation point is 3 if the partition R 0I,2 is to the right of y2 and −3 if
the partition R 0I,2 is to the left of y1.
For constellation R1I,2, there are two possible constellation points −1 and
1 on the x-axis. To choose 1 as the constellation point, the following inequal-
ity must be satisfied:
(U ) ( )
2 2
I ,k
− 1 < U I ,k + 1 or U I ,k > 0 (11.21)
(U ) ( )
2 2
I ,k
− 3 < U I ,k − 1 or − U I ,k + 2 < 0 for U I ,k > 0 (11.22a)
(U ) ( )
2 2
I ,k
+ 3 < U I ,k + 1 or U I ,k + 2 < 0 for U I ,k < 0 (11.22b)
(U ) ( )
2 2
I ,k
− 1 < U I ,k − 3 or − U I ,k + 2 > 0 for U I ,k > 0 (11.23a)
(U ) ( )
2 2
I ,k
+ 1 < U I ,k + 3 or U I ,k + 2 > 0 for U I ,k < 0 (11.23b)
Equations (11.22) and (11.23) can be combined to have the simple cri-
terion −⎪UI,k⎪ + 2. The interpretation is then bI,2 = 1 if −⎪UI,k⎪ + 2 > 0 and
bI,2 = 0 if −⎪UI,k⎪ + 2 < 0.
Equation (11.20) can be further simplified. For criterion (1), UI,k − 1 is
always greater than 0 if UI,k > 2. Therefore, the criterion is similar to bI,1 = 1
for UI,k > 0. Similarly, for criterion (3), UI,k + 1 is always less than zero if UI,k
< −2. The criterion is then the same as bI,1 = 0 for UI,k < 0. Based upon these
arguments, (11.20) and (11.23) can be combined to give the following criteria:
bI ,1: U I ,k (11.24a)
bI ,2 : − U I ,k + 2 (11.24b)
bQ ,2 : − U Q ,k + 2 (11.25b)
Example 11.3
Assume 16-QAM and the received kth subcarrier is Zk = (−0.5 + 3j)/ 10
. The normalization factor is 10 . After multiplying by 10 , the received
Zk = (−0.5 + 3j). Using the brute-force approach, it is necessary to compute
16 Euclidean distances. Figure 11.4 is a plot of these 16 Euclidean distances
against the decimal equivalent of the bit sequence. The minimum is 0.25 cor-
responding to the decimal number 6. The bit sequence is then 0110. The two
in-phase bits are 01 and the two quadrature-phase bits are 10.
Equation (11.24) and (11.25) can be used to quickly get the same answer.
The in-phase and quadrature-phase components are UI,k = −0.5 and UQ,k = 3.
To decode the in-phase bits, we have from (11.24), UI,k < 0 while −⎪UI,k⎪ + 2
= 1.5 > 0. The two in-phase bits are then 01. To decode the two quadrature-
phase bits, we have from (11.25), UQ,k > 0 while −⎪UQ,k⎪ + 2 = −1 < 0. The
two quadrature-phase bits are then 10. The whole bit sequence is then 0110,
which is the same as that from the brute-force computation.
Figure 11.4 Plot of Euclidean distances for QAM-16 and Uk = −0.5 + 3j.
bI ,1: (1) U I ,k U I ,k ≤ 2
(2) U I ,k − 1 2 < U I ,k ≤ 4
(3) U I ,k − 2 4 < U I ,k ≤ 6
(4) U I ,k − 3 U I ,k > 6 (11.26)
(5) U I ,k + 1 −4 ≤ U I ,k < −2
(6) U I ,k + 2 −6 ≤ U I ,k < −4
(7) U I ,k + 3 U I ,k < −6
bI ,2 : (1) − U I ,k + 3 U I ,k ≤ 2
(3) − U I ,k + 5 U I ,k > 6
bI ,3 : (1) U I ,k − 2 U I ,k ≤ 4
(11.28)
(2) − U I ,k + 6 U I ,k > 4
Equation (11.26) can be further simplified. Criteria (2), (3), and (4) are
always positive under the specified positive values of UI,k. This is the same
as bI,1 = 1 for UI,k > 0. Similarly, criteria (5), (6), and (7) are always negative
under the specified negative values of UI,k. Again, this is the same as bI,1 = 0
for UI,k < 0. Criterion (1) also suggests bI,1 = 1 for UI,k > 0 and bI,1 = 0 for UI,k
< 0. In other words, bI,1 is completely determined by UI,k.
Equation (11.27) can also be further simplified. Criterion (1) is always
positive for ⎪UI,k⎪ ≤ 2. Criterion (3) always generates negative values for ⎪UI,k⎪
> 6. Both are either always positive or always negative under the second cri-
terion. In other words, bI,2 is completely determined by 4 − ⎪UI,k⎪ without
any conditions.
Equation (11.28) shows that there are two criteria to specify bI,3 under
two separate conditions. These two criteria can be replaced by a single criterion
−⎥⎪UI,k⎪ − 4⎪ + 2 without any attached conditions [1]. By tracing through
all possible values of UI,k, it can be seen that this single criterion is equivalent
to (11.28).
bI ,3 : − U I ,k − 4 + 2
bQ ,2 : 4 − U Q ,k (11.30)
bQ ,3 : − U Q ,k − 4 + 2
Example 11.4
Assume the modulation is 64-QAM and the received Zk = (1.5 + j)/ 42 . The
normalization factor is 42 . Multiplying by 42 , we have Uk = 1.5 + j. Figure
11.5 is a plot of Euclidean distance against all 64 possible bit sequences. The
minimum is 54 and the corresponding bit sequence is 110110.
11.3.4 Descrambler
The last step in the decoding process is to pass the corrected bit sequence from
the Viterbi decoder to a descrambler to recover the data bits. The scrambler
in the transmitter is necessary for data security. The scrambler using the shift
register sequence is discussed in Chapter 5.
Since the receiver knows exactly how the data is scrambled in the trans-
mitter, the descrambling process is pretty easy and is illustrated in Figure 5.7.
correction encoder and interleaver are replaced by the outer encoder, inter-
leaver, and convolutional encoder. The outer encoder could be a Reed-Solomon
encoder, which can be applied to reduce block errors [2, 3]. However, it can
be another error correction encoder depending on the specific application. For
example, the outer encoder could be a quaternary convolutional encoder [4].
The output from the outer encoder then passes through an interleaver and then
a convolutional encoder before getting into the modulation process. After the
modulator, it follows what is given in Figure 4.1.
A typical receiver block diagram is shown in Figure 11.7. In compar-
ing with Figure 4.13, the demodulation, deinterleaver, and error correction
decoder are replaced by Viterbi decoder, deinterleaver, and outer decoder. After
the channel effects are removed, the I and Q samples have a range of values
and include valuable information. They will not be demapped immediately.
Instead, they will be used in combination with a Viterbi decoder to generate
the bit sequence.
The output from the Viterbi decoder then goes through deinterleaver
and outer decoder before getting into the descrambler to recover the data
bit sequence.
( I − BI )2 + ( Q − BQ )
2
D= (11.31a)
D = I − BI + Q − BQ (11.31b)
⎛ y ⎞ ⎛ y ⎞
p⎜ 1 ⎟ > p⎜ 0 ⎟ (11.32)
⎝ RI , j ⎠ ⎝ RI , j ⎠
⎡ ( y−a)2 ⎤ ⎡ ( y−b)2 ⎤
1 ⎢− 2s 2 ⎥⎦ 1 ⎢− 2s 2 ⎥⎦
e⎣ > e⎣ (11.33)
2ps 2ps
Comparing the Euclidean distance given in (11.34) is the basis for the
discussion of the hard decision decoding presented in Section 11.3. However,
it is actually derived from the LLR.
Based upon the LLR, the soft bit values are defined for QPSK in (11.13),
for 16-QAM in (11.24) and (11.25) and for 64-QAM in (11.29) and (11.30).
It has been shown these soft bit values can be applied for soft Viterbi decod-
ing successfully [1].
11.5 Summary
The data demodulation starts after the receiver has completed the process of
IQ recovery, synchronization and frequency offset estimation. There are two
different ways for data demodulation. One is hard decision decoding and the
other is soft decision decoding.
On the hard decision decoding, the received I and Q samples have to
be demapped first. There are two different approaches. One is the brute-force
approach by finding the minimum Euclidean distance against all the constel-
lation points. The other is a simplified approach by decoding a single bit each
time based upon it is I bits or Q bits. The decision rules for QPSK, 16-QAM,
and 64-QAM are derived. This greatly simplifies the required computations
and speeds up the demodulation process. After the demapping is complete,
the transmitted bit stream is recovered after additionally going through the
process of deinterleaving, FEC decoding, and descrambling.
On the soft decision decoding, the transmitter and receiver block dia-
grams are slightly modified and discussed. The soft Viterbi decoding is then
described. The I and Q samples are demapped in combination with the Viterbi
decoding. The difference from the hard Viterbi decoding is the computation
of distance metric. The soft decision uses Euclidean distance while the hard
decision uses the Hamming distance.
The soft bit values given in the hard decision for the simplified demodu-
lation are derived from the LLR by comparing two different decision regions
for bit 1 and bit 0. These LLR values can be applied successfully to the soft
Viterbi decoding. Following Figure 11.7, the input data bit sequence can
eventually be recovered.
The next chapter presents the simulation results of the OFDM perfor-
mance in a multipath channel.
References
[1] Tosato, F., and P. Bisaglia, “Simplified Soft-Output Demapper for Binary Interleaved
COFDM with Application to HIPPERLAN/2,” Proceedings of IEEE International
Conference on Communications, 2002, pp. 664−668.
[2] Lin, S., and D. Costello, Error Control Coding, Upper Saddle River, NJ: Prentice Hall,
1983.
[3] Peterson, W. W., and E. J. Weldon, Error Correcting Codes, Cambridge, MA: MIT
Press, 1972.
[4] Singh, M., and I. Wassell, “Comparison Between Soft and Hard Decision Decoding
Using Quaternary Convolutional Encoders and the Decomposed CPM Model,” IEEE
VTS 53rd Vehicular Technology Conference, Vol. 2, 2001, pp. 1347−1351.
12.1 Introduction
Up to this point, all the major components in the transmitter and the receiver
have been presented. They were provided in Figures 4.1 and 4.13 for the trans-
mitter and receiver block diagrams. The complete system is then simulated to
find out the effectiveness of the OFDM to combat the impact of a multipath
channel and random Gaussian noise.
Both the transmitter and receiver software were written in C language
running on a laptop. The Ubuntu Linux operating system was used to gener-
ate the results. However, the commands and operations are not different from
the Linux operating system.
The transmitter waveform follows exactly what was specified in the IEEE
802.11a. The receiver algorithms have been discussed in the previous chapters.
Another goal for the simulation is to justify these algorithms. On the Vit-
erbi decoding, only hard decision decoding is used. The unique algorithm is
the maximum likelihood detection based upon normalized cross-correlation
for signal acquisition. Other algorithms are the block pilot pattern inserted
at a given period for channel estimation, the convolutional codes including
239
punctured convolutional codes for error corrections, and the LMS algorithm
using the method of steep descent for channel tracking.
In the following, a multipath channel model is presented first. Simula-
tion examples for OFDM performances over both an AWGN and a multipath
channel are then given.
(
x(t) = Re s(t)e j2pf c t ) (12.1)
where s(t) is the source signal. To characterize the multipath channel, assume
that there are L(t) paths. The number of paths at any given time is time-
dependent. This means that, at any time, the number of signals the receiver
receives is not a constant. Corresponding to each path, assume the delay is
τ n(t), the Doppler shift is ∈n(t), and the attenuator factor is α n(t). The received
signal r(t) is then given by
L(t )
r(t) = ∑an (t)x ( t − tn (t))e j2pt∈ (t ) n (12.2)
n=1
The Doppler shift, ∈n(t), from each path is also time-dependent. Assum-
ing that the angle between the direction of motion and the signal propagation
path is θ n(t), then the Doppler shift can be written as here:
(
∈n (t) = vf c cos θ n (t) /c) (12.3)
where c is the light velocity and v is the velocity of motion. Substituting (12.1)
into (12.2), the following equation results:
⎧⎪ ⎡ L(t ) ⎤ ⎫⎪
( )
r(t) = Re ⎨ ⎢ ∑ an (t)s t − tn (t) e − j2pf c tn (t )e + j2p∈n (t )t ⎥ e j2pf c t ⎬ (12.4)
⎪⎩ ⎣ n=1 ⎦ ⎪⎭
The quantity inside the bracket is the equivalent lowpass signal z(t) and
is given by
L(t )
z(t) = ∑ an (t)s ( t − tn (t))e − j2p( f t (t )−∈ (t )t )
c n n
(12.5)
n=1
(
jn (t) = −2p f c tn (t) − εn (t)t ) (12.6)
From (12.9), the received lowpass signal z(t) is the summation of the
delayed version of the original signal s(t) multiplied by a time-dependent
weighting factor wn(t). This weighting factor is, in general, complex and has
both amplitude and phase variations.
From (12.9), the equivalent channel impulse response h(τ , t) at time t
is given here:
L(t )
h(t,t) = ∑ wn (t)d ( t − tn (t)) (12.10)
n=1
The received signal z(t) is the output of passing the source signal s(t)
through the channel characterized by h(τ , t). Equation (12.10) is justified by
the following convolutional integral:
z(t) = ∫ h(t,t)s(t − t) dt
L(t )
= ∫∑ wn (t)d ( t − tn (t)) s(t − t)dt (12.11)
n=1
L(t )
= ∑ wn (t)s ( t − tn (t))
n=1
In the receiver, the received signal after adding the noise n(t) becomes
y(t) = z(t) + n(t) (12.13a)
The kjth subcarrier of the mth symbol in the frequency domain is denoted
as Zmkj. Assume that the total number of data subcarriers is NSD. The average
signal energy of these data subcarriers for the mth symbol is then
N
⎛ 1 ⎞ SD 2
Em = ⎜ ∑Z
⎝ N SD ⎟⎠ j=1 mk j
(12.14)
⎛ 1 ⎞ NSD 2
Nm = ⎜ ∑N
⎝ N SD ⎟⎠ j=1 mk j
(12.15)
where Nmkj is the noise energy at the subcarrier index kj of the mth symbol
and Nm represents the average noise energy of the mth symbol in the fre-
quency domain.
Assuming that there are a total of N symbols, the average bit SNR Eb/
N0 is then given by
Eb ⎛ 1 ⎞ N Em
= ∑N
N 0 ⎜⎝ N ⎟⎠ m=1 (12.16)
m
fine detection. It was found that the beginning sample location is accurately
determined without error for Eb/N0 > 5.2 dB. For Eb/N0 between 2.38 dB and
5.2 dB, there is one sample error for the coarse detection. However, the fine
detection can accurately correct the error. In other words, the signal detection
plays no role in the BER performance.
Figure 12.1 shows the BER performance in decibels over AWGN. For
comparison purposes, four modulation schemes, BPSK, QPSK, 16-QAM, and
64-QAM, are included. The error correction coding applied is the convolu-
tional coder of coding rate = 1/2. The detailed structure is given in Section
7.4.3. As expected, BPSK has the best performance while 64-QAM has the
worst performance.
For BPSK, the BER is 0 at Eb/N0 = 8.71 dB, 0.000385 at Eb/N0 = 7.71
dB, 0.000866 at Eb/N0 = 6.71 dB, and 0.00182 at Eb/N0 = 5.71 dB. The
inclusion of error correction coding and interleaver significantly improve the
error rate performance.
The simulation results also show that the BER is 0 at Eb/N0 = 8.71 dB
for BPSK, 12.71 dB for QPSK, 18.81 dB for 16-QAM, and 26.72 dB for
64-QAM. As the modulation becomes more complicated to increase the data
rate, there is also a requirement for a higher SNR.
Table 12.1 lists the Eb/N0 for BPSK, QPSK, 16-QAM and 64-QAM
at around the same BER. There is about 5.9-dB improvement in Eb/N0 using
BPSK instead of QPSK. If QPSK is used instead of 16-QAM, the improve-
ment of Eb/N0 is about 7.1 dB.
Figure 12.1 BER performance over AWGN using a convolutional of coding rate = 1/2.
Table 12.1
Eb /N 0 Comparisons of Different Modulations at Around the Same BER
Table 12.2
Eb /N 0 Comparisons Between Rate = 1/2 and 3/4 at Around the Same BER
For QPSK, the Eb/N0 increase in using the coding rate of 3/4 instead
of 1/2 is 1.5 dB to achieve about the same BER. However, from Table 4.1,
the data rate increases from 48 Mbps to 72 Mbps using a 20-MHz channel
spacing. For BPSK, there is an increase of Eb/N0 by 2.5 dB in using coding
rate of 3/4 instead of 1/2. Again, from Table 4.1, the data rate increases from
24 Mbps to 36 Mbps using a 20-MHz channel spacing. If a higher data rate
is required, then a slight loss in Eb/N0 is not a bad option. The BER becomes
zero at Eb/N0 = 12.71 dB for QPSK and at Eb/N0 = 8.72 dB for BPSK using
a bit coding rate of 3/4.
In (12.17), wn(t) is the signal fading and can have both amplitude and
phase perturbations and τ n(t) is the path delay. For the simulation study, we
consider two multipath channels or L(t) = 2. One path is the main path and
the other path is the reflected path due to obstacles. For the main path or
n = 1, the propagation delay is assumed negligible and is set to zero. For the
reflected path or n = 2, τ 2(t) is assumed to be a constant, τ . Based upon these
two simplifications, (12.17) becomes
z(t) = w1(t)s(t) + w2 (t)s(t − t) (12.18)
In (12.18), the weighting coefficients ω 1(t) and ω 2(t) are complex and
time variant. In the simulation, they are further given by the following
two equations:
w1(t) = w1 p + d1(t) (12.19)
where δ 1(t) and δ 2(t) are small perturbations around their principal values. For
the main path, the principal value is w1p and for the reflected path, the principal
value is w2p. Both δ 1(t) and δ 2(t) are complex and can be written as follows:
dn (t) = dnr (t) + jdni (t) n = 1,2 (12.21)
Both δ nr(t) and δ ni(t) are assumed to be Gaussian random variables with
a zero mean and standard deviation of σ n. This standard deviation can be
considered as the volatility or strength of the fading. The larger the standard
deviation, the stronger is the signal fading.
For each path, a set of two random variables are generated every M data
symbols. One is for the real part, δ nr(t), and the other is for the imaginary
part, δ ni(t). We assume that the channel cannot change that fast. Between
the beginning and ending symbols, the channel is estimated through linear
interpolation at these M symbols. Let t = 0 and t = MT represent the begin-
ning and ending time of any M symbol period where T is the symbol duration.
The symbol duration here includes the guard interval. Assume further that
δ n(0) represents the channel perturbation at t = 0 and δ n(MT ) represents the
channel perturbations at t = MT. Then at t = kT, the channel perturbation,
δ n(kT ), is given by
k
dn (kT ) = dn (0) + (
d (MT ) − dn (0)
M n
) (12.22)
For each symbol, the channel remains the same without any change
throughout the entire duration. After computing δ n(kT ), (12.19) and (12.20)
can be used to compute wn(t).
20 dB. When the Eb/N0 is below 20 dB, the performance advantage of add-
ing a block pilot pattern is obvious. As the period of pilot pattern increases,
the error percentage also increases. When the pilot period is 20 symbols, the
data rate only decreases to 11.42 Mbps from the original 12 Mbps without a
block pilot pattern. However, the BER is significantly improved and especially
at a low Eb/N0.
Figures 12.4 and 12.5 are similar plots except the fading standard devia-
tion is increased to 0.25 and 0.3. The advantage of adding a block pilot pattern
can clearly be seen. There is a small price paid due to data rate decrease, but
the big gain in BER performance is still a worthy approach.
12.7 Summary
A multipath channel was characterized and simulated. First, the BER in
AWGN was compared for four different modulations, BPSK, QPSK, 16-QAM,
and 64-QAM. As the constellation bit encoding becomes more complex, the
performance also degrades. The BPSK has the best performance and there is
a gain of around 5.9 dB in Eb/N0against QPSK while 64-QAM has the worst
performance. Under the same modulation, punctured convolutional coding
can gain in data rate increase with a slight price paid on BER performance.
For QPSK and 1/2 convolutional encoding, the BER performance in a
multipath channel was further performed. Two approaches were studied. One
is the LMS algorithm only. The other is the same LMS algorithm with an
added block pilot pattern. The result shows that the addition of block pilots
can significantly improves the BER, especially at a low Eb/N0. The price paid
is only a slight decrease in date rate.
Reference
[1] Proakis, J. G., Digital Communications, New York: McGraw-Hill, 1983.
Y. J. Liu received his electrical engineering B.S. from the National Taiwan
University, his M.S. from the University of Rochester, and his Ph.D. from
the Ohio State University. He has been working in the industry since 1978.
Initially, he worked for the Lear Siegler Instrument division in LORAN and
OMEGA navigational signal processing and isolated word recognition under
a noisy environment. He then joined Nartron Corporation in developing an
isolated word recognizer for a passenger car. Next, he worked at ITT Exelis for
almost 28 years. He was involved in numerous projects related to the develop-
ment of handheld, wireless, and digital combat tactical radios. Specific working
areas include ad hoc networking and modem and low-rate speech coding. He
has also had many papers published and patents awarded.
253
255