FPGA Implementation of Denoising in OFDM Systems using DSP Design Module

23
FPGA Implementation of Denoising in OFDM Systems using DSP Design Module Prof. Brian L. Evans PhD Students Jing Lin, Yousof Mortazavi, Marcel Nassar & Karl Nieman Wireless Networking and Communications Group Department of Electrical and Computer Engineering Cockrell School of Engineering The University of Texas at Austin May 10, 2012

description

FPGA Implementation of Denoising in OFDM Systems using DSP Design Module. Prof. Brian L. Evans PhD Students Jing Lin, Yousof Mortazavi , Marcel Nassar & Karl Nieman Wireless Networking and Communications Group Department of Electrical and Computer Engineering - PowerPoint PPT Presentation

Transcript of FPGA Implementation of Denoising in OFDM Systems using DSP Design Module

Page 1: FPGA Implementation of  Denoising  in  OFDM Systems using DSP Design Module

FPGA Implementation of Denoising in OFDM Systems using DSP Design Module

Prof. Brian L. EvansPhD Students

Jing Lin, Yousof Mortazavi, Marcel Nassar & Karl NiemanWireless Networking and Communications Group

Department of Electrical and Computer EngineeringCockrell School of Engineering

The University of Texas at Austin

May 10, 2012

Page 2: FPGA Implementation of  Denoising  in  OFDM Systems using DSP Design Module

Outline

Part I• Algorithm Description• Project Goals• System Design and ImplementationPart II• DemonstrationPart III• Conclusions and Discussion

2Outline | Background | System Design and Implementation | Conclusions

Page 3: FPGA Implementation of  Denoising  in  OFDM Systems using DSP Design Module

Impulsive Noise in Communication Systems

3

3.25 3.3 3.35 3.4 3.45 3.5 3.55 3.6x 10

6

-200

-100

0

100

200

samples Index

Vol

tage

Lev

el

Wireless CommunicationSources

Uncoordinated transmission

Computational PlatformClocks, buses and processorsOther embedded transmitters

Antennas

Baseband Processor

Non-CommunicationSources

Electromagnetic radiation

Outline | Background | System Design and Implementation | Conclusions

Noise Measurement

BackgroundNoise

Page 4: FPGA Implementation of  Denoising  in  OFDM Systems using DSP Design Module

4

Impulsive Noise in OFDM Systems

• FFT spreads received impulsive noise across all FFT bins

• SNR of each FFT bin is decreased• Receiver communication performance degrades

IFFT Filter + FFTEqualizer

and detectorVector

of symbolamplitudes(complex)

Outline | Background | System Design and Implementation | Conclusions

Channel

Receiverx y

Gaussian (g) + ImpulsiveNoise (e)

Page 5: FPGA Implementation of  Denoising  in  OFDM Systems using DSP Design Module

Impulsive Noise Mitigation (Denoising)

• N FFT bins (tones)• Transmitter null tones have zero power• Received null tones contain noise

• Impulsive noise estimation• Exploit sparse structure of null tones• FJ is over complete dictionary• e is sparse vector• g is complex Gaussian (g = F w)

5

IFFT Filter + + FFTEqualizer

and detectorImpulsive

noise estimation

Gaussian (w) + ImpulsiveNoise (e)

Vectorof symbolamplitudes(complex)

+-

Channel

Receiver

J is set of null tones (i.e. xj = 0)F is N x N FFT matrix

x y

|J| x N

Page 6: FPGA Implementation of  Denoising  in  OFDM Systems using DSP Design Module

6

Sparse Bayesian Learning (SBL)Step 1: Maximum likelihood estimate of hyper-parameters

Step 2: Estimate e from posterior mean:

Matrix MultiplyMatrix Inverse

Norm

Outline | Background | System Design and Implementation | Conclusions

-10 -5 0 5 1010

-5

10-4

10-3

10-2

10-1

SNR (dB)

Sym

bol E

rror R

ate

No cancellationSBL w/ null tonesSBL w/ all tones

~10dB~6dB

Page 7: FPGA Implementation of  Denoising  in  OFDM Systems using DSP Design Module

Project GoalsFrom theory to implementation:• understand computational requirements• determine real-time constraints in target application• find feasible solution

Steps involved:• develop floating-point model and simulator• fixed-point transformation• hardware/software partitioning• implementation

7Outline | Background | System Design and Implementation | Conclusions

Page 8: FPGA Implementation of  Denoising  in  OFDM Systems using DSP Design Module

Chassis

NI Flex RIO(NI PXIe-7965R)SBL

Hardware

FPGA (hardware)

RT Host (software)

SBLSoftware

SimulatorNI Embedded Controller

(NI PXIe-8133)

NI PXIe Chassis(NI PXIe-1082)

System Design and Implementation Using NI Products

NI LabVIEW RT

NI LabVIEW FPGADSP Design Module

