IOT

Internet des Objets : pourquoi la SDR change tout ?

par Thibaud Vial, Hardware Designer Historiquement projet de l’armée américaine dans les années 80, puis l’apanage des ...


par Thibaud Vial, Hardware Designer

Historiquement projet de l’armée américaine dans les années 80, puis l’apanage des radioamateurs avant que la recherche ne s’en empare dans les années 2000, la SDR pour « Software Defined Radio », ou radio logicielle, offre désormais de belles opportunités au monde de l’IoT : de l'implémentation d'un nouveau protocole radio au Machine Learning, les possibilités sont grandes. Mais comment fonctionne cette technologie et que permet-elle précisément de faire ? Dans quels cas est-il intéressant d’y recourir ? Explications.

Qu’est-ce que la SDR ?

La SDR appelée également radio logicielle est différente de la radio matérielle classique. En effet, toutes les étapes de la radio matérielle (les filtres, les amplifications, les mixeurs, les limiteurs, les détecteurs…) sont effectuées par des composants physiques. La radio matérielle impose donc de choisir le composant en fonction de ce qu’il est souhaité faire avec le récepteur ou l'émetteur. Par exemple, si l'on souhaite communiquer par Bluetooth, notre choix va se tourner vers un module Bluetooth, et on ne pourra donc recevoir que du Bluetooth.

La radio logicielle permet de s’affranchir de ces contraintes. Son principe de base consiste à échantillonner suffisamment tôt le signal pour pouvoir le stocker et le traiter par le biais d’un logiciel. Pour rappel, « échantillonner », - prendre une valeur à intervalle régulier -, permet ensuite de « numériser », c’est-à-dire obtenir une représentation numérique du signal analogique.

 

L’avantage d’un signal numérique par rapport à un signal analogique

Tout l’enjeu en SDR est de convertir les signaux en version numérique le plus tôt possible, afin de disposer de données qu’il sera possible de stocker et sur lesquelles on pourra effectuer les tests souhaités. Or, un signal radio analogique ne peut être stocké. Il est possible d’échantillonner l’onde, c’est-à-dire de mesurer rapidement certains paramètres de l’onde et de les enregistrer, mais pas d’enregistrer l’onde elle-même.

De la même façon qu’il est possible de mesurer la vitesse du vent, mais pas d’enregistrer le vent lui-même. Pour réussir à convertir un signal analogique en signal numérique, la SDR utilise un ADC, Analog to Digital Converter.

 

Le théorème de Shannon et la difficulté d’enregistrer un signal Wifi

Le théorème de Shannon stipule que pour enregistrer numériquement un signal à une certaine fréquence qu’on appelle f, il faut échantillonner à au moins 2f, soit 2 fois la fréquence du signal. Par exemple, pour un signal à 100 Hertz, il faudra échantillonner à au moins 200 Hertz.

Le problème : la porteuse d’un signal Wifi est de 2,4 GHz, ce qui signifie qu’il change 2,4 milliards de fois par seconde. Pour enregistrer un signal Wifi, il faudrait donc pouvoir échantillonner à deux fois sa porteuse, donc à 2*2,4 GHz, soit à quasiment 5 GHz. Ce qui revient à effectuer 5 milliards de mesures chaque seconde, ce qui est beaucoup trop rapide. Avec l’état actuel de nos connaissances, il est impossible de traiter et d’enregistrer autant d’informations, aussi rapidement.

La SDR permet de résoudre ce problème. Plutôt que d’échantillonner le signal Wifi à 5GHz, l’idée est de multiplier le signal par une porteuse, - une fréquence pure -, de 2,4 GHz, pour décaler le signal Wifi autour d’une bande continue. Multiplier le signal Wifi par une porteuse de 2,4 GHz permet de le ramener autour de la composante DC, la composante continue, qui est à 0 Hz. Ainsi, l’information qui était stockée autour de 2,4 GHz est désormais stockée autour de 0 Hz. On appelle cela passer en bande de base. Par conséquent, il est désormais possible d’échantillonner à 100 MHz au lieu d’échantillonner à 5GHz.

