Théorie et codage de l information



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

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

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

NOTATIONS PRÉLIMINAIRES


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

Transmission d informations sur le réseau électrique

Programmation linéaire

Une introduction aux codes correcteurs quantiques

Introduction à l étude des Corps Finis

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

1 Complément sur la projection du nuage des individus

Fonctions de plusieurs variables

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

Programmation linéaire et Optimisation. Didier Smets

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

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

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

Résolution d équations non linéaires

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

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

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

Problème 1 : applications du plan affine

Objets Combinatoires élementaires

Capes Première épreuve

Plan du cours : électricité 1

Exercices du Cours de la programmation linéaire donné par le Dr. Ali DERBALA

Cours de Probabilités et de Statistique

Représentation des Nombres

I. Polynômes de Tchebychev

Optimisation Discrète

FONCTIONS DE PLUSIEURS VARIABLES (Outils Mathématiques 4)

Polynômes à plusieurs variables. Résultant

Intégration et probabilités TD1 Espaces mesurés Corrigé

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

Programmation linéaire

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

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

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

Intégration et probabilités TD1 Espaces mesurés

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

La classification automatique de données quantitatives

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

CNAM UE MVA 210 Ph. Durand Algèbre et analyse tensorielle Cours 4: Calcul dierentiel 2

Cours d Analyse. Fonctions de plusieurs variables

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

Le produit semi-direct

Développement décimal d un réel

Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes.

Corrigé du baccalauréat S Pondichéry 12 avril 2007

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

Correction de l examen de la première session

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

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

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

Cours de mathématiques

Algorithme. Table des matières

LES MÉTHODES DE POINT INTÉRIEUR 1

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

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

Chapitre 5 : Flot maximal dans un graphe

Image d un intervalle par une fonction continue

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

Approximations variationelles des EDP Notes du Cours de M2

Exercice : la frontière des portefeuilles optimaux sans actif certain

Suites numériques 3. 1 Convergence et limite d une suite

Algorithmes pour la planification de mouvements en robotique non-holonome

Construction d un cercle tangent à deux cercles donnés.

Chapitre 0 Introduction à la cinématique

Mesures gaussiennes et espaces de Fock

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

Les Conditions aux limites

Calcul différentiel. Chapitre Différentiabilité

PEUT-ON «VOIR» DANS L ESPACE À N DIMENSIONS?

Simulation centrée individus

Une réponse (très) partielle à la deuxième question : Calcul des exposants critiques en champ moyen

Chaînes de Markov au lycée

Limitations of the Playstation 3 for High Performance Cluster Computing

ARBRES BINAIRES DE RECHERCHE

ASR1 TD7 : Un microprocesseur RISC 16 bits

Automatique (AU3): Précision. Département GEII, IUT de Brest contact:

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

Optimisation des fonctions de plusieurs variables

ÉPREUVE COMMUNE DE TIPE Partie D

Couples de variables aléatoires discrètes

Compléments de documentation Scilab : affichage de texte et formatage de nombres

Calcul différentiel sur R n Première partie

Conversion d un entier. Méthode par soustraction

Intégration et probabilités ENS Paris, TD (20)13 Lois des grands nombres, théorème central limite. Corrigé :

Programmes des classes préparatoires aux Grandes Ecoles

Cryptographie et fonctions à sens unique

Planche n o 22. Fonctions de plusieurs variables. Corrigé

Cours d analyse numérique SMI-S4

Interception des signaux issus de communications MIMO

Représentation d un entier en base b

I - PUISSANCE D UN POINT PAR RAPPORT A UN CERCLE CERCLES ORTHOGONAUX POLES ET POLAIRES

Tests non-paramétriques de non-effet et d adéquation pour des covariables fonctionnelles

Chapitre 2. Matrices

La programmation linéaire : une introduction. Qu est-ce qu un programme linéaire? Terminologie. Écriture mathématique

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

Transcription:

Théorie et codage de l information Les codes linéaires - Chapitre 6 -

Principe Définition d un code linéaire Soient p un nombre premier et s est un entier positif. Il existe un unique corps de taille q = p s, noté F q. L ensemble (F q ) n de tous les n-uples formés d éléments de F q est un espace vectoriel sur F q. Définition 1. L est un code linéaire si L est un sous-espace vectoriel de (F q ) n. On dit que L est un [n, k]-code si dim(l) = k. Si la distance minimale de L est d, on parle de [n, k, d]-code. Attention aux notations "(.)-code" et "[.]-code"! 1

