Projet

Général

Profil

Rapport de projet » Historique » Version 1

Alexis ANGLADE, 28/01/2025 16:22

1 1 Alexis ANGLADE
> +*Rapport de projet - Identification de l’émetteur à partir du préambule LoRa*+
2
3
Cliente : Mme. EL RACHKIDY Nancy (LIMOS)
4
Tuteur industriel : M. FICKINGER Pascal
5
Référent Polytech : M. LANDRAULT Alexis
6
7
Étudiants : ANGLADE Alexis - ZHAO Yan
8
Polytech Clermont – Génie Électrique
9
Année 2024-2025
10
11
___
12
13
___
14
15
___
16
17
> > +*Résumé*+
18
19
Ce projet explore l’utilisation du CFO (décalage de la fréquence porteuse) pour différencier les nœuds dans un réseau LoRa. Le produit final est un modèle de classification basé sur le CFO et le facteur d’étalement (SF), permettant de reconnaître avec précision l’origine des trames LoRa. À ce stade, le projet a permis de valider la faisabilité de cette approche en construisant une base de données et en testant plusieurs algorithmes de Machine Learning, avec KNN offrant les meilleures performances. Le projet, proposé dans le cadre des recherches académiques, vise à démontrer des compétences interdisciplinaires pour le programme de génie électrique de Polytech Clermont.
20
21
Mots-clés : LoRa, CFO, Machine Learning, SF, Classification, Communication sans fil.
22
23
___
24
25
> > +*Abstract*+
26
27
This project explores the use of CFO (Carrier Frequency Offset) to differentiate nodes in a LoRa network. The final product is a classification model based on CFO and the Spreading Factor (SF), enabling precise identification of the origin of LoRa frames. At this stage, the project has validated the feasibility of this approach by building a database and testing multiple machine learning algorithms, with KNN delivering the best performance. The project, proposed as part of academic research, aims to demonstrate interdisciplinary skills within the Electrical Engineering program at Polytech Clermont.
28
29
Keywords : LoRa, CFO, Machine Learning, SF, Classification, Wireless Communication.
30
31
___
32
33
> > +*Remerciements*+
34
35
Nous tenons tout d’abord à exprimer notre sincère gratitude envers notre cliente, Mme. EL RACHKIDY Nancy, pour son suivi tout au long de notre projet. Ses retours constructifs et ses attentes bien définies nous ont permis de mieux comprendre les objectifs du projet et de travailler de manière efficace pour les atteindre.
36
37
Nous souhaitons également remercier notre tuteur industriel, M. FICKINGER Pascal, pour son soutien organisationnel tout au long du projet. Son aide dans la gestion de projet a grandement contribué à la réussite du notre.
38
39
Enfin, nous adressons nos derniers remerciements à notre professeur référent, M. LANDRAULT Alexis, pour son accompagnement académique. Ses précieux conseils ont été essentiels pour explorer des pistes nouvelles, ce qui a permis d’assurer la réussite du projet.
40
41
___
42
43
___
44
45
___
46
47
48
{{toc}}
49
50
___
51
52
___
53
54
___
55
56
> h1. Introduction
57
58
De nos jours, la communication sans fil joue un rôle majeur dans le développement des nouvelles technologies, telles que l’Internet des Objets (IoT) par exemple. Parmi les nombreuses technologies de communication sans fil disponibles, LoRa (Long Range) se distingue par sa capacité à offrir une communication longue portée avec une faible consommation d’énergie, ce qui en fait une solution idéale pour les applications IoT. Cependant, l’identification et la classification des objets émetteurs de trames LoRa dans un réseau multi-émetteurs posent encore des défis techniques, notamment dans des environnements complexes.
59
60
C’est dans ce contexte que, pour notre cliente Mme. El Rachkidy qui travail sur ce sujet depuis de nombreuses années au sein du laboratoire LIMOS situé sur le campus des Cézeaux à Aubière, nous avons eu comme mission, pour notre projet de 5e année en génie électrique à Polytech Clermont, de valider un raisonnement selon lequel l’émetteur d’une trame LoRa peut être identifié à partir d’une caractéristique physique de cette trame. 
61
62
À travers une série d’expériences, nous avons donc étudié les principes fondamentaux de la transmission LoRa, validé la communication entre des émetteurs LoRa et un récepteur SDR (Software Defined Radio), et exploité les données collectées pour développer un modèle de classification basé sur des algorithmes de machine learning.
63
64
La démarche suivie ainsi que les résultats obtenus tout au long de notre projet sont ainsi présentés dans ce rapport.
65
66
___
67
68
___
69
70
> h1. 1. Contexte
71
72
Avant de rentrer dans le vif du sujet, et pour mieux appréhender le sujet, complexe, de notre projet, il est essentiel de poser un contexte à celui-ci en présentant le laboratoire dans lequel travaille notre cliente, ainsi qu’en définissant plus en détails ce qu’est LoRa et comment il fonctionne. A la suite de ces définitions, nous pourrons donc mieux définir la problématique globale du projet, de laquelle découle le Cahier des Charges qui sera présenté dans la partie 2.1.
73
74
> > h2. 1.1. LIMOS
75
76
Le Laboratoire d'Informatique, de Modélisation et d'Optimisation des Systèmes est une Unité Mixte de Recherche (UMR 6158) en informatique, et plus généralement en Sciences et Technologies de l'Information et de la Communication (STIC).
77
78
Le LIMOS est principalement rattaché à l'Institut des Sciences de l'Information et de leurs Interactions (INS2I) du CNRS et de façon secondaire à l'Institut des Sciences de l'Ingénierie et des Systèmes (INSIS). Il a pour tutelles académiques l'Université Clermont Auvergne et l'Ecole Nationale Supérieure des Mines de Saint-Etienne (EMSE), et comme établissement partenaire l'école d'ingénieur SIGMA. Le LIMOS est membre des labex IMOBS3 et ClercVolc et de la fédération de recherche en Environnement FR 3467 (qui regroupe 17 laboratoires UCA et INRA du site de Clermont-Ferrand). Il est membre associé de la fédération MODMAD (MODélisation Mathématique et Aide à la Décision, FED 4169) portée par l'Université Jean Monnet de Saint-Etienne.
79
80
Le positionnement scientifique du LIMOS est centré autour de l'Informatique, la Modélisation et l'Optimisation des Systèmes Organisationnels et Vivants. Les principaux thèmes de recherche développés au sein du laboratoire sont :
81
* Optimisation Combinatoire
82
* Algorithmique, Graphes, Complexité
83
* Données, Services, Intelligence
84
* Réseau et sécurité
85
* Modélisation et Optimisation des Systèmes Manufacturiers
86
* Conception et Planification de services
87
* Métamodélisation, Optimisation Continue et Applications (MOCA)
88
89
Parmi ces thèmes, c’est celui du réseau et de la sécurité qui nous intéresse puisque c’est dans ce domaine que notre cliente, Mme. EL RACHKIDY, s’intéresse au protocole de communication LoRa, que nous allons définir à présent.
90
91
> > h2. 1.2. LoRa
92
93
LoRa, qui signifie Long Range, est un protocole de communication sans fil conçu pour les transmissions longue distance à faible consommation d’énergie. Son fonctionnement repose sur une modulation en fréquence du signal émis appelée Chirp Spread Spectrum (ou CSS), qui offre une excellente immunité au bruit et permet ainsi de transmettre des données sur plusieurs kilomètres.
94
95
> > > h3. 1.2.1. Chirp Spread Spectrum
96
97
Le fonctionnement du CSS est plutôt simple : le signal est généré en modifiant progressivement sa fréquence au fil du temps, créant une variation continue appelée chirp. Ce chirp commence à une fréquence basse et augmente de manière linéaire jusqu'à une fréquence plus élevée, comme le montre la Figure 1. L'amplitude du signal reste ainsi constante, seule sa fréquence change. La durée d’un chirp est déterminée par la quantité de données à transmettre.
98
99
p=. !modulation%20freq.png!
100
_Figure 1 : Fonctionnement du Chirp Spread Spectrum_
101
102
Lorsqu'un récepteur capte ce signal, il analyse donc les changements de fréquence au fil du temps. En synchronisant correctement la réception avec la fréquence du signal, il est possible de décoder les informations envoyées, même en présence d'interférences.
103
104
> > > h3. 1.2.2. Spreading Factor
105
106
Intéressons-nous à présent à un paramètre clé du protocole LoRa, qui est étroitement lié avec le CSS : le SF, pour Spreading Factor.
107
108
Il s’agit d’un nombre, compris entre 7 et 12, qui détermine le nombre de bits qui doivent être transmis durant un chirp. Le SF détermine donc la durée, ainsi que la fréquence, à laquelle les chirps sont générés, influençant ainsi la portée et la capacité de transmission.
109
110
En effet, comme le prouve la Figure 2, un SF élevé signifie qu'un chirp dure plus longtemps, ce qui augmente la portée de la communication car cela permet au signal d'être plus facilement détecté, même dans des conditions difficiles. Cependant, un SF élevé réduit la vitesse de transmission des données, car il faut donc plus de temps pour transmettre chaque chirp. A contrario, un SF faible réduit la durée du chirp, augmentant ainsi le débit de données, mais au détriment de la portée et de la capacité à résister aux interférences.
111
112
p=. !clipboard-202501281511-kixhr.png!
113
_Figure 2 : Rapport entre le SF, la portée et le débit du signal émis_
114
115
> > > h3. 1.2.3. Carrier Frequency Offset
116
117
Enfin, et c’est le paramètre qui nous intéresse le plus, définissons ce qu’est le CFO, pour Carrier Frequency Offset.
118
119
La traduction littérale de ce terme, “Décalage de la fréquence porteuse”, nous donne déjà un bon indice sur ce qu’est ce paramètre. Il s’agit donc, comme le montre la Figure 3, de la différence de fréquence (centrale) entre le signal émis par un émetteur et le signal reçu par un récepteur.
120
121
p=. !clipboard-202501281515-nfjjm.png!
122
_Figure 3 : Représentation du CFO_
123
124
Selon les résultats de plusieurs études, cette différence semble être unique et constante entre un émetteur et un récepteur, en l'occurrence une passerelle transformant ce signal LoRa en un signal TCP/IP interprétable par un serveur comme le présente la Figure 4, mais cela n’as jamais été prouvé.
125
126
p=. !LoRa-Technology.png!
127
_Figure 4 : Fonctionnement d’un réseau utilisant LoRa_
128
129
Cette unicité et cette stabilité seraient pourtant très utile si elles s’avèrent être vraies car cela permettrait de résoudre un des principaux problème du protocole LoRa, qu’est le temps dédié au décodage de l’identifiant de l’émetteur, présent dans l’en-tête de chaque trame LoRa (dont la forme est explicité en Figure 5).
130
131
p=. !Contenu-dune-trame-LoRa.png!
132
_Figure 5 : Forme générale d’une trame LoRa_
133
134
En effet, ce temps est extrêmement long, d’autant plus, qu’en fonction de la quantité de données utiles envoyées dans chaque trame, l'identifiant peut représenter entre 17 et 57% de cette trame, car il est toujours codé sur 4 octets (1 octets comportant 8 bits).
135
136
> > h2. 1.3. Problématique
137
138
L’objectif de notre projet a donc été de déterminer, et de prouver si c’est le cas, s’il était possible d’identifier l’émetteur d'une trame LoRa à partir de son CFO.
139
140
___
141
142
___
143
144
> h1. 2. Gestion de projet
145
146
Maintenant que le contexte est clairement défini, détaillons notre organisation du projet en commençant par la rédaction d’un Cahier des Charges. Celui-ci se présente sous la forme d’une suite de problématiques auxquelles répondre pour mener à bien le projet.
147
148
> > h2. 2.1. Cahier des Charges
149
150
La première problématique à laquelle nous devons répondre est la problématique générale du projet, c’est-à-dire déterminer s’il est possible d’identifier l’émetteur à partir de son CFO.  
151
152
L’objectif est donc d’étudier si le CFO est bien unique et constant entre un émetteur et un récepteur. Cela permettrait alors de l’envisager comme un identifiant unique pour chaque émetteur LoRa. Cette première étape implique donc d’analyser les variations du CFO entre différents émetteurs et d’évaluer leur stabilité dans des conditions variées.
153
154
Cette première problématique nous amène directement à la deuxième : étudier l’impact des paramètres du SF sur la continuité du CFO.
155
156
En effet, parmi les conditions à testées, il y a la modification du SF, qui pourrait influencer la stabilité du CFO. Cette deuxième étape consiste donc à faire varier le SF et à voir si l’unicité et la stabilité, si elles ont été déterminées lors de la première étape, sont conservées ou non.
157
158
Enfin, si les deux premières problématiques donnent des résultats positifs, l’idée est ensuite de déterminer un modèle d’identification de l’émetteur à partir du CFO. Cette étape consiste alors à entraîner un réseau de neurones pour faire du Machine Learning en utilisant une base de données, créée pour l’occasion, dans l’objectif d’obtenir un modèle d’identification de l’émetteur à partir du CFO.
159
160
> > h2. 2.2. WBS
161
162
Une fois le Cahier des Charges rédigé, nous avons ensuite pu construire un WBS (Work Breakdown Structure), présenté en Figure 6, pour avoir un meilleur aperçu du travail à réaliser pour le projet.
163
164
p=. !WBS%20Projet%20LoRa%20%284%29.png!
165
_Figure 6 : WBS du projet_
166
167
> > > h3. 2.2.1. Assimilation
168
169
La première partie du projet consiste donc à assimiler les concepts clés et les outils nécessaires. Cela inclut une compréhension approfondie de LoRa et LoRaWAN, ainsi que des recherches et l’installation des logiciels nécessaires, notamment pour l’utilisation d’une USRP (ou SDR), qui sera présentée dans la partie 3.1. Une prise en main des outils logiciels est également nécessaire pour assurer une base solide en vue des phases suivantes du projet.
170
171
> > > h3. 2.2.2. Programmation
172
173
Ensuite, la deuxième partie du projet est dédiée à la programmation, qui se divise en deux parties principales : Arduino et USRP. 
174
175
Du côté Arduino, des programmes doivent être développés pour le module émetteur et pour le module récepteur LoRa, présentés dans la partie 3.1, suivis de tests de communication entre les deux modules. 
176
177
Concernant l’USRP, une programmation doit également être réalisée pour la réception des signaux LoRa, avec un affichage des trames reçues et un décodage du CFO. Cette étape permettra donc d’extraire les données nécessaires pour la suite.
178
179
> > > h3. 2.2.3. Machine Learning
180
181
Cette suite est la partie Machine Learning. Celle-ci commence par une recherche des familles d’algorithmes et une sélection des méthodes adaptées. Ensuite, les données collectées doivent être traitées et utilisées pour tester différents algorithmes. Des essais qualifiés permettent de comparer les performances, et un modèle final doit être sélectionné en fonction de sa précision et de sa robustesse. Cette phase, une fois terminée, marquera ainsi l’aboutissement du projet.
182
183
> > h2. 2.3. Gantt
184
185
Pour structurer encore plus le projet, et pour pouvoir suivre l’évolution du travail fourni sur la durée du projet, nous avons mis en place un Gantt, visible en Figure 7.
186
187
p=. !clipboard-202501281559-batgc.png!
188
_Figure 7 : Gantt du projet_
189
190
Comme nous pouvons le voir, le projet se déroule sur plusieurs mois, avec une répartition claire des tâches entre les membres et des étapes bien définies. 
191
192
La phase d’assimilation commence par la compréhension du sujet et de la technologie LoRa/LoRaWAN, suivie de la recherche et de l’installation des logiciels (USRP), ainsi que leur prise en main, qui sont réalisées entre septembre et début octobre.
193
194
Ensuite, la phase de programmation débute avec le développement des programmes Arduino pour l’émetteur et le récepteur LoRa, suivi des tests de communication entre ces deux modules. 
195
196
Une fois la partie Arduino terminée, le travaille se sépare en deux avec Yan se concentrant sur l’affichage des trames LoRa reçues et le décodage du CFO, tandis qu’Alexis commence la recherche des familles de Machine Learning et des algorithmes correspondants. Ces activités, ainsi que la programmation de l’USRP pour la réception LoRa, s’étendent jusqu’à la fin novembre.
197
198
Enfin, le projet rentre dans sa dernière phase, celle du Machine Learning, avec la collecte et le traitement des données nécessaires, suivis d’essais qualifiants pour tester différents algorithmes. Cela aboutit à la sélection du modèle le plus performant en décembre. 
199
200
Les revues du projet (lancement, avancement et finale) sont réparties à des dates stratégiques (fixées par le responsable des projets du département Génie électrique : M. LAFFONT) pour assurer un suivi rigoureux, et la soutenance finale est prévue pour mi-janvier 2025.
201
202
___
203
204
___
205
206
> h1. 3. Réalisation du projet
207
208
La partie gestion de projet étant à présent bien définie, rentrons dans le vif du sujet en expliquant chaque partie du projet, d’un point de vue technique, et commençons par présenter le matériel que nous avons utilisé.
209
210
> > h2. 3.1. Matériel utilisé
211
212
> > > h3. 3.1.1. BladeRF Micro ASMB REV1.3
213
214
Le BladeRF Micro ASMB REV1.3 est une plateforme de radio logicielle (SDR) haute performance et compacte, couvrant une large gamme de fréquences de 47 MHz à 6 GHz. Équipé d’un transcepteur bidirectionnel full-duplex, il permet l’envoi et la réception des signaux en temps réel. Utilisant la puce LMS7002M de Lime Microsystems, il offre une bande passante allant jusqu’à 56 MHz et est compatible avec l’interface USB 3.0. 
215
216
Cette plateforme est idéale pour la recherche en communication sans fil, l’éducation, la surveillance du spectre et les applications IoT. Grâce à sa conception ouverte, elle est compatible avec des outils open source tels que GNU Radio, offrant une grande flexibilité pour le développement et le test de protocoles sans fil (comme LoRa, Wi-Fi, 4G/5G) données vers cette plateforme SDR, puis afficher ces trames à l’aide de GNU Radio tout en calculant le CFO à l’aide de fonctions internes.
217
218
p=. !clipboard-202501281602-50k0v.png!
219
_Figure 8 : BladeRF Micro ASMB REV1.3_
220
221
> > > h3. 3.1.2. WiFi LoRa 32
222
223
Le WiFi LoRa 32 est une carte de développement IoT classique conçue et produite par Heltec Automation(TM). C’est un produit hautement intégré basé sur ESP32 + SX127x, qui dispose de fonctionnalités Wi-Fi, BLE, LoRa, d’un système de gestion de batterie Li-Po et d’un écran OLED de 0,96 pouce. C’est le choix idéal pour les villes intelligentes, les fermes connectées, les maisons intelligentes et les créateurs IoT. Dans mon projet, j’utilise ce nœud, programmé avec Arduino, afin d’envoyer des trames vers le SDR.
224
225
p=. !clipboard-202501281605-2ez1n.png!
226
_Figure 9 : Wifi LoRa 32_
227
228
> > h2. 3.2. Point à point
229
230
Dans la première étape du projet, nous avons réalisé une expérience de communication point à point en utilisant la plateforme Arduino. L’objectif de cette expérience était de comprendre les principes fondamentaux et le fonctionnement de la transmission LoRa.
231
232
Comme illustré dans la Figure 10, deux modules Wifi LoRa 32 ont été configurés pour communiquer directement entre eux. Cela nous a permis de mieux comprendre le mécanisme de transmission des données dans une communication point à point. En réussissant cette expérience, nous avons ainsi établi une base solide pour des expériences de communication plus complexes dans les étapes suivantes du projet.
233
234
p=. !58066596-f9c9-426c-b5ae-e1400f3225a5.jpeg!
235
_Figure 10 : Communication point à point LoRa entre 2 modules Arduino_
236
237
> > h2. 3.3. Utilisation du SDR comme récepteur
238
239
Après avoir acquis une bonne compréhension de la communication point à point et du protocole LoRa, nous avons réalisé l’étape suivante du projet. L’objectif de cette phase était d’utiliser une radio définie par logiciel (SDR) comme récepteur pour extraire les informations des trames envoyées par un nœud (module) LoRa. Cette expérience nous a permis de valider la capacité de communication entre LoRa et le SDR, tout en posant les bases pour des systèmes plus complexes à développer ultérieurement.
240
241
Pour atteindre cet objectif, nous avons d’abord configuré GNU Radio en utilisant BladeRF comme source d’entrée. La fréquence centrale a été réglée sur 868 MHz, avec une bande passante de 125 kHz. BladeRF a servi de récepteur SDR pour capter les signaux LoRa et les décoder via le module LoRa Receiver. En parallèle, nous avons utilisé le module QT GUI Frequency Sink pour surveiller en temps réel la puissance et le spectre des signaux reçus. Cette visualisation a permis de confirmer que le récepteur était correctement synchronisé avec les signaux envoyés.
242
243
244
_Figure 11 : Configuration du BladeRF avec GNU Radio_
245
246
> > > h3. 3.3.1. Réception des données
247
248
Du côté de l’émetteur, nous avons utilisé une carte Arduino associée à un module LoRa pour envoyer les trames de données. Les paramètres de l’émetteur ont été configurés pour correspondre à ceux du récepteur, assurant ainsi une communication fluide. Le nœud Arduino a été programmé pour envoyer des trames en continu, chaque trame contenant un format de données fixe destiné à être vérifié par le récepteur.
249
250
Les résultats expérimentaux ont montré qu’avec une configuration appropriée, BladeRF peut recevoir de manière stable les trames LoRa envoyées par l’émetteur. Grâce au module Message Debug de GNU Radio, nous avons pu observer les données décodées des trames, qui correspondaient exactement aux données originales de l’émetteur. En outre, le module QT GUI Frequency Sink a affiché un spectre de signaux stable, confirmant davantage la fiabilité du système.
251
252
253
_Figure 12 : Affiche trames reçues par le BladeRF_
254
255
> > > h3. 3.3.2. Calculer le CFO et l'afficher
256
257
Après avoir confirmé avec succès que le BladeRF pouvait recevoir sans problème les trames de données provenant du nœud émetteur, nous avons commencé à calculer le CFO. En modifiant les fonctions intégrées fournies par GNU Radio, nous avons pu effectuer le calcul du CFO et afficher les résultats en temps réel.
258
259
Deux nœuds ont ensuite été utilisés pour envoyer des trames de données au BladeRF. Après le calcul à l’aide des fonctions intégrées, il est clairement visible que les CFO des deux nœuds sont différents. Ces données de CFO peuvent ensuite être utilisées pour créer une base de données.
260
261
262
_Figure 13 : Affichage trames reçues et CFOs décodés par le BladeRF_
263
264
> > h2. 3.4. Machine Learning
265
266
Ensuite, nous avons commencé les expérimentations de Machine Learning et la collecte des données nécessaires pour l’entraînement et les tests. 
267
268
La base de données créée contient 600 échantillons, répartis équitablement entre les nœuds noirs et blancs (en référence à la couleur du câble associé à chaque module), avec 300 échantillons chacun, 100 par SF (7, 8 et 9). Chaque échantillon contient un SF, un CFO et un nœud émetteur (noir ou blanc).
269
270
Cette base de données a ensuite permis, en utilisant le CFO et le SF comme données d’entrées et le module émetteur comme donnée de sortie, de tester grâce à Matlab cinq algorithmes d’apprentissage supervisé. 
271
272
Matlab, nous a ainsi permis d’obtenir, pour chaque algorithme, une représentation du nombre de modules correctement identifiés ou non par l’algorithme, dont un exemple est donné en Figure 14 (pour l’algorithme kNN).
273
274
275
_Figure 14 : Nombre de modules correctement identifiés par l’algorithme kNN_
276
277
___
278
279
___
280
281
> h1. 4. Résultats et analyses
282
283
En concaténant dans un seul graphique, présenté en Figure 15, toutes les représentations du nombre de modules correctement identifiés ou non par chaque algorithme, nous avons pu constater que l’algorithme KNN (k Nearest Neighbour) obtient la meilleure précision, avec presque 90% de bonnes prédictions du module émetteur. 
284
285
286
_Figure 15 : Précision de cinq algorithmes d'apprentissage supervisé_
287
288
Ce graphique nous permet également de confirmer qu’il est possible de distinguer les différents nœuds en utilisant le CFO. Ce résultat représente donc une avancée prometteuse pour le développement futur de la technologie LoRa, mettant en évidence le potentiel du CFO dans les tâches de classification des nœuds.
289
290
Il peut néanmoins être noté qu’en augmentant le nombre de données de la base utilisée il serait possible, mais ce n’est qu’une hypothèse, d’obtenir de meilleurs résultats sur la partie Machine Learning.
291
292
___
293
294
___
295
296
> h1. Conclusion
297
298
Dans ce projet, nous avons exploré comment utiliser le CFO pour différencier les différents nœuds LoRa, et nous avons réussi à en démontrer la faisabilité. 
299
300
À travers une série d’expériences, nous avons progressivement réalisé une transition de la communication point à point vers la réception par une SDR. avec cette série d’expériences nous avons pu construire une base de données contenant 600 échantillons à laquelle nous avons appliqué plusieurs algorithmes d’apprentissage supervisé pour la classification des nœuds, et nous avons finalement constaté que l’algorithme KNN offrait les meilleures performances avec une précision optimale.
301
302
Bien que ce projet soit de nature exploratoire, les expériences et les analyses de données nous ont permis de mieux comprendre les principes de la communication LoRa, notamment l’impact des paramètres clés tels que le SF et le CSS sur la portée des transmissions et la robustesse des signaux. 
303
304
L’utilisation du CFO a, quant à elle, non seulement démontré son potentiel dans la classification des nœuds, mais a également ouvert de nouvelles perspectives pour le développement futur de la technologie LoRa.
305
306
Ce projet ayant abouti à une conclusion définitive, il a permis de valider des hypothèses et d’optimiser les résultats par une approche expérimentale. Ce processus a considérablement renforcé nos compétences en conception expérimentale, en analyse des données et en résolution de problèmes. Nous avons également pris conscience de l’importance de l’intégration des connaissances interdisciplinaires, telles que la communication sans fil, le traitement du signal et le machine learning, dans la résolution de problématiques complexes.
307
308
À l’avenir, le projet pourrait être étendu par une augmentation de la taille des données, l’optimisation des paramètres des algorithmes, ou encore l’exploration d’applications dans des environnements multi-nœuds plus complexes. En somme, ce projet a non seulement atteint ses objectifs, mais a également jeté des bases solides pour des recherches futures et démontré le potentiel prometteur du CFO dans les applications de la technologie LoRa.