Fpgas In Digital Communications

  • June 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Fpgas In Digital Communications as PDF for free.

More details

  • Words: 2,688
  • Pages: 25
FPGAs in Digital Communications Dr Chris Dick DSP Chief Architect Director, Signal Processing Engineering

Digital Comm Examples • Channelized receiver to support – QAM – OFDM

• Examine – Channelizer implementation – QAM demodulator architecture – OFDM modulator/demodulator

Channelization 2

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

1

Passband Polyphase Filters channels

S( f )

f

fc

fc

fc

fc

fc

• In a FDM digital communication system a common requirement is, for each channel: – translate the channel to baseband – shape the channel spectrum – reduce the sample rate to match the channel bandwidth

• This is the function of a channelizer • When the channel spacing is equal a computationally efficient structure for performing the above functions is the carrier centered polyphase transform Channelization 3

Baseband Polyphase Filter h0 ( n) h1 (n )

x (n)

h2 ( n)

y ( Mn)

hM −1 ( n)

h0 (n) =

h0

hM

!

h1 (n) = "

h1 "

hM +1 "

! hN − M +1 ! "

hM −1 (n) = hM −1 h2 M −1 !

hN − M

hN −1

Channelization 4

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

2

Passband Polyphase Filters Express the filter coefficient set in terms of a course and vernier index r1 and r2 respectively h(n) = h(r1 + Mr2 )

r1 =0,… , M − 1, r2 =0,… ,

N −1 M

Invoke the modulation theorem to convert a prototype baseband filter to its equivalent carrier centered, or spectrally shifted version if

h(n) ⇔ H (θ )

then

h(n)e jθ 0n ⇔ H (θ − θ 0 )

Channelization 5

Passband Polyphase Filters The coefficients of the carrier centered filter are g ( n) = h( n)e jθ0 n | G (θ ) |

| H (θ ) |

−π

θ0

π

θ

Now perform a polyphase partition on the modulated coefficients g r1 (r2 ) = h(r1 + Mr2 )e jθ 0 ( r1 + Mr2 ) = h(r1 + Mr2 )e jθ0 r1 e jθ 0 Mr2 Select θ 0 so that a single period of the series e jθ0 n is harmonically related to M Channelization 6

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

3

Passband Polyphase Filters θ0 = k

Carrier centered polyphase filter the one structure • Translates the channel to baseband • Shapes the signal • Reduces the sample rate

2π M

g r1 ( r2 ) = h( r1 + Mr2 )e jθ 0 r1 e = h( r1 + Mr2 )e

jk

jk

2π Mr2 M

2π r1 M

e j 0θ k

h0 ( n) e j1θ k

x ( n)

h1 (n) y ( Mn, k ) e

j ( M − 2)θ k

hM −2 (n) e j ( M −1)θ k

hM −1 ( n) Channelization 7

Passband Polyphase Filters h0 (n) h1 (n)

y ( Mn, 0)

hM −2 (n) x ( n)

hM −1 (n) e j 0θ k

h0 (n) e j1θ k

Recovering 2 channels from FDM spectra The two sets of filters employ identical coefficients Note: the two sets of filters contain the same data

h1 (n)

y (Mn, k ) e j ( M − 2)θ k

hM − 2 ( n) e j ( M −1)θ k

hM −1 ( n)

Channelization 8

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

4

Polyphase Transform Recall that the IDFT of an M -point sequence Y (k ) is M −1

y (n) = ∑ Y ( k )e j 2π nk / M

n = 0,1,… , M − 1

k =0

If the M phase rotators are sequenced over all of the M values of k we recognize that this is the same as computing an IDFT

x ( n)

h0 ( n)

y ( Mn, 0)

h1 (n)

y ( Mn,1)

M-Point IDFT hM −2 (n)

y ( Mn, M − 2)

hM −1 ( n)

y ( Mn, M − 1)

Channelization 9

Channelizer Filter Bank 0 dB

-2 0 -4 0 -6 0 -8 0 -0 .5

0 F re q ue nc y

0 .5

dB

0 -2 0 -4 0 -6 0 -0 .0 6

-0 .0 4

-0 .0 2 0 0 .0 2 F re q ue nc y

0 .0 4

0 .0 6

Channelization 10

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

5

Phase Response of Paths in Ten Stage Polyphase Filter S pe ctra l P ha s e Res pons e of Te n P olypha s e Filte rs 0

-1

-2

Norma liz ed P ha s e (φ /2 π)

-3

-4

-5

-6

-7

-8

-9 0

0.05

0.1

0.15

0.2 0.25 0.3 Normale d Fre que nc y (f/fs )

0.35

0.4

0.45

0.5

Channelization 11

Group Delay of Paths in Ten-Stage Polyphase Filter S pe c tra l Group De la y Res pons e of Ten P olyphas e Filte rs -7

-7.2

-7.4

