Documente Academic
Documente Profesional
Documente Cultură
of an OFDM PHY
Dr Chris Dick
DSP Chief Architect
Director, Signal Processing Systems Engineering
Introduction
• Orthogonal frequency division multiplexing (OFDM) increasingly
found in wired and wireless communication systems
– Digital television
– High-speed wired connections
– Wireless local area networks
– 4G wireless … if we ever recover from/deliver 3G
• Key signal processing technology moving forward in many
spaces
– Mil/aero
– commercial
Proceeding of the SDR 03 Technical Conference and Product Exposition. Copyright © 2003 SDR Forum. All Rights Reserved
1
OFDM Primer
t t
T
1/T 1/MT
f f
Proceeding of the SDR 03 Technical Conference and Product Exposition. Copyright © 2003 SDR Forum. All Rights Reserved
2
OFDM Systems
Proceeding of the SDR 03 Technical Conference and Product Exposition. Copyright © 2003 SDR Forum. All Rights Reserved
3
Orthogonal Basis Functions
Othogonal Bas is S et: 64-P oint FFT
0
-10
-20
-30
-40
-50
-60
-70
-80
-90
-100
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
OFDM Modulator
h0(n)
d(k) d(0)
Symbol
Serial
to
Generator h1(n)
d(1)
h2(n)
d(2)
h3(n)
d(3)
h4(n)
d(4)
N −1 s(n)
s (n) = ∑ d (k )hk (n)
Parallel
h5(n)
d(5)
k =0
N −1 2π
s (n ) = ∑ d ( k ) e
j kn
N
k =0
hN-1(n)
d(N-1)
Proceeding of the SDR 03 Technical Conference and Product Exposition. Copyright © 2003 SDR Forum. All Rights Reserved
4
OFDM Demodulator
h0(n) ^ ^
d(k)
( m+1)T d(0) Symbol
* ∫( )dt Serial
Detector
to
h1(n) mT
( m+1)T
^
d(1)
∫(
* )dt
h2(n) mT
^
( m+1)T d(2)
∫(
* )dt
h3(n)
^
mT
( m+1)T d(3)
∫(
*
s(n)
)dt
h4(n) mT
^
( m +1)T d(4)
Parallel
∫(
* )dt
h5(n) mT
( m +1)T
^
d(5) ( m +1)( NT )
∫ s(n)h (t )dt
∫(
dˆ (k ) =
* )dt *
mT
k
m ( NT )
( M +1)( NT ) 2π
−j kt
=
m ( NT )
∫ s (t ) e NT
dt
hN-1(n) ^
( m+1)T d(N-1)
* ∫(
mT
)dt
Generator
Parallel
Parallel
Block
Modulator
^
d(n)
Serial Serial Symbol
to
to
Detector
Parallel
Parallel
Block
De-Modulator
Proceeding of the SDR 03 Technical Conference and Product Exposition. Copyright © 2003 SDR Forum. All Rights Reserved
5
Advantages of OFDM
Disadvantages of OFDM
Proceeding of the SDR 03 Technical Conference and Product Exposition. Copyright © 2003 SDR Forum. All Rights Reserved
6
Multipath Model/Impulse Response
0.4
0.3 0.1 0.1
Time Delay
0 8 16 86 90 (nsec)
Proceeding of the SDR 03 Technical Conference and Product Exposition. Copyright © 2003 SDR Forum. All Rights Reserved
7
Dealing with ISI
subcarrier 1
Subcarrier 2 delayed due to
multiplath
subcarrier 2
Proceeding of the SDR 03 Technical Conference and Product Exposition. Copyright © 2003 SDR Forum. All Rights Reserved
8
Cyclic Extension of FFT Data
subcarrier 1
subcarrier 2
subcarrier 3
Cyclic Prefix
• Guard interval will now be called the cyclic prefix
• Cyclic prefix (CP) is a crucial feature of OFDM
used to combat inter-symbol interference (ISI)
and inter-(sub)carrier interference (ICI)
• Build a periodic extension of the FFT symbol by
preappending a block of samples from the end of
the FFT frame to the beginning
• Duration of the guard period should be longer
than the worst case channel delay spread
Proceeding of the SDR 03 Technical Conference and Product Exposition. Copyright © 2003 SDR Forum. All Rights Reserved
9
Combatting ISI with the CP
x(t) h(t) y(t)
t t t
Symbol Channel Distorted Symbol
CP CP CP
t
.......
k n N-1
N-1 0
N-1
N −1 2π
1
∑ H (k ) e
j nk
h ( n) = N
: n = 0,1,2,..., N − 1
N n =0
• FFT is one of the key kernals in the OFDM mod (IFFT) and demod (FFT)
• Viewed as the signal generator and the (de-)modulator
Proceeding of the SDR 03 Technical Conference and Product Exposition. Copyright © 2003 SDR Forum. All Rights Reserved
10
OFDM: Top Level View
OFDM Modulator
Map to
Input 32 I-Q Append
64
Buffer Points 8-Point
Point Channel
128 of 64 Cyclic
IFFT + jθc n
e − jθc n
Bits Point Prefix e
IFFT Quadrature Quadrature
Oscillator Oscillator
Detect Map 32
16-QAM Level Output
Extract 64
In 32 4-level Buffer
64 Point
Bins of I-Q 128
Samples FFT
64 PNT Decisions Bits
FFT to 128 bits
OFDM Demodulator
OFDM Transceiver
cos(ωIFt) Non-Linear
Low Power
DAC
Pass Amplifier
P
Band Band
IFFT to CL
Pass Pass
S
Low
DAC
Pass cos(ωRFt)
CL sin(ωIFt)
Channel
cos(^
ωIFt)
Low-Noise Low
Amplifier Pass
ADC
S
Band Band
Pass Pass
CL to FFT
P
Low
ADC
cos(^
ωRFt) Pass
sin(^
ωIFt) CL
Proceeding of the SDR 03 Technical Conference and Product Exposition. Copyright © 2003 SDR Forum. All Rights Reserved
11
Simulation Baseline
• The Perfect World
Proceeding of the SDR 03 Technical Conference and Product Exposition. Copyright © 2003 SDR Forum. All Rights Reserved
12
Carrier Frequency Offset (CFO)
• CFO = multiple of the
subcarrier spacing
• If not corrected will lead
to detection errors
Proceeding of the SDR 03 Technical Conference and Product Exposition. Copyright © 2003 SDR Forum. All Rights Reserved
13
Carrier Frequency Offset (CFO)
• CFO = fraction of the
subcarrier spacing
• If not corrected will lead
to detection errors due
to degraded margin in
detector
Proceeding of the SDR 03 Technical Conference and Product Exposition. Copyright © 2003 SDR Forum. All Rights Reserved
14
Sample Clock Frequency Error
• CFO results in a
constant phase rotation
from one symbol to the
next
• Sample clock offset
produces a phase offset
that that increases as a
function of the
subcarrier index
• If not corrected will lead
to detection errors due
to degraded margin in
detector
Proceeding of the SDR 03 Technical Conference and Product Exposition. Copyright © 2003 SDR Forum. All Rights Reserved
15
I-Q Mixer Imbalance
• Phase mismatch in I-Q
mixers
• If not corrected will
lead to detection errors
due to degraded
margin in detector
Proceeding of the SDR 03 Technical Conference and Product Exposition. Copyright © 2003 SDR Forum. All Rights Reserved
16
I-Q Differential Time
• Pracitcal I-Q mixers
introduce a time offset
between the I and Q
signal components
• Differential time
• Could be due to signal
propagation path
differences in a mixed-
signal RF device
• If not corrected will
lead to detection errors
due to degraded
margin in detector
Example: 802.11a
0.8 µs
3.2 µs
Guard DATA
4.0 µs
OFDM Symbol
16.6 20.0
0 dB
-20
-40
f
Proceeding of the SDR 03 Technical Conference and Product Exposition. Copyright © 2003 SDR Forum. All Rights Reserved
17
32
30 frequency
.................................................................
.................................................................
28
bin
26
24
22
20
18
16
14
12
10
8
6
4
2
0
-2
-4
-6
-8
-10
-12
14
-16
-18
-20
-22
-24
-26
-28
1 2 3 4 5 6 7 8 9 10
-30 4µs
-32 800 ns
FED TED
Channel
Estimation
Proceeding of the SDR 03 Technical Conference and Product Exposition. Copyright © 2003 SDR Forum. All Rights Reserved
18
Preamble for Packet Detection
A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 CP C1 C2
Proceeding of the SDR 03 Technical Conference and Product Exposition. Copyright © 2003 SDR Forum. All Rights Reserved
19
OFDM Arithmetic Resourcing (2)
• Peak-to-average power ratio (PAR) control in mod
– Complex vector magnitude
– Rotation of PAR control time-series
• Best method to support these arithmetic functions
in FPGAs?
– CORDIC particularly useful
– Add/Sub/Shift requirements supported very well in the
FPGA device architecture
CORDIC: R-2-P
CORDIC: R-2-P FED TED
Channel
Estimation CORDIC: Complex Div.
Proceeding of the SDR 03 Technical Conference and Product Exposition. Copyright © 2003 SDR Forum. All Rights Reserved
20
Short Preamble
S pectrum of S hort S ymbol
1
-1
-0.5 -0.4 -0.3 -0.2 -0.1S eries , S0hort P reamble
Time 0.1 0.2 0.3 0.4 0.5
1
0.5
0
0 0.1 0.2 0.3 0.4 0.5
Real 0.6 0.7 0.8 0.9 1
1
-1
0 0.1 0.2 0.3 0.4 0.5
Imaginary 0.6 0.7 0.8 0.9 1
1
-1
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Long Preamble
IEEE 802.11 P reamble
1
0.5
0
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5
Real P art
1
0.5
-0.5
-1
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5
Imaginary P art
1
0.5
-0.5
-1
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5
Proceeding of the SDR 03 Technical Conference and Product Exposition. Copyright © 2003 SDR Forum. All Rights Reserved
21
Schmidl and Cox Correlator1
c(n)
r(n) ÷ m(n)
2
C
( )*
p(n)
Z-D P ( )2
k =0 k =0
Proceeding of the SDR 03 Technical Conference and Product Exposition. Copyright © 2003 SDR Forum. All Rights Reserved
22
Packet Detector Implementation
• The C and P correlators in the packet detector utilize
boxcar filters
H (z)
x ( n)
y ( n)
y ( n)
Proceeding of the SDR 03 Technical Conference and Product Exposition. Copyright © 2003 SDR Forum. All Rights Reserved
23
Packet Detector Implementation
Y ( z ) N −1 − n 1 − z − N
H ( z) = =∑z =
X ( z ) n=0 1 − z −1
1 1− z−N
= −1
⋅
1!−"z# 1
!"#
INTEGRATOR COMB FILTER
z-1 + y(n)
|D(n-16)| rˆ(16)
cˆ(16) =
rˆ(0) + δ
Proceeding of the SDR 03 Technical Conference and Product Exposition. Copyright © 2003 SDR Forum. All Rights Reserved
24
Packet Detection
Envelope of Input S ignal
0.6
0.4
0.2
0
0 50 100 150
Delayed 200 of Input S250
Envelope ignal 300 350 400
0.6
0.4
0.2
0
0 50 100 150 auto correlations
cros s and 200 250 S ignal
of Input 300 350 400
0.6
0.4
0.2
0
0 50 100 150 of Energy200
Output 250
Detection Routine 300 350 400
0.5
0
0 50 100 150 200 250 300 350 400
Proceeding of the SDR 03 Technical Conference and Product Exposition. Copyright © 2003 SDR Forum. All Rights Reserved
25
CORDIC1 Algorithm
• COoRdinate Digital Computer (CORDIC)
algorithm
• Useful for computing
– linear functions
– circular/inverse circular functions
• sin,cos, atan(y/x)
– hyperbolic/inverse hyperbolic functions
• sqrt(a)
• ln(a)
[1] J. E. Volder, “The CORDIC Trigonometric Computing Technique”, IRE Trans. On Electronic
–Computers, Vol. EC-8, 1959, pp. 330-334.
−i
xi +1 = xi − ai yi 2
yi +1 = yi + ai xi 2−i
zi +1 = zi − ai tan −1 ( 2−i )
i = i +1
OFDM Signal Processing 52
Proceeding of the SDR 03 Technical Conference and Product Exposition. Copyright © 2003 SDR Forum. All Rights Reserved
26
Unrolled CORDIC
PE0 PE1 PE2 PE3 PEN
z0 z −1 z −1 z −1 z −1 z −1 zN
x0 z −1 z −1 z −1 z −1 z −1 xN
2− i 2− i 2− i 2− i 2− i
2− i 2− i 2− i 2− i 2− i
y0 - z −1
- z −1
- z −1
- z −1
- z −1 yN
PEi
zi z −1 zi +1 Parallel CORDIC implementation
k (vector mode)
xi z −1 xi +1 One result/clock
−i Does not include output scaling
2
2−i
yi - z −1 yi +1
SGN
Linear CORDIC
Proceeding of the SDR 03 Technical Conference and Product Exposition. Copyright © 2003 SDR Forum. All Rights Reserved
27
Linear CORDIC
With initial conditions [x0 , y0 , z0 ]
driving y to 0 gives [x0 , 0, z0 + y0 / x0 ] initial condition z0
i zi
Linear Iterations (divide) 2− i z −1
i=0
ROM
d i = sgn( y ) SGN
xi +1 = xi
z −1
yi +1 = yi − di xi 2 − i y0
- yi +1
zi +1 = zi + d i 2 − i 2− i
i = i +1 x0
CORDIC Divider
• The linear CORDIC mode can be used to construct a
divider by setting z0=0 Initial Condition = 0
i zi
2− i z −1
With initial conditions [x0 , y0 , 0]
driving y to 0 gives [x0 , 0, y0 / x0 ] ROM
SGN
y0 z −1 yi +1
-
2− i
x0
Proceeding of the SDR 03 Technical Conference and Product Exposition. Copyright © 2003 SDR Forum. All Rights Reserved
28
Linear CORDIC
• Matlab script to implement a CORDIC divider
function [x,y,z] = cordic_div3(x,y,niters);
% Creation Date 03/14/02
% Author: Dr Chris Dick
% Synopsis: This routine employs the CORDIC algorithm to compute y/x
z = 0;
for ii = 1:niters
dn = sgn(y); % sgn() returns the sign of the argument
y = y - dn * x*2^-(ii-1);
z = z + dn * 2^-(ii-1);
end
y0 - z −1 - z −1 - z −1 - z −1 - z −1 yN
Proceeding of the SDR 03 Technical Conference and Product Exposition. Copyright © 2003 SDR Forum. All Rights Reserved
29
Programmatic Generates (2)
• The add_block(), add_line(), delete_block() and
delete_line() Matlab function calls are employed to
contruct the graph
Num CORDIC
processing elements
Customization Panel
PE Precision Definition
Proceeding of the SDR 03 Technical Conference and Product Exposition. Copyright © 2003 SDR Forum. All Rights Reserved
30
Implementation
10
Amplitude
0
0 100 200 300 400 500 600 700 800
Time S a mple s
10 10
Amplitude
Amplitude
5 5
0 0
500 510 520 530 540 550 630 640 650 660 670
Time S amples Time S a mple s
Proceeding of the SDR 03 Technical Conference and Product Exposition. Copyright © 2003 SDR Forum. All Rights Reserved
31
Long Preamble Correlator
• Use 802.11a as an example
• Preamble structure
64 samples Long preambles L1 & L2
CP L1 L1
OPs= 20
$ e6 × 64
$ × 4$ = 5.12e9 GOPs
CHANNEL DATA RATE CORRELATION COMPLEX
SEQUENCE CORRELATOR
LENGTH
Proceeding of the SDR 03 Technical Conference and Product Exposition. Copyright © 2003 SDR Forum. All Rights Reserved
32
Long Preamble Correlator
• Clipped correlator
– Uses sign of data and sign of template samples
Cros s Correla tion of Input S igna l With Long P rea mble S e c tion
50
40
Amplitude
30
20
10
0
0 100 200 300 400 500 600 700 800
Time S a mple s
40 40
Amplitude
Amplitude
30 30
20 20
10 10
0 0
500 510 520 530 540 550 630 640 650 660 670
Time S amples Time S a mple s
Clipped Correlator
Proceeding of the SDR 03 Technical Conference and Product Exposition. Copyright © 2003 SDR Forum. All Rights Reserved
33
Datapath Right-sizing
– Datapath right-sizing
Log10 Slices
3
– Actually unlike MPY based
structures in this respect/capability 2
• Use optimum precisions at each
node in the computation graph 1
200
• ‘Right-size’ the datapath Sam 60
80
ple 100
• design surface for a FIR filter: Rat
e (M 20
40
(Taps
)
SPS 0 Length
Area vs Sample Rate vs Length ) Filter
Implementation
Proceeding of the SDR 03 Technical Conference and Product Exposition. Copyright © 2003 SDR Forum. All Rights Reserved
34
Correlator Arm (1 of 4)
Implementation
• 1100 slices
• 2 embedded multipliers
• 192 MHz1
Correlator Ops = 4$ × 64
$ × 192
$ e6 = 49 GOPs/s
complex integration interval FPGA Clock
49 GOPs/s
= 45 MMACs/slice
1100slices
Proceeding of the SDR 03 Technical Conference and Product Exposition. Copyright © 2003 SDR Forum. All Rights Reserved
35
Channel Estimation/Equalization
Channel Estimation/Equalization
Proceeding of the SDR 03 Technical Conference and Product Exposition. Copyright © 2003 SDR Forum. All Rights Reserved
36
Channel Estimation Using Training Data
Proceeding of the SDR 03 Technical Conference and Product Exposition. Copyright © 2003 SDR Forum. All Rights Reserved
37
Channel Estimation Using Training Data
Proceeding of the SDR 03 Technical Conference and Product Exposition. Copyright © 2003 SDR Forum. All Rights Reserved
38
Channel Estimation
• The received signal after the FFT is
Y (k ) = C (k ) X (k ) + Z (k )
where k is the subcarrier index, C is the channel, X is the training
data and Z is noise
Y (k )
Channel estimate Cˆ (k ) is Cˆ (k ) =
X (k )
• The division is undesirable from an implementation
perspective
• Use CORDIC algorithm for FPGA implementation
Channel Equalization
• Channel equalization in OFDM systems is performed in the frequency
domain
• Realized as a complex multiplication for each spectral component
recovered by the FFT in the demodulator
• For each packet compute the compensation term
1 X (k )
=
Cˆ (k ) Y (k )
and store for use by the equalizer as it reverses the channel impact for
the OFDM data payload
• Receiver has access to the long preamble
• X(k) is computed offline and stored in the receiver for use by the
channel estimator
OFDM Signal Processing 78
Proceeding of the SDR 03 Technical Conference and Product Exposition. Copyright © 2003 SDR Forum. All Rights Reserved
39
Channel Estimation
• Wideband channel probe
– Long preamble in WLAN applications
Cha nne l P robe , Long S e gme nt of P re amble Re s pons e of Cha nnel P robe, One Look
7 7
6 6
5 5
Amplitude
Amplitude
4 4
3 3
2 2
1 1
0 0
-0.5 0 0.5 -0.5 0 0.5
Norma lize d Fre quency Norma lize d Fre quency
Res pons e of Channel P robe , No Nois e Re s pons e of Cha nne l P robe, Ave ra ge of Two Looks
7 7
6 6
5 5
Amplitude
Amplitude
4 4
3 3
2 2
1 1
0 0
-0.5 0 0.5 -0.5 0 0.5
Norma lize d Fre quency Norma lize d Fre quency
Implementation
Proceeding of the SDR 03 Technical Conference and Product Exposition. Copyright © 2003 SDR Forum. All Rights Reserved
40