Utilisateur:PierreCaruyer/Brouillon

Une page de Wikipédia, l'encyclopédie libre.
Emetteur-récepteur SDR HackRF One

La radio logicielle, en anglais : Software Defined Radio (SDR), est un type de radio reprogrammable et reconfigurable. Une radio logicielle se présente généralement sous la forme d'une partie matérielle et d'une partie logicielle. Dans le commerce, les radios logicielles sont souvent composé d'un circuit logique programmable, en anglais : Field-Programmable Gate Array (FPGA), sur lequel est installé un logiciel. Cette flexibilité est l'atout principal de ces radios car cela leur permet d'être utilisable dans des situations très variées. Le modèle théorique de la radio logicielle a été établi par Joseph Mitola au début des années 1990. Les premiers prototypes de radios logicielles furent développés dès les années 1990 par la marine américaine.

Historique[modifier | modifier le code]

La radio logicielle a été conceptualisée à partir du début des années 1990 par Joseph Mitola. Celui-ci a défini la radio logicielle idéale comme étant constituée uniquement de deux composants : une antenne pour réceptionner les ondes et un convertisseur analogique-numérique, en anglais : Analog Digital Converter (ADC), qui transformerait les ondes en langage compréhensibles par des processeurs qui réaliserait toutes les tâches qu'une radio logicielle peut réaliser. Cette idéal n'a pas encore été atteint, les radios logicielles sont toujours composées de nombreux éléments matériels[1]. La première radio logicielle a été développée par l'armée des Etats-Unis, notamment la marine, entre 1991 et 1995. Cette première radio a été nommée SPEAKeasy[2]. Dans une radio logicielle idéale, toutes les fonctions de la radio sont programmables. Cela signifie que l'implémentation n'est pas dépendante du matériel sur lequel elle est exécutée. Jusqu'à présent, ce type de radio n'a pas encore été implémenté[3].

Décomposition du signal[modifier | modifier le code]

Radio traditionnelle[modifier | modifier le code]

Transformation d'une onde radio en onde sonore

Dans les radios analogiques, l'onde électromagnétique est reçue par un récepteur, l'antenne, qui transforme l'onde en un signal électrique. Le signal est ensuite amplifié une première fois par un amplificateur radiofréquence, en anglais radiofrequency (RF) . Une fois amplifié, le signal va être démoduler par un autre composant, le détecteur. La démodulation du signal permet d'adapter l'onde sinusoïdale porteuse reçue en adaptant ses différentes caractéristiques, fréquence, amplitude et phase, au composant qui se chargera d'émettre le son. Après avoir été démodulé, le signal est ensuite amplifié une seconde fois puis est diffusé sous forme d'onde sonore via un haut-parleur[4],[5].

Dans le cas d'une émission, le procédé suivi est le procédé inverse. L'onde sonore est d'abord capté par un microphone, amplifié par un amplificateur BF. La fréquence du signal sonore amplifié est ensuite modulée. Le signal obtenu est à nouveau amplifié par un amplificateur radiofréquence puis émis par l'antenne radio sous forme d'une onde électromagnétique[6].

Radio logicielle[modifier | modifier le code]

Schéma des composants d'une radio logicielle

Les radios logicielles comportent une partie analogique et une partie numérique. Comme pour les radios traditionnelles, l'onde radiofréquence est d'abord captée par l'antenne puis transformée en un signal de fréquence intermédiaire par un modulateur RF (radiofréquence). L'antenne et le modulateur RF à l'entrée du système représentent la partie analogique de la radio logicielle. Le signal à fréquence intermédiaire passe ensuite par le convertisseur analogique-numérique en anglais : Analog Digital Converter (ADC). Avec un signal analogique en entrée, ce composant permet d'obtenir un signal digital en sortie. Ce composant forme également le pont entre la partie analogique et la partie digitale de la radio logicielle. Le signal digital passe ensuite par le convertisseur analogique, en anglais : Digital Down Converter (DDC). Ce composant est constitué de 3 sous-composants, le mixeur digital, en anglais : digital mixer, l'oscillateur digital, en anglais : digital local oscillator et un filtre à réponse impulsionnelle finie, en anglais : Finite Impulse Response (FIR). Le mixeur et l'oscillateur convertissent le signal en bande de base puis le FIR filtre la fréquence du signal de sortie. Le dernier composant, le processeur de signal numérique s'occupe de démoduler et décoder le signal[7],[8].

Implémentations[modifier | modifier le code]

Processeur standard[modifier | modifier le code]

Gamme de plusieurs processeurs

