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