Вы находитесь на странице: 1из 39

Anne 2000-2001 MODEX

Tlcommunications numriques
Le CDMA
Jeremy LAINE & Philippe VIGNERON


Sommaire


Introduction.......................................................................................................................... 1


I. Gnralits sur les tlcommunications
1. Tlcommunications, principes....................................................................... 2
1.1. Les systmes de communication
1.2. La tlphonie analogique
2. Tlcommunications numriques ................................................................... 3
2.1. Principe de fonctionnement
2.2. Intrt du numrique face lanalogique
3. Travail ralis en laboratoire............................................................................ 4
3.1. Tlphonie analogique
3.2. Tlphonie numrique


II. Multiplexage, CDMA
1. Diffrents types de multiplexage .................................................................... 6
2. CDMA : mission............................................................................................... 8
3. CDMA : rception ............................................................................................ 10
3.1. Transmission idale
3.2. Le rcepteur optimal
3.3. Les rcepteurs non-optimaux
4. Les avantages du CDMA................................................................................ 13
4.1. Rsistance aux interfrences
4.2. Confidentialit (faible probabilit dinterception)
4.3. Un multiplexage adapt au systme cellulaire
4.4. Une faible consommation



III. Implmentation du CDMA: le logiciel CDMAster
1. Choix techniques............................................................................................... 15
1.1. Mthode de multiplexage
1.2. Mthode de modulation
1.3. Une solution logicielle base sur la carte son dun ordinateur
1.4. Capacit du canal de transmission
2. Organisation et utilisation du logiciel CDMAster..................................... 16
2.1. Organisation
2.2. CDMAClient (mission)
2.3. CDMAServer (rception)
3. Les briques lmentaires du programme ..................................................... 19
3.1. Gnration des codes
3.2. Du signal carr un signal sinusodal
3.3. Calculs de corrlation
3.4. Pilotage de la carte son
4. Mcanismes de la transmission...................................................................... 22
4.1. Synchronisation initiale (dtection du dbut de lmission)
4.2. Calibrage en amplitude
4.3. Dmultiplexage, maintien de la synchronisation


Conclusion.......................................................................................................................... 25



Annexes
Un exemple dutilisation du programme ..............................................................I
Bibliographie ............................................................................................................VI
Listing du programme CDMAster .................................................................... VII



Introduction


L
aventure des tlcommunications a commenc avec linvention du tlgraphe. La
tlphonie a fait ensuite son apparition. On transportait alors la voix humaine de
manire analogique. La troisime rvolution industrielle correspond lavnement de
linformatique et lexpansion simultane des tlcommunications. Avec la technologie du
numrique transporter de la voix, de limage ou des donnes informatiques relve du mme
procd. Ds lors quil existe un canal de communication entre deux utilisateurs, ils peuvent
changer les donnes quils dsirent.
Ce canal de communication peut revtir diffrentes formes : le traditionnel fils de cuivre
pour la tlphonie fixe les ondes hertziennes pour la tlphonie mobile ou les fibres
optiques Il nest gnralement pas possible dattribuer chaque utilisateur son propre
canal, dautant plus que le nombre de personnes interconnectes ne cesse de crotre. Il est
donc absolument indispensable davoir recours au multiplexage. Le CDMA, pur produit de
lre numrique, est une des mthodes les plus utilises en ce moment. Il fait, de plus, lobjet
de nombreuses tudes visant loptimiser, notamment dans le domaine de la tlphonie
cellulaire.
Nous avons fait une tude thorique et exprimentale de cette technologie. La thorie
nous a permis de comprendre les avantages quelle apportait. Lexprience consistait
raliser la transmission dinformation multiplexe avec le CDMA. Cest par le biais dun
ordinateur que nous avons pu raliser cette communication.
Aprs une prsentation gnrale des tlcommunications nous aborderons les aspects
thoriques du CDMA. Nous verrons alors le logiciel ralisant le multiplexage/dmultiplexage
que nous avons mis au point et un exemple de son utilisation.
- 1 -
I

-

Gnralits
sur les tlcommunications


I. Gnralits sur les tlcommunications

1. Tlcommunications, principes
1.1. Les systmes de communication
Lobjectif des tlcommunications est de permettre lchange, distance,
dinformations. Tout systme de tlcommunication, quil soit numrique ou analogique,
quil transporte de la voix, de limage ou de quelconques donnes sous forme de bits, peut se
rsumer par le schma ci-dessous (fig1).

Utilisateur
Utilisateur
Rseau de transport
Emetteur
Bouche
Modem
Carte rseau

Amplification
Amplification
Oreille
Modem
Carte rseau

Rcepteur
Emetteur
Rcepteur
Fig1. Un systme de communication
1.2. La tlphonie analogique
a) Les frquences transmises
Considrons plus particulirement le cas de la tlphonie analogique. Le rcepteur est
bien entendu loreille. Sachant que lhomme ne peut entendre que des sons compris entre
20Hz et 20kHz, on se contente a priori de ne transporter que dans signaux qui se situe dans
cette gamme de frquence. Cependant, le tlphone sert essentiellement la conversation (on
coute que rarement de lopra par le biais dun tlphone !), on se limite alors aux
frquences comprises entre 300 et 3400Hz.
b) Les fonctions assurer
Pour que la communication ait lieu, il faut quun certain nombre de fonctions soient
assures : les fils ne servent pas qu transporter de la voix. Dans un premier temps, il faut
alimenter le tlphone (48V). Pour rentrer en contact avec un correspondant, il faut pouvoir
indiquer au central les coordonnes de cette personne.
- 2 -
I. Gnralits sur les tlcommunications

Dans un premier temps il y avait des opratrices. Mais des commutateurs automatiques
ont fait leur apparition. Les fils doivent alors servir transporter ces coordonnes . Le
premier systme (par impulsion) gnrait de brve coupure de la ligne (une pour le 1, deux
pour le 2). Avec lutilisation de commutateur numrique, chaque numro correspond une
tonalit : somme de deux fonctions sinusodales de frquences propres. Cest le rseau qui
assure le transport de ce signal.
Il faut ensuite pouvoir dclencher la sonnerie. Pour cela, un signal de 50Hz indique
quune personne souhaite rentrer en communication. La ligne assure aussi le transport dune
signalisation de ltat du rseau : 440Hz pour dire que la ligne est disponible ; sonnerie
occupe Tous ces signaux doivent tre transporter sur les mmes fils qui servent au
transport de la conversation.
c) Le convertisseur 4 fils /2 fils
A priori, pour lmission comme pour la rception, on a besoin de 2 fils chaque fois,
soit 4 fils en tout. Or les rseaux de communication stendent la plupart du temps sur de
grandes distances et le matriau utilis, le cuivre, est assez coteux. De plus, plus il y a de fils,
plus les branchements au central sont complexes. Il serait donc intressant de pouvoir diviser
par 2 le nombre de fils ncessaires au transport des communications. Cest ce que ralise le
convertisseur 4 fils / 2 fils (fig2).
coute
ligne
(2 fils)
Z
+
-
s
parole
e
v
l
e
l
Z
R
R
Fig2.
Convertisseur 4 fils / 2 fils
2. Communications numriques
2.1. Principe de fonctionnement
Pour la tlphonie numrique, les principes fondamentaux restent les mmes. Ce
systme possde de nombreux avantages sur la tlphonie analogique : meilleur filtrage du
bruit, compatibilit avec la transmission de donnes informatiques Cette fois, le signal nest
pas transmis directement mais il est dabord numris. Etant donn que lon se limite des
frquences infrieures 4000Hz, daprs le thorme de Shannon, on peut prendre une
frquence dchantillonnage de 8000Hz. Chaque chantillon est cod sur 8 bits, ce qui donne
un dbit de 64kbits/s.
- 3 -
I. Gnralits sur les tlcommunications