Dans les années 1990, les radios logicielles étaient implémentés sur processeurs standards, en anglais : General Purpose Processor (GPP). Considérer l'option de développer, la partie logicielle de la radio sur un processeur standard a l'avantage de laisser un large choix pour ce qui est du langage de programmation. Certaines radios logicielles ont ainsi été développées en C++ ou autres langages de programmation de haut-niveau. Un avantage de cette architecture est qu'elle permet un développement rapide de la partie logicielle car elle est bien adaptée aux langages de haut-niveau[9]. Ces processeurs ne parvenaient toutefois pas à démoduler des ondes complexes en temps-réel et dissipait trop d'énergie thermique. Cette option a donc été écartée par l'armée qui développait alors ces radios[10].

Circuit logique programmable[modifier | modifier le code]

Circuit reprogrammable Xilinx

Une fois que l'idée d'utiliser des processeurs génériques pour construire des radios logicielles performantes, les circuits logiques programmables, en anglais : Field-Programmable Gate Array (FPGA) ont gagné en popularité. L'intérêt grandissant pour ce type de plateforme a permis de développer des Processeurs Digitaux de Signaux, en anglais : Digital Signal Processor (DSP). Sur les FPGA, les programmes sont écrits en langage de description matériel, en anglais : Hardware Definition Language (HDL). Ce type langage est dépendant de l'architecture du processeur sur lequel il exécuté. Cela implique de modifier certaines parties du programme selon la plateforme utilisée. C'est ce qui a amené à l'émergence de nouveaux frameworks permettant d'abstraire cette partie matérielle[11]. De plus, un FPGA ne fait que simuler le comportement de composants électronique ce qui provoque nécessairement une perte de performance et une plus grande dissipation d'énergie sous forme de chaleur comparé à un composant dédié[12].

Processeur de signal digital[modifier | modifier le code]

Les processeurs de signal digital font partie d'un type de microprocesseurs optimisés pour un nombre réduit d'opérations comparés aux processeurs communs. Ce composant est donc moins flexible qu'un circuit logique programmable ou qu'un processeur standard. Ce type de microprocesseurs est également moins performant qu'un processeur standard.C'est dans cette optique qu'un processeur de signal digital est généré couplé à un processeur standard, ou GPP , pour implémenter une radio logicielle. Peu de systèmes d'exploitations sont adaptés à ce type de processeurs, il est donc plus difficile d'implémenter une radio logicielle en utilisant ceux-ci. Choisir d'utiliser un processeur de signal digital réduit également la consommation d'énergie du système[13].

Processeur graphique[modifier | modifier le code]

Différentes architectures sont possibles et ont été expérimentées pour implémenter une radio logicielle. Certaines architectures comprennent uniquement un processeur "classique" qui n'ont pas de spécificité particulière, d'autres utilisent des combinaisons de différents processurs pour gagner en performance. Une des possibilités qui a notamment été explorée est l'utilisation d'un processeur graphique mêlé à un ou plusieurs processeurs graphiques en parallèle. Ici, on peut voir une comparaison non exhaustive des différentes architectures possibles et les performances obtenues pour chaque architecture. On remarquera ici, un facteur 10 lorsque l'architecture passe d'un seul processeur à plusieurs processeurs en parallèle pour exécuter un algorithme de détection signal nécessaire dans une radio logicielle pour que celle-ci puisse recevoir et envoyer des signaux[14]. De manière générale, les processeurs graphiques sont 5 fois plus rapides que les processeurs classiques et 3 fois plus rapides que les processeurs de signaux digitaux[15]

Performance d'algorithme de détection de signal
Longueur de la donnée en entrée (ms) Processeur standards en série (ms) Processeur standards en parallèle (ms) Processeur graphiques en parallèle (ms)

1

13.487

1.254

0.278

10

135.852

12.842

2.846

100

1384.237

131.026

29.358

1000

13946.218

1324.346

321.254

Défis technologiques[modifier | modifier le code]

Une radio logicielle est composée de cinq composants clés: l'antenne, les filtres radiofréquences, la conversion d'un signal numérique en un signal analogique, le traitement de signal digital, l’interconnexion entre ces composants. Chacun de ces composants apporte son lot de défis technologiques.

Antenne[modifier | modifier le code]

