Théorie et codage de l information

Documents pareils
Théorie et codage de l information

Introduction à l étude des Corps Finis

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


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

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

Polynômes à plusieurs variables. Résultant

Fonctions de plusieurs variables

Première partie. Préliminaires : noyaux itérés. MPSI B 6 juin 2015

Programmation linéaire

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

1 Complément sur la projection du nuage des individus

Structures algébriques

Optimisation Discrète

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

NOTATIONS PRÉLIMINAIRES

I. Polynômes de Tchebychev

Exemple 4.4. Continuons l exemple précédent. Maintenant on travaille sur les quaternions et on a alors les décompositions

Le produit semi-direct

Un K-espace vectoriel est un ensemble non vide E muni : d une loi de composition interne, c est-à-dire d une application de E E dans E : E E E

Calcul fonctionnel holomorphe dans les algèbres de Banach

Exercices Corrigés Premières notions sur les espaces vectoriels

Cours de mathématiques

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

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

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

Cryptographie et fonctions à sens unique

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

Chapitre VI - Méthodes de factorisation

Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications

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

Capes Première épreuve

Formes quadratiques. 1 Formes quadratiques et formes polaires associées. Imen BHOURI. 1.1 Définitions

Du Premier au Second Degré

Nouveaux résultats en cryptographie basée sur les codes correcteurs d erreurs

Une introduction aux codes correcteurs quantiques

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

Cours 02 : Problème général de la programmation linéaire

COURS EULER: PROGRAMME DE LA PREMIÈRE ANNÉE

Contexte. Pour cela, elles doivent être très compliquées, c est-à-dire elles doivent être très différentes des fonctions simples,

ÉPREUVE COMMUNE DE TIPE Partie D

Transmission d informations sur le réseau électrique

Problème 1 : applications du plan affine

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

Signalisation, codage, contrôle d'erreurs

Fonctions de plusieurs variables, intégrales multiples, et intégrales dépendant d un paramètre

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

Représentation des Nombres

Chapitre 3. Mesures stationnaires. et théorèmes de convergence

Quelques tests de primalité

Rappels et compléments, première partie : Nombres complexes et applications à la géométrie

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

Limitations of the Playstation 3 for High Performance Cluster Computing

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

Objets Combinatoires élementaires

Résolution d équations non linéaires

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

ALGORITHMIQUE II NOTION DE COMPLEXITE. SMI AlgoII

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

Conversion d un entier. Méthode par soustraction

Problèmes arithmétiques issus de la cryptographie reposant sur les réseaux

Durée de L épreuve : 2 heures. Barème : Exercice n 4 : 1 ) 1 point 2 ) 2 points 3 ) 1 point

Chapitre 7. Statistique des échantillons gaussiens. 7.1 Projection de vecteurs gaussiens

I. TRANSMISSION DE DONNEES

Logique. Plan du chapitre

Calculer avec Sage. Revision : 417 du 1 er juillet 2010

Programmation linéaire et Optimisation. Didier Smets

Chapitre 7. Récurrences

Sites web éducatifs et ressources en mathématiques

Calcul différentiel sur R n Première partie

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

Master 1 Informatique MIF11 - Réseau Codage et éléments de théorie de l'information

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

Programme de la classe de première année MPSI

Simulation centrée individus

Catalogue des connaissances de base en mathématiques dispensées dans les gymnases, lycées et collèges romands.

Programmes des classes préparatoires aux Grandes Ecoles

Master IAD Module PS. Reconnaissance de la parole (suite) Alignement temporel et Programmation dynamique. Gaël RICHARD Février 2008

Université Paris-Dauphine DUMI2E 1ère année, Applications

Cours d Analyse. Fonctions de plusieurs variables

LES MÉTHODES DE POINT INTÉRIEUR 1

De même, le périmètre P d un cercle de rayon 1 vaut P = 2π (par définition de π). Mais, on peut démontrer (difficilement!) que

Carl-Louis-Ferdinand von Lindemann ( )

Cours d analyse numérique SMI-S4

VI. COMPLÉMENTS SUR LES MODULES, THÉORÈME CHINOIS, FACTEURS INVARIANTS SÉANCES DU 15, 16 ET 22 OCTOBRE

Une forme générale de la conjecture abc

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

Cours d électricité. Circuits électriques en courant constant. Mathieu Bardoux. 1 re année

Équations d amorçage d intégrales premières formelles

Analyse fonctionnelle Théorie des représentations du groupe quantique compact libre O(n) Teodor Banica Résumé - On trouve, pour chaque n 2, la classe

Calcul de développements de Puiseux et application au calcul du groupe de monodromie d'une courbe algébrique plane

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

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

CHAPITRE V SYSTEMES DIFFERENTIELS LINEAIRES A COEFFICIENTS CONSTANTS DU PREMIER ORDRE. EQUATIONS DIFFERENTIELLES.

