Utilisation d un code de Hamming pour corriger des erreurs en rafale

Documents pareils
I. TRANSMISSION DE DONNEES

Les opérations binaires

STRICTEMENT CONFIDENTIEL

Télécommunications. Plan

Signalisation, codage, contrôle d'erreurs


Définition 0,752 = 0,7 + 0,05 + 0,002 SYSTÈMES DE NUMÉRATION POSITIONNELS =

IFT2880 Organisation des ordinateurs et systèmes

ASR1 TD7 : Un microprocesseur RISC 16 bits

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

Représentation des Nombres

Une version javascript sera disponible directement dans le cours prochainement.

MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C

Introduction à l étude des Corps Finis

Exercices - Polynômes : corrigé. Opérations sur les polynômes

Atelier C TIA Portal CTIA04 : Programmation des automates S7-300 Opérations numériques

Notes du cours MTH1101 Calcul I Partie II: fonctions de plusieurs variables

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

Conversion d un entier. Méthode par soustraction

Assembleur i8086. Philippe Preux IUT Informatique du Littoral. Année universitaire 95 96

Fonction inverse Fonctions homographiques

Université Montpellier II Sciences et Techniques du Languedoc MÉMOIRE DE STAGE DE MASTER M2

Amphi 3: Espaces complets - Applications linéaires continues

V- Manipulations de nombres en binaire


Chapitre 10 Arithmétique réelle

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

Pour l épreuve d algèbre, les calculatrices sont interdites.

ALGORITHMIQUE II NOTION DE COMPLEXITE. SMI AlgoII

Codage hiérarchique et multirésolution (JPEG 2000) Codage Vidéo. Représentation de la couleur. Codage canal et codes correcteurs d erreur

Cours de mathématiques

Groupe symétrique. Chapitre II. 1 Définitions et généralités

Exercices - Fonctions de plusieurs variables : corrigé. Pour commencer

USTL - Licence ST-A 1ère année Codage de l information TP 1 :

Introduction à l algorithmique et à la programmation (Info 2)

SYSTEME DE PALPAGE A TRANSMISSION RADIO ETUDE DU RECEPTEUR (MI16) DOSSIER DE PRESENTATION. Contenu du dossier :

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

La question est : dans 450 combien de fois 23. L opération est donc la division. Le diviseur. Le quotient

Calculabilité Cours 3 : Problèmes non-calculables.

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

ÉPREUVE COMMUNE DE TIPE Partie D

Correction du baccalauréat S Liban juin 2007

Cours Informatique 1. Monsieur SADOUNI Salheddine

Chapitre 2 : communications numériques.

Polynômes à plusieurs variables. Résultant

Al attention du praticien et des étudiants, nous avons développé

Quelques tests de primalité

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

Suites numériques 4. 1 Autres recettes pour calculer les limites

I. Polynômes de Tchebychev

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

Bases de programmation. Cours 5. Structurer les données

PocketNet SNMP/Modbus

a) b)

CH.6 Propriétés des langages non contextuels

La Licence Mathématiques et Economie-MASS Université de Sciences Sociales de Toulouse 1

TD 1 - Transmission en bande de passe

DU BINAIRE AU MICROPROCESSEUR - D ANGELIS CIRCUITS CONFIGURABLES NOTION DE PROGRAMMATION

Le codage informatique

Latitude N Longitude E Altitude 376 m RÉSUMÉ MENSUEL DU TEMPS DE JANVIER 2014

Cryptologie et physique quantique : Espoirs et menaces. Objectifs 2. distribué sous licence creative common détails sur

Nombres premiers. Comment reconnaître un nombre premier? Mais...

Informatique Générale

Ell-Cam Serrure électronique

Rappels d architecture


IFT1215 Introduction aux systèmes informatiques

VILLE d Aix-en-Provence - Analyse 2014

Chapitre 2. Eléments pour comprendre un énoncé

TP 1 : 1 Calculs en binaire, octal et hexadécimal

