Vous êtes sur la page 1sur 58

Introduction Les codes lin eaires en blocs

Codes Correcteurs dErreurs Cours 1 + Introduction + Codes lin eaires en bloc


Marc Chaumont

January 17, 2008

Marc Chaumont

Introduction

Introduction Les codes lin eaires en blocs

Sources

The Art of Correcting Coding, Robert H. Morelos-Zaragoza, 2002 Cours de Pierre Abbrugiati, Universit e de Nice, Cours de Marc Uro, INT Evry.

Marc Chaumont

Introduction

Introduction Les codes lin eaires en blocs

Pr eambule Les 3 principaux param` etres : longueur, dimension, distance Capacit e de d etection et de correction des erreurs Exercice

Plan
1

Introduction Pr eambule Les 3 principaux param` etres : longueur, dimension, distance Capacit e de d etection et de correction des erreurs Exercice Les codes lin eaires en blocs D enition Matrice g en eratrice et de v erication de parit e Exercice Le poids = la distance !

Marc Chaumont

Introduction

Introduction Les codes lin eaires en blocs

Pr eambule Les 3 principaux param` etres : longueur, dimension, distance Capacit e de d etection et de correction des erreurs Exercice

Code d etecteur/correcteur derreur

Par codes, on peut entendre plusieurs concepts distincts : les codes pour la cryptographie, les codes pour la compression, les codes pour la correction derreur. Dans ce cours, nous nous interessons uniquement aux codes correcteurs derreurs.

Marc Chaumont

Introduction

Introduction Les codes lin eaires en blocs

Pr eambule Les 3 principaux param` etres : longueur, dimension, distance Capacit e de d etection et de correction des erreurs Exercice

Constat

Dans la grande majorit e des cas, une transmission de donn ees se fait en utilisant une voie de communication qui nest pas enti` erement able : le canal de communication. Autrement dit, les donn ees, lorsquelles circulent sur cette voie, sont susceptibles d etre alt er ees. Bref, il faut des m ecanismes de d etection et de correction de ces erreurs...

Marc Chaumont

Introduction

Introduction Les codes lin eaires en blocs

Pr eambule Les 3 principaux param` etres : longueur, dimension, distance Capacit e de d etection et de correction des erreurs Exercice

Sch ema classique de la th eorie de linformation

Figure: Transmission avec codage d etecteur/correcteur derreurs

Marc Chaumont

Introduction

Introduction Les codes lin eaires en blocs

Pr eambule Les 3 principaux param` etres : longueur, dimension, distance Capacit e de d etection et de correction des erreurs Exercice

Exemple de canal de communication


Sur internet, (paquets IP) le code correcteur se limite ` a la d etection des erreurs (somme de contr ole). La correction est alors r ealis ee par une nouvelle demande de transmission du message (protocole TCP). Dans le cas du disque compact, les erreurs peuvent etre caus ees par des rayures ou des impuret es du support, elles sont moins fr equentes mais beaucoup plus volumineuses. La norme de la soci et e Philips impose la capacit e de correction derreurs dans le cas dune rayure de 0,2 millim` etre, dans la pratique, le code utilis e corrige jusqu` a 4096 bits cons ecutifs soit une rayure de plus dun millim` etre de large. Communications sans ls : GSM, satelite, sous-marine...
Marc Chaumont Introduction

Introduction Les codes lin eaires en blocs

Pr eambule Les 3 principaux param` etres : longueur, dimension, distance Capacit e de d etection et de correction des erreurs Exercice

Exemple de code d etecteur derreur : le code de parit e et le CRC


