Vous êtes sur la page 1sur 34

poids des codes linaires e description par des matrices gnratrices e e description par des matrices de contrle o dcodage

dun code linaire e e exemples de codes linaires e

Introduction ` la thorie des codes a e correcteurs derreurs


Codes linaires e Odile PAPINI
ESIL Universit de la mditerrane e e e Odile.Papini@esil.univmed.fr http://odile.papini.perso.esil.univmed.fr/index.html

Odile PAPINI

Codes correcteurs derreurs

poids des codes linaires e description par des matrices gnratrices e e description par des matrices de contrle o dcodage dun code linaire e e exemples de codes linaires e

Plan du cours

poids des codes linaires e description par des matrices gnratrices e e description par des matrices de contrle o dcodage dun code linaire e e exemples de codes linaires e

Odile PAPINI

Codes correcteurs derreurs

poids des codes linaires e description par des matrices gnratrices e e description par des matrices de contrle o dcodage dun code linaire e e exemples de codes linaires e

Bibliographie I
F. J. Mac Willians & N. J. A. Sloane The Theory of Error Correcting codes. North Holland Publising, ed. 1978. O. Papini & J. Wolfmann Alg`bre discr`te et codes correcteurs derreurs. e e Springer Verlag ed. 1995. Support de cours Claude Carlet Universit Paris 13 e http://www.math.univparis13.fr/ schartz/Mali/Mali07/ccc.pdf

Odile PAPINI

Codes correcteurs derreurs

poids des codes linaires e description par des matrices gnratrices e e description par des matrices de contrle o dcodage dun code linaire e e exemples de codes linaires e

introduction
On munit lalphabet A deux lois internes + et et la structure (A, +, ) a les proprits suivantes : ee A a une structure de corps ni (A, +) est un groupe commutatif x A, y A, z A, x (y z) = (x y ) z) associativit e x (y + z) = (x y ) + (x z) distributivit ` gauche ea (x + y ) z = (x z) + (y z) distributivit ` droite ea 1 A tq x 1 = 1 x = x lment unit ee e x A\{0}, x A tq x x = x x = 1 lment ee symtrique e
Odile PAPINI Codes correcteurs derreurs

poids des codes linaires e description par des matrices gnratrices e e description par des matrices de contrle o dcodage dun code linaire e e exemples de codes linaires e

rappel
loi interne + dans un ensemble A : AA A (x, y ) x + y groupe (A, +) : une structure telle que x A, y A, z A x + (y + z) = (x + y ) + z) associativit e e A, tq x A, x + e = e + x = x lment neutre ee x A, x A, tq x + x = x + x = e lment ee symtrique e (A, +) est un groupe commutatif si x A, y A, x + y = y + x
Odile PAPINI Codes correcteurs derreurs

poids des codes linaires e description par des matrices gnratrices e e description par des matrices de contrle o dcodage dun code linaire e e exemples de codes linaires e

rappel
Lalphabet A est un corps ni IK alors IKn est un espace vectoriel loi externe : IK IKn IKn (x, y ) x y espace vectoriel (IKn , +, ) sur IK corps commutatif est une structure telle que : (IKn , +) est un groupe commutatif IK, IK , x IKn , IK, IK, x IKn , IK, x IK , y IK ,
Odile PAPINI

( x) = () x ( + ) x = x + x (x + y ) = x + y
Codes correcteurs derreurs

e IK lment neutre e x = x ee
n n

poids des codes linaires e description par des matrices gnratrices e e description par des matrices de contrle o dcodage dun code linaire e e exemples de codes linaires e

poids dun code


lalphabet A est un corps ni IK IKn est un espace vectoriel pour les lois habituelles dnition : poids e Soit x = (x1 , x2 , ...xn ) IKn le poids de x, not w (x), est le e nombre de ses composantes non nulles. w (x) = i {1, 2, . . . , n}, tq xi = 0

Odile PAPINI

Codes correcteurs derreurs

poids des codes linaires e description par des matrices gnratrices e e description par des matrices de contrle o dcodage dun code linaire e e exemples de codes linaires e

poids dun code


proprits du poids ee x, y IKn et IK on a : i) d(x, y ) = w (x y ); ii) w (x) = d(x, 0); iii) w (x) = 0 ssi x = 0; iv) w (x) = w (x) si = 0; v) w (x + y ) w (x) + w (y ). (dmontrastion laisse en exercice). e e
Odile PAPINI Codes correcteurs derreurs

poids des codes linaires e description par des matrices gnratrices e e description par des matrices de contrle o dcodage dun code linaire e e exemples de codes linaires e

code linaire e
dnition dun code linaire e e Un code linaire de longueur n sur IK et de dimension k (not e e (n,k)) est un sous-espace vectoriel de IKn de dimension k. si IK = p et si C est code linaire (n, k) alors C = p k e

proprit : ee si C est code linaire lensemble des distances entre les mots de e C est lensemble des poids de C consquence : e la distance minimale de C est le poids minimum de C
Odile PAPINI Codes correcteurs derreurs

poids des codes linaires e description par des matrices gnratrices e e description par des matrices de contrle o dcodage dun code linaire e e exemples de codes linaires e

sous-espace vectoriel C sous-espace vectoriel de IKn sur IK : C non vide stable pour + stable pour

caractrisation dun sous-espace vectoriel e C est un sous-espace vectoriel de IKn sur IK ssi C non vide x C , y C x C , IK x y C x C
Odile PAPINI Codes correcteurs derreurs

poids des codes linaires e description par des matrices gnratrices e e description par des matrices de contrle o dcodage dun code linaire e e exemples de codes linaires e

description des codes linaires par les matrices gnratrices e e e


Un code linaire est enti`rement dtermin par une base de ces e e e e bases dnition e Une matrice g`n`ratrice dun code lin`aire C sur le corps IK est e e e une matrice sur IK dont les lignes forment une base de C .

proprits ee Soit C un code linaire sur un corps IK. e i) Toute matrice gnratrice est une matrice k n sur IK, avec e e k n, dont le rang est k; ii) Inversement, toute matrice k n sur IK de rang k, est une matrice gnratrice dun code (n, k) sur IK; e e
Odile PAPINI Codes correcteurs derreurs

poids des codes linaires e description par des matrices gnratrices e e description par des matrices de contrle o dcodage dun code linaire e e exemples de codes linaires e

description des codes linaires par les matrices gnratrices e e e


matrices gnratrices e e un code poss`de plusieurs matrices gnratrices e e e les mots de C sont toutes les combinaisons linaires des lignes e dune matrice gnratrice e e exemple Soit G la matrice gnratrice dun e e 1 0 G = 0 1 0 0 Quels sont les param`tres de C ? e
Odile PAPINI Codes correcteurs derreurs

code C : 0 1 0 0 1 1 1 0 1

poids des codes linaires e description par des matrices gnratrices e e description par des matrices de contrle o dcodage dun code linaire e e exemples de codes linaires e

proprits des matrices gnratrices(1) ee e e


Si G est une matrice gnratrice de C , code linaire (n, k) sur IK, e e e alors : proprits ee i) Les matrices gnratrices de C sont de la forme A G , o` A e e u est une matrice carre inversible k k sur IK; e ii) Le code C est lensemble des mots de la forme mu = (u1 , u2 , ...uk )G avec u = (u1 , u2 , ...uk ) dans IKk , et lapplication u mu est un isomorphisme vectoriel de IKk dans C ;
Odile PAPINI Codes correcteurs derreurs

