Vous êtes sur la page 1sur 3

Codage de canal et turbo-codes

11/ 10/ 2001

1/3

TD sur les codes linaires et cycliques


1. Exercice 1 : extension dun code de Hamming
Soit H la matrice de parit du code de Hamming binaire (15,11).

?1 ?0 H ?? ?0 ? ?1
1. 2. 2. 4.

1 1 1 0 1 1 0 1 0 0 1 0 0 0? 1 1 1 1 0 0 1 1 1 0 0 1 0 0? ? 0 1 1 1 1 1 0 0 1 1 0 0 1 0? ? 1 1 0 1 0 1 1 0 0 1 0 0 0 1?

Quelle est la distance minimale de ce code ? Proposer un mthode de dcodage permettant de corriger une erreur ou de remplir deux effacements. Sachant que le code est cyclique, dterminer son polynme gnrateur On ajoute H une ligne et une colonne. La nouvelle matrice de parit du code tendu est la suivante :

?1 ?0 ? H ' ? ?0 ? ?1 ? ?1
4.1. 4.2. 4.3. 4.4.

1 1 0 1 1

1 1 1 1 1

1 1 1 0 1

0 1 1 1 1

1 0 1 0 1

1 0 1 1 1

0 1 0 1 1

1 1 0 0 1

0 1 1 0 1

0 0 1 1 1

1 0 0 0 1

0 1 0 0 1

0 0 1 0 1

0 0 0 1 1

0? 0? ? 0? ? 0? 1? ?

A quoi correspond pratiquement cette modification ? Ecrire H sous forme systmatique. Quels sont les nouveaux paramtres (et en particulier sa distance minimale) de ce code. Est-il cyclique ? Montrer que ce code tendu est capable la fois de corriger les erreurs simples et de dtecter les erreurs double en exhibant un algorithme idoine.

2. Exercice 2 : Le code Reed-Solomon (7,3)


Soit C le code de Reed-Solomon dfini sur GF(8), de longueur n=7 symboles et de dimension k =3. Notons ? llment primitif du corps GF(8). 1. 2. 3. Quelle est la capacit de correction de C, sa distance minimale et le nombre de bit par mots de code ? Le polynme gnrateur g (x) du code C admet comme racines les quatre lments ? , ? 2 , ? 3 , ? 4 . Calculer g (x). Le codeur reoit de la source dinformation un bloc i form de 9 bits : i = 000 011 000 3.1 Ecrire i sous forme de trois symboles de GF(8) et calculer le polynme dinformation i(x) sachant que les trois premiers bits constituent le terme constant de i(x). 3.2 Dterminer le polynme (mot de code) c(x) en sortie du codeur systmatique. Convertir c (x) en un bloc de 21 bits. Le Dcodeur reoit le bloc : V = 100 100 000 000 000 011 000 On souhaite retrouver le mot de code mis c(x) en dcodant le bloc reu par lalgorithme de Peterson et. al. 4.1. Aprs avoir transform le bloc reu en une squence de 7 symboles appartenant GF(8), exprimer le polynme reu v(x) et les 4 syndromes S 1 =v(? ),S 2 =v(? 2 ), S 3 =v( ? 3 ) et S 4 =v(? 4 ).

4.

Cours 4 : TD sur les codes linaires et cycliques

O. Pothier

Codage de canal et turbo-codes

11/ 10/ 2001

2/3

4.2.

Trouver le nombre de symboles errons en examinant e l dterminant de la matrice des syndromes : ?S S 2 ? M ?? 1 ? ?S 2 S3 ? Calculer le polynme localisateur derreur ? ?x ? ? ? 2 x 2 ? ? 1 x ? 1 sachant que ses coefficients sont donns par le systme : ?? 2 ? ? 1 ?S 3 ? ?? ? ? M ?S ? ? 1? ? 4? Calculer ? ?

4.3

4.4 4.5

? ? et ? ?? ?. Donner la position des symboles errons (positions notes de 0 6).


4 5

Soient X 1 ? ? i1 et X 2 ? ? i2 o i1 et i2 reprsentent les positions des erreurs (i1 < i2 ). Trouver les amplitudes Y1 et Y2 des erreurs en rsolvant le systme linaire :

?Y1 ? ? X 1 ?Y ? ? ? X 2 ? 2? ? 1

X 2 ? ?S 1 ? ? ? X 22 ? ? ?S 2 ?

?1

Poser e ?x ? ? Y1 x i1 ? Y 2 x i2 et vrifier que la somme v(x)+e(x) est gale au mot de code c(x) calcul au 3.2.

3. Codage et dcodage dans le domaine frquentiel dun code BCH Soit u ? ?u0 , u1, ? , u n? 1 ? un vecteur binaire. On dfinit sa transforme de Fourrier discrte sur GF(2m ) comme le vecteur U ? ? U 0 , U1 , ? ,U n ? 1 ? vrifiant :
Uj ?
o ? est un lment de GF(2m ) dordre n . 1. Montrer que si n est impair, on a :

? ij u i ? i ?0

n? 1

j=0,, n -1

ui ?

n? 1 j? 0

? ij

Uj

i=0,, n -1

Dans la suite, on supposera, sans le montrer que cette transforme de Fourrier transforme un produit de convolution en un produit ordinaire. Soit C un code linaire cyclique de longueur n impaire et de polynme gnrateur :

g ?x ? ?
2.

n? k

gi xi ? i? 0

On note Gj les coefficients de la transforme de Fourrier du vecteur compos des coefficients de g (x). Montrer quun certain nombre des Gj sont nuls . En dduire quun mot binaire de longueur n appartient C si et seulement si un certain nombre des coefficients de sa transforme de Fourrier sont nuls (prciser lesquels). En dduire un procd de codage des codes cycliques dans le domaine frquentiel.

Soit C un code BCH primitif binaire de longueur n ? 2m ? 1 , de capacit de correction t. Le dcodeur reoit le mot reprsent par le polynme : r(x)=c(x)+e(x) Soit ? ?X ? le polynme localisateur derreur :

? ?X ? ? ? 1 ? ? is X
s ?1

o i1 , ? , i? sont les positions des erreurs ( ? ? t ). ? reprsente ici llment primitif de GF(2m ). Les transformes de Fourrier sur GF(2m ) utiliseront le mme lment. On note E(X) le polynme dont les coefficients sont les transformes de Fourrier des coefficients de e(x).

Cours 4 : TD sur les codes linaires et cycliques

O. Pothier

Codage de canal et turbo-codes

11/ 10/ 2001

3/3

E ?X ??
3. Montrer que lon a :
n ?1 j? 0

n? 1 j ?0

EjX

? j E ??k ? j ?? ? 0

k =0,, n -1

((k -j))=k -j mod n Montrer que E(X) et ? ?X ? nont pas de racines communes dans GF(2m ) et que lon connat 2t coefficients de E(X). 4. En dduire que :

Ek ?

j ?1

? j E??k ? j ??

k =0,, n -1

et montrer que les coefficients du polynmes localisateur derreurs peuvent se calculer en rsolvant un systme linaire t inconnues. 5. Trouver deux mthodes pour expliciter le vecteur derreur grce aux questions prcdentes.

Cours 4 : TD sur les codes linaires et cycliques

O. Pothier