Top Banner
FPGA Digital Signal Processing Derek Kozel July 15, 2017
35

FPGA Digital Signal Processing - Derek Kozel · labview fpga • Graphical Block ... • Digital Down Converter, Digital Up Converter, FFT, FIR filter, Signal Generator, ... FPGA

Jul 30, 2018

Download

Documents

trandung
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: FPGA Digital Signal Processing - Derek Kozel · labview fpga • Graphical Block ... • Digital Down Converter, Digital Up Converter, FFT, FIR filter, Signal Generator, ... FPGA

FPGA Digital Signal Processing

Derek KozelJuly 15, 2017

Page 2: FPGA Digital Signal Processing - Derek Kozel · labview fpga • Graphical Block ... • Digital Down Converter, Digital Up Converter, FFT, FIR filter, Signal Generator, ... FPGA

table of contents

1. Field Programmable Gate Arrays (FPGAs)

2. FPGA Programming Options

3. Common DSP Elements

4. RF Network on Chip

5. Applications

1

Page 3: FPGA Digital Signal Processing - Derek Kozel · labview fpga • Graphical Block ... • Digital Down Converter, Digital Up Converter, FFT, FIR filter, Signal Generator, ... FPGA

derek kozel

• Electrical and Computer Engineering• US Extra Licence - AG6PO• Amateur Radio in University (W3VC, W6CMU)• Radio at work

• Distributed sensor networks• SDR Cellular basestations• General Purpose SDR (Ettus)

• Living in Cardiff, Wales, UK, Europe, Earth

2

Page 4: FPGA Digital Signal Processing - Derek Kozel · labview fpga • Graphical Block ... • Digital Down Converter, Digital Up Converter, FFT, FIR filter, Signal Generator, ... FPGA

Field Programmable Gate Arrays(FPGAs)

Page 5: FPGA Digital Signal Processing - Derek Kozel · labview fpga • Graphical Block ... • Digital Down Converter, Digital Up Converter, FFT, FIR filter, Signal Generator, ... FPGA

what are fpgas

• Integrated Circuits containing a complex array of logic cells, memory, DSP units, andoptional extra interfaces

• Logic operations can be reprogrammed repeatedly• Slower than dedicated ICs, but flexible like software

3

Page 6: FPGA Digital Signal Processing - Derek Kozel · labview fpga • Graphical Block ... • Digital Down Converter, Digital Up Converter, FFT, FIR filter, Signal Generator, ... FPGA

why use fpgas?

• Best of high bandwidth frontend, low datarate to host• Can be energy efficient vs CPUs or GPUs• Very good at realtime stream processing

4

Page 7: FPGA Digital Signal Processing - Derek Kozel · labview fpga • Graphical Block ... • Digital Down Converter, Digital Up Converter, FFT, FIR filter, Signal Generator, ... FPGA

fpga insides

• Logic resources are grouped into slices (Configurable Logic Blocks)• Look Up Tables (LUT)• Flip-Flips• Multiplexers (Muxes)

• Block RAM: configurable memory modules• DSP Slice: add/subtract, multiply, accumulate, magic

5

Page 8: FPGA Digital Signal Processing - Derek Kozel · labview fpga • Graphical Block ... • Digital Down Converter, Digital Up Converter, FFT, FIR filter, Signal Generator, ... FPGA

FPGA Programming Options

Page 9: FPGA Digital Signal Processing - Derek Kozel · labview fpga • Graphical Block ... • Digital Down Converter, Digital Up Converter, FFT, FIR filter, Signal Generator, ... FPGA

hardware description languages

[fragile]

• (System)Verilog and VHDL• PyHDL, SystemC, ...

6

Page 10: FPGA Digital Signal Processing - Derek Kozel · labview fpga • Graphical Block ... • Digital Down Converter, Digital Up Converter, FFT, FIR filter, Signal Generator, ... FPGA

xilinx high level synthesis

• ”Compile” C, C++, or SystemC to an FPGA bitstream

7

Page 11: FPGA Digital Signal Processing - Derek Kozel · labview fpga • Graphical Block ... • Digital Down Converter, Digital Up Converter, FFT, FIR filter, Signal Generator, ... FPGA