2.2. Intrt du numrique face lanalogique
Le grand intrt est la qualit de la transmission vocale. En effet, une conversation na
pas de proprit particulire ce qui rend difficile la distinction entre le bruit et le signal dsir
lors de la rception. Par contre un signal numrique possde des caractristiques prcises. Par
exemple, la rgularit dans le temps de lenvoi de paquets de bits permet de corriger certaines
erreurs : quand on observe deux variations de 0 1 trop proches, on supprime la moins
probable Ceci permet de retrouver quasiment un signal identique entre lmission et la
rception. De plus de systmes de correction derreurs minimise encore les dformations.
En tlcommunication numrique, on peut galement implmenter des algorithmes de
compression de donnes et des mthodes de multiplexage plus performantes et ainsi optimiser
lusage de la bande passante disponible. Cest un autre avantage qui justifie le remplacement
de lanalogique par le numrique.
Enfin, le passage au numrique permet dassurer un meilleur interfaage avec les
donnes issues dun ordinateur. Ainsi, avec un mme appareil, on peut la fois converser et
schanger des fichiers, des images Cest donc une force supplmentaire du numrique face
lanalogique.
3. Travail ralis en laboratoire
3.1. Tlphonie analogique
48 V
- +
poste 2 poste 1
2fils/4fils 2fils/4fils
Fig3.
Une premire
ligne tlphonique
Le premier travail fut de raliser la ligne tlphonique la plus simple : celle qui connecte
deux utilisateurs (fig3). Il ntait donc pas ncessaire de raliser un systme de commutation.
Notre montage se constituait dune alimentation commune aux deux postes et dun
convertisseur 2fils/4fils pour chaque poste. Ce dernier a pos quelques problmes de mise en
- 4 -
I. Gnralits sur les tlcommunications

uvre, car, comme on peut le voir figure 1, les deux impdances Z doivent avoir la mme
valeur. Or limpdance de la ligne nest pas connue car cest la rsistance interne du poste. Il a
donc fallu utiliser un potentiomtre que lon a rgl en minimisant la valeur de s lorsque que
personne ne parlait.
Le rsultat fut satisfaisant, nous avons pu alors aborder le problme de la numrisation.

3.2. Tlphonie numrique
A la sortie du convertisseur 2fils/4fils (fig3), nous avons implment un convertisseur
analogique numrique (CAN) travaillant avec une frquence dchantillonnage de 8kHz. On
transmet alors les donnes rsultant de cette numrisation. A la rception, un convertisseur
numrique analogique (CNA) retransforme les donnes en un signal analogique. Celui-ci est
alors trait par un filtre passe-bas pour liminer les frquences suprieures 4 kHz. Le
dispositif est rsum sur la figure 4.


Sortie Entre
Filtre passe bas
CNA
CAN
8kHz
Fig4.
numrisation
Pour continuer utiliser le minimum de fils, il faut envoyer en srie les bits qui codent
un chantillon. Ceci est ralis en intercalant un systme de srialisation / dsrialisation
utilisant un registre dcalage.
La numrisation/srialisation se faisant en plusieurs tapes, des problmes dhorloges
peuvent se poser. Nous avons envisag dutiliser une PLL (phase-locked loop) afin de rendre
indpendantes les horloges dmission et de rception en extrayant lhorloge du signal. Il faut
cependant dterminer exprimentalement le dlai introduire pour saffranchir du dcalage
introduit entre la conversion et la srialisation.
Toutefois, nayant pas besoin de ce montage prcis dans le cadre de notre projet, nous
navons pas cherch rgler ces problmes dhorloge. Nous avons prfr consacrer plus de
temps notre implmentation du CDMA. Comme nous le verrons par la suite (cf. III) nous
avons t amens mettre en place un mcanisme de synchronisation dans le cadre de ce
projet.
- 5 -

II

-

Multiplexage, CDMA

II. Multiplexage, CDMA

- 6 -
L
objet du multiplexage est la transmission de plusieurs communications sur un mme
canal (Fig5). Il existe plusieurs mthodes. Nous avons choisi dtudier plus
particulirement le CDMA (Code Division Multiple Access). Ce qui a motiv notre
choix est le fait que cette technologie est actuellement la plus en vogue car elle possde
certains avantages. Nous aborderons cette question la fin de ce chapitre.
M
u
l
t
i
p
l
e
x
a
g
e

Emetteur 1
Emetteur 2
Rcepteur 1
Rcepteur 2
Canal
D

m
u
l
t
i
p
l
e
x
a
g
e

Rcepteur K
Emetteur K
Fig5.Un systme multiplex

1. Diffrents types de multiplexage
1.1. Multiplexage temporel : TDMA

Le TDMA (Time Division Multiple Access) ou multiplexage temporel utilise le fait que
la frquence denvoi des bits dinformation est plus faible que la capacit du rseau (fig9). On
peut donc profiter des temps morts pour transmettre une deuxime communication.
T
C
T

Temps rellement
utilis
Temps inutilis
T
C
: temps de
transmission dun bit
T : temps entre 2
chantillons
Fig9. non-optimisation des capacits du rseau
Dans le cas du schma ci-dessus, on peut transmettre jusqu 8 communications la fois
(fig10). A la rception, il suffit dutiliser un commutateur qui passe dun utilisateur au suivant
tous les T
C
(fig11).

II. Multiplexage, CDMA

8 7 6 5 4 3 2 Utilisateurs : 1
T
C
: temps de
transmission dun bit
T : temps entre 2
chantillons
T

