Brevet FR2819659A1 — publié le 20020719

La présente invention concerne une méthode et un dispositif de détection multiutilisateur. Plus particulièrement, la présente invention concerne une méthode et un dispositif de détection multi-utilisateur pour un système de télécommunication DSCDMA ou MC-CDMA. Dans un système de télécommunication mobile DS-CDMA (Direct Sequence Code Division Multiple Access), la séparation des communications en provenance ou à destination des différents utilisateurs est réalisée en multipliant chaque symbole complexe d'un utilisateur par une séquence d'étalement qui est propre à ce dernier, encore appelée pour cette raison signature de l'utilisateur. La fréquence d'étalement (chip rate) étant supérieure à la fréquence des symboles, le signal transmis par chaque utilisateur est distribué (ou étalé) dans l'espace des fréquences. Le rapport entre la bande occupée par le signal étalé et la bande occupée par le signal d'information est appelé facteur d'étalement. A la réception, la séparation d'un utilisateur donné est obtenue grâce à un filtrage adapté à la signature correspondante. Lorsque le canal de transmission présente une pluralité de trajets de propagation, la sortie du filtrage adapté comporte autant de pics de corrélation. Chaque trajet du canal peut être modélisé par un coefficient multiplicatif complexe et un retard. Les signaux s'étant propagés selon les différents trajets peuvent être alignés et combinés au moyen de coefficients complexes conjugués des coefficients de trajet, réalisant ainsi un filtrage adapté au canal de transmission. Pour simplifier la terminologie nous engloberons dans l'expression générale filtrage adapté à l'utilisateur k à la fois l'opération de filtrage adapté à la signature de l'utilisateur k et celle de filtrage adapté au canal de transmission. Pour combattre l'interférence entre signaux à destination (liaison descendante) ou en provenance (liaison montante) des différents utilisateurs, il a été proposé des méthodes de détection multi-utilisateur et notamment des méthodes de détection itératives telles que celles connues sous le nom de PIC (Parallel Interference Cancellation) et SIC (Serial Interference Cancellation). Elles sont fondées sur l'itération d'un cycle d'élimination des interférences comportant l'estimation des symboles émis, l'évaluation des interférences et leur soustraction des signaux reçus. Bien que performantes, ces méthodes ne sont pas optimales dans la mesure où elles ne fournissent pas une estimation au sens du maximum de vraisemblance des symboles transmis par les différents utilisateurs. Une méthode de détection multi-utilisateur à maximum de vraisemblance inspirée de l'algorithme de Viterbi a été proposée par S. Verdu dans un article intitulé Minimum probability of error for asynchronous Gaussian multiple access channels publié dans IEEE Transactions on Information Theory, pages 85-96, Janvier 1986 mais sa complexité est prohibitive car elle varie de manière exponentielle avec le nombre d'utilisateurs. Plus récemment il a été proposé par L. Brunel et al., dans un article intitulé Euclidian space lattice decoding for joint détection in CDMA system publié dans Proceedings of ITW, page 129, Juin 1999, une méthode de détection multi-utilisateur à maximum de vraisemblance utilisant une représentation par réseau de points. Selon cette méthode on détermine un vecteur caractéristique du signal reçu représentant une statistique suffisante pour la détection au maximum de vraisemblance des symboles transmis par les différents utilisateurs. On montre sous certaines conditions que le vecteur caractéristique peut être représenté comme le point d'un réseau perturbé par un bruit. La détection consiste alors à rechercher le point du réseau le plus proche du point correspondant au vecteur reçu. Cependant, la dimension du réseau à utiliser étant en général de 2.K où K est le nombre d'utilisateurs le nombre de points à tester est élevé. Pour simplifier la détection, il a été proposé de limiter la recherche du plus proche voisin aux points du réseau appartenant à une sphère centrée autour du point reçu. Nous exposerons ci-après cette méthode de détection simplifiée dite méthode de détection par sphères : Nous nous plaçons dans le contexte d'un système de télécommunication mobile à accès multiple avec étalement de spectre par séquences directes (DS-CDMA) comprenant K utilisateurs communiquant de manière synchrone avec une station de base. Soit dk(i) le symbole complexe émis par l'utilisateur k à l'instant i . Ce symbole appartient à la constellation de modulation Ak utilisée par l'utilisateur le, que l'on appellera encore alphabet de symboles de l'utilisateur k Chaque utilisateur k transmet un bloc de N symboles avec une amplitude du signal ak. Les symboles sont étalés par une signature complexe Sk (t) = skR(t) + j.sk (t) de durée égale à la période symbole T : Les K symboles complexes dk(i)=dk (i)+ j.dk(i) transmis à l'instant i sont placés dans un vecteur ligne de valeurs réelles d2(i) défini comme : Le signal modulé correspondant est alors, en fonction du temps t : Nous supposons que le canal est un canal idéal à bruit blanc additif gaussien. Soit n=St+7 le signal reçu au temps 1 et tj, un bruit gaussien complexe de moyenne nulle et dont les composantes ont une variance No . Soit le vecteur ligne yz(iy; (y; (..7y(y()) tel que yx(i)=y(y+ j.y,(i) soit la sortie complexe à l'instant i du filtre adapté à l'utilisateur k : La matrice R d'autocorrélation des séquences d'étalement dépend en général de l'indice i car les signatures des différents utilisateurs peuvent changer au cours du temps. Cependant, pour des raisons de simplification de notation, nous omettrons cet indice par la suite. Si l'on décompose les éléments complexes de (3) en leurs parties réelles et imaginaires, on obtient : Soient A2=Diag(ai,ai,....aa/c) et R2 la matrice de taille 2K x 2K telle que : L'équation (4) peut alors se mettre sous forme matricielle : où M2 est une matrice réelle de taille 2K x 2K définie par Mz=AzRz et où le vecteur de bruit nz(i(n; (1),Yh(1),...,Y1K(I,Yix(1)) a pour matrice de covariance NOR2 - Nous démontrerons ci-après que y2(i), tel que donné par l'équation (6), peut être représenté comme un point d'un réseau A2 de dimension 2.K, de matrice génératrice M2 corrompu par un bruit n2. Nous appellerons réseau réel de points A de dimension # tout ensemble de vecteurs de R# vérifiant : x=ìvi+&V2 +...+bcYic où bEZ,"ï/i=l,...,K et où v,v2,...,vx est une base sur R" . Un exemple de réseau de points de dimension 2 a été représenté en Fig. 1. Les points du réseau forment un sous-groupe abélien additif de R#, c'est d'ailleurs le plus petit sous-groupe de RK contenant les vecteurs {VI,V2,..., VK} et un Zmodule de R* . Ces vecteurs de base forment les lignes de la matrice génératrice G du réseau. On peut donc écrire x = bG où b=(b,...,lk }=ZK . (7) La région délimitée par les vecteurs de base est appelée parallélotope fondamental et son volume, noté vol(A) ou det(A), est nommé volume fondamental. Ce volume fondamental n'est autre que le module du produit vectoriel des K vecteurs de base et est donc égal à #det(G)# où det (.) le déterminant. S'il existe plusieurs choix possibles pour la matrice génératrice d'un même réseau, il n'existe par contre qu'une unique valeur pour le volume fondamental. La région de Voronoï V ou cellule de Dirichlet d'un point x appartenant au réseau est l'ensemble des points de R# plus proches de x que de tout autre point du réseau. Le volume de cette région est égal au volume fondamental. Le rayon d'empilement p du réseau est le rayon de la plus grande sphère inscrite dans la région de Voronoï et le rayon de recouvrement celui de la plus petite sphère circonscrite à cette même région. Le rayon d'empilement est donc le rayon des sphères dont l'empilement constitue le réseau de points et le rayon de recouvrement est celui des sphères les plus petites qui, centrées sur les points du réseau, permettent de recouvrir tout l'espace R#. La densité du réseau est le rapport entre le volume de la sphère de rayon p et le volume fondamental. Enfin, le coefficient d'erreur (kissing number) #(#) du réseau est le nombre de sphères tangentes à une même sphère dans l'empilement ou, en d'autres termes, le nombre de voisins d'un point du réseau, situés à la distance minimale dFmm = 2#. Considérons à nouveau l'équation (6). Les composantes du vecteur d2(i) appartiennent à un alphabet fini A de cardinal : Nous appellerons A la constellation du système (ou simplement constellation) par opposition aux Ak dites constellations de modulation. Supposons par exemple que les composantes df(i) et dkl(i) soient des symboles de modulation PAM d'ordre M : Si l'on effectue la transformation : df(i)=1-(dfV}t-M-1) et dk(i2(dk(i}±M-l soit encore de manière vectorielle : les composantes df() et dl (i) sont des éléments de Z et par suite d'2(/) est un vecteur de Z2K. De manière générale, s'il existe une transformation affine transformant les composantes dk i et dI(i) en des éléments de Z, on peut représenter le vecteur d'2V) par un vecteur de Z2K. De manière similaire, on effectue la transformation correspondante sur Y2(i), Moyennant cette transformation, que nous supposerons implicite dans la suite, le vecteur d2(i)M2 appartient alors à un réseau de points A2 de dimension 2.K tel que défini par la relation (7) avec G=M2. Le vecteur y2(i) peut donc être considéré comme un point du réseau A2 corrompu par un bruit n2(i). Si l'on suppose que les composantes du vecteur de bruit n2(i) sont des variables aléatoires indépendantes gaussiennes centrées, le problème de la détection au sens du maximum de vraisemblance des symboles émis par les différents utilisateurs se ramène à la recherche du point Z2 du réseau A2 tel que sa distance à Y2(i) soit minimale. En réalité, les composantes du vecteur de bruit n2(i) sont corrélées et la matrice de covariance de n2(i) est N0R2. Afin de se ramener au cas décorrélé il faut effectuer préalablement au décodage une opération de blanchiment du bruit. La matrice R étant hermitienne, la matrice d'autocorrélation R2 est symétrique définie positive et peut donc faire l'objet d'une factorisation de Cholesky : où W2 est une matrice triangulaire inférieure de taille 2Kx2K. On définit un vecteur d'observation blanchie : Y2(i)=y2(i)wr1 {14) ainsi qu'un nouveau réseau de points #2 constitué des vecteurs de composantes "- - " 5KR(il5KI (i avec x21X2IW2 -' où X2(i) est un vecteur de composantes (xf(i),x{V..,.xf(i),x"k(i)) appartenant à A2. Le réseau S22 a pour matrice génératrice A2W2, matrice réelle triangulaire inférieure. On peut facilement montrer, qu'après blanchiment, la matrice de covariance du bruit filtré D2(i)wr1 est égale à NoI où 12K est la matrice identité de dimension 2K. La détection comprend donc une première étape de blanchiment du vecteur d'observation suivie d'une étape de recherche du plus proche voisin au sein du réseau de points #2. Pour réduire le nombre de points à tester, comme illustré en Fig. 1, on peut limiter la recherche à une sphère centrée autour du point #2. En pratique, le choix du rayon de la sphère résulte d'un compromis : il ne doit pas être trop grand pour ne pas conduire à un nombre de points trop élevé et suffisamment grand pour inclure au moins le plus proche voisin. La Fig. 2 représente schématiquement un dispositif de détection multi-utilisateur utilisant une méthode de détection par sphères. Le signal reçu n est filtré par une batterie de filtres adaptés à chacun des utilisateurs, 210,,...,210K. Les composantes réelles et imaginaires du vecteur d'observation y2(/) en sortie des filtres adaptés sont transmises à une unité de calcul matriciel effectuant l'opération de blanchiment spectral selon la relation (14). Les composantes réelles et imaginaires du vecteur blanchi #2(i) sont ensuite transmises à une unité de détection par sphères recherchant le plus proche voisin du point reçu au sein du réseau #2 de dimension 2.K. Les coordonnées du plus proche voisin donnent directement les composantes réelles et imaginaires des symboles estimés dk(i) pour les différents utilisateurs. L'étape de la recherche du plus proche voisin est gourmande en temps de calcul ce qui peut s'avérer très pénalisant lorsque le nombre d'utilisateurs est élevé. En outre, lorsque le rapport signal à bruit est faible, il est nécessaire de choisir un grand rayon pour la sphère de recherche et le risque est élevé de devoir considérer un grand nombre de points du réseau dans l'étape de recherche. Le but de la présente invention est de proposer une simplification de la méthode de détection par sphères notamment en présence de faible rapport signal à bruit. L'invention est définie par une méthode de détection d'une pluralité K de symboles (dk(i)) transmis par ou pour une pluralité K d'utilisateurs à partir d'un signal reçu, chaque symbole d'un utilisateur appartenant à une constellation de modulation, la méthode de détection mettant en oeuvre un réseau de points (#) généré par lesdites constellations de modulation, ladite pluralité de symboles des différents utilisateurs étant représentée par un point parmi un sous-ensemble de points dudit réseau, dit constellation et le signal reçu étant représenté par un point caractéristique de ce signal, dit point reçu, translaté d'un point de ladite constellation par un vecteur de bruit (n), la méthode comprenant une étape de projection orthogonale du point reçu sur un sous-espace affine, dit de projection, parallèle ou confondu avec un sous-espace affine délimitant ladite constellation et une étape de recherche du plus proche voisin du point ainsi projeté parmi les points de ladite constellation. Avantageusement, ledit sous-espace affine délimitant la constellation est déterminé en fonction de la position du point reçu par rapport à ladite constellation. Selon une variante de réalisation, la recherche du plus proche voisin est limitée aux points de la constellation appartenant à une sphère centrée sur ledit point projeté. Si le sous-espace affine de projection étant confondu avec un sous-espace affine délimitant la constellation, la recherche du plus proche voisin peut être effectuée parmi les points de la constellation appartenant audit sous-espace affine. La recherche du plus proche voisin est avantageusement limitée aux points du sous-espace affine appartenant à une sphère dudit sous-espace centrée sur ledit point projeté. Selon un mode avantageux de réalisation, l'étape de projection n'est effectuée que si le point reçu est éloigné de ladite constellation de plus d'une distance prédéterminée. La présente invention trouve en particulier application à la transmission en mode DS-CDMA ou MC-CDMA. Dans ce cas, les symboles de chaque utilisateur faisant l'objet d'une multiplication par une signature de cet utilisateur avant d'être transmis sur un canal de transmission, les coordonnées du point reçu sont obtenues par une étape de filtrage adapté du signal reçu, le filtrage étant adapté aux canaux de transmission et aux signatures des différents utilisateurs. La présente invention concerne également un dispositif de réception pour système de télécommunication DS-CDMA comprenant un dispositif de détection adapté à mettre en oeuvre la méthode de détection exposée ci-dessus. La présente invention concerne encore un dispositif de réception pour système de télécommunication MC-CDMA comprenant un dispositif de détection adapté à mettre en oeuvre la méthode de détection exposée ci-dessus. Les caractéristiques de l'invention mentionnées ci-dessus, ainsi que d'autres, apparaîtront plus clairement à la lecture de la description suivante faite en relation avec les figures jointes, parmi lesquelles : La Fig. 1 représente un réseau de points utile à la méthode de détection employée dans le récepteur illustré en Fig. 2; La Fig. 2 représente de manière schématique la structure d'un récepteur DSCDMA multi-utilisateur utilisant une méthode de détection par sphères; La Fig. 3 représente un exemple de constellation de modulation d'un utilisateur ; La Fig. 4 illustre une opération préalable de projection sur la constellation selon l'invention ; La Fig. 5 illustre un choix optimal de projection sur la constellation . Considérons à nouveau un système de télécommunication DS-CDMA avec K utilisateurs fonctionnant en mode synchrone. Comme on l'a vu plus haut, la détection des symboles transmis par les différents utilisateurs au sens du maximum de vraisemblance peut se ramener à la recherche parmi les points d'un réseau (#2) du plus proche voisin du point correspondant au signal reçu. Dans le cas où les séquences d'étalement sont réelles ou plus généralement multiples réelles d'un même nombre complexe, on peut montrer que la recherche peut être effectuée dans un réseau de dimension réduite à K En effet, les termes imaginaires de la matrice R2 et par suite de la matrice M2 étant nuls, on peut se ramener à un réseau de points réel A de dimension K et de matrice génératrice M : où y"(i),dR(i),n'(i) (resp. yl(i),dl(i),O/(i)) sont les vecteurs constitués des parties réelles (resp. des parties imaginaires) des composantes de y(z),d(/),n(0 ; T M=AR où R est la matrice constituée par les coefficients Rik= J$P(t)Sk(t)dt et A est le o vecteur des amplitudes des K utilisateurs. Les vecteurs d'observation yR(i) et yl(i) appartiennent à RK. Après transformation éventuelle selon une relation du type de celle de (12), les vecteurs yR(i) et yl(i) peuvent être considérés comme des points d'un réseau A de matrice génératrice M corrompus par du bruit. On montre aisément que les vecteurs de bruit nR(i) et n1(i) ont tous deux pour matrice de covariance No.R(i). R étant une matrice symétrique définie positive on peut la factoriser selon une décomposition de Cholesky : R = WWT où W est une matrice réelle triangulaire inférieure de taille KxK. Afin de décorréler les composantes de bruit, les vecteurs d'observation réels y (/) et y1(i) sont tout d'abord soumis à une opération de blanchiment : Dans un deuxième temps, on recherche les plus proches voisins des vecteurs yR(i) et yI(i) appartenant au réseau de points Q constitué des vecteurs î(i)=X(i)W 1-1 où x(i) appartient à A. On notera que la matrice génératrice du réseau S2 est égale à AW, matrice réelle triangulaire inférieure. D'autre part, on peut montrer facilement, qu'après blanchiment, les matrices de covariance des bruits filtrés nR(i)WT-1 et ol(i)wr-l sont toutes deux égales à NoIx où IK est la matrice identité de dimension K. Lorsque les symboles de ou pour les utilisateurs sont transmis de manière asynchrone, la modélisation du système est plus complexe car il faut tenir compte du fait qu'un symbole d'un utilisateur peut interférer avec deux voire plusieurs symboles consécutifs d'un autre utilisateur. On montre dans ce cas que l'on peut se ramener à une recherche du plus proche voisin au sein d'un réseau de dimension 2.K' (K' dans le cas de signatures réelles) avec K'>K où K' est fonction du nombre de symboles non encore estimés pouvant interférer entre eux. La détection n'est toutefois pas optimale au sens du maximum de vraisemblance. Dans tous les cas, le problème est de déterminer le point x d'un réseau # de dimension # le plus proche du vecteur reçu et blanchi y , ce qui revient à minimiser la métrique où =x+rl , r=(lJ!,...,1]K) est le vecteur de bruit et X=(X1,...,XK) est un point appartenant au réseau. Le vecteur de bruit # a des composantes réelles indépendantes suivant une distribution gaussienne de moyenne nulle et de variance No. On notera que le vecteur y(i) n'a pas besoin d'être blanchi si l'on utilise une métrique basée sur la matrice de covariance : On désignera par la suite, pour des raisons de simplification, z le vecteur d'observation blanchi (y(0) ou non (y(i)) et on limitera les développements ci-après à la métrique définie en (19). Les points du réseau =- peuvent être décrits par les vecteurs x=bG où b=(la,...,bK) possède des composantes b, appartenant à l'anneau des entiers Z et où G est la matrice génératrice du réseau. On note {VI, V2,..., V K} les lignes de la matrice G . Par définition ces vecteurs forment une base du réseau. L'ensemble des symboles émis est limité à un alphabet de taille finie A##Z# appelé constellation. Cette constellation est déterminée par les constellations de modulation utilisées par (ou pour) les x utilisateurs et le cardinal de l'alphabet AK est le produit des cardinaux des différents alphabets de modulation. On supposera que les points complexes de chacune de ces constellations possèdent des valeurs réelles et des valeurs imaginaires régulièrement réparties . Comme on l'a vu un décodage exhaustif nécessiterait une recherche du plus proche voisin dans la totalité de A#. Le décodeur restreint avantageusement son calcul aux points qui sont situés à l'intérieur d'une zone de la constellation située autour du point reçu, préférentiellement à l'intérieur d'une sphère de rayon donné #C centrée sur le point reçu comme représenté en Fig. 1. Seuls les points du réseau situés à une distance quadratique inférieure à C du point reçu sont donc considérés pour la minimisation de la métrique (19). En pratique, le décodeur effectue la minimisation suivante : Pour ce faire, le décodeur recherche le plus petit vecteur w dans l'ensemble translaté z-#. On peut exprimer les vecteurs z et w comme : Il est important de noter que p et sont des vecteurs réels. Comme w=z-x où x appartient au réseau 8, on a la relation , = p, - b, pour i= 1,...,K avec w=E,v . 1=1 Le vecteur w est un point du réseau dont les coordonnées , sont exprimées dans le repère translaté centré sur le point reçu. Le vecteurw appartient à une sphère de rayon quadratique C centrée en 0 si : Dans le nouveau système de coordonnées défini par , la sphère de rayon quadratique C centrée en y est donc transformée en un ellipsoïde centré sur l'origine. La factorisation de Cholesky de la matrice de Gram r=GGT donne #=##T,où A est une matrice triangulaire inférieure d'éléments #ij. Notons que si l'on avait utilisé la métrique définie par (19'), sans blanchiment préalable de y, la matrice de Gram # devrait être remplacée par la matrice GR-1GT, matrice symétrique définie positive et donc susceptible d'une factorisation de Cholesky. Il faut également noter que si le vecteur y a été blanchi, il n'y a pas lieu d'effectuer la factorisation de Cholesky car la matrice génératrice du réseau est déjà triangulaire inférieure. Dans le cas où l'on n'a pas procédé au blanchiment préalable la décomposition de Cholesky est nécessaire : En posant on obtient En s'intéressant tout d'abord à la plage de variations possibles de ##, puis en rajoutant une à une les composantes, on obtient les # inégalités suivantes, qui définissent tous les points à l'intérieur de l'ellipsoïde : On peut montrer que les inégalités (26) imposent aux composantes entières de b de satisfaire à : où [x] est le plus petit entier supérieur au réel x et [x] est le plus grand entier inférieur au réel x . Le décodeur possède K compteurs internes, à savoir un compteur par dimension, chaque compteur comptant entre une borne inférieure et supérieure comme indiqué en (27), étant entendu qu'à chaque compteur est associé un couple de bornes particulier. En pratique ces bornes peuvent être mises à jour de manière récursive. On pose : avec T#=C A l'aide des équations (28) à (30), on détermine récursivement la plage de variation de chaque composante b1 en commençant par la composante b#: On restreint avantageusement les plages de variation définies par (32) de manière à ne pas tester inutilement des points qui sont situés hors de la constellation. On rappelle que chaque utilisateur k utilise une constellation de symboles Ak, chaque symbole de la constellation étant un nombre complexe dont les parties réelle et imaginaire (éventuellement après transformation affine) sont des éléments de Z. Plaçons nous tout d'abord dans le cas général où le réseau est de dimension 2K, où K est le nombre d'utilisateurs. Pour chaque utilisateur k, on considère les dimensions 2k et 2k-1 portant le symbole complexe transmis par ou pour l'utilisateur k. Comme indiqué en Fig. 3, la constellation, ou de manière équivalente la constellation de modulation de l'utilisateur k est tout d'abord projetée sur la dimension 2k. Cette projection définit un intervalle M2x,Mx I. On définit alors l'intervalle de recherche [B2k-,B2k+] où : et l'on choisit un entier b2k dans cet intervalle. La composante b2k définit alors un intervalle [M2k-1-,M2k-1+] pour la composante b2k-1 comme indiqué sur la Fig. 3. On définit ensuite un intervalle de recherche [Bzk-,8-] par : En procédant de la sorte on est assuré de ne rechercher le plus proche voisin que parmi des candidats qui sont à la fois situés dans la sphère de recherche et des points de la constellation. La situation est légèrement différente lorsque l'on utilise des séquences d'étalement réelles et donc lorsque le réseau est de dimension K (où K est le nombre d'utilisateurs). Dans ce cas, les valeurs réelle et imaginaire des symboles font l'objet de recherches parallèles dans un réseau (A, Q) de dimension K Le calcul des bornes de recherche (et le choix des valeurs des valeurs des composantes) porte tour à tour sur la partie réelle et la partie imaginaire, de manière entrelacée. Dans l'exemple simple où la modulation employée sur une dimension i est une modulation PAM d'ordre M, la coordonnée entière b, du point recherché doit être comprise entre 0 et M -1. Les bornes de recherche sont ajustées par B1-=Sup(L-,0) et Bt =Inj{E,M -1) de manière à ce que le compteur associé à la composante b, ne parcoure pas des points qui sont situés en dehors de la sphère de recherche ou en dehors de la constellation. Cet ajustement des bornes de recherche permet d'accélérer considérablement l'algorithme de détection par sphères. Un problème survient lorsque le vecteur reçu est situé en dehors de la constellation, par exemple parce que le bruit sur une ou plusieurs des liaisons est élevé. Si l'on utilise une détection par sphères classique, la sphère de recherche risque de ne contenir aucun point de la constellation. De même, si l'on utilise une détection par sphères limitée à la constellation, l'intervalle de recherche [B1-,B1+] risque d'être vide pour certaines dimensions i parce que L+ M1+. Dans les deux cas, il faut augmenter le rayon de la sphère jusqu'à trouver un point de la constellation, ce qui peut entraîner de nombreuses étapes de recherche inutiles et donc considérablement ralentir l'algorithme. Lorsque la constellation a une forme parallélépipédique, par exemple lorsque les constellations de modulation des différents utilisateurs sont de type PAM ou QAM, la présente invention propose de projeter orthogonalement le point reçu sur un sousespace affine (ou variété linéaire) délimitant ou bordant la constellation. La Fig. 4 représente schématiquement une constellation en forme de parallélogramme (ici #=2), à droite (401) dans la base canonique de l'espace euclidien RK et à gauche (402) dans la base des vecteurs générateurs du réseau. On rappelle qu'un point reçu est représenté par un vecteur z dans la base canonique et par un vecteur p dans la base génératrice, tel que z=pG. Dans la représentation 401, l'espace RK est muni de la norme euclidienne #z#2=#z12 et en 402 de la norme Q(p)=pGG p . Ainsi une sphère centrée 1=1 sur le point reçu z dans la représentation en 401 est transformée en un ellipsoïde centré sur le point reçu p en 402. Comme illustré en 401, un point reçu n'appartenant pas à la constellation est d'abord projeté orthogonalement sur cette dernière ou plus généralement sur une enveloppe E de cette constellation. Le choix du sous-espace affine sur lequel l'on effectue la projection dépend de la position du point reçu. Ainsi par exemple le point M1 appartenant à la zone 1 délimitée par les droites D1,D2,D4 est projeté sur la droite Di, le point M2 appartenant au secteur II délimité par les droites D1 et D2 est projeté sur le sommet P12 (c'est-à-dire que l'image de tout point appartenant à ce secteur sera le point P]2 ), le point M3 appartenant à la zone III délimitée par les droites D2,D1,D3 est projeté sur la droite D2, etc. Comme nous le verrons plus loin, ce choix de projection est sous-optimal. Il est cependant préféré pour sa facilité d'implémentation. Bien entendu, les différents types de sous-espaces affines sur lesquels on peut effectuer une projection dépendent de la dimension du réseau. Ainsi pour une constellation parallélépipédique générant un réseau de dimension 3, les sous-espaces affines à considérer seront les faces, les arêtes et les sommets du parallélépipède. De manière générale, pour un réseau de dimension #, les sous-espaces affines à considérer seront de dimension N=K-L avec 1#L## La projection est plus facile à réaliser dans la représentation 402. En effet, si l'on note ss# les coordonnées d'un point dans la base des vecteurs générateurs du réseau, les droites Di sont définies par les équations : où o"m)n, Dans le cas général d'un réseau de dimension # quelconque, les sous-espaces affines à considérer sont définis par L relations du type (34). Soit T0 un tel sousespace : tout point appartenant à ce sous-espace possède L coordonnées fixées par des relations du type (34). On peut supposer sans perte de généralité que ces L coordonnées sont les L premières et qu'elles sont fixées à la valeur maximale ssmax,#, c'est-à-dire que l'on a jJt,j3max,t , .=1 ..,L . Soit zp=ppG la projection sur le sous-espace affine de dimension N du vecteur reçu z. D'après (34) les coordonnées de pP sont telles que pi = J3max.t, 2=1,...,L . On peut donc écrire où pO=(jJmax,l,...,/3max,L) est un vecteur ligne de dimension L, z un vecteur ligne de dimension K, k un vecteur ligne de dimension N représentant les coordonnées libres du sous-espace vectoriel T associé au sous-espace affine T0, B0 une matrice de taille (L##) contenant les L premières lignes de G et B une matrice de taille (N##), qui contient les N dernières lignes de G formant une base du sous-espace vectoriel T. Autrement dit, on a G = pO (35) B La matrice G étant de rang 1.,- la matrice B est elle même de rang N, on peut donc définir la matrice pseudo-inverse B+ de B . On se ramène au sous-espace vectoriel T par simple translation, en posant : On a alors : Le point correspondant au vecteur zp est proche de la constellation et sa détection sera donc beaucoup plus rapide que celle du point initial. Le gain en rapidité de détection est surtout appréciable pour les faibles rapports signal à bruit. Comme on l'a mentionné plus haut, le choix de projection est sous-optimal. Le choix optimal correspondrait en fait à celui illustré en Fig. 5. Les zones de choix sont délimitées par des droites orthogonales aux droites délimitant la constellation. Ainsi, les points de la zone 1 délimitée par les droites D'1 et D''1 sont projetés sur la droite D], les points du secteur II délimité par les droites D", et D'2 sont projetés sur le point P12, les points de la zone III délimitée par les droites D'2 et D"2 sont projetés sur la droite D2, etc. On a également représenté sur la Fig. 5 une enveloppe E de la constellation qui correspondrait à ce critère. Bien entendu, ce dernier se généralise à un réseau de dimension quelconque. Ainsi, pour une constellation parallélépipédique d'un réseau de dimension 3, le choix optimal correspondrait à une projection orthogonale sur une enveloppe polyédrique, le polyèdre étant en fait un parallélépipède de faces parallèles à celles de constellation et dont tous les angles sont biseautés. Selon un second mode de réalisation de l'invention, on effectue la projection orthogonale du point reçu directement sur un sous-espace affine délimitant la constellation (par exemple sur l'une des droites Di,D2,D3,D4 ou l'un des points Pi2,P23,P34>P4i dans le cas de la Fig. 4) et l'on procède ensuite à une détection par sphères à l'intérieur ce sous-espace affine, l'avantage étant de travailler dans un espace de dimension N plus faible que la dimension # du réseau. Pour effectuer le décodage dans le réseau contenu dans le sous-espace affine, il faut projeter le point reçu directement sur le sous espace-affine. On peut néanmoins décider de n'effectuer la projection que si le point reçu est suffisamment loin de la constellation. Les conditions de choix de projection sont donc les mêmes que précédemment. Nous montrerons tout d'abord que les points du réseau A de R# contenus dans le sous-espace affine de projection, peuvent être modélisés par des points d'un réseau A' de RN. Une telle modélisation permet d'effectuer le décodage par sphères dans un espace de dimension N## et d'accélérer la détection. S'il existe L dimensions telles que oî que ces L coordonnées fixées sont les L premières et sont toutes fixées à la valeur maximale Mi . On a donc pî:,6f' pour =1,..,L . Soit zp=pPG la projection sur le sous-espace affine de dimension N du vecteur reçu z. D'après le critère de projection pp est tel que ,oP=Mv pour P=1,..,L . On peut donc écrire : où b'=(Mi+,..,Mi+)e7,', bP=(ba+,...,bK)EZN , B est une matrice de taille (Lxk) et B une matrice de taille (N##) définies comme précédemment et n est un vecteur de bruit. La simplification de la détection présentée dans cette section suppose que le point finalement détecté appartient au sous-espace affine sur laquelle on a projeté le point reçu z. Les L premières composantes du vecteur détecté seront donc égales à celles du vecteur b . On s'intéresse donc maintenant uniquement à la détection du vecteur ligne zP appartenant au sous-espace vectoriel T et obtenu par soustraction du vecteur constant z =b B : La matrice B contient N vecteurs de base de taille #. #P est donc un point bruité d'un réseau A' de dimension N de R#. Pour que la méthode de détection par sphères soit directement applicable, il faut que le vecteur observé soit un point bruité d'un réseau de dimension N dans l'espace RN . Il faut donc trouver une matrice BP' contenant N vecteurs de base de taille N et générant un réseau équivalent à celui généré par B dans R#. Soit BP' la matrice de taille (N x N) obtenue par décomposition de Cholesky de la matrice de Gram BBT. Cette décomposition garantit que: Les deux matrices BP' et B ont la même matrice de Gram et donc la norme définie par la relation (22) est la même dans les deux cas. En outre, la matrice BP' est triangulaire inférieure. Cette particularité permet de faire l'économie de la décomposition de Cholesky normalement effectuée en début de la détection par sphères. Soit U la matrice de passage de taille (KXN) telle BP'=BU . Montrons que U = BT (BP'-1) )1. En effet , on obtient d'après (40) : Si on note xP=#PB le vecteur ligne de taille # représentant un point du réseau A' dans R#, alors #P le vecteur ligne de taille N représentant un point du réseau dans RN s'obtient par : On doit donc faire subir à #P la même transformation avant détection, à savoir : La matrice de covariance du vecteur de bruit n' est la suivante : soit encore, grâce à l'expression de U : Aucun blanchiment supplémentaire du bruit n'est donc nécessaire après projection. Les coordonnées entières non fixées (les coordonnées fixées sont données par b0) sont regroupées dans #P et obtenues par une détection par sphères du vecteur PU. Bien que l'invention ait été exposée dans le contexte d'un système de télécommunication mobile DS-CDMA, elle s'applique également à un système de télécommunication mobile MC-CDMA (Multi-Carrier Code Division Multiple Access). Rappelons que la technique MC-CDMA combine la modulation OFDM (Orthogonal Frequency Division Multiplex) et la technique d'accès multiple CDMA. Contrairement à la méthode DS-CDMA dans laquelle le signal de chaque utilisateur est multiplié dans le domaine temporel pour étaler son spectre fréquentiel, la signature multiplie ici le signal dans le domaine fréquentiel, chaque élément de la signature multipliant le signal d'une sous-porteuse différente. A la réception les échantillons du signal reçu sont soumis à une FFT et les signaux relatifs aux différentes sous-porteuses sont ensuite filtrés par un filtrage adapté à la signature de l'utilisateur et au canal de transmission. On a montré dans la demande française N 0016351 déposée le 13. 12.2000 par la demanderesse et incorporée ici par référence que si l'on note r(i) = (r, (i),..., r,. (i)) le vecteur des signaux reçus sur les L différentes sous-porteuses et d(i)=(d1(i),...,dK(i)) le vecteur des K symboles émis par ou pour les # différents utilisateurs à l'instant i, on pouvait écrire dans le cas où les utilisateurs sont reçus de manière synchrone : où C(i) est une matrice traduisant l'étalement par les signatures des différents utilisateurs et l'effet des différents canaux de transmission, rl(i) ~ (rl(i),...,r,,(i)) est un vecteur de bruit blanc additif gaussien et A est une matrice diagonale Diag(a,...,aK) formée par les amplitudes des signaux des ou pour les différents utilisateurs. Comme indiqué dans la demande susmentionnée, on peut montrer que la connaissance du vecteur d'observation y(i) = (y1(i)"."YK(i)) où : est suffisante pour permettre la détection au sens du maximum de vraisemblance du vecteur émis d(i) . On en déduit que le vecteur d'observation peut s'exprimer sous la forme: où n(i) est un vecteur de bruit coloré et M(/)=C(0C//(/) . Les vecteurs y(i), d(i), n(i) ainsi que la matrice M(i) figurant dans l'équation (48) sont à composantes complexes. La relation (48) peut encore s'écrire sous la forme réelle équivalente: y2(î)=(y?(i\y!(il.,yl!(i\ylM où yfV}yl(i)sont respectivement la partie réelle et la partie imaginaire du symbole ~y*(i) ; d2(i)=(d,R(i}dl(..,d(i}dk(i)) où dfV}dlV)sont respectivement la partie réelle et la partie imaginaire du symbole dk(i); n2(/>( K0M4-"('K(0) où n,i),n,i)sont respectivement la partie réelle et la partie imaginaire de nk(i); et où M2 est la matrice 2Kx2K définie par : avec ml=Mll+j.Mllkoù l'indice i a été omis pour simplifier les notations. L'équation (49) a une forme identique à celle de l'équation (6) et par conséquent un algorithme de détection par sphères peut s'appliquer au vecteur d'observation, y compris la simplification proposée par l'invention lorsque le point reçu est situé en dehors de la constellation. REVENDICATIONS 1) Méthode de détection d'une pluralité K de symboles (dk(i)) transmis par ou pour une pluralité K d'utilisateurs à partir d'un signal reçu, chaque symbole d'un utilisateur appartenant à une constellation de modulation, la méthode de détection mettant en oeuvre un réseau de points (#) généré par lesdites constellations de modulation, ladite pluralité de symboles des différents utilisateurs étant représentée par un point parmi un sous-ensemble de points dudit réseau, dit constellation et le signal reçu étant représenté par un point caractéristique de ce signal, dit point reçu, translaté d'un point de ladite constellation par un vecteur de bruit (n), caractérisée en ce qu'elle comprend une étape de projection orthogonale du point reçu sur un sousespace affine, dit de projection, parallèle ou confondu avec un sous-espace affine délimitant ladite constellation et une étape de recherche du plus proche voisin du point ainsi projeté parmi les points de ladite constellation. 2) Méthode de détection selon la revendication 1, caractérisée en ce que ledit sous-espace affine délimitant la constellation est déterminé en fonction de la position du point reçu par rapport à ladite constellation. 3) Méthode de détection selon la revendication 2, caractérisée en ce que la recherche du plus proche voisin est limitée aux points de la constellation appartenant à une sphère centrée sur ledit point projeté. 4) Méthode de détection selon la revendication 1 ou 2, caractérisée en ce que le sous-espace affine de projection étant confondu avec un sous-espace affine délimitant la constellation, la recherche du plus proche voisin est effectuée parmi les points de la constellation appartenant audit sous-espace affine. 5) Méthode de détection selon la revendication 4, caractérisée en ce que la recherche du plus proche voisin est limitée aux points du sous-espace affine appartenant à une sphère dudit sous-espace centrée sur ledit point projeté. 6) Méthode de détection selon l'une des revendications précédentes, caractérisée en ce que l'étape de projection n'est effectuée que si le point reçu est éloigné de ladite constellation de plus d'une distance prédéterminée. 7) Méthode de détection selon l'une des revendications précédentes, caractérisée en ce que, les symboles de chaque utilisateur faisant l'objet d'une multiplication par une signature de cet utilisateur avant d'être transmis sur un canal de transmission, les coordonnées du point reçu sont obtenues par une étape de filtrage adapté du signal reçu, le filtrage étant adapté aux canaux de transmission et aux signatures des différents utilisateurs. 8) Dispositif de réception pour système de télécommunication DS-CDMA comprenant un dispositif de détection adapté à mettre en oeuvre la méthode de détection selon l'une des revendications précédentes. 9) Dispositif de réception pour système de télécommunication MC-CDMA comprenant un dispositif de détection adapté à mettre en oeuvre la méthode de détection selon l'une des revendications 1 à 7.