DSP für FPGAs - MATLAB & Simulink

Schulungen zu MATLAB und Simulink

Kursbeschreibung

In diesem dreitägigen Kurs erlernen Sie die Grundlagen der digitalen Signalverarbeitung aus dem Blickwinkel der Implementierung auf FPGAs. Dabei wird vor allem der Ressourcen- und Leistungsaufwand für die Implementierung verschiedener DSP-Techniken und Algorithmen hevorgehoben. Themen sind unter anderem:
 
  • 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:

Dauer: 3 Tage

Sprachen: English

Programm ansehen und anmelden