poids des codes linaires e description par des matrices gnratrices e e description par des matrices de contrle o dcodage dun code linaire e e exemples de codes linaires e

proprits des matrices gnratrices (2) ee e e


Si G est une matrice gnratrice de C , code linaire (n, k) sur IK, e e e alors : proprits (suite) ee iii) Si c1 , c2 , ...cn sont les vecteurs colonnes de G , les mots du code C sont tous ceux de la forme mu = (< c1 , u >, < c2 , u >, . . . , < cn , u >) avec u IKk et < , > dsignant le produit scalaire usuel de e k IK .

Odile PAPINI

Codes correcteurs derreurs

poids des codes linaires e description par des matrices gnratrices e e description par des matrices de contrle o dcodage dun code linaire e e exemples de codes linaires e

code linaire systmatique e e

dnition e une matrice gnratrice dun code(n, k) est normalise (ou e e e canonique) si la matrice forme par les k premi`res colonnes est la e e matrice unit. e

Si un code poss`de une matrice gnratrice normalise, on dit que e e e e ce code est systmatique. e

Odile PAPINI

Codes correcteurs derreurs

poids des codes linaires e description par des matrices gnratrices e e description par des matrices de contrle o dcodage dun code linaire e e exemples de codes linaires e

code linaire systmatique e e