Outline | Background | System Design and Implementation | Conclusions

Page 9: FPGA Implementation of  Denoising  in  OFDM Systems using DSP Design Module

SBLHardware

SBLSoftware

Current Hardware/Software Partitioning

Outline | Background | System Design and Implementation | Conclusions

SBL Software

SBL Hardware

N = 128M = 32

(diagonal)

scalar

Page 10: FPGA Implementation of  Denoising  in  OFDM Systems using DSP Design Module

Computational Requirements for Powerline Communications

Major operations• N-point fast Fourier transform (N=128)• vector dot product (length 32, 128)• matrix-vector multiplication (32x128) x (128x1) • matrix-matrix multiplication (128x32) x (32x128)• matrix inversion (32x32)• multiple iterations per symbol (30 or more)

Real-time requirementprocessing time < OFDM symbol duration (231.7- 2240 µs)

Outline | Background | System Design and Implementation | Conclusions

Page 11: FPGA Implementation of  Denoising  in  OFDM Systems using DSP Design Module

FPGA hardware design using NI DSP Design ModuleDSP Diagram implements • FFT (N=128)• accumulators, adders, subtracters, multipliers• vector scaling (element-by-element)• 2-norm calculation (squaring + accumulating)

Outline | Background | System Design and Implementation | Conclusions

Page 12: FPGA Implementation of  Denoising  in  OFDM Systems using DSP Design Module

Fixed Point Transformation

Outline | Background | System Design and Implementation | Conclusions

Page 13: FPGA Implementation of  Denoising  in  OFDM Systems using DSP Design Module

Fixed Point Model of Computations in FPGA

Outline | Background | System Design and Implementation | Conclusions

Page 14: FPGA Implementation of  Denoising  in  OFDM Systems using DSP Design Module

Designing Wordlengths• MATLAB

• Displays statistics • Allows analysis of bit allocation• Graphical control• Automatic Settings

• LabVIEW• Used max/min (absolute value) to understand range at each node• Saturation indicators • Tedious manual process• Better to iterate in LabVIEW RT than on FPGA

14

Page 15: FPGA Implementation of  Denoising  in  OFDM Systems using DSP Design Module

Compile Results

FPGA hardware implementation can exploit parallelism by using more adders and multipliers!

Parallelism and pipelining can increase the maximum frequency.

15Outline | Background | System Design and Implementation | Conclusions

Page 16: FPGA Implementation of  Denoising  in  OFDM Systems using DSP Design Module

Advantages of NI DSP Design Module

FPGA implementation is greatly simplified!Good level of abstraction to focus on algorithm development and increase productivity, rather than worry about:• clock domains• FIFOs and sizing• handshaking (e.g. data valid, ready for input, output ready, etc.)• DMA transfers between FPGA and host• etc.

Can do a lot with very little/no LabVIEW FPGA coding

Automatic test bench generation also very useful!

16Outline | Background | System Design and Implementation | Conclusions

Page 17: FPGA Implementation of  Denoising  in  OFDM Systems using DSP Design Module

More advanced use of NI DSP Design Module

Matrix operations are not currently supported

May create custom “DSP Blocks” to load in DSP Diagram

Custom (high performance) blocks are coded in LabVIEW FPGA at a lower abstraction (requires more experience)

Implemented a 32x32 matrix-matrix complex multiply using 128 (out of 640) hardware multipliers on Virtex-5 SX95T FPGA

17Outline | Background | System Design and Implementation | Conclusions

Page 18: FPGA Implementation of  Denoising  in  OFDM Systems using DSP Design Module

Example 32 Element Vector Dot Product

Can make high performance blocks, with a little wiring!

18Outline | Background | System Design and Implementation | Conclusions

Page 19: FPGA Implementation of  Denoising  in  OFDM Systems using DSP Design Module

Example 32x32 Matrix Matrix Multiply

19Outline | Background | System Design and Implementation | Conclusions

Page 20: FPGA Implementation of  Denoising  in  OFDM Systems using DSP Design Module

LabVIEW FPGA IP Builder• Fortunately, a new NI product called IP Builder can

simplify custom hardware design using more “software-like” structures

Outline | Background | System Design and Implementation | Conclusions

Page 21: FPGA Implementation of  Denoising  in  OFDM Systems using DSP Design Module

DEMO

Outline | Background | System Design and Implementation | Conclusions

Page 22: FPGA Implementation of  Denoising  in  OFDM Systems using DSP Design Module

Future Work at UTImplement more blocks in hardware

• Use IP Builder for matrix operations• QR decomposition in FPGA• Inversion with QR

Develop sequential version of algorithm with hardware implementation in mind

Use ADC/DAC and physical channel instead of simulator

Outline | Background | System Design and Implementation | Conclusions

Page 23: FPGA Implementation of  Denoising  in  OFDM Systems using DSP Design Module

Thank you for your attention!

23