0% ont trouvé ce document utile (0 vote)
64 vues27 pages

Cours Code Cyclique-3

Le document présente un rappel sur les polynômes et définit les codes cycliques, qui sont des ensembles de mots stables par décalage circulaire. Il explique également la différence entre les codes cycliques et les codes systématiques, ainsi que la représentation polynomiale des mots et des codes. Des exemples de codes cycliques, tels que les codes de Hamming et de parité, sont fournis pour illustrer les concepts abordés.

Transféré par

Bertrand BOGNINOU
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
64 vues27 pages

Cours Code Cyclique-3

Le document présente un rappel sur les polynômes et définit les codes cycliques, qui sont des ensembles de mots stables par décalage circulaire. Il explique également la différence entre les codes cycliques et les codes systématiques, ainsi que la représentation polynomiale des mots et des codes. Des exemples de codes cycliques, tels que les codes de Hamming et de parité, sont fournis pour illustrer les concepts abordés.

Transféré par

Bertrand BOGNINOU
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Rappel sur les polynômes Définitions d’un code cyclique Codes cycliques vs codes systématiques

codes cycliques
Par :
SAMEN Yannick

Abomey-calavi, Juin 2016

logo
Rappel sur les polynômes Définitions d’un code cyclique Codes cycliques vs codes systématiques

Sommaire

1 Rappel sur les polynômes

2 Définitions d’un code cyclique

3 Codes cycliques vs codes systématiques

logo
Rappel sur les polynômes Définitions d’un code cyclique Codes cycliques vs codes systématiques

Rappel sur les polynômes

Définition 1.1
Un polynôme à coefficients dans F2 est une fonction de la forme
P(X ) = a0 + a1 X + a2 X 2 + · · · + an X n avec ∀i ∈ {0, · · · n},
ai ∈ F2 .
Si an 6= 0, l’entier n est appelé le degré du polynôme P et noté
deg (P); les entiers ai sont appelés les coefficients de P.
Par convention le polynôme nul est considéré comme étant de
degré −∞.
Dans F2 , on a toujours (a + b)2 = a2 + b 2 . Et il suit que
P(X 2 ) = P(X )2 .
logo
Rappel sur les polynômes Définitions d’un code cyclique Codes cycliques vs codes systématiques

Division euclidienne

Proposition 1.1
Soient P1 et P2 deux polynômes à coefficients dans F2 .
Alors il existe deux polynômes Q et R à coefficients dans F2 , et
uniques tels que P1 = P2 × Q + R et deg (R) < deg (P2 ).
Q est appelé le quotient de la division euclidienne de P1 par P2 et
R le reste.

logo
Rappel sur les polynômes Définitions d’un code cyclique Codes cycliques vs codes systématiques

Sommaire

1 Rappel sur les polynômes

2 Définitions d’un code cyclique

3 Codes cycliques vs codes systématiques

logo
Rappel sur les polynômes Définitions d’un code cyclique Codes cycliques vs codes systématiques

À partir de maintenant, les codes considérés ne seront plus


nécessairement systématiques (même si on s’efforcera de repérer et
d’étudier ceux qui le sont). De plus, on considèrera désormais les
codes ” à équivalence près”, c’est-à-dire qu’on identifiera deux
codes qui ont la même image, c’est-à-dire qu’on identifiera un code
à son image.

logo
Rappel sur les polynômes Définitions d’un code cyclique Codes cycliques vs codes systématiques

Codes cycliques

Définition 2.1 (Code cyclique)


Soit C un code de paramètres (k, n).
Le code C est dit cyclique si l’ensemble des mots du code est
stable par décalage circulaire.
En d’autres termes, si on dispose d’une fonction σ de permutation
circulaire telle que σ(c1 , c2 , · · · , cn ) = cn , c1 , c2 , · · · , cn−1 , un code
C est cyclique si ∀c ∈ C , σ(c) ∈ C .

logo
Rappel sur les polynômes Définitions d’un code cyclique Codes cycliques vs codes systématiques

Example 1
La plupart des principaux codes étudiés jusqu’à présent sont
cycliques.
Les codes de répétition pure (k, n) sont cycliques.
Le code par bit de parité est cyclique.
Le code de Hamming systématique (4, 7) est cyclique.
Plus généralement il existe des codes de Hamming
(2m − m − 1, 2m − 1) cycliques
Le code de Hamming étendu (4, 8) n’est pas cyclique.

logo
Rappel sur les polynômes Définitions d’un code cyclique Codes cycliques vs codes systématiques

Example 1
La plupart des principaux codes étudiés jusqu’à présent sont
cycliques.
Les codes de répétition pure (k, n) sont cycliques.
Le code par bit de parité est cyclique.
Le code de Hamming systématique (4, 7) est cyclique.
Plus généralement il existe des codes de Hamming
(2m − m − 1, 2m − 1) cycliques
Le code de Hamming étendu (4, 8) n’est pas cyclique.

