ELE1300 Circuits logiques. Codes et contrôle des erreurs

Documents pareils
Architecture de l ordinateur

Microprocesseur + Logiciel

Electronique Numérique

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

Informatique Générale

ET LO GICIEL D UN S YS T EME IN FORMATIQUE

Codage d information. Codage d information : -Définition-

Intégrité, signature et processus d'archivage

BTS Groupement A. Mathématiques Session Spécialités CIRA, IRIS, Systèmes électroniques, TPIL

ASR1 TD7 : Un microprocesseur RISC 16 bits

Conversion d un entier. Méthode par soustraction

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

Communications numériques

Jeux de caracte res et encodage (par Michel Michaud 2014)

TP Codage numérique des caractères. Un ordinateur ne manipule que des 0 et des 1 : Comment alors code-t-il du texte?

Partie 1. Professeur : Haouati Abdelali. CPGE Lycée Omar Ibn Lkhattab - Meknès haouaticpge@gmail.com

Stage d informatique pour l ingénieur

FONCTION COMPTAGE BINAIRE ET DIVISION DE FRÉQUENCE

I.1- DÉFINITIONS ET NOTIONS DE BASE

Représentation des Nombres

Anis ASSÈS Mejdi BLAGHGI Mohamed Hédi ElHajjej Mohamed Salah Karouia

Stage d informatique pour l ingénieur


Université de La Rochelle. Réseaux TD n 6

1 Introduction au codage

Une version javascript sera disponible directement dans le cours prochainement.

I- Définitions des signaux.

Les opérations binaires

CODAGE DES SMS. 2 Commandes «AT» 25 3 Matériels utilisés 55 4 Interfacer un téléphone GSM 73 5 Réalisations électroniques 101

DM 1 : Montre Autoquartz ETA

Langage Éric Guérin 5 octobre 2010

Le codage informatique

Base de l'informatique. Généralité et Architecture Le système d'exploitation Les logiciels Le réseau et l'extérieur (WEB)

Logiciel de Base. I. Représentation des nombres

Techniques de stockage. Techniques de stockage, P. Rigaux p.1/43

GPA770 Microélectronique appliquée Exercices série A

Étude des Corrélations entre Paramètres Statiques et Dynamiques des Convertisseurs Analogique-Numérique en vue d optimiser leur Flot de Test

IFT2880 Organisation des ordinateurs et systèmes

Comme chaque ligne de cache a 1024 bits. Le nombre de lignes de cache contenu dans chaque ensemble est:

Système binaire. Algèbre booléenne

Signalisation, codage, contrôle d'erreurs

Langages et Concepts de Programmation Introduction à la programmation en langage C

Chapitre 1 I:\ Soyez courageux!

Théorie et Codage de l Information (IF01) exercices Paul Honeine Université de technologie de Troyes France

Transmission de données. A) Principaux éléments intervenant dans la transmission

Architecture matérielle des systèmes informatiques

Activité 1. Compter les points Écriture binaire des nombres. Résumé. Liens pédagogiques. Compétences. Âge. Matériel

Encoder Encoder 1 sur 15. Codification fil par étage 15 étages max. + 2 flèches + signal de mouvement. Raccordements 0.1 mm²...

Expérience 3 Formats de signalisation binaire

Représentation d un entier en base b

Transmissions série et parallèle

Algorithme. Table des matières

DÉRIVÉES. I Nombre dérivé - Tangente. Exercice 01 (voir réponses et correction) ( voir animation )

INTRODUCTION A L ELECTRONIQUE NUMERIQUE ECHANTILLONNAGE ET QUANTIFICATION I. ARCHITECTURE DE L ELECRONIQUE NUMERIQUE

Informatique : Création de site Web Master 2 ANI TP 1

MegaStore Manager ... Simulation de gestion d un hypermarché. Manuel du Participant

TO4T Technologie des ordinateurs. Séance 1 Introduction aux technologies des ordinateurs

TD 1 - Transmission en bande de passe

ELP 304 : Électronique Numérique. Cours 1 Introduction

Les réseaux cellulaires

Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34

Systèmes de transmission

ISO/CEI NORME INTERNATIONALE

Enregistrement et transformation du son. S. Natkin Novembre 2001

NanoSense. Protocole Modbus de la sonde Particules P4000. (Version 01F)

Théorie et codage de l information

Cours Informatique 1. Monsieur SADOUNI Salheddine

Solutions web : instructions aux développeurs

