FR 3135371 A1 20231110 FR 2204249 A 20220504 PROCEDE D’ENCODAGE ET DE DECODAGE D’UN MESSAGE UWB AU MOYEN D’UNE MODULATION GENERANT UN DECALAGE TEMPOREL DES BITS DE DONNEES Procédé mis en œuvre par ordinateur pour encoder au moins un message de données (MES 1… MES n ) destiné à être émis par un émetteur UWB à destination d’un récepteur UWB, le procédé comportant : Génération d’un en-tête (HEAD) encodé par un premier code pseudo-aléatoire (PN 1 ), ledit en-tête (HEAD) définissant une référence temporelle (T Sync ) après laquelle une séquence de segments de données (S n ) est destinée à être émise ; Génération de la séquence de segments de données (S n ), chaque segment de données (S n ) encodant au moins une valeur de données utiles (DATA 1 , …, DATA n ) au moyen d’un second code pseudo-aléatoire (PN 2 ) et à partir de : la référence temporelle (T Sync ), une position du segment de données (S n ) dans la séquence ; un pic d’autocorrélation du second code pseudo-aléatoire (PN 2 ). Figure pour l’abrégé : Fig. 1 PROCEDE D’ENCODAGE ET DE DECODAGE D’UN MESSAGE UWB AU MOYEN D’UNE MODULATION GENERANT UN DECALAGE TEMPOREL DES BITS DE DONNEES Domaine de l’invention Le domaine de l’invention concerne le domaine de la transmission d’informations au moyen de signaux radio. En particulier, le domaine de l’invention concerne le domaine de la modulation de signaux UWB. Plus particulièrement, le domaine de l’invention se rapporte au domaine de l’encodage d’informations à transmettre au moyen de signaux UWB. Etat de l’art L’acronyme « UWB » (Ultra Wide Band) désigne des signaux radioélectriques à bande ultra large émis par un ou plusieurs dispositifs émetteurs vers un ou plusieurs dispositifs récepteurs, et dont le spectre fréquentiel instantané est supérieur à 500 mégahertz (à -10 dB par rapport à la puissance maximale dudit spectre fréquentiel instantané.) En outre, un signal UWB est relativement peu sensible au phénomène d’atténuation dû aux trajets multiples empruntés par une onde radio. Un signal UWB peut par conséquent fournir de bonnes résolutions spatiales et temporelles. Il est connu, dans l’art antérieur, de mettre en œuvre des systèmes de localisation d’un ou plusieurs dispositifs émetteurs de signaux radioélectriques, notamment UWB. De tels dispositifs émetteurs peuvent par exemple être matérialisés par des étiquettes radio et émettre des signaux en direction d’un ou plusieurs dispositifs récepteurs, par exemple matérialisés par une ou plusieurs balises. Pour détecter la position de l’émetteur, il est courant d’estimer un temps d’arrivée du signal transmis. Cette estimation du temps d’arrivée est par exemple réalisée par la mise en œuvre d’un corrélateur numérique au niveau du récepteur, qui génère des pics de corrélation en des instants d’échantillonnage du signal reçu. La précision de l’estimation du temps d’arrivée du message est alors corrélée avec la précision de localisation du dispositif émetteur. L’estimation du temps d’arrivée du signal correspond alors à l’instant de détection du premier pic de corrélation dont l’amplitude dépasse un seuil prédéterminé. En raison de sa durée très courte, une impulsion présente des fronts montants et descendants très rapides, ce qui permet de déterminer, au niveau d’un dispositif récepteur du signal UWB, un temps d’arrivée très précis d’une impulsion. Il est en outre possible de distinguer assez nettement le trajet le plus court des autres trajets empruntés par l’onde radio. Tout ceci concourt à optimiser une estimation de la position géographique d’un dispositif émettant un signal UWB à partir de l’instant d’arrivée dudit signal. Pour estimer le temps d’arrivée d’un message transmis, diverses méthodes sont connues dans l’art antérieur. Par exemple, il est connu de mettre en œuvre une méthode de modulation d’étalement de spectre à séquence directe (mieux connue sous l’acronyme DSSS dans la littérature anglo-saxonne). Dans une telle méthode, un message de données est encodé sous la forme d’une séquence de bits et chaque bit est modulé avec un code pseudo-aléatoire. Le message émis est alors décodé au niveau du récepteur par un échantillonnage du signal reçu et la mise en œuvre de calculs de corrélation à partir du signal reçu et par rapport à un signal de référence. Avec une telle méthode, la précision de l’estimation du temps d’arrivée du message dépend de la fréquence d’échantillonnage du signal reçu : plus cette dernière est élevée, meilleure est l’estimation du temps d’arrivée du message. Toutefois, un inconvénient de cette méthode est que l’augmentation de la fréquence d’échantillonnage pour améliorer l’estimation du temps d’arrivée engendre des coûts importants ; que ce soit d’un point de vue matériel, ou encore d’un point de vue de la consommation énergétique du système. De plus, une telle méthode n’est plus avantageuse lorsque la fréquence de Nyquist est atteinte. Il est également connu de mettre en œuvre une modulation de type « tout ou rien », également désignée dans la littérature anglo-saxonne par l’appellation « ON OFF Keying ». Dans ce type de modulation, chaque séquence binaire est composée de symboles binaires pouvant prendre deux états : un premier état et un second état. Le second état correspond par exemple à l’état contraire du premier état. A titre d’exemple, le premier état est matérialisé par la valeur « 1 » et le second état est matérialisé par la valeur « -1 », correspondant respectivement à la présence ou l’absence d’une impulsion. Toutefois, un inconvénient d’une telle modulation provient de la difficulté à détecter le signal en raison d’une énergie spectrale faible. Un objectif de l’invention est de pallier les inconvénients de l’art antérieur en proposant un procédé d’encodage et de décodage d’un message UWB permettant une localisation plus précise, avec une portée améliorée, et nécessitant une faible consommation d’énergie. Selon un premier aspect, l’invention concerne un procédé mis en œuvre par ordinateur pour encoder au moins un message de données destiné à être émis par un émetteur UWB à destination d’un récepteur UWB, le procédé comportant : Génération d’un en-tête encodé par un premier code pseudo-aléatoire, ledit en-tête définissant une référence temporelle après laquelle une séquence de segments de données est destinée à être émise ; Génération de la séquence de segments de données, chaque segment de données encodant au moins une valeur de données utiles au moyen d’un second code pseudo-aléatoire et à partir de : la référence temporelle, une position du segment de données dans la séquence ; un pic d’autocorrélation du second code pseudo-aléatoire. Un avantage est d’améliorer la précision de calcul du temps d’arrivée du message de données. Un autre avantage est de réduire la consommation énergétique d’un système de localisation UWB. Un autre avantage est d’améliorer la précision de localisation d’un dispositif émetteur. Selon un mode de réalisation, chaque segment de données comprend un ensemble de bits, le procédé comprenant une opération de glissement temporel d’un sous-ensemble de bits encodant la valeur de données utiles d’au moins un segment de données de la séquence de segments de données pour positionner ledit sous-ensemble de bits en première position dans le segment de données. Un avantage est de déplacer la position d’un pic d’autocorrélation du message de données pour améliorer le décodage d’une donnée utile dudit message de données. Selon un mode de réalisation, le procédé comprend la génération du premier code pseudo-aléatoire et/ou du second code pseudo-aléatoire à partir d’un code pseudo-aléatoire initial. Selon un mode de réalisation, la génération du premier code pseudo-aléatoire ou du second code pseudo-aléatoire en remplaçant au moins un bit du code pseudo-aléatoire initial par un code pseudo-aléatoire de remplacement. Selon un mode de réalisation, chaque bit du premier code pseudo-aléatoire de remplacement est remplacé par un deuxième code pseudo-aléatoire de remplacement. Selon un mode de réalisation, le code pseudo-aléatoire initial comprend une première séquence de Barker et le premier code pseudo-aléatoire de remplacement comprend une deuxième séquence de Barker. Selon un mode de réalisation, le deuxième code pseudo-aléatoire de remplacement comprend une troisième séquence de Barker. Selon un mode de réalisation, la première séquence de Barker, la deuxième séquence de Barker et la troisième séquence de Barker sont une même séquence de Barker. Selon une variante, il s’agit de séquences de Barker différentes. Par exemple, il s’agit de séquences de Barker de taille différentes. Un avantage est d’encoder les données avec des séquences plus courtes tout en conservant une valeur minimale d’autocorrélation. Selon un mode de réalisation, le procédé comprend la génération d’une pluralité de second codes pseudo-aléatoire à partir du code pseudo-aléatoire initial en appliquant successivement des décalages temporels d’un nombre de bits prédéfini au code pseudo-aléatoire initial et dans lequel la génération de l’ensemble de segments est réalisée à partir de la pluralité de seconds codes pseudo-aléatoire. Un avantage est d’obtenir une valeur minimale d’autocorrélation tout en simplifiant le décodage des données transmises. Un autre avantage est d’optimiser l’orthogonalité des codes de données entre eux. Selon un mode de réalisation, le premier code pseudo-aléatoire présente un nombre de bits plus grand que le nombre de bits du second code pseudo-aléatoire. Un avantage est d’obtenir une précision plus importante sur une référence temporelle utilisée à postériori pour déterminer le temps d’arrivée et les pics d’autocorrélation des segments d’un message de données. Selon un autre aspect, l’invention concerne un procédé mis en œuvre par ordinateur pour localiser un émetteur comprenant l’encodage du message de données selon le premier aspect de l’invention, le procédé comprenant la réception d’une pluralité de messages de données par une pluralité de balises UWB, chaque balise comprenant une horloge, ladite réception comprenant : synchronisation des horloges des balises UWB entre-elles ; horodatage, par chaque horloge, de la réception des messages de données; calcul de la position de l’émetteur à partir des messages de données reçus par la pluralité de balises UWB ; Selon un autre aspect, l’invention concerne un procédé mis en œuvre par ordinateur de décodage d’au moins un message de données encodé par le procédé selon le premier aspect de l’invention et émis par un émetteur UWB comprenant : Mesure d’un premier signal d’arrivée, démodulation du premier signal d’arrivée et calcul d’une première fonction d’autocorrélation du signal démodulé ; Détermination du pic d’autocorrélation de la première fonction d’autocorrélation ; Détermination de la référence temporelle à partir dudit pic d’autocorrélation ; Mesure d’une pluralité de seconds signaux d’arrivée, démodulation des seconds signaux d’arrivée et, pour chaque second signal d’arrivée, Calcul d’une seconde fonction d’autocorrélation du second signal démodulé Détermination d’un pic d’autocorrélation de la seconde fonction d’autocorrélation Mesure d’un décalage temporel entre la référence temporelle ou le début d’un segment de données et le pic d’autocorrélation ; Décodage d’une valeur de données utiles en fonction du décalage mesuré Selon un mode de réalisation, l’application de la seconde fonction d’autocorrélation comprend la mise en œuvre d’une opération de glissement temporel d’au moins un bit d’au moins un segment de données de la séquence de segments de données du second code pseudo-aléatoire. Selon un autre aspect, l’invention concerne un émetteur UWB comprenant un calculateur configuré pour mettre en œuvre les étapes du procédé d’encodage. Selon un autre aspect, l’invention concerne un récepteur UWB comprenant un calculateur configuré pour mettre en œuvre les étapes du procédé de décodage. Selon un autre aspect, l’invention concerne un système d’encodage et de décodage d’au moins un message de données comprenant un émetteur UWB. Selon un autre aspect, l’invention concerne un système d’encodage et de décodage d’au moins un message de données comprenant un émetteur UWB et une pluralité de balises UWB comprenant chacune : une horloge pour mesurer des données d’horodatage de la réception des messages de données transmis par l’émetteur UWB; un calculateur pour : Synchroniser les horloges de la pluralité de balises UWB entre elles ; Calculer par trilatération une donnée de position de l’émetteur UWB à l’origine de l’émission du message de données. Brève description des figures D’autres caractéristiques et avantages de l’invention ressortiront à la lecture de la description détaillée qui suit, en référence aux figures annexées, qui illustrent : : Un exemple dans lequel un message de données comprend un en-tête et un ensemble de segments comprenant des données utiles. : La transmission de messages de données depuis un dispositif émetteur UWB vers un dispositif récepteur. : Un en-tête et un segment de données encodés par deux codes pseudo-aléatoires de longueurs différentes. : Un exemple dans lequel un premier message de données comprend l’en tête et un second message de données comprend plusieurs segments de données : Un exemple dans lequel un premier message de données comprend l’en-tête et chaque message de données suivant comprend un segment. : un exemple dans lequel l’en tête est encodé par une superposition de plusieurs séquences de Barker. Procédé mis en œuvre par ordinateur pour encoder au moins un message de données (MES 1… MES n ) destiné à être émis par un émetteur UWB à destination d’un récepteur UWB, le procédé comportant : Génération d’un en-tête (HEAD) encodé par un premier code pseudo-aléatoire (PN 1 ), ledit en-tête (HEAD) définissant une référence temporelle (T Sync ) après laquelle une séquence de segments de données (S n ) est destinée à être émise ; Génération de la séquence de segments de données (S n ), chaque segment de données (S n ) encodant au moins une valeur de données utiles (DATA 1 , …, DATA n ) au moyen d’un second code pseudo-aléatoire (PN 2 ) et à partir de : la référence temporelle (T Sync ), une position du segment de données (S n ) dans la séquence ; un pic d’autocorrélation du second code pseudo-aléatoire (PN 2 ). Procédé selon la revendication 1, dans lequel chaque segment de données comprend un ensemble de bits, le procédé comprenant une opération de glissement temporel d’un sous-ensemble de bits, encodant la valeur de données utiles (DATA 1 …DATA n ) d’au moins un segment de données (S n ), de la séquence de segments de données (S n ) pour positionner ledit sous-ensemble de bits en première position dans le segment de données (S n ). Procédé selon l’une quelconque des revendications précédentes, comprenant la génération du premier code pseudo-aléatoire (PN 1 ) et/ou du second code pseudo-aléatoire (PN 2 ) à partir d’un code pseudo-aléatoire initial. Procédé d’encodage selon la revendication 3, comprenant la génération du premier code pseudo-aléatoire (PN 1 ) ou du second code pseudo-aléatoire (PN 2 ) en remplaçant au moins un bit du code pseudo-aléatoire initial par un code pseudo-aléatoire de remplacement. Procédé d’encodage selon la revendication 4, dans lequel la génération du premier code pseudo-aléatoire (PN 1 ) ou du second code pseudo aléatoire (PN 2 ) comprend le remplacement de chaque bit du premier code pseudo-aléatoire de remplacement par un deuxième code pseudo-aléatoire de remplacement. Procédé d’encodage selon l’une quelconque des revendications 4 à 5, dans lequel le code pseudo-aléatoire initial comprend une première séquence de Barker, et dans lequel le premier code pseudo-aléatoire de remplacement comprend une deuxième séquence de Barker. Procédé d’encodage selon l’une quelconque des revendications 3 à 6, comprenant la génération d’une pluralité de second codes pseudo-aléatoire (PN 2 ) à partir du code pseudo-aléatoire initial en appliquant successivement des décalages temporels d’un nombre de bits (N b ) prédéfini au code pseudo-aléatoire initial et dans lequel la génération de l’ensemble de segments est réalisée à partir de la pluralité de seconds codes pseudo-aléatoire (PN 2 ). Procédé d’encodage selon l’une quelconque des revendications précédentes, dans lequel le premier code pseudo-aléatoire (PN 1 ) présente un nombre de bits (N b ) plus grand que le nombre de bits du second code pseudo-aléatoire (PN 2 ). Procédé mis en œuvre par ordinateur pour localiser un émetteur comprenant l’encodage du message de données (MES 1… MES n ) selon l’une quelconque des revendications précédentes, le procédé comprenant la réception d’une pluralité de messages de données (MES 1 …MES n ) par une pluralité de balises UWB, chaque balise comprenant une horloge, ladite réception comprenant : synchronisation des horloges des balises UWB entre-elles ; horodatage, par chaque horloge, de la réception des messages de données (MES 1 …MES n ); calcul de la position de l’émetteur à partir des messages de données (MES 1 …MES n ) reçus par la pluralité de balises UWB ; Procédé mis en œuvre par ordinateur de décodage d’au moins un message de données (MES 1… MES n ) encodé par le procédé selon l’une quelconque des revendications 1 à 8, et émis par un émetteur UWB comprenant : Mesure d’un premier signal d’arrivée, démodulation du premier signal d’arrivée et calcul d’une première fonction d’autocorrélation du signal démodulé ; Détermination d’un premier pic d’autocorrélation de la première fonction d’autocorrélation ; Détermination de la référence temporelle (T sync ) à partir dudit premier pic d’autocorrélation ; Mesure d’une pluralité de seconds signaux d’arrivée, démodulation des seconds signaux d’arrivée et, pour chaque second signal d’arrivée : Calcul d’une seconde fonction d’autocorrélation du second signal démodulé ; Détermination d’un deuxième pic d’autocorrélation de la seconde fonction d’autocorrélation ; Mesure d’un décalage temporel entre la référence temporelle (T sync ) ou le début d’un segment de données (S n ) et le deuxième pic d’autocorrélation, Procédé de décodage selon la revendication 10, dans lequel l’application de la seconde fonction d’autocorrélation comprend une opération de glissement temporel d’un sous-ensemble de bits pour générer une pluralité de produits d’autocorrélation. Un émetteur UWB (EM u ) comprenant un calculateur configuré pour mettre en œuvre les étapes du procédé d’encodage selon l’une quelconque des revendications 1 à 8. Un récepteur UWB (REC u ) comprenant un calculateur configuré pour mettre en œuvre les étapes du procédé de décodage selon l’une quelconque des revendications 10 à 11. Système d’encodage et de décodage d’au moins un message de données (MES 1 … MES n ) comprenant un émetteur UWB selon la revendication 12 et un récepteur UWB selon la revendication 13. Système d’encodage et de décodage d’au moins un message de données (MES 1… MES n ) comprenant un émetteur UWB (EM u ) selon la revendication 12 et : Une pluralité de balises UWB comprenant chacune : Une horloge pour mesurer des données d’horodatage de la réception des messages de données (MES 1… MES n ) transmis par l’émetteur UWB (EM u ) ; Un calculateur pour : Synchroniser les horloges de la pluralité de balises UWB entre elles ; Calculer par trilatération une donnée de position de l’émetteur UWB (EM u ) à l’origine de l’émission du message de données (MES 1 …MES n ).