labview fpga

• Graphical Block based library of IP• Generates FPGA and host code

8

Page 12: FPGA Digital Signal Processing - Derek Kozel · labview fpga • Graphical Block ... • Digital Down Converter, Digital Up Converter, FFT, FIR filter, Signal Generator, ... FPGA

matlab simulink

• Graphical environment with IP generators for a variety of DSP operations• Can synthesize the FPGA image along with host code

9

Page 13: FPGA Digital Signal Processing - Derek Kozel · labview fpga • Graphical Block ... • Digital Down Converter, Digital Up Converter, FFT, FIR filter, Signal Generator, ... FPGA

Common DSP Elements

Page 14: FPGA Digital Signal Processing - Derek Kozel · labview fpga • Graphical Block ... • Digital Down Converter, Digital Up Converter, FFT, FIR filter, Signal Generator, ... FPGA

example sdr transceiver

10

Page 15: FPGA Digital Signal Processing - Derek Kozel · labview fpga • Graphical Block ... • Digital Down Converter, Digital Up Converter, FFT, FIR filter, Signal Generator, ... FPGA

filters

• Finite Impulse Response (FIR) Filter• Halfband Filter

• Symmetrical coefficients allow for a 50% smaller filter

11

Page 16: FPGA Digital Signal Processing - Derek Kozel · labview fpga • Graphical Block ... • Digital Down Converter, Digital Up Converter, FFT, FIR filter, Signal Generator, ... FPGA

rate changes

• Interpolation and Decimation• Reduces the sample rate the host must handle• Decimation can improve SNR

12

Page 17: FPGA Digital Signal Processing - Derek Kozel · labview fpga • Graphical Block ... • Digital Down Converter, Digital Up Converter, FFT, FIR filter, Signal Generator, ... FPGA

rate changes - cic

Cascaded-Integrator-Comb Filter

• Optimized FIR filter• Allows for flexible decimation (ie divide by 1-255)• Can work as a moving average as well

13

Page 18: FPGA Digital Signal Processing - Derek Kozel · labview fpga • Graphical Block ... • Digital Down Converter, Digital Up Converter, FFT, FIR filter, Signal Generator, ... FPGA

rate changes - cic

Cascaded-Integrator-Comb Filter

• Has poor filter roll off at odd rates• A compensation filter can be added to reduce the impact

14

Page 19: FPGA Digital Signal Processing - Derek Kozel · labview fpga • Graphical Block ... • Digital Down Converter, Digital Up Converter, FFT, FIR filter, Signal Generator, ... FPGA

frequency shifting

• CORDIC• Quarter Rate Downconverter

15

Page 20: FPGA Digital Signal Processing - Derek Kozel · labview fpga • Graphical Block ... • Digital Down Converter, Digital Up Converter, FFT, FIR filter, Signal Generator, ... FPGA

RF Network on Chip

Page 21: FPGA Digital Signal Processing - Derek Kozel · labview fpga • Graphical Block ... • Digital Down Converter, Digital Up Converter, FFT, FIR filter, Signal Generator, ... FPGA

rfnoc

• FPGA data flow architecture to simplify DSP development and use• Standard AXI interface for data processing• Software API for register access• Allows for runtime reconfiguration

16

Page 22: FPGA Digital Signal Processing - Derek Kozel · labview fpga • Graphical Block ... • Digital Down Converter, Digital Up Converter, FFT, FIR filter, Signal Generator, ... FPGA

rfnoc

• Better to move computation into the FPGA• CPU usage savings and a 50% datarate reduction to the host

17

Page 23: FPGA Digital Signal Processing - Derek Kozel · labview fpga • Graphical Block ... • Digital Down Converter, Digital Up Converter, FFT, FIR filter, Signal Generator, ... FPGA

rfnoc architecture

• Reconfigurable, flexible, ”simple” API• Framework handles packetization, access to registers

18

Page 24: FPGA Digital Signal Processing - Derek Kozel · labview fpga • Graphical Block ... • Digital Down Converter, Digital Up Converter, FFT, FIR filter, Signal Generator, ... FPGA

rfnoc architecture

19