REALISATION D UNE CALCULATRICE GRACE AU LOGICIEL CROCODILE CLIPS 3.

J AUVRAY Systèmes Electroniques TRANSMISSION DES SIGNAUX NUMERIQUES : SIGNAUX EN BANDE DE BASE

IFT1215 Introduction aux systèmes informatiques

La mémoire. Un ordinateur. L'octet. Le bit

CCP PSI Mathématiques 1 : un corrigé

Une introduction aux codes correcteurs quantiques

Etudier l influence de différents paramètres sur un phénomène physique Communiquer et argumenter en utilisant un vocabulaire scientifique adapté

Licence Sciences, Technologies, Santé Mention Informatique Codage de l'information

ProCod. Manuel d utilisation. Software de programmation pour codeurs absolus TWK modèles CRF et DAF CRF DF 08 / 10

TD : Codage des images

Dérivation : Résumé de cours et méthodes

Systèmes de communications numériques 2

Travail d intérêt personnel encadré : La cryptographie

Série D65/D75/D72 Afficheurs digitaux modulaires

Algèbre binaire et Circuits logiques ( )

Chapitre 10 Arithmétique réelle

Protocoles réseaux. Abréviation de Binary Digit. C'est la plus petite unité d'information (0, 1).

Programmation C. Apprendre à développer des programmes simples dans le langage C

Les portes logiques. Voici les symboles des trois fonctions de base. Portes AND. Portes OR. Porte NOT

Comment rédiger r une bibliographie? BULCO-Méthodologie documentaire-bibliographie-2010

Logique binaire. Aujourd'hui, l'algèbre de Boole trouve de nombreuses applications en informatique et dans la conception des circuits électroniques.

Cryptographie et fonctions à sens unique

QUESTION 1 {2 points}

LA DÉMARCHE DE VEILLE S.A. MARCHAND PREMIERE PARTIE : AUDIT SUR LA COMMUNICATION INTERNE

NOTIONS DE RESEAUX INFORMATIQUES

2-2. Dimensions externes 113±0.2 P P R±??? 3. FONCTIONS ET TERMINOLOGIE. Sortie prédéfinie. Sortie arrêt du vérin. Type de sortie prédéfinie

La conversion de données : Convertisseur Analogique Numérique (CAN) Convertisseur Numérique Analogique (CNA)

TP Modulation Démodulation BPSK

Conception de circuits numériques et architecture des ordinateurs

Intensité sonore et niveau d intensité sonore

Transcription:

ELE1300 Circuits logiques

Les codes représentatifs Qu est-ce que le code? Un code est une règle pour convertir de l'information (mot, image...) sous une autre forme de représentation. On utilise des codes au quotidien (alphabet, chiffres) En quoi les codes représentatifs sont représentatifs? On va appeler code représentatif un code qui ne renvoie pas à une valeur numérale. Un exemple commun: la représentation de l alphabet 2

Code Ascii Le Code ASCII (acronyme de Américan Standard Code for Information Interchange) est l un des plus anciens et certainement code représentatif. Dans sa première version, le code Ascii comportait 7 bits. Il fut ensuite élargi à 8 bits. Il est largement supplanté aujourd hui par des codes plus modernes comme le code Unicode (16 bits) 3