Le principal défi qui est rencontré vis-à-vis de composant vient du fait que les antennes ne sont capables d'opérer que sur une petite plage de fréquences. Augmenter taille de l'antenne permet d'augmenter sa plage de fréquences. Cela augmente également le bruit reçu par cette antenne mais réduit également sa sensibilité de réception. En couplant plusieurs antennes, il est possible de recevoir des signaux 500MHz à 5.5GHz en évitant recevoir trop de bruit[16]. De nouvelles technologies permettent également de disposer d'antennes qui sont capables d'adapter leur fréquence. Les technologies microsystème électromagnétiques ont ouvert de nouveaux champs d'études sur ce sujet. Des interrupteurs qui permettent de faire varier la plage de fréquences d'une antenne ont notamment été développés grâce à ces technologies[17]. D'autres problématiques compliquent la réalisation d'une antenne performante dans les radios logicielles. Pour répondre à ces problématiques, différents types d'antennes existent : les antennes à résonance, à fréquences indépendantes, et les antennes à bandes ultra-larges, en anglais : Ultra-Wideband (UWB)[18].

Filtres radiofréquences[modifier | modifier le code]

La problématique majeure pour ce type de composant réside dans la sélection et le rejet des interférences reçues[19]. Le développement des technologies microsystème électromagnétiques a apporté des améliorations de performance sur ces composants[20].

Traitement de signaux[modifier | modifier le code]

Le moteur de traitement du signal de la radio logicielle doit jongler avec plusieurs critères pour être optimal. Parmi ces critères, la facilité à programmer, le niveau d'intégration, le cycle de développement, la performance de traitement du signal ainsi que la consommation d'énergie de ce moteur[21].

Communication[modifier | modifier le code]

La radio logicielle a l'avantage d'établir un lien radio en utilisant des blocs reconfigurables. C'est donc un outil de communication unique car il permet de mettre en réseau des entités hétérogènes. Pour cela, une radio logicielle doit tirer partie des standards existants, implémenter des protocoles variés, être capable de traiter le signal reçu à une vitesse qui suit l'évolution du marché et posséder une architecture qui permette une bonne connectivité entre les composants de la radio. Plusieurs architectures d'interconnexion entre ces composants existent : l'architecture sous forme de bus, l'architecture en arbre et l'architecture switch fabric[22].

Temps-réel[modifier | modifier le code]

Un des problèmes de la radio logiciel est de pouvoir traiter en temps-réel un signal qu'elle reçoit. En effet, de nombreuses fonctions doivent être appliquées au signal avant que celui-ci ne soit exploitable. Cela implique de disposer de suffisamment de puissance de calcul[23]. C'est en partie pour cette raison que les processeurs classiques (GPP) sont généralement exclus des radios logicielles mais que l'on préfèrera des architectures plus adapté à un traitement de signal en temps-réel[24].

Consommation d'énergie[modifier | modifier le code]

Les radios logicielles s'appliquent généralement à des domaines dans lesquels, le système doit être portable comme dans le domaine automobile où la radio logicielle se développe petit à petit[25]. La consommation d'énergie est donc un des critères principaux pour implémenter une radio logicielle. En effet, dans un système dont la source d'énergie est une batterie, on cherche généralement à optimiser la consommation d'énergie pour garder une autonomie optimale[26],[27],[28].

Exemples d'utilisations[modifier | modifier le code]

Les radios logicielles possèdent des fréquences variables, entre quelques centaines de Mégahertz et quelques Gigahertz. Cette caractéristique fait de la radio logicielle un objet métamorphe. En effet, cette adaptabilité permet à cet objet de respecter de nombreux standards parmi lesquels Bluetooth, EGSM, WLAN et bien d'autres encore. Ces technologies permettent de réutiliser la radio logicielle pour des utilisations très variées[29].

Serveur Web[modifier | modifier le code]

Il est possible de se servir d'une radio logicielle pour transmettre et recevoir des données. Les appareils de ce type peuvent également être mis en réseau entre eux. Cette technologie pourrait, à l'avenir, être de plus en plus utilisée dans le Web. Cependant, certains problèmes subsistent pour que les radios logicielles deviennent performantes. Il est notamment difficile d'établir une relation d'un serveur avec plusieurs cients. Il existe néanmoins des solutions à ce problème, il est notamment possible d'installer un serveur Linux qui sera capable de gérer plusieurs clients[30],[31].

Communications sans fil[modifier | modifier le code]

Les applications de radio logicielle sur les téléphones mobiles se développent de plus en plus. En effet, des applications permettant de transformer un téléphone portable en radio logicielle sont désormais disponibles, notamment sur la plateforme Android[32]. Les radios logicielles offrant de nombreuses possibilités, d'autres applications reliées à la téléphonie sont également possibles. Il est notamment possible de faire communiquer des téléphones via des radios logicielles implémentant un système de Voix sur IP, en anglais Voice Over IP(VOIP). Cela est possible en utilisant, par exemple, le logiciel Open Base Transceiver Station qui est fait pour mettre à disposition un point d'accès sans fil dédié à la téléphonie mobile[33]. Il est également d'utiliser une radio logicielle comme un émetteur / récepteur Wi-Fi[34].