T
C
Fig10. multiplexage temporel
8
7
6
5
4
3
2
1
Fig11 dcouplage la rception
1.2. Multiplexage frquentiel : FDMA
Le FDMA (Frequency Division Multiple Access) consiste diviser la bande passante du
canal en K (nombre dutilisateurs) bandes de frquences dintersection nulle. Cette mthode
est illustre fig12. Il faut donc translater les diffrents utilisateurs sur ces bandes de
frquences.
Supposons que la bande de frquence occupe par un utilisateur seul soit [0,F]. On peut
pour simplifier considrer un signal du type s
i
= A
i
cos(2f
i
t), avec f
i
<F. Si on le multiplie par
2 cos(2v
i
t), on obtient alors un signal S
i
= A
i
cos[2(f
i
+v
i
)t] + A
i
cos[2(f
i
- v
i
)t] qui (en
liminant le deuxime terme par filtrage) est le signal s
i
translat sur la frquence v
i
. Donc,
rptant cette opration pour chaque utilisateur i, avec la loi v
i
= iF, on ralise le
multiplexage dsir.

Bande
1
Bande
2
Bande
K-1
Bande
K
..
Frquence
f
Fig12.
multiplexage frquentiel


1.3. Multiplexage cod : CDMA
Le CDMA appartient la classe des multiplexages dits talement de spectre. En
effet, comme nous allons le voir, chaque utilisateur met sur toute la largeur de bande du
canal de communication. Le principe est le suivant : chaque utilisateur correspond une cl
(ou code) laide de laquelle son message est cod avant dtre mis.

- 7 -
II. Multiplexage, CDMA

Il existe deux principales varits de CDMA :
FH-CDMA (Frequency Hop). Dans ce systme, on fait de lvasion de frquence : la cl
de chaque utilisateur code pour une suite de frquences qui feront alternativement office
de porteuse. Ce systme ressemble un multiplexage frquentiel dans lequel lattributio

n

ce que la frquence du code est largement suprieure la frquence denvoi
des donnes.
2. CDMA : mission
des frquences varierait rapidement (par rapport au dbit dinformations transmettre).
DS-CDMA (Direct Sequence). Cest ce type de CDMA quon fait gnralement
rfrence quand on parle de CDMA, et cest celui que nous avons tudi aussi bien
thoriquement quexprimentalement. Ici, on multiplie directement le message
transmettre par une le code (squence pseudo-alatoire). Ltalement spectral du signal
cod vient de

t modlise par une suite de 1 : b
k
= [b
k
(1), , b
k
(N)].
n dsigne par k le k
me
utilisateur.
n utilise un code propre, de la
forme(Fig6) :

=
1
( ) ( ) (
L
k k
p n a t g
Comme toujours en communication, on commence par la transmission du signal. On se
place dans la situation suivante : K utilisateurs souhaitent transmettre des informations via un
mme cble. Chaque information es
O


Le principe du CDMA consiste en lutilisation de
codes. Chacu
=0 n
{a
k
} est un pseu
)
c
nT t , 0tT
do-noise (PN) code sequence ,
(t) est une pulsation de dure T
c
. On a donc T=LT
c
.
onc considrer les g
k
comme des vecteurs de
-1,1}
L
.

On considre pour la suite (afin dallger les notations) que lon normalise les g
k
:
.

On dfinit la fonction qui permet de dterminer une corrlation entre les codes g
k
:
, ij
, ij

ij
(0) =
i,j
, dans le cas de codes orthogonaux.

{a
k
}={1,-1,1,1,-1,1,-1,-1}
Fig6. Exemple de code
T
C
T

0
t
1
-1
g
k

chaque a
k
vaut 1.
p