Le code Ascii ( ) L \ H 0 1 2 3 4 5 6 7 0 NUL DLE SP 0 @ P ` p 1 SOH DC1! 1 A Q a q 2 STX DC2 " 2 B R b r 3 ETX DC3 # 3 C S c s 4 EOT DC4 $ 4 D T d t 5 ENQ NAK % 5 E U e u 6 ACK SYN & 6 F V f v 7 BEL ETB ' 7 G W g w 8 BS CAN ( 8 H X h x 9 HT EM ) 9 I Y i y A LF SUB * : J Z j z B VT ESC + ; K [ k { C FF FS, < L \ l D CR GS - = M ] m } E SO RS. > N ^ n ~ F SI US /? O _ o DEL 4

Code BCD Le Code BCD (acronyme de Binary Coded Decimal) est très répandu pour représenter les chiffres décimaux. Une façon simple de procéder : représenter chaque chiffre par le code binaire à 4 bits qui lui est associé (code BCD 8421) : 0000 0 0101 5 0001 1 0110 6 0010 2 0111 7 0011 3 1000 8 0100 4 1001 9 5

Code BCD ( ) Comment représenter un nombre en code BCD 8421? On associe à chaque chiffre le code binaire correspondant: 125 : 0001 0010 0101 : 000100100101 105 : 0001 0000 0101 : 000100000101 536 : 0101 0011 0110 : 010100110110 749 : 0111 0100 1001 : 011101001001 6

Code de Gray Problématique : (CAS IDÉAL) v 2 (t) v 1 (t) v 0 (t) Nombre observé : 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 000 001 010 011 100 101 110 111 t t t 7

Code de Gray ( ) Problématique ( ) : (CAS RÉEL) v 2 (t) 0 0 0 0 1 1 1 1 v 1 (t) 0 0 1 1 0 0 1 1 v 0 (t) 0 1 0 1 0 1 0 1 Nombre observé : 000 001 010 011 100 101 110 111 011 111 101 111 8

Code de Gray ( ) Le problème vient du fait que dans la représentation usuelle des nombres, il arrive que deux bits ou plus changent de valeur en même temps. Frank Gray (Bell Labs) propose au début des années 1950 une solution : celle d un code où les transitions d un nombre au suivant n impliquent le changement que d un seul bit à la fois. Le code de Gray est ainsi né 9

Code de Gray ( ) Solution : (CAS RÉEL) v 2 (t) v 1 (t) v 0 (t) Nombre observé : 0 0 0 0 1 1 1 1 0 0 1 1 1 1 0 0 0 1 1 0 0 1 1 0 000 001 011 010 110 111 101 100 t t t 10

Code de Gray ( ) Il est possible de construire le code de Gray de façon itérative : debut 0 1 des 0 des 1 Itération 1 Itération 2 0 0 0 1 1 1 1 0 résultat précédent mirroir des 0 des 1 0 00 0 01 0 11 0 10 1 10 1 11 1 01 1 00 résultat précédent mirroir 11

Détection et correction d erreurs Problème de base en communication : v(t) v(t) + BRUIT ÉMETTEUR CANAL RÉCEPTEUR BRUIT 12

Détection et correction d erreurs ( ) Problème de base en communication ( ) : 1 0 1 0 0 1 0 1 0 0 t t 1 0 1 0 1 1 0 0 0 0 ERREUR ERREUR 13

Détection et correction d erreurs ( ) Notion de distance de Hamming : J envoie Je reçois Est-ce? 0 1 0? 1? 00 10 00? 10? 11? 000 001 000? 001? 010? 100? 14

Détection et correction d erreurs ( ) La réponse serait peut-être évidente si certains mots étaient impossibles dans un code: Code : {000,011,101,110} Mots impossibles : {001,010,100,111} J envoie Je reçois Erreur? 000 001 OUI 000 010 OUI 000 100 OUI 000 000 NON 011 010 OUI 011 001 OUI 011 111 OUI 011 011 NON 15

Détection et correction d erreurs ( ) Remarque : C est le fait qu on ne trouve pas deux mots du code qui soient différents par un seul bit qui permet de détecter l erreur sur un bit 2 bits diff. 000 011 2 bits diff. 2 bits diff. 101 110 2 bits diff. 16

Distance de Hamming La distance de Hamming qui sépare deux mots est le nombre de bits différents entre le premier mot et le second. 0000 <> 0010 m = 1 0000 <> 0011 m = 2 0101 <> 1010 m = 4 0101 <> 0010 m = 3 0101 <> 1110 m =? 1101 <> 1010 m =? 0111 <> 0110 m =? 0100 <> 0010 m =? 17

Comment détecter, et corriger Théorie de la détection d erreurs C + D = M 1 où C < D C : Nombre de bits erronés pouvant être corrigé D : Nombre de bits erronés pouvant être détectés M : Distance minimale entre deux codes C < D : Il faut pouvoir détecter une erreur avant de la corriger 18

Codes et détection d erreur 1. Bit de parité (vu précédemment) b b b b b p n n-1 3 2 1 n bits d information bit de parité Assure d avoir M = 2 C + D = 2 1=1 où C < D => D=1 C=0 Il est possible de détecter une erreur, mais impossible de la corriger 19

Codes correcteurs d erreurs 2. parité orthogonale INFORMATION : 1 1 0 1 1 1 1 0 0 0 0 0 1 1 0 0 1 1 1 1 1 0 0 1 0 0 0 0 1 0 1 0 BITS ÉMIS : 1 1 0 0 1 1 1 1 1 0 0 1 0 0 0 0 1 0 1 0 20

Codes correcteurs d erreurs 2. parité orthogonale ( ) Assure d avoir M = 3 C + D = M 1 = 3 1= 2 où C < D => D=2 C=0 ou D=1 C=1 Il est possible de détecter une erreur et de la corriger; Il est possible de détecter deux erreurs, mais impossible de les corriger 21

Codes correcteurs d erreurs 2. parité orthogonale ( ) BITS ÉMIS : 1 1 0 0 1 1 1 1 1 0 0 1 0 0 0 0 1 0 1 0 BITS REÇUS : 1 1 0 0 1 0 1 1 1 0 0 1 0 0 0 0 1 0 1 0 Vérification : 1 1 0 0 1 0 1 1 PARITÉ NON VÉRIFIÉE 1 0 0 1 L ERREUR EST CORRIGIBLE 0 0 0 0 1 0 1 0 PARITÉ NON VÉRIFIÉE 22

Codes correcteurs d erreurs 3. Code de Hamming ( ) Information (4 bits) : Bits de parité (3 bits) : b4 b3 b2 b1 p3 p2 p1 Disposition des bits après le codage (7 bits) : 7 6 5 4 3 2 1 b4 b3 b2 p3 b1 p2 p1 Le but du code de Hamming est que la vérification des bits de parité permettent d identifier la position d une erreur de transmission dans le cas d une seule et unique erreur. Les bits de parité p3, p2 et p1 sont le résultat d un calcul de parité avec les autres bits : POSITION le bit de parité p 1 est associé aux bits d information b 1, b 2 et b 4 le bit de parité p 2 est associé aux bits d information b 1, b 3 et b 4 le bit de parité p 3 est associé aux bits d information b 2, b 3 et b 4 23

Codes correcteurs d erreurs 3. Code de Hamming ( ) Assure d avoir M = 3 C + D = 3 1=0 où C < D => D=2 C=1 ou D=1 C=1 Il est possible de détecter une erreur et de la corriger; Il est possible de détecter deux erreurs, mais impossible de les corriger 24

Codes correcteurs d erreurs 3. Code de Hamming ( ) ' ' ' ' ' ' ' Mot de code reçu (7 bits) : b4 b3 b2 p3 b1 p2 p1 Vérification : 7 6 5 4 3 2 1 POSITION (Hypothèse : aucune ou une seule erreur) c c 3 1 ' ' ' ' 0, si la parité de b b b p est vérifiée 4 3 2 3 1, autrement ' ' ' ' 0, si la parité de b b b p est vérifiée 4 2 1 1 1, autrement c 2 ' ' ' ' 0, si la parité de b b b p est vérifiée 4 3 1 2 1, autrement On peut démontrer que : c c c 3 2 1 position de l'erreur, s'il y a une erreur 2 0 0 0, s'il n'y a aucune erreur 25

Codes correcteurs d erreurs 3. Code de Hamming ( ) Exemple : INFORMATION À TRANSMETTRE : 0 1 1 0 BITS ÉMIS : 0 1 1 0 0 1 1 BITS REÇUS : 7 6 5 4 3 2 1 POSITION 0 1 0 0 0 1 1 VÉRIFICATION : c 3 = 1, c 2 = 0, c 1 = 1 CONCLUSION : c 3 c 2 c 1 = 101 Dans l hypothèse où il n y a qu une seule erreur, elle est à la position 101 (2) = 5 dans le bloc binaire reçu BLOC CORRIGÉ : 0 1 1 0 0 1 1 26

Codes correcteurs d erreurs 3. Code de Hamming ( ) Positions des bits 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Bits de données p1 p2 d1 p4 d2 d3 d4 p8 d5 d6 d7 d8 d9 d10 d11 p16 d12 d13 d14 d15 p1 x x x x x x x x x x Couverture du bit de parité p2 x x x x x x x x x x p4 x x x x x x x x x p8 x x x x x x x x p16 x x x x x Par exemple, dans l hypothèse ou 1 seul bit est erroné, si les bits de parité p2 et p8 indiquent une erreur (parités non-vérifiées), alors on en déduit que le bit 10 (d6) est inversé. 27

Codes correcteurs d erreurs Le code de Hamming et le code par parité orthogonale sont des codes correcteur d erreurs. Il en existe d autres (Reed- Solomon, Codes convolutionnels, ). L information rajoutée qui rapporte: La correction d erreurs de 1-bit est souvent moins couteuse qu une retransmission Lorsque les données sont emmagasinées en mémoire, la correction d erreur permet d éviter la corruption des données pouvant mener à des pannes dans un programme (crash). 28