03 Codes Correcteurs d'Erreurs 4 Trans Parents Par Page.pdf

6
 Codes de Hamming Code binaire de Golay Codes Correcteurs d’Erreurs Les  codes bina ires lin´ eai res  parfaits + Code de Hamming, + Code de Golay Marc Chaumont November 12, 2008 Marc Chaumont  Introduction Codes de Hamming Code binaire de Golay eniti on Proc´ edure codag e e t d´ ecod age simpli´ ee Exercice Plan 1  Codes de Hamming e ni ti on Pro c´ edur e cod age et d´ eco dage simpli ´ ee Exercice 2  Code binaire de Go lay Introduction Codage ec od age Code de Golay ´ etendu Marc Chaumont  Introduction Codes de Hamming Code binaire de Golay eniti on Proc´ edure codag e e t d´ ecod age simpli´ ee Exercice e ni ti on Rappel :  la borne de Hamming po ur un code lin´ eaire e st t i =0 n i  2 nk . Si  d min  = 3, t  = 1 on a alors : 1 +  n 2 nk . Code  de Hamming Les  codes de Hamming  [n, k , d min ] sont des codes de distance d min  = 3,  t  = 1, tels  que la borne de Hamming est atteinte : n  =  2 nk  1.  Ce sont donc des code s parf ait s. Les cod es de Hamming sont donc des codes [2 nk 1, k , 3]. Plus en´ era leme nt en posant  m  =  n k  on les note [2 m 1, 2 m 1 m, 3]. Marc Chaumont  Introduction Codes de Hamming Code binaire de Golay eniti on Proc´ edure codag e e t d´ ecod age simpli´ ee Exercice e ni ti on Les codes de Hamming sont [2 m 1, 2 m 1 m, 3], la matrice de contrˆ ole  H  est donc une matrice  m × 2 m 1. Code de Hamming La  matrice de contrˆ ole (eri cati on) est obte nue par ´ enum´ era tion en colonne de tous les mots de code de m bits non nuls. Marc Chaumont  Introduction

Transcript of 03 Codes Correcteurs d'Erreurs 4 Trans Parents Par Page.pdf

Codes de Hamming Code binaire de Golay

Codes de Hamming Code binaire de Golay

Dnition e Procdure codage et dcodage simplie e e e Exercice

Plan Codes Correcteurs dErreurs Les codes binaires linaires parfaits e + Code de Hamming, + Code de GolayMarc Chaumont

1

Codes de Hamming Dnition e Procdure codage et dcodage simplie e e e Exercice Code binaire de Golay Introduction Codage Dcodage e Code de Golay tendu e

2

November 12, 2008

Marc Chaumont

Introduction Dnition e Procdure codage et dcodage simplie e e e Exercice

Marc Chaumont

Introduction Dnition e Procdure codage et dcodage simplie e e e Exercice

Codes de Hamming Code binaire de Golay

Codes de Hamming Code binaire de Golay

Dnition e

Dnition e

Rappel : la borne de Hamming pour un code linaire est e 2nk . Si dmin = 3, t = 1 on a alors : 1 + n 2nk . Code de Hamming

t n i=0 i

Les codes de Hamming sont [2m 1, 2m 1 m, 3], la matrice de contrle H est donc une matrice m 2m 1. o Code de Hamming La matrice de contrle (vrication) est obtenue par numration o e e e en colonne de tous les mots de code de m bits non nuls.

