Plan du cours
Résultats attendus de ce cours
À la fin de ce cours, l'étudiant devrait être capable 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 qui apparaissent fréquemment dans la littérature sur le génie des télécommunications
- Capacité à utiliser les fonctionnalités de programmation offertes par MATLAB pour reproduire les résultats de simulation d'autres articles ou, à tout le moins, se rapprocher de ces résultats
- Créer des modèles de simulation pour des idées auto-proposées
- Utiliser efficacement les compétences de simulation acquises en conjonction avec les puissantes fonctionnalités de MATLAB pour concevoir des codes MATLAB optimisés en termes de temps d'exécution tout en épargnant l'espace mémoire
- Identifier les paramètres de simulation clés d'un système de communication donné, les extraire du modèle du système et étudier l'impact de ces paramètres sur la performance du système considéré
Structure du cours
Le matériel fourni dans ce cours est extrêmement corrélé. Il n'est pas recommandé qu'un étudiant suive un niveau sans avoir suivi et compris en profondeur le niveau précédent, afin d'assurer la continuité des connaissances acquises. Le cours est structuré en trois niveaux, allant de l'introduction à la programmation MATLAB jusqu'au niveau de la simulation complète de système, 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 différentes représentations de données, tels que les représentations dans le domaine temporel et fréquentiel, les courbes BER, 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
- Sur la représentation par matrices et vecteurs des signaux scalaires dans les mathématiques des télécommunications
- Représentations par matrices et vecteurs des signaux en bande de base complexes dans MATLAB
Bureau de 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 nommage des variables
Matrices spéciales
- La matrice de uns (ones)
- La matrice de zéros (zeros)
- La matrice identité
Manipulation élément par élément et matricielle
- Accès à des éléments spécifiques
- Modification d'éléments
- Élimination sélective d'éléments (truncation de matrice)
- Ajout d'éléments, vecteurs ou matrices (concaténation de matrices)
- Recherche de l'indice d'un élément à l'intérieur d'un vecteur ou d'une matrice
- Reformatage de matrice (reshaping)
- Troncation de matrice
- Concaténation de matrices
- Retournement de gauche à droite et de droite à gauche
Opérateurs matriciels unaires
- L'opérateur somme (Sum)
- L'opérateur espérance
- Opérateur minimum
- Opérateur maximum
- L'opérateur trace
- Déterminant de matrice |.|
- Inversée de matrice
- Transposée de matrice
- Hermitienne de matrice
Opérations matricielles binaires
- 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, revue mathématique
- Formation de variables, vecteurs et matrices complexes
- Exponentielles complexes
- L'opérateur partie réelle
- L'opérateur partie imaginaire
- L'opérateur conjugué (.)*
- L'opérateur module |.|
- L'opérateur argument ou phase
Fonctions intégrées de MATLAB
- Vecteurs de vecteurs et matrices de matrices
- La fonction racine carrée
- La fonction signe (sign)
- La fonction « arrondi à l'entier » (round)
- La fonction « entier inférieur le plus proche » (floor)
- La fonction « entier supérieur le plus proche » (ceil)
- La fonction factorielle
- Fonctions logarithmiques (exp, ln, log10, log2)
- Fonctions trigonométriques
- Fonctions hyperboliques
- La fonction Q(.)
- La fonction erfc(.)
- Fonctions de Bessel Jo (.)
- La 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
Tracés à échelle linéaire
- Représentations visuelles de signaux à temps continu-amplitude continue
- Représentations visuelles de signaux approximatifs en escalier
- Représentations visuelles de signaux à temps discret-amplitude discrète
Tracés à échelle logarithmique
- Tracés dB-décade (BER)
- Tracés décade-dB (tracés de Bode, réponse en fréquence, spectre du signal)
- Tracés décade-décade
- Tracés dB-linéaire
Tracés polaires 2D
- (diagrammes de rayonnement d'antennes planaires)
Tracés 3D
- Diagrammes de rayonnement 3D
- Tracés paramétriques cartésiens
Section optionnelle (donnée sur demande des apprenants)
- Différenciation symbolique et numérisation dans MATLAB
- Intégration symbolique et numérique dans MATLAB
- Aide et documentation MATLAB
Fichiers MATLAB
- Fichiers script MATLAB
- Fichiers fonction MATLAB
- Fichiers de données MATLAB
- Variables locales et globales
Boucles, contrôle de flux conditionnel et prise de décision dans MATLAB
- La boucle for end
- La boucle while end
- La condition if end
- Les conditions if else end
- La déclaration switch case end
- Itérations, erreurs convergentes, opérateurs de somme multi-dimensionnels
Commandes d'affichage d'entrée et de sortie
- La commande input(' ')
- Commande disp
- Commande fprintf
- Boîte de message msgbox
Opérations sur les signaux et systèmes
Séances 07-14
Les principaux objectifs de cette partie sont les suivants
- Générer des signaux de test aléatoires nécessaires pour tester la performance de différents systèmes de communication
- Intégrer de nombreuses opérations élémentaires de signal pouvant être combinées pour implémenter une unique fonction de traitement de communication telle que les encodeurs, randomisateurs, entrelaceurs, générateurs de codes d'étalement…etc. à l'émetteur ainsi que leurs équivalents à la réception
- Interconnecter correctement ces blocs afin d'atteindre une fonction de communication
- Simulation de modèles de canal intérieur et extérieur à bande étroite 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 en niveaux de gris
- Flux de bits sériels d'une image en niveaux de gris 2D
- Sous-cadrage de signaux image et reconstruction
Conditionnement et manipulation du signal
- Échelle d'amplitude (gain, atténuation, normalisation d'amplitude…etc.)
- Décalage du niveau continu (DC)
- Échelle temporelle (compression, raréfaction)
- Décalage temporel (retard, avance, décalage circulaire gauche/droite)
- Mesure de l'énergie du signal
- Normalisation de l'énergie et de la puissance
- Échelle de l'énergie et de la puissance
- Conversion série-parallèle et parallèle-série
- Multiplexage et démultiplexage
Numérisation de signaux analogiques
- Échantillonnage dans le domaine temporel de signaux de bande de base à temps continu dans MATLAB
- Quantification d'amplitude de signaux analogiques
- Encodage PCM de signaux analogiques quantifiés
- Conversion décimal-binaire et binaire-décimal
- Formage d'impulsion
- Calcul de la largeur d'impulsion adéquate
- Sélection du nombre d'échantillons par impulsion
- Convolution à l'aide des commandes conv et filter
- Auto-corrélation et inter-corrélation de signaux de durée limitée
- Opérations de Transformée de Fourier Rapide (FFT) et IFFT
- Visualisation du spectre d'un signal en bande de base
- Effet du taux d'échantillonnage et de la 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
- Randomisateurs et dé-randomisateurs
- Pointeurs (Puncturers) et dé-pointeurs
- Encodeurs et décodeurs
- Entrelaceurs et dé-entrelaceurs
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 canal
- Modélisation mathématique de l'effet du canal sur le signal transmis
- Addition – canaux à bruit blanc gaussien additif (AWGN)
- Multiplication dans le domaine temporel – canaux à dérive lente, décalage Doppler dans les canaux véhiculaires
- Multiplication dans le domaine fréquentiel – canaux à dérive sélective en fréquence
- Convolution dans le domaine temporel – réponse impulsionnelle du canal
Exemples de modèles de canal déterministes
- Perte de trajectoire dans l'espace libre et perte dépendante de l'environnement
- Canaux avec blocage périodique
Caractérisation statistique des canaux de dérive multi-trajets stationnaires et quasi-stationnaires courants
- Génération d'une RV uniformément distribuée
- Génération d'une RV gaussienne à valeurs réelles
- Génération d'une RV gaussienne complexe
- Génération d'une RV de type Rayleigh
- Génération d'une RV de type Ricean
- Génération d'une RV distribuée de manière log-normale
- Génération d'une RV à distribution arbitraire
- Approximation d'une fonction de densité de probabilité (FDP) inconnue d'une RV par un histogramme
- Calcul numérique de la fonction de distribution cumulative (CDF) d'une RV
- 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
- Normalisation de puissance du PDP
- Extraction de la réponse impulsionnelle du canal à partir du PDP
- Échantillonnage de la réponse impulsionnelle du canal par un taux d'échantillonnage arbitraire, échantillonnage non adapté et retard
- quantification
- Le problème de l'échantillonnage non adapté de la réponse impulsionnelle des canaux à bande étroite
- Échantillonnage d'un PDP par un taux d'échantillonnage arbitraire et compensation de retard fractionnaire
- Implémentation de plusieurs modèles de canal intérieurs et extérieurs normalisés IEEE
- (COST – SUI – Modèles de canal Ultra Wide Band…etc.)
Simulation au niveau de liaison de systèmes de comm. pratiques
Séances 15-24
Cette partie du cours porte sur le problème le plus important pour les étudiants chercheurs, à savoir comment reproduire les résultats de simulation d'autres articles publiés par simulation.
Performance en taux d'erreur binaire (BER) des schémas de modulation numérique en bande de base
- Comparaison de performance de différents schémas de modulation numérique en bande de base dans les canaux AWGN (étude comparative exhaustive par simulation pour vérifier les expressions théoriques) ; nuages de points, taux d'erreur binaire
- Comparaison de performance de différents schémas de modulation numérique en bande de base dans différents canaux à dérive stationnaires et quasi-stationnaires ; nuages 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 la performance des schémas de modulation numérique en bande de base ; nuages de points, taux d'erreur binaire
- Communications Hélicoptère-Satellite
- Article (1) : Système vocal et de données en temps réel à faible coût pour le service mobile satellite aéronautique (AMSS) – Énoncé du problème et analyse
- 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 hélicoptère-satellite – Une approche d'amélioration des performances
Simulation de systèmes à étalement de spectre
- Architecture typique des systèmes basés sur l'étalement de spectre
- Systèmes basés sur l'étalement de spectre à 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 basés sur l'étalement de spectre à saut de temps (Time hopping)
- Performance en BER des systèmes basés sur l'étalement de spectre dans les canaux AWGN
- Impact du taux de codage r sur la performance BER
- Impact de la longueur du code sur la performance BER
- Performance en BER des systèmes basés sur l'étalement de spectre dans les canaux à dérive Rayleigh lente multi-trajets avec décalage Doppler nul
- Analyse de la performance en BER des systèmes basés sur l'étalement de spectre dans les environnements à forte mobilité et dérive
- Analyse de la performance en BER des systèmes basés sur l'étalement de spectre en présence d'interférences multi-utilisateurs
- Transmission d'images RGB sur systèmes à étalement de spectre
- Systèmes CDMA optique (OCDMA)
- Codes orthogonaux optiques (OOC)
- Limites de performance des systèmes OCDMA ; performance en BER des systèmes OCDMA synchrones et asynchrones
Systèmes SS à bande ultra large
Systèmes basés sur OFDM
- Implémentation de systèmes OFDM à l'aide de la Transformée de Fourier Rapide
- Architecture typique des systèmes basés sur OFDM
- Performance en BER des systèmes OFDM dans les canaux AWGN
- Impact du taux de codage r sur la performance BER
- Impact du préfixe cyclique sur la performance BER
- Impact de la taille de la FFT et de l'espacement des sous-porteuses sur la performance BER
- Performance en BER des systèmes OFDM dans les canaux à dérive Rayleigh lente multi-trajets avec décalage Doppler nul
- Performance en BER des systèmes OFDM dans les canaux à dérive Rayleigh lente multi-trajets avec CFO
- Estimation de canal dans les systèmes OFDM
- Égalisation en domaine fréquentiel dans les systèmes OFDM
- Égaliseur Zero Forcing
- Égaliseurs MMSE
- Autres métriques de performance courantes dans les systèmes basés sur OFDM (Rapport de puissance de crête à moyenne, Rapport porteuse-interférence…etc.)
- Analyse de performance des systèmes basés sur OFDM dans les environnements à forte mobilité et dérive (en tant que projet de simulation consisting de trois articles)
- Article (1) : Atténuation de l'interférence entre 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 mémoire dans les systèmes de stockage limités ou les longs temps d'exécution résultant d'un traitement lent.
- Structure typique de projets de simulation à petite échelle
- Extraction des paramètres de simulation et correspondance théorique vers simulation
- Construction d'un projet de simulation
- Technique de simulation Monte Carlo
- Une 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 bande de base vs bande passante
- Calcul de la largeur d'impulsion adéquate pour des 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 bogues et fonctionnant correctement pour produire des résultats corrects 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, une leçon supplémentaire sur la « Programmation d'interface utilisateur graphique (GUI) » est donnée afin de mettre 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 source remplis de commandes. De plus, avoir votre code MATLAB masqué par une GUI aide à présenter votre travail de manière à faciliter la combinaison de plusieurs résultats dans une seule fenêtre principale et rend plus facile la comparaison des données.
- Qu'est-ce qu'une GUI MATLAB
- Structure du fichier 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, mais ne sont pas limités à, ceux énumérés dans chaque niveau. De plus, les éléments de chaque cours particulier sont susceptibles de changer selon les besoins des apprenants et leurs intérêts de recherche.
Pré requis
Afin d'acquérir l'immense quantité de connaissances contenues dans ce cours, les stagiaires doivent posséder des connaissances générales en langages et techniques de programmation courants. Une compréhension approfondie des cours de niveau licence en génie des télécommunications 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.