Télécharger la source de la présentation

publicité
Notions sur les transmissions numériques
J. Le Roux www.essi.fr/~leroux
•
•
•
•
•
•
•
•
•
•
Contraintes liées a la transmission a distance
Modulation codage
Défauts de transmissions
Correction des erreurs de transmission
Notions de cryptographie (RSA)
Compression de données
Codage des sons et de la parole
Codage des images
Exemple de la téléphonie mobile GSM
Autres systèmes : UMTS, 802.11,
BLUETOOTH, ADSL,OFDM...
Version provisoire ; merci aux auteurs dont j’ai récupéré les présentations graphiques sur le web
Analyse des éléments principaux
d’une transmission
Déformations apportées au signal transmis
Modulation - transmission - démodulation
Bandes de fréquences
Mise en forme des données par l’émetteur
Opérations effectuées par le récepteur ;
analyse de la qualité des données reçues
Importance de l’analyse
en fréquence :
Transformée de Fourier
Travaux dirigés sous la forme
d’une simulation numérique
d’une chaîne de transmission
Codage
Codage de source (Huffman) pour réduire le débit
Récupération des erreurs de transmission (codage de canal)
en introduisant de la redondance
Codes cycliques, code de Hamming
Codes convolutionnels (Viterbi) Turbocodes
Bases théoriques : théorie des probabilités et théorie
de l’information
(cf. P. Solé)
Cryptographie
Protection contre les intrusions sur le réseau
Cryptographie à clef publique (code RSA)
«Pretty good privacy» Zimmerman
Bases théoriques : théorie de la complexité
(cf. B. Martin)
Codage du son et de la parole
Théorème d’échantillonnage
Stockage de son numérique
Techniques de réduction de débit (mp3, codage GSM)
Codage d’images fixes et animées
Normes JPEG et MPEG (DIVX)
Transformée en cosinus
Détection de mouvements dans une séquence
Bases théoriques : théorie du signal (Transformée de Fourier,
probabilités, statistiques)
Transmission GSM
«Global System Mobile»
France Télécom (Itinéris), Cégétel (SFR), Bouygues Télécom
Principe de la téléphonie cellulaire
Fréquences utilisées
Codage et modulation des données
Codage de la parole
Correction des erreurs de transmission
Cryptage
Transmissions numériques : comment transmettre à distance
un message numérique (une séquence binaire)
Emetteur
Canal de
transmission
Déformation : filtrage
écho, évanouissement...
Récepteur
Bruits,
parasites...
Transmissions numériques
L’information binaire doit être portée
par des signaux physiques :
courants électriques ondes électromagnétiques photons ...
Il faut coder les données binaires sous une forme
analogique avant de les transmettre
Un signal a une durée non nulle : limitation en débit
Le signal peut être déformé par le canal de transmission
Le récepteur peut être perturbé par d’autres signaux
Erreurs de
transmission
Bases théoriques : signal (transformée de Fourier) et probabilités
gg
Signal émis
ggb
distorsion
Distorsion
et bruit
Illustration des défauts apportés par un canal de transmission :
réception d’une image de qualité médiocre du fait des défauts (échos) du canal de transmission
x(t )
1
.
0
0
.
5
0
.
0
Signal
émis
0
.
5
1
.
0
t
Exemple de déformation
par un canal de transmission
et d’addition de bruit
3
0
8
0
1
3
0
h(t )
5
0
Réponse
impulsionnelle
du canal de transmission
y (t )  

0
Signal déformé
3
0
8
0
1
3
0
(convolution
par la réponse
5
0
impulsionnelle
du canal)
t

x( )h(t   )d  v(t )
Signal reçu déformé
et bruité
y (t )
2
0
3
0
9
0
t
3
0
8
0
1
3
0
0
4
0
8
0
1
2
0
Représentation dans le domaine des fréquences
la transformée de Fourier
outil fondamental pour de nombreux traitements et interprétations
temps
Temps continu
Temps discret
Filtrage,
convolution
fréquences
1 
jt
f (t ) 
F
(

)
e
dt



2
F ( )  


kt
2j
1 T 1
f (t )   F (k )e T
T t 0
y (t )  