le code de parit e: G en eralement, on ajoute ` a 7 bits de donn ees 1 bit valant 1 sil y a un nombre impair de 1, et 0 sinon. Si ` a la r eception un des 8 bits est erron e, il y a d etection derreur. contr ole de redondance cyclique : CRC Les s equences binaires sont trait ees comme des polyn omes dont les coecients correspondent ` a la s equence binaire. On ajoute ` a la s equence binaire le reste dune division polynomiale (division par le ` la r polyn ome g en erateur). A eception le reste de la disision re cu et le reste de la division calcul e doivent coincider ou alors il y a erreur de transmission.
Marc Chaumont Introduction

Introduction Les codes lin eaires en blocs

Pr eambule Les 3 principaux param` etres : longueur, dimension, distance Capacit e de d etection et de correction des erreurs Exercice

Exemple de code d etecteur et correcteur derreur : le code de r ep etition

Technique de codage : Pour un bit dinformation, 3 bits sont envoy es (cad cod es) tels que : 0 000 1 111 Technique de d ecodage : Le d ecodage se fait par vote majoritaire. Par exemple, si le mot re cu est 001, alors on d eduit que le bit emis etait 0.

Marc Chaumont

Introduction

Introduction Les codes lin eaires en blocs

Pr eambule Les 3 principaux param` etres : longueur, dimension, distance Capacit e de d etection et de correction des erreurs Exercice

Codes blocs versus codes convolutifs


codes blocs versus codes convolutifs Les codes correcteurs derreur (ECC) peuvent etre divis es en 2 classes : les codes en bloc: Ils traitent chaque bloc dinformation ind ependamment les uns des autres. Chaque mot de code est ind ependant des autres mots de code. les codes convolutifs: La sortie dun codeur convolutif d epend de linformation courante ` a coder ainsi que de linformation pr ec edente et l etat du codeur.
Note 1 : Le choix dun code d epend de lapplication. Note 2 : Historiquement, les codes convolutifs ont et e pr ef er es pour leur d ecodage souple et la croyance selon laquelle les codes bloc ne pouvaient pas etre d ecod es de mani` ere souple. Note 3 : Les meilleurs codes connus ` a ce jour (d ebut du 21` eme si` ecle) sont les codes blocs (irr eguliers ` a faible densit e de parit e) Marc Chaumont Introduction

Introduction Les codes lin eaires en blocs

Pr eambule Les 3 principaux param` etres : longueur, dimension, distance Capacit e de d etection et de correction des erreurs Exercice

Quattend-on dun bon code

Un bon code doit avoir : un bon rendement (taux) cest-` a-dire un grand nombre de bits dinformation par rapport aux bits cod es. une bonne capacit e de d etection et correction derreurs, une proc edure de d ecodage (et de codage) susamment simple et rapide. Tout le probl` eme de la th eorie des codes correcteurs derreurs est l` a : construire des codes qui d etectent et corrigent le plus derreurs possible, tout en allongeant le moins possible les messages, et qui soient faciles ` a d ecoder.

Marc Chaumont

Introduction

Introduction Les codes lin eaires en blocs

Pr eambule Les 3 principaux param` etres : longueur, dimension, distance Capacit e de d etection et de correction des erreurs Exercice

Plan
1

Introduction Pr eambule Les 3 principaux param` etres : longueur, dimension, distance Capacit e de d etection et de correction des erreurs Exercice Les codes lin eaires en blocs D enition Matrice g en eratrice et de v erication de parit e Exercice Le poids = la distance !

Marc Chaumont

Introduction

Introduction Les codes lin eaires en blocs

Pr eambule Les 3 principaux param` etres : longueur, dimension, distance Capacit e de d etection et de correction des erreurs Exercice

Rappel : Alphabet et mot

Un alphabet est un ensemble ni non vide, ses el ements sont appel es lettres ou symboles. Dans le cas binaire lalphabet est lensemble {0, 1} que lon notera F2 . Un message ou un mot dinformation ou vecteur dinformation ou bloc dinformation ou code source est une suite ` a valeur dans un alphabet, il correspond ` a une suite de symboles. ... exemple de mot appartenant ` a F2 4 : 0011. ... dit autrement, dans le cas binaire, un mot est une suite de 0 et de 1 ou une suite de bits ! Fn : espace vectoriel de dimension n sur le corps ni F.

Marc Chaumont

Introduction

Introduction Les codes lin eaires en blocs

Pr eambule Les 3 principaux param` etres : longueur, dimension, distance Capacit e de d etection et de correction des erreurs Exercice

Principe g en eral
Cadre du cours : nous nous limiterons au cas binaire (alphabet F2 ).

Principe Tous les codes correcteurs derreur (ECC) reposent sur le m eme principe : de la redondance est ajout ee ` a de linformation. Principe g en eral (codage en blocs) Un message est d ecoup e en blocs de k bits (codage en blocs), et un m eme algorithme est appliqu e sur chaque bloc : ou bien on ajoute des bits de contr ole ` a la n de chaque bloc, ou bien on modie compl` etement les blocs mais on evite que deux blocs di erents soient transform es en un m eme bloc.

Marc Chaumont

Introduction

Introduction Les codes lin eaires en blocs

Pr eambule Les 3 principaux param` etres : longueur, dimension, distance Capacit e de d etection et de correction des erreurs Exercice

Illustration dun codage en blocs

Figure: Transmission avec codage correcteur derreur

Figure: Formation dun mot de code par ajout de redondance (code en blocs)
Marc Chaumont Introduction

Introduction Les codes lin eaires en blocs

Pr eambule Les 3 principaux param` etres : longueur, dimension, distance Capacit e de d etection et de correction des erreurs Exercice

D enition dun code


Code Un code est une application injective (tout el ement de lensemble darriv ee a au plus un ant ec edent dans lensemble de d epart) k n : {0, 1} {0, 1} . Le param` etre k est appel e la dimension du code et le parametre n est appel e la longueur du code. code = mot de code Lensemble des el ements de C = {(m), m {0, 1}k } sont appel es les mots de code de (par opposition aux el ements originels qui sont appel es mot de sources).
Par abus de langage on nommera C le code.
Marc Chaumont Introduction

Introduction Les codes lin eaires en blocs

Pr eambule Les 3 principaux param` etres : longueur, dimension, distance Capacit e de d etection et de correction des erreurs Exercice

Distance de Hamming et distance minimale de Hamming


Distance de Hamming La distance de Hamming, dans le cas binaire (F2 ) entre deux vecteurs x et y de dimension n correspond au nombre de composantes pour lequel ces deux vecteurs di` erent. dH (x , y ) = |{i : xi = yi , 0 i n}| Distance minimale dun code C Soit un code C , sa distance minimale de Hamming, dmin , est d enie comme la distance minimum entre toutes les paires de mots de code de C : dmin (C ) = min dH (x , y )
( x ,y ) C
x =y

Marc Chaumont

Introduction

Introduction Les codes lin eaires en blocs

Pr eambule Les 3 principaux param` etres : longueur, dimension, distance Capacit e de d etection et de correction des erreurs Exercice

Illustration sur le code binaire de r ep etition

Le plus simple des ECC est le code binaire de r ep etition de longueur 3. Il consiste ` a r ep eter chaque bits dinformation trois fois; un 0 est cod e (000) et un 1 est cod e (111). La distance de Hamming entre les mots de code (000) et (111) est 3. Puisquil ny a que deux mots de code pour ce code, la distance minimale vaut egalement 3.

Marc Chaumont

Introduction

Introduction Les codes lin eaires en blocs

Pr eambule Les 3 principaux param` etres : longueur, dimension, distance Capacit e de d etection et de correction des erreurs Exercice

Les trois principaux param` etres dun code

Code [n, k , dmin ] La notation [n, k , dmin ] sera utilis ee pour d enoter les param` etres dun code en bloc de taille n, qui code k bits et poss` ede une distance minimale dmin . Remarque : Le taux du code (rendement) est de bits dinformation par bits cod es.
k n

cest ` a dire le nombre

Marc Chaumont

Introduction

Introduction Les codes lin eaires en blocs

Pr eambule Les 3 principaux param` etres : longueur, dimension, distance Capacit e de d etection et de correction des erreurs Exercice

Plan
1

Introduction Pr eambule Les 3 principaux param` etres : longueur, dimension, distance Capacit e de d etection et de correction des erreurs Exercice Les codes lin eaires en blocs D enition Matrice g en eratrice et de v erication de parit e Exercice Le poids = la distance !

Marc Chaumont

Introduction

Introduction Les codes lin eaires en blocs

Pr eambule Les 3 principaux param` etres : longueur, dimension, distance Capacit e de d etection et de correction des erreurs Exercice

Capacit e de d etection derreurs


Capacit e de d etection derreurs dun code [n, k , dmin ] Le nombre derreurs d etectables au maximum est dmin 1

Figure: Sch ema na f de la plus grande sphere (en 2D) de d etection

Marc Chaumont

Introduction

Introduction Les codes lin eaires en blocs

Pr eambule Les 3 principaux param` etres : longueur, dimension, distance Capacit e de d etection et de correction des erreurs Exercice

Sphere de Hamming
Sphere de Hamming Une sph` ere de Hamming St (x ), de rayon t et centr e en x Fn 2 est lensemble des vecteurs ` a une distance de x plus petite ou egale ` at St (x ) = {y Fn 2 |dH (x , y ) t }

Figure: Sch ema na f dune sph` ere (en 2D)

Marc Chaumont

Introduction

Introduction Les codes lin eaires en blocs

Pr eambule Les 3 principaux param` etres : longueur, dimension, distance Capacit e de d etection et de correction des erreurs Exercice

Illustration sur le code binaire ` a r ep etition [3,1,3]

Figure: Les 2 sph` eres de rayon 1 autour des deux mots de code du code binaire ` a r ep etition [3,1,3]

Note : Les sph` eres sont disjointes.


Marc Chaumont Introduction

Introduction Les codes lin eaires en blocs

Pr eambule Les 3 principaux param` etres : longueur, dimension, distance Capacit e de d etection et de correction des erreurs Exercice

Capacit e de correction
Capacit e de correction dun code C La capacit e t de correction derreur dun code C est le plus grand rayon des sph` eres de Hamming pour tous les mot de code tels que pour toute les paires x , y C di erentes, les sph` eres soient disjointes : t = max {l |Sl (x ) Sl (y ) = , x = y }
(x , y ) C

Capacit e de correction et distance minimale dun code C Un code de distance minimale dmin est suceptible de corriger t = (dmin 1)/2 erreurs. Plus pr ecis ement, si le mot y re cu apr` es transmission comporte au plus t composantes erronn ees, il est possible de d eterminer sans ambigu t e le mot de code emis c .
Marc Chaumont Introduction

Introduction Les codes lin eaires en blocs

Pr eambule Les 3 principaux param` etres : longueur, dimension, distance Capacit e de d etection et de correction des erreurs Exercice

Illustration sur le code binaire ` a r ep etition [3,1,3]

Codage : 0 000 1 111 La distance minimum est dmin = 3, Le nombre derreur maximum d etectable est de dmin 1 = 2 erreurs. Le nombre derreur maximum corrigeable est de t = (dmin 1)/2 = 1 erreur.
D erouler les = cas...

Marc Chaumont

Introduction

Introduction Les codes lin eaires en blocs

Pr eambule Les 3 principaux param` etres : longueur, dimension, distance Capacit e de d etection et de correction des erreurs Exercice

Calcul de la distance minimale

Dans le cadre g en eral, il est pratiquement impossible de d eterminer k k k la distance minimale : il y a (2 1)+(2 2)+(2 3)+ ... +1 = 2k (2k + 1) 1/2 (2k + 1)2 1/2 2k + 1/2 distances ` a calculer. Pour k = 50, cela fait 633825300114114137798398181376 distances ` a calculer. Lavantage des code lin eaires, cest que pour calculer dmin cela n ecessite seulement de calculer les poids de Hamming des 2k 1 mot-de-code = 0! Avec k=50 cela fait seulement 1125899906842623 calculs !

Marc Chaumont

Introduction

Introduction Les codes lin eaires en blocs

Pr eambule Les 3 principaux param` etres : longueur, dimension, distance Capacit e de d etection et de correction des erreurs Exercice

Plan
1

Introduction Pr eambule Les 3 principaux param` etres : longueur, dimension, distance Capacit e de d etection et de correction des erreurs Exercice Les codes lin eaires en blocs D enition Matrice g en eratrice et de v erication de parit e Exercice Le poids = la distance !

Marc Chaumont

Introduction

Introduction Les codes lin eaires en blocs

Pr eambule Les 3 principaux param` etres : longueur, dimension, distance Capacit e de d etection et de correction des erreurs Exercice

Exercice sur un codage en blocs


On d esire prot eger un message (un mot) contre les erreurs Soit un bloc u compos e de k symboles. On adjoint r symbole au bloc u ; les r symboles sont calcul es par une fonction appliqu ee sur u et connue du codeur et du d ecodeur. Ces r symboles forment un bloc v = (u ). On appelle ces r symboles: la redondance, ou les symboles de contr oles.

Marc Chaumont

Introduction

Introduction Les codes lin eaires en blocs

Pr eambule Les 3 principaux param` etres : longueur, dimension, distance Capacit e de d etection et de correction des erreurs Exercice

Exercice sur un codage en blocs

La concat enation de u (linformation) et v (la redondance) donne un mot de code de longueur n = k + r . mot de code = code Lensemble de tous les mots obtenus (de longueur n par concat enation de u et v ) de cette fa con forme un code en blocs de longueur n et de dimension k . La fonction d etermine le codage.

Marc Chaumont

Introduction

Introduction Les codes lin eaires en blocs

Pr eambule Les 3 principaux param` etres : longueur, dimension, distance Capacit e de d etection et de correction des erreurs Exercice

Exercice : Sch ema g en eral du codage

Le codage consiste ` a faire correspondre ` a chaque groupe de k symboles dinformation, un mot de code particulier.

Figure: Transmission avec codage correcteur derreur

Marc Chaumont

Introduction

Introduction Les codes lin eaires en blocs

Pr eambule Les 3 principaux param` etres : longueur, dimension, distance Capacit e de d etection et de correction des erreurs Exercice

Exercice : Exemple du codage en blocs


D etection dune erreur de transmission Soit y = (y1 , ..., yn ) un mot re cu par un r ecepteur. La d etection derreur est alors tr` es simple : Soit = (y1 , ..., yk ) la redondance calcul ee par le r ecepteur sur les k premiers symboles re cus. Si la redondance calcul ee est egale ` a la redondance re cue (yk +1 , ..., yn ) le mot y appartient au code, sinon il y a d etection dune erreur.
Syndrome Le syndrome correspond ` a lerreur entre la redondance calcul ee et la redondance re cue. Dans le cas binaire le syndrome vaut s = (yk +1 , ..., yn ) mod 2. Un syndrome nul indique quil ny a pas eu derreur de transmission.
Marc Chaumont Introduction

Introduction Les codes lin eaires en blocs

Pr eambule Les 3 principaux param` etres : longueur, dimension, distance Capacit e de d etection et de correction des erreurs Exercice

Exercice : Un code de Hamming

Soit u = (u1 , u2 , u3 , u4 ) un bloc de 4 bits ` a prot eger. Trois symboles de contr ole sont adjoints ` a u pour former un mot de code. Les symboles de contr oles sont calcul es comme ceci (fonction ): v1 = u2 + u3 + u4 v2 = u1 + + u3 + u4 v3 = u1 + u2 + u4 en eectuant les additions modulo 2.

Marc Chaumont

Introduction

Introduction Les codes lin eaires en blocs

Pr eambule Les 3 principaux param` etres : longueur, dimension, distance Capacit e de d etection et de correction des erreurs Exercice

Exercice : Un code de Hamming

Rappel sur laddition modulo 2 0+0 0+1 1+0 1+1 mod mod mod mod 2=0 2=1 2=1 2=0

ce qui revient ` a faire un OU EXCLUSIF en logique bool eenne. Rappel sur la soustraction modulo 2 a + b mod 2 = a b mod 2

Marc Chaumont

Introduction

Introduction Les codes lin eaires en blocs

Pr eambule Les 3 principaux param` etres : longueur, dimension, distance Capacit e de d etection et de correction des erreurs Exercice

Exercice : Exemple dun code de Hamming

Linformation u = (u1 , u2 , u3 , u4 ) et la redondance v = (v1 , v2 , v3 ) = (u ) permettent dobtenir le mot de code c = (c1 , c2 , c3 , c4 , c5 , c6 , c7 ) = (u1 , u2 , u3 , u4 , v1 , v2 , v3 ).

Marc Chaumont

Introduction

Introduction Les codes lin eaires en blocs

Pr eambule Les 3 principaux param` etres : longueur, dimension, distance Capacit e de d etection et de correction des erreurs Exercice

Exercice : Questions

1 2

Enum erer lensemble des mots de code, Donner la dimension, la longueur et la distance minimum du code, Donner le taux de ce code, Donner la capacit e de d etection, Donner la capacit e de correction. Un mot y re cu apr` es une transmission est y = (1000110). Ya-t-il eu erreur de transmission ? Donner la valeur du syndrome.

3 4 5 6

Marc Chaumont

Introduction

Introduction Les codes lin eaires en blocs

Pr eambule Les 3 principaux param` etres : longueur, dimension, distance Capacit e de d etection et de correction des erreurs Exercice

Correction :
1

Enum erer lensemble des mots de code, 2k = 24 = 16 mots de codes (lister les mots de codes), Donner la dimension (=4), la longueur (=7) et la distance minimum du code (soul` eve la question du nombre de distance ` a calculer 2k (2k + 1) 1/2 (2k + 1)2 1/2 2k + 1/2 = 120 calculs ...) remarque : dmin = 3, Donner le taux de ce code (4/7 0.57), Donner la capacit e de d etection (dmin 1 = 2), Donner la capacit e de correction ( (dmin 1)/2 = 1), Un mot y re cu apr` es une transmission est y = (1000110). Ya-t-il eu erreur de transmission ? Donner la valeur du syndrome.
Marc Chaumont Introduction

3 4 5 6

Introduction Les codes lin eaires en blocs

Pr eambule Les 3 principaux param` etres : longueur, dimension, distance Capacit e de d etection et de correction des erreurs Exercice

correction

Un mot y re cu apr` es une transmission est y = (1000110). Ya-t-il eu erreur de transmission ? Linformation de redondance calcul ee sur le code re cu est w = (y1 , y2 , y3 , y4 ) = (1000) = 011. Linformation de redondance re cue est v = (y5 , y6 , y7 ) = (110). Donc, il y a eu une erreur de transmission (w = v ). Le syndrome s = v w mod 2 = 110 011 = 101.

Marc Chaumont

Introduction

Introduction Les codes lin eaires en blocs

D enition Matrice g en eratrice et de v erication de parit e Exercice Le poids = la distance !

Plan
1

Introduction Pr eambule Les 3 principaux param` etres : longueur, dimension, distance Capacit e de d etection et de correction des erreurs Exercice Les codes lin eaires en blocs D enition Matrice g en eratrice et de v erication de parit e Exercice Le poids = la distance !

Marc Chaumont

Introduction

Introduction Les codes lin eaires en blocs

D enition Matrice g en eratrice et de v erication de parit e Exercice Le poids = la distance !

D enition
Code lin eaire Un code lin eaire C de longueur n est un sous-espace vectoriel de Fn . Cela signie que le codage peut etre r ealis e par des multiplications matricielles. Code lin eaire : D enition bis Un code C [n, k , dmin ] est dit lin eaire sil existe une matrice G de dimension k n dont les coecients sont dans F tels que lensemble des mots de code soient obtenus par le produit matriciel entre les mots de source u et G. Pour Fn 2 : C = {y |y = u .G , u {0, 1}k }

Marc Chaumont

Introduction

Introduction Les codes lin eaires en blocs

D enition Matrice g en eratrice et de v erication de parit e Exercice Le poids = la distance !

Remarque

Le code de Hamming [7, 4, 3] que nous avons vu dans lexercice pr ec edent est un code lin eaire. Une matrice G (k n) de ce code 1 0 0 0 1 0 G = 0 0 1 0 0 0 est (` a red emontrer chez soi): 0 0 1 1 0 1 0 1 0 1 1 0 1 1 1 1

Marc Chaumont

Introduction

Introduction Les codes lin eaires en blocs

D enition Matrice g en eratrice et de v erication de parit e Exercice Le poids = la distance !

Circuit imprim es
Circuits imprim es Un codeur et un d ecodeur (lin eaire en blocs) peut etre r ealis ee par utilisation de quelques portes ET et OU exclusif. Rappel sur laddition modulo 2 et le produit modulo 2 0+0 0+1 1+0 1+1 mod mod mod mod 2=0 2=1 2=1 2=0 0.0 0.1 1.0 1.1 mod mod mod mod 2=0 2=0 2=0 2=1

Laddition revient ` a faire un OU EXCLUSIF en logique bool eenne. Le produit revient ` a faire un ET en logique bool eenne.

Marc Chaumont

Introduction

Introduction Les codes lin eaires en blocs

D enition Matrice g en eratrice et de v erication de parit e Exercice Le poids = la distance !

Plan
1

Introduction Pr eambule Les 3 principaux param` etres : longueur, dimension, distance Capacit e de d etection et de correction des erreurs Exercice Les codes lin eaires en blocs D enition Matrice g en eratrice et de v erication de parit e Exercice Le poids = la distance !

Marc Chaumont

Introduction

Introduction Les codes lin eaires en blocs

D enition Matrice g en eratrice et de v erication de parit e Exercice Le poids = la distance !

Introduction de la forme matricielle

Un code lin eaire [n, k , dmin ] est un sous-espace vectoriel de dimension k Soit C un code lin eaire (en blocs) [n, k , dmin ]. Puisque C est un sousespace vectoriel de dimension k , il poss` ede une base (de vecteurs) {v0 , v1 , ..., vk 1 }, telle que chaque mot de code c C peut etre repr esent e comme une combinaison lin eaire des el ements dans la base : c = u0 v0 + u1 v1 + ... + uk 1 vk 1 o` u ui {0, 1}, 0 i < k 1.

Marc Chaumont

Introduction

Introduction Les codes lin eaires en blocs

D enition Matrice g en eratrice et de v erication de parit e Exercice Le poids = la distance !

Matrice g en eratrice
Sous forme matricielle, cela peut se r e- ecrire: c = uG o` u G = v0 v1 . . . vk 1 en eratrice. Cette matrice est appel ee matrice g
Marc Chaumont Introduction

v 0 ,0 v0 ,1 v 1 ,0 v 1,1 = ... ... vk 1 ,0 v k 1 ,1 ... v0,n1 ... v1,n1 . ... ... ... vk 1,n1

Introduction Les codes lin eaires en blocs

D enition Matrice g en eratrice et de v erication de parit e Exercice Le poids = la distance !

Matrice de v erication de parit e - matrice de contr ole

Puisque C est un espace vectoriel de dimension k , il existe un espace dual C , g en er e` a partir des lignes de la matrice H , appel ee matrice de v erication de parit e telle que : GH t = 0 o` u H t d enote la transpos ee de H . c C , cH t = 0

Marc Chaumont

Introduction

Introduction Les codes lin eaires en blocs

D enition Matrice g en eratrice et de v erication de parit e Exercice Le poids = la distance !

Repr esentation syst ematique


Codage syst ematique Un codage est dit syst ematique lorsque lon retrouve dans le mot cod e les k symboles dinformation dans k positions d etermin ees. Repr esentation syst ematique Si un codage peut etre mis sous forme syst ematique, la matrice g en eratrice G dun code lin eaire en blocs [n, k , dmin ] peut etre mis sous forme syst ematique Gsys par des op erations el ementaires sur les lignes et/ou des permutations sur les colonnes. La matrice Gsys est compos ee de 2 sous-matrices : la matrice identit e k k (not e Ik ) et la matrice k (n k ) de parit e (not ee P ) telles que : Gsys = (Ik |P )
Marc Chaumont Introduction

Introduction Les codes lin eaires en blocs

D enition Matrice g en eratrice et de v erication de parit e Exercice Le poids = la distance !

Matrice Hsys

Calcul de la matrice de contr ole Hsys ` a partir de Gsys Puisque le produit de la matrice g en eratrice G et de la matrice de v erication de parit e transpos ee H t egale z ero (G .H t = 0), il est simple dobtenir la matrice de contr ole Hsys ` a partir de Gsys . SiGsys = (Ik |P ) Hsys = (P t |Ink ) = (P t |Ink )
t = (I |P ).( P ) = P + P = 0. D emo : Gsys .Hsys k Ink

Marc Chaumont

Introduction

Introduction Les codes lin eaires en blocs

D enition Matrice g en eratrice et de v erication de parit e Exercice Le poids = la distance !

Exemple - code binaire lin eaire [4, 2, 2]


Matrice g en eratrice: G= 1 0 1 0 1 1 0 1

Matrice sous forme syst ematique (permutation de la deuxi` eme et quatri` eme colonne) : 1 0 1 1 Gsys = 0 1 1 0 La sous-matrice de v erication de parit e vaut alors: P= 1 1 1 0

La matrice de v erication de parit e (sous forme syst ematique (Hsys = (P t |Ink )): 1 1 1 0 Hsys = 1 0 0 1
Marc Chaumont Introduction

Introduction Les codes lin eaires en blocs

D enition Matrice g en eratrice et de v erication de parit e Exercice Le poids = la distance !

Exemple - code binaire lin eaire [4, 2, 2]


Soit u = (u0 , u1 ) les bits dinformation et c = (co , c1 , c2 , c3 ) les mots de code. La sous-matrice de v erication de parit e vaut : P= 1 1 1 0

Donc les bits de contr oles u .P sont tels que : c2 = u0 + u1 c3 = u0 bits d information mot de code (00) (0000) (01) (0110) (10) (1011) (11) (1101)
Marc Chaumont Introduction

Introduction Les codes lin eaires en blocs

D enition Matrice g en eratrice et de v erication de parit e Exercice Le poids = la distance !

Plan
1

Introduction Pr eambule Les 3 principaux param` etres : longueur, dimension, distance Capacit e de d etection et de correction des erreurs Exercice Les codes lin eaires en blocs D enition Matrice g en eratrice et de v erication de parit e Exercice Le poids = la distance !

Marc Chaumont

Introduction

Introduction Les codes lin eaires en blocs

D enition Matrice g en eratrice et de v erication de parit e Exercice Le poids = la distance !

Exercice - code de Hamming [7, 4, 3]

Donner la matrice g en eratrice de ce code (sous forme syst ematique), Donner la matrice de contr ole, Donner le r esultat du codage de u = (1010), Calculer le produit de y = (1000110) par H t . Quen d eduisezvous de y ?, Combien de sommes et de produits n ecessite le produit matriciel (codage) ? Cela vous parait-il exag er e (complexit e) ?

Marc Chaumont

Introduction

Introduction Les codes lin eaires en blocs

D enition Matrice g en eratrice et de v erication de parit e Exercice Le poids = la distance !

Correction - code de Hamming [7, 4, 3]


Donner la matrice g en eratrice de ce code (sous forme syst ematique), 1 0 0 0 0 1 1 0 1 0 0 1 0 1 Gsys = 0 0 1 0 1 1 0 0 0 0 1 1 1 1 Donner la matrice de contr ole 0 Pt = 1 1 Hsys (Soit Gsys = (Ik |P )). 1 1 1 0 1 1 1 0 1

0 1 1 1 1 0 0 = (P t |Ink ) = 1 0 1 1 0 1 0 1 1 0 1 0 0 1
Marc Chaumont Introduction

Introduction Les codes lin eaires en blocs

D enition Matrice g en eratrice et de v erication de parit e Exercice Le poids = la distance !

Correction - code de Hamming [7, 4, 3]

Donner la matrice g en eratrice de ce code (sous forme syst ematique), Donner la matrice de contr ole, Donner le r esultat du codage de u = (1010), 1010101 Calculer le produit de y = (1000110) par H t . Quen d eduisezvous de y ?, y .H t = 101, Le mot y nest pas un mot de code. Combien de sommes et de produits n ecessite le produit matriciel (codage) ? n k sommes, et n k produit. Cela vous parait-il exag er e (complexit e) ? Pas tant que cela, mais on peut faire mieux. En codage syst` ematique, il est par exemple possible d eviter les calculs de recopie des bits dinformations.

Marc Chaumont

Introduction

Introduction Les codes lin eaires en blocs

D enition Matrice g en eratrice et de v erication de parit e Exercice Le poids = la distance !

Plan
1

Introduction Pr eambule Les 3 principaux param` etres : longueur, dimension, distance Capacit e de d etection et de correction des erreurs Exercice Les codes lin eaires en blocs D enition Matrice g en eratrice et de v erication de parit e Exercice Le poids = la distance !

Marc Chaumont

Introduction

Introduction Les codes lin eaires en blocs

D enition Matrice g en eratrice et de v erication de parit e Exercice Le poids = la distance !

Le poids de Hamming = la distance !

Poids de Hamming Le poids de Hamming w (x ) dun vecteur x de F2 n est le nombre de composantes non nulles de x. Il est donc imm ediat que x F2 n , wH (x ) = dH (x , 0)

Marc Chaumont

Introduction

Introduction Les codes lin eaires en blocs

D enition Matrice g en eratrice et de v erication de parit e Exercice Le poids = la distance !

Exemple de calcul de poids

x = (1110100), w (x ) = 4 y = (0101100), w (y ) = 3

Marc Chaumont

Introduction

Introduction Les codes lin eaires en blocs

D enition Matrice g en eratrice et de v erication de parit e Exercice Le poids = la distance !

Le poids = la distance !
Pour les codes binaires lin eaires : dH (x , y ) = dH (x + y , 0) = wh (x + y ) Par lin earit e, x + y C do` u: Une jolie propri et e des codes lin eaires Calculer la distance minimum de Hamming est equivalent ` a calculer le poids minimum de Hamming de tous les mots de code non nuls (il y a 2k 1 mots de code).

Marc Chaumont

Introduction

Introduction Les codes lin eaires en blocs

D enition Matrice g en eratrice et de v erication de parit e Exercice Le poids = la distance !

Exercice - code de Hamming [7, 4, 3]

Calculer la distance minimale du code de Hamming [7, 4, 3].

Marc Chaumont

Introduction

Vous aimerez peut-être aussi