logo
Rappel sur les polynômes Définitions d’un code cyclique Codes cycliques vs codes systématiques

Example 1
La plupart des principaux codes étudiés jusqu’à présent sont
cycliques.
Les codes de répétition pure (k, n) sont cycliques.
Le code par bit de parité est cyclique.
Le code de Hamming systématique (4, 7) est cyclique.
Plus généralement il existe des codes de Hamming
(2m − m − 1, 2m − 1) cycliques
Le code de Hamming étendu (4, 8) n’est pas cyclique.

logo
Rappel sur les polynômes Définitions d’un code cyclique Codes cycliques vs codes systématiques

Codes cycliques engendrés par un mot

Définition 2.2
Soit m ∈ {0, 1}n et C le plus petit sous-espace vectoriel de {0, 1}n
stable par décalage circulaire.
Alors C est un code cyclique qu’on appelle code cyclique
engendré par m.
Explicitement, le code cyclique engendré par m est composé de
tous les vecteurs obtenus par des décalages circulaires itérés de m,
auquel on ajoute le mot nul.

logo
Rappel sur les polynômes Définitions d’un code cyclique Codes cycliques vs codes systématiques

Example 2
1 Le code cyclique engendré par 111 est (équivalent à) notre
code de répétion pure (1, 3).
2 Le code cyclique engendré par 110000000 est (équivalent à)
notre code de bit de parité (8, 9)
3 Le code cyclique engendré par 1101000 est (équivalent à) un
code de Hamming (4, 7)
4 Le code cyclique engendré par 1011100 est (équivalent à) un
code Simplexe (3, 7) (les colonnes de sa matrice génératrice
sont une énumération de F32 excepté le vecteur nul).

logo
Rappel sur les polynômes Définitions d’un code cyclique Codes cycliques vs codes systématiques

Example 2
1 Le code cyclique engendré par 111 est (équivalent à) notre
code de répétion pure (1, 3).
2 Le code cyclique engendré par 110000000 est (équivalent à)
notre code de bit de parité (8, 9)
3 Le code cyclique engendré par 1101000 est (équivalent à) un
code de Hamming (4, 7)
4 Le code cyclique engendré par 1011100 est (équivalent à) un
code Simplexe (3, 7) (les colonnes de sa matrice génératrice
sont une énumération de F32 excepté le vecteur nul).

logo
Rappel sur les polynômes Définitions d’un code cyclique Codes cycliques vs codes systématiques

Example 2
1 Le code cyclique engendré par 111 est (équivalent à) notre
code de répétion pure (1, 3).
2 Le code cyclique engendré par 110000000 est (équivalent à)
notre code de bit de parité (8, 9)
3 Le code cyclique engendré par 1101000 est (équivalent à) un
code de Hamming (4, 7)
4 Le code cyclique engendré par 1011100 est (équivalent à) un
code Simplexe (3, 7) (les colonnes de sa matrice génératrice
sont une énumération de F32 excepté le vecteur nul).

logo
Rappel sur les polynômes Définitions d’un code cyclique Codes cycliques vs codes systématiques

Générateur d’un code cyclique

Théorème 2.1
Soit C un code cyclique (k, n).
Alors il existe un unique polynôme
g (X ) = a0 + a1 X + · · · + an−k X n−k (an−k = 1) tel que:
g(X) est un diviseur de X n + 1
C est le code cyclique engendré par m = a0 a1 · · · an−k 0 · · · 0
(k − 1 zéros)
Les mots m = a0 a1 · · · an−k 0 · · · 0;
σ(m) = 0a0 a1 · · · an−k 0 · · · 0; · · · ;
σ(m)k−1 = 0 · · · 0a0 a1 · · · an−k forment une base de C. Ce qui
signifie qu’une matrice génératrice de C est donnée par:
logo
Rappel sur les polynômes Définitions d’un code cyclique Codes cycliques vs codes systématiques

Générateur d’un code cyclique

Théorème 2.1
Soit C un code cyclique (k, n).
Alors il existe un unique polynôme
g (X ) = a0 + a1 X + · · · + an−k X n−k (an−k = 1) tel que:
g(X) est un diviseur de X n + 1
C est le code cyclique engendré par m = a0 a1 · · · an−k 0 · · · 0
(k − 1 zéros)
Les mots m = a0 a1 · · · an−k 0 · · · 0;
σ(m) = 0a0 a1 · · · an−k 0 · · · 0; · · · ;
σ(m)k−1 = 0 · · · 0a0 a1 · · · an−k forment une base de C. Ce qui
signifie qu’une matrice génératrice de C est donnée par:
logo
Rappel sur les polynômes Définitions d’un code cyclique Codes cycliques vs codes systématiques

 
a0 0 0

 a1 a0 0 
.. .. ..

 

 . . . 

 an−k an−k−1 · · · 0 
G= 
 0
.
 an−k a0 

 0 0 a1 
 
 .. .. .. 
 . . . 
0 0 an−k