On peut d
{

1 ) (
0
2
=

T
k
dt t g

=
T
j i ij
dt t g t g
0
) ( ) ( ) (

+ =
T
j i ji
dt T g t g
0
) ) ( ) ( t (


- 8 -
II. Multiplexage, CDMA

On multiplexe les informations en les combinant chacune avec un vecteur g
k
. Ainsi, le
paquet de bits de longueur N : b
k
=[b
k
(1), , b
k
(N)]
t
, devient :

=
=
N
i
k k k k
iT t g i b t s
1
) ( ) ( ) ( E ; E
k
reprsente lnergie du signal par octet.

On couple alors tous les utilisateurs et le signal mis devient :

=
=
K
k
k k
t s t s
1
) ( ) (


= =
=
K
k
N
i
k k k k
iT t g i b
1 1
) ( ) ( E avec 0
k
<T pour 1kK.

k
reprsente le dlai de transmission pour lutilisateur k.
s(t)

b
K
b
2
b
1

g
K
(t)

g
2
(t)

g
1
(t)
s
K
s
2
s
1
Fig7. Dispositif de multiplexage
- 9 -
II. Multiplexage, CDMA


3. CDMA : rception
On tudie maintenant la faon de traiter le signal reu afin de dcoupler des
informations transmises. On tudie dabord le cas dune transmission parfaite avant dtudier
les mthodes permettant traits les signaux bruits.
3.1. Transmission idale
On suppose que la transmission sest effectue sans ajout de bruit, donc le signal reu
est de la forme: r(t)=s(t)

= =
=
K
k
N
i
k k k k
iT t g i b
1 1
) ( ) ( E . On suppose galement que les
codes choisis sont orthogonaux.

Dans ce cas, si les signaux sont synchrones, il suffit de faire K produits scalaires pour
obtenir les K informations de dpart :
<r(t),g
n
(t-iT)> = dt iT t g jT t g j b
n
T i
iT
K
k
N
j
k k k
) ( . ) ( ) (
) 1 (
1 1

|
|
.
|

\
|


+
= =
E
or, on ne regarde que le bit i alors :
<r(t),g
n
(t-iT)> =



=
+
=
|
.
|

\
|
= |
.
|

\
|

K
k
T
n k k k n
T i
iT
K
k
k k k
dt t g t g i b dt iT t g iT t g i b
1
0
) 1 (
1
) ( ). ( ) ( ) ( . ) ( ) ( E E
les codes tant orthogonaux :
<r(t),g
n
(t-iT)> =
n
E b
n
(i)
On peut donc ainsi rcuprer les informations de chaque utilisateur sparment.
Si maintenant les signaux ne sont pas synchrones, il faut transmettre un moment les
{
k
} (dphasage entre les utilisateurs). Ensuite, on dtermine : <r(t),g
n
(t-iT-
k
)> =
n
E b
n
(i).
3.2. Le rcepteur optimal
Le signal reu est susceptible dtre bruit. On modlise ce bruit par du AWGN
(Additional White Gaussian Noise), not n(t). On a maintenant r(t) = s(t)+n(t) . Dune
manire gnrale, en prsence de bruit ou quand les codes ne sont pas orthogonaux, on aborde
le problme de la manire suivante. On dfinit la fonction :

=
=
T
K
k
k k k
dt t g b t r
0
2
1
) ( ) 1 ( ) ( ) ( E b
On cherche alors la suite { qui minimise (b). Si on dveloppe son
expression, on obtient :
} K k b
k
1 ), 1 (


= = =
+ =
K
j
K
k
T
j k k j k j
K
k
T
k k k
T
dt t g t g b b dt t g t r b dt t r
1 1
0
1
0 0
2
) ( ) ( ) 1 ( ) 1 ( ) ( ) ( ) 1 ( 2 ) ( ) ( E E E b
- 10 -
II. Multiplexage, CDMA

Le premier terme, tant indpendant de b, ne joue pas de rle dans la minimisation de : on
peut donc le ngliger. Si on pose alors r et , on
obtient une nouvelle fonction minimiser :

=
T
k k
dt t g t r
0
) ( ) (

=
T
k j jk
dt t g t g
0
) ( ) ( ) 0 (

= = =
=
K
j
K
k
jk k j k j
K
k
k k k K K
b b r b C
1 1 1
) 0 ( ) 1 ( ) 1 ( ) 1 ( 2 ) , ( E E E b r
ou, sous une autre forme :
K S
t
K K
t
K K K
C b R b r b b r = 2 ) , (
avec , [ ]
t
K K
r r r ,..., ,
2 1
= r [ ]
t
K K K
b b

1 1
) 1 ( ),..., 1 ( E E = b et (R
s
)
ij
=
jk
(0).
Il apparat donc, que pour pouvoir dterminer la bonne suite b
K
, il faut transmettre au
rcepteur la valeur des nergies des signaux mis par chaque utilisateur. Ensuite, le rcepteur
recherche parmi les 2
K
squences possibles, celle qui correspond le mieux au signal, cest--
dire, celle qui minimise C(r
k
, b
k
). K tant le nombre total dutilisateurs, on comprend quil
soit impossible dutiliser ce type de rcepteur pour un rseau de taille normal.
De plus, on montre que lorsque la transmission est asynchrone, le rcepteur optimal doit
raliser 2
KN
tests de corrlation (N est la longueur des codes). Il est donc indispensable
dutiliser des rcepteurs non-optimaux mais bien plus rapides.

3.3. Les rcepteurs non optimaux
a) Le dtecteur conventionnel, mono-utilisateur
Le rcepteur optimal a une complexit qui crot exponentiellement avec le nombre
dutilisateurs K. On cherche maintenant dterminer des rcepteurs dont la complexit crot
linairement avec K.
Le dtecteur le plus simple est celui que nous avons utilis dans le cas de la transmission
idale (cf. II.2.1). Il sagit donc de faire des produits scalaires.
On pose <r(t),g
k
(t-iT)> = ,

T i
iT
k
dt iT t g t r
) 1 (
) ( ) (
alors r
k
(i)=<r(t),g
k
(t-iT)> = ) 1 ( ) 0 ( ) 1 ( ) 1 (
1
k
K
k j
j
jk j j k k
n b b + +

=
E E ,
en posant

=
T
k k
dt t g t n n
0
) ( ) ( ) 1 (

On trouve que si les codes sont orthogonaux, alors le terme central devient nul et ce
dtecteur est optimal. Par contre, si ce nest pas le cas, les interfrences avec les autres
utilisateurs peuvent ne pas tre ngligeables. Ceci est dautant plus vrai que les nergies sont
assez diffrentes : les signaux peu puissants risquent dtre mal dcods.
De plus, mme dans le cas de codes orthogonaux, si les signaux ne sont pas synchrones,
on a de fortes chances de perdre lorthogonalit et donc de voir la qualit du rcepteur se
dtriorer.
- 11 -
II. Multiplexage, CDMA

b) Un dtecteur multi-utilisateurs
Le dtecteur prsent au paragraphe prcdent a une complexit linaire, mais prsente
une faiblesse dans le cas o les utilisateurs mettraient avec des puissances assez diffrentes.
On va donc tudier un autre dtecteur qui tout en restant de complexit linaire, limite les
problmes dinterfrences inter-utilisateurs.
Dans le cadre dune transmission o les utilisateurs sont synchroniss, si lon
dcompose le signal reu sur la base des {g
k
}on obtient le vecteur :
r
K
= R
s
b
K
+ n
K
; en posant (R
s
)
ij
=
ij
(0)
avec : [ ]
t
K K K
b b