La qualité du signal n’est pas détériorée, car seule la bande de 0 à 2,3 GHz est supprimée, alors que l’information intéressante se situe à 2,4 GHz.

signal radio sur bande de fréquence

 

Pour mieux comprendre de quoi il est question, voici une représentation du signal radio sur une bande de fréquence. Ici, elle est autour de 0, donc autour de la composante DC. De -4kHz à +4kHz, le signal est autour de -15 dBm, tandis qu’au-delà de +/-4kHz, il redescend à -25dBm. Ce signal a été échantillonné, après avoir été multiplié par une porteuse. Au départ, il était à une fréquence de 433MHz, mais il a été échantillonné à 10kHz. C’est pourquoi le signal va de -5kHz à +5kHz.

 

Comprendre la SDR au travers de son développement

Le développement de la SDR est étroitement lié à la puissance de traitement des ordinateurs. C’est pourquoi il a fallu attendre les années 2000 pour que de réels progrès soient faits en la matière. Pour fonctionner, la radio logicielle nécessite du matériel, tel qu’un USRP, un boîtier qui permet de recevoir et d’échantillonner des signaux radio.

Développé en 2004 par des chercheurs, l’USRP représentait alors un matériel extrêmement coûteux avec une forte courbe d’apprentissage. Dans les années 2010, avec l’essor de la TNT, des personnes ont réussi à faire de la SDR grâce à des clés USB TNT. Bien plus abordables qu’un USRP, ces dernières n'offrent cependant que des résultats imprécis. Ce n’est qu’autour de 2013 que des plateformes SDR performantes et à bas coût, à moins de 1000 euros, ont vu le jour. Celles-ci permettaient de faire de la réception de qualité, mais aussi de l’émission, du multi-bandes, du large bande… La SDR a alors commencé à se démocratiser.

 

Quel matériel en SDR ?

Une fois le signal échantillonné, il est possible de le traiter avec n’importe quel logiciel. Le facteur limitant en SDR réside donc dans le matériel. USRP, clé USB TNT, HackRF… A ce jour, il existe de nombreuses plateformes SDR différentes, avec des prix et des caractéristiques différentes. Le choix de la plateforme matérielle doit se faire en fonction de plusieurs critères, tels que le logiciel envisagé, la fréquence d’échantillonnage et la précision souhaitées. La SDR impose de choisir un couple matériel/logiciel. Il est possible de distinguer 4 grandes familles de logiciel :

  • Les outils spécifiques qui répondent à une seule fonction, tels que les logiciels rtl_433, dump1090, ou telive. Cette fonction spécifique peut par exemple consister à recevoir uniquement les signaux radio des avions de ligne.
  • Les outils qui permettent de faire de l’analyse de spectre, tels que GQRX, SDR# ou SDRUno.
  • Les outils qui permettent de faire de la démodulation, c’est-à-dire retrouver les informations utiles encodées dans le signal, telles que de la musique. Pour faire simple, la modulation consiste à modifier l’information pour qu’elle puisse être transmise sur le canal de transmission, et ce, le plus vite possible. De la même façon que l’on compresse un fichier pour l’envoyer par mail, avant de le dézipper à l’arrivée pour que l’information soit de nouveau intelligible. Inspectrum et URH sont des logiciels de démodulation et de rétro-ingénierie.
  • Les logiciels permettant de faire de la R&D, au travers du traitement de signal, grâce à de l’analyse plus poussée, à l’instar de GNURadio ou de Matlab.

 

IoT : à quoi sert la SDR ?

Analyse de spectre, sécurité des protocoles, radio cognitive… La SDR recouvre un grand nombre d’applications que ne permettait pas la radio classique. Au niveau du grand public, la SDR se démocratise avec l’arrivée de la 4G et de la 5G sur les BTS (antennes relais). C’est également une technologie plébiscitée par Sigfox, le réseau d’IoT.

