Sunteți pe pagina 1din 40

FPGA Implementation

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

OFDM Signal Processing 2

Proceeding of the SDR 03 Technical Conference and Product Exposition. Copyright © 2003 SDR Forum. All Rights Reserved

1
OFDM Primer

• In conventional single carrier systems data


symbols are transmitted serially using some
modulation scheme and the spectrum of each
symbol is allowed to occupy the entire channel
bandwidth

OFDM Signal Processing 3

Single Carrier Vs Multi-Carrier Systems


MT

t t
T

1/T 1/MT

f f

Sequential transmission of waveforms Parallel transmission of waveforms


Waveforms are short duration T Waveforms are long duration MT
Waveforms occupy full transmission bandwidth 1/T Waveforms occupy 1/M-th of system bandwidth 1/T

OFDM Signal Processing 4

Proceeding of the SDR 03 Technical Conference and Product Exposition. Copyright © 2003 SDR Forum. All Rights Reserved

2
OFDM Systems

• OFDM modulation consists of multiplexing QAM


data symbols over a large number of orthogonal
carriers

BPSK QPSK 16-QAM 64-QAM

OFDM Signal Processing 5

OFDM Dense Multichannel System

Conventional Multichannel System


Non Overlapping Adjacent Channels.
f Channels separated by More
W Than Their Two Sided bandwidth

OFDM Multichannel System


50% Overlap of Adjacent Channels
Available bandwidth is Used Twice

f Channels separated by Half


W Than Their Two Sided bandwidth

OFDM Signal Processing 6

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 Signal Processing 7

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)

OFDM Signal Processing 8

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

OFDM Signal Processing 9

OFDM is a Block Process


d(n)
Symbol Serial
Serial
to
to

Generator
Parallel
Parallel

Block
Modulator

^
d(n)
Serial Serial Symbol
to
to

Detector
Parallel
Parallel

Block
De-Modulator

OFDM Signal Processing 10

Proceeding of the SDR 03 Technical Conference and Product Exposition. Copyright © 2003 SDR Forum. All Rights Reserved

5
Advantages of OFDM

• Efficiently deals with multipath fading


• Efficiently deals with channel delay spread
• Enchanced channel capacity
• Adaptively modifies modulation density
• Robust to narrowband interference

OFDM Signal Processing 11

Disadvantages of OFDM

• Sensitive to small carrier frequency offsets


• Exhibits high peak-to-average power ratio
• Sensitive to high frequency phase noise
• Sensitive to sampling clock frequency offsets

OFDM Signal Processing 12

Proceeding of the SDR 03 Technical Conference and Product Exposition. Copyright © 2003 SDR Forum. All Rights Reserved

6
Multipath Model/Impulse Response

• This could represent an


indoor environment
1

0.4
0.3 0.1 0.1
Time Delay
0 8 16 86 90 (nsec)

OFDM Signal Processing 13

Radio Propagation Channel

• Propagation channel introduces ISI


• Complex response a function of time and frequency
• OFDM is very robust against frequency selective fading channels
OFDM Signal Processing 14

Proceeding of the SDR 03 Technical Conference and Product Exposition. Copyright © 2003 SDR Forum. All Rights Reserved

7
Dealing with ISI

• Designing receivers to accommodate ISI is an


important aspect of narrowband and wide band
systems
• QAM receiver deals with ISI in the time domain
using an adaptive equalizer
– Typically a fractionally spaced
• FFE
• FBE
• FFE & FBE (usual case)

OFDM Signal Processing 15

Dealing with ISI in OFDM


Section of subcarrier 2 causing ICI on subcarrier 1

subcarrier 1
Subcarrier 2 delayed due to
multiplath

subcarrier 2

Guard Time DFT Integration Time = 1/Subcarrier Spacing

• Non integer number of cycles difference between


subcarrier 1 and 2
– Loss of orthogonality
OFDM Signal Processing 16

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

Guard Time DFT Integration Time = 1/Subcarrier Spacing

• Periodic extension of data ensures that there is always an integer


number of cycles of each subcarrier within the FFT integration
window
OFDM Signal Processing 17

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

OFDM Signal Processing 18

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

OFDM Signal Processing 19

FFT as Sig Gen And Modulator


