Plan du cours
• Résultats de ce cours
À l'issue de ce cours, l'étudiant devrait être en mesure de s'attaquer à de nombreux problèmes de recherche actuellement ouverts dans le domaine du génie des communications, car il aura acquis au moins les compétences suivantes :
• Cartographier et manipuler des expressions mathématiques compliquées qui apparaissent fréquemment dans la littérature du génie des communications
• Capacité à utiliser les capacités de programmation offertes par MATLAB afin de reproduire les résultats de simulation d'autres articles ou au moins d'approcher ces résultats.
• Créer les modèles de simulation d'idées auto-proposées.
• Employer les compétences de simulation acquises efficacement conjointement avec les puissantes capacités de MATLAB pour concevoir du code MATLAB optimisé en termes de temps d'exécution tout en économisant l'espace mémoire.
• Identifier les paramètres clés de simulation 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 sauf s'il a suivi et compris profondément le niveau précédent afin d'assurer la continuité des connaissances acquises. Le cours est structuré en trois niveaux, allant d'une introduction à la programmation MATLAB jusqu'au niveau de la simulation complète du système, comme suit.
Niveau 1 : Mathématiques des communications avec MATLAB
Séances 01-06
Après l'achèvement de cette partie, l'étudiant sera capable d'évaluer des expressions mathématiques compliquées et de construire facilement les graphiques appropriés pour différentes représentations de données, telles que les tracés du domaine temporel et fréquentiel, les tracés du taux d'erreur binaire (BER), les diagrammes de rayonnement des antennes, etc.
Concepts fondamentaux
1. Le concept de simulation
2. L'importance de la simulation dans le génie des communications
3. MATLAB en tant qu'environnement de simulation
4. À propos de la représentation matricielle et vectorielle des signaux scalaires dans les mathématiques des communications
5. Représentations matricielles et vectorielles des signaux à bande de base complexes dans MATLAB
Bureau MATLAB
6. Barre d'outils
7. Fenêtre de commande
8. Espace de travail
9. Historique des commandes
Déclaration de variables, vecteurs et matrices
10. Constantes prédéfinies de MATLAB
11. Variables définies par l'utilisateur
12. Tableaux, vecteurs et matrices
13. Saisie manuelle de matrices
14. Définition d'intervalle
15. Espace linéaire
16. Espace logarithmique
17. Règles de nommage des variables
Matrices spéciales
18. La matrice de uns (ones)
19. La matrice de zéros (zeros)
20. La matrice identité
Manipulation élément par élément et matrice par matrice
21. Accès aux éléments spécifiques
22. Modification des éléments
23. Élimination sélective des éléments (troncature de matrice)
24. Ajout d'éléments, de vecteurs ou de matrices (concaténation de matrices)
25. Recherche de l'index d'un élément dans un vecteur ou une matrice
26. Redimensionnement de matrices
27. Troncation de matrices
28. Concaténation de matrices
29. Inversion gauche-droite et droite-gauche
Opérateurs matriciaires unaires
30. L'opérateur Somme
31. L'opérateur Espérance
32. Opérateur Min
33. Opérateur Max
34. L'opérateur Trace
35. Déterminant de matrice |.|
36. Inverse de matrice
37. Transposée de matrice
38. Matrice hermitienne de matrice
39. …etc
Opérations binaires sur les matrices
40. Opérations arithmétiques
41. Opérations relationnelles
42. Opérations logiques
Nombres complexes dans MATLAB
43. Représentation en bande de base complexe des signaux à bande passante et de la transposition de fréquence radio, un rappel mathématique
44. Formation de variables, vecteurs et matrices complexes
45. Exponentielles complexes
46. L'opérateur partie réelle
47. L'opérateur partie imaginaire
48. L'opérateur conjugué (.)*
49. L'opérateur valeur absolue |.|
50. L'opérateur argument ou phase
Fonctions intégrées de MATLAB
51. Vecteurs de vecteurs et matrices de matrices
52. La fonction racine carrée
53. La fonction signe
54. La fonction "arrondi à l'entier"
55. La fonction "plus proche inférieur entier"
56. La fonction "plus proche supérieur entier"
57. La fonction factorielle
58. Fonctions logarithmiques (exp, ln, log10, log2)
59. Fonctions trigonométriques
60. Fonctions hyperboliques
61. La fonction Q(.)
62. La fonction erfc(.)
63. Fonctions de Bessel Jo (.)
64. La fonction Gamma
65. Commandes Diff, mod
Polyômes dans MATLAB
66. Polyômes dans MATLAB
67. Fonctions rationnelles
68. Dérivées de polyômes
69. Intégration de polyômes
70. Multiplication de polyômes
Tracés à échelle linéaire
71. Représentations visuelles des signaux continu-temps continu-amplitude
72. Représentations visuelles des signaux approximés en escalier
73. Représentations visuelles des signaux temps discret - amplitude discrète
Tracés à échelle logarithmique
74. Tracés dB-décennie (BER)
75. Tracés décennie-dB (tracés de Bode, réponse en fréquence, spectre du signal)
76. Tracés décennie-décennie
77. Tracés dB-linéaire
Tracés polaires 2D
78. (diagrammes de rayonnement planaires des antennes)
Tracés 3D
79. Diagrammes de rayonnement 3D
80. Tracés paramétriques cartésiens
Section optionnelle (donnée sur demande des apprenants)
81. Différentiation symbolique et différenciation numérique dans MATLAB
82. Intégration symbolique et numérique dans MATLAB
83. Aide et documentation de MATLAB
Fichiers MATLAB
84. Fichiers de scripts MATLAB
85. Fichiers de fonctions MATLAB
86. Fichiers de données MATLAB
87. Variables locales et globales
Boucles, contrôle de flux conditionnel et prise de décision dans MATLAB
88. La boucle for end
89. La boucle while end
90. La condition if end
91. Les conditions if else end
92. La déclaration switch case end
93. Itérations, erreurs de convergence, opérateurs de somme multidimensionnels
Commandes d'affichage d'entrée et de sortie
94. La commande input(' ')
95. La commande disp
96. La commande fprintf
97. Boîte de message msgbox
Niveau 2 : Opérations sur les signaux et les systèmes (24 heures)
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 communications
• Intégrer de nombreuses opérations élémentaires de signaux qui peuvent être combinées pour implémenter une fonction de traitement de communication unique, telles que les encodeurs, les désordonneurs, les entrelaceurs, les générateurs de codes d'étalement …etc. à l'émetteur ainsi que leurs équivalents au terminal de réception.
• Interconnecter correctement ces blocs afin d'accomplir une fonction de communication
• Simulation de modèles de canaux à bande étroite intérieurs et extérieurs déterministes, statistiques et semi-aléatoires
Génération de signaux de test de communications
98. Génération d'une séquence binaire aléatoire
99. Génération de séquences d'entiers aléatoires
100. Importation et lecture de fichiers texte
101. Lecture et lecture de fichiers audio
102. Importation et exportation d'images
103. Image en tant que matrice 3D
104. Transformation RVB vers échelle de gris
105. Flux de bits série d'une image 2D en échelle de gris
106. Sous-framing des signaux d'image et reconstruction
Conditionnement et manipulation des signaux
107. Mise à l'échelle d'amplitude (gain, atténuation, normalisation d'amplitude …etc.)
108. Décalage du niveau continu (DC)
109. Mise à l'échelle du temps (compression temporelle, raréfaction)
110. Décalage temporel (délai temporel, avance temporelle, décalage temporel circulaire gauche et droit)
111. Mesure de l'énergie du signal
112. Normalisation de l'énergie et de la puissance
113. Mise à l'échelle de l'énergie et de la puissance
114. Conversion série-parallèle et parallèle-série
115. Multiplexage et démultiplexage
Numérisation des signaux analogiques
116. Échantillonnage dans le domaine temporel des signaux à bande de base continu-temps dans MATLAB
117. Quantification d'amplitude des signaux analogiques
118. Codage PCM des signaux analogiques quantifiés
119. Conversion décimal-binaire et binaire-décimal
120. Mise en forme d'impulsion
121. Calcul de la largeur d'impulsion adéquate
122. Sélection du nombre d'échantillons par impulsion
123. Convolution à l'aide des commandes conv et filter
124. L'autocorrélation et la corrélation croisée des signaux à durée limitée
125. Les opérations de Transformée de Fourier Rapide (FFT) et IFFT
126. Visualisation du spectre d'un signal à bande de base
127. Effet du taux d'échantillonnage et de la fenêtre de fréquence appropriée
128. Relation entre la convolution, la corrélation et les opérations FFT
129. Filtrage dans le domaine fréquentiel, filtrage passe-bas uniquement
Fonctions auxiliaires de communication
130. Désordonneurs et re-synchroniseurs (de-randomizers)
131. Percuteurs et dépercuteurs (puncturers and de-puncturers)
132. Encodeurs et décodeurs
133. Entrelaceurs et désentrelaceurs
Modulateurs et démodulateurs
134. Schémas de modulation numérique en bande de base dans MATLAB
135. Représentation visuelle des signaux modulés numériquement
Modélisation et simulation de canaux
136. 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 à fading lent, décalage Doppler dans les canaux de véhicules
• Multiplication dans le domaine fréquentiel – canaux à fading sélectif en fréquence
• Convolution dans le domaine temporel – réponse impulsionnelle du canal
Exemples de modèles de canaux déterministes
137. Perte de chemin en espace libre et perte de chemin dépendante de l'environnement
138. Canaux à obstruction périodique
Caractérisation statistique des canaux de fading multipath courants stationnaires et quasi-stationnaires
139. Génération d'une variable aléatoire (VA) uniformément distribuée
140. Génération d'une VA à valeur réelle distribuée selon une gaussienne
141. Génération d'une VA complexe distribuée selon une gaussienne
142. Génération d'une VA distribuée selon une loi de Rayleigh
143. Génération d'une VA distribuée selon une loi de Rice
144. Génération d'une VA distribuée selon une loi lognormale
145. Génération d'une VA de distribution arbitraire
146. Approximation d'une fonction de densité de probabilité (PDF) inconnue d'une VA par un histogramme
147. Calcul numérique de la fonction de distribution cumulative (CDF) d'une VA
148. Canaux à bruit blanc gaussien additif (AWGN) réels et complexes
Caractérisation du canal par son profil de retard de puissance
149. Caractérisation du canal par son profil de retard de puissance
150. Normalisation de puissance du profil de retard de puissance (PDP)
151. Extraction de la réponse impulsionnelle du canal à partir du PDP
152. Échantillonnage de la réponse impulsionnelle du canal par un taux d'échantillonnage arbitraire, échantillonnage non aligné et quantification du délai
153. Le problème de l'échantillonnage non aligné de la réponse impulsionnelle du canal des canaux à bande étroite
154. Échantillonnage d'un PDP par un taux d'échantillonnage arbitraire et compensation du délai fractionnaire
155. Implémentation de plusieurs modèles de canaux intérieurs et extérieurs normalisés par l'IEEE
156. (Modèles de canaux COST – SUI – Ultra Large Bande …etc.)
Niveau 3 : Simulation au niveau de la liaison de systèmes de communication pratiques (30 heures)
Séances 15-24
Cette partie du cours est préoccupée par la question la plus importante pour les chercheurs, à savoir comment reproduire les résultats de simulation d'autres articles publiés par la simulation.
Performance du taux d'erreur binaire (BER) des schémas de modulation numérique en bande de base
1. Comparaison de la performance de différents schémas de modulation numérique en bande de base dans les canaux AWGN (étude comparative complète par simulation pour vérifier les expressions théoriques) ; tracés de dispersion (scatter plots), taux d'erreur binaire
2. Comparaison de la performance de différents schémas de modulation numérique en bande de base dans différents canaux de fading stationnaires et quasi-stationnaires ; tracés de dispersion, taux d'erreur binaire (étude comparative complète par simulation pour vérifier les expressions théoriques)
3. Impact des canaux à décalage Doppler sur la performance des schémas de modulation numérique en bande de base ; tracés de dispersion, taux d'erreur binaire
Communications Hélicoptère-Satellite
4. Article (1) : Système de voix 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
5. Article (2) : Combinaison de diversité temporelle avant détection avec AFC précise pour les communications satellite-hélicoptère – La première solution proposée
6. Article (3) : Un schéma de modulation adaptatif pour les communications hélicoptère-satellite – Une approche d'amélioration des performances
Simulation des systèmes à étalement de spectre
1. Architecture typique des systèmes basés sur l'étalement de spectre
2. Systèmes à étalement de spectre par séquence directe
3. 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 d'or
• Génération de codes de Walsh
4. Systèmes à étalement de spectre par sauts de temps (time hopping)
5. Performance du taux d'erreur binaire des systèmes à é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
6. Performance du taux d'erreur binaire des systèmes à étalement de spectre dans les canaux de fading de Rayleigh lent multipath avec un décalage Doppler nul
7. Analyse de la performance du taux d'erreur binaire des systèmes à étalement de spectre dans des environnements de fading à haute mobilité
8. Analyse de la performance du taux d'erreur binaire des systèmes à étalement de spectre en présence d'interférences multi-utilisateurs
9. Transmission d'images RVB sur les systèmes à étalement de spectre
10. Systèmes CDMA optique (OCDMA)
• Codes optiques orthogonaux (OOC)
• Limites de performance des systèmes OCDMA ; performance du taux d'erreur binaire des systèmes OCDMA synchrones et asynchrones
Systèmes SS Ultra Large Bande
Systèmes basés sur OFDM
11. Implémentation des systèmes OFDM à l'aide de la Transformée de Fourier Rapide
12. Architecture typique des systèmes basés sur OFDM
13. Performance du taux d'erreur binaire 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
14. Performance du taux d'erreur binaire des systèmes OFDM dans les canaux de fading de Rayleigh lent multipath avec un décalage Doppler nul
15. Performance du taux d'erreur binaire des systèmes OFDM dans les canaux de fading de Rayleigh lent multipath avec un CFO (décalage de fréquence porteuse)
16. Estimation du canal dans les systèmes OFDM
17. Égalisation dans le domaine fréquentiel dans les systèmes OFDM
• Égaliseur à annulation nulle (Zero Forcing)
• Égaliseurs MMSE
18. Autres métriques de performance courantes dans les systèmes basés sur OFDM (Taux crête-moyenne de puissance, Ratio porteuse-interférence …etc.)
19. Analyse de performance des systèmes basés sur OFDM dans des environnements de fading à haute mobilité (en tant que projet de simulation composé de trois articles)
20. Article (1) : Atténuation des interférences inter-porteuses
21. 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 de simulation global. 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 de stockage limités ou les temps d'exécution longs dus à un traitement lent.
1. Structure typique des petits projets de simulation
2. Extraction des paramètres de simulation et mappage théorique vers simulation
3. Construction d'un projet de simulation
4. Technique de simulation Monte Carlo
5. Procédure typique pour tester un projet de simulation
6. 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
Avoir un code MATLAB exempt de bugs 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 [note: texte original incomplet] 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 sur 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, le masquage de votre code MATLAB avec une GUI facilite la présentation de votre travail d'une manière qui permet de combiner plusieurs résultats dans une fenêtre maître unique et facilite la comparaison des données.
1. Qu'est-ce qu'une GUI MATLAB
2. Structure du fichier de fonction GUI MATLAB
3. Composants principaux de la GUI (propriétés et valeurs importantes)
4. Variables locales et globales
Remarque : Les sujets couverts à chaque niveau de ce cours incluent, mais ne se limitent pas à, ceux énoncés à chaque niveau. De plus, les éléments de chaque leçon particulière sont sujets à changement en fonction des besoins des apprenants et de leurs intérêts de recherche.
Pré requis
Afin d'acquérir la vaste quantité de connaissances intégrées dans ce cours, les stagiaires doivent avoir des connaissances de base sur les langages de programmation courants et les techniques associées. Une compréhension approfondie des cours de premier cycle en génie des 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.