Plan du cours
• Résultats de ce cours
Après avoir terminé ce cours, l'étudiant devrait être capable de s'attaquer à de nombreux problèmes de recherche actuellement ouverts dans le domaine de l'ingénierie des communications, car il aura acquis au moins les compétences suivantes :
• Cartographier et manipuler des expressions mathématiques complexes qui apparaissent fréquemment dans la littérature d'ingénierie des communications.
• Capacité à utiliser les fonctionnalités de programmation offertes par MATLAB afin de reproduire les résultats de simulation d'autres publications ou au moins d'approcher 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 conjointement avec les puissantes capacités de MATLAB pour concevoir des codes MATLAB optimisés 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 les performances 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 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 complexes et de construire facilement les graphiques appropriés pour différentes représentations de données, telles que les diagrammes dans le domaine temporel et fréquentiel ; les diagrammes de taux d'erreur binaire (BER), les diagrammes de rayonnement d'antenne…etc.
Concepts fondamentaux
1. Le concept de simulation
2. L'importance de la simulation dans l'ingénierie des communications
3. MATLAB comme 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 passants par la bande de base complexe 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
19. La matrice de zéros
20. La matrice identité
Manipulation élément par élément et matricielle
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, vecteurs ou matrices (concaténation de matrices)
25. Recherche de l'index d'un élément à l'intérieur d'un vecteur ou d'une matrice
26. Remodelage de matrice
27. Troncature de matrice
28. Concaténation de matrices
29. Retournement de gauche à droite et de droite à gauche
Opérateurs matriciels 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é de matrice
38. Hermiterien de matrice
39. …etc
Opérations matricielles binaires
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 signants passants par la bande passante et up-conversion RF, révision mathématique
44. Création 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érieure"
56. La "fonction plus proche supérieure"
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
Polynômes dans MATLAB
66. Polynômes dans MATLAB
67. Fonctions rationnelles
68. Dérivées polynomiales
69. Intégration polynomiale
70. Multiplication polynomiale
Graphiques à échelle linéaire
71. Représentations visuelles de signaux analogiques à temps continu et amplitude continue
72. Représentations visuelles de signaux approchés par escalier
73. Représentations visuelles de signaux à temps discret et amplitude discrete
Graphiques à échelle logarithmique
74. Graphiques dB-décennie (BER)
75. Graphiques décennie-dB (graphiques de Bode, réponse fréquentielle, spectre de signal)
76. Graphiques décennie-décennie
77. Graphiques dB-linéaire
Graphiques polaires 2D
78. (Diagrammes de rayonnement planaire d'antenne)
Graphiques 3D
79. Diagrammes de rayonnement 3D
80. Graphiques 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 script MATLAB
85. Fichiers de fonction MATLAB
86. Fichiers de données MATLAB
87. Variables locales et globales
Boucles, conditions, contrôle de flux 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. L'instruction 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. Commande disp
96. 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 objectifs principaux de cette partie sont les suivants :
• Générer des signaux de test aléatoires nécessaires pour tester les performances de différents systèmes de communications.
• Intégrer de nombreuses opérations élémentaires de signal qui peuvent être combinées pour implémenter une seule fonction de traitement de communication, telle que des encodeurs, des randomiseurs, des entrelaceurs, des générateurs de codes d'étalement …etc. à l'émetteur ainsi que leurs homólogos au récepteur.
• Interconnecter ces blocs correctement afin d'obtenir 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 en échelle de gris
105. Flux de bits sériel d'une image 2D en échelle de gris
106. Sous-trame 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 temporelle (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 de bande de base à temps continu 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. Forme d'impulsion
121. Calcul de la largeur d'impulsion adéquate
122. Sélection du nombre d'échantillons par impulsion
123. Convolution en utilisant les commandes conv et filter
124. Autocorrélation et corrélation croisée des signaux limités dans le temps
125. Opérations de Transformée de Fourier Rapide (FFT) et IFFT
126. Affichage du spectre d'un signal de bande de base
127. Impact 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 communications
130. Randomiseurs et dérandomiseurs
131. Punckeurs et dépunckeurs
132. Encodeurs et décodeurs
133. Entrelaceurs et désentrelaceurs
Modulateurs et démodulateurs
134. Schémas de modulation de bande de base numérique dans MATLAB
135. Représentation visuelle des signaux numériquement modulés
Modélisation et simulation des canaux
136. Modélisation mathématique de l'effet du canal sur le signal transmis
• Addition – canaux à bruit gaussien blanc additif (AWGN)
• Multiplication dans le domaine temporel – canaux à évanouissement lent, décalage Doppler dans les canaux véhiculaires
• Multiplication dans le domaine fréquentiel – canaux à évanouissement 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 trajet en espace libre et perte de trajet dépendante de l'environnement
138. Canaux de blocage périodique
Caractérisation statistique des canaux d'évanouissement à trajets multiples stationnaires et quasi-stationnaires courants
139. Génération d'une VRA (Variable Aléatoire) uniformément distribuée
140. Génération d'une VRA à valeurs réelles distribuée selon une gaussienne
141. Génération d'une VRA complexe distribuée selon une gaussienne
142. Génération d'une VRA distribuée selon Rayleigh
143. Génération d'une VRA distribuée selon Rice
144. Génération d'une VRA distribuée selon la loi lognormale
145. Génération d'une VRA de distribution arbitraire
146. Approximation d'une fonction de densité de probabilité (PDF) inconnue d'une VRA par un histogramme
147. Calcul numérique de la fonction de répartition cumulative (CDF) d'une VRA
148. Canaux à bruit gaussien blanc 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 PDP (Profil de Retard de Puissance)
151. Extraction de la réponse impulsionnelle du canal à partir du PDP
152. Échantillonnage de la réponse impulsionnelle du canal à un taux d'échantillonnage arbitraire, échantillonnage non adapté et quantification du retard
153. Le problème de l'échantillonnage non adapté de la réponse impulsionnelle du canal des canaux à bande étroite
154. Échantillonnage d'un PDP à un taux d'échantillonnage arbitraire et compensation du retard fractionnaire
155. Implémentation de plusieurs modèles de canaux intérieurs et extérieurs standardisés par l'IEEE
156. (Modèles de canaux COST – SUI - Ultra Large Bande…etc.)
Niveau 3 : Simulation au niveau lien des systèmes de communication pratiques (30 heures)
Séances 15-24
Cette partie du cours est concernée par la question la plus importante pour les chercheurs, à savoir comment reproduire les résultats de simulation d'autres publications par la simulation.
Performances en taux d'erreur binaire des schémas de modulation numérique de bande de base
1. Comparaison des performances de différents schémas de modulation numérique de bande de base dans les canaux AWGN (étude comparative approfondie via simulation pour vérifier les expressions théoriques) ; diagrammes de dispersion, taux d'erreur binaire (BER)
2. Comparaison des performances de différents schémas de modulation numérique de bande de base dans différents canaux d'évanouissement stationnaires et quasi-stationnaires ; diagrammes de dispersion, taux d'erreur binaire (étude comparative approfondie via simulation pour vérifier les expressions théoriques)
3. Impact des canaux à décalage Doppler sur les performances des schémas de modulation numérique de bande de base ; diagrammes de dispersion, taux d'erreur binaire
Communications Hélicoptère-Satellite
4. Article (1) : Système vocal et de données en temps réel à faible coût pour le Service Mobile Aérien par Satellite (AMSS) – Énoncé du problème et analyse
5. 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
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 basés sur l'étalement de spectre à 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 de Gold
• Génération de codes de Walsh
4. Systèmes basés sur l'étalement de spectre par saut temporel
5. Performances en taux d'erreur binaire des systèmes basés sur l'é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
6. Performances en taux d'erreur binaire des systèmes basés sur l'étalement de spectre dans les canaux d'évanouissement de Rayleigh lent à trajets multiples avec décalage Doppler nul
7. Analyse des performances en taux d'erreur binaire des systèmes basés sur l'étalement de spectre dans les environnements d'évanouissement à haute mobilité
8. Analyse des performances en taux d'erreur binaire des systèmes basés sur l'étalement de spectre en présence d'interférences multi-utilisateurs
9. Transmission d'images RVB sur des systèmes à étalement de spectre
10. Systèmes OCDMA (CDMA optique)
• Codes orthogonaux optiques (OOC)
• Limites de performance des systèmes OCDMA ; performances en 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 de systèmes OFDM en utilisant la Transformée de Fourier Rapide (FFT)
12. Architecture typique des systèmes basés sur l'OFDM
13. Performances 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
14. Performances en taux d'erreur binaire des systèmes OFDM dans les canaux d'évanouissement de Rayleigh lent à trajets multiples avec décalage Doppler nul
15. Performances en taux d'erreur binaire des systèmes OFDM dans les canaux d'évanouissement de Rayleigh lent à trajets multiples avec CFO (Offset 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 l'OFDM (Taux de Crête à Puissance Moyenne, Rapport Porteuse-à-Interférence…etc.)
19. Analyse des performances des systèmes basés sur l'OFDM dans les environnements d'évanouissement à haute mobilité (sous forme de projet de simulation consistant en 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 comment 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 longs temps d'exécution résultant d'un traitement lent.
1. Structure typique des petits projets de simulation
2. Extraction des paramètres de simulation et mappage de la théorie vers la 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. Gestion de l'espace mémoire et techniques de réduction du temps de simulation
• Simulation 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 d'interface graphique utilisateur (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 [le comportement]. Pour cette raison et d'autres, une conférence supplémentaire sur la "Programmation d'Interface Graphique Utilisateur (GUI)" est donnée afin de placer le contrôle sur diverses 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 d'une manière qui facilite la combinaison de plusieurs résultats dans une fenêtre maître et rend plus facile 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
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 conférence particulière sont susceptibles de changer 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 participants doivent posséder des connaissances générales en programmation et en techniques informatiques courantes. Une compréhension approfondie des cours de premier cycle en ingénierie des communications est fortement recommandée.
Nos clients témoignent (2)
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
Sa grande disponibilité, il repondais comme il peut aux différentes sollicitations