Les codes de Hamming [n, k, dmin ] sont des codes de distance dmin = 3, t = 1, tels que la borne de Hamming est atteinte : n = 2nk 1. Ce sont donc des codes parfaits. Les codes de Hamming sont donc des codes [2nk 1, k, 3]. Plus gnralement e e m 1, 2m 1 m, 3]. en posant m = n k on les note [2

Marc Chaumont

Introduction

Marc Chaumont

Introduction

Codes de Hamming Code binaire de Golay

Dnition e Procdure codage et dcodage simplie e e e Exercice

Codes de Hamming Code binaire de Golay

Dnition e Procdure codage et dcodage simplie e e e Exercice

Exemple du code de Hamming [7,4,3]On a dj` vu ce code de nombreuses fois ! et bien il vrie la borne ea e de Hamming ! On peut remarquer que les colonnes de la matrice de vrication e 3 1 = 7 mots = 0 reprsentable sont bien une numration de 2 e e e sur 3 bits. Matrice de vrication de parit: e e 1 1 1 0 1 0 0 H= 0 1 1 1 0 1 0 1 1 0 1 0 0 1

Un peu dhistoire ...

Le code du minitel est le code de Hamming [128, 120, 3]. Ce qui correspond ` coder 15 octets ` laide dun octet supplmentaire ! a a e Remarque : Vous tes capable de gnrer la matrice H donc Hsys e e e donc Gsys donc coder et dcoder ce code de longueur 128 bits! e Le taux est de 120/128 = 0.93.

Marc Chaumont

Introduction Dnition e Procdure codage et dcodage simplie e e e Exercice

Marc Chaumont

Introduction Dnition e Procdure codage et dcodage simplie e e e Exercice

Codes de Hamming Code binaire de Golay

Codes de Hamming Code binaire de Golay

Plan

Proprit permettant de simplier le codage et le dcodage ee eLa matrice de vrication de parit H des codes de Hamming a e e toutes ces colonnes direntes. Si une erreur e survient en une e position j, 0 j n 1, alors le syndrome est gal ` la j eme e a colonne de H. Soit e le vecteur erreur ajout ` un mot de code transmis sur un e a canal BSC tel que seule la j eme composante de e vaut 1, ej = 1. Soit y le vecteur reu. Le syndrome est c s = yH t = eH t = hj , avec hj la j eme colonne de H et 0 j n 1.

1

Codes de Hamming Dnition e Procdure codage et dcodage simplie e e e Exercice Code binaire de Golay Introduction Codage Dcodage e Code de Golay tendu e

2

Marc Chaumont

Introduction

Marc Chaumont

Introduction

Codes de Hamming Code binaire de Golay

Dnition e Procdure codage et dcodage simplie e e e Exercice

Codes de Hamming Code binaire de Golay

Dnition e Procdure codage et dcodage simplie e e e Exercice

Dcodage simpli e e

Exemple du code de Hamming [7,4,3]Matrice de vrication de parit: e e 1 1 1 0 1 0 0 H= 0 1 1 1 0 1 0 1 1 0 1 0 0 1 H est donn par les reprsentations binaires des entiers 1 ` 7 (bits e e a de poids faibles en partie basse de la matrice). 0 0 0 1 1 1 1 H = 0 1 1 0 0 1 1 1 0 1 0 1 0 1

Lide est de modier la matrice H pour que le syndrome pass en e e base 10 donne comme valeur la position de lerreur dans le vecteur erreur. Matrice adapte e Les colonnes de la matrice H sont exprimes comme des e reprsentations binaires de nombres entiers i compris dans lintervalle e [1, n] de mani`re croissante. On notera H cette nouvelle matrice. e Note : Le code associ ` la matrice H est le mme que celui associ ea e e ` H ` des permutations de colonnes et/ou de lignes pr`s. a a e

Marc Chaumont

Introduction Dnition e Procdure codage et dcodage simplie e e e Exercice

Marc Chaumont

Introduction Dnition e Procdure codage et dcodage simplie e e e Exercice

Codes de Hamming Code binaire de Golay

Codes de Hamming Code binaire de Golay

Plan

Exercice de dcodage simpli avec le code de Hamming e e [7,4,3]Codes de Hamming Dnition e Procdure codage et dcodage simplie e e e Exercice Code binaire de Golay Introduction Codage Dcodage e Code de Golay tendu e

1

2

Le mot y = (0110101) a t reu. A partir de la matrice de contrle ee c ` o H corriger lerreur sil y en a une et vrier que la correction est e valide.

Marc Chaumont

Introduction

Marc Chaumont

Introduction

Codes de Hamming Code binaire de Golay

Dnition e Procdure codage et dcodage simplie e e e Exercice

Codes de Hamming Code binaire de Golay

Introduction Codage Dcodage e Code de Golay tendu e

Correction de dcodage simpli avec le code de Hamming e e [7,4,3]

Plan

1

Codes de Hamming Dnition e Procdure codage et dcodage simplie e e e Exercice Code binaire de Golay Introduction Codage Dcodage e Code de Golay tendu e

2

Marc Chaumont

Introduction Introduction Codage Dcodage e Code de Golay tendu e

Marc Chaumont

Introduction Introduction Codage Dcodage e Code de Golay tendu e

Codes de Hamming Code binaire de Golay

Codes de Hamming Code binaire de Golay

Code de GolayGolay a remarqu que : e3 i=0

Plan

23 i

= 211

1

Rappel : borne de Hamming pour un code binaire linaire [n, k, dmin ] e t n nk . : i=0 i 22

Codes de Hamming Dnition e Procdure codage et dcodage simplie e e e Exercice Code binaire de Golay Introduction Codage Dcodage e Code de Golay tendu e

Cette galit montre la possible existance dun code binaire parfait e e [n = 23, k = 23 11 = 12, dmin = 3 2 + 1 = 7]. Code de Golay Dans son papier, Golay donne la matrice gnratrice dun tel code e e binaire capable de corriger jusqu` 3 erreurs binaires pour un mot a de code binaire de 23 bits.Marc Chaumont Introduction

Marc Chaumont

Introduction

Codes de Hamming Code binaire de Golay

Introduction Codage Dcodage e Code de Golay tendu e

Codes de Hamming Code binaire de Golay

Introduction Codage Dcodage e Code de Golay tendu e

Matrice gnratrice e e

Matrice de contrle de G[23, 12, 7] o

Soit A11 la matrice carre 1111 dont la premi`re ligne est 11011100010 e e et les lignes suivantes les dcales circulaires successives vers la e e gauche de celle-ci. Matrice gnratrice du Code de Golay [23, 12, 7] e e = I12 1 A11 = (I12 A)

Matrice de contrle - matrice de parit o e La matrice = 1 = (I12 , A) du code G (23) est sous A11 forme systmatique, sa matrice de contrle (matrice de parit) est e o e donc : H = (At , Ink ) = (A, I12 ). I12

e o` 1 est le vecteur ligne constitu de onze 1. u

Marc Chaumont

Introduction Introduction Codage Dcodage e Code de Golay tendu e

Marc Chaumont

Introduction Introduction Codage Dcodage e Code de Golay tendu e

Codes de Hamming Code binaire de Golay

Codes de Hamming Code binaire de Golay

Codage du code de Golay [23, 12, 7]Le codage est bas sur une look-up table (LUT) (table de correspone ` dance) qui contient la liste des 212 = 4096 mot de code. A chacun 12 vecteurs dinformation u de 12 bits, la LUT associe un mot des 2 de code de taille 23 bits. LUTc : bits dinformation (12 bits) ... mot de code (23 bits) ...

