Détails sur l’expérience
Auteurs : Adrien van den Bossche, Réjane Dalcé, Thierry Val
Préambule
Le présent document décrit l’expérience et le jeu de données 20210131-locura4iot-twr-experiment.json. Le document donne également des détails pour faciliter l’interprétation de ce jeu de données, ainsi que quelques interprétations.
Ce jeu de donnĂ©es est citĂ© dans le papier “Adrien van den Bossche, RĂ©jane DalcĂ©, Thierry Val, LocURa4IoT : un testbed pour la localisation prĂ©cise des nĹ“uds dans l’IoT”, CORES 2021 – 6ème Rencontres Francophones sur la Conception de Protocoles, l’Évaluation de Performance et l’ExpĂ©rimentation des RĂ©seaux de Communication, UniversitĂ© de La Rochelle, Sep 2021, La Rochelle, France. ⟨hal-03221021âź©
L’expérience a été réalisée le 31 janvier 2021. Le jeu de données présenté est placé sous licence ODbL.
Description du scénario
Nœuds impliqués
10 nĹ“uds sont impliquĂ©s dans l’expĂ©rience. Les adresses sont les suivantes :
- 9 ancres : 170, 171, 172, 175, 176, 177, 178, 182, 184
- 1 mobile :183
Environnement
L’expérience a été réalisée sur le plateau P1 du testbed LocURa4IoT. Les nœuds ancres sont fixes et leur positiion connue par installation à une précision meilleure que 2cm. Le nœud mobile se déplace lentement, sur l’un des rails disponibles, sur une course de 6.5m à une vitesse de 9mm/s.
Les nœuds impliqués sont tous placés dans une même salle. Tous les liens sont en ligne de vue (LOS), quelque soit la position du mobile sur le rail. La figure 1 illustre le plan de la salle utilisée dans l’expérience.
Figure 1 : Plan de la salle utilisĂ©e pour l’expĂ©rience
Aspects protocolaires
Ranging
Le protocole utilisé est le Two-Way Ranging classique à 3 messages, dont le diagramme de séquence est illustré sur la figure 2.
Figure 2 : Diagramme de séquence du protocole Two-Way Ranging à 3 messages
Le mobile interroge successivement chaque ancre toutes les 500ms, soit un ranging de 2Hz. Il s’agit d’une topologie en Ă©toile, centrĂ© sur le mobile. Il n’y a pas d’autres communications rĂ©alisĂ©es en UWB pendant l’expĂ©rience.
Si le TWR Ă©choue, l’ancre suivante est sollicitĂ©e, et ainsi de suite. Il n’y a pas de prĂ©caution particulière quant Ă l’accès au mĂ©dium. Il n’y a pas de retransmission en cas de message perdu : si l’un des 3 messages est perdu, le ranging Ă©choue, et l’ancre suivante est sollicitĂ©e.
La durĂ©e de l’expĂ©rience est de 12 minutes, 5979 rangings ont Ă©tĂ© rĂ©alisĂ©s.
Couche physique
Les paramètres de la couche physique sont les suivants :
- PHY UWB IEEE 802.15.4
- Canal 5 : fréquence centrale 6500MHz, largeur de bande 499MHz
- Code de préambule 4
- PRF de 16MHz
Description du jeu de données
Le jeu de donnĂ©es se prĂ©sente sous la forme d’une suite de donnĂ©es au format JSON. Chaque Ă©chantillon est la sortie d’un ranging, enrichi Ă la volĂ©e par les agents du testbed (calcul de l’erreur de ranging, ajout de la position rĂ©elle des noeuds).
Les informations présentes dans chaque ranging sont présentées dans le tableau 1.
| clé | description | exemple |
|---|---|---|
| initiator | Adresse du client | “183”, |
| target | Adresse du serveur | “176”, |
| protocol | Protocole | “TWR”, |
| t1 | Estampille de l’émission du premier message dans l’horloge du client |
648312254604, |
| t2 | Estampille de rĂ©ception du premier message dans l’horloge du serveur | 409909315703, |
| t3 | Estampille de l’émission du second message dans l’horloge du serveur | 409969790604, |
| t4 | Estampille de rĂ©ception du second message dans l’horloge du client | 648372732218, |
| skew | Dérive des horloges client-serveur (=skewAck) | -5.968155, |
| skewRequest | Dérive des horloges client-serveur mesurée sur le premier message | 5.783573, |
| skewAck | Dérive des horloges client-serveur mesurée sur le second message | -5.968155, |
| skewData | Dérive des horloges client-serveur mesurée sur le troisième message | -5.322118, |
| nlosIndicator | Indicateur de non ligne de vue | 5.014733, |
| tof | Temps de vol exprimé en unité du compteur 64 GHz (15,65ps). | 1356, |
| tofSkew | Temps de vol corrigé par la prise en compte de la dérive des horloges | 1536.961803, |
| tof3Skew | Temps de vol corrigé par la prise en compte de la dérive des horloges mesurée sur l’ensemble des 3 messages. | 1528.589863, |
| range | Ranging final (=range3Skew) | 7.169614, |
| rangeSkew | Ranging corrigé par la prise en compte de la dérive des horloges | 7.208881, |
| range3Skew | Ranging corrigé par la prise en compte de la dérive des horloges mesurée sur l’ensemble des 3 messages. | 7.169614, |
| rangeNoSkew | Ranging non corrigé | 6.360108, |
| ranging unit | UnitĂ© utilisĂ©e pour exprimer le ranging | “m”, |
| seqnum | Numéro de séquence du ranging | 1924, |
| temperature | Température du client en °C | 34.400002, |
| distantTemperature | Température du serveur en °C | 122.559998, |
| localisation.initiator | Coordonnées du client dans le repère local | -0.157, 6.896, 2.65 |
| localisation.target | Coordonnées du serveur dans le repère local | 4.358,1.331,2.623 |
| distance | Distance réelle entre les deux nœuds | 7.166, |
| rangingError | Erreur de ranging (=range-distance) | 0.003 |
Exemple d’exploitation des rĂ©sultats
Données générales
La géométrie de la salle et le placement des nœuds impliqués font que les différentes combinaisons de distance entre le client et les serveurs ne sont pas équi-réparties. La figure suivante en représente la répartition.