Table des matières. Avant-propos. Chapitre 2 L actualisation Chapitre 1 L intérêt Chapitre 3 Les annuités III. Entraînement...

Etude de fonctions: procédure et exemple

Probabilités sur un univers fini

RÉSEAUX INFORMATIQUES, MODÈLE OSI ET PROTOCOLE TCP/IP

Claude Delannoy. 3 e édition C++

1 Introduction au codage

INTRODUCTION. 1 k 2. k=1

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

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Structure du format BMP, sa lecture, sa construction et son écriture

Architecture de l ordinateur

Extrait du poly de Stage de Grésillon 1, août 2010

108y= 1 où x et y sont des entiers

ET LO GICIEL D UN S YS T EME IN FORMATIQUE

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

Conservation des documents numériques

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

Mathématiques Algèbre et géométrie

6. Hachage. Accès aux données d'une table avec un temps constant Utilisation d'une fonction pour le calcul d'adresses

Commun à tous les candidats

Coefficients binomiaux

1.1 Codage de source et test d hypothèse

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

SITUATION FINANCIERE DE LA COMMUNE DE MONT DE LANS. Réunion Publique du 6 Aout 2015

Représentation d un entier en base b

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

Projet Matlab : un logiciel de cryptage

Algorithmique et Programmation, IMA

Chapitre VI - Méthodes de factorisation

Une forme générale de la conjecture abc

Transcription:

Utilisation d un code de Hamming pour corriger des erreurs en rafale Caractères Code ASCII En rouge: les bits de contrôle H a m i n ordre de transmission des bits g c o d e IFT2/IFT2 Hiver 2

Codes correcteurs d erreurs distance de Hamming: un exemple 2 Codes avec un bit de parité Distance de Hamming de 2: chaque code valide diffère d au moins 2 bits ne peut pas détecter les erreurs de 2 bits: le code résultant corrompu correspond à un code valide IFT2/IFT2 Hiver 2

Codes correcteurs d erreurs: définitions Erreur la plus simple à détecter: erreur sur un bit isolé. Distance de Hamming permet d identifier le bit erronné. Code: k bits de données, n bits au total code (n,k) Taux de codage efficacité du code ratio k / n Redondance k / n Codes de Hamming: surtout utilisées dans les applications qui ont des erreurs isolées sur un seul bit, e.g., les systèmes de mémoire des semi-conducteurs Codes les plus utilisées dans les transmissions de données: les codes convolutionnels IFT2/IFT2 Hiver 2

IFT2/IFT2 Hiver 2 4 Codes de Hamming: un exemple x x x x 2 4 5 9 2 + 2 2 2 + 2 2 2 + 2 + 2 2 + 2 + 2 Considérer les bits de données égaux à, et considérer la représentation en base deux de leurs indices Le code transmis est 2 4 5 9

Codes de Hamming: un exemple (suite ) 5 Code transmis 9 5 4 2 Vérification : considérer les bits de données et de contrôle qui sont égaux à : calculer leur représentation en base 2 2 + 2 + 2 2 2 2 + 2 + 2 2 2 + 2 2 + 2 2 la somme est égale à pas d erreur de transmission IFT2/IFT2 Hiver 2

Codes de Hamming: un exemple (suite 2) Code transmis : erreur de transmission sur le bit # 9 5 4 2 Vérification : considérer les bits de données et de contrôle qui sont égaux à : calculer leur représentation en base 2 2 2 2 + 2 + 2 2 2 + 2 2 + 2 2 Identification du bit erroné 2 + 2 + 2 soit en base 2! IFT2/IFT2 Hiver 2

Codes de Hamming: un exemple (suite ) Code transmis : 2 erreurs de transmission sur les bits # et # 9 5 4 2 Vérification : considérer les bits de données et de contrôle qui sont égaux à : calculer leur représentation en base 2 2 2 2 + 2 2 + 2 2 identification d au moins erreur de transmission pas de possibilité d identifier les bits erronés pas possible d identifier les erreurs de transmission sur plus que 2 bits IFT2/IFT2 Hiver 2