1 1
) 1 ( ),..., 1 ( E E = b et n est le bruit gaussien (sa
matrice de covariance E(n
K
n
t
K
) = R
S
).
[
t
K K
n n n ) 1 ( ),..., 1 ( ), 1 (
2 1
= ]
Or, puisque le bruit est gaussien, et le signal r
K
est desprance R
s
b
K
et de covariance R
s

alors,
( ) ( )
(

=

K s K s K s K
s
K
K K
p b R r R b R r
R
b r
t 1
2
1
exp
) det( ) 2 (
1
) (


donc, la meilleure approximation linaire de b
K
est le vecteur b
K
qui minimise la fonction :
(b
K
) = (r
K
- R
s
b
K
)
t
R
s
1
(r
K
- R
s
b
K
)
On montre que est minimale pour le vecteur le rsultat final tant :
K s K
r R b
1 0
=
) ( signe

0
K K
b b =
0
K
b tant dtermin par une opration linaire, la complexit des calculs est linaire en
K. On a schmatis le fonctionnement du dtecteur fig8.
- 12 -
( )

T
dt
0
( )

T
dt
0
( )

T
dt
0
g
1
(t)
r
1

tous les T

g
2
(t)
r
2


Oprations
linaires
et
dtection
signal
reu r(t)
g
K
(t)
r
K


Fig8. Structure dun rcepteur multi-utilisateur
II. Multiplexage, CDMA

Prenons pour illustrer cette dmonstration, tudions le cas de deux utilisateurs. On a
alors :
|
|
.
|

\
|
=
1 ) 0 (
) 0 ( 1
21
12

s
R , on rappelle que

=
T
k j jk
dt t g t g
0
) ( ) ( ) 0 (
notons = = ) 0 ( ) 0 (
21 12

on a galement
|
|
.
|

\
|

1
1
1
1
2
1

s
R
Le signal reu est donc de la forme ) ( ) ( ) ( ) (
2 2 2 1 1 1
t n t g b t g b t r + + = E E , ce qui donne :
(
(

+ +
+ +
=
2 2 2 1 1
1 2 2 1 1
2
n b b
n b b
E E
E E

r
il vient,
( )
( )
(
(

+
+
= =

) 1 /(
) 1 /(
2
1 2 2 2
2
2 1 1 1
2
1 0
2


n n b
n n b
s
E
E
r R b
Il est intressant de remarquer que les 2 signaux sont maintenant dcorrls, ce qui
signifie que lon na plus les problmes qui pouvaient apparatre dans le cas o les nergies
des diffrents signaux seraient assez diffrentes.
On peut aussi noter que dans le cas o g
1
et g
2
sont orthogonaux ( = 0), on retrouve
alors le mme rsultat quavec le dtecteur mono-utilisateur. De plus, on peut montrer que
cette mthode est toujours valable dans le cas o les signaux ne seraient plus synchrones. Ce
dtecteur permet donc dliminer les problmes dinterfrences des signaux entre eux. Cest
pourquoi on lui donne aussi le nom de decorrelating detector.
4. Les avantages du CDMA
4.1. Rsistance aux interfrences
Historiquement, le CDMA est issu de programmes de recherche militaires qui avaient
pour but de protger les transmissions dinformation contre le brouillage, cest dire une
forme dinterfrence volontaire. Le CDMA, tant une mthode de multiplexage talement
de spectre, le brouillage efficace doit se faire sur toute la bande de frquences utilises, ce qui
nest pas envisageable car cela consommerait une puissance colossale.
Dans les applications civiles, la rsistance un brouillage intentionnel nest pas un
critre dterminant dans le choix de la technologie de multiplexage. On cherche cependant
rendre le systme de communication rsistant des interfrences non volontaires : les
interfrences entre utilisateurs, les interfrences lies des phnomnes de rflexion et la
prsence dun bruit additif. Le premier type dinterfrences est bien tolr par le CDMA, par
construction, puisque les codes utiliss sont faiblement corrls. Au vu des publications
auxquelles nous avons eu accs, la rsistance au deuxime type dinterfrences est galement
assure, mme si nous navons pas pu la mettre en vidence par nous-mme. Quant la
rsistance au bruit additif, nos rsultats exprimentaux nous ont montr la performance trs
satisfaisante du CDMA (cf. annexe I).
Toutes ces considrations font que le CDMA permet de garantir une tlphonie haute
fidlit.
- 13 -
II. Multiplexage, CDMA

4.2. Confidentialit (faible probabilit dinterception)
Pour les applications militaires comme civiles, la confidentialit est un atout important
pour un systme de communication. Dans le cas du CDMA, le signal mis ressemble
beaucoup du bruit parce que lon utilise des codes longs pseudo-alatoires.
Le signal est tal uniformment sur un large spectre : on ne dtecte aucun pic en
amplitude pour une frquence donne. Ceci permet de masquer la prsence ou non dune
communication. Quand bien mme on dtecterait lexistence dune communication, il est trs
difficile de lintercepter si on na pas accs aux codes utiliss. Cest une des raisons qui font
que larme, ainsi que les oprateurs tlphoniques utilisent cette mthode.
4.3. Un multiplexage adapt au systme cellulaire
Les rseaux de tlphonie mobile actuels sont tous bass sur le concept de cellules. Une
cellule correspond une zone gographique dans laquelle les utilisateurs transitent tous par le
mme relais. Il se pose deux problmes : celui de la rutilisation des frquences et celui du
passage dun utilisateur dune cellule une autre.
Du point de vue de la rutilisation des frquences, le CDMA dplace le problme
puisquil sagit de codes et non plus de frquences. Cet aspect donne lieu soit des analyses
caricaturales (dans les publications quasi publicitaires dentreprises), soit des tudes dont le
niveau nous dpassait. Il semblerait que le CDMA soit plus performant que les autres
mthodes de multiplexage au niveau des zones de recouvrement des cellules. Nous navons
pas pu cependant contrler cette affirmation.
Comme ltude la montr (cf. 3.3.b), la qualit de transmission en CDMA nest que
faiblement affect par les diffrences damplitude signaux des diffrents utilisateurs. Ceci
permet dans la pratique daugmenter la taille des cellules. On rduit alors la frquence de
passage dune cellule lautre (pour des utilisateurs en mouvement) et on rduit dautant les
risques de dcrochage.
4.4. Une faible consommation
Le CDMA ncessite moins de puissance que les technologies concurrentes. Ce gain est
prsent en conversation ou non. Ceci permet laugmentation de lautonomie des tlphones
portables ou bien la diminution de la taille des batteries donc des combins.
- 14 -

III

-

Implmentation du CDMA:
le logiciel CDMAster

III. Implmentation du CDMA: le logiciel CDMAster

L
tude thorique du CDMA nous a fait comprendre quil sagit dune mthode de
multiplexage performante, et nous avons donc dcid den raliser une implmentation
pour pouvoir tudier les problmes pratiques qui peuvent se poser la rception :

- 15 -
Dtecter le dbut dune mission (synchronisation initiale).
Maintenir la synchronisation avec le signal au cours du dmultiplexage si les horloges
dmission et de rception ne sont pas parfaitement identiques.
La tolrance au bruit est traite en annexe.

1. Choix techniques
1.1. Mthode de multiplexage
Nous avons opt pour du DS-CDMA Direct Sequence CDMA , car cette varit de
CDMA est la plus simple mettre en uvre et est effectivement utilise dans des applications
de tlphonie mobile.
Rappelons le principe du DS-CDMA : chaque utilisateur du canal de communication se
voit attribuer un code compos dune srie de bits. Un 1 dans le message de lutilisateur se
traduit alors par la cl dans le signal cod, un 0 se traduit par linverse de la cl.
Les cls utilises sont des codes de Gold orthogonaux, lorthogonalit facilitant
grandement le dmultiplexage.
1.2. Mthode de modulation
La modulation se fait en amplitude : si pour un chip donn les 4 utilisateurs mettent
un 1 , on a une demi-sinusode positive damplitude 4, si 4 utilisateurs mettent un 0 ,
une demi-sinusode damplitude -4, si 3 utilisateurs mettent un 1 et le dernier un 0 ,
une demi-sinusode damplitude 2, etc
1.3. Une solution logicielle base sur la carte son dun ordinateur
Ayant dj ralis des circuits de numrisation, srialisation et dsrialisation, il nous a
paru intressant de passer un niveau dabstraction plus lev, en utilisant un convertisseur
A/N et N/A existant et contrlable volont par logiciel : la carte son dun ordinateur. Nous
avons ralis un logiciel intitul CDMAster qui est capable deffectuer les oprations de
gnration de cls puis de multiplexage/dmultiplexage CDMA, le canal de transmission tant
soit un cble reliant deux cartes sons, soit les ondes acoustiques en se munissant dun haut-
parleur et dun microphone.
Cette solution logicielle correspond assez bien ce qui se fait dans lindustrie puisque
les quipements de communication rcents sont bass sur des DSP (Digital Signal Processor)
et autres composants programmables.
Ce systme comporte plusieurs avantages :
Une carte son est un composant peu cher et trs rpandu.
La carte son peut servir doscilloscope numrique mmoire grce un logiciel de
capture de son.
On peut enregistrer le signal mis, le modifier (en ajoutant du bruit par exemple), et le
renvoyer de faon tester la tolrance du systme la dformation ainsi introduite.
III. Implmentation du CDMA: le logiciel CDMAster

Nous avons opt pour une programmation en Visual C++, alliant ainsi la rapidit du
C++ et une conception facilite dinterface graphique pour plateforme Windows.
1.4. Capacit du canal de transmission
Nous avons travaill le plus souvent avec les donnes suivantes :
Codes orthogonaux de 8 bits, permettant davoir un maximum de huit utilisateurs.
Un utilisateur rserv lhorloge, pour maintenir la synchronisation au moment du
dmultiplexage.
Une frquence dchantillonnage de 44.1kHz qui correspond au maximum offert par
les cartes sons les plus courantes.
Une dfinition de 32 chantillons par chip (demi-sinusode)
Ceci nous donne donc la capacit suivante pour le canal de transmission :
172 bits/s par utilisateur
7 utilisateurs utilisables pour un total de 1200 bits/s
En pratique, nous nutilisons que 3 vritables utilisateurs, pour plus de clart lors de
lanalyse des signaux multiplexs.
Le dbit obtenu peut paratre trs faible, mais il faut garder lesprit que dans les
applications de tlphonie numrique, la frquence dchantillonnage est de lordre de
plusieurs gigahertz, soit quasiment un million de fois plus leve, ce qui mme en rallongeant
les codes donne des dbits beaucoup plus importants.
2. Organisation et utilisation du logiciel CDMaster
2.1. Organisation
Nous avons scind CDMaster en deux programmes : CDMAClient et CDMAServer, le
premier tant charg de lmission, le deuxime de la rception. Ceci permet de travailler
avec plusieurs configurations :

Avec un seul ordinateur :



R-acquisition directe du signal
(tout numrique)

Conversion N/A et A/N sur le mme
ordinateur


- 16 -
III. Implmentation du CDMA: le logiciel CDMAster

Avec deux ordinateurs :




Connexion par cble




Utilisation dun haut-parleur et dun microphone

Selon la configuration adopte, il faut ajuster les volumes de lmetteur et du rcepteur
pour avoir un niveau correct la rception (au moins 50% du maximum autoris, sans pour
autant saturer).
2.2. CDMAClient (mission)
Ce programme soccupe de coder des messages (squences doctets saisies sous forme
de chane de caractre) fournis par lutilisateur, de les moduler, de les sommer et de les
envoyer sur la carte son. Les codes de chaque utilisateur sont gnrs ds quon lance le
programme et sont stocks en mmoire.

- 17 -
III. Implmentation du CDMA: le logiciel CDMAster

Multiplexer
Quand on clique sur Multiplexer , CDMAClient demande de saisir trois chanes de
caractres qui correspondent aux messages envoys par les trois utilisateurs.
Envoyer
Ce bouton est initialement gris et est dverrouill ds quon a multiplex les messages
envoyer. En cliquant dessus, on dclenche lmission du signal sonore.
Codes
Ce bouton permet dcrire les codes utiliss dans un fichier texte, de faon les
visualiser avec un logiciel de tracer de courbes tel que gnuplot.

Messages
Cette option permet dcrire dans un fichier le message cod de chaque utilisateur.
2.3. CDMAServer (rception)
CDMAserver reoit le signal rsultant du multiplexage, lenregistre puis se charge de
reprer le dbut de lmission, deffectuer le dmultiplexage et de restituer les messages
correspondant chaque metteur. Au dmarrage, CDMAServer gnre une copie des codes
de chaque utilisateur pour tre en mesure de dmultiplexer le signal reu.


- 18 -
III. Implmentation du CDMA: le logiciel CDMAster

Recevoir
Ds quon appuie sur ce bouton le programme se met enregistrer ce que reoit la carte
son, et ce jusqu remplir un tampon qui fait la longueur maximale de message autorise plus
cinq secondes. Ces cinq secondes sont prvues pour laisser le temps lutilisateur de
dclencher lmission sous CDMAClient.
Dmultiplexer
En cliquant sur ce bouton, on lance le traitement du signal reu. Ce traitement se fait en
plusieurs temps :
a) dtection du dbut de lmission en balayant le tampon de rception ;
b) calibrage des chelles damplitude ;
c) dmultiplexage partir du dbut de lmission, avec maintient de la synchronisation
au fur et mesure quon avance.
3. Les briques lmentaires du programme
3.1. Gnration des codes
Les deux programmes CDMAClient et CDMAster commencent par gnrer les codes
de Gold orthogonaux de 8 bits laide dune routine qui leur est commune. Cette routine
sappuie sur un morceau de code capable de gnrer des codes Gold, code mis en logiciel
libre par Byougjo Choi de lUniversit de Southampton. Les codes de Gold sont obtenus en
effectuant des combinaisons linaires particulires de codes appels m-sequences ou maximal
length sequences dcals lun par rapport lautre. Nous avons crit un programme auxiliaire
qui cherche les bons paramtres pour obtenir des codes de Gold qui sont de plus orthogonaux.
Une fois ces codes gnrs, on stocke la cl de chaque utilisateur. Nous avons travaill
le plus souvent avec des codes de 8 bits car il ne nous a pas sembl intressant de travailler
avec plus de trois utilisateurs effectifs (plus un pour lhorloge) sur le canal de communication.
Cependant, la longueur des cls est stocke dans une constante globale commune aux deux
programmes, donc passer des cls de 16 bits ou plus est une opration qui peut se faire
aisment.
3.2. Du signal carr un signal sinusodal
Les calculs de codage se font sur des signaux numriques, c'est--dire de suites de bits
qui peuvent prendre pour valeur 0 ou 1. En ralit, nous travaillons plutt avec des suites de
-1 et +1 car il nous faut frquemment faire des multiplications sur ces squences (XOR entre
squences, gnration de demi-sinusodes damplitude -1 ou +1) et il est alors confortable
davoir des valeurs symtriques par rapport zro.
Les oprations dmission (sommation des signaux mis par chaque utilisateur) et de
dmultiplexage sont quant elles effectues sur des squences dchantillons cods chacun
sur plusieurs bits. Nous avons dcid de travailler avec une profondeur dchantillonnage de 8
bits mme si la plupart des cartes sons sont capables de grer du 16 bits parce que la
manipulation de squences doctets est plus commode que la manipulation de squences de
paires doctets.
- 19 -
III. Implmentation du CDMA: le logiciel CDMAster




Les signaux mis sont des signaux composs dune suite de demi-sinusodes
damplitudes diffrentes, chaque demi-sinusode tant dcrite par 32 chantillons. Nous avons
donc crit la procdure WriteHalfSine qui gnre une demi-sinusode et lcrit dans un
emplacement mmoire.
void WriteHalfSine(BYTE* buffer, int coeff) {
const float cf = 3.1415927f/HSINE_POINTS;
float ampli = float(HSINE_AMPLI * coeff);
int zero = 1 << 7;
for(int i = 0; i < HSINE_POINTS; i++) {
buffer[i] = BYTE(ampli*sin(i*cf)+zero);
}
}
HSINE_POINTS (32) : points par demi-sinusode
HSINE_AMPLI (127/USERS) : amplitude dune sinusode mise
par un seul utilisateur
coeff : amplitude de la demi-sinusode par rapport lamplitude pour
un seul utilisateur
buffer : emplacement mmoire o lon souhaite stocker la demi-
sinusode
Cette procdure est utilise de nombreuses reprises, pour lmission comme pour la
rception
3.3. Calculs de corrlation
Comme nous lavons vu, le dmultiplexage de signaux DS-CDMA passe par des calculs
de corrlation entre le signal reu et un signal attendu : lquivalent sinusodal de la cl de
chaque utilisateur. Ces calculs de corrlation sont des produits scalaires de fonctions, mais par
la nature chantillonne des signaux traits, il sagit en fait de sommes discrtes.
Nous avons crit la procdure CalcCorrel qui permet de calculer le coefficient de
corrlation entre deux signaux sur un nombre de blocs que lon passe en paramtre. Un
- 20 -
III. Implmentation du CDMA: le logiciel CDMAster

bloc dsigne une squence de KEY_LENGTH chips o KEY_LENGTH est le nombre de bits
composant un code (8 dans notre cas).

double CalcCorrel(BYTE* buffer1, BYTE* buffer2,
double prod_ampli, DWORD n /*=1*/)
{
long correl = 0;
double correl2;
DWORD dwPos = 0;
for (dwPos = 0; dwPos < n*KEY_LENGTH*HSINE_POINTS; dwPos++) {
correl += (buffer1[dwPos]-128) * (buffer2[dwPos]-128);
}
correl2 = 2*double(correl) /prod_ampli /HSINE_POINTS /KEY_LENGTH /n;
return correl2;
}
KEY_LENGTH (8) : longueur dune cl
buffer1 : emplacement mmoire du premier signal
buffer2 : emplacement mmoire du deuxime
n : nombre de blocs sur lequel effectuer le calcul
prod_ampli : produit attendu des amplitudes

prod_ampli mrite une explication supplmentaire qui est donne en 4.2.
3.4. Pilotage de la carte son
Il existe de nombreuses cartes sons disponibles sur le march, chacune ayant des
caractristiques et des mcanismes de commande propres. Cependant, crire un logiciel
destin un seul type de carte son en aurait limit la porte et nous avons donc eu recours
une couche dabstraction par rapport au matriel. Nous avons opt pour la librairie
DirectSound de Microsoft qui est tlchargeable librement.
Au dmarrage de CDMAClient comme de CDMAServer, il est demand lutilisateur
de prciser quel priphrique dacquisition ou de sortie son il souhaite utiliser si son
ordinateur en comporte plusieurs.

a) dans CDMAClient
Ds que lutilisateur choisi son priphrique de sortie, on a :
initialisation dun objet carte son
cration dun tampon mmoire dans lequel la carte son viendra lire les chantillons
jouer

- 21 -
III. Implmentation du CDMA: le logiciel CDMAster

Quand on effectue le multiplexage (bouton multiplexer ), on procde en trois tapes :
verrouillage du tampon
criture des chantillons multiplexs dans le tampon
dverrouillage du tampon
lecture du tampon par la carte son (mission)
b) dans CDMAServer
Ds que lutilisateur choisi son priphrique dacquisition, on a :
initialisation dun objet carte son
cration dun tampon mmoire dacquisition dans lequel la carte crira les chantillons
reus

Lors de la rception (bouton recevoir ), on a successivement :
verrouillage du tampon
suppression du contenu du tampon
dverrouillage du tampon
passage en mode acquisition de la carte son

Enfin, la procdure de dmultiplexage se droule ainsi :
verrouillage du tampon
traitement des chantillons (recherche du dbut de lmission, dmultiplexage)
dverrouillage du tampon
4. Mcanismes de la transmission
4.1. Synchronisation initiale (dtection du dbut de lmission)
Notre systme de communication tant asynchrone, il nous faut signaler le dbut de
lmission et savoir dtecter la rception. Pour cela, avant de commencer mettre des
donnes, nous envoyons une squence caractristique qui sert de marqueur.
La squence qui nous sert de marqueur de dpart dure 8 blocs, la premire moiti tant
une sinusode, la deuxime une sinusode en opposition de phase avec la premire. Il est trs
peu probable davoir ce signal autre part dans le signal reu, voire impossible partir du
moment o tous les utilisateurs nmettent pas (on a alors une base incomplte).
- 22 -
III. Implmentation du CDMA: le logiciel CDMAster


Au dmultiplexage, pour dtecter la prsence et lemplacement dans le tampon du
marqueur de dbut dmission, CDMAServer commence par gnrer une copie du marqueur.
Comme on dispose de la fonction WriteHalfSine, cest trs simple :
dwPos = 0;
for (i = 0; i < HDR_LEN / 2; i++) {
WriteHalfSine(pStartBlock+dwPos, (2*(i % 2) -1) * USERS);
dwPos += HSINE_POINTS;
}
for (i = 0; i < HDR_LEN / 2; i++) {
WriteHalfSine(pStartBlock+dwPos, (1- 2*(i % 2)) * USERS);
dwPos += HSINE_POINTS;
}
pStartBlock : lemplacement en mmoire o on stocke le marqueur
CDMAServer ensuite parcourt le tampon de rception et effectue des calculs de
corrlation entre le signal reu et le marqueur sur 8 blocs, en dcalant les deux signaux lun
par rapport lautre. On mmorise la position o le coefficient de corrlation est maximal, et
si celui-ci est au-dessus dun seuil arbitraire, on considre quon a trouv le dbut de
lmission.
maxcorrel = 0;
dwPos =0;
for (dwPos=0; dwPos<dwLength - SND_BUFF_MSG-SND_BUFF_HDR; dwPos+=SND_SYNC)
{
correl = CalcCorrel(lpvRead+ dwPos,pStartBlock,127*127, HDR_LEN /
KEY_LENGTH);
if (fabs(correl) > fabs(maxcorrel)) {
maxcorrel = correl;
dwMaxPos = dwPos;
}
}
lpvRead : pointeur sur le tampon de rception
4.2. Calibrage en amplitude
Le marqueur de dpart remplit une deuxime fonction : il nous permet de faire un
calibrage en amplitude. Le marqueur de dpart est mis avec lamplitude maximale autorise,
127. On passe 127*127 comme valeur du paramtre prod_ampli (cf. 3.3) la fonction
CalcCorrel, et la valeur du coefficient de corrlation maximal obtenu nous donne accs
- 23 -
III. Implmentation du CDMA: le logiciel CDMAster

lamplitude. En effet, CalcCorrel est crite de faon nous renvoyer exactement 1 si le
produit des amplitudes correspond effectivement prod_ampli.
On peut alors se servir du coefficient obtenu pour corriger tous les calculs de corrlation
qui suivent.
4.3. Dmultiplexage, maintien de la synchronisation
Le dmultiplexage se fait selon la mthode dcrite au II.3.3.a), il sagit dun dtecteur
conventionnel mono-utilisateur , soit un dtecteur qui calcule (produit scalaire) un par un les
messages mis. Les produits scalaires sont encore une fois effectus laide la fonction
CalcCorrel.
Lors de la mise au point de CDMAster nous avons eu des difficults transmettre des
messages au-del dune certaine longueur. Nous avons donc pens quil y avait un dcalage
au cours du temps. Le choix dune solution informatique sest alors avr tre une bonne
solution, car nous avons pu faire des captures du tampon et les visualiser. Pour une raison
quelconque, les frquences dchantillonnage de la carte son lmission et lacquisition ne
sont pas strictement identiques et on avait bien un phnomne de dcalage, comme les
captures nous lont prouv. Le dcalage tait de lordre de 0.1%.
Pour rsoudre ce problme, nous avons introduit un utilisateur factice, lhorloge. Cet
utilisateur a ceci de particulier quil met toujours le mme message. Sachant ceci, au dbut
de chaque nouvel octet, on fait un calcul similaire celui de la synchronisation. Si loctet bloc
prcdent commenait un position donne, le suivant devrait commencer 2048 chantillons
plus loin. Pour dterminer le dcalage qui a t introduit depuis le dernier octet, on fait un
calcul de corrlation au voisinage de la position thorique du nouvel octet, et on retient la
position qui maximise le coefficient de corrlation.
Les diffrents problmes tant rsolus, nous avons pu tester efficacement notre
programme. Les rsultats sont assez bons, les messages sont bien transmis et la rsistance au
bruit est trs satisfaisante. Un exemple dutilisation de notre programme est dtaill en
annexe (I).
- 24 -