x( h(t   )d
F (k ) 
f (t )e  jt dt
T 1
 f (t )e
 2j
kt
T
t 0
Y ( )  H ( ) X ( )
 x( h(t   )
Y (k )  H (k ) X (k )
y(t )  exp( j0t ) x(t )
Y ( )  X (  0 )
y (t ) 
  
Modulation
Transformée de Fourier discrète des signaux échantillonnés
représentation complexe dans le domaine des fréquences
F (k ) 
T 1
 f (t )e
 2j
kt
T
t 0
Transformée inverse (retour dans le domaine temporel)
f (t ) 
T 1
1
F ( k )e

T t 0
2j
kt
T
Attention à la graduation en fréquences aux unités
Attention :
C ’est l ’utilisateur de la transformée de Fourier discrète qui gère les unités .
Elles ne sont en général pas intégrées dans les données elles-mêmes
Il connaît la fréquence d’échantillonnage fe du signal traité ;
Le nombre de fréquences de la transformée est égal
au nombre d’échantillons (T) du signal ;
Il en déduit la résolution en fréquence,
c’est à dire le pas d’échantillonnage
dans le domaine des fréquences soit fe / T
Conseil pour l ’apprentissage : calculer et visualiser
la transformée de Fourier de sinusoïdes
à différentes fréquences, en particulier pour faire apparaître
le repliement spectral
Signal temporel : 32 données 32x16 échantillons (simulation du temps continu)
1.5
x
k
0
1.5
0
1
2
3
4
5
6
7
8
9
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
time
k
Transformée de Fourier discrète (module)
fech/2
4
X
k
2
0
256
128
0
fech
k
Après recentrage
4
Fréquences négatives
Fréquences positives
XX
k
2
0
0
-fech/2
128
0k
fech/2256
Les fréquences comprises entre la moitié de la fréquence d’échantillonnage
et la fréquence d’échantillonnage sont translatées vers les fréquences négatives
Représentation en temps et en fréquence d ’un signal simple de transmission
numérique : la fréquence maximale du signal est la moitié de la fréquence
d ’échantillonnage ; la résolution en fréquence est donnée par le nombre
d ’échantillons dans le domaine temporel
1
.
0
0
.
5
0
.
0
0
.
5
1
.
0
temps
0
4
0
8
0
1
2
0
7
3
L’information contenue
dans le message peut être récupérée
malgré une limitation en fréquence
ou une déformation apportée par le canal
de transmission
.128
5
005
0
fréquence
Modèle de filtre (déformation par le canal de transmission
exprimée sous la forme d ’une convolution discrète)
filtre récursif
Résonance, écho
filtre non récursif
Atténuation sélective
dans le domaine temporel
yt  a1 yt 1  a2 yt 2  xt
yt  xt  b1 xt 1  b2 xt 2
dans le domaine fréquentiel
Y 
1
1  a1e j  a2e 2j 
X
Y  1  b1e j  b2 e2j  X 
6
TF de l’entrée
X
k
4
2
0
0
50
100
150
200
250
k
Réponse
en fréquence
1
Filtre
du filtre k
3
2
1
0
0
50
100
150
200
250
k
10
TF de
1 la sortie
. X
k
Filtre
k
(produit)
5
0
0
50
100
150
200
250
k
4
Retour
2
z
au domaine
k
0
temporel
x . 1.6
k
(TF inverse) 2
4
0
50
100
150
200
250
k
Effet d ’un filtre calculé comme un produit dans le domaine des fréquences
Modulation et démodulation réelles d’un signal réel
x(t )
0
.
1
5
2
1
0
.
1
0
0
0
.
0
5
1
0
.
0
0
1
0
0
0
5
0
0
0
5
0
0
1
0
0
0
X ( )
2
1
0
0
0
5
0
0
0
5
0
0
1
0
0
0
1
0
0
0
5
0
0
0
5
0
0
1
0
0
0
1
0
0
0
5
0
0
0
5
0
0
1
0
0
0
x(t ) cos(0t )
0
.
1
0
2
0
.
0
8
1
0
.
0
6
0
0
.
0
4
1
0
.
0
2
1
[ X (  )  X (  )]
0
0
2
0
.
0
0
1
0
0
0
5
0
0
0
5
0
0
2
1
0
0
0
x(t ) cos2 (0t )
0
.
1
0
2
0
.
0
8
1
0
.
0
6
0
0
.
0
4
1
0
.
0
2
0
.
0
0
1
0
0
0
5
0
0
0
5
0
0
1
0
0
0
0
.
1
0
1
[ X (  2 )  X ( )  X (  2 )]
0
0
2
Filtrage passe bas
2
0
.
0
2
0
.
0
8
0
.
0
1
0
.
0
6
0
.
0
0
0
.
0
4
0
.
0
1
0
.
0
2
0
.
0
0
0
.
0
2
1
0
0
0
5
0
0
0
5
0
0
1
0
0
0
0
.
0
3
1
0
0
0
5
0
0
0
5
0
0
1
0
0
0
Modulation et démodulation d ’un signal complexe
Modulation
Démodulation
y(t )  exp( j0t ) x(t )
Y ( )  X (  0 )
x' (t )  exp(  j0t  j ) y(t )
x' (t )  x(t )
si
X ' ( )  X ( ) exp( j )
 0
Nécessité d ’une synchronisation du récepteur (ramener  à zéro) :
il y a un retard de transmission et des générateurs de fréquences qui
ne sont pas parfaitement stables : il faut un asservissement
(boucle à verrouillage de phase)
Fréquence porteuse
du signal reçu
comparaison
Oscillateur local
Modification de la
phase (ou de la fréquence)
Transmission des signaux complexes
Sélection de la partie réelle
0
.
3
0
.
1
0
0
.
1
0
.
0
4
Transformée de Hilbert
1
.
2
Modulation
complexe
0
.
8
0
.
4
fréquentiel
0
.
0
0
.
3
0
.
1
5
0
3
0
1
0
1
0
3
0
5
0
3
.
0
2
.
5
2
.
0
1
.
5
1
.
0
0
.
5
0
.
0
0
.
5
1
.
0
1
.
5
2
.
0
2
.
5
Temporel
3
0
2
0
1
0
0
1
0
2
0
3
0
Suppression des fréquences négatives
régénération de la composante imaginaire du signal
nécessite une synchronisation du récepteur
Multiplexage en fréquence
- Transmettre en parallèle plusieurs communications
- Chaque émission se fait dans une bande de fréquence d’une largeur donnée
autour d’une fréquence porteuse connue du récepteur
- La réduction de la largeur de la bande de fréquence se traduit par une
réduction du débit de transmission (le signal dans une bande de
fréquence étroite ne peut pas varier rapidement)
Temps
Deux signaux
en bande de base
Fréquences
1
.
0
1
.
0
0
.
5
0
.
5
0
.
0
0
.
0
0
.
5
0
.
5
1
.
0
1
.
0
7
7
3
3
0
1
0
2
0
3
0
0
1
0
2
0
3
0
4
0
2
0
8
0
4
0
2
0
8
0
Modulation par
deux porteuses
1
.
0
1
.
0
0
.
5
0
.
5
0
.
0
0
.
0
0
.
5
0
.
5
1
.
0
1
.
0
7
7
3
3
4
0
2
0
8
0
0
1
0
2
0
3
0
4
0
2
0
8
0
0
1
0
2
0
3
0
9
1
.
0
Multiplexage
en fréquence
0
.
5
0
.
0
4
0
.
5
1
.
0
4
0
2
0
8
0
0
1
0
2
0
3
0
1
.
0
Démodulation
par les deux
porteuses
1
.
0
9
9
4
4
0
.
5
0
.
5
0
.
0
0
.
0
0
.
5
1
.
0
0
.
5
1
.
0
0
1
0
2
0
3
0
0
1
0
2
0
3
0
4
0
2
0
8
0
4
0
2
0
8
0
1
.
0
9
1
.
0
0
.
5
Filtrage
passe bas
7
0
.
5
0
.
0
0
.
0
0
.
5
3
4
0
.
5
1
.
0
1
.
0
0
1
0
2
0
3
0
0
1
0
2
0
3
0
4
0
2
0
8
0
4
0
2
0
8
0
Modulation, multiplexage en fréquence et démodulation
Fréquences et débits typiques
Paire torsadée
Dizaines de kilobits/s
Le câble coaxial
200 Mbits/s
Ondes herziennes
1 à 40 gigaherz
Plusieurs centaines
de Mégabits/s
Liaisons satellites
3 à 14 Gigahertz
Centaines
de Mégabits/s
Stockage
des informations
CD 5 gigabits
Longueurs d’ondes en transmissions hertziennes
Longueur d'onde Fréqu.
domaine
application
myriamétriques
10 4
très basses VLF
Fréqu. vocales, fils élec.
kilométriques
105
basses LF
hectométriques
10 6
moyennes MF
décamétriques
10 7
hautes HF
radio grandes ondes
câbles sous-marins
radio ondes moyennes
câbles coaxiaux
radio ondes courtes,
radio maritime
métriques
108
très hautes VHF
coms. mobiles, radio FM
décimétriques
10 9
ultra hautes UHF
télévision
centimétriques
1010
super hautes SHF
communications microondes
satellites, guides d'ondes
millimétriques
1011
extra hautes EHF
Antennes
Taille proportionnelle à la longueur d’onde
Concentrer la puissance du signal émis
ou du signal reçu (pb du bruit à la réception)
par exemple antenne parabolique
120
Modification de la forme
pour améliorer la directivité
(diagramme de rayonnement)
foyer
.
90
6
4
150
6
60
30
2
n
180
0
0
210
0
330
240
300
270
n
Décroissance de l’amplitude du signal comme l’inverse du carré de la distance
Propagation des ondes électromagnétiques (équations de Maxwell)
http://www.gesi.asso.fr/cours/rollet/ANTENNES/sld001.html
http://www.eisi.ch/dem/Mediatheque/Telecom%20et%20traitement%20du%20signal/Cours/Antennes.pdf
Transmission
sur fibre optique
Domaine de fréquence
Longueur
> à 800 nm
10 gigabits/s
100 gigabits/s
(multiplexage
en longueur d’onde)
400 µm-800 nm
< 400 nm
fréquence (Hertz)
domaine
<7,5.1011 à 3,75. 1014 Infrarouge
14
3,75. 10
14
à 7,5. 10
> 7,5. 1014
Visible
Ultra-violet
0,3.nm
1018
Rayons X
0,1 pm
10 21
R. gamma
Étalement du paquet de photons
en fonction de la distance
.
Mise en forme des signaux à l’émission
- créneau = simple
mais mauvaise utilisation
de la bande de fréquences
(perte en débit)
forme optimale
de l’onde porteuse d’un bit
compromis
sin( t / t )
t / t
0
.
9
0
.
9
0
.
7
0
.
4
0
.
4
0
.
1
fréquence
0
.
1
0
.
1
5
0
0
3
8
0
2
6
0
1
4
0
2
0
1
0
0
2
2
0
3
4
0
4
6
0
5
0
0
3
8
0
2
6
0
1
4
0
2
0
1
0
0
2
2
0
3
4
0
4
6
0
5
0
0
3
8
0
2
6
0
1
4
0
2
0
1
0
0
2
2
0
3
4
0
4
6
0
2
.
0
1
.
2
1
.
4
0
.
1
0
.
2
0
.
5
5
0
3
0
1
0
1
0
3
0
5
0
5
0
3
0
1
0
1
0
3
0
5
0
5
0
3
0
1
0
1
0
3
0
5
0
x(t )  
k
sin
 (t  kt )
t
m( k )
 (t  kt )
t
Aux instants
d’échantillonnage
toutes les composantes
sont nulles sauf une
4
2
0
1
0
6
9
6
9
8
2
3
8
8
6
7
4
0
7
0
4
6
6
7
5
2
1
5
8
4
4
4
8
3
0
2
3
6
5
2
2
9
1
8
2
1
4
6
0
Schéma d ’un système de transmisison
Données
à transmettre
Emetteur
Données
reçues
Récepteur
Mise en forme,
codage préalable
Récupération des erreurs
Compensation des défauts
Modulation
Émission
Réception Démodulation
Canal de transmission :
déformations, bruit, écoute
Schéma des fonctions principales du récepteur
Capteur (antenne)
Démodulation en phase Retrouver la phase de la porteuse ou le retard
grâce à une boucle à verrouillage de phase
avec l’émission
exp[ 2jf0 (t  t0 )]
Analyse de l ’interférence intersymboles
compensation partielle (analogique) des défauts
Filtrage passe bas
Visualisation par le diagramme de l ’œil
Échantillonnage
Traitements
numériques
Retrouver la phase de l ’horloge de l ’émetteur
grâce à une boucle à verrouillage de phase
Compensation plus fine
des défauts du canal
Correction des erreurs
de transmission
Égalisation :
Compensations de défauts du canal de transmission
Le canal agit comme un filtre linéaire x(t )   m(k )h(t  k )
k
Trouver, à partir du signal reçu les caractéristiques du filtre inverse
Données
émises
Données
reçues
H (z )
b(t )
x(t )
Canal
de transmission
(filtre inconnu)
C ( z)  1 / H ( z)
Données
modifiées
y (t )  b(t )
Recherche des
caractéristiques du canal
Compensation d ’un écho
1
.
0
Filtre compensateur
Fonction de transfert du canal
1
0
0
0
5
0
0
0
.
5
0
0
.
0
5
0
0
2
5
0
2
6
2
2
7
4
2
8
6
2
9
8
3
1
0
3
2
2
3
3
4
3
4
6
2
5
6
2
5
2
2
4
8
2
4
4
2
4
0
2
3
6
2
3
2
2
2
8
2
2
4
1
5
0
1
0
0
0
.
0
4
fréquence
Re
0
.
0
2
5
0
0
5
0
5
0
0
0
5
0
0
6
0
0
4
0
0
2
0
0
0
2
0
0
4
0
0
6
0
0
0
.
0
2
3
0
Im
0
.
0
0
1
0
0
.
0
2
6
0
04
0
02
0
0 0 2
0
04
0
06
0
0
5
0
0
0
5
0
0
Scrambling
Éviter que le signal présente des caractéristiques fréquentielles remarquables
qui pourraient être confondues avec les défauts du canal de transmission
(aspect périodique par exemple)
Registre à décalage bouclé initialisé (séquence pseudo aléatoire)
c(t)
XOR
codage
décodage
y(t)=x(t).XOR.c(t)
x’(t)=y(t).XOR.c(t)=x(t)
XOR
Superposition de tronçons du signal
pour construire le diagramme de l ’œil
2
1
0
6
0
1
2
0
1
8
0
2
4
0
3
0
0
3
6
0
4
2
0
4
8
0
1
1
0
4
8
1
2
1
6
2
0
2
4
2
8
Construction du diagramme de l’oeil
0
0
50
100
150
200
250
k
4
z
k
2
0
x . 1.6
k
2
4
0
50
100
150
200
k
15
10
5
0
ZM
0
5
10
15
250
Diagramme de l’œil : il permet de repérer l ’instant d ’échantillonnage des
données et de visualiser l ’importance des déformations dues au canal de
transmission et au bruit
2
1
0
-1
-2
Instant d ’échantillonnage
0
5
10
15
20
25
30
35
Diagramme de l’œil du signal de communication précédent
après perturbation par un bruit : en choisissant correctement l ’instant d ’échantillonnage
on peut malgré tout retrouver les données émises
2
1
0
1
2
Instant d ’échantillonnage
0 5 1
01
52
02
53
03
5
Différentes constellations
PAM
Pulse amplitude modulation
AM-PM Amplitude-Phase modulation
 (2k  1)
m
k exp 2j
M
QAM
Quadrature amplitude
modulation
PSK
Phase shift keying
BPSK
Binary phase shift keying
1
QPSK
Quadrature phase shift keying
1  j
 (2k  1)  j (2  1)
exp 2j
m
M
Quelques types de constellations
PSK
QAM
QPSK
AMP
BPSK
PAM
1
.
5
1
.
5
1
.
0
1
.
0
0
.
5
0
.
5
0
.
0
0
.
0
0
.
5
0
.
5
1
.
0
1
.
0
1
.
0
0
.
5
0
.
0
0
.
5
1
.
0
1
.
5
1
.
0
0
.
5
0
.
0
0
.
5
1
.
0
1
.
5
Constellation à l ’émission et à la réception après modification par le canal de transmission
(déformation, bruit, …)
Probabilité d’erreur de transmission
Données émises (+1 ou -1)
Densités de probabilité des données rcçues
(variables aléatoires gaussiennes)
0.6
0.5
0.4
0.3
0.2
Probabilité
d’erreur
0.1
-1
0
1
0
1
2
3
4
proba. d’erreur= 10-3
5
6
7
8
  1
r
 1 r
 
9
log 10 
10 20 exp   10 10 ( x  1) 2 dx 

2
 2
 
1
0  0
1
1
1
2
1
3
1
4
1
5
1
6
1
7
r=10
1
8
r
=0.1
1
9
  10 10
2
0
0
1
2
3
4
5
6
7
8
9
1
0
1
1
1
2
1
3
1
4
1
5
1
6
1
7
1
8
1
9
2
0

r
Log (décimal) de la probabilité d’erreur en fonction du rapport signal à bruit
dans le cas d’un bruit gaussien additif
Codes correcteurs d ’erreurs
Quelques notions de théorie de l ’information
Cyclic redundancy codes (CRC)
Code de Hamming
Codes en blocs, Reed Solomon (cd audio)
Codes convolutionnels, algorithme de Viterbi
(téléphonie mobile GSM)
turbocodes (UMTS)
Notions de théorie de l ’information
Canal binaire symétrique
Probabilité d ’erreur p
(1  p)
1
1
p
p
0
(1  p)
0
Messages de longueur L
Il y a 2 LH ( p ) configurations possibles des erreurs (Shannon)
H ( p )  [ p log 2 p  (1 p) log 2 (1 p)]
Entropie
1
hm
0.5
0
.
0
0.25
0.5
pm
0.75
1
Les 2 L
messages reçus possibles peuvent être décomposés en
2 L  2 L[1 H ( p)]  2 LH ( p)
Messages informatifs
Configurations des erreurs
0
1 h m 0.5
1
.
0
0.25
0.5
0.75
1
pm
Capacité du canal 1 H ( p)
H ( p) 1
p 1 / 2
Capacité nulle
(que du bruit
à la réception)
H ( p) 0
p 0
(pas d ’erreurs)
Capacité maximum
Rajout d ’une redondance pour corriger les erreurs
M
Longueur du message informatif
S
Longueur de la redondance (syndrome)
LM  S
40
35
30
1
1 h m
25
1
20
1 h m
15
10
5
0.
0
0.05 0.1 0.15 0.2
0.25 0.3
0.35 0.4
0.45
0.05
0.1
0.15
0.2
0.25
pm
pm
Shannon (1948) : si
10
9
8
7
6
5
4
3
2
1
0.
0
L
M
1 H ( p )
Turbocodes (C. Berrou, 1993)
il existe un moyen de coder
les données pour corriger
presque sûrement
les erreurs de transmisson
0.3
CRC : cyclic redundancy codes
Détection d’erreur sans correction
A un message binaire est associé un polynôme, (coefs. 0 ou 1)
On transmet M(z)=1.z16 +0.z15+...+1.z0 et quatre bits de parité
Y(z)=M(z).z4=D(z).Q(z)+R(z)
(Y(z) divisible par D(z)=1.z3+0.z2+0.z1+1.z0)
A la réception de Y’(z), division : Y’(z)=D(z).Q’(z)+R’(z)
Transmission correcte si R'(z)=0.
Exemple simple de correction : le code de Hamming
Transmettre un mot de quatre bits (a,b,c,d) complété par trois bits (x,y,z)
pour corriger une erreur (au plus)
x=b+c+d
y=a+c+d
z=a+b+d
Données reçues : a',b',c',d',x',y',z'.
Pour trouver l'erreur on calcule
u=a'+c'+x'+z'
v=b'+c'+y'+z'
w=d'+x'+y'+z'
w
0
0
0
0
1
1
1
1
v
0
0
1
1
0
0
1
1
u
0
1
0
1
0
1
0
1
pas d'erreur
a’ faux
b’ faux
c’ faux
d’ faux
x’ faux
y’ faux
z’ faux
Justification
Codage
M=(a,b,c,d,x,y,z)T
T=
1000
0100
0010
0001
0111
1011
1101
M=T.F
Données à coder
F=(a,b,c,d)T
Justification
Décodage
G vecteur d'erreur (zéro ou une composante non nulle)
M'=M+G=T.F+G
1 0 1 0 1 0 1
T’= 0 1 1 0 0 1 1
0 0 0 1 1 1 1
T’.T=0 mod 2
T'.M'=T'.T.F+T'.G= T'.G
les trois composantes de T'.M' donnent l'adresse de l'erreur
Une forme un peu plus générale des codes de Hamming
On suppose qu'on veut corriger une erreur au maximum sur un paquet de
2n bits. On prendra pour exemple le cas où n=4.
On réserve pour cela cinq bits notés a,b,g,d,e
1 1 1 1 1 1 1 d 1 1 1 g 1 b a e
1
1
1
1
1
1
1
0
1
1
0
1
1
1
0
0
1
0
1
1
1
0
1
0
1
0
0
1
d
0
0
0
0
1
1
1
0
1
1
0
0
1
0
1
0
g
0
0
0
0
1
1
0
0
b
0
0
0
0
a
0
0
0
0
a pour que la somme des bits de numéro pair soit nulle (modulo 2).
b pour que la somme des bits pris deux par deux soit nulle
g la somme sur les bits dont le deuxième bit d'adresse
est nul
d somme sur les huit bits dont l'adresse commence par zéro.
b, g et d ne sont pas utilisés pour calculer a.
e pour que le message soit pair ( tient compte de a, b, g et d 
(le calcul de e n'est pas nécessaire).
Pour détecter et éventuellement corriger l'erreur
on teste la parité du message complet (calcul de e) :
Si cette parité est nulle il n'y a pas d'erreur.
Sinon, il y a exactement une erreur dont il s'agit de trouver la position :
le récepteur calcule les quatre parités correspondant à a, b, g, et d.
Si la parité des huit bits d'adresse paire est nulle
l'erreur est nécessairement sur un bit d'adresse impaire;
si cette parité vaut un l'erreur est sur un bit d'adresse paire.
De cette manière on voit que l'adresse de l'erreur est donnée par
d g b a.
Codes de Reed Solomon
Calculs sur les corps finis (corps de Galois)
Entiers modulo un nb premier
par exemple 5 (1+4=0)
X
1
2
3
4
1
1
2
3
4
2
2
4
1
3
3
3
1
4
2
4
4
3
2
1
Un peu plus compliqué : un entier = un polynôme N(z)
à coefficients binaires
opérations modulo un polynôme C(z) correctement choisi
N ( z )  b0  b1z  b2 z 2    bq z q
C ( z)  1  z 2  z 3  z 4  z8
Permet d ’engendrer un corps 256 éléments (octets)
Codes de Reed Solomon
On veut corriger t erreurs : il faut 2t informations supplémentaires (syndrome)
t positions d’erreurs
t amplitudes d’erreurs
RS(204,188) permet de corriger jusqu’à 8 erreurs sur un message
contenant au total 204 données dont 204-2x8 données utiles et 2x8
données supplémentaires (CD)
Codes de Reed Solomon
x0
x x 1
Données utiles
x2t
Redondantes (2t)
mises à zéro
On émet le message
m  0,,   2t :
a
 ( 2t )
ym   xka km
k 0
Générateur du corps fini (tout nombre du
corps peut se mettre sous la forme a p )
Equivalence avec la Transformée de Fourier
a  e2j / T
On associe à chaque mot du message une ``sinusoïde’’
de fréquence k et d ’amplitude xk
Codes de Reed Solomon
Une erreur dans le message: un des y est faux
On a rajouté une impulsion au signal y
Cette impulsion se traduit dans le domaine des « x » (par transformée
de Fourier inverse) par des composantes non nulles
ce qui permet de retrouver la position et l ’amplitude de erreur
Si il y a 2t données réservées pour la redondance, on peut rajouter
jusqu ’à t impulsions au signal y et retrouver la position et l ’amplitude
de ces t erreurs
Codes de Reed Solomon
1
1
0
0
1
0
1
2
3
4
5
6
7
8
9
10
11
Message à transmettre X
12
13
1
0
1
2
3
4
5
6
7
8
9
10
11
12
13
Erreur de transmission
Eq. Lin (Berlekamp Massey)
1
1
0
0
1
0
1
2
3
4
5
6
7
8
9
10
11
Message émis (TF de X)
12
13
1
0
1
2
3
4
5
6
7
8
9
10
11
12
13
TF inv. du message reçu (syndrome)
1
1
0
1
0
1
2
3
4
5
6
7
8
9
10
11
12
13
0
Message reçu : Y+erreur
1
0
1
2
3
4
5
6
7
8
9
10
11
12
13
Après soustraction on retrouve
le message à transmettre
Reed Solomon : correction des erreurs
xk
ym
transmission
y'm  ym  em
TF
TF -1
x'k
x'1 ,, x'2t (syndrome)
‘‘signature de l’erreur’’
e'1 ,, e'2t  x'1 ,, x'2t
e' t 1 e' t  2
 e'
e't 1
  t

 

e' 3
 e'  2
e' 2t  g 1   e't 
 e'  2t 1  g 2  e't 1 
   


      
  

 e't  g t   e'1 

pour n  ,   1,,0
t
e 'n   e 'n  m g m
pour k  0,, 
m 1
xk  x'k e'k
ALGORITHME DE BERLEKAMP MASSEY
Codes convolutionnels,
Décodage par l’algorithme de Viterbi
Automate d ’émission
et différentes représentations :
transitions, treillis
Principe et mise en application
du décodage par le récepteur
Émission des donnees dans
un codeur convolutionnel
avec un registre a decalage
et des ou exclusifs
s 1 (t)
xor
e(t)
e(t-1)
e(t- 2)
xor
s2 (t)
Représentation de l ’émetteur sous la forme d ’un automate
e s s2
1
0 0 0
e s s2
1 11 1
00
e s s2
1
0 1 1
10
e s s2
1
1 0 0
e s s2
1
0 1 0
e s s2
1
0 0 1
01
e s s2
1
1 0 1
11
e s 1s2
1 1 0
e vaut 0
e vaut 1
treillis de l algorithme
de decodage de viterbi
s 1s2
0 0
00
00
00
10
10
00
00
10
10
01
01
11
11
00
10
11
10
01
01
01
00
01
11
11
01
11
10
temps
Correction des codes convolutionnels
Erreurs de
transmission
Message
à coder
Codeur de
l’émetteur
Message
reconstitué
Message
reçu
Codeur du
récepteur
Algorithme de
génération
de message
Comparaison
Critère :
réduction de l ’écart
entre le message
reçu et le message
reconstitué
e
: 1, 0, 1, 1, 0, 1, 0, 0, 0, 0
Choix de la séquence d ’entrée
États : 00 01 10 01 11 10 01 10 00 00 00 de l ’automate du récepteur
s1s2 Émis :11,10,00,01,01,01,10,11,00,00 (algorithme de Viterbi)
Reçus :00,10,00,01,01,01,10,11,00,00
00
0
2
1
1
1
10
2
3
4
4
5
2
4
3
3
3
3
2
3
2
3
4
4
3
4
2
00
3
10
2
4
3
2
3
4
2
4
4
5
2
4
2
01
3
01
5
2
2
2
5
4
2
2
2
3
4
4
4
4
11
5
4
4
4
3
4
11
Turbocodes (C. Berrou 1993)
Code convolutionnel récursif
x
P
Permutation
par ex. aléatoire
y1
y2
Décodage des turbocodes
y’1
x’
Décodeur
(type viterbi)
Données reçues
P
Deux décodeurs identiques
(algo de Viterbi
+ probabilités conditionnelles)
Décodage itératif (turbo)
y’2
P -1
Décodeur
(type viterbi)
Performances proches de la borne de Shannon
(mais pas de preuve…)
Utilisation par la NASA et UMTS
Low Density Parity Check
Données transmises avec une probabilité d’erreur p et devant être corrigées
t
V(t)
C(k)
k
Valeurs des tests (non transmises) : doivent être égales à zéro s’il n’y a pas d’erreur
(les connexions sont connues du récepteur)
LDPC
Comme les valeurs tests doivent être nulles, il y a une redondance dans les données
transmises : un des v(t) est calculé de telle sorte que le XOR de tous les v(t) reliés à
un c(k) soit nul.
Un c(k) est calculé à partir de quelques v(t)
Parity
Check
Low
Density
Actualisation itérative (en boucle) des probabilités que les v(t) soit égaux à 0 ou 1
LDPC Belief Propagation
Nvc=Nv+Sc’≠c Mc’v
C’
(relié à V )
initialisation
C
V
V’
(relié à C )
Nvc =Nv= log [(1-p)/p]
Mcv=log
log de la vraisemblance
Pv’≠v tanh(Nv’c/2)
1-Pv’≠v tanh(Nv’c/2)
1+
ex-e-x
tanh(x)= ex+e-x
LDPC Belief Propagation (suite)
V
V’ intervenant
dans la mise à jour
de Mcv
C’ intervenant
dans la mise à jour
de V
C
Téléchargement