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

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:

Dauer: 3 Tage

Sprachen: English

Programm ansehen und anmelden