Algorithmes pour la planification de mouvements en robotique non-holonome

TABLE DES MATIÈRES CHAPITRE I. Les quanta s invitent

Fonctions de plusieurs variables. Sébastien Tordeux

Baccalauréat ES Pondichéry 7 avril 2014 Corrigé

Master of Science en mathématiques

Amphi 3: Espaces complets - Applications linéaires continues

Transcription:

Théorie et codage de l information Les codes de Hamming et les codes cycliques - Chapitre 6 (suite et fin)-

Les codes de Hamming Principe La distance minimale d un code linéaire L est le plus petit nombre de colonnes linéairement dépendantes dans sa matrice de test H. Pour un [n, k, 3]-code, aucune colonne de H n est multiple d une autre. Construction Les codes de Hamming sont des [n, k, 3]-codes construits ainsi : 1. choix d un vecteur-colonne c 1 non-nul dans (F q ) r 2. choix d un vecteur-colonne c 2 dans (F q ) r {α.c 1 : α F q} 3. réitération jusqu à ce qu il n y ait plus de c i non-nul 1

Les codes de Hamming Intérêts Notations Un [n, k, d]-code de Hamming q-aire d ordre r, noté H q (r), est tel que : n = (q r 1)/(q 1) ; k = n r ; d = 3 Décodage des codes de Hamming PSfrag replacements q n r L tableau standard q r q r 1 = (q 1)n On constate que (q 1)n représente aussi le nombre d erreurs possibles de poids 1! le syndrome de e i est donc égal à la i ème colonne de H. 2

Décodage des codes de Hamming H 2 (r) Exemple Les colonnes de la matrice de contrôle H sont simplement les représentations binaires des 2 r 1 premiers nombres positifs non-nuls. syndrome = position de l erreur à corriger Exemple : H 2 (3) H = 0 0 0 1 1 1 1 0 1 1 0 0 1 1 1 0 1 0 1 0 1 En supposant qu une unique erreur s est produite à la position 3, ce qui correspond au vecteur d erreur donné par e 3 = 0010000, le syndrome du mot reçu est égal à e 3 H = 011. Ce nombre donne la position de l erreur. 3

Décodage des codes de Hamming H 3 (r) Exemple Comme pour H 2 (r), on choisit les colonnes de H comme l expression des premiers nombres dans une base ternaire, en s assurant que la première composante non-nulle de ces nombres est 1. Exemple : H 3 (3) H = 0 0 0 0 1 1 1 1 1 1 1 1 1 0 1 1 1 0 0 0 1 1 1 2 2 2 1 0 1 2 0 1 2 0 1 2 0 1 2 Si une erreur apparaît à la position i, le vecteur d erreur est de la forme α e i, avec α {1, 2}. Le syndrome résultant α e i H. on détermine la position de l erreur et la correction à apporter. 4

Principe des codes cycliques Définition Les codes cycliques C constituent l une des classes les plus importantes parmi les codes linéaires. Définition 1. Un code C est dit cyclique s il est linéaire et s il vérifie la propriété suivante : (c 0... c n 1 ) C (c n 1 c 0... c n 2 ) C. La permutation circulaire des composantes est appelée shift. On peut dire que (c n 1 c 0... c n 2 ) est le shift de (c 0... c n 1 ). 5

Principe des codes cycliques Exemples Les codes suivants sont des exemples de codes cycliques, qui ne présentent pas tous un intérêt pratique : {0} et (F q ) n C = {000, 101, 011, 110} Soit C le code dont la matrice génératrice est définie par 1 0 0 1 0 0 1 0 0 G (1) G = 0 1 0 0 1 0 0 1 0 G (2) 0 0 1 0 0 1 0 0 1 G (3) 6

Représentation polynômiale Intérêt Il est commode d utiliser la représentation polynômiale suivante : (c 0 c 1... c n 1 ) m(x) = c 0 + c 1 x +... + c n 1 x n 1. En effet, le polynôme associé au mot shifté (c n 1 c 0... c n 2 ) est celui que l on obtient en évaluant x.m(x) modulo (x n 1) : c n 1 + c 0 x +... + c n 2 x n 1 = x(c 0 + + c n 1 x n 1 ) c n 1 (x n 1) x.m(x) modulo (x n 1). 7

Représentation polynômiale Cadre algébrique Définition 2. Soit F q un corps fini et soit n un entier non-nul. On appelle représentation polynômiale de (F q ) n l application θ : (F q ) n F q [x]/ < x n 1 > telle que θ(c 0 c 1... c n 1 ) = c 0 + c 1 x +... + c n 1 x n 1. Définition 3. On appelle représentation polynômiale de C l ensemble des représentations polynômiales des mots de C, que l on note θ(c). Exemple Si C = {000, 101, 011, 110}, alors θ(c) = {0, 1 + x 2, x + x 2, 1 + x} où 0 désigne ici le polynôme nul. 8