proprits ee iv) Tout code linaire est quivalent ` un code linaire e e a e systmatique e v) Si le code C , linaire (n, k), est systmatique, alors, pour e e chaque u = (u1 , u2 , ...uk ) de IKk , il existe un mot et un seul de C de la forme : mu = (u1 , u2 , ...uk , xk+1 , xk+2 , . . . , xn ) information redondance

Odile PAPINI

Codes correcteurs derreurs

poids des codes linaires e description par des matrices gnratrices e e description par des matrices de contrle o dcodage dun code linaire e e exemples de codes linaires e

codage avec un code linaire e


G matrice gnratrice dun code C e e premier codage : numrisation e
message u = (u1 , u2 , ...uk ) mu = ((u1 , u2 , ...uk , xk+1 , xk+2 , . . . , xn )

message u = (u1 , u2 , ...uk ) second codage : codage avec code correcteur


u = (u1 , u2 , ...uk ) mu = (u1 , u2 , ...uk )G = (u1 , u2 , ...uk , xk+1 , xk+2 , . . . , xn )

Odile PAPINI

Codes correcteurs derreurs

poids des codes linaires e description par des matrices gnratrices e e description par des matrices de contrle o dcodage dun code linaire e e exemples de codes linaires e

Borne de SINGLETON
proposition Si d est la distance minimale dun code linaire C (n, k), alors e d n k + 1. Cette borne est appele borne de Singleton. e dnition e un code linaire C (n, k) est Maximum Distance Separable (M. e D. S.) si sa distance minimale d atteint la borne de singleton, i.e. d =nk +1

Odile PAPINI

Codes correcteurs derreurs

poids des codes linaires e description par des matrices gnratrices e e description par des matrices de contrle o dcodage dun code linaire e e exemples de codes linaires e

description par des matrices de contrle o


sous-espace vectoriel considr comme noyau dune application ee linaire. e dnition e Soit C un code (n, k) sur IK. Le code orthogonal de C est lespace vectoriel orthogonal de C pour le produit scalaire usuel de IKn .

proprit ee le code orthogonal de C , not C , est un code linaire (n, n k) e e

Odile PAPINI

Codes correcteurs derreurs

poids des codes linaires e description par des matrices gnratrices e e description par des matrices de contrle o dcodage dun code linaire e e exemples de codes linaires e

description des codes linaires par les matrices de contrle e o

dnition e On appelle matrice de contrle de C , toute matrice gnratrice o e e de son orthogonal

proprit (fondamentale) e e Soit H une matrice de contrle dun code C et x = (x1 , x2 , ...xn ) o x C ssi H t (x1 , x2 , ...xn ) = (0, 0, . . . , 0)

Odile PAPINI

Codes correcteurs derreurs

poids des codes linaires e description par des matrices gnratrices e e description par des matrices de contrle o dcodage dun code linaire e e exemples de codes linaires e

description des codes linaires par les matrices de contrle e o

consquences e G une matrice gnratrice de C . e e a) Si H une matrice de contrle de C , alors G (t H) = 0 o b) Rciproquement, si H est une matrice vriant G (t H) = 0, e e et qui de plus est de rang maximum, alors H est une matrice de contrle de C o

Odile PAPINI

Codes correcteurs derreurs

poids des codes linaires e description par des matrices gnratrices e e description par des matrices de contrle o dcodage dun code linaire e e exemples de codes linaires e

construction dune matrice de contrle o


construction dune matrice de contrle o Soit C un code linaire systmatique e e G une matrice gnratrice normalise de C : G = ([Ik ][M]) e e e M : matrice forme par les n k derni`res colonnes, Ik : matrice e e unit dordre k. e H = ([t M][Ink ]) est une matrice de contrle de C . o