Plan

1

Codes de Hamming Dnition e Procdure codage et dcodage simplie e e e Exercice Code binaire de Golay Introduction Codage Dcodage e Code de Golay tendu e

2

Construction de la LUTc gnrer les 212 vecteurs dinformation de 12 bits (colonne de e e gauche du tableau), pour chaque vecteur dinformation u calculer le mot de code associ. eMarc Chaumont Introduction

Marc Chaumont

Introduction

Codes de Hamming Code binaire de Golay

Introduction Codage Dcodage e Code de Golay tendu e

Codes de Hamming Code binaire de Golay

Introduction Codage Dcodage e Code de Golay tendu e

Dcodage du code de Golay [23, 12, 7] eLe dcodage est galement bas sur une look-up table (LUT) qui e e e contient la liste des vecteur erreurs de poids infrieur ou gal ` 3. e e a 11 syndrome s de 11 bits, la LUT associe un vecteur A chacun des 2 erreur de taille 23 bits. LUTd : syndrome (11 bits) ... vecteur erreur (23 bits) ...

Remarque : Le code de Golay est un code cyclique de polynme o gnrateur g (X ) = X 11 + X 10 + X 6 + X 5 + X 4 + X 2 + 1. Ce que e e lon verra plus tard... Plutt que dutiliser des produits matriciels pour gnrer les mots de o e e code et les syndrmes, on peut utiliser des produits de polynmes... o o

Construction de la LUTd gnrer les 211 vecteurs derreur de 11 bits, e e pour chaque vecteur derreur e calculer le syndrome associ s e remplir la LUT Note : Le mot de code c issu du dcodage dun vecteur y sera : e c = y + LUTd (syndrome(y )) Marc Chaumont Introduction Introduction Codage Dcodage e Code de Golay tendu e

Marc Chaumont

Introduction Introduction Codage Dcodage e Code de Golay tendu e

Codes de Hamming Code binaire de Golay

Codes de Hamming Code binaire de Golay

Plan

Code de Golay tendu [24, 12, 7] eLe code de Golay tendu consiste ` ajouter un bit de contrle e a o supplmentaire par rapport au code de Golay [23, 12, 7]. e Soit A11 la matrice carre circulante 11 11. e Matrice gnratrice du code de Golay tendu e e e = I12 0 1t 1 A11 = (I12 A)

1

Codes de Hamming Dnition e Procdure codage et dcodage simplie e e e Exercice Code binaire de Golay Introduction Codage Dcodage e Code de Golay tendu e

2

o` 1 est le vecteur ligne constitu de onze 1. u e Matrice de contrle - matrice de parit du code de Golay tendu o e e La matrice de contrle (matrice de parit) est : o e H = (At , Ink ) = (A, I12 ).

Marc Chaumont

Introduction

Marc Chaumont

Introduction