Y`(z)

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
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
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
t
0
4
0
8
0
1
2
0
7
L’information contenue
dans le message peut être récupérée
malgré une limitation en fréquence
3
.128
5
005
0
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
1
Y 
j
2j X 
1  a1e  a2 e
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
proba. d’erreur= 10-3
4
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 LH ( p)  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
Cryptographie
Clé secrète ; clé publique
RSA
D.E.S.
’’Rinjdael’’ (utilisation des calculs sur corps finis)
(http://csrc.nist.gov/CryptoToolkit/aes/rijndael/Rijndael.pdf)
Data Encryption Standard
Coupe 64=32*2bits
mélange
des données
d’un 1/2 paquet
(à partir d’une
clef de 64 bits)
16 fois
xor
Cryptographie RSA Rivest Shamir Adleman
A choisit deux nombres premiers PA et QA qu ’il garde secret
A calcule
qu ’il rend public
N A  PAQA
A
calcule FA ( N A )  ( PA 1)(QA 1) qu ’il garde secret
A choisit E A compris entre 2 et FA ( N A ) qu ’il rend public
A calcule DA : DA.EA  1mod FA ( N A ) qu ’il garde secret
Pour envoyer à A un message m
(E )
de longueur inférieure à N , B calcule c  m A mod N
Pour décoder le message c,
A calcule c
( DA )
 m( D A .E A ) mod N  m
B n ’a pas les informations pour calculer
DA
Compression de l ’information
Entropie de Shannon
Codage arithmétique
Codage de Lempel Ziv (GIF)
Codage de Huffman
SHANNON
Un message M de longueur L est composé de mots indépendants pris dans un
dictionnaire de K mots ayant chacun la probabilité pk (k=0, …, K-1)
On peut comprimer M en un message de taille LxH
Entropie
K 1
Exemple pour K=2
1
H   pk log 2
pk
k 0
H  [ p log 2 p  (1 p) log 2 (1 p)]
1
hm
0.5
0
.
0
0.25
0.5
0.75
1
pm
Codage arithmétique
Codage de Lempel Ziv (GIF)
Codage de Huffman
Regrouper les mots sous la forme d ’un arbre
de manière à équilibrer les probabilités de parcours
des branches
Construction de l ’arbre : regrouper les branches
dont les probabilités sont les plus faibles
a
1
0.40
b 001
0.18
c 011
0.10
d 0000
0.10
e 0100
0.07
f 0101
0.06
g
0.05 00010
h 00011
0.04
c
0.10
011
d
0.10
(ef)
0.13
010
(gh)
0.09
0001
(dgh)
0.9
000
a
0.40
1
b
0.18
001
(cef)
0.23
01
(bdgh)
0.37
00
Probabilité
du regroupement
racine
(cefbdgh)
0.60
0
CODE
DE LA
BRANCHE
Codage de Huffman
a
1
a
b
001
1
b
c
c
011
011
d
e
f
0000
d
010
(ef)
0101
000
(dgh)
00011
0
(cefbdgh)
00(bdgh)
g
h
001
01
(cef)
0100
00010
racine
0001
(gh)
Boucle du décodage
début à la racine ;
progression dans
le message jusqu’à
une feuille :
lettre décodée.
Transmission et Compression des signaux audio
Échantillonnage ; critère de Nyquist
Contrôle de la dynamique (loi m)
Codage différentiel ; modulation delta
Codage par prédiction linéaire
Codage MP3
Échantillonnage, quantification
Cadence d ’échantillonnage suffisamment élevée pour suivre
les variations rapides du signal
X(f)=0 pour |f |>1/2 fech Nyquist/Shannon
t  1 / f ech
Reconstruction idéale (en pratique interpolation)
sin  (t  nt )
x(t )   x(nt )
 (t  nt )
n
En général quantification sur 8 à 12 bits (10 bits = précision de 10-3)
Reconstruction idéale du signal analogique
x(t )  
k
sin
 (t  kt )
t
 (t  kt )
m( k )
t
Aux instants
d’échantillonnage
toutes les composantes
sont nulles sauf une
0
6
4
1
2
8
1
9
2
2
5
6
3
2
0
3
8
4
4
4
8
5
1
2
5
7
6
6
4
0
7
0
4
7
6
8
8
3
2
8
9
6
9
6
0
1
0
2
4
(En pratique interpolation plus simple)
Codage de la parole : différents débits en
fonction des applications et de la qualité acceptée
Codage à bas débit (moins de 15kbits/s) : prédiction linéaire
Codage à débit moyen : 16 à 32 kbits/s : modulation delta
Téléphonie : 8bits x 8000 éch./s = 64 kbits/s
Haute fidélité 16bits x 44100 éch./s = 700 kbits/
MP3 = 144 kbits/s
Téléphonie numérique
Échantillonnage à 8kHz quantification sur 8 bits
Réduire la dynamique
Loi « mu »
y  Q[log 2 (1  m.x)]
128
yx
0
 128
94.4
 128
38.8
0
x 128
72.4
128
128
Codage par modulation delta (parole)
pour les débits de 16à 32 kBits/s
Quantification de la différence
entre le signal et sa prédiction
e (t )
Analyse
+
x(t ) _
q
b e
k 1
k t k
e (t )
x(t )
q
x(t )  e t   bk e t k
Synthèse
k 1
Principe du codage MP3
Filtrage des signaux
dans différentes bandes
de fréquences
T.Cos et
codage(huf)
T. Cos et
codage
T. Cos et
codage
T. Cos et
codage
T. Cos et
codage
T. Fourier
Sélection des
canaux utiles
(effet de masquage
1er codage)
Phénomène de masquage (mp3)
80
80
x(n) = sinusoïde masquante
60
60
40
40
q(n) = sinusoïde masquée
20
20
0
0
0
5
10
15
0
5
10
15
120
100
Sx(f) = DSP du signal
80
60
40
Sm(f) = Seuil de masquage
20
0
0
5
10
Fréquences (kHz)
15
http://tsi.enst.fr/~moreau/activites_enseignement.html
Analyse par prédiction linéaire
Canal vocal
Impusions
(cordes vocales)
Bruit
(pour les
fricatives)
1
A( z )
Filtre récursif
dont la réponse en
fréquence est
celle du spectre
à court terme
Signal Synthétique
- Calcul de 11 coefficients de corrélation
sur une portion de 25 ms (200 échantillons)
199
rk   x(t ) x(t  k )
t 0
- Application de l ’algorithme de Levinson
pour obtenir les coefficients du filtre récursif
1
1

A( z ) 1  a(1) z 1    a(10) z 10
(sous la forme d ’un filtre en treillis)
- Transmission des coefficients et du signal
résiduel (erreur de prédiction) au récepteur
qui en déduit la synthèse du signal
1000
0
1000
2000
50
100
150
200
250
300
350
400
Réponse impulsionnelle
du filtre récursif
temps
Zéros de A(z)
(pôles de 1/A(z))
Réponse en fréquence
du filtre récursif
1.2
6
4
0
2
0
1.2
1.2
0
1.2
0
102.4
204.8
307.2
409.6
512
fréquence
Signal initial
598.31
Spectre du signal
résiduel
124.2
846.71
0
64
128
192
L
256
320
384
Signal
à coder
512 résiduel
576 640 704
768 832
448
960 1024
temps
- Recherche de la périodicité (pitch :
prédiction à long terme
on code x(t)-x(t-L) : estimer L
337.22
4.74
346.71
896
1617181920212223242526272829303132
temps
fréquence
- Quantification vectorielle
On découpe le signal en tronçons
comparaison à des formes de signal
mémorisées dont on transmet le numéro
+ transmission des coefficients du filtre
Codage des images fixes et animées
GIF = Lempel Ziv
JPEG Transformée en cosinus
MPEG 2 Compensation de mouvement
MPEG 4, ...
Information de quelques centaines
de milliers à plusieurs millions de pixels
débit 24 25 images par secondes
Chrominance :
rouge d ’une part
et bleu de l ’autre
débit de fois moindre
que la luminance
(vert+ rouge+bleu)
JPEG joint photography expert group
Transformée en cosinus et réduction de débiten transmission d ’images JPEG MPEG
N 1 N 1
1


X (u, v)  a (u )a (v)   x(m, n) cos[
(2m  1)u ] cos[
(2n  1)v]
N
2
N
2
N
m 0 n 0
1 N 1 N 1


x(m, n) 
a
(
u
)
a
(
v
)
X
(
u
,
v
)
cos[
(
2
m

1
)
u
]
cos[
(2n  1)v]

N u 0 v 0
2N
2N
Quantification et codage
de Huffman des X(u,v)
pour des médaillons NxN (N=8)
a (0)  2 ;
u  0 : a (u )  1
MPEG 2 DIVX
Moving picture expert group
Prédiction compensation de mouvement
médaillons 16x16
Recherche du médaillon ressemblant le plus au médaillon courant
dans l’image de référence mémorisée à la fois dans l’émetteur et dans le récepteur
1
2
1
3
4
2
3
5
4
6
7
8
9
B
C
5
A
D
6
7
8
Médaillon 9
mémorisé
le plus proche
9
Nouveau
médaillon
à coder
(position 7)
On code la
différence et on
la transmet ainsi
que le numéro 9
B
C
A
D
Téléchargement