Conclusion



L
e CDMA est une technologie la fois performante en terme de rapidit (complexit
linaire) et en terme de qualit. Sa rsistance au bruit, aux interfrences
inter-utilisateurs semble trs satisfaisante dun point de vue thorique. Sur le plan
exprimental, nos attentes nont pas t dues.
On pourrait apporter notre programme un certain nombre damliorations qui le
rendraient plus performant. Il serait par exemple possible de se dispenser du signal dhorloge
et dextraire linformation dhorloge directement du signal mis par un utilisateur quelconque.
En effet, mme si on ne sait pas lavance quelle squence de bits celui-ci va envoyer,
connaissant les codes utiliss, on connat des proprits du signal mis (prsence soit du code
de lutilisateur, soit de son oppos). On librerait ainsi une place pour un utilisateur
supplmentaire.
Le cahier des charges du logiciel na pas t facile dfinir. Le CDMA est une
technologie dj bien matrise et lessentiel des publications concerne des raffinements et des
optimisations pour des cas de figure bien particuliers. Il nous a donc fallu faire un important
travail de synthse pour dgager lessentiel de cette technologie afin de pouvoir nous fixer des
objectifs ralisables dans le cadre du projet.
Malgr ces difficults, le fait davoir pu choisir et mener bien un projet personnel est
pour nous une grande source de satisfaction.

