Plan du cours
Résultats attendus de ce cours
À l'issue de ce cours, l'étudiant sera en mesure d'aborder de nombreux problèmes de recherche actuels dans le domaine du génie des télécommunications, ayant acquis au moins les compétences suivantes :
- Cartographier et manipuler des expressions mathématiques complexes fréquentes dans la littérature spécialisée en télécommunications
- Exploiter les capacités de programmation de MATLAB pour reproduire les résultats de simulation d'autres publications ou au moins s'en rapprocher
- Créer des modèles de simulation pour des idées originales proposées
- Utiliser efficacement les compétences de simulation acquises, en conjonction avec les fonctionnalités puissantes de MATLAB, pour concevoir des codes optimisés en termes de temps d'exécution tout en économiisant l'espace mémoire
- Identifier les paramètres de simulation clés d'un système de communication donné, les extraire du modèle système et étudier leur impact sur les performances
Structure du cours
Le contenu de ce cours est extrêmement cohérent. Il n'est pas recommandé à un étudiant de suivre un niveau sans avoir auparavant suivi et compris en profondeur le niveau précédent, afin d'assurer la continuité de l'acquisition des connaissances. Le cours est structuré en trois niveaux, allant de l'introduction à la programmation MATLAB jusqu'à la simulation complète de systèmes, comme suit.
Mathématiques des télécommunications avec MATLAB
Séances 01-06
À la fin de cette partie, l'étudiant sera capable d'évaluer des expressions mathématiques complexes et de construire facilement les graphiques appropriés pour diverses représentations de données, tels que les graphiques temporels et fréquentiels, les courbes de BER (taux d'erreur binaire), les diagrammes de rayonnement d'antennes, etc.
Concepts fondamentaux
- Le concept de simulation
- L'importance de la simulation en génie des télécommunications
- MATLAB comme environnement de simulation
- Représentation matricielle et vectorielle des signaux scalaires en mathématiques des télécommunications
- Représentation matricielle et vectorielle des signaux en bande de base complexe dans MATLAB
Desktop MATLAB
- Barre d'outils
- Fenêtre de commandes
- Espace de travail
- Historique des commandes
Déclaration de variables, vecteurs et matrices
- Constantes prédéfinies de MATLAB
- Variables définies par l'utilisateur
- Tableaux, vecteurs et matrices
- Saisie manuelle de matrices
- Définition d'intervalles
- Espace linéaire
- Espace logarithmique
- Règles de nomination des variables
Matrices spéciales
- Matrice d'uns
- Matrice de zéros
- Matrice identité
Manipulations élément par élément et matricielle
- Accès à des éléments spécifiques
- Modification d'éléments
- Élimination sélective d'éléments (troncation de matrice)
- Ajout d'éléments, de vecteurs ou de matrices (concaténation de matrices)
- Recherche de l'indice d'un élément dans un vecteur ou une matrice
- Reformage de matrice (reshape)
- Troncation de matrice
- Concaténation de matrices
- Retournement de gauche à droite et de droite à gauche
Opérateurs unaires sur les matrices
- Opérateur de somme
- Opérateur d'espérance
- Opérateur de minimum
- Opérateur de maximum
- Opérateur de trace
- Déterminant de matrice |.|
- Inversée de matrice
- Transposée de matrice
- Adjointe (Hermitien) de matrice
Opérations binaires sur les matrices
- Opérations arithmétiques
- Opérations relationnelles
- Opérations logiques
Nombres complexes dans MATLAB
- Représentation en bande de base complexe des signaux en bande passante et conversion ascendante RF (rappel mathématique)
- Création de variables, vecteurs et matrices complexes
- Exponentielles complexes
- Opérateur partie réelle
- Opérateur partie imaginaire
- Opérateur conjugué (.)*
- Opérateur module |.|
- Opérateur argument ou phase
Fonctions intégrées de MATLAB
- Vecteurs de vecteurs et matrices de matrices
- Fonction racine carrée
- Fonction signe
- Fonction « arrondi à l'entier le plus proche »
- Fonction « entier inférieur le plus proche »
- Fonction « entier supérieur le plus proche »
- Fonction factorielle
- Fonctions logarithmiques (exp, ln, log10, log2)
- Fonctions trigonométriques
- Fonctions hyperboliques
- Fonction Q(.)
- Fonction erfc(.)
- Fonctions de Bessel Jo (.)
- Fonction Gamma
- Commandes Diff, mod
Polynômes dans MATLAB
- Polynômes dans MATLAB
- Fonctions rationnelles
- Dérivées de polynômes
- Intégration de polynômes
- Multiplication de polynômes
Graphiques à échelle linéaire
- Représentations visuelles de signaux temporels continus à amplitude continue
- Représentations visuelles de signaux approximatifs par escaliers
- Représentations visuelles de signaux temps discret – amplitude discrète
Graphiques à échelle logarithmique
- Graphiques dB-décade (BER)
- Graphiques décade-dB (diagrammes de Bode, réponse en fréquence, spectre du signal)
- Graphiques décade-décade
- Graphiques dB-linéaires
Graphiques polaires 2D
- (Diagrammes de rayonnement planaires d'antennes)
Graphiques 3D
- Diagrammes de rayonnement 3D
- Graphiques paramétriques cartésiens
Section facultative (fournie sur demande des apprenants)
- Dérivation symbolique et différenciation numérique dans MATLAB
- Intégration symbolique et numérique dans MATLAB
- Aide et documentation MATLAB
Fichiers MATLAB
- Fichiers de scripts MATLAB
- Fichiers de fonctions MATLAB
- Fichiers de données MATLAB
- Variables locales et globales
Boucles, contrôle de flux, conditions et prise de décision dans MATLAB
- Boucle for end
- Boucle while end
- Condition if end
- Conditions if else end
- Instruction switch case end
- Itérations, erreurs convergentes, opérateurs de somme multidimensionnelle
Commandes d'affichage d'entrée et de sortie
- Commande input(' ')
- Commande disp
- Commande fprintf
- Boîte de message msgbox
Opérations sur les signaux et les systèmes
Séances 07-14
Les objectifs principaux de cette partie sont les suivants :
- Générer des signaux de test aléatoires nécessaires pour évaluer les performances de différents systèmes de communication
- Intégrer plusieurs opérations élémentaires de traitement du signal pour implémenter une fonction de traitement de communication unique, telle que les codeurs, randomiseurs, entrelaceurs, générateurs de codes d'étalement, etc., à l'émetteur ainsi que leurs homologues au récepteur.
- Interconnecter ces blocs correctement afin d'atteindre une fonction de communication
- Simulation de modèles de canal étroit bande à l'intérieur et à l'extérieur, déterministes, statistiques et semi-aléatoires
Génération de signaux de test pour télécommunications
- Génération d'une séquence binaire aléatoire
- Génération de séquences d'entiers aléatoires
- Importation et lecture de fichiers texte
- Lecture et lecture (playback) de fichiers audio
- Importation et exportation d'images
- Image comme matrice 3D
- Transformation RVB vers niveaux de gris
- Flux de bits sériels d'une image en niveaux de gris 2D
- Sub-frame (découpage en sous-trames) des signaux d'image et reconstruction
Conditionnement et manipulation des signaux
- Mise à l'échelle de l'amplitude (gain, atténuation, normalisation de l'amplitude, etc.)
- Déplacement du niveau continu (DC)
- Mise à l'échelle temporelle (compression, détente)
- Décalage temporel (retard, avancement, décalage circulaire gauche et droite)
- Mesure de l'énergie du signal
- Normalisation de l'énergie et de la puissance
- Mise à l'échelle de l'énergie et de la puissance
- Conversion série-parallèle et parallèle-série
- Multiplexage et démultiplexage
Numérisation des signaux analogiques
- Échantillonnage temporel de signaux en bande de base à temps continu dans MATLAB
- Quantification d'amplitude des signaux analogiques
- Encodage PCM de signaux analogiques quantifiés
- Conversion décimal-binaire et binaire-décimal
- Formage d'impulsions (Pulse shaping)
- Calcul de la largeur d'impulsion adéquate
- Sélection du nombre d'échantillons par impulsion
- Convolution à l'aide des commandes conv et filter
- Autocorrélation et corrélation croisée de signaux à durée limitée
- Opérations Transformée de Fourier Rapide (FFT) et IFFT
- Visualisation du spectre d'un signal en bande de base
- Effet du taux d'échantillonnage et fenêtre de fréquence appropriée
- Relation entre convolution, corrélation et opérations FFT
- Filtrage en domaine fréquentiel, filtrage passe-bas uniquement
Fonctions auxiliaires de télécommunications
- Randomiseurs et dérandomiseurs
- Perceurs (Puncturers) et déperceurs (de-puncturers)
- Encodeurs et décodeurs
- Entrelaceurs (Interleavers) et déentrelaceurs (de-interleavers)
Modulateurs et démodulateurs
- Schémas de modulation numérique en bande de base dans MATLAB
- Représentation visuelle de signaux modulés numériquement
Modélisation et simulation de canaux
- Modélisation mathématique de l'effet du canal sur le signal émis
- Addition – bruit blanc gaussien additif (AWGN)
- Multiplication en domaine temporel – canaux à fading lent, décalage Doppler dans les canaux vehiculaire
- Multiplication en domaine fréquentiel – canaux à fading sélectif fréquentiel
- Convolution en domaine temporel – réponse impulsionnelle du canal
Exemples de modèles de canal déterministes
- Perte de trajet en espace libre et perte de trajet dépendante de l'environnement
- Canaux à occultation périodique
Caractérisation statistique des canaux multi-trajets stationnaires et quasi-stationnaires courants
- Génération d'une variable aléatoire (VA) uniformément distribuée
- Génération d'une VA gaussienne réelle
- Génération d'une VA gaussienne complexe
- Génération d'une VA de Rayleigh
- Génération d'une VA de Rice
- Génération d'une VA à distribution log-normale
- Génération d'une VA à distribution arbitraire
- Approximation d'une fonction de densité de probabilité (FDP) inconnue d'une VA par un histogramme
- Calcul numérique de la fonction de distribution cumulative (FDC) d'une VA
- Canaux AWGN réels et complexes
Caractérisation du canal par son profil de retard de puissance
- Caractérisation du canal par son profil de retard de puissance (PDP)
- Normalisation de la puissance du PDP
- Extraction de la réponse impulsionnelle du canal à partir du PDP
- Échantillonnage de la réponse impulsionnelle du canal à un taux arbitraire, échantillonnage non adapté et retard
- Quantification
- Problème de l'échantillonnage non adapté de la réponse impulsionnelle des canaux étroits bande
- Échantillonnage d'un PDP à un taux arbitraire et compensation du retard fractionnaire
- Implémentation de plusieurs modèles de canal normalisés IEEE pour l'intérieur et l'extérieur
- (COST – SUI - Modèles de canal Ultra Large Bande…etc.)
Simulation au niveau de liaison de systèmes de comm. pratiques
Séances 15-24
Cette partie du cours traite de la question la plus importante pour les étudiants en recherche, à savoir comment reproduire par simulation les résultats d'autres publications.
Performance en taux d'erreur binaire (BER) des schémas de modulation numérique en bande de base
- Comparaison des performances de différents schémas de modulation numérique en bande de base dans des canaux AWGN (étude comparative exhaustive par simulation pour vérifier les expressions théoriques) ; diagrammes en nuage de points, taux d'erreur binaire
- Comparaison des performances de différents schémas de modulation numérique en bande de base dans différents canaux de fading stationnaires et quasi-stationnaires ; diagrammes en nuage de points, taux d'erreur binaire (étude comparative exhaustive par simulation pour vérifier les expressions théoriques)
- Impact des canaux à décalage Doppler sur les performances des schémas de modulation numérique en bande de base ; diagrammes en nuage de points, taux d'erreur binaire
- Communications Héliportées- Satellitaires
- Article (1) : Système vocal et de données en temps réel à faible coût pour le service de satellite mobile aéronautique (AMSS) – Énoncé et analyse du problème
- Article (2) : Combinaison de diversité temporelle avant détection avec AFC précis pour les communications satellite-hélicoptère – La première solution proposée
- Article (3) : Un schéma de modulation adaptatif pour les communications satellite-hélicoptère – Une approche d'amélioration des performances
Simulation des systèmes à étalement de spectre
- Architecture typique des systèmes basés sur l'étalement de spectre
- Systèmes à étalement de spectre en séquence directe
- Générateurs de séquences binaires pseudo-aléatoires (PBRS)
- Génération de séquences de longueur maximale
- Génération de codes Gold
- Génération de codes Walsh
- Systèmes à étalement de spectre à saut de temps
- Performance en taux d'erreur binaire des systèmes à étalement de spectre dans les canaux AWGN
- Impact du taux de codage r sur les performances BER
- Impact de la longueur du code sur les performances BER
- Performance en taux d'erreur binaire des systèmes à étalement de spectre dans les canaux de fading de Rayleigh lent à multi-trajets avec décalage Doppler nul
- Analyse des performances BER des systèmes à étalement de spectre dans des environnements de fading à haute mobilité
- Analyse des performances BER des systèmes à étalement de spectre en présence d'interférences multi-utilisateurs
- Transmission d'images RGB via des systèmes à étalement de spectre
- Systèmes CDMA optique (OCDMA)
- Codes orthogonaux optiques (OOC)
- Limites de performance des systèmes OCDMA ; performance BER des systèmes OCDMA synchrones et asynchrones
Systèmes ULB (Ultra Large Bande) à étalement de spectre
Systèmes basés sur l'OFDM
- Implémentation de systèmes OFDM à l'aide de la Transformée de Fourier Rapide
- Architecture typique des systèmes basés sur l'OFDM
- Performance en taux d'erreur binaire des systèmes OFDM dans les canaux AWGN
- Impact du taux de codage r sur les performances BER
- Impact du préfixe cyclique sur les performances BER
- Impact de la taille de la FFT et de l'espacement des sous-porteuses sur les performances BER
- Performance en taux d'erreur binaire des systèmes OFDM dans les canaux de fading de Rayleigh lent à multi-trajets avec décalage Doppler nul
- Performance en taux d'erreur binaire des systèmes OFDM dans les canaux de fading de Rayleigh lent à multi-trajets avec CFO (Fréquence de porteuse Offset)
- Estimation du canal dans les systèmes OFDM
- Égalisation en domaine fréquentiel dans les systèmes OFDM
- Égaliseur Zéro Forçage (Zero Forcing)
- Égaliseurs MMSE
- Autres métriques de performance courantes dans les systèmes basés sur l'OFDM (Rapport Crête-Moyenne de Puissance, Rapport Porteuse-Interférence…etc.)
- Analyse des performances des systèmes basés sur l'OFDM dans des environnements de fading à haute mobilité (comme projet de simulation consistant en trois articles)
- Article (1) : Atténuation des interférences inter-porteuses
- Article (2) : Systèmes MIMO-OFDM
Optimisation d'un projet de simulation MATLAB
L'objectif de cette partie est d'apprendre à construire et à optimiser un projet de simulation MATLAB afin de simplifier et d'organiser le processus global de simulation. De plus, l'espace mémoire et la vitesse de traitement sont également pris en compte afin d'éviter les problèmes de débordement de mémoire dans les systèmes à stockage limité ou les longs temps d'exécution résultant d'un traitement lent.
- Structure typique d'un projet de simulation de petite envergure
- Extraction des paramètres de simulation et mapping des modèles théoriques vers la simulation
- Construction d'un projet de simulation
- Technique de simulation Monte Carlo
- Procédure typique pour tester un projet de simulation
- Techniques de gestion de l'espace mémoire et de réduction du temps de simulation
- Simulation en bande de base vs. bande passante
- Calcul de la largeur d'impulsion adéquate pour les formes d'impulsion arbitraires tronquées
- Calcul du nombre adéquat d'échantillons par symbole
- Calcul du nombre nécessaire et suffisant de bits pour tester un système
Programmation GUI
Disposer d'un code MATLAB exempt de débogage et fonctionnant correctement pour produire des résultats exacts est une grande réussite. Cependant, un ensemble de paramètres clés dans un projet de simulation contrôle le processus. Pour cette raison et d'autres, un cours supplémentaire sur la « Programmation d'Interface Utilisateur Graphique (GUI) » est donné afin de prendre le contrôle des différentes parties de votre projet de simulation à portée de main, plutôt que de plonger dans de longs codes sources remplis de commandes. De plus, masquer votre code MATLAB derrière une GUI aide à présenter votre travail de manière à faciliter la combinaison de plusieurs résultats dans une fenêtre principale et à simplifier la comparaison des données.
- Qu'est-ce qu'une GUI MATLAB
- Structure du fichier de fonction GUI MATLAB
- Composants principaux de la GUI (propriétés et valeurs importantes)
- Variables locales et globales
Note : Les sujets couverts à chaque niveau de ce cours incluent, sans s'y limiter, ceux énoncés à chaque niveau. De plus, les éléments de chaque cours particulier sont susceptibles d'être modifiés en fonction des besoins des apprenants et de leurs intérêts de recherche.
Pré requis
Afin d'assimiler l'ensemble des connaissances présentées dans ce cours, les participants doivent posséder des notions générales en programmation et en techniques algorithmiques. Une compréhension solide des cours de génie des télécommunications de niveau undergraduate est fortement recommandée.
Nos clients témoignent (3)
Des exercices de mise en pratique concrets qui étaient pertinents pour notre coeur de métier. Le fait d'avoir un formateur avec un profil scientifique était un vrai plus car nous avons pu échanger en profondeur en ne parlant pas uniquement de programmation mais aussi de sciences et comment joindre les deux. Les TPs en format jupyter notebook étaient intéressants.
Victor - Vermon
Formation - Python for Matlab Users
Les nombreux exemples et la construction du code de A à Z.
Toon - Draka Comteq Fibre B.V.
Formation - Introduction to Image Processing using Matlab
Traduction automatique
Les exercices pratiques et la disponibilité du formateur pour répondre aux questions.