Techniques en radio logicielle (SDR)

Avec la montée en puissance des systèmes de traitement numériques (PC, DSP, micro-contrôleurs, FPGA), la démodulation logicielle des signaux radio est maintenant la méthode de choix pour obtenir les meilleurs performances à la fois en terme de sensibilité et de cout d'implémentation. Néanmoins, le fait de démoduler les signaux de manière purement logicielle entraîne des architectures radicalement différentes des structures traditionnellement utilisées en démodulation analogique (boucle de Costa, PLL, etc.).

Objectifs de la formation

Transmettre aux participants une vue d'ensemble sur les techniques les plus utilisées en radio logicielle (en anglais Software Defined Radio / SDR), pour des implémentations finales sur micro-contrôleur, DSP, FPGA ou même PC. Les méthodes seront mises en pratique via des T.P. avec Scilab (équivalent gratuit de Matlab).

Durée de la formation

Trois jours

Date et lieu de la formation

Lieu : Toulouse, date : sur demande.

Inscription

Formulaire d'inscription disponible ici.

Contenu

1 - INTRODUCTION ET PRETRAITREMENTS
Dans cette première partie, nous commencerons par essayer d'avoir une vue d'ensemble sur les composants nécessaires pour réaliser une chaîne de démodulation, puis nous étudierons les techniques de pré-traitement, dans le but d'extraire le (les) canal(aux) radio(s) utile(s).

  • Introduction : Description d'une chaîne de démodulation radio typique et présentation des différents composants nécessaires.
  • Conversion en bande de base : Notion de signal I/Q. Méthode classique (downconversion, puis suppression de l'image) et à base de filtre de Hilbert.
  • DDS (réalisation d'oscillateurs numériques) : description et avantages / inconvénients des principales techniques : LUT, CORDIC, oscillateur harmonique. Mise en oeuvre dans un oscillateur local. Mise en oeuvre dans une PLL.
  • Filtrage canal : Techniques de synthèse de filtres avec l'outil Scilab. Filtrage multi-fréquences (multi-rate) et filtres polyphases. Filtres CIC pour les systèmes fortement sur-échantillonnés.
  • Canalisation multi-voies : Canalisation optimisée à partir de filtre polyphase et FFT (méthode de Harris)

2 - MODULATIONS / DEMODULATIONS
Dans cette partie, nous allons d'abord faire un tour d'horizon des différentes modulations numériques (formes d'onde) classiques, puis nous aborderons différentes techniques permettant la démodulation en bande de base.

  • Présentation des formes d'ondes classiques : FSK / GFSK, BPSK, QPSK / OQPSK, QAM, OFDM
  • Mise en forme des symboles : Problématique des interférences inter-symboles, notion de filtre adapté, filtres NRZ, gaussiens, filtres RC / SRRC.
  • Techniques de démodulation classiques : méthodes à faible complexité (discrimination polaire, démodulation différentielle, ...), démodulation cohérente.

3 - QUALIFICATION D'UN DEMODULATEUR
Dans cette partie, nous allons voir comment qualifier de manière purement logicielle une chaîne de démodulation, en prenant en compte les problématiques rencontrées dans la réalité.

  • Introduction : Notions de taux d'erreur binaire (ber), de SNR, de SNR normalisé (Eb/N0)
  • Limites théoriques (canal AWGN) : Modulations BPSK, QPSK, etc.
  • Mesure de BER grâce à un générateur / détecteur LFSR.
  • Multi-trajets, Doppler : Décalage Dopppler, distribution du Doppler (modèle de JAKES) et effet sur le canal, modèles de Rayleigh et de Rice, temps de cohérence du canal. Etalement temporel et bande passante de cohérence du canal.

4 - DEMODULATION / METHODES AVANCEES
Dans cette partie, nous allons aborder quelques techniques avancées pour la démodulation : boucles de recouvrement (porteuse et horloge), comment exploitater les en-têtes de synchronisation, l'égalisation des canaux dispersifs, et la démodulation optimale de modulations avec mémoire grâce au modèle de Markov.

  • Techniques de recouvrement de porteuse : architecture, détection d'erreur de phase, filtre de boucle (premier et second ordre).
  • Techniques de recouvrement d'horloge : architecture d'une boucle de correction (PLL), détecteurs : early late gate, Gardner, Mueller & Müller, techniques d'interpolation : Lagrange (et structure de Farrow), interpolation polyphase (LUT).
  • Calage initial des boucles : corrélation par OLA (OverLap and Add).
  • Techniques d'égalisation de canal / de filtre : Approche ZFE (zéro-forçage), approche MMSE (minimisation de l'erreur) : critère LMS, CMA, et structures DDE, DFE.
  • Egalisation / démodulation MLSE (Maximum Likelihood Sequence Estimation) : notion de chaîne de Markov discrète, algorithme de Viterbi, application à l'égalisation et à la démodulation (exemple : démodulation GFSK optimale).
  • Techniques d'estimation automatique du SNR

5 - MODULATION OFDM
Dans cette partie, nous allons voir comment mettre en oeuvre la modulation OFDM, où l'on va assembler dans le domaine fréquentiel plusieurs porteuses de petite bande passante, et comment cette technique permet de s'affranchir des problèmatiques de trajets multiples.

  • Définition et implémentation efficace grâce à la FFT,
  • Préfixe cyclique pour les suppression des IS (interférences inter-symboles),
  • Techniques de synchronisation : auto-corrélation, corrélation avec les symboles pilotes,
  • Exemples : IEEE802.11a, DVB-T

6 - INTRODUCTION AUX CODES CORRECTEURS
L'objectif ici est d'avoir un panorama des codes correcteurs les plus utilisés et de leurs applications.

  • Modèles de codage canal : modulation et codage séparé (modèle du canal binaire symétrique), modulation et codage conjoint. Impact sur la capacité.
  • Codes linéaires en bloc : Notion de distance de Hamming, capacité de correction, matrices de parité et de vérification, complexité.
  • Codes polynomiaux (CRC, Reed-Salomon, ...)
  • Codes "probabilistes" : Codes convolutifs (RSC) et décodage par algorithme de Viterbi, Turbo-codes
  • Modulations codées


Travaux pratiques

Tout au long de l'atelier l'ensemble des points abordés sera illustré par des exemples et de petits exercices avec SCILAB qui vous permettront de mettre en oeuvre directement les notions vues.