Vous êtes sur la page 1sur 6

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 Golay
Marc Chaumont

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

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 e


La 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.

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

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

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

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

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 Golay
Golay a remarqu que : e
3 i=0

Plan

23 i

= 211

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

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

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

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. e
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

Dcodage du code de Golay [23, 12, 7] e


Le 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] e


Le 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)

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

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