Le principal avantage de la SDR, c’est la modularité et la flexibilité qu’elle offre. Grâce au fait que le logiciel se situe en amont de la chaîne, la partie mise à jour s’en retrouve grandement facilitée. Par exemple, la SDR permet de passer de la 4G à la 5G en mettant à jour la partie logicielle aussi simplement que sur son téléphone (sous réserve d’antennes compatibles). Il est ainsi possible de tester un nouveau programme sur une multitude de systèmes éparpillés, sans avoir à changer un seul composant. A partir du moment où l’antenne a été prévue pour recevoir la nouvelle fréquence, il suffit de mettre à jour le programme.

En IoT, la SDR permet donc de conduire des essais beaucoup plus facilement et avec moins de matériel, puisque c’est la partie logicielle qui s’adapte. Dans cette configuration, il n’est plus nécessaire de faire des choix techniques précis en amont du projet, sur le type et le nombre de récepteurs utilisés, par exemple. Grâce à la SDR, il suffit d’un seul récepteur et d’un programme. Cette flexibilité est particulièrement intéressante sur des produits complexes, pour lesquels la SDR permettra de s’adapter au marché beaucoup plus facilement, et ce, même après la sortie du produit.

Prenons le cas d’une box domotique comportant toutes les technologies de radio existantes. Imaginons maintenant qu’une nouvelle technologie apparaisse au bout de trois ans. Dans une configuration classique, le fabricant serait obligé de refaire entièrement sa box pour y ajouter cette nouvelle technologie. Avec la SDR, il suffit d’effectuer une mise à jour logicielle.

En plus de grandes capacités d’adaptations, le fait de remplacer certains produits par de la SDR permet également d’obtenir de meilleures performances, car il est possible de traiter un plus grand volume d’informations.

 

SDR x Machine Learning ou comment identifier un nœud radio (= un device) à partir d'un seul récepteur

On connaît tous la triangulation (ou la trilatération), cette méthode permettant de géolocaliser un appareil avec 3 récepteurs (mesurant les angles d'arrivée ou les distances). 

Dans le cadre de notre projet collaboratif de recherche avec le laboratoire Fed4Fire, nos équipes ont pu tester l'utilisation de la SDR pour identifier un device à l'aide d'un seul récepteur. Ils ont pu avoir accès à des bancs de tests et tout un tas de nœuds radio. Ils ont notamment pu déplacer un robot à distance pour collecter des données de différents émetteurs/récepteurs. C'est en faisant de la SDR que nos équipes ont pu obtenir un grand nombre de données brutes de ces émetteurs/récepteurs. La plus grosse partie du travail est ensuite de traiter ces données brutes pour obtenir des données contrôlées (générées dans un environnement de test que l'on maîtrise). C'est ensuite grâce à ce grand volume de données contrôlées que l'on a pu entraîner un algorithme de Machine Learning pour pouvoir identifier un émetteur. On vous explique ce projet dans notre vidéo :

 

Le développement de cet algorithme de Machine Learning peut s'avérer très utile pour de la sécurité par exemple. Comme on peut désormais identifier un device grâce aux données radio brutes, on peut ainsi facilement détecter les devices non autorisés, sans même déchiffrer ou démoduler le message radio.

 

Bien que le développement logiciel et la partie matérielle restent onéreux, ils peuvent être rentabilisés sur le long terme, à condition d'utiliser la technologie à bon escient. La SDR reste avant tout un choix judicieux de par la modularité et les performances offertes. Elle est destinée aux projets complexes nécessitant des mises à jour logicielles.

 

Si vous avez un projet IoT à mettre en œuvre ou si vous souhaitez en savoir plus sur la SDR, n'hésitez pas à contacter un de nos experts.

Contacter un expert

 

Articles similaires