Un exemple de détection d erreurs. Exemples

Documents pareils
Théorie et codage de l information

Conversion d un entier. Méthode par soustraction

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

Une introduction aux codes correcteurs quantiques

RÉPUBLIQUE ET CANTON DE GENÈVE Echelle des traitements 2015 Valable dès le Office du personnel de l'etat Indexation de 0.

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

LES TYPES DE DONNÉES DU LANGAGE PASCAL

Chap17 - CORRECTİON DES EXERCİCES

Transmission d informations sur le réseau électrique

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

Projet Matlab : un logiciel de cryptage

Exo7. Calculs de déterminants. Fiche corrigée par Arnaud Bodin. Exercice 1 Calculer les déterminants des matrices suivantes : Exercice 2.

ASR1 TD7 : Un microprocesseur RISC 16 bits

IFT2880 Organisation des ordinateurs et systèmes

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

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

Bases de données documentaires et distribuées Cours NFE04

TP1 Méthodes de Monte Carlo et techniques de réduction de variance, application au pricing d options

Correction TD algorithmique

TS 35 Numériser. Activité introductive - Exercice et démarche expérimentale en fin d activité Notions et contenus du programme de Terminale S

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

Exo7. Matrice d une application linéaire. Corrections d Arnaud Bodin.

L ANALYSE EN COMPOSANTES PRINCIPALES (A.C.P.) Pierre-Louis GONZALEZ

Représentation d un entier en base b

Circuits RL et RC. Chapitre Inductance

DM 1 : Montre Autoquartz ETA

Les opérations binaires

INF 232: Langages et Automates. Travaux Dirigés. Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies

Chap III : Les tableaux

Algorithme. Table des matières

Représentation des Nombres

L exclusion mutuelle distribuée

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

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

Formules et Approches Utilisées dans le Calcul du Coût Réel

Chapitre 10 Arithmétique réelle

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

Bien lire l énoncé 2 fois avant de continuer - Méthodes et/ou Explications Réponses. Antécédents d un nombre par une fonction

Les emprunts indivis. Administration Économique et Sociale. Mathématiques XA100M

Cours Informatique 1. Monsieur SADOUNI Salheddine

Informatique Générale

TD : Codage des images

module Introduction aux réseaux DHCP et codage Polytech / 5

I- Définitions des signaux.

3. Conditionnement P (B)

Expérience 3 Formats de signalisation binaire

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

Programmation linéaire

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

IMAGES NUMÉRIQUES MATRICIELLES EN SCILAB

Tests paramétriques de comparaison de 2 moyennes Exercices commentés José LABARERE

ELEC2753 Electrotechnique examen du 11/06/2012

Objets Combinatoires élementaires

Guide de configuration d'une classe

Equations cartésiennes d une droite

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

Items étudiés dans le CHAPITRE N5. 7 et 9 p 129 D14 Déterminer par le calcul l'antécédent d'un nombre par une fonction linéaire

Définitions. Numéro à préciser. (Durée : )

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

Chapitre 6. Fonction réelle d une variable réelle

Chapitre 2 : communications numériques.

Le syndrome du nouveau patron. Le syndrome du nouveau patron illustré

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

OLYMPIADES ACADEMIQUES DE MATHEMATIQUES. 15 mars 2006 CLASSE DE PREMIERE ES, GMF

Activité 4. Tour de cartes Détection et correction des erreurs. Résumé. Liens pédagogiques. Compétences. Âge. Matériels

IUT BREST UN LOGICIEL SCADA : PC VUE 2010 DEP.GMP

Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte

V- Manipulations de nombres en binaire

Introduction à MATLAB R

TD1 Signaux, énergie et puissance, signaux aléatoires

Résolution de systèmes linéaires par des méthodes directes

Introduction à l étude des Corps Finis

FORMULES DE CALCUL. Prix = PV TTC = PV HT x (1 + taux de TVA) TVA = PV HT x taux de TVA PV HT = PV TTC 1 + taux de TVA

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

Introduction 1. Bibliographie 317 Remerciements 323 Index Pearson Education France Investisseurs de légende Glen Arnold

Temps forts départementaux. Le calcul au cycle 2 Technique opératoire La soustraction

Algorithmique et Programmation

