Publi¨¦ le 27 mars 2023 Mis ¨¤ jour le 27 mars 2023

Un texte de la Minute Recherche par Alexandre Guitton, Weixuan Xiao et Nancy El Rachkidy (LIMOS, unit¨¦ mixte de recherche UCA / CNRS).

LoRa (acronyme de Long range ¨C ? Longue distance ?) est une technologie radio permettant ¨¤ des ¨¦quipements sans fil de communiquer sur des distances de plusieurs kilom¨¨tres (typiquement, du sommet du Puy-de-D?me au campus des C¨¦zeaux), en consommant tr¨¨s peu d¡¯¨¦nergie. Ainsi, de petits capteurs aliment¨¦s par piles peuvent r¨¦cup¨¦rer des donn¨¦es environnementales depuis un site isol¨¦, et les envoyer pour analyse ¨¤ un serveur distant.

L¡¯inconv¨¦nient principal de LoRa est le faible nombre de donn¨¦es que les ¨¦quipements peuvent envoyer, de l¡¯ordre de quelques courts messages par jour. Quand plusieurs ¨¦quipements essayent de communiquer en m¨ºme temps, les messages se superposent et le serveur ne peut en r¨¦cup¨¦rer aucun. On parle alors de ? collision ?. Lorsque les ¨¦quipements d¨¦tectent ces collisions, ils doivent retransmettre les messages perdus, ce qui est co?teux pour eux.

Notre ¨¦tude consiste ¨¤ d¨¦coder les collisions de messages LoRa. ? chaque collision correctement d¨¦cod¨¦e, nous faisons ¨¦conomiser aux ¨¦quipements un peu d¡¯¨¦nergie et nous augmentons la quantit¨¦ d¡¯informations que le serveur va recevoir. Mais le d¨¦codage de signaux en collision n¡¯est pas simple.

Un message LoRa est transmis sous forme de symboles. Chaque symbole correspond ¨¤ une fr¨¦quence croissante, comme un court son qui deviendrait de plus en plus aigu. Ces symboles ressemblent d¡¯ailleurs beaucoup aux ultra-sons produits par les chauves-souris. La fr¨¦quence de d¨¦marrage correspond ¨¤ la valeur transmise.

Quand deux signaux entrent en collision, les fr¨¦quences des symboles se superposent. Par exemple, si le message ? 123 ? entre en collision avec le message ? 459 ?, le r¨¦cepteur ne sait pas si les messages transmis ¨¦taient ? 123 ? et ? 459 ?, ? 129 ? et ? 453 ?, ? 153 ? et ? 429 ?, ou encore ? 159 ? et ? 423 ?. Ainsi, lorsque le nombre de symboles de deux messages en collision d¨¦passe 21 (ce qui est peu, m¨ºme pour un message LoRa), le nombre de possibilit¨¦s d¨¦passe le million.

Or, chaque message LoRa introduit une redondance dans les messages transmis, afin de d¨¦tecter des erreurs ponctuelles de transmission. Cette redondance est similaire ¨¤ la cl¨¦ du num¨¦ro de s¨¦curit¨¦ sociale. Pour simplifier, nous avons consid¨¦r¨¦ dans l¡¯exemple pr¨¦c¨¦dent que la redondance ¨¦tait obtenue en stockant la somme des symboles du message dans le dernier symbole : ainsi, pour transmettre ? 45 ?, on calcule donc 4+5=9, et on transmet ? 459 ?. Notre solution utilise cette redondance pour ¨¦liminer des possibilit¨¦s incorrectes. Dans l¡¯exemple ci-dessus, on peut ainsi ¨¦liminer tous les messages erron¨¦s et retrouver ? 123 ? et ? 459 ?. Gr?ce ¨¤ une m¨¦thode rapide de calcul, nous arrivons ¨¤ d¨¦coder la plupart des collisions de deux signaux LoRa.
 
Interface du logiciel LoRa
Interface du logiciel LoRa - Interface du logiciel LoRa