· Soit M = m1 m2 … mk un bloc de k bits à transmettre
· Le codeur transforme M en un bloc de n bits C = c1 c2 … cn
· Un tel code est noté code (n, k)
· Le code est en bloc si le mot C ne dépend que de M
· Le rendement du code R = k ¸ n
· Le poids de Hamming d’un mot du code est le nombre de 1 qu’il contient
· La distance de Hamming entre deux mots de code est le poids du vecteur somme
Exemple d’encodage avec pour hypothèses n = 12, k = 8, G(x) = x4 + x3 + 1 (équivaut à 11001) et un message à envoyer = 10011010 :
100110100000|11001
|--------
11001 |11100111
----- |
10100
|
11001
|
-----
|
11011
|
11001
|
-----
|
100
|
1000
|
10000
|
11001
|
-----
|
10010 |
11001 |
----- |
10110|
11001|
-----|
1111|
Exemple de décodage avec pour hypothèses n = 12, k = 8, G(x) = x4 + x3 + 1 (équivaut à 11001) et un message reçu = 100110101111 (celui qu’on a envoyé précédemment) :
100110101111|11001
|--------
11001 |11100111
----- |
10100
|
11001
|
-----
|
11011
|
11001
|
-----
|
100 |
1001
|
10011
|
11001
|
-----
|
10101 |
11001 |
----- |
11001|
11001|
-----|
00000|
1. G(x) possède deux termes ou plus,
2. G(x) ne divise pas 1 + xr avec r = {1, …, n},
3. G(x) est de degré p,
permet de détecter 1 ou 2 erreurs indépendantes et tous les paquets d'erreurs de longueur inférieure ou égale à p ( deg (G) = p) à condition que l’erreur E(x) ne soit pas un multiple de G(x) (probabilité très faible et dépendant du polynôme générateur choisi).