Licence Sciences et Technologies Examen janvier 2010

La saisie des rubriques sera effectuée dans l application FARANDOLE avec les autres éléments du PAP. Autorisations d engagement

Eteindre. les. lumières MATH EN JEAN Mme BACHOC. Elèves de seconde, première et terminale scientifiques :

REALISATION D UNE CALCULATRICE GRACE AU LOGICIEL CROCODILE CLIPS 3.

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

Cours d Informatique

TP : Gestion d une image au format PGM

1 Recherche en table par balayage

Fonctions homographiques

TD 1 - Transmission en bande de passe

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

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

La solution à vos mesures de pression

1 Introduction au codage

MATHÉMATIQUES ET SCIENCES HUMAINES

Gestion de gros fichiers binaires (images) en APL*PLUS III

MIS 102 Initiation à l Informatique

CORRIGE LES NOMBRES DECIMAUX RELATIFS. «Réfléchir avant d agir!»

Equipement. électronique

TIC. Tout d abord. Objectifs. L information et l ordinateur. TC IUT Montpellier

EVALUATION Nombres CM1

Baccalauréat S Antilles-Guyane 11 septembre 2014 Corrigé

Correction de l examen de la première session

Transcription:

Un exemple de détection d erreurs On utilise pour la transmission un codage linéaire systématique de taille 1 0 1 0 (3, 6, donné par la matrice. 0 1 On reçoit le message 011111. Comment savoir si ce message est correct? Le codage est systématique, donc si ce message est correct, le mot d origine était 011, et on devrait retrouver le message reçu en codant 011. On compare donc le message reçu 011111 avec celui obtenu en codant les trois premiers bits 011 011110 Seule la comparaison des trois bits de contrôle est pertinente. On a trouvé 110 à la place des bits reçus 111, l erreur entre les deux est 110 + 111 = 001 000, donc le message reçu n est pas correct. G. Montcouquiol (IUT Orsay Codes détecteurs et correcteurs d erreurs 2006-2007 77 / 96 Un exemple de détection d erreurs Cette opération garder les p premiers bits du message reçu, les recoder, prendre les n p bits de contrôle du résultat et les additionner aux bits de contrôles du message reçu, comparer le résultat à 0, ( P revient à faire le produit du message reçu avec la matrice H = où P est la matrice de parité du codage. 0 0 1 Dans l exemple précédent, on a P = 1, donc H = 1 1 1 0 0. 0 0 On vérifie qu on a bien 011111 H = 001. G. Montcouquiol (IUT Orsay Codes détecteurs et correcteurs d erreurs 2006-2007 78 / 96, Matrice de contrôle - syndrômes Soit C un code linéaire de taille (n, p ayant une matrice génératrice standard G = (I p P, P étant la matrice de parité. La matrice ( de contrôle du code C est la matrice de taille n (n p P H =. Soit m un mot binaire de taille n. On appelle syndrôme de m, et on note σ(m, le produit mh. C est un mot de longueur n p. Le syndrôme correspond à la somme des bits de contrôles du message reçu et des bits de contrôle recalculés. Exemples Codage (3, 1 par répétition : G = ( 1, donc H = 1 0. Exemple de calcul de syndrôme : σ(101 = 10, σ(111 = 00. 1 1 0 Codage (4, 3 par parité : G =, donc H = 1 1. 0 1 1 Exemple de calcul de syndrôme : σ(1011 = 1, σ(1001 = 0. 1 0 1 1 0 Autre code : G = 0, donc H = 0 1 0. Exemple de calcul de syndrôme : σ(01010 = 00, σ(11111 = 11. G. Montcouquiol (IUT Orsay Codes détecteurs et correcteurs d erreurs 2006-2007 79 / 96 G. Montcouquiol (IUT Orsay Codes détecteurs et correcteurs d erreurs 2006-2007 80 / 96

Matrice de contrôle et détection d erreurs Matrice de contrôle et détection d erreurs Soient C un code linéaire et H sa matrice de contrôle. Un message m est un mot du code si et seulement si son syndrôme est nul : m C mh = 0 n p La matrice de contrôle fournit donc un moyen efficace de détection des erreurs. Soit m (Z/2Z n un mot de longueur n. On note m I (Z/2Z p le mot formé des p premiers bits de m (bits d informations, et m C (Z/2Z n p le mot formé des n p dernier bits de m (bits de contrôle : m = m I.m C (concaténation. ( P On utilise le fait que H s écrit. I ( n p P mh = 0 n p (m I.m C = 0 n p m I P + m C = 0 n p m C = m I P m I.m C = m I (I p P m = m I G m C. G. Montcouquiol (IUT Orsay Codes détecteurs et correcteurs d erreurs 2006-2007 81 / 96 G. Montcouquiol (IUT Orsay Codes détecteurs et correcteurs d erreurs 2006-2007 82 / 96 Applications Soit C le code linéaire donné par sa matrice génératrice standard 1 0 0 0 0 0 0 0 G = 0 0 1 0 0 0 0 0 0 1 0 0 0 1 0 Les mots m 1 = 010101010, m 2 = 111111111, m 3 = 011010000 font-ils partie du code? Applications La matrice de contrôle est H = On calcule les syndrômes : m 1 H = 1100, m 2 H = 0110, m 3 H = 0000, donc seul m 3 fait partie du code. 1 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0. G. Montcouquiol (IUT Orsay Codes détecteurs et correcteurs d erreurs 2006-2007 83 / 96 G. Montcouquiol (IUT Orsay Codes détecteurs et correcteurs d erreurs 2006-2007 84 / 96

Syndrômes et classes d équivalence du code Liste des syndrômes On rappelle la définition de la relation d équivalence C associée à un code linéaire C : u Cv u + v C Deux messages sont équivalents pour la relation C si et seulement si ils ont le même syndrôme : u Cv σ(u = σ(v u Cv u + v C σ(u + v = 0 n p σ(u + σ(v = 0 n p σ(u = σ(v On a vu que le principe de la correction d erreurs pour un code linéaire consiste à déterminer, dans chaque classe d équivalence du code, un mot de plus petit poids (le vecteur d erreurs. On va utiliser le fait que les classes d équivalences du code sont en bijection avec l ensemble des syndrômes possibles On va donc construire un tableau, appelé liste des syndrômes, associant à chaque syndrôme possible un mot de plus petit poids ayant ce syndrôme. G. Montcouquiol (IUT Orsay Codes détecteurs et correcteurs d erreurs 2006-2007 85 / 96 G. Montcouquiol (IUT Orsay Codes détecteurs et correcteurs d erreurs 2006-2007 86 / 96 Construction de la liste des syndrômes On se donne un code linéaire C, de taille (n, p, dont on connaît une matrice de contrôle H. Méthode On commence par écrire dans une première colonne tous les syndrômes possibles, c est-à-dire tous les mots de longueur n p. On parcourt ensuite l ensemble des mots de longueur n de poids 0, 1, puis 2, 3 etc. Pour chaque mot on calcule son syndrôme. Si c est la première fois que ce syndrôme apparaît, on écrit le mot dans la deuxième colonne, en face de son syndrôme. On continue jusqu à ce qu il y ait un mot en face de chaque syndrôme. Exemple Soit C ( le code linéaire de taille (4, 2, de matrice génératrice standard 1 1 G = (même code que dans l exemple du tableau standard. La matrice de contrôle est H = 1 0 Construction de la liste des syndrômes : syndrômes vecteurs d erreurs 00 0000 01 0001 10 0010 1000 σ(0000 = 00 σ(0001 = 01 σ(0010 = 10 σ(0100 = 01, déjà présent σ(1000 = 11 G. Montcouquiol (IUT Orsay Codes détecteurs et correcteurs d erreurs 2006-2007 87 / 96 G. Montcouquiol (IUT Orsay Codes détecteurs et correcteurs d erreurs 2006-2007 88 / 96

Utilisation de la liste des syndrômes Exemple Méthode Soit w le mot reçu. On calcule son syndrôme σ(w. On regarde dans la liste le vecteur d erreurs e correspondant à ce syndrôme, puis on corrige le mot reçu en le remplaçant par w = w + e. Par construction de la liste, e est un élément de poids minimum dans la classe d équivalence de w. Donc w est bien un mot du code le plus proche de w, ce qui justifie cette méthode de correction. Remarque : la liste des syndrômes n est pas unique. En particulier, si plusieurs mots de plus petit poids ont le même syndrôme, le choix de celui qui apparaît dans le tableau aura une influence sur la correction. On avait obtenu la liste des syndrômes suivante : syndrômes vecteurs d erreurs 00 0000 01 0001 10 0010 1000 Si on reçoit le mot 0111 : σ(0111 = 10, on le corrige en 0111 + 0010 = 0101. Si on reçoit le mot 0110 : σ(0110 = 11, on le corrige en 0110 + 1000 = 1110. avec la matrice de contrôle H = 1 0 G. Montcouquiol (IUT Orsay Codes détecteurs et correcteurs d erreurs 2006-2007 89 / 96 G. Montcouquiol (IUT Orsay Codes détecteurs et correcteurs d erreurs 2006-2007 90 / 96 Remarques Matrice de contrôle et distance du code Attention : pour la correction, il faut disposer de la liste des syndrômes et de la matrice de contrôle (pour calculer les syndrômes. La correction par syndrôme est un peu plus compliquée mais plus rapide et moins encombrante que la correction par tableau standard : elle est donc à privilégier. La construction de la liste des syndrômes peut quand même être longue et fastidieuse. Pour certains codes linéaires particuliers, il existe des méthodes de correction plus rapides. La matrice de contrôle donne directement des informations sur la capacité de correction d un code linéaire. Soit C un code linéaire, de distance de Hamming d(c, et ayant une matrice de contrôle H. On a d(c 3 si et seulement si les lignes de H sont toutes distinctes et non nulles. On se servira de ce résultat pour construire des codes linéaires pouvant corriger une erreur. G. Montcouquiol (IUT Orsay Codes détecteurs et correcteurs d erreurs 2006-2007 91 / 96 G. Montcouquiol (IUT Orsay Codes détecteurs et correcteurs d erreurs 2006-2007 92 / 96

Matrice de contrôle et distance du code On remarque que le syndrôme d un mot de poids 1, 0...010...0, ayant exactement un 1 en i-ème position, est la i-ème ligne de H : les lignes de la matrice de contrôle correspondent aux syndrômes des mots de poids 1. Donc une ligne de H est nulle si et seulement si il existe un mot de poids 1 de syndrôme nul, c est-à-dire un mot du code de poids 1, ce qui équivaut à d(c = 1. De la même façon, les syndrômes des mots de poids 2 correspondent aux sommes de deux lignes distinctes de H. Deux lignes de H sont identiques si et seulement si leur somme est nulle, donc si et seulement si il existe un mot de poids 2 de syndrôme nul, c est-à-dire un mot du code de poids 2. Construction de codes linéaires Pour construire un code linéaire C de taille (n, p pouvant corriger au moins une erreur (i.e. d(c 3 : on construit la matrice de contrôle H de taille n (n p, en commençant par l identité en bas, puis en ajoutant des lignes non nulles toutes différentes (possible uniquement si n 2 n p 1 ( P connaissant H =, on connaît la matrice de parité P, et donc la matrice génératrice standard G = (I p P du code. G. Montcouquiol (IUT Orsay Codes détecteurs et correcteurs d erreurs 2006-2007 93 / 96 G. Montcouquiol (IUT Orsay Codes détecteurs et correcteurs d erreurs 2006-2007 94 / 96 Un code de Hamming est un code linéaire dont la matrice de contrôle H est constitué de tous les mots binaires non nuls de longueur k. C est un code parfait, de taille (2 k 1, 2 k 1 k, et de distance 3. Exercice : construire un mot du code de poids 3. Les codes de Hamming sont simples à construire et permettent de corriger exactement une erreur, ce qui justifie leur utilité. G. Montcouquiol (IUT Orsay Codes détecteurs et correcteurs d erreurs 2006-2007 95 / 96 Exemples de codes de Hamming Si k = 2 : alors H = 1 0, donc G = ( 1. On retrouve le code (3, 1 par répétition : c est le plus petit code de Hamming. 1 0 1 Si k = 3 : on construit H = 1 1 0 0 0 par exemple, donc 0 1 0 0 G = 0 1 0 0. C est un code de Hamming de taille 0 0 1 (7, 4. G. Montcouquiol (IUT Orsay Codes détecteurs et correcteurs d erreurs 2006-2007 96 / 96