Communication satellitaire[modifier | modifier le code]

Le fait qu'une radio logicielle soit très adaptable et facilement reconfigurable pourrait jouer un rôle clé dans la communication avec les satellites, ces radios étant capables de dialoguer avec différents relais, envoyant des signaux variés et selon des techniques de modulation de signaux tout aussi variées.

Applications commerciales[modifier | modifier le code]

Les radios logicielles sont de plus en plus présentes sur le marché et sont disponibles au grand public. En voici quelques exemples :

Radios logicielles disponibles dans le commerce
Nom Fréquence min. (Mhz) Fréquence max. (Mhz) Prix ($)

RTL-SDR 2831

24

1766

10-20

Funcube Pro

64

1700

150

Funcube Pro+

410

2050

200

HackRF

30

600

300

BladeRF

300

3800

400-650

USRP 1

10

6000

700

MatchStiq

300

3800

4500

Variantes[modifier | modifier le code]

Les radios logicielles sont très pratiques car, à tout moment, il est possible d'en modifier le comportement en reprogrammant certains composants logiciels de celles-ci. D'autres types de radios logicielles ont été étudiés pour limiter ces reprogrammations.

Radio intelligente[modifier | modifier le code]

Le but d'une radio intelligente est de pouvoir utiliser des plages de fréquences variables. En effet, une radio logicielle n'est programmée que pour opérer sur une certaine plage de fréquences et doit reprogrammer si la plage de fréquence venait à changer. Une radio intelligente répond à ce problème. Différents utilisateurs peuvent utiliser une radio logicielle en même temps. Cela signifie qu'il est possible que deux utilisateurs essaient d'accéder à la même plage de fréquence au même moment. La radio intelligente cherchera, dans ce cas, à utiliser une partie inoccupé du spectre radio[35].

Radio autonome[modifier | modifier le code]

Ce type de radio logicielle ne nécessite pas de reprogrammer les composants de la radio pour être capable de démoduler un signal. En effet, une radio logiciel doit connaître les différents paramètres du signal : la fréquence porteuse, le type de modulation, la bande passante du signal, etc... Une radio autonome n'a pas besoin de connaître ces paramètres au préalable pour être capable de recevoir un signal. Un composant est ajouté à la radio. Celui-ci est capable de détecter les différents paramètres du signal avant que ce dernier ne soit démodulé[36].

Références[modifier | modifier le code]

