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