Formazione MATLAB e Simulink

DSP per FPGA

Dettagli dei corsi

Questo corso di tre giorni esaminerà i fondamenti del DSP dal punto di vista dell'implementazione all'interno del FPGA. Particolare enfasi sarà data ai costi, sia in termini di risorse che di prestazioni, associati all'implementazione di varie tecniche e algoritmi DSP.

Elenco degli argomenti:

  • Introduzione all'hardware e alla tecnologia FPGA per applicazioni DSP
  • Aritmetica a virgola fissa DSP
  • Tecniche di grafici di flusso dei segnali
  • Generazione di codice HDL per FPGA
  • Implementazione della trasformata di Fourier veloce (FFT)
  • Progettazione e implementazione di filtri FIR, IIR e CIC
  • Algoritmo CORDIC
  • Progettazione e implementazione di algoritmi adattivi come l'algoritmo LMS e QR
  • Tecniche per la sincronizzazione e il recupero della temporizzazione delle comunicazioni digitali

Giorno 1


Introduzione all'hardware DSP FPGA

Obiettivo: Fornire un'introduzione a DSP e FPGA. Comprendere l'architettura generale FPGA e perché gli FPGA sono particolarmente adatti all'implementazione di algoritmi DSP.

  • Dalla logica discreta agli FPGA: qualche accenno storico
  • Il sistema DSP generico
  • Basi DSP e ripasso dei processori
  • ASIC personalizzati e parzialmente personalizzati
  • System-on-chip (SOC)
  • Flessibilità e funzionalità FPGA
  • Confronto tra FPGA e DSP programmabili

Ripasso dell'algoritmo DSP dei sistemi lineari

Obiettivo: Ripassare i concetti fondamentali del teorema del campionamento, della quantizzazione, dell'analisi di Fourier e della progettazione di filtri digitali.

  • Filtri di aliasing e di ricostruzione
  • Rate di campionamento e lunghezze di parola
  • Registrazione del dominio Z e analisi fondamentale
  • Filtri FIR e IIR
  • Progettazione e specifiche dei filtri digitali
  • Tecniche di sovracampionamento (sigma delta)

Tecnologia FPGA

Obiettivo: Scoprire diverse architetture e famiglie di FPGA Xilinx. Fornire un'introduzione agli FPGA Spartan 3 e Virtex-5.

  • Il funzionamento della tecnologia FPGA
  • Velocità di clock, velocità di dati e velocità di campionamento
  • Memoria e registri FPGA
  • Blocchi di input/output e requisiti
  • Bit, sezioni e blocchi logici configurabili
  • Valutazioni delle prestazioni dei MIP paragonabili
  • Fonti e famiglie FPGA

Elementi FPGA per algoritmi DSP

Obiettivo: Capire le sezioni del DSP, le risorse di clock e il consumo di energia.

  • Costruzione di delay line e registri a scorrimento
  • Uso della RAM (memoria) su FPGA
  • Da seriale a parallelo e da parallelo a seriale
  • Multiplexor per la selezione dei canali
  • Sommatori completi, logica di riporto e alberi di sommatori
  • Moltiplicatori: Shift-and-add; basato su ROM
  • Implementazione efficiente dei moltiplicatori

Nozioni fondamentali di aritmetica DSP

Obiettivo: Comprendere l'aritmetica binaria a virgola fissa. Mappare le operazioni aritmetiche sull'hardware Xilinx FPGA.

  • Aritmetica a virgola fissa in complemento a 2
  • Sommatori fondamentali e array di moltiplicatori
  • Array di divisione e radice quadrata... non proprio semplici.
  • Problemi di lunghezza della parola e aritmetica a virgola fissa
  • Saturazione e wraparound
  • Overflow e underflow

Tecniche di grafici di flusso dei segnali (SFG)

Obiettivo: Ripassare la rappresentazione degli algoritmi DSP utilizzando il grafico del flusso del segnale. Usare il metodo Cut Set per migliorare le prestazioni delle tempistiche. Implementare filtri FIR paralleli e seriali.

  • Grafici di flusso dei segnali del filtro DSP/Digital
  • Latenza, ritardi e "anti ritardi"
  • Retiming: Cut Set e scalatura dei ritardi
  • La trasposizione FIR
  • Pipelining e architetture multicanale
  • Topologie SFG per FPGA

Giorno 2


Elaborazione nel dominio della frequenza

Obiettivo: Illustrare la teoria e l'implementazione FPGA della trasformata veloce di Fourier.

  • DFT, FFT e IFFT
  • Architetture FFT FPGA
  • Crescita della precisione e della lunghezza della parola FFT

Elaborazione dei segnali multi-rate per FPGA

Obiettivo: Sviluppare la struttura polifase per un'implementazione efficiente dei filtri multi-rate. Usare il filtro CIC per l'interpolazione e la decimazione.

  • Filtri di sovracampionamento e interpolazione
  • Filtri di sottocampionamento e decimazione
  • Aritmetica efficiente per l'implementazione di FIR
  • Integratori e differenziatori
  • Filtri a mezza banda, a media mobile e a pettine
  • Filtri Cascade Integrator Comb (CIC) (Hogenauer)
  • Aritmetica efficiente per il filtraggio IIR

Tecniche CORDIC

Obiettivo: Introdurre l'algoritmo CORDIC per il calcolo di varie funzioni trigonometriche.

  • Modalità di rotazione CORDIC e modalità vettoriale
  • Calcolo delle funzioni coseno e seno
  • Calcolo della grandezza e dell'angolo del vettore
  • Architettura per l'implementazione FPGA

Giorno 3


Algoritmi DSP adattivi e applicazioni

Obiettivo: Introdurre l'algoritmo LMS nell'elaborazione adattiva dei segnali. Illustrare l'algoritmo QR come tecnica RLS (Minimi quadrati ricorsivi) e spiegare perché è particolarmente adatto all'implementazione FPGA.

  • Applicazioni adattive (equalizzazione, beamforming)
  • Algoritmi LMS e implementazione parallela
  • Algoritmi LMS non canonici
  • Algebra lineare; risoluzione di sistemi lineari di equazioni
  • L'algoritmo QR per l'elaborazione adattiva dei segnali
  • Requisiti di elaborazione QR e problemi numerici

Comunicazioni abilitate da DSP e FPGA

Obiettivo: Ripassare la modulazione in quadratura e la formazione degli impulsi. Illustrare l'implementazione di oscillatori controllati numericamente.

  • Quaternary Phase Shift Keying (QPSK)
  • Filtri di trasmissione/ricezione: radice del coseno aumentato
  • Sottocampionamento e conversione parametrica digitale
  • Upconversion digitale diretta
  • Stadi IF digitali (e sistemi fs/4)
  • Oscillatori a controllo numerico (NCO)
  • Progetto di partizione per FPGA

Problemi di temporizzazione e sincronizzazione

Obiettivo: Viene trattato il recupero della temporizzazione dei simboli, il recupero della fase della portante, il recupero della frequenza della portante e la sincronizzazione dei frame.

  • Recupero della portante, loop di quadratura e Costas, PLL
  • Rotazioni di fase; conversioni del rate di campionamento
  • Recupero della tempistica dei simboli, rilevamento anticipato/ritardato del gate
  • Temporizzazione e sincronizzazione del delay-locked loop

Livello: Avanzato

Durata: 3 giorni

Lingue: English