0 0
1 1
2 N 2 2
A 3 3
3 POINT h(n) 0 N-1
4 4
5
IDFT 5
(IFFT)
... ...
... ...
.......

.......

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

OFDM Signal Processing 20

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 Signal Processing 21

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

OFDM Signal Processing 22

Proceeding of the SDR 03 Technical Conference and Product Exposition. Copyright © 2003 SDR Forum. All Rights Reserved

11
Simulation Baseline
• The Perfect World

OFDM Signal Processing 23

Some Subcarriers Unused


• Don’t tx DC
• Possibly reserve
edge frequencies to
accommodate analog
signal processing

OFDM Signal Processing 24

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

OFDM Signal Processing 25

Carrier Frequency Offset (CFO)


• CFO = multiple of the
subcarrier spacing
• CFO in opposite
direction to previous
example
• If not corrected will lead
to detection errors

OFDM Signal Processing 26

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

OFDM Signal Processing 27

Packet Framing Error


• Incorrect OFDM symbol
boundary detection
• Manifests itself as what
looks like phase noise
in the constellation
• If not corrected will lead
to detection errors due
to degraded margin in
detector

OFDM Signal Processing 28

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

OFDM Signal Processing 29

I-Q Mixer Imbalance


• Gain mismatch in I-Q
mixers
• If not corrected will lead
to detection errors due
to degraded margin in
detector

OFDM Signal Processing 30

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

OFDM Signal Processing 31

I-Q Mixer Imbalance


• Phase and gain
mismatch in I-Q mixers
• If not corrected will
lead to detection errors
due to degraded
margin in detector

OFDM Signal Processing 32

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

OFDM Signal Processing 33

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

OFDM Signal Processing 34

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

OFDM Signal Processing 35

OFDM Receiver Architecture


Course CFO Remove Cyclic Sample
ADC DDC
Correction Prefix Skip/Stuff

FED TED

Strip Freq Domain Fine Freq Timing FFT


Pilots Equalizer Rotor Rotor Demod

Channel
Estimation

TED: Timing Error Detector Demodulated


Slicer FEC
FED: Frequency Errror Detector Data

OFDM Signal Processing 36

Proceeding of the SDR 03 Technical Conference and Product Exposition. Copyright © 2003 SDR Forum. All Rights Reserved

18
Preamble for Packet Detection

• Preambles of 802.11a and HyperLAN/2 have


been designed to help the detection of the start of
a packet Short preambles Long preambles

A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 CP C1 C2

Packet detect Coarse frequency Channel estimation


AGC Offset estimation Fine frequency offset estimation
Diversity selection Symbol timing

• A1-A10 are short training symbols all identical


and 16 samples in duration

OFDM Signal Processing 37

OFDM Arithmetic Resourcing (1)


• Several OFDM functions require arithmetic
resourcing for processes other than
– Multi-rate filters
– (I)FFT
• Synchronization/Equalization require
– Division – Real
– Division – Complex
– Rectangular-to- Polar transformation

OFDM Signal Processing 38

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

OFDM Signal Processing 39

CORDIC Deployed in OFDM PHY


CORDIC: Div. Packet Detect Long Preamble Correlator

Course CFO Remove Cyclic Sample


ADC DDC
Correction Prefix Skip/Stuff

CORDIC: R-2-P
CORDIC: R-2-P FED TED

Strip Freq Domain Fine Freq Timing FFT


Pilots Equalizer Rotor Rotor Demod

Channel
Estimation CORDIC: Complex Div.

TED: Timing Error Detector Demodulated


Slicer FEC
FED: Frequency Error Detector Data

OFDM Signal Processing 40

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

OFDM Signal Processing 41

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

OFDM Signal Processing 42

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

• Delay and correlate algorithm


• Exploits periodicity of short training symbols
• C is a cross-correlation between r(n) and r(n-D) (D=16 for 802.11a)
• P calculates the received signal energy during the cross-correlation window
[1] T. M. Schmidl, D. C. Cox, “Low-Overhead, Low Complexity (Burst) Synchronization for OFDM”, IEEE International
Conference on Communications, Vol. 3., 1996, pp. 1301-1306.

OFDM Signal Processing 43

Schmidl and Cox Correlator


