Brevet FR2800948A1 — publié le 20010511

La présente invention concerne un procédé de détection conjointe destiné à être mis en oeuvre dans un récepteur d'un système de transmission, tel qu'un système de transmission du type à répartition de codes CDMA (Code Division Multiple Access accès multiple à répartition de codes). De nombreux systèmes de télécommunication en cours de développement mettent en oeuvre les techniques CDMA. Ces techniques utilisent le partage en code des ressources fréquentielles, c'est-à-dire que plusieurs utilisateurs utilisent la même bande de fréquence en même temps et sont différenciés par les codes d'étalement différents qu'ils utilisent. Un utilisateur distingue en général le signal qui lui est adressé dans le signal total reçu en comparant celui ci avec son code d'étalement. Cependant la qualité du signal reçu est diminuée par l'interférence résiduelle venant des autres utilisateurs appelée MAI (Multiple Access Interference = Interférence d'accès multiple). Divers techniques dont la détection conjointe, plus particulièrement utilisée dans le cas de codes d'étalement synchrones, visent à utiliser la connaissance des codes d'étalement des autres utilisateurs afin de réduire cette interférence résiduelle des autres utilisateurs. On a représenté à la Fig. 1 un modèle de la liaison montante d'un système de transmission du type CDMA qui utilise un procédé de détection conjointe. Ce système est prévu pour recevoir K utilisateurs pourvus chacun d'un émetteur 10k (k = I à K). Chaque émetteur 10k est prévu pour transmettre les données d d'un utilisateur k par salves de N symboles de données, ces données étant alors notées dé = {x,...,x} o xi représente alors le nèrne symbole émis par l'utilisateur k. Dans chaque émetteur 10k, les données dé d'un utilisateur k sont soumises à un code d'étalement ck de longueur Q bits alloué à l'utilisateur k considéré avant d'être émises sur un canal 20k. Chaque canal 20k est caractérisé par une réponse impulsionnelle variant dans le temps notée hk et une largeur de bande fréquentielle notée BC = 1 /Tc. Les données sont alors transmises sur un canal 20k. Pour l'estimation de la réponse impulsionnelle hk de chaque canal k, sont pris en compte L échantillons espacés les uns des autres d'un temps qui est égal à T. Klein and all ont pu montrer que le signal y reçu par le récepteur peut être représenté par un vecteur y de dimension (N x Q + L - 1) dont les composantes sont représentatives des signaux émis par chacun des K utilisateurs, éventuellement additionné à un bruit gaussien représenté par un vecteur n également de dimension (N x Q + L -1). On peut donc écrire: y = A.x+n o, x[xi, x2...,xK, x, x2.,xK]est le signal émis avant étalement, Y = [Yi, X,*YNQ..., YN.Q+L- lest le signal reçu par le récepteur, n = [,, N.Q..., IN.Q+L-] est le bruit blanc gaussien additif, et A est une matrice de dimensions (N.Q + L - 1) x (K.N) Chaque élément de la matrice A, noté Ajj, est déterminé en fonction de l'estimation de la réponse impulsionnelle de chacun des canaux d'ordre k: h k = lh,hk,...,hL]aveck: 1,...,K et en fonction de chacun des codes d'étalement d'ordre k: C k = [CkCl... CQk]avec k = 1,...,K Ck[1 C2..CQ Si l'on pose i = Q.(n-J)+w et j = k+K(n-l) Un système de transmission du type CDMA peut être modélisé d'une manière o chaque élément Aij peut s'écrire sous la forme: AiJ =b pourk = 1.. X, n = 1...Net w =1...Q + L - 1 A.j = 0 sinon avec b = c * h i =,b2,...,bQ+Ll pourk = 1...K Afin d'estimer les données transmises par chaque utilisateur k, on peut procéder, dans un récepteur 30, à une détection conjointe telle que celle qui est décrite par A.Klein, G.K.Kaleh et P.W.Baier dans un article intitulé "Equalisers for multi-user detection in code division multiple access mobile radio systems" paru dans IEEE de 1994. Ces procédés de détection conjointe connus consistent essentiellement à résoudre l'équation matricielle donnée ci-dessus en déterminant le vecteur des symboles x en connaissant le vecteur des signaux détectés y, la matrice système A et la matrice de bruit n. On notera que la connaissance des matrices y, A et n est faite par ailleurs par des méthodes d'estimation qui sont connues de l'homme du métier et qui ne sont par conséquent pas décrites plus en détail dans la présente description. On notera encore que, notamment du fait que la réponse impulsionnelle de chacun des canaux 20k varie avec le temps, c'est à chaque instant que les éléments de la matrice A change de valeurs. La détermination du vecteur des symboles x, par la méthode exposée cidessus, utilise généralement un des deux critères suivants qui sont, d'une part, le forçage à zéro (zero forcing ou ZF) et, d'autre part, l'erreur quadratique moyenne minimum (MMSE = Minimum Mean Square Error). Ces deux critères mènent respectivement aux solutions suivantes x = (A+A)- A+y pour le critère de forçage à zéro et + U2 + x=(A+A +o2)-lA+ypour le critère d'erreur quadratique moyenne minimum MMSE (I est la matrice unité, o2 étant la variance des éléments de la matrice de bruit n). Dans la suite de la description, l'exposant + appliqué à une matrice signifie qu'il s'agit de son transposé conjugué. Ces équations peuvent également s'écrire: x =M-'A+y Comme on peut le constater, la résolution de cette équation nécessite donc l'inversion d'une matrice, notée M, qui est soit égale au produit A+.A de la matrice système transposé conjugué A+ par la matrice système A, soit égale au produit A+.A+O2 I de la matrice système transposé conjugué A+ par la matrice système A auquel est ajoutée la matrice unité I multipliée par la variance o2 du bruit. Lorsqu'elle est hermitienne, définie et positive, (ce qui est toujours le cas avec la modélisation d'un système CDMA donnée ci-dessus) une matrice M peut être décomposée, au moyen d'un algorithme, dit algorithme de Cholesky, en une matrice triangulaire supérieure U (ou inférieure L selon la notation choisie) telle que la matrice M est égale au produit de la matrice triangulaire supérieure transposée conjuguée (U+ 1 5 par la matrice U: M=U+.U ou selon le cas, au produit de la matrice triangulaire inférieure L par la matrice transposée conjuguée L+: M=L.L+ Or, l'inversion de la matrice M est grandement simplifiée puisque la matrice inverse M' est soit égale au produit de la matrice inverse U-' par le transposé conjugué de cette matrice (U')+: M] = (i (U')+ soit au produit de la matrice inverse conjuguée (L-')+ par la matrice L-': M' = (L-')+ L-1' Du fait du peu d'opérations nécessaires à l'inversion de U, l'inversion de M en passant par la décomposition de Cholesky nécessite beaucoup moins d'opérations que l'inversion de M par un calcul direct. Cette méthode par décomposition de Cholesky autorise une réduction de la complexité de ce calcul par un facteur 2 environ (complexité en T3/6, T étant la dimension de la matrice) par rapport aux techniques d'inversion directe classiques. Cependant la quantité de calcul reste encore très importante. Le but de la présente invention est de proposer un procédé de détection conjointe qui utilise la méthode par décomposition de Cholesky mais dont la quantité de calcul est diminuée par rapport aux procédés de l'art antérieur. A cet effet, un procédé de détection conjointe selon la présente invention est du type qui consiste en une étape de calcul des signaux qui ont été émis par lesdits émetteurs dudit système mis sous la forme d'un vecteur x et ce, à partir de l'ensemble des signaux reçus des émetteurs dudit système mis sous la forme d'un vecteur y, de l'ensemble des caractéristiques dudit système mis sous forme d'une matrice A et éventuellement de l'ensemble des caractéristiques de bruit mis sous forme d'une matrice n, ladite étape de calcul consistant en une étape d'inversion d'une matrice M fonction de la matrice système A, une étape d'application de l'ensemble des signaux reçus y sur une matrice résultant du produit de la matrice inverse AM' par le transposé conjugué de la matrice A, ladite étape d'inversion de la matrice M consistant en sa décomposition de Cholesky en une matrice triangulaire U ou L. Ce procédé est caractérisé en ce qu'il consiste à déterminer ladite matrice triangulaire de manière itérative, chaque itération consistant d'abord au calcul d'un ensemble de blocs appartenant à une ligne de blocs de ladite matrice puis, en fonction de la valeur prise par un critère prédéterminé caractérisant l'évolution du processus de calcul de ladite matrice décomposée comparée à une valeur seuil, soit au passage à l'itération suivante soit à la duplication de la ligne courante sur toutes les autres lignes restantes avec décalage à droite d'un bloc et, éventuellement, tronquage des blocs en excédant. Selon une autre caractéristique de l'invention, ladite valeur seuil est déterminée dynamiquement en fonction des ressources disponibles au moment du calcul. Selon une autre caractéristique de l'invention, ledit critère est tel que sa valeur dépend des valeurs respectivement prises par au moins un élément de l'ensemble de blocs de la ligne courante et le ou les éléments correspondants de l'ensemble de blocs de la ligne calculée à l'itération précédente. Selon une autre caractéristique de l'invention, ledit critère est tel que sa valeur est égale à la valeur absolue de la différence des valeurs prises respectivement par l'élément de l'ensemble de blocs de la ligne courante dont la valeur absolue est la plus grande et par l'élément correspondant de l'ensemble de blocs de la ligne précédente. Selon une autre caractéristique de l'invention, ledit critère est tel que sa valeur est égale à la valeur maximale des valeurs absolues des différences entre les valeurs prises respectivement par tous les éléments de l'ensemble de blocs de la ligne courante et par les éléments correspondants de l'ensemble de blocs de la ligne précédente. Selon une autre caractéristique de l'invention, ledit critère a pour valeur le nombre d'itérations, la valeur seuil correspondant alors à un nombre maximal d'itérations. La présente invention concerne également un récepteur qui est prévu pour mettre en oeuvre un procédé de détection tel qu'il vient d'être décrit. Les caractéristiques de l'invention mentionnées ci-dessus, ainsi que d'autres, apparaîtront plus clairement à la lecture de la description suivante d'exemples de réalisation, ladite description étant faite en relation avec les dessins joints, parmi lesquels: La Fig. 1 est un schéma synoptique d'un système CDMA qui est prévu pour mettre en oeuvre un procédé de détection conjointe selon la présente invention, La Fig. 2 est un schéma d'une matrice résultant d'une décomposition de Cholesky mettant en oeuvre le procédé de la présente invention, La Fig. 3 est un diagramme montrant les différentes étapes mises en oeuvre par un procédé selon une premier mode de réalisation de la présente invention, et La Fig. 4 est un diagramme montrant les différentes étapes mises en oeuvre par un procédé selon une second mode de réalisation de la présente invention. La présente invention est basée sur le fait que la matrice M (on rappelle que M = A +A dans le cas ZF ou M = A A 4- c/I dans le cas MMSE) représentative du comportement d'un système de transmission CDMA est de type Toeplitz par blocs de dimensions [K x K]. En effet, si l'on regroupe les éléments de la matrice M en blocs de dimensions K x K, les blocs qui appartiennent à une même ligne parallèle à la diagonale allant du premier bloc ou dernier bloc de la matrice M sont égaux entre eux. Il en est de même des blocs qui appartiennent à ladite diagonale. On va considérer, en relation avec la Fig. 2, une matrice U résultant de la décomposition de Cholesky d'une matrice M (U = C(M) = soit C(A+A), soit C(A+A + 2o1). Comme on peut le constater sur la Fig. 2, la matrice U est une matrice triangulaire supérieure. Ainsi, chaque partie d'une ligne de blocs située à gauche de la diagonale est constituée de blocs égaux à des matrices carrés nulles de dimensions [K,K]. Quant à chaque partie d'une ligne de blocs d'indice i située à la droite de la diagonale, diagonale incluse, elle est constituée d'au moins un bloc Uip de dimensions [K,K] (p étant l'indice des colonnes de blocs) et au plus de P + 1 blocs adjacents i de dimension [K,K] formant un ensemble de blocs, noté par la suite Ei. Les blocs qui sont situés au-delà du (P+I)/"ne, s'ils existent, sont des matrices nulles. On peut donc constater à la Fig. 2 que: Ei = [Uio Ui,1... Ui.p] lorsque i N-P+ 1 et E = UN, O On rappelle que P étant la partie entière de (1+(L-1)/Q). On peut noter également que l'élément de la première ligne d'un ensemble de blocs E, peut également être considéré comme étant le i.KXme élément de la i.Kgme ligne de la matrice U. On notera qu'on utilise ici une notation o l'indice de colonne de blocs p des blocs Uip est nul pour la diagonale de la matrice U. Il s'ensuit que, dans la suite de la présente description, on dira qu'un élément anm (fimefl ligne, mime colonne) d'un bloc U,p d'un ensemble E, correspond à un élément an,m (même indices de ligne et de colonne) d'un bloc Ui-,p d'un ensemble Eil. Tous les blocs sont différents les uns des autres. Cependant, J Rissanen a montré dans un article paru dans Mathematics of Computation, vol 27, n 121 de janvier 1973, pages 147-157 qu'une matrice dont la dimension tend vers l'infini, qui est hermitienne, définie positive et de type Toeplitz en bloc et qui comprend un nombre fini de blocs non nul a pour matrice résultant de la décomposition de Cholesky une matrice U dont les ensembles E de blocs présentent des propriétés particulières. En utilisant la notation de la Fig. 2, une de ces propriétés est que plus l'indice de lignes de blocs i est grand moins les blocs U,p (p compris entre 0 et P) sont différents des blocs Ui-A,p, et ce, jusqu'à tendre asymptotiquement vers l'égalité quand l'indice N tend vers l'infini. La présente invention est essentiellement basée sur cette propriété. La présente invention est également applicable du fait que la matrice à traiter dans le cas d'un réseau de télécommunication tel que celui qui est représenté à la Fig. 1 est très grande (par exemple dans le cas de l'UMTS-TDD o N vaut entre 61 et 976 et K entre 1 et 16). La présente invention propose ainsi de calculer la matrice U de manière itérative. A chaque itération, un ensemble de blocs E. est calculé en appliquant la méthode de Cholesky et est ensuite écrite dans la matrice U à sa place normale. Puis, sur la base de la valeur prise par un critère prédéterminé caractérisant l'évolution du processus de calcul de matrice U, il est décidé soit du lancement de l'itération suivante, soit d'une duplication avec décalage à droite d'un bloc de la ligne d'indice i sur les autres lignes d'indice j avec j = i+I à N. Plus précisément, on considère une valeur prise par ce critère et, si elle est inférieure à une valeur seuil, la duplication avec décalage à droite d'un bloc est mise en oeuvre, sinon c'est l'itération suivante qui est mise en oeuvre. Comme on le comprendra, lors de la duplication et du décalage à droite d'un bloc, il peut être nécessaire de tronquer l'ensemble à dupliquer lorsque le nombre de blocs à écrire est inférieur au nombre de blocs de la ligne de blocs précédente. On notera que la valeur seuil pourrait varier dynamiquement en fonction des ressources disponibles au moment du traitement. Selon un premier mode de réalisation, pour caractériser l'évolution du processus de calcul de la matrice U, la valeur de ce critère dépend des valeurs prises par au moins un élément an,m de l'ensemble E, de la ligne de blocs courante et le ou les éléments an, m correspondants de l'ensemble E,_1 de la ligne de blocs précédente. Par exemple, ce critère a pour valeur la valeur absolue de la différence des valeurs prises respectivement par, d'une part, l'élément an,, de l'ensemble Ei de la ligne de blocs courante choisi pour avoir la plus grande valeur absolue parmi tous ses éléments et par, d'autre part, l'élément an,,m correspondant de l'ensemble E_,1 de la ligne de blocs précédente. Il peut également prendre pour valeur la valeur maximale des valeurs absolues des différences entre les valeurs prises respectivement par les éléments an,,m de l'ensemble Ei de la ligne courante et par les éléments correspondants de l'ensemble Ei-, de la ligne précédente. Dans ces deux cas, la valeur seuil correspond alors à un niveau d'erreurs acceptable. Le choix de sa valeur permet d'obtenir une détection conjointe qui est certes dégradée (à un niveau correspondant à cette valeur) mais qui présente une complexité de calcul inférieure. On a représenté à la Fig. 3, un diagramme montrant le déroulement du procédé de la présente invention selon ce premier mode de réalisation. L'étape 1 est une étape d'initialisation pendant laquelle les différentes variables du processus sont déterminées. Il en est ainsi notamment de la valeurs seuil S"i, et d'une variable i désignant le numéro d'ordre de l'itération considérée qui est initialisé ici à 1. C'est à l'étape 2 que sont calculées les valeurs de tous les éléments de l'ensemble de blocs E,. La ligne correspondante est mémorisée dans la matrice U à l'endroit considéré à une étape 3. A l'étape 4, sont sortis les éléments de l'ensemble de blocs Ei-_ qui vont servir à la détermination de la suite à donner au processus d'itération. A l'étape 5, le numéro d'ordre de l'itération i est incrémenté. A l'étape 6, la valeur du critère S est calculée conformément à ce qui est décrit ci-dessus. A l'étape 7, cette valeur S est comparée à la valeur seuil Smin considérée déterminée à l'étape 1 (ou éventuellement recalculée depuis en fonction des conditions de ressources disponibles) et la décision quant à la suite du processus du calcul de la matrice U est prise. Soit l'étape 2, est de nouveau mise en oeuvre pour le calcul de la ligne suivante, soit l'étape 8 de duplication et décalage à droite est mise en oeuvre. Pour ce faire, une boucle est prévue qui est interrompue lorsqu'à l'étape 9, il a été constaté que la dernière ligne de la matrice U a été calculée. Le résultat du procédé de la présente invention est visible à la Fig. 2 o, à partir de la jime ligne, les lignes sont égales à cette ligne dupliquée puis décalée à chaque 2800948 fois à droite d'un bloc, puis éventuellement tronquée lorsque la demiligne considérée comporte moins de P blocs. Selon un second mode de réalisation, ce critère a pour valeur le nombre d'itérations réalisées. La valeur seuil correspond alors au nombre maximal d'itérations acceptables sans que soit dépassée la capacité de calcul maximale allouée au processus de détection conjointe. On a représenté à la Fig. 4, le diagramme correspondant à ce mode de réalisation o les mêmes étapes portent la même référence et o les étapes 4 et 6 ont disparu. L'étape 7' nouvelle effectue une comparaison entre le nombre i courant d'itérations et le nombre "max d'itérations acceptable tel que déterminé à l'étape 1 ou depuis selon les conditions de ressources disponibles. On notera que les premier et second modes de réalisation ne s'excluent pas mutuellement ou pourraient être mis en oeuvre conjointement. On notera encore que la description qui vient d'être faite l'a été en considérant une décomposition de Cholesky d'o résultait une matrice triangulaire supérieure U et que la présente invention s'applique également à une décomposition de Cholesky conduisant à une matrice triangulaire inférieure L. Le procédé comporterait alors les mêmes étapes que celui qui vient d'être décrit. REVENDICATIONS 1) Procédé de détection conjointe destiné à être mis en oeuvre dans un récepteur d'un système de transmission, tel qu'un système de transmission à accès multiple à répartition de codes, ladite détection consistant en une étape de calcul des signaux qui ont été émis par lesdits émetteurs dudit système mis sous la forme d'un vecteur x et ce, à partir de l'ensemble des signaux reçus des émetteurs dudit système mis sous la forme d'un vecteur y, de l'ensemble des caractéristiques dudit système mis sous forme d'une matrice A et éventuellement de l'ensemble des caractéristiques de bruit mis sous forme d'une matrice n, ladite étape de calcul consistant en une étape d'inversion d'une matrice M fonction de la matrice système A, une étape d'application de l'ensemble des signaux reçus y sur une matrice résultant du produit de la matrice inverse MI par le transposé conjugué de la matrice A, ladite étape d'inversion de la matrice M consistant en sa décomposition de Cholesky en une matrice triangulaire U ou L, caractérisé en ce qu'il consiste à déterminer ladite matrice triangulaire de manière itérative, chaque itération consistant d'abord au calcul d'un ensemble de blocs appartenant à une ligne de blocs de ladite matrice puis, en fonction de la valeur prise par un critère prédéterminé caractérisant l'évolution du processus de calcul de ladite matrice décomposée comparée à une valeur seuil, soit au passage à l'itération suivante soit à la duplication de la ligne courante sur toutes les autres lignes restantes avec décalage à droite d'un bloc et, éventuellement, tronquage des blocs en excédant. 2) Procédé selon la revendication 1, caractérisé en ce que ladite valeur seuil est déterminée dynamiquement en fonction des ressources disponibles au moment du calcul. 3) Procédé selon la revendication 1 ou 2, caractérisé en ce que ledit critère est tel que sa valeur dépend des valeurs respectivement prises par au moins un élément de l'ensemble de blocs de la ligne courante et le ou les éléments correspondants de l'ensemble de blocs de la ligne calculée à l'itération précédente. 4) Procédé selon la revendication 3, caractérisé en ce que ledit critère est tel que sa valeur est égale à la valeur absolue de la différence des valeurs prises respectivement par l'élément de l'ensemble de blocs de la ligne courante dont la valeur absolue est la plus grande et par l'élément correspondant de l'ensemble de blocs de la ligne précédente. ) Procédé selon la revendication 3, caractérisé en ce que ledit critère est tel que sa valeur est égale à la valeur maximale des valeurs absolues des différences entre les 12 2800948 valeurs prises respectivement par tous les éléments de l'ensemble de blocs de la ligne courante et par les éléments correspondants de l'ensemble de blocs de la ligne précédente. 6) Procédé selon une revendications précédentes, caractérisé en ce que ledit critère a pour valeur le nombre d'itérations, la valeur seuil correspondant alors à un nombre maximal d'itérations. 7) Récepteur d'un système de transmission, tel qu'un système de transmission à accès multiple à répartition de codes, prévu pour recevoir et détecter les signaux qui ont été émis par des émetteurs dudit système de transmission afin de les recouvrir, caractérisé en ce que, pour détecter lesdits signaux, il est prévu pour mettre en oeuvre un procédé de détection selon une des revendications 1 à 6.