Principe Poids d un code linéaire Définition 2. Le poids ω(x) du mot x de (F q ) n est le nombre de composantes non nulles de x. Le poids minimal ω(l) du code L est le minimum des poids de tous les vecteurs non nuls de L. ω(1101) = 3 L = {00000, 10111, 11010, 01101} ω(l) = 3 2

Principe Poids d un code linéaire Définition 3. Si x et y sont deux mots binaires, on appelle intersection de x et y, notée x y, l élément défini par (x y)(i) = 1 si x(i) = y(i) = 1, et 0 sinon. En considérant les définitions ci-dessus, on peut démontrer les relations suivantes : x, y (F q ) n, d Ham (x, y) = ω(x y), x, y (F 2 ) n, d Ham (x, y) = ω(x) + ω(y) 2ω(x y). Théorème 1. Soit L un code linéaire. On a : d(l) = ω(l). 3

Principe Codes détecteurs et correcteurs linéaires En utilisant ce qui a été vu au cours précédent, on a immédiatement que : Théorème 2. En utilisant la règle de décodage par distance minimale, un code linéaire peut détecter jusqu à t erreurs, avec t = ω(l) 1. De plus, il en corrige jusqu à t, avec ω(l) = 2t + 1 ou 2t + 2. L = {00000, 10111, 11010, 01101} est 2-détecteur et 1-correcteur. 4

Matrice génératrice Définition Définition 4. Soit L un [n, k]-code. Une matrice G de dimension (k n) dont les lignes forment une base de L est une matrice génératrice de L. On a alors : L = {xg x (F q ) k }. La matrice génératrice suivante permet d encoder les mots de (F 2 ) 3. 1 1 0 0 G = 0 1 1 1 1 0 0 1 5

Matrice génératrice Forme systématique Définition 5. Un [n, k]-code L est dit sous forme systématique s il existe k positions i 1,..., i k telles que, par restriction des mots du code à ces k positions, on obtient les q k mots q-aires possibles de longueur k. Le code C = {0000, 0110, 1001, 1010} est systématique sur les positions 1 et 3 : 00 0000 01 0110 10 1001 11 1010 6

Matrice génératrice Forme standard Théorème 3. Tout [n, k]-code linéaire a une matrice génératrice de la forme G = (I k A), dite standard, où I k désigne la matrice unité de dimension k. La matrice génératrice suivante est sous forme standard. 1 0 0 0 0 1 1 0 1 0 0 1 0 1 G =. 0 0 1 0 1 1 0 0 0 0 1 1 1 1 7

Dual d un code linéaire Définition Définition 6. Soit L un [n, k]-code. est appelé code dual de L. L = {x (F q ) n x.c = 0, c L} Théorème 4. Soit L un [n, k]-code linéaire et L son dual. On a : 1. L = {x (F q ) n xg = 0} où G est génératrice de L ; 2. L est un [n, n k]-code linéaire ; 3. L = L. 8

Dual d un code linéaire Matrice de test Soit L un code linéaire de matrice génératrice G = (I k A) de dimension (k n). On pose H = ( A I n k ). Définition 7. La matrice H est dite matrice de contrôle ou matrice de test du code linéaire L. On montre aisément que H est une matrice génératrice de L. Cette matrice sera utilisée par la suite pour le décodage. Théorème 5. Soit L un code linéaire ayant H comme matrice de contrôle. Il existe un mot de poids ω si, et seulement si, il existe ω colonnes de H linéairement dépendantes. 9

Matrice génératrice On construit un [6, 3]-code linéaire binaire en choisissant trois vecteurs linéairement indépendants de (F 2 ) 6. 1 0 0 1 0 1 G = 0 1 1 1 0 1. 1 1 0 1 1 0 On obtient l ensemble des mots du code L en calculant tous les produits xg avec x (F 2 ) 3. 10

Mots du code Les mots du code L ainsi que leur poids sont donnés par : x L ω 000 000000 0 001 110110 4 010 011101 4 011 101011 4 100 100101 3 101 010011 3 110 111000 3 111 001110 3 L est 2-détecteur et 1-correcteur. 11