L −1
c( n) = ∑ r ( n + k ) r * (n + k + D )
k =0
L −1 L −1
p ( n) = ∑ r ( n + k + D ) r * ( n + k + D ) = ∑ r ( n + k + D )
2

k =0 k =0

Decision statiestic m(n) is calculated as


2
c ( n)
m ( n) =
p ( n) 2
• c(n) and p(n) are sliding windows so a recursive procedure can be
used to reduce the computation load

OFDM Signal Processing 44

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)

• Recursive procedure for computationally efficient


implementation

OFDM Signal Processing 45

Packet Detector Implementation


• The C and P correlators in the packet detector utilize
boxcar filters
H ( z)
x (n)

y ( n)

• Recursive procedure for computationally efficient


implementation

OFDM Signal Processing 46

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

• Implement average in correlators as CIC


x(n) z-N

z-1 + y(n)

OFDM Signal Processing 47

Preamble Detector Using Repeated Short Symbols


Preamble
R(16) C(16) Present
Threshold
CIC Filter Test c(16)>0.5
Yes
* r(0)
-16
Z CIC Filter δ
*
16 15
|d(n)| rˆ(0) = ∑ d (n + k )d * (n + k )
k =n
15
rˆ(16) = ∑ d (n + k )d * (n − 16 + k )
k =n

|D(n-16)| rˆ(16)
cˆ(16) =
rˆ(0) + δ

OFDM Signal Processing 48

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

OFDM Signal Processing 49

OFDM Arithmetic Resourcing


• Several OFDM functions require arithmetic resourcing for
processes other than
– Multi-rate filters
– (I)FFT
• Synchronization/Equalization in demod
– Division for computing decision statistic in delay-and-correlate
packet detection routine
– Constructing database from channel probe used in frequency
domain equalizer
• Peak-to-average power ratio (PAR) control in mod
– Complex vector magnitude
– Rotation of PAR control time-series

OFDM Signal Processing 50

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.

OFDM Signal Processing 51

CORDIC: Rotate Mode


yN

After the final iteration


y0 θ
 xN  cos θ − sin θ   x0 
 y  = K  sin θ cos θ   y0 
 N 
xN x0
i=0 zN = 0
N
zi = θ K = ∏ 1 + 2 −2 i
ai = −1 if zi < 0 otherwise ai = +1 i =0

−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

OFDM Signal Processing 53

Linear CORDIC

Comment Initial Condition [ x0 , y0 , z0 ] Result Vector [ xN , yN , z N ]


Drive z to 0 [ x0 , y0 , z0 ] [ x0 , y0 + x0 z0 , 0]
Drive y to 0 [ x0 , y0 , z0 ] [ x0 , 0, z0 + y0 / x0 ]

• The linear CORDIC mode can be used to


construct a divider

OFDM Signal Processing 54

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

OFDM Signal Processing 55

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

OFDM Signal Processing 56

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

% Linear CORDIC configuration

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

OFDM Signal Processing 57

Programmatic Generates (1)


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

• For regular structures like the CORDIC algorithm


the conditional generate functionality of Simulink
is very useful
• Permits construction of a graph (in Simulink)
based on
– GUI
– workspace variables

OFDM Signal Processing 58

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

• This is not a component from the


System Generator BlockSet
• It is a component from a customized
libray that any user can construct

OFDM Signal Processing 59

Programmatic Generates (3)

OFDM Signal Processing 60

Proceeding of the SDR 03 Technical Conference and Product Exposition. Copyright © 2003 SDR Forum. All Rights Reserved

30
Implementation

• Fully parallel design


– 473 slices
– 12 embedded mpy
– fclk ~200 MHz
– Potential for hardware folding to reduce mpy count

OFDM Signal Processing 61

Long Preamble Correlator


• Full precision correlator
– Requires large arithmetic resourcing (MACs)
Cros s Correla tion of Input S igna l With Long P rea mble S e c tion
15

10
Amplitude

0
0 100 200 300 400 500 600 700 800
Time S a mple s

Zoom to Firs t Correrlation P e a k Zoom to S ec ond Corre rla tion P e ak


15 15

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

OFDM Signal Processing 62

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

0.8 µs 3.2 µs 3.2 µs

• 64 samples in 3.2 µs corresponds to a channel


data rate of 20 MHz

OFDM Signal Processing 63

Long Preamble Correlator


