Notions sur les transmissions numériques J. Le Roux www. essi 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 Importance de l’analyse en fréquence : Transformée de Fourier 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 Travaux dirigés sous la forme d’une simulation numérique d’une chaîne de transmission
Codage Cryptographie 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)
«Global System Mobile» 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) Canal de transmission Emetteur Récepteur Bruits, parasites... Déformation : filtrage écho, évanouissement...
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 Erreurs de transmission Le récepteur peut être perturbé par d’autres signaux Bases théoriques : signal (transformée de Fourier) et probabilités
Illustration des défauts apportés par un canal de transmission : Distorsion et bruit Signal émis distorsion 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
Exemple de déformation par un canal de transmission Signal émis Exemple de déformation par un canal de transmission et d’addition de bruit t Réponse impulsionnelle du canal de transmission Signal reçu déformé et bruité Signal déformé (convolution par la réponse impulsionnelle du canal) t t
Représentation dans le domaine des fréquences la transformée de Fourier outil fondamental pour de nombreux traitements et interprétations temps fréquences Temps continu Temps discret Filtrage, convolution Modulation
Transformée de Fourier discrète des signaux échantillonnés représentation complexe dans le domaine des fréquences Transformée inverse (retour dans le domaine temporel) 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
Transformée de Fourier discrète (module) Signal temporel : 32 données 32x16 échantillons (simulation du temps continu) Transformée de Fourier discrète (module) fech/2 fech Après recentrage Fréquences négatives Fréquences positives -fech/2 fech/2 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 temps 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 w.128 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 filtre non récursif Résonance, écho Atténuation sélective dans le domaine temporel dans le domaine fréquentiel
TF de l’entrée Réponse en fréquence du filtre TF de la sortie (produit) Retour au domaine temporel (TF inverse) 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 Filtrage passe bas
Modulation et démodulation d ’un signal complexe 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 Modification de la phase (ou de la fréquence) comparaison Oscillateur local
Transmission des signaux complexes Transformée de Hilbert Sélection de la partie réelle Modulation complexe Transmission des signaux complexes fréquentiel Temporel 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 Fréquences Deux signaux en bande de base Modulation par deux porteuses Émission Multiplexage en fréquence Démodulation par les deux porteuses Réception Filtrage passe bas 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 Plusieurs centaines de Mégabits/s 1 à 40 gigaherz Liaisons satellites Centaines de Mégabits/s 3 à 14 Gigahertz Stockage des informations CD 5 gigabits
Longueurs d’ondes en transmissions hertziennes Longueur d'onde Fréqu. domaine application myriamétriques très basses VLF Fréqu. vocales, fils élec. kilométriques basses LF radio grandes ondes câbles sous-marins hectométriques moyennes MF radio ondes moyennes câbles coaxiaux décamétriques hautes HF radio ondes courtes, radio maritime métriques très hautes VHF coms. mobiles, radio FM décimétriques ultra hautes UHF télévision centimétriques super hautes SHF communications microondes satellites, guides d'ondes millimétriques 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 foyer Modification de la forme pour améliorer la directivité (diagramme de rayonnement) 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 10 gigabits/s 100 gigabits/s Domaine de fréquence Longueur fréquence (Hertz) domaine > à 800 nm <7,5. à 3,75. Infrarouge 400 µm-800 nm 3,75. à 7,5. Visible < 400 nm > 7,5. Ultra-violet 0,3.nm Rayons X 0,1 pm R. gamma 10 gigabits/s 100 gigabits/s (multiplexage en longueur d’onde) É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 temps fréquence
Aux instants d’échantillonnage toutes les composantes sont nulles sauf une
Schéma d ’un système de transmisison Données à transmettre Données reçues Emetteur 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) Retrouver la phase de la porteuse ou le retard grâce à une boucle à verrouillage de phase Démodulation en phase avec l’émission Analyse de l ’interférence intersymboles compensation partielle (analogique) des défauts Filtrage passe bas Visualisation par le diagramme de l ’œil Échantillonnage Retrouver la phase de l ’horloge de l ’émetteur grâce à une boucle à verrouillage de phase Traitements numériques Compensation plus fine des défauts du canal Correction des erreurs de transmission
Compensations de défauts du canal de transmission Égalisation : Compensations de défauts du canal de transmission Le canal agit comme un filtre linéaire Trouver, à partir du signal reçu les caractéristiques du filtre inverse Données émises Données reçues Données modifiées Canal de transmission (filtre inconnu) Recherche des caractéristiques du canal
Compensation d ’un écho Filtre compensateur Fonction de transfert du canal temps Re fréquence Im
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 XOR codage y(t)=x(t).XOR.c(t) décodage x’(t)=y(t).XOR.c(t)=x(t)
Superposition de tronçons du signal pour construire le diagramme de l ’œil
Construction du diagramme de l’oeil
Instant d ’échantillonnage 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 5 10 15 20 25 30 35 -2 -1 1 2 Instant d ’échantillonnage
Instant d ’échantillonnage 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 Instant d ’échantillonnage
Différentes constellations PAM Pulse amplitude modulation AM-PM Amplitude-Phase modulation QAM Quadrature amplitude modulation PSK Phase shift keying BPSK Binary phase shift keying QPSK Quadrature phase shift keying
Quelques types de constellations PSK QAM QPSK AMP BPSK PAM
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 1
proba. d’erreur= 10-3 r=10 s=0.1 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 1 1 Probabilité d ’erreur Messages de longueur Il y a configurations possibles des erreurs (Shannon) Entropie
Les messages reçus possibles peuvent être décomposés en Messages informatifs Configurations des erreurs Capacité du canal Capacité nulle (que du bruit à la réception) (pas d ’erreurs) Capacité maximum
Rajout d ’une redondance pour corriger les erreurs Longueur du message informatif Longueur de la redondance (syndrome) il existe un moyen de coder les données pour corriger presque sûrement les erreurs de transmisson Shannon (1948) : si Turbocodes (C. Berrou, 1993)
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'. w v u 0 0 0 pas d'erreur 0 0 1 a’ faux 0 1 0 b’ faux 0 1 1 c’ faux 1 0 0 d’ faux 1 0 1 x’ faux 1 1 0 y’ faux 1 1 1 z’ faux Pour trouver l'erreur on calcule u=a'+c'+x'+z' v=b'+c'+y'+z' w=d'+x'+y'+z'
Justification 1 0 0 0 0 1 0 0 0 0 1 0 M=(a,b,c,d,x,y,z)T 0 0 0 1 Codage 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 1 1 1 1 0 1 1 1 1 0 1 Données à coder M=(a,b,c,d,x,y,z)T F=(a,b,c,d)T T= M=T.F
G vecteur d'erreur (zéro ou une composante non nulle) 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 0 1 1 0 0 1 1 0 0 0 1 1 1 1 T’= 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 d 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 g 0 0 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 b 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 a 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) Un peu plus compliqué : un entier = un polynôme N(z) à coefficients binaires opérations modulo un polynôme C(z) correctement choisi 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 Données utiles Redondantes (2t) mises à zéro On émet le message Générateur du corps fini (tout nombre du corps peut se mettre sous la forme ) Equivalence avec la Transformée de Fourier On associe à chaque mot du message une ``sinusoïde’’ de fréquence et d ’amplitude
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 Message à transmettre X Erreur de transmission Eq. Lin (Berlekamp Massey) Message émis (TF de X) TF inv. du message reçu (syndrome) Message reçu : Y+erreur Après soustraction on retrouve le message à transmettre
Reed Solomon : correction des erreurs transmission (syndrome) ‘‘signature de l’erreur’’ Résolution d ’une équation de convolution 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 (t) 1 xor e(t-1) e(t- 2) e(t) xor s (t) 2
Représentation de l ’émetteur sous la forme d ’un automate 0 0 0 s s 1 2 s s e 1 1 1 1 2 01 00 e 1 0 0 s s 1 2 e 0 1 1 s s 1 2 e 1 0 1 s s 1 2 e 0 1 0 s s 1 2 10 11 e 0 0 1 s s 1 2 s s e 1 1 0 1 2
s s e vaut 0 e vaut 1 treillis de l algorithme de decodage de viterbi 0 0 1 2 00 00 00 00 00 00 10 10 11 10 10 10 10 État de l’automate 01 01 01 01 01 00 01 01 11 11 11 11 11 10 temps
Correction des codes convolutionnels Erreurs de transmission Message à coder Codeur de l’émetteur Message reçu Comparaison Message reconstitué Codeur du récepteur Critère : réduction de l ’écart entre le message reçu et le message reconstitué Algorithme de génération de message
s s e : 1, 0, 1, 1, 0, 1, 0, 0, 0, 0 Choix de la séquence d ’entrée de l ’automate du récepteur (algorithme de Viterbi) États : 00 01 10 01 11 10 01 10 00 00 00 s s Émis :11,10,00,01,01,01,10,11,00,00 Reçus :00,10,00,01,01,01,10,11,00,00 1 2 1 1 2 3 4 4 5 2 2 00 00 4 3 3 3 3 2 4 3 2 1 3 2 3 4 4 3 10 10 2 4 3 2 3 4 2 2 4 4 5 2 4 3 01 01 5 2 2 2 5 4 4 4 2 2 2 3 4 4 11 11 5 4 4 4 3 4
Turbocodes (C. Berrou 1993) Code convolutionnel récursif x y P Permutation par ex. aléatoire y 2
Décodage des turbocodes y’ 1 x’ Décodeur (type viterbi) Données reçues P y’ 2 Décodeur (type viterbi) Deux décodeurs identiques (algo de Viterbi + probabilités conditionnelles) Performances proches de la borne de Shannon (mais pas de preuve…) Décodage itératif (turbo) 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’ 1+Pv’≠v tanh(Nv’c/2) (relié à C ) Mcv=log 1-Pv’≠v tanh(Nv’c/2) ex-e-x Nvc =Nv= log [(1-p)/p] log de la vraisemblance 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