La température du mobile (client) est quasi constante pendant l’expérience.

Étude de l’erreur de ranging
Dans cette section, l’erreur de ranging est Ă©tudiĂ©e, avec ou sans correction par le skew, c’est-Ă -dire la diffĂ©rence des horloges locales aux deux noeuds client et serveur impliquĂ©s dans le processus de ranging [DAL15].
Sans correction par le skew


En absence de correction par le skew, les erreurs de ranging sont importantes, et ne varient que très peu en fonction de la distance entre les noeuds. L’indicateur de non ligne de vue (NLOS) ne semble pas non plus expliquer cette variation. En revanche, l’erreur semble très liĂ©e Ă l’Ă©cart entre les frĂ©quences d’horloges locales aux noeuds. Il pourrait ĂŞtre intĂ©ressant de chercher une corrĂ©lation entre la dĂ©rive des horologes et la diffĂ©rence de tempĂ©rature des noeuds.
#### Avec correction par le skew – 1 message

Ici, la correction [DAL15] est appliquĂ©e. Le paramètre skew est mesurĂ© sur le second message (ACK). On constate que l’erreur de ranging est largement rĂ©duite.
Avec correction par le skew – 3 messages


Ici, la correction prĂ©cĂ©dente continue d’ĂŞtre appliquĂ©e, mais le paramètre skew considĂ©rĂ© est maintenant la moyenne des mesures sur les trois messages du protocole. On constate que l’erreur de ranging est lĂ©gèrement rĂ©duite.
Références
[DAL15] Réjane Dalcé, Adrien van den Bossche, Thierry Val. Reducing localisation overhead: a ranging protocol and an enhanced algorithm for UWB-based WSNs. IEEE Vehicular Technology Conference (VTC 2015), Glasgow, Scotland, 11/05/2015-14/05/2015, IEEExplore digital library, 2015 [bibtex]