• Correlator workload
• Remember the data and reference waveform are both
complex

OPs= 20
$ e6 × 64
$ × 4$ = 5.12e9 GOPs
CHANNEL DATA RATE CORRELATION COMPLEX
SEQUENCE CORRELATOR
LENGTH

• One way to place this number in context


– 200% the real-time cycles of a 500 MHz 4-MAC DSP processor

OFDM Signal Processing 64

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

Zoom to Firs t Correrlation P e a k Zoom to S ec ond Corre rla tion P e ak


50 50

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

OFDM Signal Processing 65

Clipped Correlator

• Clipped correlator uses 1-bit MACs


– No mpy’s required
• FPGA implications
– Assume FPGA fclk=100 MHz
– 64-point correlator decomposed as 13 5-point correlators
– Use 4 of these to implementation the complex correlator
• Classic example of datapath “right sizing”

OFDM Signal Processing 66

Proceeding of the SDR 03 Technical Conference and Product Exposition. Copyright © 2003 SDR Forum. All Rights Reserved

33
Datapath Right-sizing

• DA FIR is malleable and 14-bit coefficients


provisions for
– Si/sample rate matching 4

– 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

OFDM Signal Processing 67

Implementation

OFDM Signal Processing 68

Proceeding of the SDR 03 Technical Conference and Product Exposition. Copyright © 2003 SDR Forum. All Rights Reserved

34
Correlator Arm (1 of 4)

OFDM Signal Processing 69

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

1. Device speed data version: ADVANCED 1.69 2002-11-07

OFDM Signal Processing 70

Proceeding of the SDR 03 Technical Conference and Product Exposition. Copyright © 2003 SDR Forum. All Rights Reserved

35
Channel Estimation/Equalization

• To achieve high data rates in OFDM coherent


detection is employed
• Detector relies on phase and amplitude
information on each flat fading subcarrier
• OFDM receiver must compensate for the effects
of the propagation channel before making symbol
decisions for each sub-carrier

OFDM Signal Processing 71

Channel Estimation/Equalization

• Compensating for the radio channel is partitioned


into two phases
– Channel estimation (acquisition)
– Channel equalization & tracking
• Channel estimation
– Frequency domain approaches
– Time domain approaches

OFDM Signal Processing 72

Proceeding of the SDR 03 Technical Conference and Product Exposition. Copyright © 2003 SDR Forum. All Rights Reserved

36
Channel Estimation Using Training Data

• Long training symbols in WLAN applications can


be used to estimate the frequency response for all
the subcarriers
• Averaging multiple training symbols may be used
to improve the estimate
• DFT at the Rx is a linear operation so that the
average can be computed prior to the transform

OFDM Signal Processing 73

Channel Estimation Using Training Data

• In single carrier systems the receiver is presented


with a data stream that is the result of a linear
convolution (tx data and channel)
• Of course it is not quite that simple
– Multipath
– AWGN
– Other interference (e.g. narrowband sources)

OFDM Signal Processing 74

Proceeding of the SDR 03 Technical Conference and Product Exposition. Copyright © 2003 SDR Forum. All Rights Reserved

37
Channel Estimation Using Training Data

• Cyclic extension of the FFT symbol makes the


channel filtering process look like a cyclic
convolution (as opposed to a linear convolution)
… at least as far as the tx data is concerned
• Recall the convolution property of the DFT
– Time-frequency duality
y (n) = h(n) ⊗ x(n) ←
→ Y ( z) = H ( z) X ( z)
where ⊗ denotes cyclic convolution

OFDM Signal Processing 75

Channel Estimation Using Training Data

• The phase and amplitude distortion introduced by


the channel can now be corrected using a single
complex multiplication per subcarrier
– 1 tap equalizer
• WLAN applications assume that the channel is
quasistationary
– Channel does not change during the packet transmission

OFDM Signal Processing 76

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

OFDM Signal Processing 77

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

OFDM Signal Processing 79

Implementation

• Fully parallel implementation of estimator and


equalizer
• 776 slices
• 10 multipliers
• 4 block RAMs

OFDM Signal Processing 80

Proceeding of the SDR 03 Technical Conference and Product Exposition. Copyright © 2003 SDR Forum. All Rights Reserved

40

S-ar putea să vă placă și