Matrice de contrôle On écrit la matrice G sous forme standard (pivot de Gauss) : 1 0 0 1 0 1 1 0 0 1 0 1 G 0 1 1 1 0 1 0 1 0 0 1 1 0 1 0 0 1 1 0 0 1 1 1 0 = (I 3 A). La matrice de contrôle H = ( A I 3 ) de L est donnée par : 1 0 1 1 0 0 H = 0 1 1 0 1 0. 1 1 0 0 0 1 12

Mots du code dual A partir de H, on obtient les mots du code dual L : x L ω 000 000000 0 001 110001 3 010 011010 3 011 101011 4 100 101100 3 101 011101 4 110 110110 4 111 000111 3 13

Décodage par tableau standard Notion de syndrome Nous allons à présent exposer une règle de décodage à distance minimale reposant sur un tableau, dit tableau standard. Définition 8. Soit L un [n, k]-code linéaire de matrice de contrôle H. Soit x un élément de (F q ) n. le mot xh est appelé syndrome de x. Cette définition permet d introduire l application linéaire s suivante : s : (F q ) n (F q ) n k x s(x) = xh Soit x un élément de L. On note que s(x) = 0, ce qui signifie que L = ker(s). 14

Décodage par tableau standard Classes d équivalence On définit la classe de x, notée C x ou x + L, par : C x = {x + I I L}. Théorème 6. L ensemble des classes C x, x (F q ) n, forme une partition de (F q ) n. Théorème 7. Soit L un [n, k]-code. Les éléments x et y de (F q ) n ont le même syndrome si et seulement si ils définissent la même classe. 15

Décodage par tableau standard Construction du tableau Soit x le mot reçu. Le décodage par distance minimale requiert que l on décode x par le mot de code c pour lequel e = x c a le poids le plus faible. Étant donné que c varie dans L, e est un élément de C x. Le vecteur d erreur e a donc le même syndrome que x. C x C e e x PSfrag replacements (F q ) n 16

Décodage par tableau standard Construction du tableau Mode de construction 1. La première ligne comporte les mots de L. 2. La ligne j est constituée des e j + L, où e j est un mot sélectionné de plus petit poids ne se trouvant pas dans les j 1 lignes précédentes. 3. Le processus est itéré jusqu à ce que tous les mots de (F q ) n soient représentés dans le tableau. 0 c 1 c 2... c m e 1 c 1 + e 1 c 2 + e 1... c m + e 1 e 1 + L e 2 c 1 + e 2 c 2 + e 2... c m + e 2 e 2 + L.................. e s c 1 + e s c 2 + e s... c m + e s e s + L 17

Décodage par tableau standard Soit L un [4, 2]-code linéaire binaire défini par la matrice génératrice G = 1 1 0 1. 0 1 0 0 On a donc : x L ω 00 0000 0 01 0100 1 10 1101 3 11 1001 2 18

Décodage par tableau standard Ceci nous conduit au tableau standard suivant : 0000 0100 1101 1001 1000 1100 0101 0001 0010 0110 1111 1011 1010 1110 0111 0011 Inconvénient : espace mémoire occupé (16 Go pour un [32,6]-code!). = décodage par syndrome 19

Décodage par syndrome Principe Les mots d une même ligne du tableau standard ont même syndrome. construction d une table de représentants et de syndromes 0 c 1 c 2... c m s(e i ) e 1 c 1 + e 1 c 2 + e 1... c m + e 1 e 1 H e 2 c 1 + e 2 c 2 + e 2... c m + e 2 e 2 H.................. e s c 1 + e s c 2 + e s... c m + e s e s H Le calcul du syndrome d un mot reçu x désigne son représentant e i. Le décodage s effectue en calculant x e i. 20

Décodage par syndrome On considère le code linéaire L défini par la matrice génératrice G : G = 1 1 0 1 G = 0 1 0 0 1 0 0 1 H = 0 1 0 0 0 0 1 0. 1 0 0 1 Représentant e i Syndrome e i H 0000 00 1000 01 0010 10 1010 11 21

Décodage par syndrome On suppose que x = 1110 a été reçu. Le calcul de son syndrome donne : ( ) xh = 1 1 1 0 0 0 1 0 ( ) = 1 1. 1 0 0 1 Le représentant de la classe est donc 1010 et l on obtient c = 1110 1010 = 0100. 22