FR 2876846 A1 20060421 FR 0410954 A 20041015 L'invention concerne notamment un procédé et un système de communication dans un réseau de communications supportant une couche physique de type ultra large bande où les transmissions se font par exemple par impulsions, soit encore respectivement en appellation anglosaxonne UWB (Ultra Wide Band) et IR (Impulse Radio). Elle s'applique, par exemple, aux communications dans un réseau de io terminaux potentiellement mobiles, sans avoir recours ni à des infrastructures (de type stations de base pour les réseaux cellulaires) ni à une synchronisation locale des différents utilisateurs (agrégat ou clusters en anglo-saxon). Ce type de réseau est généralement appelé réseau ad hoc distribué. Elle concerne à la fois les applications grand public et les applications professionnelles. Pour les applications professionnelles, sont par exemple concernées les applications nécessitant un déploiement temporaire dans des zones sans infrastructures pour des équipes d'intervention de type sécurité publique (pompiers, médecins, forces spéciales, équipes de maintenance dans des zones à risques, ...). Pour les applications grand public, sont par exemple concernées les applications de transmissions d'informations multimédia ou de téléphonie visant à remplacer les câbles par des liaisons sans fils. L'aspect ad hoc du réseau fait que chaque nouveau noeud arrivant en portée radio des autres noeuds est détecté et associé automatiquement au réseau. Protocoles d'accès Les deux classes de protocoles d'accès habituellement utilisées dans les réseaux radio de faible ou de moyenne portée sont: les protocoles à accès aléatoire de type CSMA/CA (abrégé en anglo-saxon de Carrier Sense Multiple Access/Collision Avoidance) et les protocoles synchronisés à accès multiple de type TDMA (abrégé en anglo-saxon de Time Division Multiple Access). Chacun de ces protocoles possède des avantages et des inconvénients qui les rendent propres à des usages différents, principalement en termes de qualité de service et de topologie de réseau. Dans le cas des protocoles synchronisés de type centralisé, le temps est découpé régulièrement en trames de longueur fixe, elles-mêmes découpées en plusieurs zones à vocations diverses. Une station du réseau joue le rôle de coordinateur du réseau en attribuant les ressources de chaque trame aux différents utilisateurs en fonction de leurs besoins. Cette station est appelée station centrale ou encore station maître . La mise en oeuvre de ce type de réseau nécessite une synchronisation très précise entre les utilisateurs. De plus, quand la distance des noeuds augmente, le temps de propagation n'est plus négligeable, et doit être estimé et compensé partiellement en utilisant un temps de garde. Enfin, dans le cas de réseaux distribués ad hoc , cette synchronisation n'est que locale (une par aggréga ou cluster) et des communications entre les stations maîtres doivent être établies. La réalisation et la mise en oeuvre d'un tel système est donc complexe. Dans le cas des protocoles à accès aléatoires, les noeuds du réseau font des tentatives de transmission dans le temps de manière aléatoire, tout en cherchant à minimiser les collisions par la connaissance partielle du réseau. Par exemple, dans le cas du protocole CSMA/CA, on trouve deux modes de fonctionnement: 1) le noeud qui cherche à transmettre, écoute le milieu de transmission pour détecter l'activité des autres radios présentes dans le réseau. Lorsqu'il ne détecte pas d'activité, il démarre sa transmission. La détection d'activité est classiquement réalisée par une détection d'énergie sur la ou les fréquences porteuses du réseau. Dans le cas d'une transmission UWB par impulsions, cette détection d'énergie est très difficile à réaliser compte-tenu du caractère impulsif et du très grand rapport cyclique des signaux transmis. Dans ce cas, le niveau du signal transmis se trouve en dessous du niveau du bruit thermique à quelques mètres de l'émetteur. Ce protocole n'est donc pas adapté aux signaux UWB par impulsions. Même si l'on lève la difficulté de détection en UWB, le protocole CSMA/CA dans ce mode reste peu performant dans un contexte radio, sachant que si une transmission échoue du fait d'une collision, c'est l'ensemble du paquet qui est rejeté. 2) Le protocole CSMA/CA peut s'utiliser dans un mode de détection de porteuse ou CS (abréviation anglo-saxone de Carrier Sense) virtuel , par la transmission de paquets de signalisation de type requête pour transmettre ou RTS (abrégé anglo-saxon de Request To Send) et de type réponse indiquant la disponibilité pour recevoir ou CTS (Clear To Send). Lors de l'échange de ces paquets entre deux noeuds du réseau, les autres noeuds en portée radio les décodent et bloquent leurs transmissions pendant la durée nécessaire à la transmission des données. Cette réservation de la ressource est appelée signal d'allocation du réseau ou encore NAV (Network Allocation Vector). C'est ce dernier principe qui est utilisé par exemple dans la norme 802.11. Ce dernier mode se retrouve aussi dans un protocole appelé MACA (accès multiple en évitant les collisions ou Multiple Access Collision Avoidance), qui utilise de plus une régulation de puissance des différents émetteurs afin de permettre la réutilisation spatiale des liens tout en minimisant les interférences des noeuds adjacents. Dans le protocole MACA, le protocole est dit orienté émetteur puisque c'est un noeud qui demande à transmettre vers un autre noeud, via un paquet RTS. Si le noeud sollicité est disponible pour recevoir un paquet, il l'indique au demandeur via un paquet CTS. On trouve aussi dans la littérature des protocoles dits orienté récepteur pour lesquels ce sont les noeuds qui envoient une requête pour recevoir ou RTR (Request To Receive) indiquant qu'ils sont demandeurs pour recevoir des données. On peut citer par exemple le protocole MACA-BI (abrégé anglo-saxon de MACA - By Invitation). Un des avantages de ces protocoles orientés récepteurs est qu'ils divisent par deux la signalisation (une requête RTR au lieu d'un couple de requêtes RTS/CTS). Réalisations UWB existantes La couche physique du système de transmission proposé selon l'invention est notamment basée sur la technologie ultra large bande par impulsions UWB-IR. Le principe de l'UWB-IR est de transmettre l'information au moyen d'impulsions très courtes (de l'ordre de la ns) en bande de base. io Les systèmes de transmission UWB-IR ont été essentiellement décrits au niveau de la couche physique, par exemple dans le document de M. Z. Win and R. A. Scholtz, Impulse radio: how it works , IEEE Com. Letters, vol. 2, no. 2, Feb. 1998, pp. 36-38. Cette couche physique inclut une technique d'accès multiple par répartition de codes utilisant des codes de "sauts temporels" ou THC (abrégé en anglo-saxon de Time Hopping Codes) ou encore des codes de sauts temporels en accès multiple ou TH-CDMA (Time Hoppping Code Division Multiple Access). L'idée est de transmettre les impulsions en les espaçant temporellement de manière pseudo-aléatoire, chaque utilisateur ayant sa propre séquence. Ceci permet en principe une utilisation de l'UWB dans un contexte multi-utilisateurs asynchrone particulièrement adapté aux réseaux ad hoc. L'utilisation de cette couche physique à des systèmes pratiques est décrite par exemple dans les articles de: É M. Z. Win, X. Qiu, R. A. Scholtz, and V. O. K. Li, ATM-based TH- 25 SSMA network for multimedia PCS , IEEE JSAC, vol. 17, no 5, May 1999, pp. 824-836, et É S. S. Kolenchery, J. K. Townsend, and J. A. Freebersyser, A novel impulse radio network for tactical military wireless communications , IEEE Milcom Conf., Bedford, MA, USA, Oct. 1998, pp. 59-65. Les protocoles à accès aléatoire à CS virtuel utilisant le NAV ont été mis au point pour des couches physiques (PHY) classiques , à bande étroites, pour lesquelles une collision a une forte probabilité de produire des erreurs et conduire à un rejet du paquet (soit au niveau MAC soit au niveau de la couche transport). Pour des couches physiques PHY ayant des propriétés d'accès multiples, par exemple l'UWB-IR utilisant les codes de sauts temporels THC (noté UWB-IR-THC par la suite), il est possible d'affecter un code à chaque utilisateur ce qui a pour conséquence de minimiser l'effet des collisions sur la probabilité d'erreur. Dans ce cas, une io collision donne lieu potentiellement à un faible taux d'erreur à la réception du paquet. La littérature sur la mise en oeuvre de ce type de réseau est essentiellement dédiée aux techniques d'accès par étalement de spectre à séquence directe (Direct Sequence Spread Spectrum - DSSS). Aucune ne traite de l'application de ce type de protocole avec la couche 15 UWB-IR-THC. Dans la suite de la description on désigne par monocode un réseau pour lequel chaque utilisateur possède le même code de données et le même code de signalisation. D'une manière générale, le code de données et le code de signalisation sont différents afin d'optimiser les performances, mais on peut envisager d'utiliser une restriction du code de données pour le code de synchronisation. L'invention concerne un procédé de communication dans un réseau distribué (non-centralisé) de type ad hoc basé sur une couche physique permettant un accès multiple par code, comprenant une étape où l'on envoie des paquets de signalisation, transmis sur un code commun à tous les utilisateurs, appelé code de signalisation cs(k) , une étape d'envoi du paquet de données déclenchée par les paquets de signalisation, caractérisé en ce que le paquet de données est transmis sur un code commun à, au moins, la majorité des utilisateurs du réseau, appelé code de données co(k) . L'invention concerne aussi un système de communication dans un réseau distribué basé sur une couche physique permettant un accès multiple par code, caractérisé en ce que chaque station utilisateur du réseau est équipée d'un processeur adapté à É envoyer des paquets de signalisation, transmis sur un code commun à tous les utilisateurs, appelé code de signalisation , É envoyer des paquets de données déclenchés par les paquets de signalisation, les paquets de données étant transmis sur un code commun à, au moins, la majorité des utilisateurs du réseau, appelé code de données . L'invention présente notamment les avantages suivants: ^ elle permet la mise en oeuvre d'un réseau ad hoc de type distribué de manière simple pour des radios dont la couche PHY est de type UWB-IR- THC; ^ elle permet de s'affranchir des problèmes de gestion de la ressource des codes; de l'allocation des codes dans un réseau distribué, ^ elle permet d'améliorer le débit global du réseau en supprimant l'utilisation du NAV, ^ en utilisant la propriété d'accès multiple des THC au niveau de la couche PHY, le procédé selon l'invention permet d'améliorer le débit moyen du réseau en permettant plusieurs transmissions simultanées. D'autres caractéristiques et avantages de l'objet de la présente invention apparaîtront mieux à la lecture de la description qui suit donnée à titre illustratif et nullement limitatif et des figures annexées qui représentent: ^ La figure 1 l'organisation classique d'une trame dans un réseau radio à accès distribué MACA-BI, ^ La figure 2 un réseau ad-hoc présentant une situation de terminal exposé, ^ La figure 3 un exemple de chronogramme avec quatre stations mettant en oeuvre simultanément deux liaisons point à point dans un contexte de terminal exposé, ^ La figure 4 un réseau ad-hoc présentant une situation de terminal caché, et la figure 5 un exemple de chronogramme avec quatre stations mettant en oeuvre simultanément deux liaisons point à point dans un contexte de terminal caché, ^ La figure 6 illustre le positionnement des impulsions dans un paquet de données. i0 Afin de mieux faire comprendre l'objet de l'invention, l'exemple qui suit donné à titre illustratif et nullement limitatif concerne un réseau distribué de communications supportant un protocole de type MACA-BI où les transmissions se font par impulsions. Pour un réseau distribué, tous les noeuds ont le même poids et possèdent aussi bien un rôle d'émetteur qu'un rôle de récepteur. L'idée consiste notamment à utiliser le même code de données pour la totalité ou la majorité des utilisateurs. La figure 2 schématise un réseau de communications distribué à accès de type UWB, plus généralement avec des transmissions par impulsions. Il comporte par exemple quatre stations A, B, C et D. La station B perçoit toute les stations, la station A perçoit une seule station et C et D en perçoivent deux. Chaque station est équipée de moyens d'émission/réception et d'un processeur adapté à exécuter les étapes du procédé selon l'invention décrites ci-après. Lorsque B initie un échange avec A, ce qui correspond à un cas classique de terminal exposé (C et D reçoivent le RTR), le procédé selon l'invention permet d'initier une transmission entre C et D sans perturber l'échange entre A et B. Le chronogramme des échanges est décrit sur la figure 3. Le procédé selon l'invention mis en oeuvre au sein du réseau comporte par exemple les étapes suivantes: Etape 1: envoi des paquets de signalisation, soit de type RTS/CTS dans le cas d'un protocole orienté émetteur ou de type RTR dans le cas d'un protocole orienté récepteur . Les paquets de signalisation sont par exemple transmis sur un code commun cs(k) à tous les utilisateurs, Etape 2: envoi du paquet de données déclenché par les paquets de signalisation. Le paquet de données est par exemple transmis sur un code commun co(k) à tous les utilisateurs, appelé code de données , En cas d'échec, correspondant à la non réception du paquet de données, la procédure d'émission des paquets de signalisation (étape 1) peut être 10 réitérée. Chaque noeud agit de manière autonome. La figure 4 illustre un cas typique de terminal caché où la station A initie un échange avec B. Aucun mécanisme n'est nécessaire pour prévenir les stations C et D d'émettre comme dans les cas des protocoles MACA/MACABI, au contraire, C peut initier un échange avec D comme le montre le chronogramme des échanges sur la figure 3, sans se préoccuper de l'état de B. En effet, les collisions engendrées ont une faible probabilité de créer des erreurs compte tenu de l'optimisation des THC. La figure 5 représente le chronogramme des signaux échangés pour la configuration du réseau de la figure 4. Une variante de l'invention comporte un processus d'attente aléatoire plus connu sous le terme anglo-saxon backoff pour l'envoi des paquets de signalisation. Ce processus consiste à retarder l'émission d'un paquet de signalisation d'une durée aléatoire. Ceci permet notamment de réduire la probabilité de collision entre plusieurs paquets de signalisation en évitant que les noeuds du réseau se synchronisent, synchronisation pouvant être causée et entretenue par l'échange des paquets de signalisation. Cette variante peut s'appliquer à la première émission d'un paquet de signalisation et/ou à la ré-émission de ce paquet après un échec de transmission. Une autre variante de l'invention consiste à utiliser le NAV. Dans ce cas, on minimise la probabilité de collisions aux dépens du débit global du réseau. Description des codes, critère d'optimisation. Les codes choisis pour mettre en oeuvre le procédé selon l'invention sont par exemple des codes qui assurent que l'effet des collisions sur le taux d'erreur est minimal. Ceci se traduit par exemple par le choix de codes dont l'autocorrélation partielle (autocorrélation effectuée sur un sous ensemble du code) est minimum quel que soit le décalage. Avant de détailler la procédure permettant de trouver ces codes, un bref rappel des signaux UWB-IR-THC est donné. Un paquet radio (ou burst) de signal UWB-IR-THC, correspondant à des données ou à de la signalisation, dans le cas de la modulation d'amplitude s'écrit: N-1 NA-1 x(t)=Es(i) E c(k+iNCNf)w(t-(k+iNcNf)Tc) (1) i=0 k=0 où {c(k), k = 0,..., NNCNf -1} est le THC à valeurs dans {0,1} , T, est la durée d'un élément du code d'étalement (durée d'un chip), w(t) l'impulsion, s(k) les symboles, N est le nombre de symboles transmis dans un paquet, Nc le nombre de chips, Nf le nombre de trames. La figure 6 illustre un exemple de positionnement des impulsions 20 dans un paquet de données. Le paquet se compose de trois niveaux: 1) le symbole, 2) la trame, 3) le chip. L'intervalle de temps correspondant à un symbole se divise en Nf trames, chacune contenant une impulsion. La durée d'une trame se divise en Al, chips, le numéro du chip dans lequel est positionnée l'impulsion étant donné par la valeur du code c(k) . La figure 6 montre la position de l'impulsion correspondant au symbole s(2) et la trame n 3 qui se situe au chip n 2, correspondant à la valeur de code c(2 * NCNf +3* N, + 2) =1. Chaque trame ne contenant qu'une impulsion, les THC c(k) doivent de plus respecter la propriété suivante: Nc-1 Ec(k+pN)=1, dp,0p La puissance de l'interférence d'un (ou plusieurs) paquet(s) sur le paquet d'intérêt est proportionnel à la somme des carrés de l'intercorrélation partielle des codes en présence. Compte tenu des valeurs des codes, le meilleur critère assurant une puissance d'interférence minimale est équivalent à ce que l'intercorrélation partielle, sur la longueur d'un symbole (soit NcN, chips) soit au maximum égale à 1, quel que soit le décalage entre les deux paquets. Dans le cas d'un réseau monocode, les codes vérifient conjointement le critère de collisions minimales dans les trois cas suivants: É Critère 1 (Cl) , l'autocorrélation (privée du retard nul) du code de données est minimale, É Critère 2 (C2) : l'autocorrélation (privée du retard nul) du code de signalisation est minimale, É Critère 3 (C3) : l'intercorrélation entre le code de données et le code de signalisation est minimale. Les contraintes à vérifier sont (les codes cp(k) et cs(k) étant respectivement supposés nuls en dehors de l'intervalle [O, NCN,ND -1] et de l'intervalle [O,NCN,NS 1]) : Cl: V 0 La recherche de tels codes s'effectue de façon aléatoire en tirant des codes puis en vérifiant s'ils vérifient les trois critères Cl, C2 et C3. A titre d'exemple, pour Nf = 3, N = 50, ND = 6 et Ns = 2, les codes suivants co = {26, 11, 46, 10, 23, 14, 28, 8, 15, 10, 38, 16, 18, 14, 18, 29, 48, 24} et cs ={35, 22, 23, 33, 48, 19} satisfont les trois critères. Les codes cp(k) et cs(k) se déduisent des codes co(k) et cs(k) par les relations suivantes: cp(éD(k)+kNc)=1 pour k=[0,...,NfND 1], et 0 ailleurs, cs(cs(k)+kNc)=1 pour k = [0,..., NfNs -1], et 0 ailleurs. Concernant l'existence de tels codes, on peut montrer qu'à Al, et ND (ou Ns) fixés, le nombre de codes satisfaisant le critère de collision minimale augmente avec NN et la probabilité de tirer un bon code tend vers 1 lorsque NN tend vers l'infini. Une variante de l'invention consiste en l'utilisation d'un seul et même code pour la signalisation et les données. Dans ce cas le code de signalisation cs(k) est pris comme les N,NS premières valeurs du code co(k) et seul le critère Cl est alors à vérifier. io REVENDICATIONS 1 Procédé de communication dans un réseau distribué (non-centralisé) de type ad hoc basé sur une couche physique permettant un accès multiple par code, comprenant une étape où l'on envoie des paquets de signalisation, transmis sur un code commun à tous les utilisateurs, appelé code de signalisation cs(k), une étape d'envoi du paquet de données déclenchée par les paquets de signalisation, caractérisé en ce que le paquet de données est transmis sur un code commun à, au moins, la majorité des utilisateurs du 10 réseau, appelé code de données co(k). 2 Procédé selon la revendication 1 caractérisé en ce qu'il comporte au moins une étape consistant à retarder l'émission des paquets signalisation d'une durée aléatoire. 3 Procédé selon l'une des revendications 1 à 2 caractérisé en ce que l'on utilise un protocole UWB. 4 Procédé selon la revendication 3 caractérisé en ce que le code de 20 données co(k) et le code de signalisation cs(k) vérifient les critères suivants Cl: b'0 Procédé selon la revendication 1 caractérisé en ce que le code de 5 signalisation est égal au code données, c'est à dire, cs(k) = co(k) , k=0, .,NCNfNs 1...CLMF: 6 Procédé selon la revendication 5 caractérisé en ce que le code de trafic et le code de signalisation vérifie: io Cl: b'0 8 Système de communication dans un réseau distribué basé sur une couche physique permettant un accès multiple par code, caractérisé en ce que chaque station utilisateur du réseau est équipée d'un processeur adapté à É envoyer des paquets de signalisation, transmis sur un code commun à tous les utilisateurs, appelé code de signalisation , É envoyer des paquets de données déclenchés par les paquets de signalisation, les paquets de données étant transmis sur un code 25 commun à , au moins, la majorité des utilisateurs du réseau, appelé code de données .