FR 2965428 A1 20120330 FR 1057717 A 20100924 1 Procédé d'émission double itératif de flux multiples par utilisateur pour un système MIMO multi utilisateurs, émetteur, produit programme d'ordinateur et support d'information correspondants. Domaine de l'invention La présente invention se rapporte au domaine des télécommunications. Au sein de ce domaine, l'invention se rapporte plus particulièrement aux communications dites numériques. Les communications numériques comprennent en particulier les communications sans fil ; elles comprennent aussi par exemple les communications filaires. Le support de transmission des communications est couramment appelé canal de transmission ou de propagation, à l'origine en référence à un canal aérien et par extension en référence à tout canal. L'invention concerne les techniques d'émission et de réception dans un système multi antennes multi flux. Elle s'applique essentiellement aux communications sur voie descendante et plus particulièrement d'une station de base vers plusieurs terminaux. Dans ce cas, le canal de transmission est dit canal de diffusion. Un flux de données est associé à un utilisateur. Les flux des différents utilisateurs sont par exemple relatifs à un même service de télécommunication et/ou à différents services (par exemple voix, data, vidéo). Art antérieur Les systèmes de communication numérique multi antennes couramment désignés par l'acronyme MIMO (acronyme des termes anglosaxons Multiple Input Multiple Output pour "Entrées Multiples Sorties Multiples") englobent tous les systèmes qui comportent plusieurs antennes à l'émission et généralement plusieurs antennes â la réception. Un système MIMO avec une seule antenne de réception est aussi désigné par l'acronyme MISO (acronyme des termes anglosaxons Multiple Input Single Output). Ces systèmes répondent à la demande toujours croissante de fourniture de services de télécommunication variés à des débits toujours supérieurs aux offres existantes. En effet, on a prouvé que la capacité des canaux MIMO augmente proportionnellement avec le nombre minimal des antennes en émission et en réception. Un exemple d'un tel système est illustré par le schéma de la figure 1. Le système comprend une station de base avec NT antennes de transmission et K mobiles avec NRA antennes de réception pour l'utilisateur k associé au mobile k . Le canal de transmission est pour l'utilisateur k modélisé par une matrice HL de taille NR x NT qui représente l'impacte du canal de transmission entre Ies antennes à l'émission et les antennes à la réception. Chaque composante de la matrice est une variable aléatoire de moyenne nulle et de variance considérée égale à 1. L'invention se place dans un contexte de canal à évanouissements lents de Rayleigh par utilisateur avec indépendance totale entre les différents canaux des différents utilisateurs.. Le contexte de canal à évanouissements lents de Rayleigh par utilisateur avec indépendance totale entre les différents canaux des différents utilisateurs correspond typiquement à une propagation en milieu urbain, c'est-à-dire à trajets multiples. L'invention se place dans un contexte de diffusion, au sens de la théorie de l'information, c'est-à-dire dans un contexte de transmission de différents flux pour différents utilisateurs à partir d'un 10 émetteur. En outre, cet émetteur a une connaissance parfaite du canal de transmission. Ceci implique une estimation parfaite de toutes les composantes des matrices Hk de tous les utilisateurs puisqu'on est dans un canal de diffusion ainsi que l'invariance du canal de transmission entre le moment où est effectuée l'estimation du canal à la réception et le moment où cette estimation est exploitée à l'émission. 15 Dans un système MIMO multi utilisateurs multiflux, les flux des différents utilisateurs sont transmis simultanément de la station de base aux récepteurs des utilisateurs sachant que plusieurs flux peuvent être transmis à un même utilisateur à un instant donné mais qu'à un autre instant donné cet utilisateur peut ne recevoir qu'un seul flux ou pas de flux du tout. Le nombre maximal de flux par utilisateur est de Q = min (NI?, , NT ) et le nombre total de 20 flux pouvant être émis simultanément par le système MEVIO à chaque instant ne doit pas dépasser le nombre maximal Q de flux pouvant être servis par le système : K Q = min(l NR, , NT) . k=t Dans le cas d'un système MU-MIMO, les précodeurs constituent la brique de base définissant les performances du système de communication. En effet, les pré-codeurs permettent de séparer les 25 flux des différents utilisateurs afin de minimiser les interférences inter utilisateurs à la réception et d'améliorer par conséquence le débit véhiculé. Les performances pour un tel système sont déterminées par la quantité de flux de données qu'il peut servir vers les différents utilisateurs appelé débit somme noté SR, Sum-Rate selon la terminologie anglosaxonne. Le maximum du débit total SR pouvant être véhiculé par un système MIMO vers tous les 30 utilisateurs a été définie par la théorie de l'information comme la capacité ergodique du système. L'optimisation du débit total se base sur l'optimisation conjointe de l'émetteur et du récepteur afin de trouver la combinaison qui minimise le MSE (abréviations des termes anglosaxons Mean Square Error). En effet, il ne suffit pas de se pencher sur l'optimisation du précodeur en négligeant ce 3 qui se passe au niveau de la réception et vice versa, l'optimisation du récepteur tout seul n'est pas suffisante pour extraire le SR maximal. De plus, dans un système MIMO avec antennes multiples à la réception, plusieurs flux de données peuvent être transmis à un même utilisateur. Ceci augmente la difficulté de détermination de la meilleure manière d'affecter les flux aux utilisateurs ainsi que les puissances respectives à leur attribuer. Les techniques connues pour des systèmes MIMO multi utilisateurs sont basées sur des critères tels que le MMSE (acronyme des termes anglosaxons Minimum Mean Square Error) et le SLNR (acronyme des termes anglosaxons Signal to Leakage and Noise Ratio) qui permettent d'effectuer une optimisation du système. Certaines analyses théoriques ont démontré que la capacité du canal de diffusion MU-MIMO (abréviation de Multi Utilisateurs MIMO) peut être atteinte à l'aide de l'algorithme DPC (acronyme des termes anglosaxons Dirty Paper Coding) [3,4]. Cependant, un précodage DPC reste, malgré les grandes avancées des calculateurs, un algorithme très difficile à mettre en place à cause de la puissance de calcul requise. Ainsi, des solutions sous optimales de précodeurs linéaires avec une faible complexité ont vu le jour. Une première catégorie de précodeurs linéaires met en oeuvre des algorithmes dits linéaires non itératifs appelés aussi directs (ou CF selon les abréviations des termes anglosaxons Closed Form) décrits par exemple par [1, 6, 7]. Ces algorithmes déterminent pour chaque flux un couple de vecteurs d'émission et de réception. Les couples de vecteurs relatifs à tous les utilisateurs sont calculés par la station de base. La station de base informe les utilisateurs de leurs vecteurs de réception en utilisant typiquement un canal de signalisation. La station de base émet l'information de chaque flux en utilisant le vecteur d'émission correspondant. Tous les flux sont transmis en même temps. A la réception, chaque récepteur associé à un utilisateur utilise le vecteur de réception communiqué par la station de base pour combiner les signaux reçus sur les différentes antennes et extraire les échantillons correspondant au flux de l'utilisateur. Une deuxième catégorie de précodeurs linéaires met en oeuvre des algorithmes itératifs dont certaines réalisations sont décrites par [2, 5, 8] [8] décrit un précodeur itératif à base d'un WMMSE (Weighted Minimum Mean Square Error). 30 En considérant une matrice W de poids pour les différents flux de tous les utilisateurs (autrement dit W = {W , - . WK }) et l'ensemble des récepteurs D = diag {DI , - . D/ cl utilisés par les différents utilisateurs alors le précodeur WMMSE correspondant est donné par : (HHDHWDH+tr( wDD") H"D"W (l.l) Pr / T=diag{T,,- -,TK}=,Q Soit pour le précodeur correspondant à l'utilisateur k : i - K 1~ Tk = /3 1 H`'D~kWi D~Hi +-tr(W.Di Di )IN 11kDk Wk PT / K où /3 est un facteur scalaire pour respecter la contrainte de puissance 1 tr (T. T H ) = Pr . ,=i Ce précodeur dépend des poids W affectés aux différents flux ainsi que des décodeurs Dk,k E }1, K} destinés aux utilisateurs ce qui implique l'obligation d'utiliser un procédé itératif pour les optimiser. L'optimisation nécessite donc de définir les récepteurs. Parmi les différentes types de récepteurs qui existent, [8] propose le récepteur MMSE (Minimum Mean Square Error). L'expression analytique du récepteur MMSE est la suivante : K , -I Dk = T"11" HkTkT'Hk +IN + HkT. THHk (1.3) Nk i=l,imk Wk = Le procédé décrit dans [8] est le suivant : 1. Initialiser les précodeurs Tk ,k E }1, - ,K} 2. Calculer selon la relation (1.3) les décodeurs MMSE correspondant aux précodeurs T. pour chaque utilisateur. 3. Calculer la nouvelle distribution des poids minimisant le MSE donnée par la formule (1.4) 4. Recalculer les nouveaux précodeurs en appliquant (1.1) 5. Reprendre les étapes 2. à 4. jusqu'à la convergence. Pour analyser les performances du système ainsi obtenu, on se base sur la valeur du débit total 25 du système qui est la somme des débits SR offerts aux différents utilisateurs : SR = log, ~I+ HkTk k k=, Tk +N 1 En suite, il faut définir les poids à affecter à chacun des flux. Cette distribution doit être inversement proportionnelle à l'erreur quadratique moyenne MSE (Mean Square Error). Elle est déterminée par l'expression (1.4) comme étant l'inverse de la matrice de l'erreur quadratique moyenne calculée pour chaque utilisateur. K V-I A Ik +rH" IN + ~ HkT THHk HkTk ~k / (1.4) (1.5) K Où le terme FÀ = Hk T T"Hk représente l'interférence générée par les autres 1=~,lxk utilisateurs et captés par l'utilisateur k . Ce procédé présente une saturation à haut rapport signal à bruit SNR avec une variation de la pente de la courbe comme illustrée par la figure 5. Ce problème de saturation se rajoute à un problème 5 de convergence connu pour les solutions itératives simples. La relation (1.1) pour le calcul du précodeur est une fonction directe des décodeurs utilisés par les différents utilisateurs. Le choix des décodeurs a de ce fait un impact direct sur les performances du système obtenu avec [8] mais il n'existe pas de décodeur qui permette d'obtenir des gains pour tout rapport signal à bruit SNR. 10 Une solution consiste à appliquer plusieurs algorithmes avec différents décodeurs et de choisir le meilleur mais ceci a pour inconvénients d'augmenter énormément la complexité et la consommation de ressources de calcul sans toutefois garantir l'obtention des meilleures performances. Exposé de l'invention L'invention propose une technique d'émission et une technique de réception pour un système 15 MIMO multi utilisateurs multiflux permettant d'améliorer l'optimisation du système connu pour une meilleure maximisation des débits de transmission du système. Le système MIMO multi utilisateurs K multiflux comprend NT antennes d'émission et NRk antennes de réception associées à K h=1 récepteurs associés respectivement à K utilisateurs. Le système MIMO comprend un émetteur qui met en oeuvre un procédé d'émission multiflux de N ( N S Q ) flux de données alloués respectivement à 20 K utilisateurs différents selon l'invention. Le procédé d'émission multiflux selon l'invention est particulièrement remarquable en ce qu'il comprend : la succession de deux algorithmes itératifs différents de calcul de K matrices de précodage d'un précodeur linéaire et de K matrices de décodage d'un récepteur, ce récepteur étant de 25 type MF normalisé avec une norme de Frobenius pour le premier algorithme, le deuxième algorithme itératif étant initialisé par une valeur de sortie du premier algorithme itératif, avant chaque calcul des matrices de précodage, un calcul de poids pour pondérer tous les flux. Les algorithmes itératifs ne présentent pas tous les mêmes particularités. Les inventeurs ont 30 observés que, contre toute attente, la cascade de deux algorithmes itératifs de type différent permet d'améliorer le débit total atteint comparativement à celui atteint avec un seul algorithme itératif sans pour autant augmenter globalement le nombre d'itérations. Cette cascade a la particularité de diminuer l'impact des maximas locaux sur le processus de convergence et d'augmenter par voie de conséquence 6 la convergence du deuxième algorithme itératif vers un maximum absolu. En effet, la valeur d'initialisation du deuxième algorithme est obtenue à l'issue de plusieurs itérations du premier algorithme itératif et non plus de manière arbitraire. Ainsi, la détermination de la valeur d'initialisation prend en compte les conditions opérationnelles du système MIMO (canal de transmission, bruit (SNR), nombre d'antennes) contrairement à un choix arbitraire. Le basculement du premier algorithme au deuxième algorithme est effectué de façon dynamique selon un test de sortie basé sur un seuil de variation du débit atteint sur une fenêtre donnée d'itérations. De manière alternative, il peut être fixé un nombre maximal d'itérations. Ce test assure que la valeur des matrices initiales utilisées par le deuxième algorithme prend suffisamment en compte les variations des conditions opérationnelles ; le nombre d'itérations du premier algorithme est donc variable en fonction de ces conditions opérationnelles. Typiquement, le premier algorithme itératif est choisi comme présentant une variation non stable du débit total et le deuxième algorithme est choisi comme présentant une variation strictement croissante du débit total. Plus particulièrement, le premier algorithme et le deuxième algorithme prennent en compte un type de précodage linéaire dit WMMSE qui minimise une erreur quadratique moyenne et qui permet de traiter du multiflux. Selon un mode particulier, le premier algorithme prend en compte un premier type de récepteur dit MF normalisé par la norme de Frobenius et le deuxième algorithme prend en compte un deuxième type de récepteur dit MMSE. Ce choix est particulièrement avantageux car le récepteur de type MF (Matched Filter) permet d'obtenir des performances optimales à très hauts SNR alors que le récepteur de type MMSE possède de bon résultats à bas SNR, ce qui permet d'obtenir une solution polyvalente. L'invention permet donc de contourner les problèmes des maximas locaux par la combinaison des solutions itératives basées sur différents récepteurs en exploitant leurs différents points forts et, par conséquent, d'améliorer la valeur du débit total SR du système. L'invention peut en outre être exprimée sous la forme plus détaillée d'un procédé d'émission multiflux de N flux de données alloués respectivement à K utilisateurs différents, mis en oeuvre par K un émetteur destiné à un système MIMO multi utilisateurs à Nr antennes d'émission et I NRk k=1 antennes de réception associées à K récepteurs associés respectivement à K utilisateurs. Le procédé 30 comprend : une initialisation de matrices de précodage selon un précodage linéaire d'un premier type (MF), de manière itérative avec un minimum de WINmp itérations, un calcul, prenant initialement en compte les matrices de précodage initialisé, de matrices de décodage selon un premier type de récepteur, de type MF normalisé avec une norme de Frobenius, un calcul de poids pour tous les flux pour pondérer le calcul suivant des matrices de précodage et un calcul des matrices de précodage selon un précodage linéaire d'un second type (WMMSE) en tenant compte des poids, avec un test de sortie des itérations basé sur un seuil de variations du débit atteint sur les dernières WINp itérations ou basé sur un nombre maximal d'itérations, - une sélection de K matrices de précodage calculées sur une même itération offrant le meilleur débit total parmi les matrices de précodage calculées sur la fenêtre WIN'F , de manière itérative, un calcul des matrices de décodage selon un deuxième type de récepteur (MMSE) différent du premier prenant initialement en compte les matrices de précodage sélectionnées, un calcul de poids pour tous les flux pour optimiser le calcul suivant des matrices de précodage et un calcul de matrices de précodage selon le précodage linéaire du second type (WMMSE) en tenant compte des poids, avec un test de sortie du calcul itératif basé sur un seuil de variations du débit entre itérations successives ou basé sur un nombre maximal d'itérations, l'émission des K dernières matrices de décodage calculées à destination respectivement des K récepteurs recevant les N flux, le précodage des N flux par les K dernières matrices de précodage calculées. L'invention a en outre pour objet un émetteur multiflux adapté pour un système multi utilisateurs MIMO de télécommunication comprenant NT antennes d'émission destinées à être K connectées à l'émetteur, NR antennes de réception et K récepteurs associés respectivement à k=1 k K K utilisateurs et connectés respectivement à NR parmi les IN R antennes de réception, pour k k=1 k émettre simultanément N flux de données alloués respectivement aux K utilisateurs. L'émetteur comprend : K pré-codeurs linéaires de matrices d'émission Tk pour générer K vecteurs intermédiaires de taille NT x 1, par pré-codeur, un moyen de calcul (CALCOD) adapté pour : o de manière itérative avec un minimum de WIN'F itérations, calculer une matrice de décodage selon un premier type de récepteur, de type MF normalisé avec une norme de Frobenius, calculer des poids pour tous les flux pour pondérer le calcul suivant dese matrices de précodage et calculer des matrices de précodage selon un précodage linéaire d'un second type (WMMSE) en tenant compte des poids, avec un test de sortie des itérations basé sur un seuil de variations du débit atteint sur les dernières WINw itérations ou basé sur un nombre maximal d'itérations, o sélectionner K matrices de précodage calculées sur une même itération offrant le meilleur débit total parmi les matrices de précodage calculées sur la fenêtre WIN'F , o de manière itérative, calculer des matrices de décodage selon un deuxième type de récepteur (MMSE) différent du premier prenant initialement en compte les matrices de précodage sélectionnées, calculer des poids pour tous les flux pour pondérer le calcul suivant des matrices de précodage et calculer des matrices de précodage selon le précodage linéaire du second type (WMMSE) en tenant compte des poids, avec un test de sortie du calcul itératif basé sur un seuil de variations du débit entre itérations successives ou basé sur un nombre maximal d'itérations , les K matrices d'émission des K pré-codeurs linéaires étant égales aux K dernières matrices de précodage calculées, NT additionneurs pour additionner les K vecteurs Tk sL intermédiaires pour générer un 15 vecteur d'alimentation des NT antennes, un moyen d'émission des K dernières matrices de décodage calculées à destination des K récepteurs. L'invention a en outre pour objet un système multi utilisateurs MIMO de télécommunication comprenant un émetteur adapté selon l'invention, NT antennes d'émission connectées à l'émetteur, K 20 1 NR antennes de réception et K récepteurs adaptés associés respectivement à K utilisateurs et k=1 k K connectés respectivement à NR parmi les IN R antennes de réception. Chaque récepteur k k k=1 k comprend : un moyen de réception de la matrice de décodage de flux, un décodeur linéaire adapté pour extraire les flux servis pour l'utilisateur k parmi les N flux 25 au moyen de la matrice de décodage. Selon un mode de réalisation, chaque récepteur comprend un moyen pour estimer la matrice H k du canal de propagation. Selon une implémentation préférée, les étapes du procédé d'émission multiflux sont déterminées par les instructions d'un programme d'émission incorporé dans un circuit électronique telle 30 une puce elle-même pouvant être disposée dans un dispositif électronique tel un émetteur. Le procédé d'émission selon l'invention peut tout aussi bien être mis en oeuvre lorsque ce programme est chargé 9 dans un organe de calcul tel un processeur ou équivalent dont le fonctionnement est alors commandé par l'exécution du programme. En conséquence, l'invention s'applique également à un programme d'ordinateur, notamment un programme d'ordinateur sur ou dans un support d'informations, adapté à mettre en oeuvre l'invention. Ce programme peut utiliser n'importe quel langage de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet tel que dans une forme partiellement compilée, ou dans n'importe quelle autre forme souhaitable pour implémenter un procédé selon l'invention. Le support d'informations peut être n'importe quelle entité ou dispositif capable de stocker le programme. Par exemple, le support peut comporter un moyen de stockage, tel qu'une ROM, par exemple un CD ROM ou une ROM de circuit microélectronique, ou encore un moyen d'enregistrement magnétique, par exemple une disquette (floppy dise) ou un disque dur. Alternativement, le support d'informations peut être un circuit intégré dans lequel le programme est incorporé, le circuit étant adapté pour exécuter ou pour être utilisé dans l'exécution du 15 procédé en question. D'autre part, le programme peut être traduit en une forme transmissible telle qu'un signal électrique ou optique, qui peut être acheminé via un câble électrique ou optique, par radio ou par d'autres moyens. Le programme selon l'invention peut être en particulier téléchargé sur un réseau de type Internet. 20 Liste des figures D'autres caractéristiques et avantages de l'invention apparaîtront lors de la description qui suit de modes de réalisation donnés à titre d'exemples non limitatifs, description faite en regard des figures annexées suivantes. La figure 1 est un schéma d'un système MIMO linéaire multiflux multi utilisateurs selon l'art 25 antérieur. La figure 2 est un organigramme d'un procédé selon l'invention. La figure 3 est un schéma détaillé du pré-codage des si ,...,sic vecteurs contenant les N flux Si,..., SN de données selon l'invention. La figure 4 est un organigramme détaillé d'un mode de réalisation d'un procédé selon 30 l'invention . Les figures 5 et 6 représentent sous forme de courbes des résultats de simulation donnant une moyenne du débit total faite sur les réalisations du canal de transmission, en fonction d'un niveau de puissance totale émise qui impacte directement à la réception le rapport signal à bruit, pour un système MIMO multi utilisateurs multi flux mettant en oeuvre trois algorithmes différents. 35 Les figures 5b et 5c sont des loupes de la figure 5a. Description de modes de réalisation de l'invention Le schéma de la figure 1 représente un système MIMO linéaire multi utilisateurs multiflux selon l'art antérieur. Le système SYS comprend un émetteur avec un pré-codeur PRECOD formé de K pré- codeurs, côté station de base, et K récepteurs côtés utilisateurs qui ont tous une structure linéaire. L'émetteur est relié à NT antennes d'émission. Le récepteur de l'utilisateur k est relié à N& antennes de réception. Le canal de diffusion de l'émetteur aux récepteurs est représenté par K canaux de transmission de matrice Hk . Le schéma de la figure 2 représente un organigramme d'un procédé 0 selon l'invention. Le procédé 10 d'émission multiflux de N flux de données alloués à K utilisateurs différents est mis en oeuvre par un K émetteur destiné à un système MIMO multi utilisateurs à NT antennes d'émission et NRk k=1 antennes de réception associées à K récepteurs associés respectivement aux K utilisateurs. Le procédé comprend : - la succession de deux algorithmes (0.1, 0.2) itératifs différents de calcul de K matrices de 15 précodage d'un précodeur linéaire et de K matrices de décodage d'un récepteur, - avant chaque calcul des matrices de précodage T, un calcul de poids W pour pondérer tous les flux. Le récepteur correspondant au premier algorithme est de type MF (Matched Filter) normalisé avec une norme de Frobenius. Le deuxième algorithme itératif est initialisé par une valeur de sortie du premier 20 algorithme itératif. La figure 3 est un schéma détaillé du pré-codage des N flux de données. Ces flux sont placés dans des vecteurs sk transmis à chaque utilisateur selon le résultat d'optimisation réalisé où sk = Vk sk . Les vecteurs sk sont des vecteurs de taille NI?, x 1 avec rang (Tk ) premiers éléments contenant les x flux sélectionnés et destinés à l'utilisateur k et complétés par des 0 . La matrice Vk est la matrice 25 unitaire droite de la décomposition en valeur propre ou SVD (Singular Value Decoposition) de la matrice TA selon la terminologie anglosaxonne qui permet d'écrire la matrice Tk sous la forme factorisée : UkEk V H , avec UA la matrice unitaire contenant les vecteurs propres gauche, Vk la matrice unitaire des vecteurs propres droite, Ek la matrice nulle à l'exception d'une diagonale qui contient les valeurs propres. Le pré-codeur PRECOD est formé de K pré-codeurs PRECOD1,...,K. Les 30 flux pour un utilisateur k se trouvant dans le vecteur sk = Vk sk sont multipliés par la matrice 11 d'émission Tk du précodeur k . Les composantes des vecteurs de sorties des pré-codeurs, ou vecteurs intermédiaires, sont additionnées parNr additionneurs A~l NT . Le vecteur de sortie di,...,dNr des additionneurs correspond au signal transmis sur le canal de propagation, les Nr antennes d'émission ne sont pas représentées. Le canal de propagation CH est représenté par sa matrice H . Le 5 récepteur REk de l'utilisateur k exploite Nk signaux reçus par NI?, antennes de réception non représentées. Le signal reçu par une antenne i provient des Nr antennes d'émission et est donc égal au signal émis di,...,dNr pondéré par les coefficients 4,1 ,... h NT du canal. Le pré-codeur comprend un module CALCOD de calcul des matrices d'émission et de réception pour les K utilisateurs à partir de la connaissance des coefficients Hk du canal de propagation pour 10 chaque utilisateur k . Contrairement aux techniques connues qui déterminent séparément les matrices initiales d'émission et de réception, le module de calcul CALCOD selon l'invention est adapté pour déterminer conjointement ces matrices initiales en mettant en ceuvre un premier algorithme itératif multi utilisateurs multi flux pour système MU-MIMO qui prend en compte l'expression générale du débit 15 total du système MIMO multi utilisateurs SYS pour maximiser le débit total transféré à travers le canal CH. Après plusieurs itérations, typiquement au moins trois, le module de calcul CALCOD bascule du premier algorithme itératif au deuxième algorithme itératif et utilise les matrices calculées par le premier algorithme itératif pour initialiser les valeurs des matrices du deuxième algorithme. 20 Ce point de basculement ou de "flip" entre algorithmes est crucial pour la convergence. En effet, changer d'un récepteur d'un premier type à un récepteur d'un deuxième type trop tôt peut mener à une mauvaise initialisation qui ne peut être corrigée par le récepteur de deuxième type et changer de récepteur trop tard peut ne pas permettre de récupérer les avantages que présente un récepteur de deuxième type. Une prise de décision du basculement effectuée de manière dynamique permet de 25 prendre en compte la variation de la valeur optimale de la valeur de basculement en fonction de la réalisation du canal, du SNR du système et de la configuration utilisée (Nombre d'antennes à l'émission et à la réception). Le basculement du premier algorithme au deuxième algorithme est effectué selon l'invention selon un procédé de prise de décision basé sur un critère d'arrêt. Ce procédé de prise de décision 30 consiste à observer sur une fenêtre glissante ayant une taille de WIN'F préfixée l'évolution du premier algorithme en cours d'exécution. Ce premier algorithme est exécuté jusqu'à sa convergence. La convergence est déterminée par la stabilisation de la valeur du débit total SR sur la fenêtre d'observation. Une fois que ce premier algorithme itératif est stabilisé, et donc qu'il a convergé, le module de calcul CALCOD bascule sur le deuxième algorithme en prenant le point de convergence comme point d'initialisation (défini par le couple de matrices d'initialisation (émission, réception)) et exécute ce deuxième algorithme. En fait, l'initialisation du deuxième algorithme ne nécessite la connaissance que de la matrice d'émission. La fin de l'algorithme est définie soit par un nombre maximal d'itérations NmâX soit par la stabilisation du débit total SR du système évaluée entre itérations successives. Selon un mode de réalisation préféré du procédé, le premier algorithme itératif associe un précodeur WMMSE et un récepteur MF et le deuxième algorithme associe un précodeur WMMSE et un récepteur MMSE. Le déroulement du procédé illustré par l'organigramme de la figure 4 est le suivant pour l'ensemble des N flux : 1/ initialisation des paramètres, iter = 0, NmâX (nombre d'itérations maximale global), WIN~,F (fenêtre d'observation), E, EME. et O,,MSE (nombre minimal d'itérations du deuxième algorithme, AmmsE E N* et 1 b est un facteur de normalisation pet mettant de respecter la contrainte de puissance K ltr(T. TH ) = PT . Après l'initialisation des précodeurs, le procédé incrémente l'indice d'itération : iter = iter +1. 2/le procédé calcule les décodeurs MF Dr correspondant aux précodeurs TkC"-' pour chaque utilisateur. Ce décodeur MF est donné par la formule : H (HkTk ) (1.2). où IIAI) représente la norme Frobenius de la matrice A . 3/ Le procédé calcule les nouveaux poids Wk7Q. en fonction des précodeurs T;!"-' pour tous les flux minimisant le MSE en appliquant la formule (1.4). 4/ le procédé calcule les nouveaux précodeurs T'' en fonction de D'" et WkLer avec l'équation (1.1). 25 5/ le procédé calcule la somme des débits SR1L,r obtenu en injectant Tk,er dans l'équation (1.5). 6/ les étapes 2/ à 5/ sont répétées WINvE fois en incrémentant à chaque fois iter = iter + 1. (HkTk 7/ le procédé vérifie la convergence de l'algorithme MF en vérifiant la contrainte Var( _ {YIN air 1 g'lN.itr 1 SR,ter-wIN..F ... SR.fe, _) _ SRrteY-r SR;ter-i skip r=o V WIN m, l=o l Si la condition est vérifiée, le procédé passe à 8l. Sinon le procédé incrémente l'indice d'itération : iter = iter + 1 et reboucle à l'étape 2/ sauf si l'indice d'itération atteint iter = N'âx - AmmsE car dans 5 ce cas le procédé passe à 8/. 8/ le procédé sélectionne les précodeurs qui donnent la meilleure performance dans la fenêtre WINmE considérée. A cette fin, le procédé détermine la valeur maximale des débits totaux calculés sur la fenêtre WINMF, détermine l'itération correspondante : itersR.,, et les précodeurs calculés pour cette itération et les mémorise : Tkte' = Tkfe''R'"" . La sélection nécessite que le procédé sauvegarde les 10 précodeurs calculés sur la fenêtre WIN,,F ainsi que les SR correspondants. 9/ le procédé incrémente le compteur d'itérations : iter = iter +1 et calcule les décodeurs MMSE Dk' correspondant aux précodeurs Tki Y-1 pour chaque utilisateur k . Ce décodeur MMSE est donné par la relation (1.3). 10/ le procédé calcule les nouveaux poids Wi,»fe'. en fonction des précodeurs Tk7e`-1 minimisant le MSE 15 donnés par la relation (1.4). 11/ le procédé calcule les nouveaux précodeurs TkCeY en injectant Wkre' et Dke' dans la relation (1.1). 12/ le procédé calcule la somme des débits SR11e,. obtenus en injectant TkCe' dans l'équation (1.5). 13/ les étapes 9/ à 12/ sont répétées jusqu'à convergence de l'algorithme itératif. La convergence est déterminée par la stabilisation de la valeur du débit total I SR11er - SR,te,._11 14 système moyenné sur les réalisations du canal est représentée sur les figure 5a, 5b et 5c. Ces figures comportent les courbes des algorithmes simples itératifs "WMMSE/MMSE" et "WMMSE/MF" représentant l'algorithme itératif de [8] avec un précodeur WMMSE et respectivement un récepteur MMSE pour la première et MF pour la seconde. La courbe "WMMSE/MFMMSED" correspond à un procédé selon l'invention. La comparaison des courbes de la figure 5a pet met de constater qu'un procédé selon l'invention permet d'obtenir le meilleur des deux solutions itératives individuelles proposées dans [8]. Il permet en outre de réaliser un gain supplémentaire assez important de l'ordre de 3 bits/s/Hz par rapport à la solution WMMSE/MF à haut SNR (donné par la courbe 5c) sans pour autant pâtir des mauvaises performances de ce dernier algorithme à bas SNR illustré par la figure 5b. En effet, les courbes de la figure 5b montrent aussi un gain (même s'il est faible) par rapport au meilleur algorithme à savoir le WMMSE/MMSE. Ces performances améliorées sont ainsi obtenues sans introduction de complexité supplémentaire par rapport à l'algorithme mono-itératif présenté dans [8]. La comparaison des courbes de l'invention avec des solutions mono flux représentées par les courbes "MMSE/Normalized MMSE", "SJNR/MSR" présentées dans [9] et "MMSE/MMSE Original" présentée dans [3] montre que même dans un système favorable à une optimisation en simple flux, les performances obtenues par l'invention sont bien meilleures. En outre, la comparaison de la courbe "WMMSE/MFMMSED" à celle de la capacité du canal obtenue avec un algorithme DPC donné en [10] montre que le procédé selon l'invention présente une courbe très proche et parallèle à celle obtenue avec un algorithme DPC et parvient de ce fait à bien séparer les flux. Un autre exemple permet d'illustrer un procédé selon l'invention. Il est relatif à un système MIMO multi utilisateurs comprenant d'une part une station de base avec NT = 4 antennes d'émission et d'autre part deux récepteurs associés respectivement à K = 2 utilisateurs ayant chacun NR = 4 antennes de réception. Les simulations prennent en compte des canaux de Rayleigh complètement décorrélés entre les K utilisateurs. Les valeurs utilisées des paramètres sont les suivantes W1.NA1p = 5 , s =10-', OMMSr = 5 et st,F =10-' . Le nombre total d'itérations Ni aX est fixé à 50. La figure 6 représente les mêmes algorithmes que ceux représentés à la figure 5. Cet exemple montre encore plus clairement les gains importants procuré par le procédé selon l'invention. En effet, la comparaison avec les solutions multiflux existantes montre que la supériorité en termes de performances est toujours confirmée. La comparaison avec les solutions simple flux montre que la supériorité devient très importante avec des pentes très différentes. Ceci peut facilement s'expliquer par les degrés de liberté du système qui sont exploités. Les solutions simple flux se focalisent sur l'optimisation d'un flux par utilisateur (dans ce cas deux flux en total) alors que le système peut en supporter plus (ici 4 flux en total). Références : [1] Y. Wu, J. Zhang, M. Xu, S. Zhou, Xibin Xu, "Multiuser MIMO Downlink Precoder Design Based on the Maximal SJNR Criterion," IEEE GLOBECOM 2005 proceedings, pages 2694-2698 [2] H. Wang, X. Xu, M. Zhao, W. Wu, Y. Yao, "Robust Transmission for Multiuser MIMO Downlink Systems with Imperfect CSIT," IEEE WCNC 2008, pages 340-344 [3] M. Costa, "Writing on Dirty Paper," IEEE Trans. Inf. Theory, vol. 29, no.3, pp.439-441, May 1983. [4] G. Caire and S. Shamai, "On the achievable throughput of a multiantenna Gaussian broadcast channel," IEEE Trans. Inform. Theory, vo1.49, no.7, pp.1691-1706, July 2003. [5] J. Zhang, Y. Wu, S. Zhou, and J. Wang, "Joint linear transmitter and receiver design for the 15 downlink of multiuser MIMO systems," IEEE Commun. Lett., vol. 9, no. 11, pp. 991993, Nov. 2005. [6] M. Lee and S.K. Oh, "A Per-User Successive MMSE Precoding Technique in Multiuser MIMO Systems," IEEE Vehicular Technology Conference (VTC2007-Spring), page(s): 2374-2378, 22-25 April 2007. 20 [7] Q. H. Spencer, A. L. Swindlehurst, and M. Haardt, "Zero-forcing methods for downlink spatial multiplexing in multiuser MIMO channels," IEEE Trans. Signal Process., vol. 52, no. 2, pp. 461471, Feb. 2004. [8] Christensen, S.S.; Agarwal, R.; de Carvalho, E.; Cioffi, J.M.; , "Weighted Sum-Rate Maximization Using Weighted MMSE for MIMO-BC Beamforming Design," Communications, 2009. ICC '09. 25 IEEE International Conference on , vol., no., pp.1-6, 14-18 June 2009 [9] M. Amara, Y. Yuan-Wu, and D. Slock, "Receiver and transmitter iterative optimization using maximum sum-rate criterion for multi-user MIMO systems," in ISCCSP 2010. IEEE International Symposium on Communications, Control and Signal Processing, March 2010. [10] N. Jindal, W. Rhee, S. Jafar, and Goldsmith, "Sum power iterative water-filling for multi- 30 antenna gaussian broadcast channels," IEEE Trans. Inform. Theory, vol. 51, pp. 1570-1580, 2005. REVENDICATIONS1. Procédé (0) d'émission multiflux de N flux de données alloués à K utilisateurs différents, mis en ceuvre par un émetteur destiné à un système MIMO multi utilisateurs à NT antennes d'émission et K NRk antennes de réception associées à K récepteurs associés respectivement aux k=1 K utilisateurs, caractérisé en ce qu'il comprend : - la succession de deux algorithmes (0.1, 0.2) itératifs différents de calcul de K matrices de précodage d'un précodeur linéaire et de K matrices de décodage d'un récepteur, ce récepteur étant de type MF normalisé avec une norme de Frobenius pour le premier algorithme, le deuxième algorithme itératif étant initialisé par une valeur de sortie du premier algorithme itératif, - avant chaque calcul des matrices de précodage, un calcul de poids pour pondérer tous les flux. 2. Procédé (0) d'émission multiflux de N flux de données alloués respectivement à K utilisateurs différents selon la revendication 1, dans lequel le deuxième algorithme est adapté pour un deuxième type de récepteur présentant une variation strictement croissante du débit total. 3. Procédé (0) d'émission multiflux de N flux de données alloués respectivement à K utilisateurs différents, mis en oeuvre par un émetteur destiné à un système MIMO multi utilisateurs à NT K antennes d'émission et NR antennes de réception associées à K récepteurs associés k k=1 respectivement à K utilisateurs, caractérisé en ce qu'il comprend : une initialisation de matrices de précodage selon un précodage linéaire d'un premier type (MF), de manière itérative avec un minimum de WINmF itérations, un calcul, prenant initialement en compte les matrices de précodage initialisé, de matrices de décodage selon un premier type de récepteur, de type MF normalisé avec une norme de Frobenius, un calcul de poids pour tous les flux pour pondérer le calcul suivant des matrices de précodage et un calcul des matrices de précodage selon un précodage linéaire d'un second type (WMMSE) en tenant compte des poids, avec un test de sortie des itérations basé sur un seuil de variations du débit atteint sur les dernières WINMF itérations ou basé sur un nombre maximal d'itérations,une sélection de K matrices de précodage calculées sur une même itération offrant le meilleur débit total parmi les matrices de précodage calculées sur la fenêtre WINmp, de manière itérative, un calcul des matrices de décodage selon un deuxième type de récepteur (MMSE) différent du premier prenant initialement en compte les matrices de précodage sélectionnées, un calcul de poids pour tous les flux pour optimiser le calcul suivant des matrices de précodage et un calcul de matrices de précodage selon le précodage linéaire du second type (WMMSE) en tenant compte des poids, avec un test de sortie du calcul itératif basé sur un seuil de variations du débit entre itérations successives ou basé sur un nombre maximal d'itérations, et en ce qu'il comprend : - l'émission des K dernières matrices de décodage calculées à destination respectivement des K récepteurs recevant les N flux, le précodage des N flux par les Kdernières matrices de précodage calculées. 4. Procédé (0) d'émission multiflux de N flux de données alloués à K utilisateurs différents selon la revendication 3, dans lequel le vecteur de décodage selon un deuxième type de récepteur correspond à un récepteur de type MMSE qui minimise une erreur quadratique moyenne. 5. Emetteur (EM) multiflux adapté pour un système multi utilisateurs MIMO de télécommunication K comprenant NT antennes d'émission destinées à être connectées à l'émetteur, NR antennes k=1 k de réception et K récepteurs associés respectivement à K utilisateurs et connectés respectivement K å NR parmi les 1 N antennes de réception, pour émettre simultanément N flux de k k=1 Rk données alloués respectivement aux K utilisateurs, caractérisé en ce que l'émetteur comprend : - K pré-codeurs linéaires de matrices d'émission TÂ pour générer K vecteurs intennédiaires de taille NT x 1, par pré-codeur, un moyen de calcul (CALCOD) adapté pour : o de manière itérative avec un minimum de WINmT. itérations, calculer une matrice de décodage selon un premier type de récepteur, de type MF normalisé avec une norme de Frobenius, 30 calculer des poids pour tous les flux pour pondérer le calcul suivant dese matrices de précodage et calculer des matrices de précodage selon un précodage linéaire d'un second type(WMMSE) en tenant compte des poids, avec un test de sortie des itérations basé sur un seuil de variations du débit atteint sur les dernières WINMF itérations ou basé sur un nombre maximal d'itérations, o sélectionner K matrices de précodage calculées sur une même itération offrant le meilleur débit 5 total parmi les matrices de précodage calculées sur la fenêtre WINMF , o de manière itérative, calculer des matrices de décodage selon un deuxième type de récepteur (MMSE) différent du premier prenant initialement en compte les matrices de précodage sélectionnées, calculer des poids pour tous les flux pour pondérer le calcul suivant des matrices de précodage et calculer des matrices de précodage selon le précodage linéaire du second type 10 (WMMSE) en tenant compte des poids, avec un test de sortie du calcul itératif basé sur un seuil de variations du débit entre itérations successives ou basé sur un nombre maximal d'itérations , les K matrices d'émission des K pré-codeurs linéaires étant égales aux K dernières matrices de précodage calculées, 15 - NT additionneurs pour additionner les K vecteurs Tk sk intermédiaires pour générer un vecteur d'alimentation des NT antennes, un moyen d'émission des K dernières matrices de décodage calculées â destination des K récepteurs. 20 6. Système (SYS) multi utilisateurs MIMO de télécommunication comprenant un émetteur (EM), K NT antennes d'émission connectées à l'émetteur, N~ antennes de réception et K k=1 récepteurs associés respectivement â K utilisateurs et connectés respectivement â NR parmi les k K NR antennes de réception, caractérisé en ce que : k-1 k 25 l'émetteur est selon la revendication 5, et en ce que chaque récepteur k comprend : un moyen de réception de la matrice de décodage de flux, un décodeur linéaire adapté pour extraire les flux servis pour l'utilisateur k parmi les N flux au moyen de la matrice de décodage, 30 - un moyen pour estimer la matrice Hk du canal de propagation. 7. Programme d'ordinateur sur un support d'informations, ledit programme comportant des instructions de programme adaptées à la mise en oeuvre d'un procédé d'émission multiflux de N flux de données alloués à K utilisateurs différents, mis en oeuvre par un émetteur destiné à un K système multi utilisateurs MIMO à NT antennes d'émission et 1 NR antennes de réception k=1 k associées à K récepteurs associés respectivement à K utilisateurs selon l'une quelconque des revendications 1 à 4, lorsque ledit programme est chargé et exécuté dans un émetteur (EM) destiné à mettre en oeuvre le procédé d'émission. 8. Support d'informations comportant des instructions de programme adaptées à la mise en oeuvre d'un procédé d'émission multiflux de N flux de données alloués à K utilisateurs différents, mis en oeuvre par un émetteur destiné à un système multi utilisateurs MIMO à NT antennes d'émission K NR antennes de réception associées à K récepteurs associés respectivement à K k utilisateurs, selon l'une quelconque des revendications 1 à 4, lorsque ledit programme est chargé et exécuté dans un émetteur (EM) destiné à mettre en oeuvre le procédé d'émission. k=1