DSP für FPGAs
Programm ansehen und anmeldenKursbeschreibung
- Einführung in FPGA-Hardware und Technologie für DSP-Anwendungen
- DSP-Festkomma-Arithmetik
- Signalflussgraph-Methoden
- Generierung von HDL-Code für FPGAs
- Implementierung von Fast Fourier Transform (FFT)
- Entwurf und Implementierung von FIR-, IIR- und CIC-Filtern
- CORDIC-Algorithmen
- Entwurf und Implementierung von adaptiven Algorithmen wie LMS- und QR-Algorithmen
- Techniken zur Synchronisierung und Wiederherstellung des Timings bei digitaler Kommunikation
Day 1 of 3
Introduction to DSP FPGA Hardware
Objective: Provide introduction to DSP and FPGA. Understand general FPGA architecture and why FPGAs are uniquely suited to the implementation of DSP algorithms.
- From discrete logic to FPGAs -some history!
- The generic DSP system
- DSP cores and processors review
- Custom and semi-custom ASICs
- System-on-chip (SOC)
- FPGA flexibility and functionality
- FPGAs vs Programmable DSPs
FPGA Fundamental Concepts
Objective: Review the fundamental Concepts of FPGA-based implementations.
- Timing and critical path issues
- Pipelining
- Arithmetic implementation: multiply and add
- Parallel and serial implementations
- FIR Filters
FPGA Technology
Objective: Explore different AMD FPGA families and architectures.
- The FPGA technology roadmap
- Clocking rates, data rates, and sample rates
- FPGA memory and registers
- Input/output blocks and requirements
- Bits, Slices, and Configurable Logic Blocks
- FPGA Families
DSP Arithmetic Essentials
Objective: Understand fixed point binary arithmetic. Map arithmetic operations to AMD FPGA hardware.
- 2's complement fixed point arithmetic
- Full adders and multiplier cells
- Division and square root implementation
- Wordlength issues and Fixed point arithmetic
- Saturate and wraparound
- Overflow and underflow
Signal Flow Graph (SFG) Techniques
Objective: Review the representation of DSP algorithms using a signal flow graph. Use the Cut Set method to improve timing performance. Implement parallel and serial FIR filters.
- DSP/Digital Filter Signal Flow Graphs
- Latency, delays, and "anti-delays"
- Re-timing: Cut-set and delay scaling
- The transpose FIR
- Pipelining and multichannel architectures
- SFG topologies for FPGAs
Digital Filtering
Objective: Explore the different filter topologies
- Low pass, high pass, band pass, and band stop
- FIR, IIR, Adaptive
- Impulse Response
- Frequency Response
Day 2 of 3
Recursive DSP Retiming (IIR and LMS)
Objective: Review the retiming of parallel DSP signal flow graph architectures with feedback loops
- IIR
- Adaptive LMS
- Non-Canonical LMS
Serial Filter Implementation
Objective: Explore efficient implementation of oversampledfilters.
- Serial filters
- Serial-parallel filters
- Hardware cost
Multi-Channel Filter Implementation
Objective: Develop multi-channel filters using time-sharing signal flow graphs
- Cut set retiming
- Delay scaling rule
- Implementation issues
- Extending serial filters to multiple channels
Frequency Domain Processing
Objective: Discuss the theory and FPGA implementation of the Fast Fourier Transform.
- DFT, FFT and IFFT
- FFT FPGA architectures
- FFT wordlength growth and accuracy
Multirate Signal Processing for FPGAs
Objective: Develop polyphase structure for efficient implementation of multirate filters. Use CIC filter for interpolation and decimation.
- Upsampling and interpolation filters
- Downsampling and decimation filters
- Efficient arithmetic for FIR implementation
- Integrators and differentiators
- Half-band, moving average and comb filters
- Cascade Integrator Comb (CIC) Filters (Hogenauer)
- Efficient arithmetic for IIR Filtering
Day 3 of 3
CORDIC Techniques
Objective: Introduce the CORDIC algorithm for calculating trigonometric, linear, and hyperbolic functions.
- CORDIC rotation mode and vector mode
- Compute cosine and sine function
- Compute vector magnitude and angle
- Architecture for FPGA implementation
Adaptive DSP Algorithms and Applications
Objective: Introduce the LMS algorithm in adaptive signal processing. Illustrate QR algorithm as a Recursive Least Squares (RLS) technique and why it suits FPGA implementation.
- Adaptive applications (equalization, beamforming)
- LMS Algorithms and parallel implementation
- Non-canonical LMS algorithms
- Linear algebra; solving linear systems of equations
- The QR algorithm for adaptive signal processing
- QR processing requirements and numerical issues
Numerically Controlled Oscillators
Objective: Learn and compare different NCO architectures
- IIR filters
- CORDIC rotations
- Lookup Tables
- Evaluate spectral purity and SFDR
Timing and Synchronization Issues
Objective: Discuss symbol timing recovery, carrier phase recovery, carrier frequency recovery, and frame synchronization.
- Carrier recovery, squaring and Costas loops, PLLs
- Phase rotations; Sampling rate conversions
- Symbol timing recovery, early/late gate detection
- Delay locked loop timing and synchronization
Tag 1 von 3
Einführung in FPGA-Hardware für DSP-Anwendungen
Ziel: Verstehen der allgemeinen FPGA-Architektur und Erläuterung, weshalb FPGAs für die Implementierung von DSP-Algorithmen besonders geeignet sind.
- Geschichte von FPGAs
- Ein typisches DSP-System
- Betrachtung verschiedener DSP-Bestandteile und Prozessoren
- Vollständig und teilweise angepasste ASICs
- System-on-Chip (SoC)
- FPGA-Flexibilität und -Funktionalität
- FPGAs im Vergleich zu programmierbaren DSPs
Lineare DSP-Algorithmen
Ziel: Wiederholung grundsätzlicher Konzepte der digitalen Signalverarbeitung wie Abtasttheorem, Quantisierung, Fourier Transformation und digitaler Filterentwurf.
- Aliasing und Rekonstruktionsfilter
- Abtastraten und Wortlängen
- Z-Transformation und Analyse
- FIR- und IIR-Filter
- Design und Spezifikation digitaler Filter
- Überabtastungsmethoden (Sigma-Delta)
FPGA-Technologie
Ziel: Analyse verschiedener Xilinx-FPGA-Familien und Architekturen. Einführung in die FPGAs Spartan-3 und Virtex-5.
- Überblick über FPGA-Technologien
- Takt-, Daten- und Abtastraten
- FPGA-Speicher und -Register
- Ein- und Ausgangsblöcke und deren Spezifikationen
- Bits, Slices und Configurable Logic Blocks (CLBs)
- Leistungsvergleich
- FPGA-Familien und -Dokumentation
FPGA-Elemente für DSP-Algorithmen
Ziel: Verstehen von DSP-Blöcken, Clocking-Elemente und Leistungsaufwand.
- Erzeugen von Verzögerungsketten und Schieberegistern
- Benutzung von RAM (Speicher) in FPGAs
- Wandlung seriell-zu-parallel-zu-seriell
- Multiplexer für Kanalselektion
- Volladdierer, Übertragslogik und Additionsbäume
- Multiplizierer: Shift and Add, ROM-basiert
- Effiziente Multiplizierer-Implementierung
Grundlagen der DSP-Arithmetik
Ziel: Verstehen von binärer Fixed-Point-Arithmetik. Übertragung arithmetischer Operationen auf Xilinx-FPGA-Hardware.
- Fixed-Point-Arithmetik mit 2'er-Komplement
- Basisaddierer und -multiplizierer-Arrays
- Divisions- und Quadratwurzel-Arrays
- Wortlängenprobleme und Fixed-Point-Arithmetik
- Saturierung und Wrap-Around
- Über- und Unterlauf
Techniken zu Signalflussgraphen (SFG)
Ziel: Darstellung der DSP-Algorithmen als Signalflussgraphen. Benutzen der Cut-Set-Methode, um das Timing zu verbessern. Implementieren von parallelen und seriellen FIR-Filtern.
- Signalflussgraphen von DSP- und Digitalfiltern
- Latenz, Verzögerung und „Anti-Verzögerung“
- Re-timing: Cut-Set- und Verzögerungsskalierung
- Transponierte FIR-Filter
- Pipelining und Multichannel-Architekturen
- SFG-Topologien für FPGAs
Tag 2 von 3
Arbeiten im Frequenzbereich
Ziel: Besprechen von Theorie und FPGA-Implementierung der Fast-Fourier-Transformation (FFT).
- DFT, FFT und IFFT
- FFT-FPGA-Architekturen
- Wortlängenwachstum und Genauigkeit bei FFT
Multiraten-Signalverarbeitung bei FPGAs
Ziel: Entwicklung von Polyphasenstrukturen für die effiziente Implementierung von Multiraten-Filtern. Einsatz von CIC-Filtern für Interpolation und Dezimierung.
- Upsampling und Interpolationsfilter
- Downsampling und Dezimierungsfilter
- Effiziente Arithmetik bei der FIR-Filter-Implementierung
- Integratoren und Differenzierer
- Filter mit halber Bandbreite, gleitender Mittelwert und Kammfilter
- Cascaded Integrator Comb (CIC) Filter (Hogenauer)
- Effiziente Arithmetik bei der IIR-Filterung
CORDIC-Techniken
Ziel: Einführung in CORDIC-Algorithmen für die Berechnung verschiedener trigonometrischer Funktionen.
- CORDIC-Rotationsmodus und Vektormodus
- Berechnung der Cosinus- und Sinusfunktion
- Berechnung von Vektorlänge und -winkel
- Architektur für FPGA-Implementierung
Tag 3 von 3
Adaptive DSP-Algorithmen und -Anwendungen
Ziel: Vorstellung des LMS-Algorithmus für die adaptive Signalverarbeitung. Erläuterung des QR-Algorithmus als „Recursive Least Squares (RLS)“-Technik und weshalb dieser Algorithmus für die FPGA-Implementierung besonders geeignet ist.
- Adaptive Anwendungen (Equalisation, Beamforming)
- LMS-Algorithmus und dessen parallele Implementierung
- Nichtkanonischer LMS-Algorithmus
- Lineare Algebra, Lösen linearer Gleichungssysteme
- Der QR-Algorithmus für die adaptive Signalverarbeitung
- QR-Berechnungsvoraussetzungen und numerische Probleme
DSP für Kommunikationstechnik auf FPGAs
Ziel: Überblick zur Quadraturamplitudenmodulation Pulsformung. Diskussion zur Implementierung von numerisch gesteuerten Oszillatoren (NCOs).
- Quadraturphasenumtastung (QPSK)
- Sende- und Empfangsfilter (Root-Raised-Cosine)
- Unterabtastung und digitaler Abwärtsmischer
- Direkter, digitaler Aufwärtsmischer
- Digitale IF-Stufen (und fs/4-Systeme)
- Numerisch gesteuerter Oszillator (NCO)
- Designpartitionierung für FPGAs
Timing- und Synchronisationsprobleme
Ziel: Behandlung von Symbol-Timing-, Trägerphasen- und Trägerfrequenzwiederherstellung sowie Rahmensynchronisation.
- Trägerwiederherstellung, Quadratur und Costas-Schleifen, PLLs
- Phasenrotationen; Abtastratenkonvertierungen
- Symbol-Timing-Wiederherstellung, Early/Late-Gate-Erkennung
- Timing- und Synchronisationsprobleme bei Delay-Locked-Loops (DLLs)
Stufe: Fortgeschrittenenkurse
Voraussetzungen:
- Kenntnisse in MATLAB® und Simulink® entsprechend den Schulungen MATLAB Grundlagen sowie Simulink Grundlagen
Dauer: 3 Tage
Sprachen: English