Bibliographie[modifier | modifier le code]

  • (en) H.S. Choi, Q.D. Bui, S.Y. Kang, J.Y. Jang, U.B Lee, C.H. Chun, I.Y Oh et C.S. Park, « A 0.75-6.75 GHz Receiver with a Digitally Controlled LO Generator for Software-Defined Radio », IEEE Conference Publications,‎ , p. 1 - 4 (ISBN 978-1-4244-5751-9, DOI 10.1109/IMWS.2010.5441002)
  • (en) M. Dardaillon, K. Marquet, T. Risset, J. Martin et H-P. Charles, « A New Compilation Flow for Software-Defined Radio Application on Heterogeneous MPSoCs », ACM Transactions on Architecture and Code Optimization, vol. 13,‎ , p. 1 - 25 (ISSN 1544-3566, DOI 10.1145/2910583)
  • (en) R.G. Ekanthappa, R. Escobar, A. Matevossian et D. Akopian, « A remote laboratory for USRP-based software defined radio », SPIE Digital Library - Proceedings, vol. 9030,‎ , p. 1 - 11 (ISBN 9780819499479, DOI 10.1117/12.2044216)
  • (en) L. Goeller et D. Tate, « A technical review of software defined radios : vision, reality and current status », IEEE Conference Publications,‎ , p. 1466 - 1470 (DOI 10.1109/MILCOM.2014.242)
  • (en) G. Sklivanitis, A. Gannon, S.N. Batalama et D.A. Pados, « Addressing next-generation wireless challenges with commercial software-defined radio », IEEE Communications Magazine, vol. 54,‎ , p. 59 - 67 (ISSN 0163-6804, DOI 10.1109/MCOM.2016.7378427)
  • (en) T. Yang, W. Davis, W. Stutzman, S. Shajedul Hasan, R. Nealy, C. Dietrich et J. Reef, « Antenna design strategy and demonstration for software-defined radio (SDR) », Analog Integrated Circuits and Signal Processing, vol. 69,‎ , p. 161 - 171 (ISSN 0925-1030, e-ISSN 1573-1979, DOI 10.1007/s10470-011-9775-6)
  • (en) P. Mahnke, « Characterization of a commercial software defined radio as high frequency lock-in amplifier for FM spectroscopy », Review of Scientific Instruments, vol. 89,‎ , p. 161 - 171 (ISSN 0034-6748, e-ISSN 1089-7623, DOI 10.1063/1.4999552)
  • (en) W. Shilian et Z. Ziwei, « Design an realisation of an autonomous software-defined radio », 7th International Conference on Communications and Networking in China,‎ , p. 571 - 575 (ISBN 978-1-4673-2698-8, DOI 10.1063/1.4999552)
  • (en) I. Cushman, D.B. Rawat, A. Bhimraj et M. Fraser, « Experimental approach for seeing through walls using Wi-Fi enabled software defined radio technology », Digital Communications and Networks, vol. 2,‎ , p. 245 - 255 (ISSN 2352-8648, DOI 10.1016/j.dcan.2016.09.001)
  • (en) K. Marcinek et W. Pleskacz, « Instruction set extension for software defined radio in mobile GNSS applications », Proceedings of SPIE - The International Society for Optical Engineering, vol. 8902,‎ (ISSN 0277-786X, DOI 10.1117/12.2030286)
  • (en) M. Zeeshan, S.A. Jabir et W. Ahmed, « Joint algorithm for burst detection and AGC improvement in high throughput software defined radio waveform », ScienceDirect, vol. 60,‎ , p. 77 - 85 (ISSN 0141-9331, DOI 10.1016/j.micpro.2018.04.005)
  • (en) T. Nieminen, P. Lähteenmäki, Z. Tan, D. Cox et P.J. Hakonen, « Low-noise correlation measurements based on software-defined-radio receivers and cooled microwave amplifiers », Review of Scientific Instruments, vol. 87,‎ (ISSN 0034-6748, e-ISSN 1089-7623, DOI 10.1063/1.4966971)
  • (en) H. Akcelik, Y. Durna, S. Saraydemir et H. Kocer, « Measurement of a metamaterial antenna angular power reception performance utilizing software defined radio », AEUE - International Journal of Electronics and Communications, vol. 75,‎ (ISSN 1434-8411, DOI 10.1016/j.aeue.2017.03.013)
  • (en) C. Nguyen, « MEMS-Based RF Channel Selection for True Software-Defined Cognitive Radio and Low-Power Sensor Communications », IEEE Communications Magazine, vol. 51,‎ (ISSN 0163-6804, DOI 10.1109/MCOM.2013.6495769)
  • (en) N. Haziza, M. Kassab et R. Knopp, « Multi-technology vehicular cooperative system based on Software Defined Radio (SDR) », 5th workshop on Communication Technologies for Vehicles, Nets4car,‎
  • (en) S. Gökceli, H. Alakoca, S. Basaran et G.K. Kurt, « OFDMA-based network-coded cooperation: design and implementation using software-defined radio nodes », EURASIP Journal on Advances in Signal Processing, vol. 2016,‎ (ISSN 1687-6180, DOI 10.1186/s13634-016-0305-7)
  • (en) L. Novosel et G. Sisul, « Performance evaluation of chaotic spreading sequences on software-defined radio », EURASIP Journal of Wireless Communications and Networking,‎ (ISSN 1687-1472, DOI 10.1186/s13638-017-0866-7)
  • (en) M.R. Maheshwarappa, M. Bowyer et C.P. Bridges, « Software Defined Radio (SDR) architecture to support multi-satellite communications », IEEE Conference Publications,‎ (ISBN 978-1-4799-5379-0, DOI 10.1109/AERO.2015.7119186)
  • (en) J. Machado-Fernandez, « Software Defined Radio: Basic Principles and Applications », Revista Facultad de Ingenieria, vol. 24,‎ (ISSN 0121-1129)
  • (en) E.A.M Klumperink, « Software defined radio receivers exploiting noise cancelling: A tutorial review », IEEE Communications Magazine, vol. 52,‎ (ISSN 0163-6804, DOI 10.1109/MCOM.2014.6917411)
  • (en) S. Monfared, H. Bannazadeh et A. Leon-Garica, « Software Defined Wireless Accessfor a Two-Tier Cloud System », IEEE Conference Publications,‎ (DOI 10.1109/INM.2015.7140338)

Voir aussi[modifier | modifier le code]

Liens externes[modifier | modifier le code]