- 25 -

Annexes


Un exemple dutilisation du programme



On commence par rentrer les 3 messages :







Puis on envoie le rsultat du multiplexage.

On lance ensuite le dmultiplexage :


On obtient alors le rsultat suivant :


Ceci nous indique que la transmission a russi.

- I -
Annexes : Un exemple dutilisation du programme

Lorsque que lon transmet le message par un cble (le bruit est quasiment nul, on na pas de
dformation), on obtient le signal suivant :

On obtient bien ensuite les bons messages aprs dmultiplexage.

On teste donc le comportement du programme lorsque que lon ajoute du bruit. Le bruit
a cette allure :


- II -
Annexes : Un exemple dutilisation du programme

On a fait alors plusieurs tests en fonction de lamplitude que lon affecte ce bruit. A
faible amplitude, on obtient ce signal :


Visuellement on retrouve facilement les pics et leur amplitude. Le programme nous
redonne galement les bons messages.
En mettant le bruit un peu plus fort on obtient :


Cest nettement moins bon, mais le programme fonctionne toujours

- III -
Annexes : Un exemple dutilisation du programme

Augmentons encore lamplitude du bruit :

Cette fois, tout le signal ressemble vraiment du bruit : on a du mal distinguer les pics
et surtout les zones de blancs napparaissent plus. Cest intressant de le remarquer, car ctait
un des avantages voqus pour la confidentialit (II.4.2). En faisant un zoom, on peut quand
mme retrouver les caractristiques du signal de dpart :