Odile PAPINI

Codes correcteurs derreurs

poids des codes linaires e description par des matrices gnratrices e e description par des matrices de contrle o dcodage dun code linaire e e exemples de codes linaires e

construction dune matrice de contrle o


matrice gnratrice de C e e 1 0 0 0 1 0 0 1 0 0 1 0 G = 0 0 1 0 0 1 0 0 0 1 0 1 1 0 1 0 M= 0 1 0 1 matrice de contrle de C o H= 1 1 0 0 1 0 0 0 1 1 0 1
Odile PAPINI Codes correcteurs derreurs

poids des codes linaires e description par des matrices gnratrices e e description par des matrices de contrle o dcodage dun code linaire e e exemples de codes linaires e

consquences e
consquences e c1 , , cn : colonnes de H, alors : H t (x1 , x2 , ..., xn ) = x1 c1 + x2 c2 + . . . + xn cn (x1 , x2 , ..., xn ) C ssi x1 c1 + x2 c2 + . . . + xn cn = 0

donc il existe un mot de C de poids r ssi il existe une combinaison linaire ` coecients non-nuls, de r e a colonnes de H, qui est elle-mme nulle. e le poids minimum de C est le plus petit entier non-nul r tel quil existe une combinaison linaire ` coecients e a non-nuls, de r colonnes de H, qui est elle-mme nulle. e
Odile PAPINI Codes correcteurs derreurs

poids des codes linaires e description par des matrices gnratrices e e description par des matrices de contrle o dcodage dun code linaire e e exemples de codes linaires e

dcodage dun code linaire e e


H une matrice de contrle du code C linaire (n, k) sur IK, matrice o e de lapplication linaire h : e IKn IKnk x h(x) x C ssi h(x) = 0 y : mot reu, c syndrome C est le noyau de h : mot erreur

Si x : mot envoy e y =x + donc or x C donc

h(y ) = h(x) + h()

h(y ) = h()
Odile PAPINI Codes correcteurs derreurs

poids des codes linaires e description par des matrices gnratrices e e description par des matrices de contrle o dcodage dun code linaire e e exemples de codes linaires e

dcodage dun code linaire e e


proprit ee h(x) = h(y ) ssi dquivalences e x y Kerh : partition de K n en classes

classes latrales e n , classe latrale : u + C = {u + x, x C } uK e nk classes latrale et chacune delles contient p k vecteurs. Il y q e

proprit ee 2 classes latrales sont disjointes ou confondues e


Odile PAPINI Codes correcteurs derreurs

poids des codes linaires e description par des matrices gnratrices e e description par des matrices de contrle o dcodage dun code linaire e e exemples de codes linaires e

dcodage dun code linaire e e


