Enseignant-chercheur (Équipe C2S, Dépt. COMELEC)
Ingé. Réseaux et Télécoms (2009)
Thèse de doctorat: Électronique et Télécoms (2013)
Enseignements:
ELEC101, PROJ10x
TELECOM20x, SE20x
ICS90x
Germain PHAM
14 février 2024
Réunion de démarrage
Enseignant-chercheur (Équipe C2S, Dépt. COMELEC)
Ingé. Réseaux et Télécoms (2009)
Thèse de doctorat: Électronique et Télécoms (2013)
Enseignements:
ELEC101, PROJ10x
TELECOM20x, SE20x
ICS90x
Expertises:
Traitement du signal
Programmation Python + Matlab
Linux
Infos pratiques:
Bureau: 3B46
Mail: dpham@telecom-paris.fr
Pour discuter avec moi: demander un RDV par mail systèmatiquement
Boîte à outil Python pour les cartes radio SDR
BECKER Solene | JABAL Moncef | VERBOIS Maël |
SigTRX est une boîte à outil Python pour les cartes radio SDR
SigTRX est un projet open-source qui utilise des bibliothèques open-source
Fournit:
des fonctions simples pour générer des signaux simulant des transmissions télécoms (4G,5G)
des scripts pour contrôler les cartes SDR qui permettront d’effectuer les opérations de base, telles que :
la réception de signaux,
l’émission de signaux,
et l’analyse de spectre.
SDR: Software Defined Radio
Une radio logicielle (SDR, Software Defined Radio) est un dispositif de télécommunications qui se compose généralement
d’un dispositif frontal RF configurable
d’une carte FPGA ou d’un SoC (System-on-Chip) programmable permettant d’exécuter des fonctions numériques.
Les cartes SDR disponibles dans le commerce peuvent émettre et recevoir des signaux à différentes fréquences pour implémenter des normes de télécommunications allant de la radio FM à la 5G, au LTE et au WLAN.
Plateforme temps réel low-cost
\$\approx\$ 1 à 3k€
Tâches d’ingéniérie radio
Tests OTA (over-the-air) en laboratoire et sur le terrain avec des signaux RF live
Prototypage rapide de fonctions radio personnalisées
Enseignement
Apprentissage pratique des concepts de télécommunications et des compétences de design
Matlab est le langage de programmation le plus utilisé pour les applications de traitement du signal et de télécommunications
Mais Matlab est un logiciel propriétaire et coûteux
La gestion des toolboxes est obscure et difficile à déployer sur un parc de machines
Python est un langage de programmation open-source et gratuit
Nous utilisons des cartes SDR produites par Analog Devices
Les bibliothèques Python pour ces cartes sont relativement documentées et open-source
Pour la recherche:
Test d’algorithmes de traitement du signal et de télécommunications
Pour l’enseignement:
Prototypage rapide pour les TP de télécommunications
Prototypage rapide pour les projets
Livrer une présentation de la carte radio AD-FMCOMMS3-EBZ en utilisant la bibliothèque markdown-slides
Asciidoctor reveal.js
Réaliser individuellement 10 commits sur git
en respectant un modèle de rédaction:
le message principal du commit doit suivre le modèle suivant: <file/module name>: <title>
le commit doit contenir une brève description de ce que vous y avez fait
Implémenter les fonctions de base pour générer des signaux de télécoms
Rédiger la documentation des fonctions de base
Implémenter le code pour réaliser une transmission sans-fils et calculer le taux d’erreur binaire
Rédiger la documentation de la boîte à outils
Lire les documents de référence
Installer les outils nécessaires
Python
PyADI-IIO
Éxécuter les exemples
Asciidoctor
Éxécuter les exemples
Git
Définir un reviewer pour les commits
Visual Studio Code
Installer les extensions pour Python et Asciidoctor
Stratégie à moyen terme:
Comprendre la structure de PySDR
Choisir les fonctions de base à réutiliser
Choisir les fonctions de base à implémenter
Modélisation d’amplificateurs de puissance à base de réseaux de neurones à valeurs complexes
GORGE Nicodème | JEMNI Yassine Abdallah | LECOMTE Bastien | PELISSIER Damien |
Maprene-C est un projet à visée éducative
Support de cours qui bénéficiera aux futures générations d’étudiants
Un amplificateur de puissance est un dispositif électronique qui amplifie la puissance d’un signal électrique
Les amplificateurs de puissance sont utilisés dans les systèmes de télécommunications, les radars, les systèmes de navigation, etc.
Les amplificateurs de puissance sont des composants critiques
Ils chauffent
Ils consomment une grande part de l’énergie du système
Ils sont non-linéaires
Les amplificateurs de puissance peuvent être modélisés par différents types de fontions mathématiques
niveau électrique : équations différentielles non-linéaires
niveau signal : fonctions polynomiales (à coefficients complexes) ou réseaux de neurones
Un réseau de neurones est un modèle mathématique qui simule le fonctionnement des neurones biologiques
Un réseau de neurones est (habituellement) composé de plusieurs couches de neurones
Chaque neurone est une fonction mathématique qui prend en entrée un vecteur et produit un scalaire en sortie
Les poids du réseau de neurones sont ajustés par apprentissage
Les réseaux de neurones sont utilisés pour des tâches de classification, de régression, de prédiction, de génération de texte, de traitement du signal, de traitement d’images, de traitement de la parole, etc.
L’apprentissage est le processus par lequel on ajuste les poids d’un réseau de neurones pour minimiser une fonction de coût.
La fonction de coût sera définie comme la moyenne des erreurs quadratiques entre les sorties du réseau et les sorties attendues:
\[C = \frac{1}{N} \sum_{n=1}^{N} (y_n - \hat{y}_n)^2\]
Il y a plusieurs types d’apprentissage ; nous nous intéressons à l’apprentissage supervisé.
L’apprentissage est réalisé par descente de gradient (pour faire simple).
le terme élémentaire du gradient est \[ \frac{\partial C}{\partial w_{ij}} \]
son calcul implique de dériver des fonctions composées
Les réseaux de neurones à valeurs complexes sont des réseaux de neurones dont les poids et les entrées sont des nombres complexes
Les fonctions d’activation sont des fonctions complexes
La dérivation de telles fonctions est plus complexe que pour les fonctions réelles
La fonction de coût reste la même (à valeurs réelles)
Bien qu’il existe une littérature abondante sur les réseaux de neurones à valeurs réelles, il n’existe pas de support de cours (didactique) sur les réseaux de neurones à valeurs complexes.
Pour apprendre les bases des réseaux de neurones
Pour aider les futures générations d’étudiants à comprendre les réseaux de neurones à valeurs complexes
Revue commentée de la littérature sur l’optimisation des réseaux de neurones à valeurs complexes sous forme d’un document en langage AsciiDoc
Rédaction de l’expression du gradient de la fonction de coût pour différents réseaux de neurones à valeurs complexes sous forme d’un document en langage AsciiDoc
(LaTeX sera mis en oeuvre pour l’écriture des équations)
Réaliser individuellement 10 commits sur git
en respectant un modèle de rédaction:
le message principal du commit doit suivre le modèle suivant: <file/module name>: <title>
le commit doit contenir une brève description de ce que vous y avez fait
Implémentation d’un modèle de réseau de neurones à valeurs complexes sous forme d’un script Python
Courbe d’apprentissage du modèle de réseau de neurones à valeurs complexes sous forme d’un graphique
Réseau de neurones:
Stanford CS class CS231n: Convolutional Neural Networks for Visual Recognition
Uniquement "Module 1: Neural Networks"
Réseaux de neurones à valeurs complexes:
Python (PyTorch):
Modélisation d’amplificateurs de puissance:
Installer les outils nécessaires
Python
PyTorch
Asciidoctor
Éxécuter les exemples
Git
Définir un reviewer pour les commits
Visual Studio Code
Installer les extensions pour Python et Asciidoctor
Développer le calcul du gradient de la fonction de coût pour un réseau de neurones à valeurs réelles
MLP (Multi-Layer Perceptron):
4 neurones d’entrée, 5 neurones cachés, 2 neurones de sortie
Fonction d’activation: tangente hyperbolique
Stratégie à long terme:
implémenter le calcul du gradient de la fonction de coût pour un réseau de neurones à valeurs réelles
développer le calcul du gradient de la fonction de coût pour un réseau de neurones à valeurs complexes
implémenter le calcul du gradient de la fonction de coût pour un réseau de neurones à valeurs complexes
Livraison du planning de travail (cf. mail 6 fév. M. Jeanmougin [Artishow] [ARTISHOW] choix des projets et début du second semestre
)
Ce planning sera noté ; il doit être
réaliste
détaillé
Si vous avez des questions, contactez-moi par mail la veille du créneau de RDV que vous envisagez.