Brevet FR3131486A1 — publié le 20230630

Procédés et dispositifs de transmission et de réception de mots de code correcteur d’erreur non binaire L’invention concerne la transmission et la réception de mots de code correcteur d’erreur non binaire. Le procédé de transmission comporte une première modulation (56) qui met en œuvre un ensemble de q séquences comprenant q-1 séquences de q-1 bribes, chaque séquence étant obtenue par décalage circulaire d’une séquence pseudo-aléatoire de base, et une séquence partiellement invariante, invariante par un sous-ensemble prédéterminé de décalages circulaires. La première modulation (56) met en œuvre en outre une association entre chaque symbole de mot de code et une séquence de l’ensemble de séquences dans laquelle, ledit corps fini GF q ayant un élément primitif non nul, le symbole zéro est associé à ladite séquence partiellement invariante et un symbole égal à une puissance j de l’élément primitif, j étant un entier compris entre 0 et q-2, est associé à une séquence pseudo-aléatoire déterminée par j décalages circulaires de la séquence pseudo-aléatoire de base. Figure pour l'abrégé : Figure 4 Procédés et dispositifs de transmission et de réception de mots de code correcteur d’erreur non binaire La présente invention concerne des procédés de transmission et de réception de mots de code correcteur d’erreur non binaire, et des dispositifs associés. L’invention se situe dans le domaine de la communication de données par un canal de transmission introduisant un délai inconnu et/ou du bruit. L’invention trouve des applications dans les transmissions massives de données de charge utile faible, par exemple dans le cadre de la communication massive en réseau par objets connectés (en anglais « massive IoT »). De manière traditionnelle dans le domaine des systèmes de communications asynchrones, lorsqu’un canal de transmission ajoute un délai inconnu, afin d’assurer la synchronisation au niveau du récepteur, il est connu d’introduire des en-têtes de synchronisation dans les trames de communication. De plus, pour assurer un décodage correct en présence de bruit, il est également connu d’utiliser des codes correcteurs d’erreurs. La synchronisation par ajout d’en-têtes de synchronisation introduit une augmentation de la quantité des données à transmettre, pour une même charge utile, ce qui consomme à la fois des ressources spectrales et de l’énergie lors de la transmission. Une telle surcharge en termes de quantité de données à transmettre n’est pas acceptable. On connaît également des systèmes de communications dans lesquels des séquences de synchronisation sont superposées sur des trames de communication, au lieu d’être transmises dans des en-têtes. Cette superposition augmente l’énergie consommée lors de la transmission. De plus, au niveau du récepteur, des opérations séparées de synchronisation, puis de décodage sont à mettre en œuvre, ce qui augmente la complexité des récepteurs. Il est souhaitable de simplifier le décodage tout en limitant la quantité de données à transmettre pour permettre une synchronisation dans le cadre des communications asynchrones. En outre, il est connu d’utiliser une modulation à décalage de code cyclique (en anglais, CCSK pour « Cyclic Code-Shift Key ») pour étaler le spectre d’un signal émis, afin d’obtenir une meilleure robustesse au bruit. L’invention a pour but de répondre à cette exigence, en proposant une modification d’une modulation à décalage de code cyclique, qui permet avantageusement de réaliser conjointement la synchronisation et le décodage correcteur d’erreur après réception. A cet effet, l’invention propose, selon un aspect, un procédé de transmission de symboles de mots de code correcteur d’erreur non binaire à travers un canal de transmission, chaque symbole de mot de code comprenant p bits et faisant partie d’un corps fini GF q à q=2 p éléments, le procédé comportant : une première modulation à étalement de spectre associant à chaque symbole de mot de code de p bits une séquence de bribes, une deuxième modulation pour moduler au moins une porteuse avec les séquences associées aux mots de code, par modulation de phase ou d’amplitude, permettant d’obtenir au moins une porteuse modulée, une transmission de ladite au moins une porteuse modulée formant un signal à travers ledit canal de transmission. Le procédé est tel que la première modulation met en œuvre un ensemble de q séquences comprenant q-1 séquences de q-1 bribes, chaque séquence étant obtenue par décalage circulaire d’une séquence pseudo-aléatoire de base, et une séquence partiellement invariante, formée de q-1 bribes et invariante par un sous-ensemble prédéterminé de décalages circulaires. La première modulation met en œuvre en outre une association entre chaque symbole de mot de code et une séquence de l’ensemble de séquences dans laquelle, ledit corps fini GF q ayant un élément primitif non nul, le symbole zéro est associé à ladite séquence partiellement invariante et un symbole égal à une puissance j de l’élément primitif, j étant un entier compris entre 0 et q-2, est associé à une séquence pseudo-aléatoire déterminée par j décalages circulaires de la séquence pseudo-aléatoire de base. Le procédé de transmission de symboles de mots de code correcteur d’erreur non binaire à travers un canal de transmission selon l’invention peut également présenter une ou plusieurs des caractéristiques ci-dessous, prises indépendamment ou selon toutes les combinaisons techniquement envisageables. La séquence partiellement invariante est une séquence constante formée de q-1 bribes de même valeur. Le procédé comporte en outre, préalablement à l’application d’un code correcteur d’erreur non binaire, une formation d’un message de K symboles de GF q , auquel est appliqué le codage correcteur d’erreur non binaire pour générer un mot de code, le message étant formé de sorte qu’un symbole dit symbole d’ancrage, de valeur appartenant à un sous-ensemble prédéterminé de GF q , soit placé à une position prédéterminée dans le message ou dans ledit mot de code. Le sous-ensemble prédéterminé de GF q comprend une seule valeur non nulle prédéterminée, et le symbole d’ancrage prend ladite valeur non nulle prédéterminée. Dans l’étape de formation du message, ledit symbole d’ancrage est placé à ladite position prédéterminée dans le message. La formation du message comprend une détermination d’un symbole dudit message en fonction de K-1 autres symboles du message, le mot de code obtenu après codage comprenant ledit symbole d’ancrage à ladite position prédéterminée. La première modulation comporte une génération de la séquence pseudo-aléatoire de base par un registre à décalage à rétroaction linéaire de longueur maximale. La deuxième modulation est une modulation de phase ou d’amplitude de la porteuse. La deuxième modulation utilisée pour la séquence partiellement invariante est différente de la deuxième modulation utilisée par les séquences obtenues par décalage circulaire de la séquence pseudo-aléatoire de base. La deuxième modulation comporte une absence d’onde porteuse pour la séquence partiellement invariante et une modulation de phase pour les séquences obtenues par décalage circulaire de la séquence pseudo-aléatoire de base. Selon un autre aspect, l’invention concerne un procédé de réception d’un signal reçu, le signal reçu étant transmis par un procédé de transmission tel que brièvement décrit ci-dessus, le signal transmis comportant des symboles de mot de code correcteur d’erreur transmis. Le procédé de réception comporte des étapes de : - démodulation du signal reçu, permettant d’obtenir une estimation des symboles codés transmis à partir du signal reçu, - un décodage et synchronisation conjoints, comprenant : - un décodage pour déterminer un mot décodé et/ou un message décodé correspondant à partir des estimations de symboles codés fournies par l’étape de démodulation, ledit mot décodé fournissant une estimation du mot de code transmis multiplié par l’élément primitif du corps fini GF q élevé à une puissance égale à un décalage de synchronisation, - une estimation dudit décalage de synchronisation à partir d’un symbole d’ancrage à une position prédéterminée dans le mot décodé ou dans le message décodé correspondant. Le procédé de réception selon l’invention peut également présenter une ou plusieurs des caractéristiques ci-dessous, prises indépendamment ou selon toutes les combinaisons techniquement envisageables. Le procédé de réception comprend en outre une estimation du mot de code transmis en divisant les symboles du mot décodé et/ou du message décodé par l’élément primitif du corps fini élevé à la puissance égale au décalage de synchronisation estimé. Le procédé de réception comprend en outre, lorsque l’estimation du mot de code transmis ne permet pas d’obtenir un mot de code, une synchronisation en appliquant le décalage de synchronisation estimé et une itération des étapes de décodage, d’estimation du décalage de synchronisation jusqu’à ce qu’un critère d’arrêt soit vérifié. Les étapes de démodulation et de décodage et synchronisation conjoints sont répétées périodiquement, en décalant le signal reçu d’un nombre de bribes prédéterminé. Selon un autre aspect, l’invention concerne un dispositif de transmission de symboles de mot de code correcteur d’erreur non binaire à travers un canal de transmission, chaque symbole de mot de code comprenant p bits et faisant partie d’un corps fini GF q à q=2 p éléments. Le dispositif de transmission est configuré pour mettre en œuvre : un module de première modulation à étalement de spectre associant à chaque symbole de mot de code de p bits une séquence de bribes, un module de deuxième modulation configuré pour moduler au moins une porteuse avec les séquences associées aux mots de code, par modulation de phase ou d’amplitude, permettant d’obtenir au moins une porteuse modulée, un module de transmission de ladite au moins une porteuse modulée formant un signal à travers ledit canal de transmission. Ce dispositif de transmission est tel que le module de première modulation est configuré pour mettre en œuvre un ensemble de q séquences comprenant q-1 séquences de q-1 bribes, chaque séquence étant obtenue par décalage circulaire d’une séquence pseudo-aléatoire de base (R 0 ), et une séquence partiellement invariante, formée de q-1 bribes et invariante par un sous-ensemble prédéterminé de décalages circulaires. Le module de première modulation est en outre configuré pour mettre en œuvre une association entre chaque symbole de mot de code et une séquence de l’ensemble de séquences dans laquelle, ledit corps fini GF q ayant un élément primitif non nul, le symbole zéro est associé à la séquence partiellement invariante et un symbole égal à une puissance j de l’élément primitif, j étant un entier compris entre 0 et q-2, est associé à une séquence pseudo-aléatoire déterminée par j décalages circulaires de la séquence pseudo-aléatoire de base. Le dispositif de transmission est configuré pour mettre en œuvre toutes les étapes du procédé de transmission brièvement décrit ci-dessus, selon toutes ses variantes de mise en œuvre. Selon un autre aspect, l’invention concerne un dispositif de réception d’un signal reçu, ledit signal reçu étant issu d’un signal transmis par un dispositif de transmission tel que brièvement décrit ci-dessus, ledit signal transmis comportant des symboles de mot de code correcteur d’erreur transmis. Le dispositif de réception est configuré pour mettre en œuvre : - un module de démodulation du signal reçu, permettant d’obtenir une estimation des symboles codés transmis à partir du signal reçu, - un module de décodage et synchronisation conjoints, comprenant : - un module de décodage pour déterminer un mot décodé et/ou un message décodé correspondant à partir des estimations de symboles codés fournies par l’étape de démodulation, ledit mot décodé fournissant une estimation du mot de code transmis multiplié par l’élément primitif du corps fini GF q élevé à une puissance égale à un décalage de synchronisation, - un module d’estimation dudit décalage de synchronisation à partir d’un symbole d’ancrage à une position prédéterminée dans le mot décodé ou dans le message décodé correspondant. Le dispositif de réception est configuré pour mettre en œuvre toutes les étapes du procédé de réception brièvement décrit ci-dessus, selon toutes ses variantes de mise en œuvre. D’autres caractéristiques et avantages de l’invention ressortiront de la description qui en est donnée ci-dessous, à titre indicatif et nullement limitatif, en référence aux figures annexées, parmi lesquelles : la représente schématiquement un système de communication asynchrone selon un mode de réalisation ; la représente schématiquement un dispositif de transmission selon un mode de réalisation ; la représente schématiquement un dispositif de réception selon un mode de réalisation ; la est un organigramme des principales étapes d’un procédé de transmission selon un mode de réalisation ; la est un organigramme des principales étapes d’un procédé de réception selon un mode de réalisation ; la est un graphe de courbes illustrant le taux d’erreur par trame de réception pour plusieurs exemples de mise en œuvre. La illustre un système de communication asynchrone 2 adapté pour mettre en œuvre l’invention, appelé plus simplement système de communication par la suite. Le système de communication 2 comporte un dispositif de transmission 4 et un dispositif de réception 6. Un message M est traité et transmis, sous forme de signal modulé par des porteuses, référencé X, par le dispositif de transmission 4, via un canal de transmission 8 représenté schématiquement à la figure 1, vers le dispositif de réception 6. Le dispositif de réception 6 reçoit et traite un signal reçu Y, afin d’obtenir un message décodé . Le message M contient des données utiles à transmettre, sous formé d’un ensemble de bits appelés bits source. Le canal de transmission 8 ajoute un délai inconnu, appelé par la suite délai de synchronisation, ainsi qu’un bruit de canal. Dans l’exemple de la , le dispositif de transmission 4 comporte un module de codage non binaire10, qui applique un codage correcteur d’erreur linéaire non binaire au message à transmettre. L’invention s’applique avec tout code correcteur d’erreur non binaire et linéaire, par exemple un des codes correcteurs suivants : code de parité à faible densité LDPC (pour « Low Density Parity Check »), Reed-Solomon, Turbo-code ou code polaire. Les codes correcteurs de ce type sont construits sur un corps de Galois non binaire à q éléments (ou de cardinalité q), noté , q étant une puissance d’un nombre premier, et de préférence une puissance de 2, par exemple q=2 p pour représenter des symboles à p bits. De manière connue, un tel corps de Galois comprend l’élément nul 0 et q-1 puissances successives d’un élément primitif α. En d’autres termes, les éléments du corps sont définis par : Un ensemble de (K-1)p bits source, correspondant à K-1 symboles source de p bits chacun est tout d’abord complété par p bits connus, correspondant à un symbole non nul de , de valeur connue, également appelé symbole d’ancrage, de façon à générer un message source de K symboles exactement. Le message ainsi étendu est dénoté par : Par exemple, si le symbole d’ancrage prend la valeur et qu’il est placé à la première position du message M, on obtient : Bien entendu, toute autre valeur prédéterminée non nulle , et toute autre position prédéterminée d’indice , peuvent être choisies : Par simplicité et sans perte de généralité, on pourra donc supposer que est le symbole d’ancrage, connu à la fois par l’émetteur et par le récepteur. Dans ce cas, le symbole d’ancrage prend sa valeur dans un sous-ensemble prédéterminé de GF q , ce sous-ensemble étant réduit à une seule valeur non nulle prédéterminée. Le message étendu de taille K symboles est alors transformé par le codage correcteur d’erreur en un mot de code de N symboles (soit Np bits codés), le nombre N étant supérieur au nombre K. Si l’opération de codage est systématique, c’est-à-dire que l’ensemble des K symboles du message se retrouvent en intégralité dans le mot de code à des positions connues, alors le symbole d’ancrage de valeur prédéterminée se retrouvera à une position connue de . Dans ce cas, par simplicité et sans perte de généralité, on supposera que se retrouve à la première position dans , c’est-à-dire , ce qui en fait un symbole connu à la fois par l’émetteur et par le récepteur. A noter que si l’opération de codage n’est pas systématique, le mot de code ne contient pas nécessairement de symbole d’ancrage de valeur prédéterminée. Néanmoins, dans un mode de réalisation alternatif, au lieu d’attribuer une valeur prédéterminée à un symbole du message (symbole d’ancrage dans le message), il est possible d’attribuer une valeur prédéterminée à un symbole du mot de code . Pour cela, il suffit de considérer le fait que tout symbole du mot du code peut s’exprimer comme une combinaison linéaire des symboles du message . Par exemple, considérant le premier symbole de : où les coefficients , avec au moins un coefficient non-nul, et les opérations de multiplication et d’addition dans la formule ci-dessus s’effectuent dans . Ainsi, en supposant sans perte de généralité que , on pourra attribuer une valeur prédéterminée au symbole , par exemple , simplement en déterminant la valeur du symbole à partir des valeurs des symboles par la formule : On obtient ainsi , ce qui en fait un symbole d’ancrage de valeur prédéterminée, connu à la fois par l’émetteur et par le récepteur. Le présente invention s’applique pour les deux modes de réalisation ci-dessus : aussi bien pour le premier mode de réalisation lorsque le symbole d’ancrage est un symbole du message , que pour le deuxième mode de réalisation, lorsque le symbole d’ancrage est un symbole du mot de code . A noter que les deux modes de réalisation sont obtenus par une formation spécifique du message M. Le dispositif de transmission comporte également un module 14 de première modulation, configuré pour appliquer une première modulation et un module 16 de deuxième modulation configuré pour appliquer une deuxième modulation. La première modulation appliquée par le module 14 est une modulation à étalement de spectre. Plus particulièrement, le module 14 de première modulation met en œuvre une variante modifiée de la modulation à décalage de code cyclique CCSK. La modulation CCSK classique consiste à associer une séquence de q bribes (en anglais « chips ») à chaque symbole d’un ensemble de q symboles, numérotés de 0 à q-1. L’espace des séquences de bribes est constitué de séquences P 0 à P q-1 , où P 0 est une séquence pseudo-aléatoire formée de q bits, et chaque séquence P j est obtenue par décalage circulaire de j positions, dans un sens prédéterminé, de la séquence P 0 . A titre d’exemple numérique, pour q=8 et p=3, la table 1 ci-dessous illustre l’association ou mise en correspondance (en anglais « mapping ») entre chaque symbole et chaque séquence, obtenue par décalage circulaire vers la gauche d’une séquence P 0 =(1,1,1,0,1,0,0,0) : 0 1 1 1 0 1 0 0 0 1 1 1 0 1 0 0 0 1 2 1 0 1 0 0 0 1 1 3 0 1 0 0 0 1 1 1 4 1 0 0 0 1 1 1 0 5 0 0 0 1 1 1 0 1 6 0 0 1 1 1 0 1 0 7 0 1 1 1 0 1 0 0 Le sens du décalage circulaire est choisi par convention. La première modulation selon l’invention met en œuvre un ensemble de q séquences {Z,R 0 ,…,R q- 2 } comprenant q-1 séquences de q-1 bribes, chaque séquence étant obtenue par décalage circulaire d’une séquence pseudo-aléatoire de base R 0 , et une séquence partiellement invariante Z , qui est dans ce mode de réalisation une séquence constante (i.e. invariante par tout décalage circulaire dans ce cas) formée de q-1 bribes de même valeur. De préférence, la séquence pseudo-aléatoire de base R 0 est générée par un registre à décalage à rétroaction linéaire de longueur maximale ou par une séquence appelée « Constant amplitude zero autocorrelation waveform (CAZAC) ». En utilisant une formulation mathématique, la séquence pseudo-aléatoire de base R 0 s’écrit : Où L’ensemble des séquences R 1 à R q-2 est défini par décalage circulaire, dans un sens prédéterminé, de la séquence R 0 . Ainsi, toute séquence , s’écrit : , , La séquence constante Z comporte q-1 bribes de même valeurs, et est notée : . Par exemple, on pourra considérer z=0 ou z=1. Cependant, on pourra également considérer z comme une valeur symbolique (plutôt qu’une valeur numérique), de manière à pouvoir la distinguer des bribes 0 et 1 composant les séquences R 0 ,…,R q- 2 . Cela permet de distinguer, dans le module de deuxième modulation 16, entre la modulation utilisée pour la séquence Z et celle utilisée pour les séquences R 0 ,…,R q- 2 . Avantageusement, la séquence constante Z est invariante pour tout décalage circulaire. L’association d’un symbole de à une séquence de l’ensemble des séquences est définie par une fonction μ() de mise en correspondance définie de la manière suivante : Ainsi, tous les symboles c u du mot de code sont associés à une séquence de q-1 bribes de l’ensemble de séquences défini ci-dessus. La fonction μ() définit un schéma de mise en correspondance. A titre d’exemple numérique, pour q=8 et p=3, la table 2 ci-dessous illustre l’association selon le schéma de mise en correspondance défini ci-dessus, avec la séquence de base R 0 =(1,1,1,0,1,0,0) : 0 z z z z z z z α  1 1 1 0 1 0 0 α 1 1 1 0 1 0 0 1 α 2 1 0 1 0 0 1 1 α 3 0 1 0 0 1 1 1 α 4 1 0 0 1 1 1 0 α 5 0 0 1 1 1 0 1 α 6 0 1 1 1 0 1 0 Cette association est appelée association -covariante. La propriété suivante, dite propriété de covariance, est vérifiée pour cette modulation CCSK modifiée : lorsqu’un symbole c de est associé par le schéma de mise correspondance défini par μ(), i.e. , la séquence S’ obtenue par un décalage circulaire de k positions, notée S est la séquence de bribes associée à . En d’autres termes : De manière équivalente, en notant l’association inverse, permettant d’associer une séquence de bribes à un symbole, la relation suivante est vérifiée : La deuxième modulation, mise en œuvre par le module 16 de deuxième modulation, est une modulation de phase ou une modulation d’amplitude, par exemple une modulation BPSK (pour « Binary Phase Shift-Key ») ou une modulation OOK (pour « On Off Keying »), cette dernière étant également connue sous le nom de modulation « tout ou rien ». Dans un mode de réalisation, les séquences R u obtenues par décalage circulaire de la séquence R 0 sont modulées en utilisant la modulation de phase, de préférence la modulation de phase BPSK, et la séquence constante Z est modulée selon une modulation différente. Selon un mode de réalisation particulier, la deuxième modulation comporte une absence d’onde porteuse pour la séquence constante et une modulation de phase à 2 états ou BPSK (pour « Binary Phase Shift Keying ») pour les séquences obtenues par décalage circulaire de la séquence pseudo-aléatoire de base. Les porteuses modulées forment un signal X transmis via le canal de transmission. Le dispositif de réception 6 comporte un module 20 de démodulation et un module 22 de décodage et synchronisation conjoints, le décodage étant un décodage correcteur non binaire. Avantageusement, notamment grâce à l’application de la première modulation telle que décrite ci-dessus, le dispositif récepteur est adapté pour réaliser conjointement le décodage correcteur d’erreur et la synchronisation, comme cela sera décrit plus en détail ci-après. La représente schématiquement un dispositif de transmission 4 selon un mode de réalisation. Le dispositif de transmission 4 est un dispositif électronique programmable, typiquement un ordinateur, et comprend une unité centrale de calcul (CPU) 30, une mémoire électronique 32, une interface de communication 34 et une interface homme-machine 36. Les éléments 30, 32, 34, 36 sont adaptés à communiquer via un bus informatique. L’unité centrale de calcul 30 comprend un ou plusieurs processeurs, aptes à exécuter des instructions de programme d’ordinateur, mémorisés par la mémoire électronique 32, lorsque le dispositif 4 est mis sous tension. L’unité de mémoire électronique est configurée pour mémoriser un module 10 de formation d’un message de K symboles non-binaires , un module 12 de codage non binaire, un module 14 de première modulation et un module 16 de deuxième modulation. Dans un mode de réalisation, les modules 10, 12, 14, 16 sont réalisés sous forme de code logiciel, et forment un programme d’ordinateur, comportant des instructions logicielles qui, lorsqu’elles sont mises en œuvre par le dispositif électronique programmable, mettent en œuvre un procédé de transmission de symboles de mot de code correcteur d’erreur non binaire selon l’invention. En variante non représentée, les modules 10, 12, 14, 16 sont réalisés chacun sous forme d’un composant logique programmable, tel qu’un FPGA (de l’anglais Field Programmable Gate Array ), ou un GPGPU (de l’anglais General-purpose processing on graphics processing ), ou encore sous forme d’un circuit intégré dédié, tel qu’un ASIC (de l’anglais Application Specific Integrated Circuit ). Le programme d’ordinateur mettant en œuvre le procédé de transmission de symboles de mot de code correcteur d’erreur non binaire est en outre apte à être enregistré sur un support, non représenté, lisible par ordinateur. Le support lisible par ordinateur est par exemple, un médium apte à mémoriser les instructions électroniques et à être couplé à un bus d’un système informatique. A titre d’exemple, le support lisible est un disque optique, un disque magnéto-optique, une mémoire ROM, une mémoire RAM, tout type de mémoire non-volatile (par exemple EPROM, EEPROM, FLASH, NVRAM), une carte magnétique ou une carte optique. La représente schématiquement un dispositif de réception 6 selon un mode de réalisation. Le dispositif de réception 6 est un dispositif électronique programmable, typiquement un ordinateur, et comprend une unité centrale de calcul (CPU) 40, une mémoire électronique 42, une interface de communication 44 et une interface homme-machine 66. Les éléments 40, 42, 44, 46 sont adaptés à communiquer via un bus informatique. L’unité centrale de calcul 40 comprend un ou plusieurs processeurs, aptes à exécuter des instructions de programme d’ordinateur, mémorisés par la mémoire électronique 42, lorsque le dispositif 6 est mis sous tension. L’unité de mémoire électronique est configurée pour mémoriser un module 20 de démodulation et un module 22 de décodage et synchronisation conjoints. Le module 22 comprend un module 24 de décodage de code correcteur d’erreur non binaire, un module 26 d’estimation d’un décalage de synchronisation et un module 28 de calcul du mot de code transmis et du message correspondant en appliquant le décalage de synchronisation estimé. Dans un mode de réalisation, les modules 20, 24, 26, 28 sont réalisés sous forme de code logiciel, et forment un programme d’ordinateur, comportant des instructions logicielles qui, lorsqu’elles sont mises en œuvre par le dispositif électronique programmable, mettent en œuvre un procédé de réception selon l’invention. En variante non représentée, les modules 20, 24, 26, 28 sont réalisés chacun sous forme d’un composant logique programmable, tel qu’un FPGA (de l’anglais Field Programmable Gate Array ), ou un GPGPU (de l’anglais General-purpose processing on graphics processing ), ou encore sous forme d’un circuit intégré dédié, tel qu’un ASIC (de l’anglais Application Specific Integrated Circuit ). Le programme d’ordinateur mettant en œuvre le procédé de réception est en outre apte à être enregistré sur un support, non représenté, lisible par ordinateur. Le support lisible par ordinateur est par exemple, un médium apte à mémoriser les instructions électroniques et à être couplé à un bus d’un système informatique. A titre d’exemple, le support lisible est un disque optique, un disque magnéto-optique, une mémoire ROM, une mémoire RAM, tout type de mémoire non-volatile (par exemple EPROM, EEPROM, FLASH, NVRAM), une carte magnétique ou une carte optique. La un organigramme des principales étapes d’un procédé de transmission selon un mode de réalisation. Le procédé comporte une étape 50 d’obtention de symboles de mots de code d’erreur non binaire à transmettre. Dans un mode de réalisation, l’étape 50 comporte des sous-étapes 51 de formation du message M à traiter et transmettre, selon la description faite ci-dessus, et une sous-étape 52 de codage par un code correcteur d’erreur non binaire choisi permettant d’obtenir des symboles codés à p bits, p étant un nombre entier. Deux modes de réalisation distincts de la sous-étape 51 de formation du message M sont envisagés. Dans un premier mode de réalisation le message M comprend K-1 symboles de données utiles à transmettre, ainsi qu’un symbole d’ancrage de valeur prédéterminée non-nulle, placé à une position prédéterminée dans le message (par exemple ). Dans un deuxième mode de réalisation le message M comprend K-1 symboles de données utiles à transmettre, ainsi qu’un symbole dont la valeur est déterminée en fonction des K-1 symboles de données utiles, de façon à ce qu’un symbole d’ancrage placé à une position prédéterminée dans le mot de code prenne une valeur prédéterminée non-nulle (par exemple , de manière à ce que après l’étape de codage 52, on obtienne ) Le code correcteur d’erreur non binaire appliqué à la sous-étape 52 est par exemple un code de parité à faible densité non binaire NB-LDPC. Les symboles obtenus font partie d’un corps de Galois GF q à q=2 p éléments. A l’issue de l’étape 50 est obtenu un mot de code correcteur : (référencé 54). Le procédé comprend en outre une étape 56 d’application d’une première modulation, qui est une modulation CCSK modifiée telle que décrite ci-dessus, permettant d’associer chaque symbole à une séquence de q-1 bribes parmi l’ensemble des séquences comportant la séquence constante Z et des séquences de bribes R u , chaque séquence R u étant obtenue par décalage circulaire d’une séquence pseudo-aléatoire de base R 0 de q-1 bribes. Optionnellement, l’étape 56 de première modulation comprend des sous-étapes 58 à 62 telles que décrites ci-dessous. L’étape 56 comprend alors une sous-étape 58 d’obtention de la séquence pseudo-aléatoire de base R 0 . De préférence, cette séquence pseudo-aléatoire de base est générée par un générateur et mémorisée. Par exemple, la séquence est générée par un registre à décalage à rétroaction linéaire de longueur maximale. L’étape 56 comprend également une sous-étape 60 de génération et de mémorisation des séquences R 1 à R q-2 . L’étape 56 comprend également une sous étape 62 de mémorisation de la fonction μ de mise en correspondance telle que définie par la formule [MATH 10]. En variante, la génération de l’ensemble de séquences R 0 à R q-2 et la mémorisation de la mise en correspondance sont effectuées préalablement à la mise en œuvre du procédé. Enfin, l’étape 58 comprend une étape 64 d’association d’une séquence de bribes à chaque symbole de mot de code, dans laquelle, pour chaque symbole c j du mot de code C, la séquence de bribes Sj associée est déterminée par application de la fonction de mise en correspondance : Le procédé comprend en outre une étape 66 d’application d’une deuxième modulation, par exemple une modulation de phase ou une modulation d’amplitude. Dans un mode de réalisation, pour chaque séquence S j =R i , en d’autres termes si la séquence S j est une des séquences de bribes obtenues à partir de la séquence pseudo-aléatoire de base R 0 , alors la modulation BPSK est appliquée, ainsi que pour la séquence constante Z. Selon une variante, différemment de la modulation appliquée aux séquences de bribes obtenues par décalage circulaire de la séquence pseudo-aléatoire de base, la séquence constante est modulée à « 0 ». En d’autres termes, il n’y a pas de transmission (e.g. absence de d’onde porteuse) pendant la durée de la séquence constante Z. Avantageusement, la puissance de transmission est diminuée. La deuxième modulation 66 est suivie d’une étape de transmission 68 des porteuses successives formant un signal X. Avantageusement, grâce à la propriété de covariance définie ci-dessus, dans un cas « idéal », si le canal de transmission 8 introduit une désynchronisation circulaire, c’est-à-dire, si les séquences de bribes (S 1 ,…,S N ), associées aux symboles (c 1 ,…, c N ) d’un mot de code C, sont reçues au décodeur sous la forme , la mise en œuvre de l’association inverse permet d’obtenir directement le mot de code . Le cas idéal décrit ci-dessus est purement théorique. En pratique, le canal de transmission 8 introduit une désynchronisation qui se traduit par une désynchronisation « quasi-circulaire » des séquences (S 1 ,…,S N ). En effet, en cas de désynchronisation de k bribes, uniquement q-1-k bribes d’une séquence reçue correspondent à un décalage circulaire de la séquence de bribes transmise, les k bribes restantes étant en fait des bribes appartenant à une séquence de bribes contiguë. Cela permet de considérer la séquence reçue comme une version bruitée de la séquence . Ainsi, en décodant la séquence reçue on obtient une estimation du mot de code , et donc du message correspondant . La connaissance d’un symbole d’ancrage de valeur prédéterminée, que ce soit un symbole du mot de code transmis ou du message correspondant , permet alors de déterminer le décalage de synchronisation k subi par le signal transmis, comme il sera expliqué plus bas. Notons aussi que, outre la correction du décalage de synchronisation, l’opération de décodage permet également de corriger les erreurs de transmission dues au bruit présent sur le canal de transmission. Ainsi, l’invention proposée permet de réaliser conjointement la synchronisation et le décodage correcteur d’erreur. La un organigramme des principales étapes d’un procédé de réception selon un mode de réalisation. Le procédé de réception comporte une étape 70 de réception d’un signal Y, qui correspond au signal X transmis par le procédé de transmission, affecté d’un décalage de synchronisation inconnu et corrompu par un bruit, par exemple modélisable par un bruit blanc Gaussien. Le procédé de réception comporte une étape 72 de démodulation permettant d’obtenir une estimation des symboles codés transmis, à partir du signal Y reçu, sans estimation de décalage de synchronisation. Selon divers modes de réalisation possibles, l’estimation peut prendre soit la forme d’une décision dure, c.-à-d. qu’on détermine pour chaque symbole du mot de code la valeur dans GF q la plus probable selon le signal reçu, soit la forme d’une décision souple, c.-à-d. qu’on détermine pour chaque symbole du mot de code une distribution de probabilité sur GF q , ou de manière équivalente des valeurs de vraisemblance logarithmique pour chaque élément de GF q , selon le signal reçu. Dans un mode de réalisation, la démodulation 72 applique une méthode dite de logarithme de rapport de vraisemblance (en anglais LLR pour « Log Likelihood Ratio »), d’ordre q (en anglais « q-ary LLR »), connue de l’homme du métier. Dans un mode de réalisation, le calcul est effectué en utilisant des opérations de transformation de Fourier discrète et inverse, mises en œuvre par exemple par des transformations de Fourier rapides, respectivement FFT (pour « Fast Fourier Transform ») et IFFT (pour « Inverse Fast Fourier Transform »). Le procédé comporte ensuite une étape 74 de décodage et synchronisation conjoints, réalisant conjointement le décodage des mots de code transmis et l’estimation de décalage de synchronisation k. L’étape 74 comporte une sous-étape 76 de décodage par application du décodage correcteur d’erreur non binaire correspondant au codage correcteur d’erreur non binaire appliqué dans le procédé de transmission. A l’issue de l’étape 76 est obtenu un mot décodé, noté : et un message correspondant, noté : Le mot décodé est une estimation du mot de code transmis multiplié par l’élément primitif du corps GF q à la puissance k, k étant de décalage de synchronisation subi par le signal transmis : De la même manière, le message décodé est une estimation du message multiplié par l’élément primitif du corps GF q à la puissance k Le procédé comprend ensuite une étape 78 d’estimation du décalage de synchronisation k à partir du mot ou du message décodé, la valeur estimée du décalage de synchronisation étant notée . Dans un mode de réalisation, l’estimation est effectuée connaissant la position prédéterminée et la valeur non-nulle prédéterminée du symbole ancrage du message , introduit lors de l’étape 51 de formation du message . Par exemple, s’il s’agit du symbole position en première position, et la valeur non-nulle prédéterminée est égale à 1, c.-à-d., , il en est déduit : Par conséquent, l’estimation du décalage de synchronisation est calculée par la formule : où la fonction logarithmique ci-dessus dénote le logarithme discret définit dans le groupe multiplicatif du corps . Dans un autre mode de réalisation, l’estimation est effectuée connaissant la position prédéterminée et la valeur non-nulle prédéterminée du symbole d’ancrage du mot de code , introduit lors de l’étape 51 de formation du message . Par exemple, s’il s’agit du symbole position en première position, et la valeur non-nulle prédéterminée est égale à 1, c.-à-d., , il en est déduit : Par conséquent, l’estimation du décalage de synchronisation est calculée par la formule : Le procédé comporte ensuite un estimation 80 du mot de code transmis et/ou du message correspondant, en appliquant le décalage de synchronisation estimé. L’étape 80 met en œuvre un calcul consistant à diviser chaque symbole du mot décodé et/ou du message par l’élément primitif du corps GFq à la puissance . Ainsi, en dénotant par l’estimation du mot de code transmis C, et par l’estimation du message M correspondant, à l’étape 80 on détermine : Optionnellement, si le mot décodé à l’étape 80 n’est pas un mot de code, c’est-à-dire qu’il ne fait pas partie de l’ensemble des mots de code du code correcteur d’erreur mis en œuvre, le procédé comprend en plus une étape 82 de synchronisation du signal reçu en appliquant le décalage de synchronisation estimé , et les étapes 72 à 80 sont itérées jusqu’à ce qu’un critère d’arrêt soit vérifié. Le critère d’arrêt consiste par exemple à vérifier que le mot décodé à l’étape 80 est un mot de code, ou qu’un nombre prédéterminé d’itérations a été effectué. De plus, selon une variante, les étapes 70 à 82 sont appliquées périodiquement, avec une période égale à un nombre de bribes prédéterminé . La illustre la performance de décodage dans un exemple pratique dans lequel p=6, q=64. Le code correcteur d’erreur non binaire utilisé est le code NB-LDPC sur GF 64 , avec des nœuds de variable de degré 2 et des nœuds de parité de degré 3, et un rendement R=1/3. Le message à transmettre comprend 20 symboles source de GF 64 (correspondant à Kp=120 bits source), incluant le symbole d’ancrage. Le mot de code généré par le codage LDPC non binaire contient N=60 symboles de GF 64 . Les symboles de mot de code sont modulés selon la première modulation CCSK modifiées, pour obtenir 60 séquences de q-1=63 bribes, soit une trame de 3780 bribes. La séquence constante Z est une séquence « tout à zéro ». La modulation BPSK est appliquée aux séquences de bribes, y compris la séquence Z, selon le schéma de modulation : 0->1 et 1->-1. Le signal obtenu est bruité par un bruit blanc Gaussien de variance pour simuler le canal de transmission. Les courbes de résultat sont tracées dans le plan du taux d’erreur par trame en réception FER (pour « Frame Error Rate ») en fonction du rapport signal à bruit SNR. La courbe F 0 correspond au cas sans décalage de synchronisation (k=0). Les courbes F 1 , F’ 1 correspondent à un décalage de synchronisation inférieur ou égal à 4, le décodage étant répété périodiquement toutes les bribes. La courbe F 1 en trait plein correspond au résultat après la première application du décodage conjoint avec l’estimation de décalage de synchronisation, et la courbe F 1 ’ en traits pointillés correspond au résultat après l’application du décodage conjoint avec l’estimation de décalage de synchronisation avec une itération supplémentaire. Les courbes F 2 , F’ 2 correspondent à un décalage de synchronisation inférieur ou égal à 10, le décodage étant répété périodiquement tous les bribes, respectivement la courbe F 2 en trait plein correspond au résultat après la première application du décodage conjoint avec l’estimation de décalage de synchronisation, et la courbe F 2 ’ en traits pointillés correspond au résultat après l’application du décodage conjoint avec l’estimation de décalage de synchronisation avec une itération supplémentaire. Les courbes F 3 , F’ 3 correspondent à un décalage de synchronisation inférieur ou égal à 15, le décodage étant répété périodiquement tous les bribes, respectivement la courbe F 3 en trait plein correspond au résultat après la première application du décodage conjoint avec l’estimation de décalage de synchronisation, et la courbe F 3 ’ en traits pointillés correspond au résultat après l’application du décodage conjoint avec l’estimation de décalage de synchronisation avec une itération supplémentaire. Selon une variante de réalisation, la formation du message M se fait de manière à déterminer « partiellement » la valeur d’un symbole d’ancrage placé à une position prédéterminée soit dans le message M, soit dans le mot de code C, cette valeur appartenant à un sous-ensemble prédéterminé de GF q , de cardinal supérieur à 1. On note également que si le symbole d'ancrage prend une valeur dans un sous-ensemble prédéterminé de éléments de GFq, avec , le message comporte alors bits utiles. Dans ce cas, à l’étape 78 on pourra déterminer plusieurs estimations du décalage de synchronisation. Précisément, une estimation du décalage de synchronisation peut être obtenue pour chaque valeur possible du symbole d’ancrage. On pourra ensuite choisir une parmi les estimations du décalage de synchronisation, en utilisant par exemple un critère de vraisemblance, ou une connaissance a priori de l’intervalle du décalage de synchronisation. Par exemple, lorsque les étapes 70 à 82 sont appliquées périodiquement, avec une période égale à un nombre de bribes prédéterminé , alors on en déduit comme information a priori que le décalage de synchronisation . Si une seule des estimations obtenues tombe dans cet intervalle, on pourra alors déterminer avec précision la valeur du décalage de synchronisation. Dans tous les modes de réalisations décrits précédemment, la séquence de bribes Z, associée au symbole 0 de GF q , est une séquence constante formée de q-1 bribes de même valeur, et donc invariante par tout décalage circulaire (ou permutation circulaire). Selon une variante de réalisation, la séquence de bribes Z est invariante uniquement par un sous-ensemble prédéterminé de permutations correspondant à des décalages circulaires. Dans cette variante, la séquence de bribes Z est dite partiellement invariante. A titre d’exemple, si la séquence de bribes Z est invariante par les permutations correspondant aux décalages circulaires par un nombre pair de positions, alors Z aura la forme : Si la séquence de bribes Z est invariante par les permutations correspondant aux décalages circulaires par un nombre positions multiple de 3, alors Z aura la forme : Cela permet d’appliquer toutes les étapes de l’invention, comme décrites précédemment, en en particulier les étapes 70 à 82, en considérant plusieurs hypothèses sur le décalage de synchronisation, jusqu’à ce qu’à ce que la différence entre l’hypothèse considérée et le vrai décalage de synchronisation introduit par le canal corresponde à une permutation du sous-ensemble prédéterminé. A titre d’exemple, si la séquence de bribes Z est invariante par les permutations correspondant aux décalages circulaires par un nombre pair de positions, on pourra considérer deux hypothèses, une première hypothèse considérant que le décalage de synchronisation est pair, et une deuxième hypothèse considérant que le décalage de synchronisation est impair. Si la séquence de bribes Z est invariante par les permutations correspondant aux décalages circulaires par un nombre positions multiple de 3, on pourra considérer trois hypothèses, considérant respectivement que le décalage de synchronisation est un multiple de trois, un multiple de trois plus un, ou un multiple de trois plus deux. Procédé de transmission de symboles de mots de code correcteur d’erreur non binaire à travers un canal de transmission (8), chaque symbole de mot de code comprenant p bits et faisant partie d’un corps fini GF q à q=2 p éléments, le procédé comportant : une première modulation (56) à étalement de spectre associant à chaque symbole de mot de code de p bits une séquence de bribes, une deuxième modulation (66) pour moduler au moins une porteuse avec les séquences associées aux mots de code, par modulation de phase ou d’amplitude, permettant d’obtenir au moins une porteuse modulée, une transmission de ladite au moins une porteuse modulée formant un signal à travers ledit canal de transmission (8), le procédé de transmission étant caractérisé en ce que la première modulation (56) met en œuvre un ensemble de q séquences comprenant q-1 séquences de q-1 bribes, chaque séquence étant obtenue par décalage circulaire d’une séquence pseudo-aléatoire de base (R 0 ), et une séquence partiellement invariante, formée de q-1 bribes et invariante par un sous-ensemble prédéterminé de décalages circulaires, et en ce que la première modulation (56) met en œuvre en outre une association (64) entre chaque symbole de mot de code et une séquence de l’ensemble de séquences dans laquelle, ledit corps fini GF q ayant un élément primitif non nul, le symbole zéro est associé à ladite séquence partiellement invariante et un symbole égal à une puissance j de l’élément primitif, j étant un entier compris entre 0 et q-2, est associé à une séquence pseudo-aléatoire déterminée par j décalages circulaires de la séquence pseudo-aléatoire de base (R 0 ). Procédé selon la revendication 1, dans lequel ladite séquence partiellement invariante est une séquence constante formée de q-1 bribes de même valeur. Procédé selon la revendication 1 ou 2, comportant en outre, préalablement à l’application d’un code correcteur d’erreur non binaire, une formation (51) d’un message de K symboles de GF q , auquel est appliqué le codage correcteur d’erreur non binaire pour générer un mot de code, le message étant formé (51) de sorte qu’un symbole dit symbole d’ancrage, de valeur appartenant à un sous-ensemble prédéterminé de GF q , soit placé à une position prédéterminée dans le message ou dans ledit mot de code. Procédé selon la revendication 3, dans lequel ledit sous-ensemble prédéterminé comprend une seule valeur non nulle prédéterminée, et ledit symbole d’ancrage prend ladite valeur non nulle prédéterminée. Procédé selon la revendication 4, dans lequel dans l’étape de formation du message (51), ledit symbole d’ancrage est placé à ladite position prédéterminée dans le message. Procédé selon la revendication 4, dans lequel la formation (51) du message comprend une détermination d’un symbole dudit message en fonction de K-1 autres symboles du message, le mot de code obtenu après codage comprenant ledit symbole d’ancrage à ladite position prédéterminée. Procédé de transmission selon l’une des revendications 1 à 6, dans lequel la première modulation (56) comporte une génération (60) de la séquence pseudo-aléatoire de base (R 0 ) par un registre à décalage à rétroaction linéaire de longueur maximale. Procédé de transmission selon l’une des revendications 1 à 7, dans lequel la deuxième modulation (66) est une modulation de phase ou d’amplitude de la porteuse. Procédé de transmission selon l’une des revendications 1 à 8, dans lequel la deuxième modulation utilisée pour la séquence partiellement invariante est différente de la deuxième modulation utilisée par les séquences obtenues par décalage circulaire de la séquence pseudo-aléatoire de base (R 0 ). Procédé de transmission selon la revendication 9, dans lequel la deuxième modulation comporte une absence d’onde porteuse pour la séquence partiellement invariante et une modulation de phase pour les séquences obtenues par décalage circulaire de la séquence pseudo-aléatoire de base (R 0 ). Procédé de réception d’un signal reçu, ledit signal reçu étant issu d’un signal transmis par un procédé de transmission conforme aux revendications 1 à 10, ledit signal transmis comportant des symboles de mot de code correcteur d’erreur transmis, le procédé de réception étant caractérisé en ce qu’il comporte des étapes de : - démodulation (72) du signal reçu, permettant d’obtenir une estimation des symboles codés transmis à partir du signal reçu, - un décodage et synchronisation conjoints (74), comprenant : - un décodage (76) pour déterminer un mot décodé et/ou un message décodé correspondant à partir des estimations de symboles codés fournies par l’étape de démodulation, ledit mot décodé fournissant une estimation du mot de code transmis multiplié par l’élément primitif du corps fini GF q élevé à une puissance égale à un décalage de synchronisation, - une estimation (78) dudit décalage de synchronisation à partir d’un symbole d’ancrage à une position prédéterminée dans le mot décodé ou dans le message décodé correspondant. Procédé de réception selon la revendication 11, comprenant en outre une estimation (80) du mot de code transmis en divisant les symboles du mot décodé et/ou du message décodé par l’élément primitif du corps fini élevé à la puissance égale au décalage de synchronisation estimé. Procédé de réception selon la revendication 12, comprenant en outre, lorsque l’estimation (80) du mot de code transmis ne permet pas d’obtenir un mot de code, une synchronisation (82) en appliquant le décalage de synchronisation estimé et une itération des étapes de décodage (76), d’estimation (78) du décalage de synchronisation jusqu’à ce qu’un critère d’arrêt soit vérifié. Procédé de réception selon l’une des revendications 11 à 13, dans lequel les étapes de démodulation (72) et de décodage et synchronisation conjoints (74) sont répétées périodiquement, en décalant le signal reçu d’un nombre de bribes prédéterminé. Dispositif de transmission de symboles de mots de code correcteur d’erreur non binaire à travers un canal de transmission (8), chaque symbole de mot de code comprenant p bits et faisant partie d’un corps fini GF q à q=2 p éléments, le dispositif de transmission étant configuré pour mettre en œuvre : un module (14) de première modulation à étalement de spectre associant à chaque symbole de mot de code de p bits une séquence de bribes, un module (16) de deuxième modulation configuré pour moduler au moins une porteuse avec les séquences associées aux mots de code, par modulation de phase ou d’amplitude, permettant d’obtenir au moins une porteuse modulée, un module de transmission de ladite au moins une porteuse modulée formant un signal à travers ledit canal de transmission (8), le dispositif de transmission étant caractérisé en ce que le module (14) de première modulation est configuré pour mettre en œuvre un ensemble de q séquences comprenant q-1 séquences de q-1 bribes, chaque séquence étant obtenue par décalage circulaire d’une séquence pseudo-aléatoire de base (R 0 ), et une séquence partiellement invariante, formée de q-1 bribes et invariante par un sous-ensemble prédéterminé de décalages circulaires, et en ce que le module (14) de première modulation est en outre configuré pour mettre en œuvre une association entre chaque symbole de mot de code et une séquence de l’ensemble de séquences dans laquelle, ledit corps fini GF q ayant un élément primitif non nul, le symbole zéro est associé à la séquence partiellement invariante et un symbole égal à une puissance j de l’élément primitif, j étant un entier compris entre 0 et q-2, est associé à une séquence pseudo-aléatoire déterminée par j décalages circulaires de la séquence pseudo-aléatoire de base (R 0 ). Dispositif de réception d’un signal reçu, ledit signal reçu étant issu d’un signal transmis par un dispositif de transmission selon la revendication 15, ledit signal transmis comportant des symboles de mot de code correcteur d’erreur transmis, le dispositif de réception étant configuré pour mettre en œuvre : - un module (20) de démodulation du signal reçu, permettant d’obtenir une estimation des symboles codés transmis à partir du signal reçu, - un module (22) de décodage et synchronisation conjoints, comprenant : - un module (24) de décodage pour déterminer un mot décodé et/ou un message décodé correspondant à partir des estimations de symboles codés fournies par l’étape de démodulation, ledit mot décodé fournissant une estimation du mot de code transmis multiplié par l’élément primitif du corps fini GF q élevé à une puissance égale à un décalage de synchronisation, - un module (26) d’estimation dudit décalage de synchronisation à partir d’un symbole d’ancrage à une position prédéterminée dans le mot décodé ou dans le message décodé correspondant.