Simulation d`un code de Hamming (4,7)

publicité
Préparation à l'agrégation 2009/2010
Cours d'algèbre et calcul formel
Simulation d'un code de Hamming
(4, 7)
Le code de Hamming de longueur 7 correspond au codage d'un mot sur {0, 1}
de longueur 4 de la façon suivante :
𝔽42
𝛼
𝔽72
→
où
𝑎𝑏𝑐𝑑 7→ 𝑎𝑏𝑐𝑑𝑥𝑦𝑧
⎧
⎨ 𝑥 =
𝑦 =
⎩
𝑧 =
𝑏+𝑐+𝑑
𝑎+𝑐+𝑑
𝑎+𝑏+𝑑
Les bits 𝑥, 𝑦, 𝑧 sont les bits de redondance.
Écrire la matrice (4, 7), soit 𝐺, de l'application linéaire 𝛼 de la base canonique
de 𝔽42 sur la base canonique de 𝔽72 .
Calculer l'image de 𝐺 et vérier que deux vecteurs distincts de l'image sont
au moins à distance de Hamming 3 (la distance de Hamming de deux vecteurs
est le nombre de bits sur lesquels ils dièrent).
Le décodage Soit 𝐻 la matrice (3, 7) :
⎛
1
𝐻=⎝ 0
0
0
1
0
1
1
0
0
0
1
1
0
1
0
1
1
⎞
1
1 ⎠ .
1
Démontrer que 𝐺 𝑡𝐻 = 0.
Démontrer que 𝑡𝐻 induit une bijection de l'ensemble des vecteurs de 𝔽72 ayant
au plus un bit égal à 1 et 𝔽32 . Comment exprimer simplement cette bijection ?
Soit alors 𝑚 un message de 𝔽42 , 𝛼(𝑚) = 𝑚𝐺 le message envoyé et 𝑚𝐺 + 𝑒 le
message reçu 𝑒 représente l'erreur éventuelle. Alors le vecteur (𝑚𝐺+𝑒)𝑡𝐻 = 𝑒𝑡𝐻
(appelé syndrome) désigne un unique vecteur ayant au plus un bit égal à 1, qui
est exactement 𝑒 síl n'y a pas eu plus d'un bit alteré.
Simuler un décodage.
Soit 𝑝 la probabilité pour qu'un bit soit alteré. Quelle est la probabilité
qu'un message envoyé soit décodé correctement ?
On dit qu'un code de longueur 𝑘 est cyclique si il est stable par décalage
(𝑏0 𝑏1 ...𝑏𝑘−1 ∈ 𝐶 ⇔ 𝑏1 𝑏2 ...𝑏𝑘−1 𝑏0 ∈ 𝐶 ). Démontrer que le code de Hamming cidessus est cyclique (attention, il ne l'est qu`à une permutation près de 𝑎, 𝑏, 𝑐, 𝑑).
On associe au mot 𝑏0 𝑏1 𝑏2 ...𝑏6 la classe du polynôme 𝑏0 + 𝑏1 𝑋 + ⋅ ⋅ ⋅ + 𝑏6 𝑋 6
modulo 𝑋 7 + 1. Démontrer que le code de Hamming correspond à un idéal de
𝔽2 [𝑋]/(𝑋 7 + 1) et en donner un générateur.
C. Picaronny & J. Villard
E.N.S. de Cachan
Téléchargement