Contrôle de redondance cyclique (CRC) Cyclic Redundancy Code Traite le bloc de données comme un énorme nombre binaire Division du nombre binaire par un autre nombre fixé à l avance Reste de la division valeur du CRC Récepteur refait le calcul avec le même diviseur: comparaison de sa valeur avec le CRC reçu Effet de chaque bit du bloc de données est différent sur le résultat final à cause de sa position dans le dividende IFT2/IFT2 Hiver 2

Contrôle de redondance cyclique (CRC) Cyclic Redundancy Code 9 Division appliquée sur un bloc de données considéré comme un nombre Format du bloc de données Dividende Diviseur Quotient Reste <42><C><F><> Hexadécimal <D> <59F9> <2> <42CF> <><><><> Binaire <> <> <> <> IFT2/IFT2 Hiver 2

Contrôle de redondance cyclique (CRC) Cyclic Redundancy Code Arithmétique modulo 2 : exécuter les calculs (addition et soustraction) en négligeant la retenue ou l emprunt OU exclusif Opération réversible : si on applique le deuxième opérande sur le résultat de la première opération Négliger la notion de grandeur après le bit le plus significatif > mais n est pas plus grand que : + (on oublie les retenues) (on oublie les emprunts) Observation : Effectuer la division lorsque le nombre divisé et le diviseur sont de la même grandeur IFT2/IFT2 Hiver 2

IFT2/IFT2 Hiver 2 Contrôle de redondance cyclique (CRC) Cyclic Redundancy Code Division en arithmétique modulo-2 Quotient Diviseur reste (divise) (divise) (ne divise pas) (ne divise pas) (divise) Dividende

Méthode de calcul du CRC 2 Émetteur M(x) polynôme associé au bloc de données. Bits sont les coefficients du polynôme. Dividende M(x). Diviseur : polynôme de contrôle G(x). Bloc M(x) est augmenté de r degré(g(x)) zéros M (x) 2 r M(x) Division : 2 r M(x) / G(x) arithmétique modulo 2 2 r M(x) Q(x) G(x) + R(x) 2 r M(x) / G(x) Q(x) + R(x) / G(x) T(x) bloc transmis R(x) 2 r M(x) T(x) est divisible par G(x) : T(x)/G(x) (R(x) 2 r M(x)) / G(x) Q(x) R(x)/G(x) R(x)/G(x) Q(x) Récepteur Calculer le CRC du bloc transmis T(x) / G(x) Si le reste est égal à : pas d erreur de transmission IFT2/IFT2 Hiver 2

Calcul de la valeur du CRC pour un bloc de données ÉMETTEUR RÉCEPTEUR - - - - - - - - - - ------------------------------- - - - - - - - - - - ------------------------------- pas d erreur! M(x) C(x) x 4 + x + 2 4 M(x) R(x) 2 4 M(x) D(x) T(x) IFT2/IFT2 Hiver 2

Calcul de la valeur du CRC pour un bloc de données 4 ÉMETTEUR RÉCEPTEUR - - - - - - - - - - ------------------------------- - - - - - - - - - - ------------------------------- Question Quese passet-ilsi E(x)? erreur de transmission M(x) C(x) x 4 + x + 2 4 M(x) R(x) 2 4 M(x) D(x) T(x) IFT2/IFT2 Hiver 2

Polynômes de contrôle et CRC 5 CRC Polynôme de contrôle CRC- x + x 5 + x 2 + CRC-2 x 2 + x + x + x 2 + x + CRC- x + x 5 + x 2 + CRC-CCITT x + x 2 + x 5 + CRC-2 x 2 + x 2 + x 2 + x 22 + x + x 2 + x + x + x + x + x 5 + x 4 + x 2 + x + IFT2/IFT2 Hiver 2

Taux de détection des erreurs avec un CRC sur bits Type d erreur Sur bit Sur 2 bits Nombre impair de bits Suite de bits ou moins Suite de bits Suite de bits ou plus Taux de détection % % % % 99,99 % 99,99 % IFT2/IFT2 Hiver 2