FR 2883681 A1 20060929 FR 0502857 A 20050323 Nj Mi = lnij. i=1 PROCEDE D'ALLOCATION DE SOUS-BANDES AUX FLUX D'UNE LIAISON MULTICANAL DANS UN SYSTEME DE COMMUNICATION A MODULATION MULTIPORTEUSE La présente invention concerne un procédé d'allocation d'une pluralité de sous-bandes à une pluralité de flux d'une liaison multicanal dans un système de communication à modulation multiporteuse. L'invention trouve une application particulièrement avantageuse dans le domaine des liaisons multicanal à modulation multiporteuse, comme les liaisons xDSL, PLT ou Wireless, notamment pour augmenter sélectivement la qualité de service (QoS) de certains flux par rapport à d'autres. On rappelle que dans les systèmes de communication à modulation multiporteuse, en particulier la modulation multiporteuse discrète DMT io ( Discrete MultiTone ), la bande passante utilisée est divisée en une pluralité de sous-bande SB;, chaque sous-bande faisant l'objet d'une modulation par porteuse indépendante. Le nombre de bits et la puissance d'émission attribués à une sous-bande dépendent des contraintes imposées sur la ligne de transmission en termes d'atténuation, de bruit stationnaire, etc, is et varient donc d'une sous-bande à l'autre. D'autre part, on sait qu'une liaison multicanal peut transporter un certain nombre de flux FLN, chaque flux étant associé à un canal de la liaison. Par exemple, une liaison ADSL est prévue pour transmettre sept flux répartis dans sept canaux différents, à savoir quatre canaux unidirectionnels à haut débit, notés ASO, AS1, AS2, AS3, et trois canaux bidirectionnels à bas débit, notés LSO, LS1, LS2. Les canaux de transport de la liaison doivent donc être choisis en fonction du service correspondant au flux à transporter considéré. C'est ainsi que les flux descendants de services Internet ou de télévision numérique seront transmis sur des canaux unidirectionnels de type AS, tandis que les services de voix sur IP (VoIP) ou de téléconférence, ainsi que les flux remontants de services Internet ou de télévision numérique, seront transmis sur des canaux bidirectionnels de type LS. On comprend donc que, dans les systèmes de transmission à liaison multicanal comme l'ADSL, plusieurs services peuvent être offerts simultanément avec la contrainte que la somme des bits Mi à transmettre dans les flux FLN n'excède pas le débit total configuré pour la liaison. Après synchronisation et multiplexage, et avant répartition des bits dans les sous-bandes SB;, les flux sont organisés en trames de manière à ce que les bits à transmettre de chaque flux soient regroupés et se succèdent dans la io trame. On pourra ainsi trouver dans une trame l'ordre suivant: MI bits du flux FL1 d'un service Internet dans le canal ASO, puis M2 bits du flux FL2 d'un service de télévision numérique dans le canal AS1, puis M3 bits du flux FL3 d'un service de VoIP dans le canal LSO, puis M4 bits du flux FL4 d'un service de visioconférence dans le canal LS1, et ainsi de suite. De manière classique, la répartition des bits Mi des flux FLN dans les sous-bandes SB; se fait en deux étapes. Dans une première étape, on attribue à chaque sous-bande SB;, au moyen d'algorithmes d'allocation binaire de type RA ( Rate Adaptive ) connus en soi, un nombre n; de bits pouvant être transmis dans cette sous-bande, compte tenu du rapport signal à bruit de la ligne de transmission pour la sous-bande et compte tenu également d'une marge 1 de bruit. Plus cette marge de bruit est grande, plus la transmission est robuste aux différentes perturbations sur la ligne, perturbations impulsives notamment, et meilleure est la qualité de service QoS. Une deuxième étape de la procédure de répartition consiste à allouer les bits successifs des flux de la trame dans les sous-bandes SB1 selon l'ordre croissant de leur nombre n; de bits. Ce procédé d'allocation des bits est connu sous le nom de Tone Ordering . Le principe même des algorithmes d'allocation binaire actuellement utilisés a pour conséquence que les différents flux d'une liaison ADSL, par exemple, ne peuvent être transmis qu'avec une marge r de bruit identique, c'est-à-dire avec une même qualité de service QoS. Or, certains services, tels que la VoIP ou la visioconférence parmi les exemples précédemment cités, nécessitent a priori une meilleure qualité de service qu'une simple liaison Internet ou de télévision numérique. Aussi, le problème technique à résoudre par l'objet de la présente invention est de proposer un procédé d'allocation d'une pluralité de sousbandes à une pluralité de flux d'une liaison multicanal dans un système de communication à modulation multiporteuse, chaque flux étant successivement défini dans une trame de communication de ladite liaison multicanal par un nombre Mi de bits à transmettre et une marge ri de bruit, qui permettrait de > o privilégier la qualité de service QoS de certains flux par rapport à d'autres. La solution au problème technique posé consiste, selon la présente invention, en ce que ledit procédé comprend les étapes consistant à : a) associer à chaque sous-bande un rapport signal à bruit normalisé sur la liaison multicanal, b) classer les sous-bandes dans un ordre déterminé des rapports signal à bruit normalisés, c) déterminer par un algorithme d'allocation binaire une énergie E; par sous-bande, d) allouer pour chaque flux pris dans l'ordre dans ladite trame, un nombre Ni de sous- bandes consécutives prises dans l'ordre des rapports signal à bruit normalisés, de manière à ce que la somme des nombres Ri de bits dans chaque sous-bande allouée à chaque flux, le nombre de bits Ri étant défini par: n;i = log2(1+E;.(SNRo)i/ri), Nj soit égale à Mi: Mi = i=1 Ainsi, l'invention permet d'attribuer une qualité de service QoS supérieure à certains flux, dits flux privilégiés, en agissant sur la marge de bruit au niveau de l'allocation binaire, l'idée étant d'associer à ces flux privilégiés de marges de bruit supérieures à celles associés aux autres flux, dits flux non privilégiés. Notons qu'il serait possible d'augmenter la qualité de service QoS des flux privilégiés en augmentant uniformérnent la marge de bruit sur toutes les sous-bandes. Cette méthode aurait cependant pour conséquence d'augmenter inutilement la qualité de service QoS des flux non privilégiés et surtout de diminuer le débit sur l'ensemble de la liaison. Au contraire, le procédé selon l'invention permet de n'attribuer des marges de bruit plus grandes qu'aux seuls flux privilégiés, ce qui limite les pertes de performances en terme de débit par rapport à une augmentation uniforme de la marge de bruit. io De manière à se conformer à la procédure d'allocation Tone Ordering , ledit ordre déterminé est l'ordre croissant des rapports signal à bruit normalisés. L'invention prévoit par ailleurs des dispositions permettant de définir des règles d'allocation de sous-bandes qui n'auraient pas été allouées à l'issue de l'application du procédé conforme à l'invention. On appellera capacité restante l'ensemble de ces sous-bandes supplémentaires. Selon une première disposition de l'invention, si le nombre de sousbandes allouées est inférieur au nombre total de sous-bandes, l'étape d) est effectuée à nouveau en augmentant, par incrémentations successives, le nombre Mk de bits à transmettre dans la trame par des flux donnés à marge de bruit constant d'une quantité AMk = (Mk/EkMk).A, où A est un incrément donné, jusqu'à allouer la totalité des sous-bandes. Les flux FLk donnés dont il est question ici sont les flux non privilégiés au sens défini plus haut. Dans cette première disposition, la capacité restante après application du procédé, objet de l'invention, est donc partagée par les flux non privilégiés au prorata du nombre Mk de bits qu'ils doivent initialement transmettre. Une variante de cette première disposition consiste en ce que, si le nombre de sous-bandes allouées est inférieur au nombre total de sousbandes, l'étape d) est effectuée à nouveau par dichotomies successives à partir d'un intervalle initial [Minf,Msup] où MMinf est égal au nombre total de bits à transmettre Z;M; par l'ensemble des flux et MsUp égal au nombre total de bits à transmettre dans la trame par des flux donnés avec une marge de bruit inférieure à la marge minimale desdits flux donnés, en augmentant à chaque dichotomie le nombre Mk de bits à transmettre dans la trame par les flux donnés à marge de bruit constant d'une quantité AMk = (Mk/IkMk).(Mc-Minf) où Mc est le point milieu de l'intervalle de dichotomie précédent, jusqu'à allouer la s totalité des sous-bandes. Selon une deuxième disposition concernant l'allocation de la capacité restante des sous-bandes, si le nombre de sous-bandes allouées est inférieur au nombre total de sous-bandes, l'étape d) est effectuée à nouveau en augmentant, par incrémentations successives, la marge de bruit de flux io donnés d'un incrément, jusqu'à allouer la totalité des sousbandes. Les flux FLi donnés dont il est question ici sont les flux privilégiés au sens défini plus haut. Dans cette deuxième disposition, la capacité restante après application du procédé, objet de l'invention, est donc partagée entre les flux privilégiés en augmentant leur marge ri de bruit d'une quantité constante Ar jusqu'à atteindre la capacité maximale de l'ensemble des sous-bandes. Une variante de cette deuxième disposition consiste en ce que, si le nombre de sous-bandes allouées est inférieur au nombre total de sousbandes, l'étape d) est effectuée à nouveau en augmentant la marge de bruit de flux donnés d'une quantité calculée par dichotomies successives à partir d'une quantité initiale Arc = (Arinf+Orsup)/2 avec Orinf = 0 et Arsup égal à une valeur suffisamment grande, jusqu'à allouer la totalité des sous-bandes. L'invention concerne également un produit programme d'ordinateur comprenant des instructions de code de programme pour l'exécution des étapes du procédé selon l'invention lorsque ledit programme est exécuté sur un ordinateur, ainsi qu'un support dudit produit programme d'ordinateur. Un module de répartition dans les sous-bandes d'un émetteur d'une liaison multicanal est, selon l'invention, notamment remarquable en ce qu'il comprend des moyens pour la mise en oeuvre du procédé selon l'invention. De même, un émetteur d'une liaison multicanal est remarquable en ce qu'il comprend le module de répartition selon l'invention. La description qui va suivre en regard des dessins annexés, donnés à titre d'exemples non limitatifs, fera bien comprendre en quoi consiste l'invention et comment elle peut être réalisée. La figure 1 est un schéma d'un émetteur d'une liaison multicanal du type ADSL dans un système de communication à modulation multiporteuse. La figure 2 est un schéma de trame à transmettre dans la liaison multicanal de la figure 1. La figure 3 est un diagramme donnant le rapport signal à bruit normalisé de sous-bandes classées dans l'ordre des fréquences croissantes. La figure 4 est un diagramme donnant le rapport signal à bruit normalisé des sous-bandes de la figure 3 classées dans l'ordre des rapports signal à bruit normalisés croissants. io La figure 5 est un diagramme donnant l'énergie attribuée aux sousbandes de la figure 4. La figure 6 est un diagramme illustrant l'allocation des flux de la trame de la figure 1 dans les sous-bandes de la figure 5. Sur la figure 1 est schématisé un émetteur d'une liaison ADSL dans un is système de communication à modulation multiporteuse. Comme cela a déjà été indiqué plus haut, cette liaison cornporte sept canaux, à savoir quatre canaux unidirectionnels haut débit ASO à AS3, et trois canaux bidirectionnels bas débit LSO à LS2. Dans l'exemple choisi aux figures 1 et 2, seuls quatre flux sont à transmettre sur la liaison: les flux FUI et FL2 sur les canaux ASO et AS1 et les flux FL3 et FI4 sur les canaux ALO et ALI. Ainsi que l'indique la figure 2, ces flux sont respectivement associés aux services Internet (flux descendants), VoIP, les flux remontants de télévision numérique et Internet, les flux descendants de télévision numérique, et la visioconférence. Ces flux sont traités par une première unité 10 où ils sont synchronisés et multiplexés dans l'une ou l'autre de deux mémoires tampons différentes connues sous les noms de mémoire tampon rapide ( Fast buffer ) et de mémoire tampon entrelacée ( Interleaved buffer ). La mémoire tampon entrelacée se distingue de la mémoire tampon rapide par la possibilité de corriger les erreurs de transmission, cette possibilité étant obtenue cependant au détriment d'un retard. En sortie de l'unité 10 de synchronisation et de multiplexage, on obtient des trames constituées en fait de deux parties: l'une contient les données de la mémoire tampon rapide et l'autre celles de la mémoire tampon entrelacée. Dans la mesure où l'invention ne fait aucune distinction entre la provenance des données, les figures 1 et 2 montrent une seule trame T dont il faut surtout retenir qu'elle regroupe successivement les données de chaque flux. Ici, l'ordre des flux est FL1, FL2, FL3 et FL4. On note M1, M2, M3, M4 les bits à transmettre respectivement par chacun de ces flux dans la trame T. Chaque flux FLN est transmis avec une marge r; de bruit qui dépend de la qualité que l'on désire obtenir pour le service associé. Dans l'exemple proposé, les marges 12 et r4 pourront être prises plus grandes que les marges f i et r3, la télévision numérique et la visioconférence exigeant une qualité de io service meilleure qu'une connexion Internet ou de voix sur IP. Comme représenté sur la figure 1, la trame T est ensuite traitée par une unité 20 chargée de répartir les bits des flux de la trame dans les sousbandes du système de communication à modulation multiporteuse. L'invention concerne précisément le procédé permettant d'allouer lesdites sous-bandes aux différents flux FLi considérés. La première étape du procédé d'allocation selon l'invention consiste à associer à chaque sous-bande SB; un rapport signal à bruit rationalisé (SNR0);. La figure 3 montre un exemple de spectre de sous-bandes SB; sur lequel on a porté en ordonnées le rapport signal à bruit rationalisé (SNRo); associé. Puis, dans une deuxième étape, les sous-bandes SB; sont classées dans l'ordre des rapports signal à bruit normalisés (SNRo); croissants. Le résultat de ce classement est illustré sur la figure 4. Par convention, l'indexation des sous-bandes SB; selon l'indice i est effectuée en fonction de ce classement. Le rapport signal à bruit normalisé (SNRo); augmente donc en même temps que l'indice i. Dans une troisième étape représentée sur la figure 5, on applique à la distribution de la figure 4 un algorithme d'allocation binaire de type RA ( Rate Adaptive ) de manière à déterminer l'énergie E; pour chaque sousbande SB;. Cette détermination est effectuée en prenant une même valeur de marge de bruit, par exemple la plus petite parmi toutes celles associées aux différents flux. Enfin, la figure 6 montre comment est réalisée la quatrième étape d'allocation des sous-bandes SB; aux flux FLN. Les flux FLi sont pris dans l'ordre dans lequel ils apparaissent dans la trame T, et on leur alloue, chacun, un nombre Ni de sous-bandes consécutives prises dans l'ordre des rapports signal à bruit normalisés de la figure 5. Le nombre Ni est déterminé par le nombre Mj de bits qui doivent être transmis par le flux FLi dans la trame. Plus précisément, la somme des nombres nii de bits dans chacune des Nj sous-bandes allouées au flux FLi, compte tenu de la marge ri souhaitée pour ce flux, doit être égale à M. nii est donné par la formule: nii = log2(1+Ei.(SNRO)i/ri), > 0 Ni et Mi = i=1 Dans l'exemple de la figure 6, on a choisit r1=r3 Pour chaque sous-bande SB;, on peut donc calculer deux valeurs de nii: l'une, la plus grande, obtenue pour ri=r1=r3, l'autre, la plus faible, obtenue pour ri=r2=r4. Ces deux valeurs sont représentées sur la figure 6. Concernant le flux FL1, le nombre de sous-bandes allouées vaut N1 = 2 et M1 = n11+n21. De même, on obtient pour les flux FL2, FL3 et FL4: N2 = 4 et M2 = n32+n42+n52+n62, N3 = 2 et M3 = n73+n83, N4 = 4 et M4 = n94+n104+ n114+n124 Une fois que tous les flux sont traités, il peut se produire que le nombre ZiNj de sous-bandes allouées soit inférieur au nombre total de sous-bandes existantes. Dans ce cas, on peut décider d'allouer la capacité des sous-bandes restante à des flux particuliers, par exemple aux flux non privilégiés de la première allocation, à savoir ceux, FL1 et FL3, dont la marge de bruit est inférieure à celle des autres flux, FL2 et FL4, dits flux privilégiés. Pour ce faire, on commence par augmenter le nombre Mk de bits à transmettre des flux non privilégiés, notés FLk, d'une quantité AMk = (Mk/FkMk).A, où A est un incrément donné. Puis, on effectue à nouveau la quatrième étape d'allocation telle que définie plus haut. Si, à l'issue de cette opération, toutes les sous-bandes sont allouées, on arrête le processus. Par contre, s'il reste encore des sous-bandes non allouées, on effectue une nouvelle incrémentation en prenant pour incrément 2A. Et ainsi de suite jusqu'à allocation totale des sous-bandes. Une variante à cette méthode d'allocation de capacité restante consiste ro à procéder par dichotomie. On fixe d'abord une borne inférieure Minf et une borne supérieure Msup pour le nombre total de bits à transmettre en prenant pour Minf le nombre total de bits à transmettre ZiMi par l'ensemble des flux FLi et pour Msup le nombre total de bits à transmettre dans la trame par des flux FLk non privilégiés avec une marge de bruit inférieure à la marge minimale is desdits flux non privilégiés. A la première dichotomie, on augrnente le nombre de bits à transmettre par chaque flux non privilégié d'une quantité AMk = (Mk/FkMk). (Mc-Minf) ou Mc vaut (Minf+Msup)/2. On effectue à nouveau la quatrième étape d'allocation du procédé décrit ci-dessus en remplaçant Mk par Mk+AMk pour les flux non privilégiés FLk. Si, à l'issue de cette opération, toutes les sous-bandes sont allouées le processus s'arrête. Si le nombre de sous-bandes allouées restent inférieur au nombre total de sous-bandes à un nombre entier fixé près, on recommence le processus en prenant pour nouvelle borne inférieure Minf le point courant Mc précédent. Si, par contre, le nombre d'allocations nécessaires dépasse le nombre total de sous-bandes, le processus continue en prenant pour nouvelle borne supérieure Msup le point courant Mc précédent. Les dichotomies successives s'arrêtent lorsque toutes les sous- bandes sont allouées audit nombre entier fixé près. Une autre méthode d'allocation de la capacité restante de sous-bandes consiste à d'abord définir des flux privilégiés FLi qui sont ceux pour lesquels il a été décidé initialement d'augmenter la qualité de service QoS en leur attribuant une marge de bruit plus grande que celle des autres flux non i0 privilégiés. On rappelle que, dans les exemples pris précédemment, les flux privilégiés sont les flux FI2 et FL4. Selon cette autre méthode d'allocation, on procède à une première incrémentation d'une même quantité Ar de la marge r, de chaque flux privilégié FL1. Puis, on effectue à nouveau l'étape générale d'allocation des sous-bandes décrite plus haut. Si toutes les sous-bandes sont allouées, le processus s'arrête. Si, au contraire, il reste encore des sous-bandes à allouer, le processus se poursuit en incrémentant la marge de bruit des flux privilégiés de 2Ar. Et ainsi de suite jusqu'à allocation complète des sous-bandes. io Une variante à cette autre méthode d'allocation de la capacité restante est de procéder par dichotomies successives. Pour cela, on fixe une borne inférieure Ar;nf et une borne supérieure Arsup pour la marge de bruit à rajouter aux marges de bruit des flux privilégiés. On prendra Aria = 0 et L>rsup égale à une valeur suffisamment grande au sens où l'on sait à l'avance que le nombre de sous-bandes obtenu avec cette valeur est supérieur au nombre total de sous-bandes disponibles. On commence par augmenter les marges de bruit de tous les flux privilégiés de la quantité Arp = (L1r;nf+LlrSUp)/2, et on effectue à nouveau l'étape d'allocation des sous-bandes. Si, à l'issue de cette opération, toutes les sous-bandes sont allouées le processus s'arrête. Si le nombre de sous- bandes allouées restent inférieur au nombre total de sous-bandes à un nombre entier fixé près, on recommence le processus en prenant pour nouvelle borne inférieure Aria le point courant Arp précédent. Si, par contre, le nombre d'allocations nécessaires dépasse le nombre total de sous-bandes, le processus continue en prenant pour nouvelle borne supérieure Llrsup le point courant Ar précédent. Les dichotomies successives s'arrêtent lorsque toutes les sous-bandes sont allouées audit nombre entier fixé près. Il REVENDICATIONS 1. Procédé d'allocation d'une pluralité de sous-bandes (SB;) à une pluralité de flux (FLN) d'une liaison multicanal dans un système de communication à modulation multiporteuse, chaque flux (FLN) étant successivement défini dans une trame de communication de ladite liaison multicanal par un nombre Mi de io bits à transmettre et une marge r; de bruit, caractérisé en ce que ledit procédé comprend les étapes consistant à : a) associer à chaque sous-bande (SB;) un rapport signal à bruit normalisé (SNR0); sur la liaison multicanal, b) classer les sous-bandes (SB;) dans un ordre déterminé des rapports signal 15 à bruit normalisés (SNRo);, c) déterminer par un algorithme d'allocation binaire une énergie E; par sous-bande (SB;), d) allouer pour chaque flux (FLN) pris dans l'ordre dans ladite trame, un nombre Ni de sous-bandes (SB;) consécutives prises dans l'ordre des rapports signal à bruit normalisés, de manière à ce que la somme des nombres n;j de bits dans chaque sous-bande (S13;) allouée à chaque flux (FLN), le nombre de bits Ri étant défini par: n;j = Iog2(1+E;.(SNR0);/rj), Ni soit égale à Mi: Mj = En;j. 2. Procédé selon la revendication 1, caractérisé en ce que ledit ordre déterminé est l'ordre croissant des rapports signal à bruit normalisés (SNRo);. 3. Procédé selon l'une des revendications 1 ou 2, caractérisé en ce que, si le nombre de sous-bandes allouées est inférieur au nombre total de sous-bandes, l'étape d) est effectuée à nouveau en augmentant, par incrémentations successives, le nombre Mk de bits à transmettre dans la trame par des flux (FLk) donnés à marge (rk) de bruit constant d'une quantité AMk = (Mk/EkMk).A, où A est un incrément donné, jusqu'à allouer la totalité des sous-bandes. 4. Procédé selon l'une des revendications 1 ou 2, caractérisé en ce que, si le nombre de sous-bandes allouées est inférieur au nombre total de sous-bandes, l'étape d) est effectuée à nouveau par dichotomies successives à partir d'un intervalle initial [Minf,Msup] où Minf est égal au nombre total de bits à transmettre FjMj par l'ensemble des flux (FLN) et Msup égal au nombre total de bits à transmettre dans la trame par des flux (FLk) donnés avec une marge de bruit inférieure à la marge minimale desdits flux donnés, en augmentant à chaque dichotomie le nombre Mk de bits à transmettre dans la trame par les flux (FLk) donnés à marge (rk) de bruit constant d'une quantité AMk = (Mk/FkMk)É(Mc-Minf) où Mc est le point milieu de l'intervalle de dichotomie 1s précédent, jusqu'à allouer la totalité des sous-bandes. 5. Procédé selon l'une des revendications 1 ou 2, caractérisé en ce que, si le nombre de sous-bandes allouées est inférieur au nombre total de sous-bandes, l'étape d) est effectuée à nouveau en augmentant, par incrémentations successives, la marge (ri) de bruit de flux (FL1) donnés d'un incrément (Ar), jusqu'à allouer la totalité des sous-bandes. 6. Procédé selon l'une des revendications 1 ou 2, caractérisé en ce que, si le nombre de sous-bandes allouées est inférieur au nombre total de sous-bandes, l'étape d) est effectuée à nouveau en augmentant la marge (Fi) de bruit de flux (FL1) donnés d'une quantité calculée par dichotomies successives à partir d'une quantité initiale Arc = (Arinf+ Arsup)/2 avec Orinf = 0 et Arsup égale à une valeur suffisamment grande, jusqu'à allouer la totalité des sous-bandes. 7. Produit programme d'ordinateur comprenant des instructions de code de programme pour l'exécution des étapes du procédé selon l'une quelconque des revendications 1 à 6 lorsque ledit programme est exécuté sur un ordinateur. 8. Support du produit programme d'ordinateur selon la revendication 7. 9. Module de répartition dans les sous-bandes d'un émetteur d'une liaison multicanal, caractérisé en ce qu'il comprend des moyens pour la mise en oeuvre du procédé selon l'une quelconque des revendications 1 à 6. 10. Emetteur d'une liaison multicanal, caractérisé en ce qu'il comprend le module de répartition selon la revendication 9.