Page 25: FPGA Digital Signal Processing - Derek Kozel · labview fpga • Graphical Block ... • Digital Down Converter, Digital Up Converter, FFT, FIR filter, Signal Generator, ... FPGA

rfnoc blocks

• A collection of Computation Engine blocks included in UHD and GNU Radio• Some common blocks

• Digital Down Converter, Digital Up Converter, FFT, FIR filter, Signal Generator, Vector IIR

• Basics• Digital Gain, Keep 1 in N, Log Power, Split Stream, DmaFIFO, Adder/Subtractor

• Modulation components• OFDM Sync, Equalizer, Constellation Demodulator

20

Page 26: FPGA Digital Signal Processing - Derek Kozel · labview fpga • Graphical Block ... • Digital Down Converter, Digital Up Converter, FFT, FIR filter, Signal Generator, ... FPGA

Applications

Page 27: FPGA Digital Signal Processing - Derek Kozel · labview fpga • Graphical Block ... • Digital Down Converter, Digital Up Converter, FFT, FIR filter, Signal Generator, ... FPGA

fosphor

• Realtime Spectrum Analyzer application• Developed by Sylvain Manaut• FPGA calculates FFTs and heatmap• Massively reduced throughput to host, minimal cpu load

21

Page 28: FPGA Digital Signal Processing - Derek Kozel · labview fpga • Graphical Block ... • Digital Down Converter, Digital Up Converter, FFT, FIR filter, Signal Generator, ... FPGA

• Sponsored by Ettus Research and Xilinx• USD $10,000 prize, hardware prizes for runners up• Many entries, three finalists

22

Page 29: FPGA Digital Signal Processing - Derek Kozel · labview fpga • Graphical Block ... • Digital Down Converter, Digital Up Converter, FFT, FIR filter, Signal Generator, ... FPGA

atsc reception

• Demodulating digital television in the FPGA

• Developed by:

• Andrew Valenzuela Lanez | [email protected]• Sachin Bharadwaj Sundramurthy | [email protected]• Alireza Khodamoradi | [email protected]

23

Page 30: FPGA Digital Signal Processing - Derek Kozel · labview fpga • Graphical Block ... • Digital Down Converter, Digital Up Converter, FFT, FIR filter, Signal Generator, ... FPGA

wide band channel sounder

• Characterizing the properties of an RF link

• Developed by:

• Bhargav Gokalgandhi [email protected]• Prasanthi Maddala [email protected]• Ivan Seskar [email protected]

24

Page 31: FPGA Digital Signal Processing - Derek Kozel · labview fpga • Graphical Block ... • Digital Down Converter, Digital Up Converter, FFT, FIR filter, Signal Generator, ... FPGA

neural networks

• Neural Network based DSP

• Developed by:

• EJ Kreinar [email protected]

25

Page 32: FPGA Digital Signal Processing - Derek Kozel · labview fpga • Graphical Block ... • Digital Down Converter, Digital Up Converter, FFT, FIR filter, Signal Generator, ... FPGA

questions

Questions?

The latest version of these slides can always be found athttp://www.derekkozel.com/talks

@derekkozel

26

Page 33: FPGA Digital Signal Processing - Derek Kozel · labview fpga • Graphical Block ... • Digital Down Converter, Digital Up Converter, FFT, FIR filter, Signal Generator, ... FPGA

gnu radio conference

GNU Radio Conference is being held in San Diego in September!

http://www.gnuradio.org

Page 34: FPGA Digital Signal Processing - Derek Kozel · labview fpga • Graphical Block ... • Digital Down Converter, Digital Up Converter, FFT, FIR filter, Signal Generator, ... FPGA

amsat phase 4b

AMSAT’s Phase 4B satellite and groundstation will likely use FPGA based SDRs!https://phase4ground.github.io/

Page 35: FPGA Digital Signal Processing - Derek Kozel · labview fpga • Graphical Block ... • Digital Down Converter, Digital Up Converter, FFT, FIR filter, Signal Generator, ... FPGA

colophon

The presentation was created using XeTeX and Beamer using the Metropolis theme.

github.com/matze/mtheme

The theme itself is licensed under a Creative Commons Attribution-ShareAlike 4.0International License.

cba