Signal bruit
Signal pur
- IV -
Annexes : Un exemple dutilisation du programme

Maintenant (connaissant le rsultat), il est plus facile de reprer les pics. Nous avons t
initialement surpris par le fait que le programme donnait encore les bons messages pour
chaque utilisateur. Mais, aprs rflexion, ce rsultat tait prvisible en raison du type de bruit
utilis. Il sagit dun bruit de frquence plus leve que la frquence des chips . Par
consquent, le bruit, qui est de moyenne nulle est limin lorsquon fait les calculs de
corrlation. Qualitativement, le bruit dplace le signal tantt vers le haut, tantt vers le bas,
ceci un grand nombre de fois par bloc, et la rsultante est nulle.

- V -

Bibliographie et remerciements


Digital Communications, John G. Proakis third edition
The ARRL Handbook for Radio Amateurs - Seventy-Eigth Edition
An Overview of CDMA Evolution toward Wideband CDMA,
Ramjee Prasad; Tero Ojanper.
http://www.comsoc.org/pubs/surveys/4q98issue/prasad.html
Spreading Sequences, Byoungjo Choi
http://www-mobile.ecs.soton.ac.uk/bjc97r/pnseq-1.1/index.html
Signal Processing for Communications
http://cas.et.tudelft.nl/education/et4147/
CDMA development group
http://www.cdg.org/

Nous tenons remercier tout particulirement M. Byoungjo CHOI. pour son programme
disponible sur Internet qui gnre les codes de Gold. Nous le remercions galement pour les
rponses quil a eu lamabilit de nous donner.
- VI -

Listing du programme
(joint dans la pochette)

Les modules que nous avons indiqus en gras sont les plus intressants.

Code commun

common.h , common.cpp : fonctions partages par CDMAClient et CDMAServer
pour la gnration des codes, calculs de corrlation, criture de demi-sinusodes.
defs.h : dfinitions de constantes.
mseq.h, mseq.cpp, gold.h, gold.cpp, ogold.h, ogold.cpp : utiliss lors de la gnration
des codes.

Code de CDMAClient

CDMAClientDlg.h, CDMAClientDlg.cpp : fentre principale avec toutes les
oprations relatives au multiplexage.
CDMAclient.h, CDMAClient.cpp : lancement du programme.
DeviceDlg.h, DeviceDlg.cpp : selection du priphrique de sortie.
PlaySound.h, PlaySound.cpp : initialisation du priphrique de sortie, cration du
tampon.

Code de CDMAServer

CDMAServerDlg.h, CDMAServerDlg.cpp : fentre principale, avec toutes les
oprations relatives au dmultiplexage.
CDMAServer.h, CDMAServer.cpp : lancement du programme.
DeviceDlg.h, DeviceDlg.cpp : selection du priphrique de sortie.
CaptureSound.h, CaptureSound.h : initialisation du priphrique dacquisition,
cration de tampon.

- VII -

Вам также может понравиться