13.07.2015 Views

Mécanismes de fiabilisation pro-actifs - ISAE

Mécanismes de fiabilisation pro-actifs - ISAE

Mécanismes de fiabilisation pro-actifs - ISAE

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

108 Chapitre 6. Co<strong>de</strong>s à eacements MDS basés sur les FNTLe dénominateur <strong>de</strong> la somme fractionnelle étant égal à a(x), le numérateur seraalors s(x). Grâce à la <strong>pro</strong>position 6.13, il est possible alors <strong>de</strong> déterminer s(x) avec lacomplexité O(n log n + 2k log 2k).Dans le cas général, la complexité <strong>de</strong> l'algorithme <strong>de</strong> décodage <strong>de</strong> la FNT estdonc O(k log 2 k + n log n). Dans le cas où les k premiers éléments sont reçus, cettecomplexité <strong>de</strong>vient O(k log k + n log n).Il est important <strong>de</strong> remarquer que le calcul <strong>de</strong> a(x) et l'évaluation <strong>de</strong> sa dérivéesur les i ne dépen<strong>de</strong>nt seulement que <strong>de</strong>s positions reçues. Elle est indépendante <strong>de</strong>svaleurs reçues. Dans le cadre <strong>de</strong> l'adaptation aux symboles/paquets, composé d'unnombre sz d'éléments <strong>de</strong> Fq, les positions reçues sont i<strong>de</strong>ntiques pour l'ensemble <strong>de</strong>ssz bi-octets d'un paquet/symbole.A titre d'exemple, une trame Ethernet <strong>de</strong> 1500 octets possè<strong>de</strong> donc sz = 750bi-octets. Lorsque ces trames sont reçues, les positions reçues sont donc i<strong>de</strong>ntiquespour ces 750 éléments <strong>de</strong> Fq.Le calcul <strong>de</strong> a(x) et <strong>de</strong>s évaluations <strong>de</strong> sa dérivée n'est donc eectué qu'une foispar symbole/paquet. En pratique, la complexité du décodage <strong>de</strong> la FNT est doncO( k log2 ksz + n log n + 2k log 2k). La partie divisée par sz <strong>de</strong>vient ainsi négligeable, etpour un taux <strong>de</strong> codage xé, k étant une <strong>pro</strong>portion <strong>de</strong> n, en pratique, la complexitédu décodage <strong>de</strong> la FNT sur <strong>de</strong>s paquets/symboles <strong>de</strong>vient donc O(n log n).6.2.4 Construction d'un co<strong>de</strong> systématiqueDans le paragraphe précé<strong>de</strong>nt, nous avons vu que la FNT était encodable et décodableen tant que co<strong>de</strong> MDS(n,k) avec une complexité logarithmique. Cependant laFNT n'est pas un co<strong>de</strong> systématique. An <strong>de</strong> rendre l'encodage et le décodage systématique,nous introduisons un encodage/décodage FNT supplémentaire, permettant<strong>de</strong> conserver la complexité logarithmique.Soit s = (s 0 ; s 1 ; :::; s k 1 ) le vecteur d'éléments sources. Au niveau <strong>de</strong> l'enco<strong>de</strong>ur, àpartir <strong>de</strong> ce vecteur <strong>de</strong> taille k, nous eectuons un décodage FNT <strong>de</strong> taille n. Ceci nouspermet donc d'obtenir un vecteur i = (i 0 ; i 1 ; :::; i k 1 ) <strong>de</strong> k éléments intermédiaires.Il sut alors d'appliquer la FNT sur les éléments intermédiaires, qui nous permetainsi d'obtenir une ensemble <strong>de</strong> n éléments codés, les k premiers correspondant alorsaux éléments systématiques, c = (s 0 ; s 1 ; :::s k 1 ; c k ; c k+1 ; :::; c n 1 ). Ce mécanisme estschématisé sur la Figure 6.1.Au niveau du déco<strong>de</strong>ur, le mécanisme est similaire. Un décodage FNT eectuésur les symboles codés permet <strong>de</strong> retrouver l'ensemble <strong>de</strong>s symboles intermédiaires.En appliquant alors la FNT, on retrouve les k symboles sources sur les k premièrespositions (ainsi que les autres symboles codés par ailleurs). Ce comportement estschématisé sur la Figure 6.2.L'ensemble enco<strong>de</strong>ur/déco<strong>de</strong>ur ainsi créé forme ce que nous appelons le co<strong>de</strong> RS-FNT.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!