Structure algébrique de θ(c) Codes cycliques et idéaux La définition d un code cyclique nous amène directement à : Théorème 1. Le code C est cyclique si et seulement si C est un sous-espace vectoriel de (F q ) n et si tout multiple modulo (x n 1) d un polynôme de θ(c) est aussi un polynôme de θ(c). En se rappelant de la définition d un idéal bilatère, on obtient : Théorème 2. Soit C un code linéaire de longueur n sur F q. Alors C est un code cyclique si et seulement si sa représentation polynômiale est un idéal bilatère de l anneau F q [x]/ < x n 1 >. 9

Structure algébrique de θ(c) Polynôme générateur Après avoir montré que tout idéal de l anneau F q [x]/ < x n 1 > est engendré par un même polynôme, dit polynôme générateur, on montre : Théorème 3. Chaque code cyclique C de longueur n sur F q, et non réduit à l élément nul, possède un polynôme générateur unitaire et un seul qui est diviseur de (x n 1) dans F q [x]. Exemple Soit C le code cyclique tel que : θ(c) = {0, 1 + x, x + x 2, 1 + x 2 }. On constate que le polynôme (1 + x) est le polynôme générateur de C. 10

Structure algébrique de θ(c) Polynôme générateur Il est maintenant possible d exhiber tous les codes cycliques de longueur n grâce à la recherche de tous les diviseurs de (x n 1). Le résultat suivant permet ensuite de trouver les mots du codes : Théorème 4. Soit C un code cyclique de longueur n et g(x) son polynôme générateur tel que d (g) = t. La famille suivante {g(x), x.g(x),..., x n t 1.g(x)} est une base de θ(c) et la dimension du code est n t. 11

Construction d un code cyclique Exemple On veut construire un code cyclique de longueur 7 sur F 2. On montre que (x 7 1) = (x 1)(x 3 + x + 1)(x 3 + x 2 + 1), ce qui nous conduit à : C 0 : g 0 (x) = x 7 1 0 C 1 : g 1 (x) = x 1 C 2 : g 2 (x) = x 3 + x + 1 C 3 : g 3 (x) = x 3 + x 2 + 1 C 4 : g 4 (x) = g 1 (x).g 2 (x) = x 4 + x 3 + x 2 + 1 C 5 : g 5 (x) = g 1 (x).g 3 (x) = x 4 + x 2 + x + 1 C 6 : g 6 (x) = g 2 (x).g 3 (x) = x 6 + x 5 + x 4 + x 3 + x 2 + x + 1 12

Matrice génératrice Construction à partir du polynôme générateur La famille {g(x), x.g(x),..., x n t 1.g(x)} est une base de θ(c). Il suffit donc de choisir les mots associés à cette base pour construire G. Théorème 5. Soit g(x) = g 0 + g 1 x +... + g t x t le polynôme générateur d un code cyclique C de longueur n sur F q. La matrice G constituée de n t lignes et n colonnes suivante est génératrice. g 0 g 1... g t 0... 0 0 g 0 g 1 0 g t... 0 G =....... 0... 0 g 0 g 1... g t 13

Matrice génératrice Exemple Considérons le code cyclique C de (F 2 ) 7 engendré par le polynôme générateur g(x) = 1 + x 2 + x 3. D après le théorème précédent, une matrice génératrice de ce code est donnée par : 1 0 1 1 0 0 0 0 1 0 1 1 0 0 G =. 0 0 1 0 1 1 0 0 0 0 1 0 1 1 Chaque ligne de G peut être obtenue par un shift de la précédente. 14

Matrice de contrôle Définition du polynôme de contrôle On définit un polynôme de contrôle ainsi : Définition 4. Soit C un [n, k]-code cyclique de polynôme générateur g(x). Le polynôme h(x) vérifiant g(x).h(x) = (x n 1) est dit polynôme de contrôle. On peut montrer le résultat suivant : Théorème 6. Soit C un [n, k]-code cyclique dont le polynôme de contrôle est h(x). On a la relation suivante : p(x) θ(c) p(x).h(x) = 0. 15

Matrice de contrôle Construction à partir du polynôme de contrôle Déterminons maintenant l expression de la matrice de contrôle à partir du polynôme de contrôle. Théorème 7. Soit C un [n, k, d]-code cyclique de polynôme de contrôle h(x) = h 0 + h 1 x +... + h k x k. La matrice H suivante est une matrice de test de C : h k h k 1... h 0 0... 0 0 h k h k 1... h 0... 0 H =....... 0... 0 h k h k 1... h 0 16