Norma liz e d Delay (∆ T/Ts )

-7.6

-7.8

-8

-8.2

-8.4

-8.6

-8.8

-9 0

0.05

0.1

0.15

0.2 0.25 0.3 Norma le d Fre que nc y (f/fs )

0.35

0.4

0.45

0.5

Channelization 12

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

6

40 Channel Polyphase Receiver Time Series Waterfall from 40-Channel Polyphase Receiver

0. 8

m a g n itud e

0. 6 0. 4 0. 2 0 40 35 30 25 20 15 10 c e n te r fre qu e n c y

5 0

0

10

20

40

30

50

60

70

80

90

1 00

tim e

Channelization 13

Channelized Receiver Example • Design a channelized receiver channels

X(f )

f

fc

fc

sample rate fs = 100 MHz, 12b samples 16 channels f c = 6.25 MHz M-ary QAM modulation concatenated decoder

fc

fc

fc

Filter requirements 60 dB stopband ripple 0.2 dB passband ripple

Channelization 14

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

7

Polyphase Channelizer ADC

x ( n)

h0 ( n)

Receiver 0

h1 (n)

Receiver 1

M-Point IDFT

VCO

Receiver n

Matched Filter

hM −2 (n)

Receiver M-2

hM −1 ( n)

Receiver M-1

Equalizer

FEC Dec

Det

Privacy Dec

Source Dec

Carrier Recovery Timing Recovery

Viterbi Dec

Deint.

RS Dec

Channelization 15

Channelizer Filter Design • Design the prototype filter fs = 100 MHz

|H(f)| PdB = 0.2 dB AdB = 60 dB f

f s = 0.0375 f p = 0.0250 ∆f = 0.0375 − 0.0250 = 0.0125 Filter length approximation due to Prof. fred harris San Diego State University

f s AdB ⋅ ∆f 22 1 60 = ⋅ = 219 0.0125 22 N≈

Channelization 16

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

8

Channelizer Implementation

Channelizer

Input Stimulus

Capture data to Matlab workspace for post analysis/display

Channelization 17

System Generator Implementation

quantize

1:16 decimator Physical level module generator is used to produce a highly efficient FPGA implementation of each block

Re-assemble filter outputs onto TDM bus for presentation to FFT

Polyphase Filter partition

Channelization 18

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

9

System Generator Implementation

Channelization 19

System Generator Implementation

Channelization 20

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

10

Filter Module

Channelization 21

System Generator Implementation -The Hardware Over-Sampling Rate (folding factor) field of the FIR filter block allows the designer to tradeoff throughput with FPGA area -The filter throughput is fclk/R where R is the Hardware Over-Samlping Rate and fclk is the filter clock rate … which is not necessarily the same as the filter sample rate -When R=1 a new filter output is generated on each clock cycle -For R=2 a new output is generated every second clock cycle -With this control the designer can realize a filter that best matches the requirements of the system

Channelization 22

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

11

System Generator Implementation • In this design the input sample rate is 100 MHz (12b samples) • The sample rate presented to each filter in the filter bank is 100e6/16 = 6.25 MHz • The most efficient implementation for the filters is to employ a folding factor equal to the input sample precision • The filters will be clocked at a frequency of 12 x 6.25e6 = 75 MHz • The digital clock manager (DCM) can be used to generate the various clock frequencies Channelization 23

System Generator Implementation

An FFT Core highly optimized for the FPGA is used in the design

Channelization 24

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

12

Implementation Statistics • Distributed arithmetic implementation employed in this example • Virtex-II Pro 2vp50-7 – Filter Bank: 6500 slices – fclk (max) = 200 MHz 2$

COMPLEX

×

×

16 $

14 $

SUB FILTER LENGTH

RE-SAMPLING RATIO

× 200 e6 = 90 GMACs $ CLOCK

• 448 mpys @ 200 MHz would be required to meet this performance using a MAC FIR approach • Use right algorithm for the problem • Explore the FPGA/algorithmic design space Channelization 25

Channelized Receiver Example (2) • Design a channelized receiver channels

X(f )

f

fc

– – – –

fc

fc

fc

fc

sample rate fs = 1 GHz, 12b samples 16 channels M-ary QAM modulation concatenated decoder

Channelization 26

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

13

Wide-Band Channelized Receiver • In this case the challenge is to deliver the samples from the 1 Giga-sample/s ADC to the DSP engine • Utilize the double data rate (DDR) capability of the Virtex-2 input/output blocks (IOBs) • Use the DCM to generate the required clocks

Channelization 27

High-Speed 1GHz ADC

Channelization 28

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

14

ADC Timing

Channelization 29

1GHz ADC-FPGA Interface Virtex-II FPGA DDR IOB

P0-P7

ADC

x (t )

DQ

DQ

x( n − 1)

DQ

DQ

x( n + 3)

DQ

DQ

x( n + 1)

DQ

DQ