principe du dcodage e corriger y cest trouver y et ont mme syndrome : ils sont dans la mme classe e e latrale e si pour chaque classe latrale on conna le syndrome e t correspondant, on calcule le syndrome de y et est dans la classe latrale associe e e si le code est e-correcteur et w () e alors il existe un seul mot , w () e dans la classe latrale e il sut de chercher dans la classe latrale associe au e e syndrome de y le seul mot de poids e, cest
Odile PAPINI Codes correcteurs derreurs

poids des codes linaires e description par des matrices gnratrices e e description par des matrices de contrle o dcodage dun code linaire e e exemples de codes linaires e

dcodage dun code linaire e e


algorithme de dcodage e calcul du syndrome de y dtermination de la classe latrale associe e e e recherche dans cette classe du mot , (w () e) calcul de x = y

Odile PAPINI

Codes correcteurs derreurs

poids des codes linaires e description par des matrices gnratrices e e description par des matrices de contrle o dcodage dun code linaire e e exemples de codes linaires e

construction du tableau de dchirement e


i) On crit sur une ligne tous les mots du code C en e commenant ` gauche par le mot nul : 0, c1 , c2 , c3 , . . . c a ii) On crit, en dessous du mot nul, un mot u de IKn qui na pas e t crit sur la ligne prcdente, et de plus petit poids possible, eee e e puis les autres mots de la classe de u : u, u + c1 , u + c2 , . . . iii) On recommence avec un mot v non crit dans les lignes e prcdentes, ainsi de suite jusqu puisement des mots de e e ae IKn . iv) On crit enn ` droite de chaque ligne, le syndrome associ ` e a ea la classe correspondante (h(0) = 0 pour la premi`re ligne, e h(u) pour la deuxi`me, h(v ) pour la troisi`me, e e
Odile PAPINI Codes correcteurs derreurs

poids des codes linaires e description par des matrices gnratrices e e description par des matrices de contrle o dcodage dun code linaire e e exemples de codes linaires e

construction du tableau de dchirement e


tableau de dchirement e 0 u v . . c1 u + c1 v + c1 . . c2 u + c2 v + c2 . . ... ... ... . . cn u + cn v + cn . . h(0) h(u) h(v ) . .

tableau de dchirement rduit e e 0 u v . .


Odile PAPINI

h(0) h(u) h(v ) . .


Codes correcteurs derreurs

poids des codes linaires e description par des matrices gnratrices e e description par des matrices de contrle o dcodage dun code linaire e e exemples de codes linaires e

codes simplexes (binaires)


code simplexe un code simplexe (binaire) de longueur 2k 1, un code admettant comme matrice gnratrice une matrice e e k 1)) dont les colonnes sont tous les vecteurs de (k (2 e IFk \ {0}, crits une fois et une seule. 2 proprit ee Un code simplexe (binaire) a pour longueur 2k 1, pour dimension k, et chaque mot non-nul a pour poids 2k1 . Sa capacit de e k2 1. correction e vaut 2 preuve laisse en exercice. e
Odile PAPINI Codes correcteurs derreurs

poids des codes linaires e description par des matrices gnratrices e e description par des matrices de contrle o dcodage dun code linaire e e exemples de codes linaires e

codes de Hamming
code de Hamming un code de Hamming (binaire) de longueur 2k 1, est un code admettant comme matrice de contrle H, une matrice dont les o 2k 1 colonnes sont tous les vecteurs de IFk \ {0}. 2 code simplexe proprit ee Un code de Hamming a pour longueur 2k 1, pour dimension 2k 1 k, et pour capacit de correction e = 1. e preuve laisse en exercice. e

Odile PAPINI

Codes correcteurs derreurs

poids des codes linaires e description par des matrices gnratrices e e description par des matrices de contrle o dcodage dun code linaire e e exemples de codes linaires e

Odile PAPINI

Codes correcteurs derreurs

poids des codes linaires e description par des matrices gnratrices e e description par des matrices de contrle o dcodage dun code linaire e e exemples de codes linaires e

Odile PAPINI

Codes correcteurs derreurs