1 / 53

Simulation d'une plateforme Radio Logicielle Reconfigurable HDCRAM et implémentation sur USRP

Simulation d'une plateforme Radio Logicielle Reconfigurable HDCRAM et implémentation sur USRP. Matthieu PASTORE Vincent LE FLOCH Pierre LE BERRE Boying ZHU Mercredi 24 Mars 2010. Introduction. Modèle HDCRAM de Loïg Godard Modélisation du système complet émetteur/récepteur

salene
Download Presentation

Simulation d'une plateforme Radio Logicielle Reconfigurable HDCRAM et implémentation sur USRP

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Simulation d'une plateforme Radio Logicielle Reconfigurable HDCRAM et implémentation sur USRP Matthieu PASTORE Vincent LE FLOCH Pierre LE BERRE Boying ZHU Mercredi 24 Mars 2010

  2. Introduction • Modèle HDCRAM de Loïg Godard • Modélisation du système complet émetteur/récepteur • Simulateur SystemC • USRP

  3. Simulation d'une plateforme Radio Logicielle Reconfigurable HDCRAM et implémentation sur USRP Méta-modèle HDCRAM GNU Radio Programme SystemC

  4. 1) Méta-modèle HDCRAM

  5. Radio Cognitive • Définition • Possibilité pour une chaine de transmission radio de modifier elle-même ses paramètres ou sa structure en fonction de son environnement dans le but de communiquer le plus efficacement possible ( QoS)

  6. Radio Cognitive • Caractéristique • Système pouvant utiliser les capacités de la Radio Logicielle • Basée sur l’information donnée par des capteurs qui caractérisent le signal reçu • Réglage des éléments de la chaine de transmission en fonction des informations données par les capteurs

  7. Cycle Cognitif • Observe • Collecter des information des métriques • Learn • Évaluer et analyser les information des métriques • Decide • Choisir la meilleure configuration • Reconfiguration

  8. Modèle HDCRAM • Les composantes • Entités de gestion cognitive (CRM) • Entités de gestion de reconfiguration (ReM) • L’opérateur • Bloc de fonctionnement qui permet de réaliser une partie de traitement global du standard de communication

  9. Choix de HDCRAM • Gestion hiérarchique • Centraliser les reconfiguration d’un ensemble de ressources • Gestion distribuée • Chaque opérateur est contrôlé par un unité de gestion • Séparation des chemins de données et de reconfiguration

  10. Architecture HDCRAM • Architecture vertical HDCRAM (1) • Les entités de gestion cognitive (CRM) • Architecture vertical HDCRAM (2) • Les entités de gestion de reconfiguration (ReM) • Architecture horizontal HDCRAM (3) • Association entre CRM et ReM

  11. Architecture vertical HDCRAM (1) • Une approche (bottom/up):La remontée de métrique • L3_CRMU • Collecter les métriques à partir de l’opérateur • L2_CRMU • Comme une interface entre L1 et L3 • L1_CRM (unique) • Possède une interface avec le monde extérieur

  12. Architecture vertical HDCRAM (2) • Une approche (Top/down): L’envoi d’ordre de reconfiguration • L1_ReM (unique) • Superviseur général de reconfiguration • L2_ReMU • Comme une interface entre L1 et L3 • L3_ReMU • S’occuper d’un unique opérateur

  13. Architecture horizontal HDCRAM • une approche transversale: l’envoi d’ordre de reconfiguration • L’ordre de reconfiguration est interprétée par l’unité ReMU associée

  14. Architecture global HDCRAM

  15. Création des blocs (1/2) • ReMs : OK, création hiérarchisée, successive • CrMs ? • Analogie ReMs : pas possible • Par L3_ReM : hiérarchie ? • Par L2_ReM : pas de lien ?

  16. Création des blocs (2/2) • Choix : • L3_CrM : architectures FPGAs dynamiquement reconfigurables (L2_ReM : gestionnaire de reconfiguration) • L2_CrM : analogie au L3_CrM • Manque de recul sur la solution : • Peu de connaissance des architectures dynamiquement reconfigurable • Autres cibles ? • Problèmes connexions (créations statiques ? )

  17. Synchronisation émetteur-récepteur (1/2)

  18. Synchronisation émetteur-récepteur (2/2) • Protocole tramé : • Paramètres du signal (modulation, codage,…) => DVB, SCCC • Timestamp : le récepteur envoie le timestamp sur lequel se reconfigurer => Wifi • Délai de reconfiguration en « dur » • Estimation du délai ? • Perte de données

  19. 2) GNU Radio

  20. Principe de fonctionnement • Passage des données de SystemC à travers un vrai canal de transmission • 2 entités différentes • Entité 1 (Emetteur) • Absorption des données venant de SystemC • Envoie des données sur une antenne • Entité 2 (Récepteur) • Réception des données • Envoie des donnée vers SystemC

  21. Entité GNU Radio • 2 Composantes • Composante logicielle • GNU Radio et GRC • Composante matérielle • URSP

  22. Universal Software Radio Peripheral

  23. Convertisseurs A/N et N/A • Convertisseurs A/N • Résolution : 12 bits • Fréquence d’échantillonnage : 64 MHz • Convertisseurs N/A • Résolution : 14 bits • Fréquence d’échantillonnage : 128 MHz

  24. FPGA

  25. Carte fille • Carte RFX2400 • Emission et Réception • De 2.3 GHz à 2.9 GHz • Transposition IQ en fréquence Intermédiaire

  26. GNU Radio • Composante logicielle • Contrôle de l’URSP • Traitement de signal • Librairie de blocs de traitement du signal • Codée en C++ • Assemblage des blocs et création de graphes • En Python

  27. GNU Radio Companion • Interface graphique pour le développement • Génération de code Python • Bloc représenté graphiquement • Entrée(s) / Sortie(s) • Paramètres

  28. Emetteur

  29. Performance de transmission • Emission • CNA : 128 MHz • fixe • Interpolation matérielle (DUC) : 256 • Cadencement : 128 / 256 = 500 k ech/s • Interpolation logicielle : 40 • Cadencement : 500 / 20 = 12,5 k ech/s • Débit maximal que le programme SystemC est capable de fournir

  30. Récepteur

  31. Ambigüité de phase • Boucle accroche de phase : ambigüité de π /2 (QPSK), π (QPSK) : • Non déterministe • Non mesurable • Constant tant que la boucle de phase reste « accrochée » (plusieurs positions stables) • Première solution : corrélation sur un header, on essaye toutes les possibilités • Overhead sur le signal • Grande complexité de calcul (initialisation seulement) • Autre : précodage différentiel : • Baisse du SNR

  32. Ambigüité de phase : précodage différentiel • Modulation BPSK : OK • Ordres supérieurs : • Approche mathématique : pas de résultats • 8psk « by Vincent »… • Approche par analogie : travail sur l’alphabet numérique précodage décodage

  33. Accroche de phase • Synchronisations symbole (M&M) + phase (costas) • Problème : • dimensionner les chaines (paramètres asservissement) • « Boites noires » sous GRC • Exploration du bloc « ConstellationSink » • Permet d’obtenir la structure et les paramètres • Problème : structure pas « normale »

  34. Accroche de phase : « problème du filtre adapté » (1/2) • Bonne constellation • Signal binaire incorrect (corrélation) en QPSK, correct en BPSK • L’analyse des symboles fait apparaitre un mauvais « brassage » : 1 3 1 3 3 1 2 4 4 2 2 4 2 3 1

  35. Accroche de phase : « problème du filtre adapté » (2/2) • Explication supposée : • Filtre adapté • Interpolation • Structure récepteur non idéale • « tracking » du signal par l’asservissement de phase sur les chemins intermédiaires…

  36. 3) Programme SystemC

  37. 3) Programme SystemC • Fonctionnement du programme • Blocs : classe dérivant de sc_module. • Liens entre les blocs : sc_port • Méthodes de classe : sc_thread • Démarrage : sc_start

  38. 3) Programme SystemC • Scenario : émetteur • modèle HDCRAM (niveaux L1, L2 et L3) • Chaine de traitement (source, codeur différenciel, mapper (QPSK ou BPSK) et sink). • Scenario : récepteur • modèle HDCRAM (niveaux L1, L2 et L3) • Chaine de traitement (source, demapper (QPSK ou BPSK) , décodeur différenciel, et sink).

  39. 3) Programme SystemC • deux blocs (en émission et en réception) permettant d’envoyer des ordres de reconfiguration par UDP et ethernet de l’émetteur au récepteur. • Le bloc Image_Sink récupère une information sur le bruit du signal et la transmet au L3_CrM_SNR_Sensor.

  40. 3) Programme SystemC

  41. 3) Programme SystemC

  42. 3) Programme SystemC • Principe de fonctionnement : émetteur • Source : programme de lecture d’image au format BMP • Sink envoie les symboles I et Q vers les blocs GNU radio par TCP. • Principe de fonctionnement : récepteur • Source reçoit les symboles I et Q par TCP des blocs GNU radio. • sink reçoit l’image et l’affiche à l’aide des bibliothèques OpenCV.

  43. 3) Programme SystemC • Envoi d’une image • envoyée ligne par ligne avec un entête de 64bits entre elles et ce même entête deux fois après la dernière ligne. • corrélation du signal reçu avec la séquence de 64bits qu’il possède en mémoire. • Si corr < 50, on affiche les pixels

  44. 3) Programme SystemC

  45. 3) Programme SystemC • Modélisation des niveaux L1, L2 et L3

  46. 3) Programme SystemC

  47. 3) Programme SystemC

  48. 3) Programme SystemC • Opérateurs reconfigurables : Mapper/Demapper • bloc mapper directement crée par le L3 • blocs mapperBPSK et mapperQPSK crées par le mapper. • changement de mapping : variable publique ready_to_reconfigure du mapper)

  49. 3) Programme SystemC • Image_Sink • capte une information sur le bruit et la transmet au L3_CrM_SNR_Sensor • Créé par le bloc L2_ReM • Valeur de corrélation lors de la détection de l’entête.

  50. Refonte du MétaModèle : objectifs • Capitalisation de code • Intégration de nouvelles fonctionnalités • Permettre utilisation directe du MétaModèle • Construction aisée de la chaine de traitement

More Related