RadioCommunications CDMA
Transcription
RadioCommunications CDMA
Conservatoire National des Arts et Métiers Cours du Conservatoire National des Arts et Métiers RadioCommunications CDMA (Version 7.0) Michel Terré [email protected] Electronique C4 1/1 Conservatoire National des Arts et Métiers Les performances des systèmes de radiocommunications sont fortement liées aux choix techniques qui permettent à des utilisateurs multiples (multi user) d'accéder à un canal de transmission. Ce choix crucial du système d'accès concerne aussi bien les systèmes de radiocommunications cellulaires terrestres (GSM, UMTS) que les systèmes satellitaires, ou enfin que les réseaux locaux sans fils (WiFi, Bluetooth). Ce document est une introduction à l'une des méthodes d'accès multiple basée sur un partage de la ressource au moyen de codes d'étalement : Code Division Multiple Acces (CDMA). Cette méthode d'accès est issue des transmissions étalées utilisées dans le contexte des transmissions militaires depuis de nombreuses années. L'objectif des premières transmissions militaires étalées était de résister au mieux à des brouilleurs bandes étroites ou/et de réaliser des transmission "discrètes". L'utilisation de l'étalement en CDMA répond à un tout autre objectif, il s'agit, en l'occurrence, de maximiser la capacité d'un réseau d'accès radio. Ce cours a pour but de situer le CDMA par rapport aux autres familles de méthodes d'accès et de préciser les principales difficultés qui lui sont inhérentes. 1. Introduction aux techniques d'accès multiples Il y a plusieurs méthodes pour partager une ressource radio entre N utilisateurs. Une solution simple consiste à diviser la bande de fréquence en N sous bandes disjointes et à allouer une sous bande à chaque utilisateur Si on introduit le largeur totale de la bande de fréquence disponible : B, chaque utilisateur peut idéalement disposer d'une sous bande de largeur : W = B N (DSP: Densité Spectrale de Puissance) DSP Sous Bande : W Bde 1 Bde 2 Bde N fréquence Bande de fréquence : B - Schéma type d'un partage FDMA - Cette méthode est appelée Frequency Division Multiple Access (FDMA). Elle est utilisée dans de nombreux systèmes de transmissions filaires. La difficulté majeure de mise en œuvre réside dans la séparation des différentes sous bandes de fréquence. En pratique ces dernières ne peuvent pas être jointives et sont séparées par un intervalle de garde ou bande de garde de largeur spectrale W g . Electronique C4 2/2 Conservatoire National des Arts et Métiers Sous Bande : W DSP Bande de garde : Wg Bde 1 Bde 2 Bde N' fréquence Bande de fréquence : B - Schéma d'un partage FDMA avec bande de garde - Le nombre réels N ' d'utilisateurs qui peuvent partager la bande B est alors inférieur au nombre idéal N et s'obtient au moyen de l'équation suivante : B = N ' W + ( N '−1)Wg Si l'on considère aussi les intervalles de garde aux extrémités de la bande de fréquence l'équation précédente devient : B = N ' W + ( N '+1)Wg Une autre méthode pour décomposer une ressource en sous canaux allouables à différents utilisateurs consiste à définir T une durée de trame Tt et à décomposer cette dernière en N intervalles encore appelés times slots de durée Ts = t N DSP Times slots Ts slot 1 slot 2 slot N temps Trame Tt - Schéma d'un partage TDMA - Chaque utilisateur qui souhaite transmettre des données se voit allouer un time slot particulier dans chaque trame. Ce système d'accès multiple est appelé Time Division Multiple Access (TDMA). Il est fréquemment utilisé pour les transmissions radio de voix et de données. Dans les systèmes de radiocommunications avec les mobiles fonctionnant en TDMA, une des principales difficultés réside dans le fait qu'il faut synchroniser, sur la même horloge, l'ensemble des terminaux et qu'il faut éviter que les paquets de données (burst) émis par deux terminaux qui utilisent des times slots adjacents, ne se recouvrent, même partiellement, à l'arrivée à la station de base. Pour éviter ce type de problème, il faut prévoir un intervalle de garde, ce qui revient à avoir une durée du time slot supérieure à la durée du burst émis. Electronique C4 3/3 Conservatoire National des Arts et Métiers Times slots Ts DSP Durée du Burst temps Trame Tt - Schéma d'un partage TDMA avec délai de garde - Rappel sur le GSM : Le système GSM fonctionne selon un principe de TDMA. La trame dure environ 4.6 ms, elle est divisée en 8 times slots de 577 µs. Un terminal transmet 116 bits utiles durant ce time slot de 577 µs. Le time slot ne "revient" qu'une fois sur 8, le débit utile canal du terminal est donc égal à 116 bits = 251.3 kbits / s . Si l'on considère les intervalles de garde et 8 x577 µs les bits de la séquence d'apprentissage, on s'aperçoit que le time slot "dure" en fait 156.25 bits . Le débit sur le canal est alors égal à 156.25 bits = 270.8 kbits / s . 8 x577 µs Pour les modes d'accès en FDMA ou en TDMA on constate que le canal est décomposé en sous canaux indépendants, chaque sous canal étant alloué à un utilisateur. On se retrouve ainsi dans une approche de transmission assez classique où la difficulté principale consiste à allouer les ressources libres (sous bandes ou times slots) aux utilisateurs. Lorsque l'on est confronté à un système de communications avec de nombreux utilisateurs ayant un trafic sporadique d'envoi de paquets de données, les mécanismes d'allocation de ressources doivent être dynamiques. De tels mécanismes sont mis en œuvre dans l'évolution GPRS du GSM. Pour éviter d'avoir à allouer des ressources à des utilisateurs on peut imaginer un système dans lequel ces utilisateurs pourraient émettre simultanément sur une même bande de fréquence. Idéalement ces utilisateurs pourraient tirer aléatoirement des séquences au moyen desquelles ils encoderaient les bits qu'ils doivent transmettre. Le récepteur pourrait alors "essayer" toutes les séquences possibles pour "retrouver" les trains binaires des différents utilisateurs. Une telle méthode d'accès multiple est appelée Code Division Multiple Access (CDMA). Pour simplifier l'exposé de cette méthode on va se placer dans un mode "alloué" dans lequel les différents utilisateurs se verraient allouées des séquences d'étalement. Les séquences représentent donc en quelque sorte les signatures des utilisateurs et elles permettent d'étaler leur trafic sur toute la bande de fréquence. Les signaux des différents utilisateurs sont séparés au niveau du récepteur par corrélation du signal reçu avec les différentes séquences d'étalement Avant de détailler quelques propriétés du CDMA illustrons son principe au moyen d'un exemple simple. Electronique C4 4/4 Conservatoire National des Arts et Métiers 2. Le CDMA par l'exemple Considérons un cas extrêmement simple d'une voie montante d'un système cellulaire terrestre. On considère le cas où 4 utilisateurs souhaitent utiliser la même ressource radio pour transmettre chacun un train binaire différent. Considérons, dans un premier temps, que les utilisateurs sont synchronisés en temps lorsqu'ils arrivent à la station de base et qu'il n'y a pas de décalage Doppler. Supposons enfin que ces 4 utilisateurs aient utilisé les 4 séquences d'étalement orthogonales suivantes (séquences de Hadamard): Utilisateur n°1 bit à transmettre : a = { ±1} séquence d'étalement : +1 +1 +1 +1 chips émis durant un temps bit : +a +a +a +a Tb : temps bit bit b de l'utilisateur n°2 Utilisateur n°2 bit à transmettre : b = { ±1} séquence d'étalement : +1 −1 +1 −1 chips émis durant un temps bit : +b −b +b −b séquence aléatoire de l'utilisateur n°2 Tc : temps chip Tb : temps bit Utilisateur n°3 bit à transmettre : c = { ±1} séquence d'étalement : +1 +1 −1 −1 chips émis durant un temps bit : +c +c −c −c Utilisateur n°4 d = { ±1} bit à transmettre : séquence aléatoire de l'utilisateur n°3 +1 −1 −1 +1 séquence d'étalement : chips émis durant un temps bit : bit c de l'utilisateur n°3 +d −d −d +d Les éléments des séquences d'étalement sont appelés des "chips". Dans cet exemple chaque séquence est constituée de 4 chips. On introduit alors Tc qui représente le temps chip et qui est égal, dans le cas de l'exemple traité, à un quart du temps bit Tb . Tb = 4.Tc Electronique C4 5/5 Conservatoire National des Arts et Métiers On se place maintenant à la station de base, en supposant les problèmes de synchronisation résolus et en considérant une transmission sans bruit. Le signal reçu r durant un temps bit est constitué par 4 chips et il s'écrit : r = (a + b + c + d ) (a − b + c − d ) (a + b − c − d ) (a − b − c + d ) Pour retrouver le bit émis par un utilisateur, il suffit de corréler ce signal reçu par la séquence utilisée par cet utilisateur. Si l'on prend l'exemple du premier utilisateur, on obtient : aˆ = 1 (1.(a + b + c + d ) + 1.(a − b + c − d ) + 1.(a + b − c − d ) + 1.(a − b − c + d )) 4 d'où : a$ = a On retrouve bien le bit émis par le premier utilisateur. Pour le deuxième utilisateur on obtient : 1 bˆ = (1.(a + b + c + d ) − 1.(a − b + c − d ) + 1.(a + b − c − d ) − 1.(a − b − c + d )) 4 d'où : bˆ = b Pour le troisième utilisateur on obtient : cˆ = 1 (1.(a + b + c + d ) + 1.(a − b + c − d ) − 1.(a + b − c − d ) − 1.(a − b − c + d )) 4 d'où : cˆ = c Pour le quatrième utilisateur enfin, on obtient : 1 dˆ = (1.(a + b + c + d ) − 1.(a − b + c − d ) − 1.(a + b − c − d ) + 1.(a − b − c + d )) 4 d'où : dˆ = d On constate aussi que, même si les différents utilisateurs sont reçus au niveau de la station de base avec des niveaux d'énergie très différents, les séquences d'étalement étant orthogonales et les chaînes de transmission étant supposées linéaires, la réception est insensible à ces écarts de puissance. Le cas d'école présenté ci-dessus est un cas idéal pour lequel l'opération de desétalement fonctionne parfaitement du fait des hypothèses suivantes : - (H0) les chips émis par les différents utilisateurs ont été supposés synchronisés au niveau du récepteur - (H1) aucun bruit n'a été ajouté au signal - (H2) les séquences d'étalement utilisées étaient orthogonales - (H3) aucun effet Doppler différentiel n'a été considéré Nous allons maintenant remettre en cause progressivement toutes ces hypothèses idéales et analyser les dégradations qui vont apparaître. Electronique C4 6/6 Conservatoire National des Arts et Métiers Abandon de l'hypothèse H0 Considérons pour débuter que le deuxième utilisateur est décalé temporellement d'un temps chip par rapport aux autres utilisateurs. Précisons aussi le séquencement temporel des bits émis par les différents utilisateurs. Soit ainsi : a (0 ), a (1), ..., a (t − 1), a (t ), a (t + 1), a (t + 2),... la séquence émise par le premier utilisateur et : b(0 ), b(1), ..., b(t − 1), b(t ), b(t + 1), b(t + 2),... c(0 ), c(1),..., c(t − 1), c(t ), c(t + 1), c(t + 2),... d (0 ), d (1),..., d (t − 1), d (t ), d (t + 1), d (t + 2),... les séquences émises par les autres utilisateurs. Le décalage d'un temps chip du deuxième utilisateur conduit donc à un nouveau signal reçu : r (t ) = (a(t ) + b(t − 1) + c(t ) + d (t ) ) (a(t ) − b(t ) + c(t ) − d (t ) ) (a(t ) + b(t ) − c(t ) − d (t ) ) (a(t ) − b(t ) − c(t ) + d (t ) ) La corrélation avec la séquence d'étalement de l'utilisateur n°1 donne alors : a$ (t ) = a (t ) + Abandon des hypothèses H0 1 ( b(t − 1) − b(t )) 4 et H1 Considérons maintenant le cas d'une transmission sur un canal avec un bruit blanc gaussien additif (Additive White Gaussian Noise) Le signal reçu s'écrit alors : ( a (t ) − b(t ) + c(t ) − d (t ) + n(t + Tc )) ( a (t ) + b(t ) − c(t ) − d (t ) + n(t + 2Tc )) ( a (t ) − b(t ) − c(t ) + d (t ) + n(t + 3Tc )) r (t ) = ( a (t ) + b(t − 1) + c( t ) + d (t ) + n(t ) ) expression dans laquelle n(t ) représente un bruit blanc gaussien de variance 4σ 2 . On introduit cette variance 4σ 2 pour prendre en compte le fait que ces échantillons de bruit représentent un bruit de densité bilatérale de puissance considérée sur une bande de fréquence égale à et la bande N0 2 1 . Le signal a été "étalé" en le multipliant par les séquences de 4 chips Tc 1 4 = . Le facteur 4 utilisé pour la variance du bruit traduit le fait que l'on considère le bruit dans cette Tc Tb bande étalée. Après desétalement par la séquence de l'utilisateur n°1, on obtient : a$ (t ) = a (t ) + 1 (b(t − 1) − b(t )) + n' (t ) 4 expression dans laquelle n' (t ) représente un bruit blanc gaussien de variance σ 2 . En effet c'est la somme de 4 échantillons de bruit gaussien indépendants et de variance 4σ 2 . Cela conduit donc à un échantillon de bruit gaussien de variance 16 σ 2 et en divisant cet échantillon par 4, on retrouve une variance égale à σ 2 . On peut aussi "comprendre" cette variance en considérant que l'opération de desétalement a "ramené" le signal dans une bande égale à Electronique C4 1 . Cette Tb 7/7 Conservatoire National des Arts et Métiers division de la bande par 4 conduit donc, le bruit ayant une densité bilatérale constante égale à N0 , à une division par 4 2 de la puissance de bruit. Considérons maintenant le cas particulier des bits suivants émis par les deux premiers utilisateurs : a(t ) = +1 , b(t − 1) = −1 , b(t ) = +1 On se retrouve alors avec un terme d'interférence "destructif" dû au deuxième utilisateur. aˆ (t ) = 0.5 + n' (t ) au lieu de aˆ (t ) = 1 + n' (t ) , soit une perte d'un facteur 2 sur l'amplitude ou encore 6 dB de perte en puissance. Dans deux cas sur 4 l'interférence sera nulle, dans un cas sur 4 l'interférence sera destructive (telle qu'elle a été décrite) et dans un cas sur 4 elle sera constructive. On peut ainsi, dans ce cas d'école extrêmement simple, calculer la dégradation de la courbe de performances. Dans le cas d'une transmission sans codage, on obtient alors : 2 1 + 1 a 2 1 2 TEB = Q 2 2σ 2 2 1 − 1 a 2 1 2 + Q 2σ 2 2 Abandon de l'hypothèse H3 Le fait de décaler un des utilisateurs a rompu l'orthogonalité des séquences d'étalement. Or il est connu que les séquences orthogonales, lorsqu'elles ne sont plus bien synchronisées ont des pics d'intercorrélation qui peuvent être très importants. A titre d'illustration on peut considérer la troisième et la quatrième séquences de la matrice de Hadamard de dimension 4. Si l'on décale la quatrième séquence d'un chip vers la droite, on se retrouve avec des séquences dont l'intercorrélation est égale à 1. +1 +1 −1 −1 +1 +1 +1 +1 −1 −1 +1 +1 Lorsqu'il n'est pas possible d'assurer une synchronisation temporelle des émissions des différents utilisateurs avec une précision inférieure à 50 % du temps chip, il est préférable d'utiliser des séquences d'étalement non orthogonales mais dont les pics d'intercorrélation sont bornés. Cette recherche de séquences d'étalement optimales a donné lieu à de nombreux travaux de recherche. Parmi les séquences les plus célèbres on peut citer les séquences de Gold [1] à valeurs dans { ±1} ou les séquences de Kumar Hamons [1] à valeurs dans { ±1 ± j} Abandon de l'hypothèse H4 Revenons maintenant au cas idéal de synchronisation parfaite et de séquences orthogonales, mais supposons que des effets Doppler différents affectent les utilisateurs. Il pourrait en être ainsi dans un système satellitaire couvrant, avec une constellation LEO (Low Earth Orbit), un ensemble de spots fixes au sol. Un satellite pourrait ainsi avoir une vitesse radiale très différente vis à vis de deux utilisateurs grandement espacés dans le spot. Electronique C4 8/8 Conservatoire National des Arts et Métiers Supposons qu'un dispositif d'ajustement de fréquence, disposé sur la chaîne de réception de l'utilisateur n°1, estime et corrige parfaitement le décalage Doppler de cet utilisateur. Il reste alors un décalage Doppler différentiel entre cet utilisateur n°1 parfaitement corrigé et les autres utilisateurs. Introduisons ∆ f 2 /1 , ∆ f 3 /1 , ∆ f 4 /1 ces décalages Doppler . Le signal r (t ) s'écrit alors : ( r (t ) = a (t ) + b(t ) e j 2 π∆ f 1 / 2 t + c(t ) e j 2 π∆ f 1/ 3 t + d ( t ) e j 2 π∆ f 1/ 4t + n(t ) ) (a(t ) − b(t ) e j2π∆ f (t +T ) + c(t ) e j2π∆ f (t +T ) − d (t ) e j2π∆ f (t +T ) + n(t + Tc ) (a(t ) + b(t ) e j2π∆ f (t +2T ) − c(t ) e j2π∆ f (t +2T ) − d (t ) e j2π∆ f (t +2T ) + n(t + 2Tc )) (a(t ) − b(t ) e j2π∆ f (t +3T ) − c(t ) e j2π∆ f (t +3T ) + d (t ) e j2π∆ f (t +3T ) + n(t + 3Tc )) 1/ 2 c 1/ 3 1/ 2 c 1/ 2 c 1/ 4 1/ 3 c c 1/ 3 c 1/ 4 c c 1/ 4 c On constate alors que les "chips" des autres utilisateurs "tournent" durant le temps symbole et que la corrélation avec la séquence d'étalement de l'utilisateur n°1 ne va pas les annuler. Le Doppler différentiel a finalement rompu l'orthogonalité des séquences d'étalement. Cette remarque sur l'effet Doppler permet de faire apparaître une quantité très importante, il s'agit du produit ∆ f . Ts . En règle générale on peut considérer que si les chips "tournent" de moins de quelques degrés (typiquement 3 ° à 5°) durant un temps symbole alors l'effet Doppler peut être négligé. Ainsi on peut desétaler un signal, sans même estimer ni corriger son décalage en fréquence ∆ f s , tant que : ∆ f . Ts < 10 −2 Exemple, considérons un paquet (burst) de 424 symboles BPSK, étalés au moyen d'une séquence de longueur 64. La durée du paquet est égale à 6 ms. On a donc : le temps symbole : Ts = 6 .10 −3 = 14 µs 424 (remarque : on parle plutôt de temps symbole que de temps bit car ce sont en général les symboles qui sont étalés par des séquences aléatoires. Pour la modulation BPSK le temps symbole est égal au temps bit. Par contre pour d'autres modulations ce n'est pas forcément le cas. Ainsi pour une modulation QPSK le temps symbole est égal à deux fois le temps bit) le temps chip : Tc = Ts = 0.22 µs 64 on peut desétaler ce signal sans devoir mettre en œuvre une correction de fréquence tant que l'écart de fréquence reste inférieur à : ∆ f < 10 −2 = 700 Hz 14 µs On a montré quelques particularités du CDMA à travers une exemple simple. Il a ainsi été souligné que le CDMA orthogonal, c'est à dire utilisant des séquences d'étalement orthogonales, était théoriquement très satisfaisant mais demandait des contraintes de synchronisation en temps et en fréquence très précises. Il a aussi été montré que lorsque les séquences d'étalement ne sont plus orthogonales les différents trains binaires émis par les utilisateurs interfèrent entre eux. Reprenons maintenant une approche plus générale des particularités du CDMA. Electronique C4 9/9 Conservatoire National des Arts et Métiers 3. Le CDMA Le principe du CDMA ayant été exposé dans l'exemple simple précédent on essaiera ici de généraliser au cas d'un système où N utilisateurs partagent une même bande de fréquence. Considérons un utilisateur particulier à qui on attribue l'indice 1 et cherchons à évaluer la puissance de bruit interférente, due aux autres utilisateurs d'indices 2 à K, qui va "gêner" la réception et démodulation de cet utilisateur n°1. Soit s 1k le kième symbole émis par notre utilisateur de référence. L'opération d'étalement transforme ce symbole en N { chips c1k , i ∈ [1, N ] . On note les N éléments de la séquence d'étalement : p 1 = p11 i } p 21 L p 1N . On considère ici { p } sont des séquences aléatoires, dites PN une séquence p i1 = ±1 . Enfin, les différentes séquences d'étalement n (Pseudo Noise) qui n'ont pas de propriétés d'orthogonalité particulières. Au niveau du récepteur on reçoit alors le signal suivant : rik = c1k + i K ∑ cnki + bik n=2 L'opération de desétalement consiste à calculer le produit de corrélation de ce signal par la séquence p 1 . D'où : 1 N s 1k = N K i =1 n=2 ∑ pi1 c1ki + ∑ c nki + bik En utilisant alors : c1k = s1k p i1 i et c nk = s nk p in i il vient : s lk = 1 N N K i =1 n=2 ∑ pil s lk pil + ∑ s nk pin + bik ou encore : s lk = 1 N N ∑ (pil ) i =1 2 k s1 + 1 N K N 1 N ∑ ∑ pi1 pin s nk + N ∑ pi1bik n = 2 i =1 i =1 Trois termes apparaissent dans cette équation : - Le premier terme 1 N N ∑ (pi1 ) i =1 2 k s1 est égal à s 1k Le deuxième terme représente l'interférence des autres utilisateurs. Si les séquences d'étalement sont assez longues (N >> 1) , on peut considérer que : 1 N N ∑ pi1 pin = vn i =1 Electronique C4 10/10 Conservatoire National des Arts et Métiers La variable vn est la somme de N variables binomiales {± 1}. Par application du théorème central limite on peut donc considérer que vn tend vers une variable aléatoire gaussienne centrée de moyenne nulle et de variance - 1 N Le troisième terme représente une somme de N échantillons indépendants de bruit blanc gaussien de variance N .σ 2 , cette somme est donc équivalente à un terme de bruit additif de variance N .N .σ 2 N 2 que l'on notera b k . La variance du bruit b k est finalement égale à σ 2 , elle est plus faible que la variance des bruits bik , ce qui est normal car ces bruits étaient large bande et leur puissance était donc égale à la densité spectrale de puissance de bruit multipliée par la bande après étalement. Par contre le bruit b k correspond au bruit dans la bande utile après desétalement. La densité spectrale de puissance est la même mais la bande ayant été divisée par N dans l'opération de desétalement on retrouve bien la division par N au niveau de la variance du bruit. Cette remarque est important en simulation lorsque l'on étudie un système CDMA, pour rester à un niveau fixe de rapport oublier de multiplier les amplitudes des échantillons de bruit complexes par Eb , il ne faut pas N0 N pour traduire l'effet de l'extension de bande. On obtient finalement : sˆ1k = s1k + K ∑ vn snk + bk n=2 K Le deuxième terme ∑ vn étant identifiable à un bruit blanc gaussien additif, on peut introduire une densité de n =2 puissance bilatérale de bruit d'interférence notée puissance bilatérale de bruit thermique I0 de la même manière que l'on introduit en général la densité de 2 N0 . 2 Cette particularité du CDMA de transformer en bruit blanc gaussien les signaux interférents est très importante et représente un des grand atout du CDMA. En effet, les structures des mécanismes de prise de décision dans les récepteurs sont généralement adaptées à ce type de bruit alors qu'elles résistent mal à des interférences qui suivent la même forme d'onde que le signal utile. Pour poursuivre l'estimation du rapport signal sur bruit plus interférence en voie montante, on considérera le cas d'un contrôle de puissance parfait pour lequel tous les utilisateurs sont reçus avec la même puissance à la station de base,. Pour exprimer le rapport signal sur bruit Γ après desétalement, il faut donc introduire les quantités suivantes : - Puissance utile reçue après desétalement par la séquence de l'utilisateur d'intérêt : Ps Electronique C4 11/11 Conservatoire National des Arts et Métiers - Puissance interférente PI reçue des K −1 autres utilisateurs de la cellule qui partagent le time slot avec l'utilisateur d'intérêt : PI =α K −1 Ps N K (puissance correspondant au terme ∑ vn snk du développement n =2 précédent). Le facteur 1 provient du desétalement par la séquence de l'utilisateur d'intérêt. Le coefficient α N traduit l'orthogonalité des codes, ce coefficient est égal à 0 dans le cas de codes orthogonaux et à 1 dans le cas de codes sans aucune propriétés d'orthogonalité entre eux. - Puissance de bruit thermique dans la bande totale de transmission (bande utilisée par les signaux étalés) : Pth . Après desétalement cette puissance est donc réduite du facteur de réduction de bande ( 1 ), ce qui conduit N P finalement à th . N - Puissance d'interférence (dans la bande complète) venant éventuellement, dans un système cellulaire, des autres cellules du réseau : PInter . Après desétalement, elle devient Le rapport signal sur bruit est donc égal à : Γ = PInter N Ps Pth PInter α(K −1)Ps + + N N N Γ= NPs Pth + PInter +α(K −1)Ps Cette dernière formule permet de mesurer la dégradation apportée par les signaux interférents. Si l'on s'en tient à cette première analyse on peut assez rapidement s'apercevoir que, dès que le nombre d'interférents dépasse environ N , la 4 dégradation est très sensible mais dépend bien entendu du point de fonctionnement de la modulation utilisée. Comparée aux approches FDMA ou TDMA pour lesquelles les différents signaux n'interfèrent pas, il semble que le CDMA n'apporte aucun gain de capacité. Cependant, l'analyse comparative entre les capacités que l'on peut attendre de ces différentes approches ne peut être menée aussi rapidement. Plusieurs considérations doivent être prises en compte - Dans un contexte cellulaire terrestre le problème de la réutilisation de fréquence doit être considéré. Dans ce contexte les approches FDMA ou TDMA imposent des patterns de réutilisation de fréquence ( 1/3 1/5 1/7 …). Par contre l'emploi du CDMA peut permettre, à condition de distinguer les différentes cellules par des séquences différentes, de réutiliser partout les mêmes fréquences. - Si l'on considère un trafic de voix le facteur d'activité vocale ne peut être mis à profit en FDMA ou TDMA. Par contre il joue naturellement en faveur du CDMA et il faut modifier la formule proposée pour le prendre en compte. - Les mécanismes d'allocation de ressources "consomment" une partie de la capacité en FDMA ou TDMA. Par contre ils peuvent être évités en CDMA. On pourrait objecter qu'il est malgré tout nécessaire que deux terminaux n'utilisent pas la même séquence d'étalement. Cependant il faut garder à l'esprit qu'une séquence décalée d'un chip par rapport à elle même se comporte comme une séquence totalement différente. Ainsi on peut imaginer un système avec un certain nombre de séquences d'étalement possibles dans lequel les terminaux émettent en "tirant" Electronique C4 12/12 Conservatoire National des Arts et Métiers aléatoirement une de ces séquences. Aucun mécanisme d'allocation de ressources n'étant mis en œuvre on peut s'attendre à un gain de capacité. On pourrait continuer cette liste d'avantages et d'inconvénients assez longtemps et le débat serait difficile à clore. Il a donné lieu à de nombreuses publications scientifiques dont les conclusions sont souvent diamétralement opposées. On notera simplement ici que la comparaison, pour pouvoir être menée de manière exacte, doit intégrer, non seulement les caractéristiques de la couche physique (couche ISO 1 : modulation, codage, ..), mais aussi des couches plus hautes, telles que le Medium Access Control (couche ISO 2 : MAC) 4. Formalisation du CDMA Ce paragraphe présente une formalisation du CDMA (pour une modulation BPSK). Les trains binaires considérés par la suite dans ce polycopié sont à valeurs dans {±1} et non dans {0,1} . On considère en premier lieu un train binaire noté : a(kTb ) expression dans laquelle k représente un entier positif et Tb représente la durée d'un bit, soit donc l'inverse du débit Rb exprimé en bits/sec : Tb = 1 Rb On peut formaliser l'opération d'étalement par une séquence aléatoire PN (Pseudo Noise) de longueur N, comme le filtrage du signal binaire suréchantillonné par les éléments de la séquence. On introduit ainsi le signal suréchantillonné : a(kTb ) si i = kN a(iTc ) = 0 si i ≠ kN avec Tc qui représente le temps chip et Tb = NTc Le signal étalé par les N éléments de la séquence p(0.Tc ) p(1.Tc ) K K K p(( N − 1).Tc ) s'écrit alors : N −1 e(nTc ) = ∑ p(i.Tc ).a((n − i)Tc ) i =0 e(n.Tc ) a(k .Tb ) p(t ) filtrage suréchantillonnage La séquence d'étalement peut être à valeur réelles dans {±1} , on parle alors d'un étalement BPSK. Il s'agit du cas le plus simple et parmi les plus courants. Cependant la séquence d'étalement peut aussi être à valeurs complexes, par exemple dans {±1 ± j} , on parle alors d'étalement QPSK. On pourrait aussi imaginer des séquences d'étalement à valeurs Electronique C4 13/13 Conservatoire National des Arts et Métiers complexes non quantifiées. L'exemple des exponentielles complexes sera abordé dans ce cours et une telle approche nous conduirait assez naturellement à l'OFDM. Considérons essentiellement pour l'instant une séquence d'étalement BPSK. On obtient alors un train de chips qui vont être modulés. Si on considère le cas extrêmement simple d'une modulation BPSK avec un fonction de mise en forme g (t ) , le signal modulé en bande de base s'obtient par suréchantillonnage et filtrage. On introduit alors le signal suréchantillonné e(mTe ) : e(nTc ) si m = nM e(mTe ) = 0 si m ≠ nM T avec Te qui représente le temps échantillon : Te = c M Le signal filtré s (m.Te ) défini au rythme échantillon, s'écrit : Q s (mTe ) = ∑ g (q.Te ).e(mTe − qTe ) q =0 a(k .Tb ) e(n.Tc ) s (m.Te ) p(t ) g (t ) suréchantillonnage N suréchantillonnage M filtrage (étalement) filtrage (mise en forme) 1 train binaire (+1+1-1+1+1+1) 0 -1 1 séquence d'étalement (-1-1+1-1-1-1+1+1) 1 10 15 20 25 30 35 40 45 50 0 5 10 15 20 25 30 35 40 45 50 0 5 10 15 20 25 30 35 40 45 50 0 20 40 60 80 100 120 140 160 180 200 0 -1 1 train binaire étalé et mis en forme 5 0 -1 train binaire étalé 0 0 -1 Les tracés ci dessus correspondent à la mise en forme du signal au moyen d'une fonction porte : g (q.Te ) = 1 si q ∈ [0, M − 1] g (q.Te ) = 0 si q ∉ [0, M − 1] Electronique C4 14/14 Conservatoire National des Arts et Métiers Si on considère maintenant un filtre g (t ) en cosinus surélevé, πqTe sin Tc g (qTe ) = πqTe Tc πqTe sin β T c 2 βqTe 1 − 4 Tc expression dans laquelle β représente le facteur de rolloff, filtre g(t) en cosinus surélevé 1.2 1 Réponse impulsionnelle du filtre 0.8 en cosinus surélevé 0.6 0.4 0.2 0 -0.2 0 2 4 6 8 10 12 14 16 18 20 On obtient alors les signaux suivants : 1 train binaire (+1+1-1+1+1+1) 0 -1 1 séquence d'étalement (-1-1+1-1-1-1+1+1) 1 10 15 20 25 30 35 40 45 50 0 5 10 15 20 25 30 35 40 45 50 0 5 10 15 20 25 30 35 40 45 50 0 20 40 60 80 100 120 140 160 180 200 0 -1 2 train binaire étalé et mis en forme 5 0 -1 train binaire étalé 0 0 -2 Si on considère maintenant une somme de signaux étalés provenant de K trains binaires d'utilisateurs différents, il est alors nécessaire de préciser au moyen d'un indice supplémentaire j l'appartenance du train binaire à l'utilisateur. Le train du jième utilisateur sera alors noté : a j (kTb ) Cet utilisateur étalera son train binaire au moyen de la séquence p j (i.Tc ) Le signal CDMA correspondant aux K utilisateurs s'écrira alors : Electronique C4 15/15 Conservatoire National des Arts et Métiers x(mTe ) = K ∑ s j (mTe ) j =1 soit en remplaçant : x(mTe ) = Q K ∑ ∑ g (q.Te ).e j ((m − q).Te ) j =1 q =0 avec N −1 e j (nTc ) = ∑ p j (i.Tc ).a j ((n − i)Tc ) i =0 2 Exemple de signaux utilisateur 1 correspondant à 8 utilisateurs utilisateur 2 de 6 bits. utilisateur 3 utilisateur 4 20 40 60 80 100 120 140 160 180 200 20 40 60 80 100 120 140 160 180 200 20 40 60 80 100 120 140 160 180 200 20 40 60 80 100 120 140 160 180 200 20 40 60 80 100 120 140 160 180 200 20 40 60 80 100 120 140 160 180 200 140 160 180 200 0 -2 20 émettant chacun un train binaire 0 -2 20 0 -2 20 0 -2 20 utilisateur 5 0 -2 20 utilisateur 6 0 -2 0 8 Somme des signaux 6 des 8 utilisateurs. 4 2 0 -2 -4 -6 -8 0 20 40 60 80 100 120 5. Conclusion Ce bref aperçu sur le CDMA a permis de préciser certaines de ses principales caractéristiques. Il est aussi possible de présenter les différentes techniques d'accès multiple de manière unifiée en les représentant toutes comme une opération Electronique C4 16/16 Conservatoire National des Arts et Métiers d'étalement par une séquence aléatoire. Ainsi le TDMA peut être vu comme un cas particulier du CDMA pour lequel on utiliserait des séquences d'étalement à valeur dans {0 ,1} . La séquence du premier utilisateur serait : 1 0 0 L 0 celle du deuxième utilisateur serait : 0 1 0 L 0 et ainsi de suite jusqu'à la séquence du Nième utilisateur : 0 0 0 L 1 L'OFDM pourrait pour sa part être vue comme un cas de CDMA avec des séquences d'étalement complexes, la séquence du premier utilisateur serait alors : j2π e 0 .0 N e 0 .1 N e j2π 1.0 N L L e 1.1 N L L e j2π N .0 N j2π N .1 N celle du deuxième utilisateur serait : j2π e j2π et ainsi de suite jusqu'à la séquence du Nième utilisateur : j2π e 0 .( N −1) N j2π e 1.( N −1) N j2π L L e N .( N −1) N C'est ainsi essentiellement les caractéristiques des séquences d'étalement qui distinguent les différents mode d'accès multi utilisateurs. Il resterait plusieurs points à aborder pour compléter cet exposé du CDMA, le contrôle de puissance et la synchronisation des séquences étant sans doute deux des plus importants. 6. Annexe : Les séquences de Hadamard – Les séquences d'étalement de Hadamard sont des séquences binaires orthogonales qui se construisent récursivement à partir d'une matrice 2 x 2 de la manière suivante : 1 1 H2 H2 = , H4 = 1 − 1 H2 H2 H 2 ( n −1) , H 2n = − H2 H 2 ( n −1) H 2( n −1) − H 2( n−1) Note : Il existe aussi des séquences de Hadamard de tailles multiples de 12 ou de 20 dont le principe de construction est similaire à celui présenté, la différence venant de la matrice de départ qui est soit une matrice 12x 12, soit une matrice 20 x 20. Pour avoir le détail de ces séquences utilisez la commande Matlab :"type hadamard". 7. Références [1] Digital Communications, J. G. Proakis, McGraw-Hill, Inc, third ed, 1995. [2] CDMA Principles of Spread Spectrum Communication, Andrew J. Viterbi, Addison-Wesley Publishing Company, 1996. Electronique C4 17/17 Conservatoire National des Arts et Métiers 8. Quelques exercices • Chaîne de démodulation On considère que le canal de propagation est idéal du type AWGN (Additive White Gaussian Noise Channel). On note y (n.Te ) les échantillons du signal reçu correspondant à l'émission de s (m.Te ) . - Ecrivez le signal y (n.Te ) en fonction du signal émis et du bruit additif que l'on notera n(t ) , en se plaçant dans le cas le plus général possible : 1. La fréquence d'échantillonnage en réception est exacte mais l'instant d'échantillonnage n'est pas synchronisé avec l'échantillonnage en émission. 2. Il reste un résidu de fréquence porteuse du à un effet Doppler non corrigé 3. Les synthétiseurs d'émission et de réception ne sont pas en phase - Représentez le schéma fonctionnel de la chaîne de démodulation • Etalement QPSK On considère ici la représentation suivante pour illustrer l'étalement du train binaire a(k .Tb ) par la séquence BPSK p(i.Tc )i∈[0 , N −1] . Cette représentation correspond aux polycopiés précédents ainsi qu'à la grande majorité des documents explicatifs du CDMA. p(i.Tc ) a(k .Tb ) e(n.Tc ) Comme il a été précisé au début de ce polycopié, on part ici d'un train binaire a(k .Tb ) à valeur dans {±1} , donc de type BPSK, qui est étalé par une séquence p(i.Tc ) elle aussi à valeurs dans {±1} , donc aussi de type BPSK. On parle dans ce cas de forme d'onde étalée BPSK/BPSK - représentez les schémas correspondant aux forme d'onde étalées suivantes : BPSK/QPSK QPSK/BPSK QPSK/QPSK - représentez les constellations correspondantes à chaque forme d'onde Electronique C4 18/18 Conservatoire National des Arts et Métiers 9. Annexe : programmes Matlab correspondant aux tracés des signaux étalés %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Conservatoire National des Arts et Métiers % % M. Terré 20/04/2000 % % Programme Matlab d'accompagnement du cours BE UMTS % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% clear all; M=4; % facteur de suréchantillonnage des chips N=8; % longueur de la séquence d'étalement L=6; % nombre de bits tirés par le programme Te=1; % temps échantillon, plus petit temps de la simu Tc=M*Te; % temps chip Tb=N*Tc; % temps bit % Tirages aléatoires bit=[1 1 -1 1 1 1]; % train binaire (à remplacer par bit=sign(randn(1,L));) PN=[-1 -1 1 -1 -1 -1 1 1]; % séquence d'étalement (à remplacer par PN=sign(randn(N));) % Etalement bit2=reshape((bit'*[1 zeros(1,N-1)])',1,N*L); % suréchantillonnage bit_et=filter(PN(1,:),1,bit2); % étalement par filtrage % Mise en forme par une fonction porte g=ones(1,M); % filtre de mise en forme (porte) bit_et2=reshape((bit_et'*[1 zeros(1,M-1)])',1,M*N*L); % suréchantillonnage bit_et_fil=filter(g,1,bit_et2); % mise en forme % Tracés du train, de la séquence, du train étalé, du train étalé mis en forme figure(1) subplot(4,1,1) plot(bit2,'r'); hold on plot([1:8:length(bit2)],bit2(1:8:length(bit2)),'rx'); subplot(4,1,2) plot([PN(1,:) PN(1,:) PN(1,:) PN(1,:) PN(1,:) PN(1,:)]); hold on plot([PN(1,:) PN(1,:) PN(1,:) PN(1,:) PN(1,:) PN(1,:)],'x'); subplot(4,1,3) plot(bit_et,'b'); hold on plot(bit_et,'bx'); subplot(4,1,4) plot(bit_et_fil,'b'); hold on plot(bit_et_fil,'bx'); % Mise en forme par un filtre en cosinus surélevé % (5 chips dans le filtre et rolloff=0.5) g=[0.0222 0.0160 -0.0253 -0.0917 -0.1334 -0.0795 0.1159... 0.4290 0.7587 0.9709 0.9709 0.7587 0.4290 0.1159... -0.0795 -0.1334 -0.0917 -0.0253 0.0160 0.0222]; bit_et2=reshape((bit_et'*[1 zeros(1,M-1)])',1,M*N*L); % suréchantillonnage bit_et_fil=filter(g,1,bit_et2); % mise en forme % Tracés du train, de la séquence, du train étalé, du train étalé mis en forme figure(2) subplot(4,1,1) plot(bit2,'r'); hold on plot([1:8:length(bit2)],bit2(1:8:length(bit2)),'rx'); subplot(4,1,2) plot([PN(1,:) PN(1,:) PN(1,:) PN(1,:) PN(1,:) PN(1,:)]); hold on plot([PN(1,:) PN(1,:) PN(1,:) PN(1,:) PN(1,:) PN(1,:)],'x'); subplot(4,1,3) plot(bit_et,'b'); hold on plot(bit_et,'bx'); subplot(4,1,4) Electronique C4 19/19 Conservatoire National des Arts et Métiers plot(bit_et_fil,'b'); hold on plot(bit_et_fil,'bx'); % Constitution d'un mélange de signaux clear all; N=8; L=6; M=4; H=hadamard(N); PN=sign(randn(N)); g=[0.0222 0.0160 -0.0253 -0.0917 -0.1334 -0.0795 0.1159... 0.4290 0.7587 0.9709 0.9709 0.7587 0.4290 0.1159... -0.0795 -0.1334 -0.0917 -0.0253 0.0160 0.0222]; bit_et_fil_total=zeros(1,N*M*L); for i=1:N bit(i,:)=sign(randn(1,L)); % Etalement bit2(i,:)=reshape((bit(i,:)'*[1 zeros(1,N-1)])',1,N*L); bit_et(i,:)=filter(PN(i,:),1,bit2(i,:)); % Mise en forme par une fonction porte bit_et2(i,:)=reshape((bit_et(i,:)'*[1 zeros(1,M-1)])',1,M*N*L); bit_et_fil(i,:)=filter(g,1,bit_et2(i,:)); bit_et_fil_total=bit_et_fil_total+bit_et_fil(i,:); end; figure(3) subplot(6,1,1) plot(bit_et_fil(1,:)); subplot(6,1,2) plot(bit_et_fil(2,:)); subplot(6,1,3) plot(bit_et_fil(3,:)); subplot(6,1,4) plot(bit_et_fil(4,:)); subplot(6,1,5) plot(bit_et_fil(5,:)); subplot(6,1,6) plot(bit_et_fil(6,:)); figure(4) plot(bit_et_fil_total); hold on plot(bit_et_fil_total,'x'); Q Electronique C4 20/20