CDMA 1 Etalement de spectre I) Présentation Principe: On mélange

Transcription

CDMA 1 Etalement de spectre I) Présentation Principe: On mélange
Etalement de spectre
I) Présentation
Principe: On mélange le message avec un code qui a des propriétés intéressantes ( + modulo 2 = ou exclusif ).
Intérêts:
* CDMA= multiplexage sur même fréquence en même temps
* Transmission en milieu bruité ( Cbit/s = WHz × log2 [ 1+S/N ] signifie que W
* Cacher un signal dans le bruit
pour S/N
)
Réalisation:
1) Etalement en émission = OU EXCLUSIF chips du code rapide et bits de données plus lents
=> On passe d'un signal étroit puissant à un signal étalé peu puissant
Le rapport entre les niveaux avant et après est le gain d'étalement SF ( Spread factor )
= rapport des largeurs de bande = combien de chips pour un bit = rapport de débit.
Exemple: Signal à 50 bit/s, code à 1,023 Mbit/s
=> SF = 20 460 ( 43,1 dB = 10×log[20460] )
2) Désétalement en réception = OU EXCLUSIF chips du code rapide et message reçu
L'étalement fait un ou exclusif puis le désétalement fait un ou exclusif
Rappel: d ⊕ c ⊕ c = d ( si c=0, 2 mémorisations de d,
si c=1, 2 inversions de d )
=> si c'est le même code C1: on reçoit (D ⊕ C1) ⊕ C1 = D => désétalement, on retrouve D de l'émetteur.
=> si on a 2 codes différents ( autre communication ): C1 côté Tx et C2 côté Rx: (D ⊕ C1) ⊕ C2 = code aléatoire étalé.
=> si on reçoit du bruit: Le récepteur fait B ⊕ C1 = étalement du bruit.
Etalé C1
=>
Signal d'info d'origine / gain SF
Etalé C2
=>
Signal étalé / gain 1
Bruit bande étroite
=>
Signal étalé / gain 1
Bruit large bande
=>
Signal étalé / gain 1
Remarque: Histoire de l'étalement de spectre: Actrice de cinéma Hedi Lamarr fuyant la 2nde guerre mondiale http://www.hedylamarr.org/
CDMA
1
II) Etalement et désétalement ( cas de système synchronisés )
!
"
CDMA
2
II) Utilisation de SBPA pour Synchronisation par code connu: Autocorrélation
Réalisation du code d'étalement = SBPA
En théorie on reboucle le ou exclusif de certains bits d'un registre à décalage sur l'entrée du registre. Pour avoir la longueur
maximale de séquence, les bits du ou exclusif sont
pour registre 4 bits D0D1D2D3: x3 + x2
pour registre 5 bits D0D1D2 D3 D4: x4 + x2
...
pour registre 10 bits D0D1 D2 D3 D4 D5 D6 D7 D8 D9: x9 + x6
...
...
...
=1
...
Remarque: En pratique il faut éviter l'état puit 00...0 d'où les éléments ajoutés sur le schéma suivant
( Si on a un 1, A=0, on a la théorie E=S. Si on n'a que des 0, état bloquant la théorie, A=1 qui fait que E=1, ce qui introduit un 1 )
Horloge SBPA
Entrée
D0
D1
D2
D3
≥ 1
≥1
A
≥1
=1
# $
%
+
*
&'& & &" (
,
≥1
S
''')
E
*
&'& & &"
*
*
Propriétés de la séquence
-.
-
'
% *
( / 0
2
4
2
6 $
'
7
"*
3 3
*
'''
3
2
)
)
)
01
)' '
( *
τ(
2 5τ
%
τ( "
8 29
Rc( k ) =
1
N
' ( ,
N −1
n=0
9 ( ') ) )
cn cn + k
9(
+
9≠ +
où cn est le chip n de la séquence,
N le nombre de chips de la séquence.
Rc(k)= 1 ( nb chips identiques − nb chips différents )
N
0
%
5
: ,
CDMA
3
Exemple du gsm: Training sequence
Du fait de la mobilité, les bursts entre mobile et antenne changent de délai de transmission. Or pour décoder le message des 0
et 1, il faut connaître le début = Synchro.
En GSM, pour raccourcir les transmissions, on n'utilise pas le fanion => On commence par une synchronisation approximative
sur les fronts des bursts:
Mais il faut être très précis, donc on a incorporé dans les bursts un code CAZAC (Constant Amplitude Zero Autocorrelation )
= séquence d'apprentissage ( training, norme GSM 5.02 ) = 26 bits = bit 61 à 86 du burst normal.
burst normal reçu 3T
57 bits data
1S
26 bits training
1S
57 bits data
3T
26 bits training
référence de début de burst
du récepteur
Training Sequence
Code ( TSC )
0
1
2
3
4
5
6
7
Training sequence bits
( BN61, BN62 ... BN86 )
(0,0,1,0,0,1,0,1,1,1,0,0,0,0,1,0,0,0,1,0,0,1,0,1,1,1)
(0,0,1,0,1,1,0,1,1,1,0,1,1,1,1,0,0,0,1,0,1,1,0,1,1,1)
(0,1,0,0,0,0,1,1,1,0,1,1,1,0,1,0,0,1,0,0,0,0,1,1,1,0)
(0,1,0,0,0,1,1,1,1,0,1,1,0,1,0,0,0,1,0,0,0,1,1,1,1,0)
(0,0,0,1,1,0,1,0,1,1,1,0,0,1,0,0,0,0,0,1,1,0,1,0,1,1)
(0,1,0,0,1,1,1,0,1,0,1,1,0,0,0,0,0,1,0,0,1,1,1,0,1,0)
(1,0,1,0,0,1,1,1,1,1,0,1,1,0,0,0,1,0,1,0,0,1,1,1,1,1)
(1,1,1,0,1,1,1,1,0,0,0,1,0,0,1,0,1,1,1,0,1,1,1,1,0,0)
Le calcul d'autocorrélation est fait sur les 16 bits du milieu ( oublier 5 avant, 5 après )
;
'
0
' 8
0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1
0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1
0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1
0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1
III) Intercorrélation ( crosscorrelation ): Utilisation de code pour Sélection d'une communication dans multiplex CDMA:
recherche de code utilisé ( code recovery )
Intercorrélation sur les codes GSM précédents
On reprend le même calcul mais sur 2 codes différents
=> Forte valeur = on a le même code
=> Faible valeur = on a 2 codes différents
Les codes du GSM ne sont pas orthogonaux ( synchronisé ou pas ) => pas possible de toujours distinguer les codes.
=> En GSM, avant communication, le réseau indique LE code à utiliser, le récepteur ne peut le trouver.
Idem en wifi, on a une entête en 1 Mbit/s avec code Barker sur 11 bits, puis cette entête indique le contenu de la trame, donc le
codage ( séquence de “chips” : +1 -1 1 1 -1 1 1 1 -1 -1 -1 pour code de Barker )
=> En CDMA, on utilise en même temps plusieurs codes
=> étalement ( SBPA )
=> orthogonalité ( codes orthogonaux ).
UMTS = Téléphone 3G
* Pour différencier par intercorrélation les canaux, on utilise des codes par canal. Ils font aussi l'étalement ( bits -> chips ).
=> Spreading Code ou Channelization Code ( Walsh ou Hadamard ).
CDMA
4
Ce sont des codes de longueur variable: Code OVSF (Orthogonal Variable Spreading Factor SF = 4 à 256 )
Construction des codes orthogonaux: Arborescence
on part de C1,0 = 1
SF=1
donc C2,0 = 11
donc C2,1 = 10
SF=2
de i = 0 à SF-1
* Comme ces codes n'ont pas les propriétés des SBPA, on ajoute une seconde étape = brouillage par SBPA ( ou exclusif )
=> Code de brouillage ( Scrambling code = Gold ou Kasami, 38400 chips ): 1 Chip -> 1 Chip
<
>
=
!
( <
: ,
<)
'
"
<)
< )"
<)
#)
<)
< )"
: ,
: ,
: ,
(
,
?
51
5+
2
5
(
5
: ,
Lien avec le débit: En ligne, le système impose un débit de chips fixe: 3,84 Mchip/s.
4
6
*
*
")< # @ , A )
(
46)
*
CDMA
5
GPS
Le GPS utilise une constellation de 24 satellites utilisés à 20200 km d'altitude ( non géostationnaires, orbites circulaires
visualisables à http://science.nasa.gov/Realtime/jtrack/3d/Jtrack3d.html ou chercher Jtrack3D sur ce site ).
Chacun émet un signal sur une porteuse L1 = 1575,42 MHz. Il utilise l'étalement de spectre avec un certain code C/A.
C/A (Course/Acquisition ) ou code standard: SBPA Gold longueur 1023 chips à 1.023 MHz => 1023 chips en 1 ms:
Synchro périodicité à 300 km, 1ms, accessible à tous.
Génération du code C/A d'un satellite ( SV Space Vehicule ): Chaque satellite a son code C/A:
G1 est le même pour les 32 satellites possibles.
On change la partie en pointillés Phase Taps
de G2 pour chaque satellite:
SV1: Taps 2 et 6
SV2: Taps 3 et 7
SV3: Taps 4 et 8
SV4: Taps 5 et 9
SV5: Taps 1 et 9
SV6: Taps 2 et 10
...
Les données NAV sont étalées par le C/A de leur
satellite puis modulée en BPSK sur la porteuse L1:
Les militaires US utilisent le code plus précis: P ( Precise ): SBPA
Ils utilisent une seconde porteuse L2 à 1227,6 MHz:
: Synchro précise
Pour un satellite:
Pour un récepteur:
Il choisit un code en interne et analyse par corrélation si c'est celui qu'il reçoit ( en fait il en essaie plusieurs en // ).
Une fois reconnu le code, il lit l'heure donnée par le satellite dans le message NAV.
L'ambiguïté liée à la périodicité de 1 ms <-> 300 km pour un civil est résolue en analysant le message NAV = Message de
navigation 1500 bits à une fréquence de 50 Hz => 50 bit/s.
* Soit le récepteur est à l'heure parfaite ( celle des horloges atomiques des satellites )
=> Avec 3 satellites, il fait une triangulation ( mesures des distances pseudo-ranges )
* Soit le récepteur doit trouver l'heure ou a une horloge avec des dérives ( cas réel )
=> Il lui faut 4 satellites.
Imprécisions: ( 1m de précision = horloge précise à 3,3 ns, erreur de ¼ de ms = imprécision de 75 km )
=> itération de calcul.
CDMA
6