III.5.2. La construction des codes LDPC de Gallager
Pour construire la matrice de parité H d'un
code LDPC de Gallager, il faut d'abord construire une sous-matrice Hj
ayant un poids des colonnes égal à 1 et un poids de
lignesp. Ensuite, on doit trouver de permutations des colonnes de
cette sous-matrice pour former les autres sous-matrices avec lesquelles on
forme la matrice de Gallager qui se présente de manière suivante
:
H1
H2
H??
Lorsqu'on choisit les permutations des colonnes des
sous-matrices, on doit garder une bonne distance minimale de la matrice de
parité H et il faut éviter les cycles courts dans son
graphe de Tanner. Gallager ne donne aucune méthode de construction pour
ce type de codes.
Si on compare les performances en terme de Taux d'Erreurs
Binaire d'un tel code LDPC avec d'autres codes LDPC obtenus par ordinateur, qui
ont le même rendement et presque la même longueur, on peut observer
que le code EG-LDPC est meilleur.
On ne peut pas construire de codes LDPC dans la forme de
Gallager basés sur la géométrie projective, parce que les
lignes dans une géométrie projective n'ont pas la même
structure parallèle simple que les lignes de la géométrie
Euclidienne.
III.5.3. Les codes LDPC aléatoires
On peut construire de codes LDPC pseudo-aléatoires
à l'aide de l'ordinateur d'une manière basée sur un
ensemble de conditions données par la définition des codes LDPC.
Ces codes fournissent de bonnes performances [35]. La construction de la
matrice de parité H est faite en plusieurs étapes. On
choisit la première colonne de la matrice de manière
aléatoire, ayant un certain poids. À chaque étape, une
nouvelle colonne de même poids est ajoutée à une matrice
formée partiellement. La colonne ajoutée est choisie entre
plusieurs colonnes selon les conditions à respecter par la matrice de
parité d'un code LDPC [34].
En raison des conditions imposées pendant la
construction du code, le graphe de Tanner ne contient pas de cycles d'ordre 4
et alors son périmètre est égal à au moins 6. Cette
construction n'est efficace que pour des petites valeurs du poids des colonnes
(3 ou 4). Pour des valeurs de poids plus grandes, les ordinateurs n'arrivent
pas à effectuer efficacement les calculs (en un temps raisonnable).
Le code construit par cette méthode n'est pas unique
parce que les colonnes sont choisies aléatoirement et il y a une
multitude de choix possibles. Ainsi, ce type de construction
génère un ensemble de codes LDPC aléatoires.
Il est très difficile de déterminer la distance
minimale du code et pour de petites valeurs des poids, la limite
inférieure pour la distance minimale peut être très petite.
Ces codes n'ont pas les mêmes propriétés structurales que
les codes de géométrie finie (pas de structure cyclique ou
quasi-cyclique). En conséquence, l'implémentation
matérielle de ces codes est beaucoup plus complexe et ne peut pas
être réalisée avec des registres à décalage
linéaires.
Ces codes ne peuvent pas être décodés par
le décodage logique majoritaire ou par le décodage avec
basculement de bit (BF). Avec le décodage SPA, la solution ne converge
pas aussi vite que dans le cas des codes LDPC de géométrie
finie.
En termes de performance, ces codes s'approchent beaucoup de
la limite de Shannon.
|