FR 2900293 A1 20071026 FR 0603680 A 20060425 1 La présente invention concerne un procédé d'étalement de spectre du type à séquence directe d'un flux de données composé d'une suite de symboles, le procédé comportant les étapes de : - codage de canal des symboles par un code correcteur d'erreur, et - étalement du spectre par multiplication des symboles encodés par un code d'étalement de longueur prédéterminée. Elle concerne également un dispositif d'émission et un dispositif de réception par étalement de spectre du même type. L'étalement de spectre est une technique classique de transmission utilisée pour transformer les perturbations extérieures en bruit blanc gaussien. Classiquement, l'étalement de spectre est créé en multipliant chaque symbole en sortie du codage de canal par une séquence d'étalement de longueur N. Cette séquence d'étalement, également appelée séquence pseudo-aléatoire ou séquence PN (pour pseudo-noise ) présente de bonnes propriétés aléatoires. Dans un système donné, chaque émetteur utilise une séquence PN différente choisie de telle sorte que le coefficient d'intercorrélation entre deux séquences PN soit le plus faible possible et le coefficient d'autocorrélation de chaque séquence PN soit le plus faible possible pour un décalage différent de la période. L'étalement de spectre présente de nombreux avantages. Ainsi, la bande de fréquence utilisée est notamment plus large qu'avec d'autres techniques de transmission mais avec une densité spectrale plus faible. Le signal est plus résistant aux interférences et peut donc être utilisé dans un espace ambiant très bruité. L'étalement de spectre est particulièrement utilisé dans les systèmes CDMA ( Code Division Multiple Access - Accès multiple par division de code). Les systèmes CDMA utilisent, en particulier, l'étalement de spectre pour permettre à plusieurs utilisateurs de communiquer simultanément en utilisant, comme indiqué ci-dessus, des codes PN ayant de bonnes propriétés de corrélation. Il est à noter que de part les contraintes physiques liées aux vitesses de composants ainsi que, de part la limite de Shannon, la capacité du canal de transmission définit une limite maximale à trois paramètres intercorrélés : le nombre maximal d'utilisateurs simultanés, le débit de chaque transmission et son taux d'erreurs résiduelles. Le but de l'invention est donc de proposer un procédé de transmission par étalement du spectre qui soit plus robuste que les procédés actuels de façon à augmenter significativement le nombre d'utilisateurs simultanés pour un débit et un taux d'erreurs résiduelles constants, ou d'augmenter le débit à nombre d'utilisateurs et taux d'erreurs résiduelles constants, ou diminuer le taux d'erreurs résiduelles à débit et nombre d'utilisateurs constants. L'objet de l'invention est donc un procédé d'étalement de spectre à 10 séquence directe d'un flux de données composé d'une suite de symboles, ledit procédé comportant les étapes de : - codage de canal des symboles par un code correcteur d'erreurs, et - étalement de spectre par multiplication des symboles encodés par un code d'étalement de longueur prédéterminée, ledit code d'étalement étant émis à 15 un débit prédéterminé, dit débit chips, le facteur d'étalement étant égal à la longueur du code correcteur d'erreurs divisée par la dimension de ce code correcteur d'erreurs et le débit en sortie de codage de canal est égal au débit de l'étalement de spectre. D'autres caractéristiques de cet objet sont : 20 - l'étape de codage de canal comporte les sous étapes de : - codage par un code de Reed-Solomon, puis - codage convolutif de rendement un-demi, puis - codage linéaire de petite taille ayant pour dimension le degré d'extension de corps dudit code de Reed-Solomon ; 25 - il comporte en outre une étape de décodage du canal et de desétalement de spectre comportant les sous étapes de : - décodage exhaustif et au maximum de vraisemblance du code linéaire de petite taille, puis - décodage de Viterbi, puis 30 - décodage algébrique du code de Reed-Solomon ; - l'étape de décodage est effectuée par des accumulateurs, au nombre de deux à la puissance la dimension du code linéaire de petite taille, mis en parallèle de façon à ce que le décodage soit effectué au débit chips ; et 3 - un signal de synchronisation, émis en quadrature du code d'étalement, est formé par le code d'étalement. Un autre objet de l'invention est : - un dispositif d'émission par étalement de spectre à séquence directe d'un flux de données composé d'une suite de symboles, ledit dispositif comportant : -un codeur de canal des symboles par un code correcteur d'erreurs, connectés à - un multiplieur des symboles encodés par un code d'étalement de longueur prédéterminée, ledit code d'étalement étant émis à un débit prédéterminé, le facteur d'étalement du code d'étalement étant égal à la longueur du code correcteur d'erreurs divisée par la dimension de ce code correcteur d'erreurs et le débit en sortie du codeur de canal est égal au débit du multiplieur ; D'autres caractéristiques de cet objet sont : - le code correcteur d'erreur est composé d'un code de Reed- Solomon dont la sortie est encodée par un code convolutif de rendement un-demi dont la sortie est encodée par un code linéaire de petite taille ayant pour dimension le degré d'extension de corps dudit code de Reed-Solomon ; et -il comporte une table apte à recevoir sur son entrée d'adressage un symbole et dont l'espace d'adressage est égal à la longueur du symbole et à émettre en sortie un mot de code correspondant au symbole à émettre, la sortie de la table étant connectée à - un convertisseur parallèle/série dont la sortie est connectée à l'entrée du multiplieur et fonctionne au même débit que celui du code d'étalement. Un autre objet de l'invention est : - un dispositif de réception d'un signal codé par un dispositif d'émission ayant un décodeur de canal comportant : - un décodeur exhaustif et au maximum de vraisemblance du code linéaire de petite taille, dont la sortie est connectée à - un décodeur de Viterbi, dont la sortie est connectée à un décodeur algébrique du code de Reed-Solomon. ; et Une autre caractéristique de cet objet est que le décodeur de canal comporte des accumulateurs, au nombre de deux à la puissance la dimension du 4 code linéaire de petite taille, mis en parallèle de façon à ce que le décodage soit effectué au débit chips. L'invention sera mieux comprise à la lecture de la description qui va suivre, donnée uniquement à titre d'exemple, et faite en référence aux dessins en 5 annexe dans lesquels : - la figure 1 est le schéma synoptique d'une chaîne de transmission selon l'art antérieur ; - la figure 2 est un chronogramme de l'étalement de spectre à séquence directe selon l'art antérieur ; 10 - la figure 3 est un schéma synoptique d'un mode de réalisation d'un émetteur selon l'invention ; - la figure 4 est un schéma synoptique de codage des données à transmettre selon un mode de réalisation de l'invention ; - la figure 5 est un schéma synoptique d'un codeur convolutif ; 15 - la figure 6 est un schéma synoptique d'un mode de réalisation d'un émetteur selon l'invention ; et -la figure 7 est un schéma synoptique d'un mode de réalisation d'un récepteur selon l'invention. En référence à la figure 1, un système de transmission utilisant la 20 technique d'étalement de spectre comporte classiquement un émetteur 1 qui reçoit en 2 des données à transmettre sur un canal de transmission 3. Un récepteur 4 reçoit le signal transmis par le canal de transmission 3 et décode les données contenues dans ce signal pour les transmettre en 5 à l'aval de la chaîne de traitement. 25 Un tel système doit être capable de transmettre les données sans erreur, c'est-à-dire que les données reçues doivent être égales aux données émises avec un taux d'erreur inférieur à un niveau prédéterminé dépendant de l'application. Pour cela, différentes techniques de redondance et de correction 30 d'erreurs sont utilisées. On distingue ainsi classiquement dans l'émetteur 1, des moyens 6 de codage source connectés à des moyens 7 de codage de canal connectés à des moyens 8 d'étalement de spectre. Réciproquement, dans le récepteur 4, on distingue des moyens 9 de reconstruction du signal, connectés à des moyens 10 de décodage du canal, connectés à des moyens 11 de décodage source. Le codage/décodage source ne sera pas décrit par la suite, dans la 5 mesure où les modes de réalisation de l'invention utilisent les techniques classiques de codage/décodage source bien connues de l'homme du métier. Classiquement, les moyens d'étalement de spectre 8 comportent un multiplicateur 12 qui prend chaque bit en sortie du codage du canal pour le multiplier par une séquence pseudo-aléatoire binaire PN à un rythme très supérieur à celui des données à transmettre. Ainsi, en référence à la figure 2 qui représente un chronogramme d'une telle opération, un flux de données 20 est représenté sous forme d'une succession de trois bits 1, -1 et 1. La durée d'émission de chaque bit est égale à Tb. La séquence pseudo-aléatoire, ou code PN, est représentée en 21 se répétant trois fois, une fois par bit de données. La durée de vie d'un bit de la séquence pseudo-aléatoire est noté Tc et appelée classiquement durée d'un chip, ou période chip. Pratiquement, les horloges des données et de la séquence pseudo- aléatoire sont synchronisées de telle sorte que la durée d'émission d'un bit Tb est un multiple de la durée d'un chip Tc. Le rapport N=Tb/Tc est défini comme le facteur d'étalement. Dans l'exemple de la figure 2, N vaut 8 pour une séquence d'étalement égale à (1,-1,1,1,-1,1,-1,-1). Il est à noter que le facteur d'étalement correspond aux nombres de bits de la séquence pseudo-aléatoire utilisés pour transmettre un bit de données. Selon la longueur du code pseudo-aléatoire choisi, pour un facteur d'étalement donné, à chaque bit de données peut correspondre une période de la séquence pseudo-aléatoire, comme dans l'exemple de la figure 2, ou une partie tronquée de cette période, ou plusieurs périodes. Le chronogramme 22 représente le résultat de la multiplication de chaque bit de données par la séquence pseudo-aléatoire. Dans un mode de réalisation de l'invention, figure 3, le codeur de canal et l'étalement de spectre sont combinés dans un module 30 unique. 6 Le module 30 comporte un codeur correcteur d'erreurs 31 dont l'entrée est reliée au codeur de source 6 et dont la sortie est reliée au multiplieur 32. La sortie du codeur 31 est synchronisée sur le débit chip Tc de la séquence pseudo-aléatoire PN. Le fonctionnement de ce module 30 correspond, figure 3A, à entrer en 35 les données à transmettre sous forme de symboles dans le codeur 31, à coder en 36 les symboles grâce au codeur correcteur d'erreurs 31, puis à transformer en 37 les symboles codés en un flux de bits de période Tc, la période chip, et à multiplier en 38 chaque bit de ce flux avec un bit de la séquence pseudo-aléatoire PN. Le code correcteur d'erreurs 31 est choisi de telle sorte que le facteur d'étalement est égal à la longueur du code correcteur d'erreurs divisé par la dimension de ce code. Ainsi, en choisissant un code correcteur d'erreurs de dimension et de rendement 1/N, les symboles en entrée du code correcteur d'erreurs qui comportent chacun bits génèrent en sortie IN bits qui sont étalés avec une séquence pseudo-aléatoire de même longueur/N. Par rapport au système de l'art antérieur décrit figure 2, le passage d'une séquence d'étalement de longueur N à une séquence d'étalement de longueur IN améliore avantageusement l'efficacité de l'étalement du spectre, comme il est connu de l'homme du métier. Cette amélioration est due à l'utilisation d'un code correcteur d'erreurs et non à l'augmentation du facteur d'étalement car celui-ci est toujours de N par bits à étaler. Cette augmentation de la séquence d'étalement est faite sans diminuer le débit des symboles en entrée du codage grâce, en particulier, au fait que la sortie du codeur 31 se fait au rythme de la période chip Tc et non, comme dans l'art antérieur, à la période bit TB. Dans un mode de réalisation, le code correcteur d'erreurs 31 comporte un code de Reed-Solomon concaténé à un autre code. Par exemple, figure 4, le code de Reed-Solomon est concaténé à un code linéaire de petite taille. De préférence, ce code linéaire de petite taille a une dimension égale au degré du corps sur lequel est défini le code Reed-Solomon. Ce degré du corps de définition correspond à la taille, en bits, des symboles des mots du code de Reed-Solomon. 7 Dans l'exemple de la figure 4, les symboles ont une taille de t bits. Le code 40 de Reed-Solomon [M = 2L -1,K,D = M+1] , avec M la longueur, K la dimension et D la distance, est défini sur un corps de degré I et prend donc K symboles de ~ bits pour les transformer en M symboles de / bits. Le code linéaire 41 de petite taille est donc choisi préférentiellement de dimension et de longueur n et est appliqué sur chaque symbole en sortie du code de Reed Solomon. Ce choix dans la dimension du code linéaire de petite taille permet avantageusement d'optimiser le décodage. En effet, après le décodage du code de petite taille, certains bits d'informations peuvent être erronés. Etant donné qu'ils sont issus d'un seul symbole du code de Reed-Solomon, seul un symbole sera erroné quel que soit le nombre de bits d'information faux issus du code linéaire. Dans le cas contraire, c'est-à-dire en utilisant un code linéaire ayant une dimension différente de la taille des symboles du code de Reed-Solomon, les bits d'information du code linéaire sont issus de plusieurs symboles du code de Reed-Solomon et donc, à des bits d'information faux peuvent correspondre, suivant leurs places, plusieurs symboles erronés. Les codes linéaires de petite dimension utilisés sont préférentiellement issus des tables de Brouwer (A.E. Brouwer, Bounds on the minimum distance 20 of linear codes , http://www.win.tue.nl/Naeb/voorlincod.html). Dans un mode préféré de réalisation, le code correcteur d'erreurs est composé d'un code de Reed-Solomon dont la sortie est encodée par un code convolutif de rendement un-demi dont la sortie est encodée par un code linéaire de petite taille ayant pour dimension le degré d'extension de corps dudit code de 25 Reed-Solomon. Ainsi, par rapport au mode de réalisation précédent, un code convolutif est inséré entre le code de Reed-Solomon et le code linéaire. Dans un code convolutif, le codage d'un bloc de k éléments en entrée du codeur dépend des m blocs précédents. Cette famille de codes fait appel à un 30 effet de mémoire d'ordre m, la quantité m+1 s'appelant la longueur de contrainte k du code. Si n est la taille du bloc en sortie du codeur, son rendement R est classiquement défini comme étant égal à k . La figure 5 présente l'exemple d'un code convolutif de rendement R = 2 et de longueur de contrainte 3. Ce codeur accepte sur son entrée 50 des blocs de k=1 bit et génère sur sa sortie 51 des blocs de n=2 bits généré par Ck . et cl k' Chacune des sorties du codeur est égale au produit de la convolution entre la suite binaire présente à l'entrée du codeur et la réponse de ce même codeur définie par ses séquences génératrices. Dans l'exemple de la figure 5, ces séquences génératrices sont données par l'expression e1 E {o,1},g; = [g;o,gll,gi2] 2 avec d; E = dkj et g,1 E {0,1} j=0 avec go = [1,1,1] et g1 = [1,0,1] En général, un code convolutif est défini par les polynômes générateurs qui s'expriment en fonction de la variable de retard usuel D. Dans l'exemple de la figure 5, les polynômes générateurs ont pour forme Go =1+D+D2 et G1 =1+D2 Il est à noter que le décodage d'un code convolutif est généralement effectué en utilisant l'algorithme de Viterbi. Ainsli, le décodeur associé au codeur décrit ci-dessus comporte un décodage exhaustif à entrée et sortie souple et au maximum de vraisemblance du code linéaire de petite taille, suivi d'un décodage de Viterbi à entrée souple et sortie dure, suivi d'un décodage algébrique du code de Reed-Solomon. La figure 6 représente un mode de réalisation de l'émetteur. Sur l'entrée 60, les bits d'information sont regroupés par blocs de t bit formant ainsi un symbole. Ce symbole correspond à un mot de code particulier. Les bits d'information activent l'entrée d'une table d'adressage 61 qui correspond au symbole formé par ~ bits. La sortie de cette table d'adressage 61 est une succession de IN bits formant le mot de code correspondant au symbole à émettre. Ces IN bits sont stockés dans un convertisseur parallèle-série 62 qui 30 transmet à un élément 63 de déphasage de la porteuse un bit à chaque période d'horloge Tc. 9 Ce signal est déphasé une nouvelle fois en 64 par la multiplication avec la séquence d'étalement 65, puis est émis sur le canal de transmission 66. L'horloge de synchronisation 67 génère un premier signal d'horloge à la période Tc pour synchroniser la sortie du convertisseur parallèle-série 62 et l'aval de la chaîne et un second signal d'horloge à la période TS = IN Tc pour synchroniser la table d'adressage 61 et l'entrée du convertisseur parallèle-série 62. A la réception, figure 7, un décorrélateur 70 élimine le déphasage dû à la séquence d'étalement et génère un flux de valeurs ri . Pour chaque valeur ri est calculé en 71, 72 la distance euclidienne de cette valeur avec les valeurs -1, +1 du bit, soit (ri +1)2 et (ri -1)2. 21 accumulateurs 73 sont disposés en parallèle, chaque accumulateur correspondant à une valeur possible du symbole de longueur I . Chaque accumulateur 73 reçoit une des deux valeurs (ri +1)2 ou (ri -1)2 en fonction de la valeur du bit correspondant de son symbole, et additionne cette valeur avec celles reçues précédemment. Une fois le calcul des 2/ distances effectué, l'organe de décision 74 détermine le symbole d.(t)qui fut probablement émis en déterminant quel est l'accumulateur qui a la plus petite valeur, cette valeur étant le carré de la distance euclidienne entre le symbole reçu et l'un des symboles pouvant être émis. Le décodeur décrit fonctionne au rythme d'arrivée des valeurs c'est-à-dire au débit chips. Le maintien de la synchronisation à la réception est réalisé par l'envoi d'un signal de synchronisation en quadrature par rapport au mot de code envoyé. Cela permet avantageusement de limiter le nombre d'accumulateurs alors que la solution classique utilise deux accumulateurs déphasés pour la correction, ce qui amènerait dans le décodeur décrit à doubler les accumulateurs 73 et donc à passer, par exemple, de 64 à 128 accumulateurs. Le signal de synchronisation est constant et égal à 1 et est modulé par le même code d'étalement que le mot de code à émettre. Etant décalé de 90 par rapport au signal portant les données, il n'y a aucune interférence entre les deux signaux. De plus, en considérant le signal de synchronisation comme la répétition 10 d'un 1 avec un facteur d'étalement IN, sa durée de vie par rapport à celle des bits d'information du mot de code est 1 fois plus grande. Et comme son taux d'erreurs résiduelles peut être nettement plus élevé puisqu'il n'est utilisé que pour la synchronisation, ce signal de synchronisation est avantageusement émis avec une puissance bien plus faible, par exemple au dixième, que celle du signal de données. On a décrit ainsi un procédé de transmission par étalement de spectre à séquence directe qui permet d'améliorer le nombre d'utilisateurs à débit et taux d'erreurs constants. Des simulations montrent que pour un taux d'erreur binaire résiduel de un système utilisant le procédé selon l'invention permet l'instauration d'un maximum de 31 communications simultanées alors qu'un système classique est limité à 7 communications simultanées. REVENDICATIONS 1. Procédé d'étalement de spectre à séquence directe d'un flux de données composé d'une suite de symboles, ledit procédé comportant les étapes de : - codage (36) de canal des symboles par un code correcteur d'erreurs, et -étalement de spectre (38) par multiplication des symboles encodés par un code d'étalement (PN) de longueur prédéterminée, ledit code d'étalement étant émis à un débit prédéterminé, dit débit chips, le procédé étant caractérisé en ce que le facteur d'étalement est égal à la longueur du code correcteur d'erreurs divisée par la dimension de ce code correcteur d'erreurs et le débit en sortie de codage de canal est égal au débit de l'étalement de spectre. 2. Procédé selon la revendication 1, caractérisé en ce que l'étape de 15 codage de canal comporte les sous étapes de : - codage par un code de Reed-Solomon, puis - codage convolutif de rendement un-demi, puis - codage linéaire de petite taille ayant pour dimension le degré d'extension de corps dudit code de Reed-Solomon. 20 3. Procédé selon la revendication 2, caractérisé en ce qu'il comporte en outre une étape de décodage du canal et de desétalement de spectre comportant les sous étapes de : - décodage exhaustif et au maximum de vraisemblance du code linéaire de petite taille, puis 25 - décodage de Viterbi, puis - décodage algébrique du code de Reed-Solomon. 4. Procédé selon la revendication 3, caractérisé en ce que l'étape de décodage est effectuée par des accumulateurs, au nombre de deux à la puissance la dimension du code linéaire de petite taille, mis en parallèle de façon 30 à ce que le décodage soit effectué au débit chips. 5. Procédé selon l'une quelconque des revendications précédente, caractérisé en ce qu'un signal de synchronisation, émis en quadrature du code d'étalement, est formé par le code d'étalement.12 6. Dispositif d'émission par étalement de spectre à séquence directe d'un flux de données composé d'une suite de symboles, ledit dispositif comportant : - un codeur de canal (31) des symboles par un code correcteur 5 d'erreurs, connectés à - un rnultiplieur (32) des symboles encodés par un code d'étalement (PN) de longueur prédéterminée, ledit code d'étalement étant émis à un débit prédéterminé, caractérisé en ce que le facteur d'étalement du code d'étalement est 10 égal à la longueur du code correcteur d'erreurs divisée par la dimension de ce code correcteur d'erreurs et le débit en sortie du codeur de canal est égal au débit du multiplieur. 7. Dispositif d'émission selon la revendication 6, caractérisé en ce que le code correcteur d'erreur est composé d'un code de Reed-Solomon dont la 15 sortie est encodée par un code convolutif de rendement un-demi dont la sortie est encodée par un code linéaire de petite taille ayant pour dimension le degré d'extension de corps dudit code de Reed-Solomon. 8. Dispositif d'émission selon la revendication 7, caractérisé en ce qu'il comporte une table (61) apte à recevoir sur son entrée d'adressage un symbole 20 et dont l'espace d'adressage est égal à la longueur du symbole et à émettre en sortie un mot de code correspondant au symbole à émettre, la sortie de la table étant connectée à - un convertisseur parallèle/série (62) dont la sortie est connectée à l'entrée du multiplieur et fonctionne au même débit que celui du code 25 d'étalement. 9. Dispositif de réception d'un signal codé par un dispositif d'émission selon l'une des revendications 6 à 8, caractérisé en ce qu'il comporte un décodeur de canal comportant : - un décodeur exhaustif et au maximum de vraisemblance du code 30 linéaire de petite taille, dont la sortie est connectée à - un décodeur de Viterbi, dont la sortie est connectée à - un décodeur algébrique du code de Reed-Solomon. 10. Dispositif de réception selon la revendication 9, caractérisé en ce que le décodeur de canal comporte des accumulateurs (73), au nombre de deux13 à la puissance la dimension du code linéaire de petite taille, mis en parallèle de façon à ce que le décodage soit effectué au débit chips.