FR 2934696 A1 20100205 FR 0855329 A 20080801 DOMAINE TECHNIQUE GENERAL L'invention concerne le domaine des communications numériques et en particulier celui des communications multi-utilisateurs notamment celles à accès multiples par répartition de codes (en anglais, � Code Division Multiple Access �, (CDMA)). Et l'invention concerne en particulier un procédé de génération de codes pour des communications numériques et un système de communications mettant en oeuvre un tel procédé. ETAT DE LA TECHNIQUE Dans une communication numérique multi-utilisateurs, on emploi classiquement des familles de signaux, ou séquences de codes, chaque utilisateur étant identifié par son code. Par exemple, en communications CDMA, on peut utiliser des séquences de Walsh. De telles séquences de codes sont constituées d'un nombre entier de sous-intervalles de temps, appelés � chips � au cours de chacun desquels le symbole garde une valeur constante. Le nombre de chips, constituant la durée d'un signal, est connu sous le nom de facteur d'étalement en communications CDMA. De même, pour une modulation multi-dimensionnelle, la base de signalisation peut être formée de signaux orthogonaux ; les données sont alors codées par des points qui appartiennent à une constellation de l'espace engendré par cette base de signaux. Certaines propriétés, telles qu'une moyenne nulle ou l'orthogonalité entre codes, sont parfois souhaitables. Pour des codes possédants ces propriétés temporelles, il n'est pas évident a priori d'obtenir des spectres correspondants dont les allures sont proches. Pour des communications multi-utilisateurs, il peut en résulter la nécessité d'utiliser un code supplémentaire plus long que la durée des symboles, connu sous le nom de code de � scrambling �. Un tel code est notamment utilisé dans la norme UMTS (en anglais, � Universel Mobile Telecommunications System �). Outre le fait qu'il permet d'éviter les variations spectrales du signal, il permet également de séparer les stations de base dans un réseau radiomobile. Un problème est que la séquence de � scrambling � est un code très long, rendant complexe la synchronisation. PRESENTATION DE L'INVENTION L'invention permet de générer des séquences de codes constituées d'une séquence de chips qui peuvent, au besoin, être construites en vue de satisfaire des propriétés de moyenne nulle ou d'orthogonalité et qui de plus possèdent l'avantage d'avoir des allures spectrales relativement homogènes d'une séquence à l'autre. A cet effet, selon un premier aspect, l'invention concerne un procédé de génération de séquences de codes pour des communications numériques. Le procédé de l'invention comprend : une initialisation d'une famille de séquences orthogonales ; une détermination d'un opérateur de transformation orthogonale conditionné par l'énergie de chacune des séquences recherchées séquence dans chaque bande de fréquences d'un ensemble d'au moins une bande de fréquences fixée ; une application de l'opérateur ainsi déterminé à la famille initiale générant une famille de séquences, les spectres de chacune des séquences ainsi générées étant sensiblement identiques dans chacune des bandes de fréquences fixées. Le procédé de l'invention permet de générer des séquences construites par recombinaison orthogonale d'un ensemble de séquences initiales et permet d'améliorer le comportement spectral des éléments des séquences générées, en particulier du point de vue de l'homogénéité des spectres dans une bande passante donnée, ou de sécurisation de la communication. C'est à partir d'une famille quelconque de vecteurs constituant la famille orthogonale d'initialisation pour la construction de la séquence et en appliquant l'opérateur de recombinaison orthogonale que l'on obtient ces séquences puisque la transformation orthogonale appliquée à droite à la matrice dont les colonnes sont les séquences orthogonales initiales fournit encore une matrice dont les colonnes représentent des séquences orthogonales. La famille initiale est par exemple constituée de séquences de chips (à valeurs non nécessairement entières). De plus le procédé de l'invention transforme la famille en gardant les éventuelles propriétés de moyenne nulle et d'orthogonalité de la séquence initiale. Le procédé de l'invention met en oeuvre une matrice orthogonale dont le choix initial avec celui de la famille initiale déterminent la forme des séquences obtenues à la convergence. En changeant ces valeurs initiales, on change la séquence finale. Avec le procédé de l'invention, on peut par conséquent construire autant de familles de codes distinctes qu'on le souhaite. Cette propriété peut être utilisée par exemple pour séparer des stations de base par l'emploi de familles de code distinctes ou pour réaliser des transmissions sécurisées par l'emploi de nouvelles séquences connues des seuls utilisateurs de la transmission. D'autres aspects du procédé de l'invention sont les suivants : - la détermination de l'opérateur de transformation orthogonale est conditionné par un ensemble de matrices de test représentatives de l'énergie de chaque séquence dans chacune des bandes de fréquences fixées ; - la détermination de l'opérateur de transformation orthogonale comprend les étapes suivantes : a) initialisation de l'opérateur de transformation orthogonale tel qu'il soit égal à une matrice unitaire ; initialisation d'un ensemble de matrices de test fonction d'au moins la famille initiale, la matrice unitaire et les bandes de fréquences ; b) succession de changements de base orthogonale chacune décrite par une matrice de rotation que l'on applique d'une part sur l'opérateur de transformation orthogonale et d'autre part sur les matrices de test ; c) répétition de l'étape c) jusqu'à ce que les matrices de test n'évoluent plus de manière à obtenir l'opérateur de transformation orthogonale à appliquer à la famille de séquences initiale. - la famille est composés de séquences représentant des signaux à valeurs constantes sur la durée d'un chip ; - les séquences sont des séquences de Walsh à valeurs ; - le support spectral est défini sur au moins un intervalle de fréquence ; les intervalles de fréquences sont de tailles différentes ; les intervalles de fréquences sont disjoints. Et selon un second aspect, l'invention concerne un système de communications comprenant des moyens pour la mise en oeuvre d'un procédé selon le premier aspect de l'invention. PRESENTATION DES FIGURES D'autres caractéristiques et avantages de l'invention ressortiront encore de la description qui suit laquelle est purement illustrative et non limitative et doit être lue en regard des dessins annexés sur lesquels : - la figure 1 illustre une séquence de code sur une durée de trois chips ; - la figure 2 illustre les étapes du procédé de l'invention ; - la figure 3 illustre les sous-étapes qui correspondent à une étape de la figure 2 ; - les figures 4 et 5 illustrent des résultats de génération de séquence par le procédé de l'invention. DESCRIPTION D'UN MODE DE REALISATION On décrit ci-dessous une mode de réalisation dans le cas d'un système CDMA. Description du procédé On a représenté sur la figure 1 une séquence sur une durée de quatre chips. La séquence est à valeur constante sur la durée d'un chip Tc. Dans le cas particulier d'une séquence de Walsh celle-ci est à valeur dans l'ensemble {-1 ;+1} sur la durée d'un chip. Pour générer un ensemble de séquences de codes W le spectre de chacune étant sensiblement identique dans une bande passante d'intérêt B on met en oeuvre les étapes qui vont être décrites ci-après. Notons qu'un tel procédé peut être mis en oeuvre dans des moyens de calcul (un ordinateur par exemple) implémentés dans une station de 15 base d'un réseau de communications CDMA tel que connu. Etape SO : au cours de cette étape, on initialise SO une matrice V dont les colonnes sont des séquences de codes à valeurs constantes sur la durée d'un chip de longueur L. A partir de bandes de 20 fréquences Bk =[(ùkù1)F, (ùk+1)F]u[(kù1)F, (k +1)F], dont la réunion représente la bande B = u i Bk d'intérêt, on détermine les matrices (Sk )k=o,...,K-1 définissant des produits scalaires. La norme d'une séquence pour un produit scalaire Sk est égale à la proportion d'énergie de cette séquence dans la bande Bk. 25 Mathématiquement, on considère les matrices Sk de terme général sin (27cF(a ù b)) sin (27cF(a ù b )) SO,ab = 7c(a _ b) et Sk,ab = 7c(a ù b) x 2 cos(2~c(a ù b)kF) pour k=1, ..., K-1 où a et b représentent respectivement le numéro de la ligne et de la colonne de la matrice. Pour une famille de séquences de N chips, échantillonnées avec L échantillons par chip, les matrices Sk sont de taille NLxNL et on pourra prendre F=1/(2L) ce qui correspond à une bande Bo=[-F, F] égale à la bande de Nyquist d'une séquence binaire au rythme chip (voir M. Joindot et A. Glavieux, � Introduction aux communications numériques �, Dunod, 2007). Etape S1 : suite à l'initialisation SO au cours d'une étape S1 on calcule un opérateur de transformation orthogonale U construit afin d'assurer conjointement de façon approchée l'égalité des termes diagonaux d'un ensemble de matrice de test Mk, k=0, ..., K-1 fonctions de U, les valeurs diagonales de la matrice Mk étant égales à l'énergie de chacune des séquences finales dans la bande de fréquences Bk correspondante. Le but de cette étape est d'obtenir un opérateur U de transformation orthogonale en mettant en oeuvre une série d'itérations au cours desquelles on � met à jour � les matrices de test Mk permettant de valider (et contrôler) le calcul de l'opérateur de transformation orthogonale U jusqu'à obtenir le résultat désiré. Etape S2: enfin une fois l'opérateur U de transformation orthogonale obtenu on l'applique à la famille de séquences V initialisée SO. On obtient ainsi une famille de séquences représentées par les colonnes de la matrice W :=VU, les spectres de chacune des séquences obtenues étant sensiblement identiques d'une séquence à l'autre dans la bande de fréquences B. De manière plus détaillée l'étape S1 se décompose en sous-étapes. On a représenté sur la figure 3 un schéma des sous-étapes S10, S10', S11 de l'étape S1. Etape S10 : au cours de cette étape, on initialise l'opérateur de transformation orthogonale U tel que UTU=I et UNI. En d'autres termes U est initialisé par une matrice unitaire distincte de l'identité Uo. Etape S10' : une autre initialisation S10' est également mise en oeuvre. Il s'agit de celle des matrices Mk de test fonctions d'au moins la famille initialisée V, la matrice unitaire Uo et des bandes de fréquences Bk et ont pour expression Mk=UT(VTSkV)U, k=O, ..., K-1. Chaque matrice Mk est représentative de l'énergie de chaque séquence dans chaque bande de fréquences fixée Bk. Etape S11 : une fois les différents paramètres initialisés, on procède à une succession S11 de changements de base orthogonal chacune décrite par une matrice de rotation R(8) que l'on applique d'une part sur l'opérateur de transformation orthogonal U et d'autre part sur la matrice de test M. Mathématiquement, cette étape consiste en la succession des opérations suivantes. On calcule un angle de rotation 0 permettant d'obtenir l'opérateur de rotation, cet angle est donné par / Ck(Mk,ab +Mk,ba)(Mk,aa ù Mk,bb) 2 k=0 K-1 Ck (NI l l k,ab +Mk,ba)2 ù (Mk,aa ùMk,bb)2 k=O {Ck}k=o, ..., K-1 sont des coefficients de pondération ; la valeur du coefficient ck est liée à l'importance accordée pour l'homogénéité spectrale visée à la sous-bande Bk. Suite au calcul de l'angle de rotation 0 on applique sur les matrices Mk la rotation de la manière suivante Mk=R(a'b)(0)Mke'b)(-0). Comme on l'aura compris une fois la rotation opérée on met à jour les matrices Mk. Il est également à noter que les différents angles de rotations précités sont calculés sur les termes diagonaux des matrices Mk. En effet, comme déjà mentionné on cherche avec le procédé à rendre conjointement identiques, de façon approchée les termes diagonaux de chacune des matrices Mk. De la même manière que sur les matrices Mk on applique une rotation sur la matrice U de la manière suivante U=UR(a'b)( -0). 0 = 1 arctan 4 où les coefficients Etape S12 : on répète S12 ensuite l'étape S11 ci-dessus décrite tant que les coefficients des matrices Mk continuent à évoluer. Plus précisément on répète l'étape S11 tant que le critère suivant K-1 est satisfait Mk ûMk >_ & , où 11.11 représente une norme matricielle et k=0 Mk la matrice Mk à l'itération précédente de l'algorithme etc est un petit coefficient tel que 0 On peut résumer le procédé ci-dessus décrit comme suit : INITIALISATION : CHOISIR U, AVEC U'U= 2 ET Mk=U'(V'SkV)U, Mk=O (k=0, ..., K-1) K-1 TANT QUE Mk ùMk & k=O o POUR k=O à K-1 0 Mk =Mk ^ FIN BOUCLE POUR o BOUCLES a=1-*L, b=a+1-*L ( K-1 E Ck (M k,ab + M k,ba )(M k,aa ù M k,bb ^ 8= 4 arctan 2 K lk-0 LCk (M k,ab + Mk,ba )2 2 ù (Mk,aa ùMk b b/ k=O ^ POUR K=0 A K-1 • Mk=R(a'b) (e) MkR(a'b) (- e) ^ FIN BOUCLE POUR ^ U=UR(a,b) ( -e) 20 25 0 FIN BOUCLE TANT QUE FIN TANT QUE W:=vu Les termes diagonaux rendus identiques, on a alors l'opérateur de transformation orthogonale qui permet d'obtenir la famille de séquences W recherchée. L'égalité des termes diagonaux de Mk signifie l'égalité des normes des séquences de W vis-à-vis du produit scalaire défini par la matrice Sk, c'est-à-dire qu'ils représentent la part d'énergie de ces séquences dans la bande de fréquences Bk. Ces égalités, pour k=0, ..., K-1, sont obtenues conjointement de manière approchée par la transformation U fournie par l'algorithme. L'application du procédé pour différentes initialisations fournit des séquences qui ont toutes sensiblement la même énergie pour chacune des bandes Bk. En testant diverses initialisations aléatoirement, on peut facilement obtenir des familles de séquences dont on observe la bonne homogénéité spectrale dans chacune des bandes de fréquences Bk. Bien entendu, il est possible de généraliser cette technique à des signaux complexes, auquel cas il faut considérer des bandes de fréquences non symétriques. De manière générale, pour une bande B=[F1, F2], il suffira de choisir la matrice S correspondante telle que _ Sin (7c(F2 ù Fl �(a ù b) ehr(F1+F2)(a-b) Sa,b ù 7c(a ù b ) Ainsi, on peut généraliser de façon immédiate le procédé ci-dessus décrit pour l'homogénéisation spectrale, conjointement sur un ensemble de bandes de fréquences non nécessairement contigües, d'une base de signaux quelconques, à valeurs réelles ou complexes et non nécessairement constantes sur des sous intervalles de temps. Exemples de résultats obtenus avec le procédé décrit. On a représenté sur les figures 4 et 5 des résultats obtenus par le 30 procédé précédemment décrit. 9 On a illustré sur les figures 4 et 5 la génération de séquences W à partir de séquence de Walsh de longueur égale à huit chips. Les coefficients Ck sont choisis de la forme ck=K-k avec k=0, ..., K-1 Sur ces figures, la première colonne représente des séquences V de Walsh, la deuxième colonne illustre le spectre dans le domaine de Fourier des séquences V avec le spectre d'une séquence binaire aléatoire au rythme chip tracé comme référence, la troisième colonne représente les séquences W obtenues à l'issue du procédé et enfin la quatrième colonne représente le spectre dans le domaine de Fourier des séquences W avec la même référence. Dans les deux cas illustrés on obtient des séquences générées orthogonales. De plus, les séquences générées de la figure 5 sont de moyenne nulle. On constate dans les deux cas une homogénéité des spectres dans l'ensemble des sous-bandes {Bk}k=o,..., K-1 11 REVENDICATIONS, 1. Procédé de génération de séquences de codes pour des communications numériques, chaque séquence identifiant un utilisateur dans un système à accès multiples par répartition de codes, multi- utilisateurs, le procédé comprenant : - une initialisation (SO) d'une famille de séquences orthogonales (V) ; - une détermination (Si) d'un opérateur de transformation orthogonale (U) conditionné par l'énergie de chacune des séquences recherchées dans chaque bande de fréquences ({Bk}k=0,..., K-1) d'un ensemble d'au moins une bande de fréquences fixée ; - une application (S2) de l'opérateur (U) ainsi déterminé à la famille initiale (V) générant une famille de séquences (W), les spectres de chacune des séquences (W) ainsi générées étant sensiblement identiques dans chacune des bandes de fréquences ({Bk}k=o,..., K-1) fixées. 2. Procédé selon la revendication 1, caractérisé en ce que la détermination (SI) de l'opérateur de transformation orthogonale (U) est conditionné par un ensemble de matrices ({Mk}k=0, K-1) de test représentatives de l'énergie de chaque séquence dans chacune des bandes de fréquences ({Bk}k=o,..., K-1) fixées. 3. Procédé selon l'une des revendications précédentes, caractérisé en ce que la détermination (SI) de l'opérateur de transformation orthogonale (U) comprend les étapes suivantes : a) initialisation (S10) de l'opérateur de transformation orthogonale (U) tel qu'il soit égal à une matrice unitaire (Uo) ; 12 2934696 b) initialisation (S10') d'un ensemble de matrices ({Mk}k=o, ., K-1) de test fonction d'au moins la famille initiale (V), la matrice unitaire (Uo) et les bandes de fréquences ({Bk}k=o,..., K-1) ; c) succession (S11) de changements de base 5 orthogonale chacune décrite par une matrice de rotation (R(A)) que l'on applique d'une part sur l'opérateur de transformation orthogonale (U) et d'autre part sur les matrices de test ({Mk}k=o, _.., K-1) ; d) répétition (S12) de l'étape c) jusqu'à ce que les matrices de test ({Mk}k=o, K_1) n'évoluent plus de manière à obtenir 10 l'opérateur de transformation orthogonale (U) à appliquer à la famille de séquences initiale (V). 4. Procédé selon l'une des revendications précédentes, caractérisé en ce que la famille (V) est composés de séquences représentant des 15 signaux à valeurs constantes sur la durée d'un chip. 5. Procédé selon la revendication précédente, caractérisé en ce que les séquences sont des séquences de Walsh à valeurs dans {-1 ; +1}. 20 6. Procédé selon l'une des revendications précédentes, caractérisé en ce que le support spectral (B) est défini sur au moins un intervalle de fréquence. 7. Procédé selon la revendication précédente, caractérisé en ce 25 que les intervalles de fréquences sont de tailles différentes. 8. Procédé selon l'une des revendications précédentes, caractérisé en ce que les intervalles de fréquences sont disjoints. 13 2934696 9. Système de communications à accès multiples par répartition de codes, caractérisé en ce qu'il comprend des moyens pour mettre en oeuvre un procédé selon l'une des revendications précédentes.