2.3 Codes BCH et codes produits
2.3.2 Synchronisation trame par adaptation de la matrice de contrˆole
Les codes BCH et les codes produits ont des matrices de contrˆole de parit´e non creuses. Il est donc pr´evisible que la m´ethode de synchronisation trame propos´ee au paragraphe 1.2 (m´ethode du SSS) ait des difficult´es pour synchroniser ces types de codes. Nous proposons dans ce paragraphe d’effectuer quelques modifications `a notre crit`ere de synchronisation pour avoir une nouvelle technique de synchronisation trame
tel-00428895, version 2 - 2 Dec 2009
Bloc d’information Redondance
Redondance due à Redondance
due à
due à
nc2
nb2×nb1 C1(nc1, nb1)
C2(nc2, nb2) C1etC2
Figure 2.9 —Un Code Produit construit `a partir de deux codes en blocs lin´eaires et syst´ematiques.
aveugle sp´ecialement con¸cue pour ces types de codes. L’id´ee principale de cette tech-nique que nous appelons m-SSS (modified Soft Syndrome based Synchronisation) est inspir´ee de l’algorithme de d´ecodage du m-ABP (Modified Adaptive Belief Propaga-tion) d´ecrit dans la suite.
Algorithme de d´ecodage du m-ABP
L’algorithme BP est consid´er´e comme ´etant l’algorithme de r´ef´erence pour le d´ecodage des codes en blocs lin´eaires de type LDPC. Cependant, tout comme pour notre algorithme de synchronisation, l’algorithme BP n’est pas appropri´e si la matrice de contrˆole de parit´e du code en bloc n’est pas creuse, cas des codes BCH, des codes produits et des codes RS. Un algorithme BP adapt´e, connu sous le nom ABP (Adaptive Belief Propagation), a ´et´e r´ecemment propos´e pour le d´ecodage des codes RS [39, 40].
Le principe consiste `a adapter la matrice de contrˆole de parit´e au cours du processus it´eratif de l’algorithme BP en fonction de l’´evolution de la fiabilit´e des bits d’infor-mation. Cette adaptation a pour but de diminuer le nombre de 1 des colonnes de la matrice associ´ees aux bits d’information les moins fiables. L’algorithme du ABP ´etant complexe `a impl´ementer, une version modifi´ee (m-ABP) a ´et´e propos´ee par Jego et Gross dans [38]. L’algorithme m-ABP appliqu´e aux codes produits BCH est pr´esent´e ci-dessous.
Tout d’abord, les symboles appartenant `a chaque ligne (colonne) du code produit re¸cu sont r´earrang´es suivant leur fiabilit´e. En d’autres termes, nous classons ces symboles par leurs valeurs absolues. Ensuite, lesnrcolonnes de la matrice de contrˆole de parit´eH correspondant auxnr symboles les moins fiables sont r´eduits pour obtenir une matrice identit´e carr´ee. Ceci est effectu´e par la m´ethode d’´elimination de Gauss. L’objectif de cette proc´edure est de r´eduire le nombre de 1 dans la partie de la matrice de contrˆole de parit´e qui est associ´ee aux bits les moins fiables. L’´etape suivante du d´ecodeur m-ABP est l’algorithme it´eratif classique du BP : chaque ligne et colonne du code produit est d´ecod´ee par un d´ecodeur BP o`u chaque it´eration est appel´ee “it´eration locale”. Les d´ecodeurs lignes et colonnes ´echangent entre eux des informations extrins`eques par un processus it´eratif. Nous d´esignons par “it´eration globale” chaque it´eration de ce
pro-tel-00428895, version 2 - 2 Dec 2009
62 correcteurs d’erreurs cessus it´eratif. Finalement, les d´ecisions fermes sont effectu´ees `a la derni`ere it´eration globale.
Une fois appliqu´e aux produits BCH, l’algorithme du m-ABP est plus performant que le ABP classique et pr´esente les mˆemes performances en termes de BER que le Chase-Pyndiah [38]. Dans le paragraphe suivant, nous d´ecrivons comment utiliser une partie de l’algorithme de d´ecodage pr´esent´e ci-dessus dans la m´ethode de synchronisation trame aveugle que nous proposons pour les codes BCH et les codes produits.
Synchronisation des codes BCH
La m´ethode de synchronisation que nous proposons dans ce paragraphe est bas´ee sur le mˆeme concept que celui de la technique de synchronisation trame aveugle propos´ee au paragraphe 1.2 du chapitre pr´ec´edent, mais avec quelques petites modifications. Les codes BCH ´etant des codes courts, nous devons augmenter la taille de la fenˆetre de synchronisation afin d’obtenir des performances acceptables pour notre m´ethode de synchronisation. Dans le paragraphe 1.2 et pour des raisons de simplicit´e, nous avons suppos´e que la fenˆetre de synchronisation contient un seul bloc de longueur nc bits.
Dans le cas des codes BCH, nous utilisons une fenˆetre glissante de taille Knc o`uK est un entier sup´erieur ou ´egal `a 1.
A chaque position de la fenˆetre glissante et pour chaque bloc de taille nc contenu dans cette fenˆetre, nous arrangeons ses symboles suivant leur fiabilit´e puis nous adaptons la matrice de contrˆole de parit´e correspondante, comme d´ecrit au paragraphe pr´ec´edent.
Une fois cette op´eration effectu´ee, nous calculons le mˆeme crit`ere de synchronisation que celui de (1.29), mais cette fois-ci pour une taille de la fenˆetre de synchronisation
´egale `a Knc. La position de synchronisation est alors estim´ee par : ˆtmSSS = argmin
Dans le cas des codes produits, nous profitons de leur structure multidimensionnelle et proposons une m´ethode de synchronisation sp´ecialement con¸cue pour ce type de codes. Soit un code produitC(nc1nc2, nb1nb2) bidimensionnel construit `a partir des deux codes ´el´ementaires C1(nc1, nb1) et C2(nc2, nb2), qui sont des codes en blocs lin´eaires et syst´ematiques. Le code produit ´etant de longueur nc = nc1nc2, nous consid´erons une fenˆetre glissante de taille Knc1nc2. Pour chaque bloc de taille nc1nc2 contenu dans la fenˆetre glissante, nous divisons la proc´edure propos´ee de synchronisation trame en deux parties.
Tout d’abord, nous arrangeons les symboles dans chaque ligne du code produit suivant leur fiabilit´e. Chaque ligne permut´ee entraˆıne une adaptation de la matrice de contrˆole de parit´e du code C1, comme expliqu´e au paragraphe pr´ec´edent. Ensuite, pour chaque ligne du code produit re¸cu, nous calculons les LLR des ´el´ements du syndrome suivant l’´equation (1.28), et ceci en utilisant la matrice de contrˆole de parit´e adapt´ee du code C1. Soit ˆφ1(t) la somme de ces LLR.
tel-00428895, version 2 - 2 Dec 2009
notre m´ethode de synchronisation propos´ee est identique `a la pr´ec´edente mais cette fois-ci appliqu´ee aux colonnes du code re¸cu. Le r´esultat est ˆφ2(t), somme des LLR des
´el´ements du syndrome des colonnes du code, obtenue en utilisant la matrice de contrˆole de parit´e adapt´ee du code C2.
Finalement, nous calculons un nouveau crit`ere de la m´ethode propos´ee :
φˆp(t) = ˆφ1(t) + ˆφ2(t) (2.15) et la position de synchronisation trame est estim´ee par :
ˆtmSSS = argmin
t=0,...,nc−1{φˆp(t)}. (2.16)