Vous êtes sur la page 1sur 20

Conservatoire National des Arts et Métiers

Cours du Conservatoire National des Arts et Métiers

RadioCommunications
CDMA
(Version 7.0)

Michel Terré
terre@cnam.fr

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
B
d'une sous bande de largeur : W =
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,
116 bits
le débit utile canal du terminal est donc égal à = 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

156.25 bits
alors égal à = 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 b de
bit 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
Tc : temps l'utilisateur
chip n°2

Tb : temps bit c de
Utilisateur n°3 bit l'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

séquence
aléatoire
Utilisateur n°4 de
l'utilisateur
bit à transmettre : d = { ±1} n°3

séquence d'étalement : +1 −1 −1 +1

chips émis durant un temps bit : +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 :
1
aˆ = (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 :
1
cˆ = (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 :
1
a$ (t ) = a (t ) + ( b(t − 1) − b(t ))
4
Abandon des hypothèses H0 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 :
r (t ) = ( a (t ) + b(t − 1) + c( t ) + d (t ) + n(t ) ) ( 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 ))
expression dans laquelle n(t ) représente un bruit blanc gaussien de variance 4σ 2 . On introduit cette variance 4σ 2 pour

N0
prendre en compte le fait que ces échantillons de bruit représentent un bruit de densité bilatérale de puissance
2
1
considérée sur une bande de fréquence égale à . Le signal a été "étalé" en le multipliant par les séquences de 4 chips
Tc

1 4
et la bande = . 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 :


1
a$ (t ) = a (t ) + (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"

1
cette variance en considérant que l'opération de desétalement a "ramené" le signal dans une bande égale à . Cette
Tb

Electronique C4 7/7
Conservatoire National des Arts et Métiers

N0
division de la bande par 4 conduit donc, le bruit ayant une densité bilatérale constante égale à , à 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   2 
 1 + 1 a 2   1 − 1 a 2 
   1   
1   2 2 
TEB = Q  + Q 
2  2σ 2  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 )
1/ 2 c 1/ 3 c 1/ 4 c

(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 ))
1/ 2 c 1/ 3 c 1/ 4 c

(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 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 :

6 .10 −3
le temps symbole : Ts = = 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)
Ts
le temps chip : Tc = = 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

10 −2
inférieur à : ∆ f < = 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

une séquence p i1 = ±1 . Enfin, les différentes séquences d'étalement { p } sont des séquences aléatoires, dites PN
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 :


K
rik = c1k +
i
∑ 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  K 
s 1k =
N
∑ pi1  c1ki + ∑ c nki + bik 

i =1  n=2 
En utilisant alors :

c1k = s1k p i1
i

et

c nk = s nk p in
i

il vient :

1 N  K 
s lk =
N
∑ pil  s lk pil + ∑ s nk pin + bik 
i =1  n=2 
ou encore :
N K N N
∑ (pil )
1 2 k 1 1
s lk =
N
s1 +
N
∑ ∑ pi1 pin s nk + N ∑ pi1bik
i =1 n = 2 i =1 i =1

Trois termes apparaissent dans cette équation :

N
∑ (pi1 )
1 2 k
- Le premier terme s1 est égal à s 1k
N i =1

- 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

1
donc considérer que vn tend vers une variable aléatoire gaussienne centrée de moyenne nulle et de variance
N

- Le troisième terme représente une somme de N échantillons indépendants de bruit blanc gaussien de variance

N .N .σ 2
N .σ 2 , cette somme est donc équivalente à un terme de bruit additif de variance que l'on notera b k . La
2
N

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
Eb
en simulation lorsque l'on étudie un système CDMA, pour rester à un niveau fixe de rapport , il ne faut pas
N0

oublier de multiplier les amplitudes des échantillons de bruit complexes par N pour traduire l'effet de l'extension
de bande.

On obtient finalement :
K
sˆ1k = s1k + ∑ 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

I0
puissance bilatérale de bruit d'interférence notée de la même manière que l'on introduit en général la densité de
2
N0
puissance bilatérale de bruit thermique .
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

K
l'utilisateur d'intérêt : PI =α K −1 Ps (puissance correspondant au terme ∑ vn snk du développement
N
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

PInter
autres cellules du réseau : PInter . Après desétalement, elle devient
N

Ps
Le rapport signal sur bruit est donc égal à : Γ =
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
N
première analyse on peut assez rapidement s'apercevoir que, dès que le nombre d'interférents dépasse environ , 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 :

1
Tb =
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

a(k .Tb ) e(n.Tc )


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 suréchantillonnage
N M
filtrage filtrage
(étalement) (mise en forme)

train binaire 0
(+1+1-1+1+1+1)
-1
0 5 10 15 20 25 30 35 40 45 50
1

séquence d'étalement 0
(-1-1+1-1-1-1+1+1)
-1
0 5 10 15 20 25 30 35 40 45 50
1

train binaire étalé 0

-1
0 5 10 15 20 25 30 35 40 45 50
1

train binaire 0
étalé et mis en forme
-1
0 20 40 60 80 100 120 140 160 180 200

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   πqTe  
sin    sin  β  
  T  
 Tc   c 
g (qTe ) =  
πqTe 
2
 βqTe  
Tc  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.2
0 2 4 6 8 10 12 14 16 18 20

On obtient alors les signaux suivants :

train binaire 0
(+1+1-1+1+1+1)
-1
0 5 10 15 20 25 30 35 40 45 50
1

séquence d'étalement 0
(-1-1+1-1-1-1+1+1)
-1
0 5 10 15 20 25 30 35 40 45 50
1

train binaire étalé 0

-1
0 5 10 15 20 25 30 35 40 45 50
2

train binaire 0
étalé et mis en forme
-2
0 20 40 60 80 100 120 140 160 180 200

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

K
x(mTe ) = ∑ s j (mTe )
j =1

soit en remplaçant :
K Q
x(mTe ) = ∑ ∑ 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 0
-2
correspondant à 8 20 20 40 60 80 100 120 140 160 180 200

utilisateurs utilisateur 2 0
-2
émettant 20 20 40 60 80 100 120 140 160 180 200
utilisateur 3 0
chacun un train binaire
-2
de 6 bits. 20 20 40 60 80 100 120 140 160 180 200
utilisateur 4
0
-2
20 20 40 60 80 100 120 140 160 180 200
utilisateur 5
0
-2
20 20 40 60 80 100 120 140 160 180 200
utilisateur 6 0
-2
0 20 40 60 80 100 120 140 160 180 200

Somme des signaux 6

des 8 utilisateurs.
4

-2

-4

-6

-8
0 20 40 60 80 100 120 140 160 180 200

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 :
0 .0 1.0 N .0
j2π j2π j2π
e N e N L L e N

celle du deuxième utilisateur serait :


0 .1 1.1 N .1
j2π j2π j2π
e N e N L L e N

et ainsi de suite jusqu'à la séquence du Nième utilisateur :


0 .( N −1) 1.( N −1) N .( N −1)
j2π j2π j2π
e N e N L L e 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   H 2 ( n −1) H 2( n −1) 
H2 =   , H4 =   , H 2n =  
 1 − 1  H2 − H2   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');

Electronique C4 20/20

Vous aimerez peut-être aussi