FR 2792127 A1 20001013 FR 9905048 A 19990421 La présente invention concerne un entrelaceur de canal et un multi- plexeur de plusieurs canaux de transport pour un système tel que celui en cours de spécification par le projet 3GPP. Un entrelaceur de canal est un dispositif placé entre le canal de transmission et le codeur (respectivement décodeur) de canal. L'objet du codeur/décodeur de canal est de contrer les effets des interférences. L'objet de l'entrelaceur de canal est d'espacer temporellement des symboles con- sécutifs à la sortie du codeur 104 (respectivement à l'entrée du décodeur) de canal. De la sorte une dégradation altérant plusieurs symboles consécutifs sur le canal, altère des symboles non consécutifs à l'entrée du décodeur de canal, ce qui évite de le saturer. L'effet recherché s'appelle le gain de diver- sité temporelle. Le groupe 3GPP est une association dont les membres proviennent de plusieurs organismes de standardisation régionaux dont notamment I'ETSI et l'ARIB, et dont le but est la standardisation d'un système de télé- communication de troisième génération pour les mobiles. Un des aspects fondamentaux distinguant les systèmes de troisième génération de ceux de seconde génération, est qu'outre qu'ils utiliseront plus efficacement le spec- tre radio, qu'ils permettront une très grande flexibilité de service. Les systè- mes de seconde génération offrent une interface radio optimisée pour cer- tains services, par exemple GSM est optimisé pour la transmission de la pa- role (téléphonie). Les systèmes de troisième génération offriront une inter- face radio adaptée à toutes sortes de services et de combinaisons de ser- vice. Un problème se posant alors et de multiplexer les services sans dégra- der le gain de diversité temporelle apporté par l'entrelaceur de canal. L'un des enjeux des systèmes radio mobile de troisième génération est de multiplexer efficacement sur l'interface radio des services n'ayant pas les mêmes exigences en terme de qualité de service. Notamment ces diffé- rences de qualité de service impliquent des canaux de transport respectifs ayant différentes tolérances aux délais, et donc différents entrelacements de canal, ainsi que, dans le système CDMA envisagé dans la proposition du 3GPP, différents équilibrages de débit. Ceci pose problème car il faut s'assurer que le multiplexage temporel des différents canaux de transport, ainsi que leur équilibrage de débit ne dégradent pas le gain de diversité temporelle apporté par l'entrelacement de canal. Dans le modèle OSI de l'ISO, un équipement de télécommunication est modélisé par un modèle en couche constituant une pile de protocoles o chaque niveau est un protocole apportant un service au niveau du dessus. Le niveau 1 est notamment en charge de mettre en oeuvre le codage de ca- nal 104 et l'entrelacement de canal. Le service apporté par le niveau 1 s'appelle "canaux de transport". Un canal de transport permet au niveau supérieur de transmettre des données avec une certaine qualité de service. La qualité de service est notamment caractérisée par le délai et le BER (si- gle anglo-saxon désignant le taux d'erreur binaire). Un entrelaceur apportant un délai qui constitue son étendue temporelle, il convient donc de ne pas utiliser le même entrelaceur pour chaque canal de transport. A titre d'exemple un entrelaceur rectangulaire est montré sur la figure 1. Cet entrelaceur rectangulaire fonctionne comme suit: 20 symboles étant disponibles pour l'émission ils sont écrits dans un espace de mémoire cons- tituant une matrice de 4 colonnes et de 5 lignes. L'écriture se fait selon les lignes. Puis ils sont lus selon les colonnes et émis selon l'ordre de lecture. Le nombre de symboles, 20 en l'occurrence, étant ainsi entrelacés s'appelle la profondeur de l'entrelaceur. On constate la diversité temporelle suivante: les symboles 0 (02A) et 1 (04A) étant consécutif avant entrelacement, sont écartés (02B et 04B) après entrelacement. On comprend que, pour que l'entrelaceur fonctionne, il faut attendre que 20 symboles soient disponibles, d'o le délai introduit par l'entrelaceur. Comme montré sur la figure 2, on peut construire des entrelaceurs rectan- gulaires généralisés, dans lesquels il n'est pas nécessaire que le nombre de colonnes soit un diviseur de la profondeur. Sur les figures 3 et 4,sont représentés les schémas bloc d'entrelace- ment et de multiplexage tels que définis par la proposition actuelle du groupe 3GPP, cette proposition n'étant d'ailleurs pas encore figée, ni com- plètement claire. Sur les figures 5 et 6, sont représentés les schémas bloc tels que dans l'invention. Dans ces figures des blocs similaires portent les mêmes numéros. Dans les deux cas on distingue le lien montant (de la sta- tion mobile vers le réseau) du lien descendant (du réseau vers la station mobile), et seule la partie émission est représentée. Pour chaque canal de transports les niveaux supérieurs fournissent (122A et 122B) au niveau 1 (L1) périodiquement un ensemble de bloc de transport. Le nombre de blocs de transport dans cet ensemble, ainsi que leurs tailles dépendent du canal de transport. La période minimale avec laquelle l'ensemble de blocs de transport est fourni correspond à l'étendue temporelle de l'entrelacement du canal de transport. Les canaux de trans- port, après notamment codage de canal et entrelacement de canal sont mul- tiplexés entre eux. Ce multiplexage s'opère par trame de multiplexage: une trame de multiplexage est la plus petite unité de donnée pour laquelle le démultiplexage peut être opéré au moins partiellement. Une trame de multi- plexage correspond typiquement à une trame radio. Les trames radio for- ment des intervalles temporels consécutifs synchronisés sur le réseau, et numérotés par le réseau. Dans la proposition du groupe 3GPP une trame radio correspond à une durée de 10ms. La proposition 3GPP comprend l'option d'un codage et d'un entrela- cement spécifique à un service (122B, 118). L'éventualité d'une telle option est considérée à ce jour faute d'avoir déterminé si elle est indispensable. En effet une telle option n'est pas la bien venue, et les constructeurs de réseaux de télécommunications mobiles tiennent à avoir un niveau 1 le plus généri- que possible afin de pouvoir réutiliser les mêmes moyens de calcul pour une grande variété de services. Dans le cas général (130) un FCS (Frame Check Sequence) est ap- posé (100) à chaque bloc de transport. Le FCS est typiquement calculé par la technique dite du CRC (Cyclic Redundancy Check) qui consiste à consi- dérer les bits du bloc de transport comme les coefficients d'un polynôme P et à calculer le CRC à partir du reste du polynôme (P+P0) dans la division par un polynôme G dit générateur, o P0 est un polynôme prédéfini pour un degré de P donné. L'apposition du FCS est optionnelle, et certains canaux de transport n'incluent pas cette étape. La technique exacte de calcul du FCS dépend aussi du canal de transport, et notamment de la taille maximale des blocs transport. L'utilité du FCS est de détecter si le bloc de transport reçu est valide ou corrompu. L'étape suivante (102) consiste à multiplexer entre eux les canaux de transport (TrCH) de même qualité de service (QoS). En effet ces canaux de transport ayant la même qualité de service, ils peuvent utiliser le même co- dage de canal. Typiquement le multiplexage est opéré par concaténation des ensembles de blocs de transport avec leur FCS pour chaque canal de transport. Un exemple de multiplexage par concaténation est montré sur la figure 7. L'étape suivante consiste à effectuer le codage de canal (104). A la sortie du codeur de canal se trouve un ensemble de blocs codés. Typique- ment dans le cas d'un code convolutionnel on a soit zéro soit un unique bloc codé de longueur variable dont la longueur est donnée par la formule: Nsortie = Nentrée / rendement + Nqueue avec: - Nsortie nombre de bits en sortie (longueur du bloc codé) - Nentrée =nombre de bits en entrée rendement = rapport constant - Nqueue = quantité fixe d'information, indépendante de Nentrée, servant à vider proprement le décodeur de canal au moment de la réception du bloc codé. C'est à partir de cette étape que le lien montant se distingue du lien descendant, et que l'invention se distingue de la proposition actuelle du 3GPP. L'étape d'équilibrage de débit (124,108) a pour but d'équilibrer le rap- port Eb/Il entre les canaux de transport de qualités de service différente. Le rapport Eb/Il donne l'énergie moyenne d'un bit par rapport aux interférences, dans un système utilisant la technologie CDMA d'accès multiple, plus ce rapport est grand est plus la qualité qu'on peut obtenir est grande. On com- prend alors que des canaux de transport ayant des qualités de service diffé- rentes n'ont pas le même besoin en terme de Eb/l, et qu'en l'absence d'équilibrage de débit certains canaux de transport aurait une qualité "trop" bonne car fixée par le canal le plus exigeant, et ils causeraient inutilement des interférences. L'équilibrage de débit a donc un rôle d'équilibrage de Eb/l. L'équilibrage de débit est tel que X bits en entrée donnent Y bits en sortie, ce qui multiplie Eb/i par le rapport Y/X, d'o la possibilité d'équili- brage. L'équilibrage de débit n'est pas fait de la même façon dans le lien montant et dans le lien descendant. En effet dans le lien montant il fut déci- dé d'émettre en continu, car une transmission discontinue détériore le rap- port pic/moyenne de la puissance radiofréquence en sortie de la station mo- bile. Plus ce rapport est proche de 1 et mieux c'est. En effet, si ce rapport est détérioré (= accru) ceci signifie que l'amplificateur de puissance néces- site une plus grande marge (backoff) de linéarité par rapport au point moyen de fonctionnement. Du fait d'une telle marge, I'amplificateur de puissance serait moins efficace, et donc consommerait plus pour la même puissance moyenne émise, ce qui réduirait de façon non acceptable l'autonomie sur batterie de la station mobile. Du fait qu'il est nécessaire d'émettre en continu sur le lien montant le rapport le rapport Y/X ne peut pas être constant. En effet la somme Yl+Y2+...Yk des nombres de bits après équilibrage doit être égale ou nombre total de bits dans la trame radio pour les données. Ce nombre ne peut prendre que certaines valeurs prédéfinies N1, N2,...,Np. Il convient donc de résoudre le système à k inconnues Y,,....., Yk suivant: iE{1,.....k} Yi = k.(Ebi/l)-Xi Y{+...+Yk = N Vie {1,...,k} X> 1b-P/ Ebi/I o Xi et EbJl et Pi sont des constantes caractéristiques de chaque canal de transport, et o on cherche à minimiser Nj parmi les p valeurs possible NI, N2..., Np (note: Pi est le taux de poinçonnage maximal supportable par un canal de transport codé). Ainsi dans le lien montant les rapports Y/X d'équilibrage de débit pour chaque canal de transport ne sont pas constants d'une trame de multi- plexage à la suivante, mais ils sont définis à une constante multiplicative près: les rapports deux à deux entre ces rapports restent donc constants. Dans le lien descendant le rapport pic/moyenne de la puissance ra- diofréquence est de toute façon très mauvais car le réseau émet vers plu- sieurs utilisateurs simultanément, et les signaux destinés à ces utilisateurs se combinent de façon constructive ou destructive en induisant ainsi de lar- ges variations de puissance radiofréquence émise par le réseau, et donc un mauvais rapport pic/moyenne. Il fut donc décidé que pour le lien descendant I'équilibrage de Eb/l entre les différents canaux de transport se ferait avec un équilibrage de débit à rapport Y/X constant, et que les trames de multi- plexage seraient complétées par des bits factices, c'est à dire des bits non transmis, c'est à dire une émission discontinue. Ainsi la différence entre le lien montant et le lien descendant est que dans le lien montant l'équilibrage de débit 108 est dynamique de sorte à compléter les trames multiplexage, alors que dans le lien descendant l'équilibrage de débit 124 est statique, et la complétion des trames de multi- plexage se fait par insertion de bits factices 206. L'équilibrage de débit, qu'il soit dynamique ou statique, se fait soit par répétition soit par poinçonnage de bits, selon un algorithme qui a été propo- sé à l'ETSI par la société Siemens dans le document technique référencé SMG2/UMTS-L1/Tdoc428/98. Cet algorithme permet d'obtenir des rapports de poinçonnage/répétition qui ne sont pas entiers, et il est donné pour infor- mation dans la table 1. La particularité de cet algorithme est que lorsqu'il fonctionne en mode poinçonnage il évite de poinçonner des bits consécutifs, mais au contraire tend à espacer au maximum deux bits poinçonnés. En ce qui concerne la répétition, les bits de répétition suivent les bits qu'ils répètent. Dans ces conditions on comprend qu'on a intérêt à ce que l'équilibrage de débit soit fait avant entrelacement. En effet pour la répétition ceci permet d'écarter les bits répétés par le fait qu'un entrelacement suit l'équilibrage de débit. Pour le poinçonnage, le fait qu'un entrelaceur précède l'équilibrage de débit fait cou- rir un le risque que l'équilibrage de débit poinçonne des bits consécutifs à la sortie du codeur de canal. Un cas catastrophique serait un entrelaceur rec- tangulaire entre le codeur de canal et l'équilibrage de débit, et avec un nom- bre de lignes égal à la période de poinçonnage: dans ce cas tous les bits poinçonnés seraient consécutifs à la sortie du codeur de canal. Il est donc avantageux que l'équilibrage de débit soit fait le plus haut possible, c'est à dire le plus près possible du codeur de canal. Pour le lien descendant il est possible de placer l'équilibrage de débit juste à la sortie du codage de canal 104, car le rapport d'équilibrage de débit est constant. On n'a donc a priori besoin que d'un seul entrelaceur (134 et 138) comme dans l'invention (138 sur figure 5), cependant on verra plus tard que dans le cas de la proposition du 3GPP un deuxième entrelaceur 136 est nécessaire. Pour le lien montant le rapport d'équilibrage de débit varie toutes les trames de multiplexage, c'est pourquoi on a besoin d'au moins un premier entrelaceur (130 et 140) avant l'équilibrage de débit pour répartir les bits du bloc codé sur les plusieurs trames de multiplexage, et d'un deuxième entre- laceur (132 et 142), placé après l'équilibrage de débit pour écarter entre eux les bits répétés par l'équilibrage de débit. Ainsi dans les schémas bloc (figures 3, 4, 5 et 6) on distingue deux entrelaceurs appelés dans les schémas bloc 1er et 2,me entrelaceurs. Le premier entrelaceur est un entrelaceur dont l'étendue temporelle est égale à l'étendue temporelle d'entrelacement du canal de transport correspondant. Celle-ci peut être plus longue que la durée d'une trame de multiplexage est en est typiquement un multiple selon un rapport constant. C'est pourquoi ce premier entrelaceur est aussi parfois appelé entrelaceur inter-trame. Le deuxième entrelaceur est aussi appelé entrelaceur intra-trame car son étendue temporelle est celle d'une trame de multiplexage. Aussi une étape 120 de segmentation par trame de multiplexage se situe entre le 1er et le 2éme entrelaceur (quand il y a un deuxième entrela- ceur). Cette étape consiste à segmenter les blocs codés et entrelacés par le premier entrelaceur en autant de segments que vaut le rapport entre l'étendue temporelle du premier entrelaceur et de la durée d'une trame de multiplexage. Cette segmentation se fait typiquement de sorte que la con- caténation des segments redonne le bloc codé entrelacé. On notera que dans le lien montant cette étape 120 de segmentation se trouve nécessairement avant l'équilibrage de débit 108. En effet l'équilibrage de débit 108 se fait selon un rapport établi dynamiquement trame de multiplexage par trame de multiplexage, il n'est donc pas possible de le faire sur une unité de donnée pouvant s'étendre sur plusieurs trame de multiplexage. PROBLEME RESOLU PAR L'INVENTION En général il n'est pas souhaitable d'avoir deux entrelaceurs en série. En effet tout d'abord dans le cas d'un seul canal ceci est inutile car une fois l'entrelacement opéré il n'y a plus de gain de diversité temporelle à espérer, autant avoir un seul entrelaceur bien optimisé. Deuxièmement si on a deux entrelaceur en série, il n'est pas possible de les définir de façon indépen- dante. En effet il y a le risque que les bonnes propriétés de diversité tempo- relie acquise par le premier entrelaceur soient détruites par le second. Par exemple si les deux entrelaceurs sont identiques et que la permutation qu'ils opèrent est une involution, c'est à dire une permutation qui est sa propre inverse, alors au total on n'a pas d'entrelacement du tout. Or dans le cas de la proposition du 3GPP on observe qu'il y a deux entrelaceurs (134 et 136 dans le lien descendant, 130 et 132 dans le lien montant) en série. De plus le deuxième entrelaceur est placé après le multi- plexage 150 des canaux de transport. Les canaux de transport étant indé- pendants entre eux il est impossible de déterminer d'avance quels seront les indexes des bits correspondant à un canal de transport lorsqu'on arrive au deuxième entrelaceur (136, 132), et donc il est impossible de savoir com- ment le canal de transport sera entrelacé. On court donc d'une part le risque que la combinaison du premier et du deuxième entrelaceur ait un effet des- tructif sur le gain de diversité temporelle, mais on court aussi le risque que du fait du multiplexage 150, ce gain soit dégradé. Prenons en effet l'exemple de deux canaux de transport ayant des débits très différents, un canal de transport A et un canal de transport B et supposons pour simplifier que le deuxième entrelaceur est un entrelaceur rectangulaire, l'exemple est montré sur la figure 8. Les deux symboles de B se trouvent distant de 4 symboles dans la trame de multiplexage, alors que cette trame faisant 24 symboles il pourrait être distant de 12 symboles soit 3 fois plus. Bien sûr l'exemple de la figure 8 est quelque peu caricatural. En fait le 2éme entrelaceur est un entrelaceur MIL plus complexe qu'un simple entrela- ceur rectangulaire, et l'effet montré sur la figure 8 ne serait pas aussi fort. Cependant, cet entrelaceur est statique, il est défini par une table fixée une fois pour toute, il ne peut donc pas être optimal pour tous les cas de multi- plexage. L'invention sera mieux comprise à la lecture de la description qui va suivre, donnée uniquement à titre d'exemple et faite en référence aux des- sins sur lesquels: La figure 1 est une vue schématique illustrant un entrelaceur rectan- gulaire; La figure 2 est une vue schématique illustrant un entrelaceur rectan- gulaire généralisé incomplet; La figure 3 est une vue schématique illustrant le multiplexage des ca- naux de transport sur le lien montant dans la proposition actuelle du 3GPP; La figure 4 est une vue schématique illustrant le multiplexage des ca- naux de transport sur le lien descendant dans la proposition actuelle du 3GPP; La figure 5 est une vue schématique illustrant le multiplexage des ca- naux de transport dans l'invention pour le lien descendant; La figure 6 est une vue schématique illustrant le multiplexage des ca- naux de transport dans l'invention pour le lien montant; La figure 7 est une vue schématique illustrant le multiplexage par concaténation; La figure 8 est une vue schématique illustrant l'effet destructif du mul- tiplexage par concaténation sur le gain d'entrelacement; La figure 9 est une vue schématique illustrant le multiplexage par in- tercalage; La figure 10 est une vue schématique illustrant un registre de mémoi- re; La figure 11 est une vue schématique illustrant une porte de sélec- tion; La figure 12 est une vue schématique illustrant une porte de tri; La figure 13 est une vue schématique illustrant l'accélérateur matériel de la fonction "trouve j tel que ej = min {el, e2..., es}"; La figure 14 est une vue schématique illustrant la forme d'onde pour les signaux CLOCK, SELECT2 et SELECT1; et La figure 15 est une vue schématique illustrant le format du contenu des registres. SOLUTION APPORTE PAR L'INVENTION En fait le deuxième entrelaceur (132, 136) de la proposition du 3GPP doit sa position au fait qu'il contrecarre l'effet destructeur de gain d'entrela- cement du multiplexage par concaténation 150 de la proposition du 3GPP. Dans l'invention le multiplexage 150 par concaténation est remplacé par un multiplexage 152 par intercalage. Ceci autorise à supprimer le deuxième entrelaceur dans le lien des- cendant et à ne garder que le premier 138. Dans le lien montant l'interaction entre le premier 140 et le deuxième entrelaceur 142 peut être traité comme suit. Le premier entrelaceur 140 est un entrelaceur rectangulaire ayant autant de colonnes que vaut le rapport entre l'étendue temporelle d'entrela- cement du (des) canal(aux) de transport correspondant et la durée de la trame multiplexage. Par exemple si l'étendue temporelle d'entrelacement du canal de transport vaut 40ms, et que la trame de multiplexage correspond à une trame radio, soit 10ms, le premier entrelaceur 140 est un entrelaceur rectan- gulaire à 4 colonnes. La segmentation par trame de multiplexage 120 se fait selon les colonnes du premier entrelaceur 140, c'est à dire que le segment correspondant à la ième trame de multiplexage dans la période sur laquelle est entrelacé le canal de transport correspond à la ième colonne du premier entrelaceur. Le premier entrelaceur et la segmentation par trame de multiplexage associée peuvent être avantageusement remplacés par un entrelaceur FS- MIL. La méthode qui a déjà été décrite est un cas particulier du FS-MIL. L'entrelaceur FS-MIL a été défini par le 3GPP dans la spécification en cours référencée S1.12 ver 1.1.0. Il comporte aussi une matrice ayant un nombre de colonnes K = F.U qui est un multiple du nombre F de trames de multi- plexages dans l'étendu temporelle d'une période d'entrelacement du (des) canal(aux) de transport. Les symboles à entrelacer sont écrits dans la ma- trice selon les lignes. Puis les colonnes sont permutées selon une permuta- tion a de {0, 1,..., FU-1}. De sorte la colonne en position i se trouve après permutation à la position -1(i). Les colonnes après permutation sont donc les colonnes originales a(0), a(1),...., c( FU-1). La permutation a est telle que pourtout i dans {0, 1,.... F-1} on a: cr(Fi) F (a(0), a(1),..., a(F- 1)) 1 (0) 2 (0,1) 4 (0,2,1,3) 8 (0,4,2,6,1,5,3,7) Le deuxième entrelaceur 142 est un entrelaceur rectangulaire à pro- fondeur dynamiquement variable et égale à la partie entière de la racine car- rée de la taille du bloc à entrelacer. Un algorithme permettant de réaliser cet entrelacement est donné dans la table 2. Un algorithme alternatif est donné dans la table 3. Ces algorithmes sont suffisamment simples pour que les positions d'entrelacement soient calculées au vol, ne nécessitant donc pas de tabulation. Notons que dans le cas o l'étendue temporelle d'entrelacement du canal de transport serait égale à la durée d'une trame de multiplexage, alors le premier entrelaceur 130 et la segmentation 120 n'auraient aucun effet, et pourraient aussi bien être omis. La combinaison du premier entrelaceur 130 et de la segmentation est telle que les bits dans chaque segment sont dans le même ordre dans le segment que dans le bloc avant entrelacement. Dans de telles con- ditions on comprend que la combinaison du premier 140 et du deuxième entrelaceur 142 ne peut pas avoir d'effet destructif du gain d'entrelacement. De plus lorsque l'équilibrage de débit se fait par poinçonnage, comme l'algorithme d'équilibrage de débit 108 (table 1) ne poinçonne pas de bits consécutifs, et que le premier entrelaceur 140 conserve l'ordre restreint à un segment, il en résulte que l'équilibrage de débit ne poinçonne pas non plus de bits consécutifs à la sortie du codeur de canal 104. Finalement ajoutons, que comme le premier entrelaceur conserve l'ordre localement à un segment, que l'algorithme d'équilibrage de débit pro- cède en prenant les bits dans l'ordre et en répétant / poinçonnant selon cet ordre, alors il est possible d'implémenter le premier entrelaceur, l'équilibrage de débit, et le second entrelaceur en calculant au vol les positions d'entrelacement, ainsi que la nécessité de poinçonner / répéter. Ceci permet de limiter au maximum les lectures et écritures de symboles en mémoire vive ce qui est un gain de temps notable. Le multiplexage par intercalage se fait selon un algorithme donné dans la table 4 s'inspirant de l'algorithme d'équilibrage de débit donné dans la table 1. Dans cet algorithme une erreur entre les rapports xj/x et N/N est calculée, le bloc qui est sélectionné pour le multiplexage est celui pour lequel l'erreur est la plus petite, en effet le but est de minimiser le maximum des erreurs au cours de l'exécution de l'algorithme. Afin que l'algorithme soit entièrement défini, il faut que l'opération " trouve j tel que ej = min {el, e2, ep} " soit définie lorsque le minimum est atteint en plusieurs points. Par exemple on peut définir j par l'algorithme de la table 5. Grâce au multiplexage par intercalage 152, il n'y a besoin que d'un seul entrelaceur dans le lien descendant, cet entrelaceur peut par exemple être un entrelaceur rectangulaire tel que celui donné dans la table 2, cet en- trelaceur ayant l'avantage d'être à profondeur variable, et pouvant être cal- culé au vol. Dans une des mises en oeuvre discutée actuellement dans la propo- sition du 3GPP les entrelaceurs dits premiers entrelaceurs (130, 134) sont des entrelaceurs à profondeur fixe. Ceci semble en fait peu évolutif et peu souhaitable. En effet si le nombre d'étendues temporelles possibles des en- trelaceurs est relativement restreint, la taille des blocs (dont il résulte la pro- fondeur correspondante de l'entrelaceur) est-elle très liée au service. Il est peu souhaitable de définir un entrelaceur de taille fixe par service, ceci ré- sulterait dans un nombre important de tables d'entrelaceur à mémoriser dans le réseau, en effet s'il est envisageable de construire des stations mo- biles ne supportant qu'un nombre restreint de services, le réseau d'accès radio, lui, doit le même pour tous les services. De plus l'introduction d'une méthode de liaison de donnée telle que l'ARQ Hybride de type III (il s'agit d'une méthode dans laquelle un bloc codé est transmis partiellement ou complètement suivant que des erreurs sont détectées au moyen du FCS ou non) résulterait en encore plus de tailles possibles de blocs, et donc de pro- fondeurs d'entrelaceur. En un mot, l'invention en utilisant une méthode d'entrelacement uni- que, et pouvant être calculer au vol pour n'importe quelle profondeur, s'inscrit d'emblée dans une logique d'évolutivité et de flexibilité qui est l'un des enjeux des systèmes de 3àme génération. Tout entrelaceur présentant les mêmes caractéristiques de profondeur variable et de possibilité de calcul au vol pourrait être utilisé dans l'invention à la place de l'entrelaceur rectan- gulaire défini par l'algorithme de la table 2. Finalement, ajoutons que dans le lien descendant l'insertion de bits factices 206 est faites en dernier lieu dans l'invention, alors que dans la pro- * position du 3GPP elle est faite avant le deuxième entrelaceur 136. L'insertion en dernier lieu permet de contrôler facilement la position tempo- relle des bits factices de transmission discontinue. Notamment, il est ainsi plus simple de les grouper temporellement, de sorte à avoir une période de transmission discontinu de durée significative. Garder les bits factices de transmission discontinue est une requête qui a été faite par certains cons- tructeurs, notamment Motorola, afin de ménager des périodes pendant les- quelles la station mobile peut faire des mesures sur d'autres fréquences porteuses, en vue d'un possible transfert. Dans l'algorithme définissant le multiplexage par intercalage donné sur le tableau 4, l'étape limitante est celle de l'opération "trouve j tel que ej = min {el, e2,...,ep} " laquelle est définie sur le tableau 5. Notons que l'algorithme de Siemens de la table 1 est un cas particu- lier de l'algorithme de multiplexage par intercalage. Ainsi dans le cas du multiplexage de seulement deux blocs il est possible de réécrire l'algorithme en ayant qu'un seul critère e = el-e2. Il suffit alors de tester le signe de e pour savoir depuis lequel des deux blocs d'entrée lire un symbole, ce qui est plus simple que de chercher le minimum de el et de e2. Une optimisation de l'algorithme est aussi possible lorsqu'au lieu d'avoir un critère ei par bloc i en entrée du multiplexeur par intercalage, on a un tel critère par taille possible Ni de ce bloc. Il suffit donc de grouper les blocs de même taille, si tant est qu'il y en ait, pour réduire la complexité de l'algorithme. Ainsi si on a pour tout i de 1 à p, pi blocs Xi,1, Xi,2,...Xi,p, de taille Ni, alors le nouvel algorithme peut s'écrire comme sur le tableau 6. Une alternative au logiciel qui a été décrit pour effectuer l'opération " trouve j tel que ej = min {el, e2,..., ep} " du tableau 5 est un accélérateur matériel. Un tel dispositif est décrit ci-après. Il se compose des éléments suivants Des registres à bascule de mémoire. Un registre de mémoire est repré- senté sur la figure 10. Un tel registre comprend quatre ports d'entrée RESET, ENABLE, CLOCK et D, et un port de sortie Q. Les port D et Q sont des ports de donnée sur L bits, alors que les ports RESET, ENABLE et CLOCK sont des ports de contrôle sur 1 bit. Le port Q reflète la valeur courante de l'état interne du registre. Le port D sert à présenter une nou- velle valeur pour cet état interne. La nouvelle valeur est prise en compte sur un front montant de l'horloge arrivant sur le port CLOCK lorsque le port ENABLE est actif. Ainsi, la valeur courante du registre peut basculer sur un front montant de l'horloge. Par contre, tant que le port ENABLE est dans l'état inactif, la valeur courant de l'état interne du registre est conservée sur les fronts montant de l'horloge. Enfin le port RESET lors- qu'il passe à l'état actif, et cela à tout instant, force l'état interne du regis- tre à être initialisé tout à zéro. À Des portes de sélection. Une porte de sélection est représentée sur la figure 11. Une telle porte comprend trois ports d'entrée C, DO, D1, et un port de sortie 0. Les port DO, D1 et O sont des ports de donnée sur L bits, alors que les ports C est un port de contrôle sur 1 bit. Le port O prend la valeur du port DO lorsque le port de contrôle C est à zéro, sinon, C est à 1, et O prend la valeur du port D1. * Des portes de tri. Une porte de tri est représentée sur la figure 12. Une telle porte comprend deux ports d'entrée DO et D1, et deux ports de sor- tie 00 et 01. Ces quatre ports sont des ports de donnée sur L bits. Les ports 00 et 01 prennent respectivement les valeurs des ports DO et D1 lorsque DO est plus petit que, ou égal à D1, selon une relation d'ordre donnée. Sinon 00 et 01 prennent respectivement les valeurs de D1 et DO. Ainsi les deux valeurs présentées en entrée sont triées en sortie. L'accélérateur matériel de l'invention est représenté sur la figure 13. Il est capable d'effectuer la fonction " trouve j tel que ej = min {el, e2..., ep} " pour un nombre p égal au plus à 8 (ce nombre étant pris à titre d'exemple). Sur la figure des renvois sont représentés par des pairs de cercles portant un numéro. Ainsi les deux cercles portant le numéro 1 sont en contact élec- trique. Le dispositif sera mieux compris si l'on considère la figure 14. Par des moyens non représentés sur la figure 13, il est imposé au signal SELECT2 de prendre alternativement les valeurs O et 1 aux instants d'échantillonnage donnés par les fronts montants de l'horloge. En remarquant que les entrées DO et D1 sont en ordre inverse d'une porte de sélection à la suivante, on comprend que lorsque SELECT2 vaut 1 alors seul le tri effectué par les portes de tri à des positions impaires (lre, 3ème, etc...) est pris en compte pour mettre à jour la valeur des registres à bascule. Lorsque SELECT2 vaut 0 c'est l'inverse, ainsi le tri effectué par les portes de tri à des positions pai- res (2,me, 4ème, etc...) est pris en compte. Avec un tel arrangement, on comprend que si par ailleurs SELECT1 vaut 1, ENABLE1 et ENABLE2 valent 1, et RESET vaut zéro, alors les con- tenus des registres finissent par être triés de sorte que les valeurs croissent de gauche à droite sur la figure. Le format du contenu d'un registre est représenté sur la figure 15. Il comprend: - Un indicateur de la valeur de j des bit 0 à 3 (23=8 est la valeur pour p dans notre exemple), - Un indicateur de la valeur de ej des bit 3 à L-2. Cet indicateur est perti- nent lorsque ej-+co, quelconque sinon. - Et enfin un bit I à 1 lorsque ej=+oo, et à zéro sinon. Ainsi l'ordre canonique sur les entiers naturels appliqué aux contenus des registres suffit à effectuer le tri voulu pour obtenir la fonction " trouve j tel que ej = min {el, e2,..., ep} ". L'algorithme opère comme suit Tout d'abord les registres sont mis tout à zéro à l'aide du port RESET. Pendant la suite de l'algorithme RESET reste à zéro. Lorsque le signal SELECT1 est à 1 le tri s'opère sur les valeurs exis- tantes des {Ij,ej,j-1}. Sinon, le signal SELECT1 peut être mis à zéro lorsque SELECT2 prend lui aussi la valeur de zéro, ceci permet de changer la valeur dans le premier registre en présentant une nouvelle valeur sur le port DA- TA_IN. Ainsi tous les registres peuvent être initialisés en chargeant les va- leurs {0,N-Ni,i-1} pour i=1 à p dans le premier registre au plus tous les deux tics d'horloge. Comme les valeurs initiales sont nécessairement non nulles du fait que pour tout i on a N-NiÉ0, alors tant que tous les registres n'ont pas été chargés, après deux tics d'horloge une des valeurs zéro donnée initiale- ment au " reset " sera redescendue dans le premier registre et peut être écrasée par la valeur suivante de {0,N-Ni,i-1}. Lorsque les p valeurs ont ainsi été chargées, il suffit de lire sur le port DATA_OUT la valeur de j dans les trois bits de poids faible. Cette valeur est celle qui vérifie ej = min {el,....,e8}. Après avoir incrémenté ej de 2(N-Nj), ou I'avoir mis à +oo, on peut recharger la nouvelle valeur de ({Ij,ej,j-1} dans le premier registre, en présentant cette valeur sur le port DATA_IN, et en met- tant SELECT1 à zéro lorsque SELECT2 passe à zéro aussi. Deux tics d'horloge après, la nouvelle valeur de j donnée par la fonction " trouve j tel que ej = min {el, e2,..., ep} "> peut être lue sur DATA_OUT. Un point crucial dans la performance de ce dispositif est qu'il n'est pas besoin que les valeurs de tous les registres soient complètement triées. Il suffit d'être assuré que le contenu du premier registre est le minimum de tous. Ainsi le tri peut s'opérer en parallèle du multiplexage. En effet il n'est pas besoin d'attendre que la nouvelle valeur de {Ij,ej,j-1} après incrémenta- tion de 2(N-Nj), ou mise à +oo, se soit propagée jusqu'à la position qui serait définitive si on attendait que le tri s'opère complètement. Deux tics d'horloge suffisent pour que la valeur incrémentée se soit propagée assez loin pour que la valeur dans le premier registre soit le minimum. Ainsi si l'algorithme était effectuée à la vitesse la plus rapide possible avec le dispositif décrit, SELECT1 et SELECT2 auraient toujours la même valeur, la valeur de j telle que ej = min {el,..., ep} serait lu sur DATAOUT lorsque SELECT1 vaut 1, et la valeur incrémentée du {Ij, ej,j-1} lu serait écrite lorsque SELECT1 serait passé à 0. Par ailleurs, on appelle combinaison de formats de transport une in- formation qui permet de démultiplexer et décoder une trame de multiplexage pour obtenir les canaux de transport. Cette information peut être transmise explicitement trame de multiplexage par trame de multiplexage. C'est ce que l'on appelle la détection de débit explicite. Une autre méthode dite implicite consiste à ne pas transmettre cette information. Le récepteur de la trame de multiplexage doit alors essayer toutes les combinaisons de formats de transport possibles jusqu'à ce que le test du CRC apposé au bloc de transport soit positif pour au moins un cer- tain nombre des blocs de transport. Etant donné que les canaux de transport n'ont pas tous le même in- tervalle de transmission, on ne peut tester les CRC des blocs de transport d'un canal de transport ayant un intervalle de transmission égal à plusieurs trames de multiplexage qu'après que ces plusieurs trames de multiplexage ont été complètement reçues. Or, le multiplexage se fait trame de multiplexage par trame de multi- plexage selon la combinaison de formats de transport. Il est donc plus simple que ce multiplexage ne dépende pas de la combinaison de formats de transport. Ceci peut être obtenu en insérant des bits factices de transmission discontinus avant le multiplexeur 152 de ca- naux de transport de QUOS différent de sorte que les blocs multiplexés aient une taille constante. Ainsi, on peut, moyennant des modifications mineures de la méthode présentée, utiliser le même dispositif de codage, d'entrelacement et de mul- tiplexage dans le réseau que la méthode employée soit la détection de débit implicite ou la détection de débit explicite. Les tableaux qui suivent décrivent des algorithmes utilisés dans l'invention. Données d'entrée: X- nombre de bits en entrée Y -- nombre de bits en sortie Npr=lYi-X -- nombre de bit à répéter ou à poinçonner (si Y1>X1 on répète, sinon on poinçonne La règle de poinçonnage/répétition est comme suit e = 2*Np/r - X -- erreur initiale entre le rapport courant et le rapport désiré de poinçonnage/répétition x = O -- index du bit courant tant que x O alors -- teste si le bit numéro x doit être répété/poinçonné { Poinçonne ou répète le bit numéro x e = e + (2*Np/r 2* Xi) -- mise à jour de l'erreur Sinon e = e + 2*Np/r -- mise à jour de l'erreur Finsi X = x + 1 --bit suivant finfait Tableau 1 Algorithme de répétition ou de poinçonnage Données d'entrée: N: taille du bloc à entrelacer X: tableau[O..N-1] de symboles -- entrée bloc à entrelacer Y: tableau[O..N-1] de symboles -- sortie bloc entrelacé par l'algorithme L'algorithme est comme suit y = 0 -- position du symbole à entrelacer x = O -- position du symbole entrelacé K = L-NJ -- nombre de colonnes, L.J notation pour la partie entière Ns = LN/KJ*K -- taille du plus grand bloc complet Ns alors y = y - (Ns-1) -- repliement dans partie incomplète sinon y = y -(Ns-K-1I) -- repliement dans partie com- plète finsi Finsi finfait Tableau 2 Entrelaceur rectangulaire généralisé à profondeur variable Données d'entrée: N: taille du bloc à entrelacer X: tableau[O..N-1] de symboles - entrée bloc à entrelacer Y: tableau[O.. N-1] de symboles -- sortie bloc entrelacé par l'algorithme L'algorithme est comme suit y = 0 -- position du symbole à entrelacer x = 0 -- position du symbole entrelacé K = LJNJ -- nombre de colonnes, L.J notation pour la partie entière L = LN/KJ -nombre de lignes complètes Ns = L*K -- taille du plus grand bloc complet (L+1)*(N-Ns) alors --teste si à la même colonne la ligne L+1 est dans sa partie complète si y> N-L alors -- teste si repliement dans partie incom- { 5IYNy= Ll plète f ly = y -(N-L-1) -- repliement sinon y = y+ L -- pas de repliement finsi Sinon si y> N-L-1 alors -- teste si repliement dans partie complète y = y -(N-L-2) - repliement Sinon y = y + L+1 -- pas de repliement finsi Finsi finfait Tableau 3 Entrelaceur rectangulaire généralisé à profondeur variable Données d'entrée: Xi: tableau[O..N,-l] de symboles -- 1er bloc à multiplexer X: tableau[O..N-1 de symboles èm bloc à multiplexer Xp: tableau[O..Np-1] de symboles -- ième bloc à multiplexer Xp: tableau[O..Np-1] de symboles - -pme bloc à multiplexer Y: tableau[O..N-1] de symboles - multiplexe N = N,+N2+...+Np L'algorithme est comme suit: Pour i=1 à p fait Ei = N-Nj -- initialise erreur de pour tous les blocs à multi- plexer Pour i=1 à p fait x= O -- initialise position dans tous les blocs à multiplexer x = O --initialise position dans le multiplexe tant que x Tableau 5 Données d'entrée de l'algorithme: Xij: tableau[O..N,-1] de symboles -- 1er bloc à multiplexer Xl.p,: tableau[O..N,-1] de symboles -- p1ème bloc à multiplexer X2,1: tableau [O..Nr-1] de symboles -- (p1+1)ème bloc à multiplexer /1=p ème Xp,pp: tableau [O..Np-1] de symboles -- bloc à multiplexer Y: tableau [O..N-1] de symboles -- multiplexe N = p. -Ni+p2.N2+...+ pp. Np l'algorithme est comme suit: pour i:=1 à p fait Ei: N-Nj -- initialise le critère d'erreur pour toutes les tailles de bloc pour i:=1 à p fait xi:= O -- initialise la position dans tous les bloc à mutliplexer x:= O -initialise la position dans le multiplexe tantque x , ep} --voir tableau 5 Pouri:=1 àpj fait Y[x] = xji[xj] -- multiplexe Ix:= x+1 Fin_fait x = xj+l Si xj = Nj alors..DTD: ej:=+oo -- les blocs de taille Nj ne seront jamais plus sélec- tionnés Sinon ej = ej + 2.(N-Nj) Finsi finfait Tableau 6 multiplexage par intercalage données d'entrée: N entier taille du bloc à entrelacer et à segmenter X tableau[O..N-1] de symboles-- bloc de symboles à entrelacer à et à seg- menter m entier -- numéro d'ordre du segment en sortie, mE{O,1,... ,F-1} cr: permutation de {0,1,.....UF-1} -- permutation des colonnes Y: tableau[O..L-1] de symboles -- segment en sortie, on a j=U-1 L- N(a(m.U+j)-, L= /. F. U / j=O Y: tableau[O..U-1] d'entiers -- position dans le bloc à entrelacer et segmenter L'algorithme est comme suit: Pour i:= 0 à U-1 fait y[i] = o(m.U+i) -- positions des symboles à entrelacer Finfait X:= 0 -- position dans le segment entrelacé en sortie Tant qu'il existe i dans {0,1,...,U-1} tel que y[i] Tableau 7 entrelaceur FS-MIL suivi de la segmentation par trame de multi- plexage REVENDICATIONS 1.- Dispositif pour entrelacement et multiplexage de canaux de trans- port caractérisé en ce qu'il comprend la séquence des blocs fonctionnels suivants soit dans un premier cas, notamment dans un système radio mobile CDMA pour le lien descendant: - un codeur de canal opérant par canal de même qualité de service, - un équilibrage de débit pour chaque canal de même qualité de service, - un entrelaceur par canal de même qualité de service, - un multiplexeur par intercalage de bit, et - une insertion de bits factices non transmis soit dans un deuxième cas, notamment dans un système radio mobile CDMA pour le lien montant: - un codeur de canal opérant par canal de même qualité de service, - un premier entrelaceur par canal de même qualité de service, présent seulement lorsque l'étendue temporelle d'entrelacement dudit canal est plus longue que celle de la trame de multiplexage, - un équilibrage de débit pour chaque canal de même qualité de service, - un deuxième entrelaceur par canal de même qualité de service, et - un multiplexeur par intercalage de symbole. 2.- Dispositif selon la revendication 1 caractérisé en ce que le multi- plexage par intercalage de symbole se fait de sorte qu'un critère étant pour chaque bloc à multiplexer, le bloc multiplexe est formé symbole par symbole en sélectionnant parmi les blocs à multiplexer celui qui a le meilleur critère, en ôtant un symbole de ce bloc pour l'ajouter au bloc multiplexe, et en met- tant à jour le critère de ce bloc d'une quantité définie par la taille initiale de ce bloc, et par la taille finale du bloc multiplexe. 3.- Dispositif selon l'une quelconque des revendications précédentes, caractérisé en ce que les blocs à multiplexer par intercalage sont regroupés par taille, et un critère est donné à chaque groupe de sorte que le groupe i de pi blocs sélectionné pour le multiplexage des prochains pi symboles soit celui ayant le meilleur critère, et en ce que le critère est remis à jour après chaque sélection. 4.- Dispositif selon l'une quelconque des revendications précédentes caractérisé en ce que les entrelaceurs utilisés peuvent être calculés au vol pour une profondeur dynamique. 5.- Dispositif selon la revendication 3 caractérisé en ce que les entre- laceurs utilisés sont des entrelaceurs rectangulaires généralisés. 6.- Dispositif selon l'une quelconque des revendications précédentes, caractérisé en ce que ledit premier entrelaceur dudit deuxième cas - agit par écriture selon les lignes des symboles dans une matrice, suivie d'une permutation, éventuellement identique, prédéfinie des colonnes, et d'une lecture selon les colonnes des symboles, - est tel que le nombre de colonnes de la matrice est égal à un multi- ple selon un rapport U du nombre de trames de multiplexage sur lesquelles s'étend l'entrelacement du canal correspondant, et - en ce que le segment du bloc entrelacé transmis dans chacune de- ces trames de multiplexage correspond à U colonnes de ladite matrice con- sécutives après permutation. 7.- Dispositif selon l'une quelconque des revendications précédentes caractérisé en ce que dans ledit deuxième cas il n'y a qu'une seule étape d'équilibrage de débit par canaux de même qualité de service, que le rapport d'équilibrage de débit est fixé dynamiquement par trame de multiplexage en respectant une proportion statique entre les différents groupes de canaux de même qualité de service. 8.- Dispositif selon l'une quelconque des revendications précédentes caractérisé en ce que dans ledit premier cas il l'étape d'équilibrage de débit par canaux de même qualité de service, se fait selon un rapport d'équilibrage de débit qui est statique. 9.- Dispositif selon l'une quelconque des revendications précédentes, caractérisé en ce qu'afin d'effectuer le multiplexage par intercalage, le dis- positif comprend une unité logique matérielle permettant de déterminer le bloc, ou le groupe de blocs, ayant le meilleur critère. 10.- Dispositif selon la revendication 9, caractérisé en ce ladite unité logique matérielle comprend des registres R0, R1,..., Rp1 retenant la valeur du critère, ainsi que le numéro de séquence du bloc, ou du groupe de blocs dont c'est le critère associé, en ce que pendant au moins une étape dudit multiplexage par intercalage, un signal de phase (SELECT2) prend cycli- quement les valeurs O et 1, en ce que lorsque ledit signal de phase vaut O alors pour tout i un tri est effectué pour la pair de registres (R2i, R2i+1), et en ce que respectivement lorsque ledit signal de phase vaut 1, pour tout i un tri similaire est effectué pour la pair de registres (R2i+1, R2i+2).