SDR4All : Faire de la radio logicielle une réalité accessible à tous
Transcription
SDR4All : Faire de la radio logicielle une réalité accessible à tous
la radio logicielle Repères SDR4All : Faire de la radio logicielle une réalité accessible à tous Mots clés Radio Logicielle, Radio Cognitive, Gestion du Spectre, OFDM ■ Matthieu De Mari1, Leonardo S. Cardoso1, Sylvain Azarian1, Mérouane Debbah1, Pierre Jallon2 Supélec, Chaire Alcatel Lucent 1, CEA 2 Historique de la radio logicielle et de SDR4All La radio logicielle est un concept issu des travaux de Joe Mitola en 1999 [0]. Joe Mitola a proposé un concept intitulé Radio Logicielle ou Software Defined Radio, qui permet, idéalement, à des équipements de pouvoir communiquer avec n’importe quel standard, en ne modifiant aucun élément matériel mais seulement par modification du logiciel embarqué. Ce concept jouera un rôle essentiel dans les communications mobiles de demain. Il permettra de reconfigurer les systèmes radio par logiciel et de manière dynamique, afin de faire cohabiter les nombreux standards de communication actuels et à venir (par exemple le LTE et la 3G) au sein d’un même équipement, d’optimiser l’utilisation des ressources radio, et de réduire le matériel spécifique et les interventions sur site. Cette technologie, si elle peut paraître très simple au premier abord, soulève en fait de très nombreuses difficultés technologiques, en particulier dans des contextes de mobilité accrue et de débit élevé. L’idée de développer une radio logicielle pour tous (SDR4All), Plug-and-Play a pris forme en avril 2008 lors d’un meeting d’un projet Inter-Carnot Terrop (Technologies for Terminals in Opportunistic Radio Applications) sur les réseaux cognitifs et opportunistes à Berlin. Devant L ’ e s s e n t i e l Dans cet article, nous présentons les potentialités de SDR4All (littéralement, Software Defined Radio for All). Il s’agit d’un nouvel outil SDR permettant de réduire de façon significative les difficultés techniques liées à l’étude, la création et l’implémentation d’algorithmes de radio flexible. SDR4All est un outil logiciel programmable utilisant des cartes radios, destiné aux chercheurs, aux étudiants et aux ingénieurs. Cet outil permet de réaliser simplement l’implémentation logicielle de différents schémas de communications sans fil entre deux ordinateurs. Dans ce qui suit, nous prendrons un exemple d’implémentation basée sur la technique de multiplexage OFDM (Orthogonal Frequency Division Multiplexing) qui nous servira à décrire SDR4All et à mettre en évidence ses performances réelles en termes de transmission/réception dans les canaux sans fil de la bande de fréquence ISM, située à 2,4 GHz. 46 REE N°10 Novembre 2010 le manque d’outils pratiques sur le marché pour démontrer les performances de leurs algorithmes de “Sensing” et de théorie des jeux dans des conditions réelles, Mérouane Debbah et Pierre Jallon, deux anciens élèves de l’Ecole normale supérieure de Cachan et membres du projet Terrop, décident de développer une radio logicielle avec une interface Matlab facile à utiliser par l’ensemble de la communauté de traitement du signal. L’objectif principal est de permettre aux étudiants et chercheurs de valider leurs idées algorithmiques dans des conditions réelles, tout en conservant un langage de programmation de traitement de signal haut niveau. Dans un marché de télécommunications où les cycles d’innovation sont très courts, ils réalisent également le potentiel d’un tel produit en termes de transfert d’innovation vers l’industrie, en réduisant le gap entre la théorie et les simulations, et en étant au plus proche des contraintes produits. Le projet reçoit d’ailleurs très tôt l’encouragement de plusieurs laboratoires de recherche privés et publics (Alcatel-Lucent, Bell Labs, Supélec…) afin d’accélérer le développement de prototypes produits et de rendre la recherche française plus compétitive. Dans un premier temps, ils développent une interface pour les cartes radios USRP sur un site public. Devant le succès que connaît le site, et suite aux nombreuses imperfections de la carte USRP radio, ils décident de se lancer dans la production S y n o p s i s In this contribution, we describe the potential of SDR4all (Software Defined Radio for all) to solve the bottlenecks and reduce the innovation cycle related to the design and implementation of flexible radio algorithms. SDR4all is a programmable software tool with radio cards for wireless researchers, students and engineers. It enables to implement in software any wireless scheme between two laptops. Using an flexible orthogonal frequency division multiplexing (OFDM) based implementation example, we describe the tool and show the performance of the transmission on a real wireless channel at 2.4 GHz ISM band. ■ SDR4All : Faire de la radio logicielle une réalité accessible à tous ■ Figure 2. Représentation schématique montrant la complexité du passage de la théorie à la pratique. Figure 1. Le dispositif SDR4All. d’un dispositif SDR (Software Defined Radio) française améliorée avec la technologie MIMO. Sylvain Azarian, spécialiste radio, les rejoint en octobre 2009 pour participer activement au développement de la carte. 1.De la nécessité de simplifier la transition de la théorie vers la pratique L’un des problèmes qui rend la conception et le développement si lents en R&D, plus particulièrement dans le domaine des télécommunications, est l’absence d’outils pour mettre simplement en pratique des théories basiques. N’ayant pas de solutions techniques simples à utiliser, les théoriciens du domaine des télécommunications réalisent souvent des simulations qui ne tiennent pas compte de certains aspects pratiques. L’enjeu est alors de réduire et simplifier ce passage de la théorie à l’expérimentation pour accélérer de façon significative la mise en pratique concrète d’idées innovantes. Notre choix s’est porté sur le logiciel Matlab, qui est un outil simple, complet, intuitif et très largement répandu dans les divers domaines de l’ingénierie, de la recherche et de l’éducation. Il s’agissait alors de proposer une interface, directement implémentée sous Matlab, utilisant les outils classiques de traitement de signal pour réaliser directement des implémentations en utilisant SDR4All. L’intérêt de recourir à Matlab en tant qu’interface pour SDR4All était double : au-delà de sa notoriété, ce logiciel correspondait à un standard, qui ne nécessite aucune connaissance supplémentaire en programmation (C, Assembly, VHDL…). Enfin, SDR4All a aussi pour vocation de proposer un développement hardware, à la fois simple, complet et peu onéreux comparé aux solutions déjà existantes (cf [1, 2, 3, 4]), qui permettait à l’utilisateur d’implémenter facilement toutes ces manipulations. Les besoins de la communauté scientifique pour un tel outil de radio logicielle peuvent être résumés de la façon suivante : • Réaliser des tests, en utilisant des contraintes réalistes, • Utiliser des modèles réels de canaux, • Vérifier la faisabilité d’un algorithme et fournir les preuves de sa validité, • Permettre de se familiariser avec les problématiques liées aux systèmes sans fil, • Créer des schémas d’expérimentation simples pour la mise en pratique de problèmes théoriques, permettant la validation d’hypothèses émises. C’est en réponse à ces différents besoins que nous proposons SDR4All [5], une solution basée sur le concept de Software Defined Radio (SDR) [6,7,8], pour permettre l’implémentation d’algorithmes et leurs tests, en utilisant des transmissions réelles, mêlant simplicité de l’environnement et langage de programmation de haut niveau. Nous allons dans ce qui suit proposer une évaluation détaillée de SDR4All et la description de ses caractéristiques aux travers d’exemples simples. 2. Un outil d’évaluation SDR SDR4All se décompose en deux parties distinctes, matérielle et logicielle : • Une partie hardware, conçue pour échantillonner le signal, • Une partie plug-and-play, qui réalise l’interface, par USB, entre SDR4All et un ordinateur, pour visualiser et traiter simplement le signal, au gré de l’utilisateur. La partie hardware repose sur l’utilisation d’un module radio existant : l’USRP [9]. Bien sûr cette suite logicielle sera compatible avec les prochains modules radio développés par SDR4All (figure 1 et [5]) qui seront disponibles fin 2010. L’USRP est organisée de façon modulaire autour de deux modules : • Une carte mère, qui organise les échanges d’informations avec l’ordinateur, la génération et la distribution des signaux d’horloge, la conversion analogique / numérique et enfin le filtrage numérique • Au moins une carte fille (4 au maximum) qui réalise les traitements analogiques nécessaires pour assurer la conversion des signaux radios depuis leur fréquence de travail vers une fréquence intermédiaire. Nous avons ainsi choisi d’utiliser une carte-fille USRP, la RFX2400, qui fonctionne dans la bande de fréquence de 2,4 GHz, classiquement utilisée pour le wifi (norme 802.11b&g), le Bluetooth et autres systèmes WiMax. Nous avons également utilisé deux antennes VERT2450, unidirectionnelles, conçues pour fonctionner dans une plage de fréquence comprise entre 2,4 GHz et 5 GHz. Le tableau 1 résume la configuration de notre dispositif. REE N°10 Novembre 2010 47 la radio logicielle Repères Figure 4. Structure de la chaîne de transmission OFDM. Figure 3. Schéma de la chaîne de communication OFDM. Paramètres Valeurs Bande de fréquence ISM : 2,4 GHz ~ 2,49 GHz Largeur de la bande d’écoute 20 MHZ Canaux 1 à 13 (802.11) Puissance totale en mode TX 20 mW Bande passante du signal Jusqu’à 16 MHz Tableau 1. Paramètres du dispositif. Comme expliqué précédemment, l’interface de communication avec SDR4All est directement implémentée sous Matlab, et permet donc l’utilisation de toutes les librairies Matlab classiquement utilisés en traitement de signaux (DSP toolbox, Digital Signal Processing). L’interface logicielle SDR4All permet de positionner depuis le programme utilisateur, à tout moment, la bande passante et la fréquence centrale, à la fois en mode émission et réception. Le dispositif est ainsi capable de transmettre à partir de vecteurs I/Q et de recevoir pendant un certain temps un signal et de le restituer sous forme d’un vecteur d’échantillons I/Q. Il est alors aisé de mettre en œuvre des traitements basiques du signal échantillonné : opérations points par points, modulation, opérations sur des paquets, etc. Cette chaîne de communication intégrée est présentée sur la figure 3. 3. Chaîne Radio OFDM Notre démonstration est basée sur une transmission utilisant un schéma OFDM. Cette chaîne de transmission est en mesure de transmettre des flots d’informations de taille variable, divisés en deux parties, comme explicité sur la figure 4 : un mot de synchronisation, et l’information utile en elle-même. Le multiplexage par répartition orthogonale de la fréquence (Orthogonal Frequency Division Multiplexing, OFDM) est une technique de modulation multi-porteuses à base de transformée de Fourier rapide. D’un point de vue implémentation numérique, les systèmes OFDM transmettent les données par blocs : le flux originel de données de débit R est multiplexé en N flux parallèles de débit R/N. Il s’agit bien d’un multiplexage fréquentiel puisque 48 REE N°10 Novembre 2010 les données sont transmises sur N canaux différents. Afin d’effectuer cette transmission, au lieu de transmettre les données en série comme le font les systèmes mono-porteuses, les schémas OFDM transmettent les données par blocs en introduisant aux informations utiles de la redondance (appelée intervalle de garde) dont la structure cyclique permet, à l’aide de transformées de Fourier, une inversion simple (scalaire) du canal de propagation. Deux modes peuvent être configurés : transport de données et sondage de canal. Ils seront détaillés en détail plus loin. La synchronisation est constituée de npre éléments, transmis au moyen d’une modulation BPSK (Binary Phase Shift Keying). Cette synchronisation est nécessaire et permet de détecter correctement non seulement l’information dans sa globalité, mais également des variations de phase, dues aux imperfections de la boucle à verrouillage de phase, qui est utilisée pour générer notre porteuse à la fréquence choisie fc. Soit un vecteur complexe, de N échantillons, reçu par le dispositif. La détection du signal est assurée par une fenêtre de détection d’énergie de taille M, qui aurait la forme : Avec |.| l’opérateur norme et sk un échantillon complexe reçu à l’instant k (avec 1 ≤ k ≤ N). Nous avons déduit la taille de la fenêtre M du paquet transmis. L’indice du début du paquet est donné par : Cette technique de détection n’est pas optimale mais elle a le mérite d’être simple et rapide, et fournit des résultats plutôt probants. Elle permet de localiser efficacement le début dans la transmission. Une fois que l’échantillon est détecté, l’estimation de l’offset de la phase a lieu. Pour estimer cet offset, nous utilisons le fait que l’étape de synchronisation est composée d’un vecteur possédant les mêmes termes : ∠ correspond à la phase de la valeur complexe. A noter que dans la suite des calculs, nous choisissons de calculer la phase en moyenne, pour limiter l’impact de la phase du bruit. Les auteurs tiennent à signaler qu’ils sont conscients, qu’il existe d’autres techniques, certainement ■ SDR4All : Faire de la radio logicielle une réalité accessible à tous ■ Figure 5. Structure du signal OFDM pour le mode transmission de données. meilleures, mais ils ont préféré celle-ci pour sa simplicité. Après l’étape de synchronisation, une période de silence permet d’évaluer le niveau d’intensité du bruit, l’énergie et le calcul de ratio signal-bruit. On corrige ainsi l’offset de phase par : Comme non allons le voir par la suite, deux modes OFDM peuvent être utilisés, chacun configurera la transmission de l’information utile d’une façon qui lui est propre. Nous allons ici aborder le détail des deux modes. 3.1. Mode transmission de données Le mode transmission de données permet, comme son nom l’indique, de transmettre des données utiles. La schéma de l’envoi de données dans ce mode est donné en figure 5. Ce mode permet le transport de paquets de données de tailles variables. L’information utile est composée de blocs de données croisés correspondant tantôt aux données, tantôt au pilote, le tout étant modulé au moyen d’une transformée de Fourier discrète (DFT). La taille d’un paquet ayant subi une transformée de Fourier rapide (FFT) est notée nFFT, quantité parmi laquelle nzpad correspond au nombre de zéros utilisés à des fins de bourrage de zéro (zero-padding en anglais), ce qui laisse alors une taille totale de nc = nFFT – nzpad, allouée au transport de l’information utile. La partie information utile est stockée, dans une matrice OFDM notée R de taille nc x M/nFFT, obtenue par opérations élémentaires sur s et redimensionnement dans une matrice nFFT x M/nFFT, puis en supprimant les nzpad rangées de zéros. On divise ensuite la matrice R obtenue en deux sous-matrices respectivement associées aux données ( ), et au pilote ( ). Le bloc de référence correspondant au pilote P est généré aléatoirement, et utilisé à la fois pour le transmetteur et l’émetteur. Les bloc pilotes sont généralement modulés en utilisant une modulation QPSK, où sont des matrices complexes circulaires symétriques. Ils sont utilisés pour estimer la capacité du canal et permettre un envoi de données dans les meilleures conditions au moyen de : (1) Paramètres Valeurs fc Modifiable, dans toute la bande ISM Fréquence de la bande de base 1MHz npre 1000 syms nFFT 64 nzpad 16 (8 de chaque côté) nc 48 npilot 30 ndata 30 Structure des blocs pilotes QPSK ou circulaire symétrique Modulation des données 16-QAM Tableau 2. Paramètres pour le mode transmission de données. On pourra, là encore, recourir à la moyenne pour atténuer l’impact du bruit. Les termes des données sont modulés en utilisant une modulation 16-QAM (16 Quadrature Amplitude Modulation). La séquence Pilote-Données est répétée jusqu’à ce que l’intégralité de l’information soit transmise. A la réception complète des données, ces dernières sont égalisées au moyen de : Chaque bloc est ainsi égalisé par une estimation du canal sur le précédent bloc. Les paramètres de fonctionnement pour le mode transmission de données sont résumés dans le tableau 2. A noter que tous sont modifiables par l’utilisateur. 3.2. Mode sondage de canal La chaîne OFDM possède également un mode sondage de canal, qui est utilisé pour analyser un canal. La structure de ce mode est donnée en figure 6. Dans ce mode, l’information envoyée est exclusivement composée de blocs pilotes. Nous reprenons les notations utilisées pour caractériser la FFT dans la partie précédente. La structure des blocs pilotes est QPSK ou circulaire symétrique. L’estimation du canal se fait comme pour (1). Les paramètres pour le mode sondage des canaux sont résumés dans le tableau 3. Là encore, tous le paramètres sont modifiables. 3.3. Mécanisme de réception Nous ne travaillons pas en temps réel et le récepteur ne peut décoder au vol le flux de données transmises pour détecter le signal. Cela nécessiterait de travailler en mode multitâches, ce que Matlab ne permet pas de réaliser sim- REE N°10 Novembre 2010 49 la radio logicielle Repères Paramètres Valeurs fc Modifiable, dans toute la bande ISM Fréquence de la bande de base 1MHz npre 1000 syms nFFT 64 nzpad 16 (8 de chaque côté) nc 48 npilot 30 Structure des blocs pilotes QPSK ou circulaire symétrique Figure 6. Structure OFDM pour le mode sondage de canal. Tableau 3. Paramètres pour le mode sonde à canaux. Figure 7. Constellation des données. Figure 8. Réponse impulsionnelle d’un canal. plement. Il est donc nécessaire de recevoir et mémoriser l’intégralité de l’émission pour procéder ensuite à son décodage et à son analyse. Pour éviter la saturation mémoire de l’ordinateur utilisé en réception, il est nécessaire de commencer la réception « pas trop tôt » afin de ne conserver que des données utiles. C’est pourquoi un mécanisme de synchronisation de la réception a été mis en œuvre pour minimiser le nombre d’échantillons sur lesquels les calculs s’effectuent, et que la détection puisse avoir lieu. Pour cela, nous avons choisi de recourir à un réseau TCP/IP pour contrôler et piloter ce mécanisme. En l’absence d’un réseau câblé, le réseau sans fil peut être utilisé. La transmission/réception se déroule en une seconde pleine, après que le mécanisme ait été déclenché, pour garantir que le réseau sans fil n’interfère pas avec la transmission du paquet, par le dispositif, réalisée à une fréquence proche. 4. Mesures et résultats Un des avantages de l’approche SDR4All est que les calculs sont effectués directement en bande de base. Cela 50 REE N°10 Novembre 2010 Figure 9. Image reçue de Lena. permet de pouvoir facilement accéder à des résultats et des mesures concrets, de vérifier la validité d’un algorithme ou de travailler dans la couche physique. Cette flexibilité est particulièrement appropriée pour les chercheurs et les étudiants. A titre d’exemple, nous donnons ici les résultats obtenus par ce dispositif. En plus des fonctions déjà listées (analyse d’erreurs de bit ou de termes, rapport signal bruit…), la chaîne OFDM peut également : • Afficher la répartition des données - Constellation I/Q (figure 7). • Montrer la réponse impulsionnelle d’un canal (figure 8). • Et même mettre en forme les données reçues (exemple d’une image - figure 9). Ayant accès au code de la chaîne de réception et de trans- ■ SDR4All : Faire de la radio logicielle une réalité accessible à tous ■ mission, l’utilisateur peut également parfaitement implémenter de nouvelles mesures correspondant à ses besoins. [1]HYPERLINK “http://www.openairinterface.org/overview. en.htm” http://www.openairinterface.org/overview.en.htm 2007. 5. Conclusion [2]W. Zhu, B. Daneshrad, J. Bhatia, J. Chen, H.S. Kim, K. Mohammed, O. Nasr, S. Sasi, A. Shah & M. Tsai. “A Real Time MIMO OFDM Testbed for Cognitive Radio & Networking Research”. In Proceedings of the 1st international workshop on Wireless network testbeds, Experimental evaluation & characterization, pages 115-116. ACM New-York, NY, USA, 2006. Nous avons présenté un nouvel outil simple à prendre en main, appelé SDR4All, permettant d’accélérer la mise en pratique de nouveaux algorithmes et de nouvelles techniques pour tous les acteurs du domaine des télécommunications : enseignants, ingénieurs, chercheurs, étudiants, Au travers d’exemples et résultats simples, nous avons démontré sa flexibilité, sa légèreté et sa capacité à obtenir des résultats probants. Cet outil est déjà employé dans des universités et laboratoires de recherche, et a su se montrer à la hauteur des attentes du public. [3]HYPERLINK “http://gnuradio.org/trac” http://gnuradio.org/trac 2005. [4]HYPERLINK “http://www.spectrumsignal.com/products/pcix/ sdr_2000.asp” http://www.spectrumsignal.com/products/pcix/ sdr_2000.asp 2005. [5]HYPERLINK “http://www.sdr4all.org”http://www.sdr4all.org 2008. [6]J. Mitola, G. Maguire Jr., “Cognitive Radio: Making Software Radios More Personal”. IEEE Personal Communications, 6(4):13-18, 1999. Remerciements Les auteurs souhaiteraient remercier Digiteo pour son soutien. [7]J. Mitola & al., “Cognitive Radio: An Integrated Agent Architecture for Software Defined Radio”, 2000. Références [8]S. Haykin, “Cognitive Radio: Brain-Empowered Wireless Communications”. IEEE Journal on Selected Areas in Communications, 23(2): 201-220, 2005. [0]J. Mitola, “The Software Radio”, IEEE National Telesystems Conference, 1992 - Digital Object Identifier 10.1109/ NTC.1992.267870 L e s a u t e u r [9]HYPERLINK “http://www.ettus.com” com 2006. http://www.ettus. s Matthieu de Mari est né à Melun, France. Actuellement étudiant en troisième année à l’Ecole centrale de Marseille, France. Bien qu’ayant reçu un enseignement scientifique généraliste, il se spécialise dans le domaine de l’ingénierie des signaux et des images. Il rejoint en mai 2010 l’équipe SDR4All, dans le cadre d’un stage, dans lequel il a pour mission d’évaluer le dispositif SDR4All. Leonardo S. Cardoso est né à Rio de Janeiro (Brésil). Il reçoit un premier diplôme de génie électrique au sein de l’Université fédérale du Ceara (UFC), au Brésil, en 2003, puis son master de sciences en 2006. Entre 2001 et 2006, il travaille sur de nombreux projets, au sein d’un partenariat entre l’UFC et la branche de recherche brésilienne d’Ericsson. Ces projets l’ont amené à étudier des solutions en radio sur les réseaux 2/3G. Pendant la même période, il était membre du « Wireless Telecommunications Research Group, GTEL, au Brésil. En 2006, il rejoint l’institut Eurocom, et travaille sur deux projets portant sur des réseaux à accès multiples et les technologies MIMO en temps réel. Il est actuellement en doctorat à Supélec, et travaille sur les communications sans fil, les réseaux multi-accès, la radio cognitive et la théorie des matrices aléatoires. Sylvain Azarian est né à Paris. Après des études scientifiques, il obtient un DEA en informatique fondamentale à l’université Paris VI. Il collabore ensuite à plusieurs sociétés de services en tant que directeur technique et conçoit des équipements de collecte de données en temps réel, principalement pour l’industrie manufacturière, et dépose plusieurs brevets d’invention. Passionné de radiocommunication, il rejoint l’équipe Sdr4all en 2009. Mérouane Debbah est né à Madrid, en Espagne. Ancien élève de l’École normale supérieure de Cachan, il a reçu son doctorat en 2002. De 1999 à 2002, il a travaillé pour Motorola Labs sur les réseaux locaux sans fil. En 2002, il a rejoint le Centre de recherche en télécommunications de Vienne (ftw. À Vienne en Autriche) pour travailler sur la modélisation de canaux multi-antennes. De 2003 à 2007, il fut membre du département de communications mobiles de l’institut Eurecom, Sophia-Antipolis (France) en tant que maître de conférence. Il est à présent professeur à Supélec, titulaire de la chaire Alcatel-Lucent en radio flexible. Ses thèmes de recherche concernent la théorie de l’information, le traitement du signal et les télécommunications sans fil. Mérouane Debbah a reçu le “Mario Boella” prize award en 2005, le 2007 General Symposium IEEE GlobeCom best paper award, le WiOpt 2009 best paper award ainsi que le Valuetools 2007, Valuetools 2008 et CrownCom2009 best student papers award. Il a été nommé Fellow du WWRF en 2009. Pierre Jallon est né dans la région grenobloise en 1979. Élève de l’École normale supérieure de Cachan, il a reçu son doctorat en 2006. Entre 2003 et 2006, il a travaillé sur les problèmes d’identification et de caractérisation de signaux de communications numériques dans des contextes non coopératifs. En 2006, il a rejoint le CEA LETI où il a travaillé pendant 2 ans dans un laboratoire de communications numériques sur le thème de la radio logicielle. En 2008, il a rejoint un laboratoire qui développe des systèmes portés sur la personne. Pierre Jallon y développe des méthodes basées sur des graphes et permettant d’estimer l’état de la personne à partir de capteurs portés. Il a déposé 20 brevets dans le cadre de ces activités au LETI depuis 2006. REE N°10 Novembre 2010 51