On peut donc voir un code cyclique (k, n) comme un polynôme (à


coefficients dans F2 ) qui divise le polynôme X n + 1.
logo
Rappel sur les polynômes Définitions d’un code cyclique Codes cycliques vs codes systématiques

 
a0 0 0

 a1 a0 0 
.. .. ..

 

 . . . 

 an−k an−k−1 · · · 0 
G= 
 0
.
 an−k a0 

 0 0 a1 
 
 .. .. .. 
 . . . 
0 0 an−k

On peut donc voir un code cyclique (k, n) comme un polynôme (à


coefficients dans F2 ) qui divise le polynôme X n + 1.
logo
Rappel sur les polynômes Définitions d’un code cyclique Codes cycliques vs codes systématiques

Représentation polynomiale

Définition 2.3
Soit C un code cyclique (k, n) et m = a0 a1 · · · an un mot de
longueur n.
1 On appelle représentation polynomiale de m le polynôme
a0 + a1 X + · · · + an X n .
2 On appelle polynôme générateur de C le polynôme g(X)
défini par le théorème fondamental.

Notation
Dorénavant, on identifiera systématiquement un mot avec sa
représentation polynomiale et un code cyclique avec son polynôme
générateur. logo
Rappel sur les polynômes Définitions d’un code cyclique Codes cycliques vs codes systématiques

Représentation polynomiale

Définition 2.3
Soit C un code cyclique (k, n) et m = a0 a1 · · · an un mot de
longueur n.
1 On appelle représentation polynomiale de m le polynôme
a0 + a1 X + · · · + an X n .
2 On appelle polynôme générateur de C le polynôme g(X)
défini par le théorème fondamental.

Notation
Dorénavant, on identifiera systématiquement un mot avec sa
représentation polynomiale et un code cyclique avec son polynôme
générateur. logo
Rappel sur les polynômes Définitions d’un code cyclique Codes cycliques vs codes systématiques

Exemple

Example 3
Le polynôme générateur du code de répétition pure (1, n) est
1 + X + X 2 + · · · + X n−1
Le polynôme 1 + X + X 3 est le polynôme générateur d’un
code de Hamming (4, 7)
Le polynôme 1 + X 2 + X 3 est le polynôme générateur d’un
autre code de Hamming (4, 7)!!!!

logo
Rappel sur les polynômes Définitions d’un code cyclique Codes cycliques vs codes systématiques

Sommaire

1 Rappel sur les polynômes

2 Définitions d’un code cyclique

3 Codes cycliques vs codes systématiques

logo
Rappel sur les polynômes Définitions d’un code cyclique Codes cycliques vs codes systématiques

Agorithme de codage pour un code cyclique

Dans cette section, on montre comment coder et décoder sans


avoir à utiliser de matrice génératrice ni retrouver de matrice de
contrôle.
Proposition 3.1
Soit C un code cyclique de polynôme générateur g(X).
Soit m un mot de source, de représentation polynomiale Pm (X ).
Alors le mot image correspondant a pour représentation
polynomiale g (X ) × Pm (X ).

logo
Rappel sur les polynômes Définitions d’un code cyclique Codes cycliques vs codes systématiques

Algorithme de codage

Remarque 3.1
Soit C un code cyclique (k, n). Alors un mot de longueur n est un
mot de code si et seulement si sa représentation polynomiale est
un multiple de g(X), ce qui revient à dire que le reste de la division
euclidienne de sa représentation polynomiale par g(X) est nul.

logo
Rappel sur les polynômes Définitions d’un code cyclique Codes cycliques vs codes systématiques

Exercice

Soit le polynôme générateur g (X ) = 1 + X + X 3 d’un code


cyclique C.
1 Donner le mot de code du mot issu du codage de u = 1101.
2 Donner la matrice génératrice G associée au polynôme
générateur,
3 Vérifier que le mot de code obtenu par u × G est le même que
celui obtenu à la question 1.
4 Le mot 1010001 est-il un mot de code?

logo
Rappel sur les polynômes Définitions d’un code cyclique Codes cycliques vs codes systématiques

Matrice de contrôle

Proposition 3.2
La matrice de contrôle associée à la matrice génératrice G (obtenu
dans le théorème fondamental) est:

 
bk bk−1 · · · b0 0 ··· 0
 0 bk bk−1 · · · b0 ··· 0 
.
 
 ..
 . 
0 ··· 0 bk bk−1 · · · b0

Où h(X ) = b0 + b1 X + · · · + bk X k est le polynôme défini par


Xn + 1 logo
h(X ) = .
g (X )
Rappel sur les polynômes Définitions d’un code cyclique Codes cycliques vs codes systématiques

Exercice

Soit le polynôme générateur g (X ) = 1 + X + X 3 du code de


Hamming C [7, 4, 3].
1 Donner le polynôme permettant d’obtenir la matrice de
contrôle.
2 Puis donner la matrice de contrôle
3 Enfin, le mot 1010101 est-il un mot de code?

logo

Vous aimerez peut-être aussi