Traitement numérique du signal sur FPGAs
Afficher le calendrier et s'inscrireDétails de la formation
- Introduction au matériel et à la technologie FPGA pour les applications de traitement numérique du signal
- Arithmétique en virgule fixe
- Techniques de graphes de flux de signal
- Génération de code HDL pour FPGAs
- Implémentation de la Transformée de Fourier Rapide (FFT)
- Conception et implémentation de filtres FIR, IIR et CIC
- Algorithme CORDIC
- Conception et implémentation d'algorithmes adaptatifs tels que les algorithmes LMS et QR
- Techniques de synchronisation et rétablissement du timing de communications numériques
Jour 1 sur 3
Introduction au matériel DSP FPGA
Objectif: Introduire le traitement numérique du signal et les FPGA. Comprendre l'architecture globale des FPGA et pourquoi les FPGAs ne sont adaptés qu'à l'implémentation d'algorithmes DSP.
- De la logique discrète aux FPGAs - Un peu d'histoire !
- Le système DSP générique
- Revue des cœurs et processeurs DSP
- ASICs spécialisé et semi-spécialisé
- System-on-chip (SOC)
- FPGA flexibilité et fonctionnalités
- FPGAs vs DSPs programmables
Algorithme de systèmes DSP linéaires
Objectif: Revoir les concepts fondamentaux du théorème d'échantillonnage, la quantification, l'analyse de Fourier et la conception de filtre numérique.
- Aliasing et filtres de reconstruction
- Pas d'échantillonnage et taille de mots
- Notation du domaine Z et analyse fondamentale
- Filtres FIR et IIR
- Conception et spécification de filtres FIR et IIR
- Techniques de suréchantillonnage (sigma delta)
Technologie FPGA
Objectif: Explorer les différentes familles et architectures de FPGA Xilinx. Introduction aux FPGAs Spartan 3 et Virtex-5.
- L'évolution de la technologie FPGA
- Taux d'horloge, de données et pas d'échantillonnage
- Mémoire et registre de FPGA
- Blocs d'entrée/sortie et FPGA
- Blocs Bits, Slices and Configurable Logic
- Evaluation des performances de MIPs similaires
- Familles de FPGA et sources
Eléments de FPGA pour les algorithmes DSP
Objectif: Comprendre les tranches DSP, les ressources d'horloge et la consommation d'énergie.
- Construction de lignes de retard et de registres à décalage
- Utilisation de la RAM (mémoire) des FPGAs
- De série vers parallèle et de parallèle vers série
- Multiplexeurs pour la sélection de canal
- Additionneurs complets, circuit logique, et arbres d'additionneurs
- Multiplieurs : Décalage et Addition ; basé sur la ROM
- Implémentation efficace de multiplieurs
Arithmétique DSP essentielle
Objectif: Comprendre l'arithmétique en virgule fixe binaire. Associer les opérations arithmétiques au matériel FPGA Xilinx.
- Arithmétique du complément à 2 en virgule fixe
- Additionneurs fondamentaux et tableaux de multiplieurs
- Division et tableaux de racines carrées...pas si facile !
- Problèmes de taille de mot et arithmétique en virgule fixe
- Saturation et wraparound
- Overflow et underflow
Techniques de Signal Flow Graph (SFG)
Objectif: Revoir la représentation des algorithmes DSP en utilisant le graphe de flux de signal. Utiliser la méthode de Cut Set pour améliorer les performances temporelles. Implémenter des filtres FIR parallèles et séries.
- Graphe de flux de signal de filtre numérique/DSP
- Latence, retards et "anti-retards" !
- Re-timing : Cut-set et mise à l'échelle de retard
- Le FIR transposé
- Pipelining et architecture multicanaux
- Topologies SFG pour FPGAs
Jour 2 sur 3
Traitement dans le domaine fréquentiel
Objectif: Discuter la théorie et l'implémentation FPGA de la Transformée de Fourier Rapide (FFT).
- DFT, FFT et IFFT
- Architectures FPGA pour la FFT
- Augmentation de la taille des mots et précision pour la FFT
Traitement de signaux à taux multiples pour FPGAs
Objectif: Développer une structure polyphasée pour une implémentation efficace d'un filtre multi-taux. Utiliser le filter CIC pour l'interpolation et la décimation.
- Sur-échantillonnage et filtres d'interpolation
- Sous-échantillonnage et filtres de décimation
- Arithmétique efficace pour l'implémentation FIR
- Intégrateurs et différentiateurs
- Filtres demi-bande, moyenne glissante et peigne
- Filtre Cascade Integrator Comb (CIC) (Hogenauer)
- Arithmétique efficace pour le filtrage IIR
Techniques CORDIC
Objectif: Introduire l'algorithme CORDIC pour le calcul de diverses fonctions trigonométriques.
- Mode de rotation et mode vecteur CORDIC
- Calcul des fonctions cosinus et sinus
- Calcul de la norme et l'angle d'un vecteur
- Architecture pour l'implémentation d'un FPGA
Jour 3 sur 3
Algorithmes et applications DSP adaptifs
Objectif: Introduire l'algorithme LMS pour le traitement de signal adaptatif. Illustrer l'algorithme QR comme une technique de moindre carrés récursifs (RLS) et pourquoi il est particulièrement adapté pour l'implémentation sur FPGA.
- Applications adaptatives (égalisation, beamforming)
- Algorithmes LMS et implémentation parallèle
- Algorithmes LMS non-canoniques
- Algèbre linéaire : résoudre des systèmes d’équations linéaires
- L'algorithme QR pour le traitement de signal adaptatif
- Conditions pour le traitement QR et problèmes numériques
Communications DSP actives et FPGAs
Objectif: Revoir la modulation quadrature et la formation d'impulsions. Discuter l'implémentation d'oscillateurs numériquement contrôlés.
- Quaternary Phase Shift Keying (QPSK)
- Filtres de transmission/réception - Root Raised Cosinus
- Sous-échantillonnage et sous-conversion numérique
- Sur-conversion numérique directe
- Etapes IF numériques (et systèmes fs/4)
- Oscillateurs contrôles numériquement (NCO)
- Partitionnement de la conception pour FPGAs
Problèmes de synchronisation et de timing
Objectif: Traiter la récupération des symboles de timing, la récupération de phase de porteuse, la récupération de fréquence de porteuse et la synchronisation de trame.
- Récupération de porteuse, boucles de quadrature et Costas, PLLs
- Rotation de phases ; conversion de pas d’échantillonnage
- Récupération des symboles de timing, détection de porte tôt/tard
- Timing de boucle à retard verrouillé et synchronisation