x (n + 5)

DQ

DQ

x ( n)

DQ

DQ

x (n + 4)

250 MHz

DQ

DQ

x (n + 2)

DCM 125 MHz

DQ

DQ

x (n + 6)

DQ

A0-A7

f s = 1 GHz

DREADY 500 MHz

÷2

DQ DDR IOB DQ

P0-P7 = ADC Primary Data Port A0-A7 = ADC AUX Data Port DDR = Double Data Rate 250 MHz

DQ

Channelization 30

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

15

1 GHz Channelizer ADC

x ( n)

h0 ( n)

Receiver 0

h1 (n)

Receiver 1

M-Point IDFT

f s = 1 GHz

hM −2 (n)

Receiver M-2

hM −1 ( n)

Receiver M-1

f s1 = 1e9 /16 = 62.5 MHz

• Each polyphase sub-filter must support a throughput of 1e9/16 = 62.5 Ms/s • A 1 Giga-sample/s 16-point FFT is required Channelization 31

Implementation Statistics • Filter bank arithmetic requirements – 32 x 14 x 62.5e6 = 28 GMACs

• Distributed arithmetic filters used for polyphase filter bank

– Hardware folding factor = 2 • Each subfilter is allocated a 2 clock cycle schedule to execute • Filter bank fclk = 2 x 1e9/16 = 125 MHz • 2vP50-6 – 11,155 slices 47% of the device

• Interesting figure of merit: 28e9/11155 = 2.5 MMACs/logic slice Channelization 32

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

16

1 Giga-sample FFT in System Generator A very high-speed FFT is required for the channelizer 1 Giga-samples/s Built in System Generator

Channelization 33

1 Gs/s FFT in System Generator Butterfly network

Radix-4 butterfly

4-point FFT kernel

Channelization 34

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

17

Implementation Statistics • Vectorized interface – 1 vector delivered/produced each clock cycle

• FPGA utilization – 1,812 slices – 36 embedded multipliers

• • • •

In this design required FFT fclk = 62.5 MHz One transform every 16 ns FFT will support fclk = 210 MHz 8 radix-4 dragonflies – 64 complex additions • 128 x 210e6 = 26.9 GOPs/sec.

– 9 complex multiplications • 7.56 MMACs/sec. Channelization 35

Modified Channelizer • Conventional polyphase transform channelizer produces N maximally decimated output time series • Many comm systems like to operate on multiple samples/symbol – e.g. many timing recovery loops in QAM demodulators

• Could interpolate each channelizer output time-series • Alternative modify channelizer to embed (programmable) rate change

Channelization 36

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

18

On Multichannel Receivers With Arbitrary Uncoupled Selection of ... e j 2π ( f1 / fs ) n

Channel

P:Q Low Pass

Spacing

e j 2π ( f 2 / f s ) n

(P/Q)fs P:Q

Low Pass (P/Q)fs

fs

e

j 2π ( f 3 / f s ) n

P:Q

Low Pass

channel bandwidth and channel sample rate

(P/Q)fs

e

j 2π ( f 4 / f s ) n

P:Q

Low Pass (P/Q)fs

Channelization 37

Conventional Channelizer Application • Channelize • Downsample to Nyquist rate • Interpolate to two times symbol rate

Channelization 38

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

19

Enhanced Channelizer Solution • Replace Interpolator Function With Buffer Addressing

Channelization 39

Performance Specifications for 50-Channel Polyphase Channelizer

Channelization 40

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

20

Time and Frequency response of Remez Filter Design with Modified End Points Impuls e Res pons e, P rototype Filter 0.025

10

x 10

-4

Impuls e Res pons e, Detail

0.02 0.015

5

0.01 0.005

0

0 -0.005 0

100

200

300

400

500

-5 -10

0

10

20

30

40

50

60

Frequency Res pons e, P rototype Filter 10 0 log magnitude (dB)

-10 -20 -30 -40 -50 -60 -70 -80 -30

-20

-10

0 Normalized Frequency f/fChanne l

10

20

30

Channelization 41

Commutators for Standard Input Buffer and for Circular Input Buffer

Channelization 42

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

21

Standard Polyphase Channelizer and Modified Channelizer with Circular Buffers

Channelization 43

Shifting Time Origin for Input Data of Polyphase Filter and of Resetting FFT

Channelization 44

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

22

Content of 64-Point Circular Input Buffer for Two Successive 48 Point Input Blocks

Channelization 45

Shifting Time Origin for Input Data of Polyphase Filter and of Resetting FFT

Channelization 46

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

23

Contents of Transfer Circular Buffer Aligning Origins for Successive Input Blocks

Channelization 47

Implementation

Channelization 48

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

24

Implementation Statistics • 64 Channel channelizer • Arbitrary re-sampling – 1000 slices – 5 embedded mpy – 6 block Virtex-II block memories

Channelization 49

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

25

Related Documents