Etude et Implementation logiciel des codes...

22
1 Etude et Etude et Implémentation Implémentation logicielle logicielle des codes fontaines des codes fontaines Ali BAZZI Ali BAZZI Encadrant: Mme Catherine DOUILLARD

Transcript of Etude et Implementation logiciel des codes...

Page 1: Etude et Implementation logiciel des codes fontainesdepartements.imt-atlantique.fr/data/sc/seminaires/... · 2010. 7. 12. · 21 Interprétation • Le décodeur proposé par Luby

1

Etude et Etude et ImplémentationImplémentationlogiciellelogicielle

des codes fontainesdes codes fontaines

Ali BAZZIAli BAZZI

Encadrant: Mme Catherine DOUILLARD

Page 2: Etude et Implementation logiciel des codes fontainesdepartements.imt-atlantique.fr/data/sc/seminaires/... · 2010. 7. 12. · 21 Interprétation • Le décodeur proposé par Luby

22

IntroductionIntroduction

• canaux à effacement

• Fontaine linéaire

•Codes LT

•Codes raptor

•Implémentation des codes LT

•Résultats

•Conclusion

Page 3: Etude et Implementation logiciel des codes fontainesdepartements.imt-atlantique.fr/data/sc/seminaires/... · 2010. 7. 12. · 21 Interprétation • Le décodeur proposé par Luby

33

Canal à effacementCanal à effacement

0

1

0

1

*

1-f

1-f

f

f

• f : probabilité d’effacement

• Les fichiers émis sont découpés en paquets, et chaque paquet est reçu sans erreur ou bien n’est pas reçu.

• Une transition de ‘0’ vers ‘1’ ou de ‘1’ vers ‘0’ est impossible

• Grande importance : transmission de fichiers sur internet.

Page 4: Etude et Implementation logiciel des codes fontainesdepartements.imt-atlantique.fr/data/sc/seminaires/... · 2010. 7. 12. · 21 Interprétation • Le décodeur proposé par Luby

44

Message source

codeur

Seaux numériques

•Digital FountainDigital Fountain::

– Les K Symboles d’informations peuvent être récuperés à partir de n’importe quels N symboles codés

–Idéalement, le processus de codage et de décodage necessite un petit overhead (N ≥ K)

Fontaine linéaire aléatoireFontaine linéaire aléatoire

Page 5: Etude et Implementation logiciel des codes fontainesdepartements.imt-atlantique.fr/data/sc/seminaires/... · 2010. 7. 12. · 21 Interprétation • Le décodeur proposé par Luby

55

CodageCodage

1

1

1

11

1

1

11

1

1

11

1

1

1

1

11

1

1

11

1

11

1

11

1

1

1

11

11

1

1

1

1

1

1

1

1

1

11

1

1

11

1

1

1

1

1

1 1

1

11

1

11

1

1

11

1

1

11

1

1

11

1

11

1

1

1

11

1

1

1

1

1

111

K=10paquets

N= illimitée

Sans rendement

Paquets reçus Paquets effacés

tj = siGij

Page 6: Etude et Implementation logiciel des codes fontainesdepartements.imt-atlantique.fr/data/sc/seminaires/... · 2010. 7. 12. · 21 Interprétation • Le décodeur proposé par Luby

66

DécodageDécodage N < K : on n’ a pas l’information suffisante pour récupérer

l’information

N = K : La récupération est possible si la matrice génératrice KxK est inversible

La probabilité que cette matrice soit inversible vaut:

P = (1-2-K)(1-2-(K-1)) … (1-1/8)(1-1/4)(1-1/2)

P ≈ 0.289 pour K > 10

Mais… on veut que P soit proche de 1

Page 7: Etude et Implementation logiciel des codes fontainesdepartements.imt-atlantique.fr/data/sc/seminaires/... · 2010. 7. 12. · 21 Interprétation • Le décodeur proposé par Luby

77

Si Si N est légèrement supérieur à K:N est légèrement supérieur à K:

Prenons : Prenons : N=K+EN=K+E EE: nb de paquets en excès.: nb de paquets en excès.

La question sera: Quelle est la probabilité de trouver une La question sera: Quelle est la probabilité de trouver une matrice inversible matrice inversible KKxxKK dans notre matrice génératrice dans notre matrice génératrice KKxxNN ? ?

cette probabilité est : cette probabilité est : PP=1-=1- : Probabilité d’échec: Probabilité d’échec

En traçant En traçant en fonction de E en fonction de E

on obtient une borne supérieureon obtient une borne supérieure (E) ≤ 2(E) ≤ 2- E- E

donc si donc si NN = = KK+log+log221/1/ on a probabilité de récupération au moins on a probabilité de récupération au moins égale à égale à P = 1- P = 1-

Décodage

Page 8: Etude et Implementation logiciel des codes fontainesdepartements.imt-atlantique.fr/data/sc/seminaires/... · 2010. 7. 12. · 21 Interprétation • Le décodeur proposé par Luby

88

Codes LT Codes LT Le code LT est la première réalisation d’unLe code LT est la première réalisation d’uncode sans rendement. C’est également lacode sans rendement. C’est également lapremière réalisation pratique des codes première réalisation pratique des codes fontaines. fontaines.

Il conserve les bonnes performances des codes Il conserve les bonnes performances des codes présentés avant sous forme matricielle, tout en présentés avant sous forme matricielle, tout en présentant une nette réduction de complexité de présentant une nette réduction de complexité de codage et de décodage(le temps de calcul est codage et de décodage(le temps de calcul est proportionnelle à proportionnelle à OO(ln(lnKK) par symbole codé et ) par symbole codé et OO((KKlnlnKK) ) pour le décodage).pour le décodage).

Page 9: Etude et Implementation logiciel des codes fontainesdepartements.imt-atlantique.fr/data/sc/seminaires/... · 2010. 7. 12. · 21 Interprétation • Le décodeur proposé par Luby

99

Codage des codes LTCodage des codes LT

• Le fichier à transmettre est découpé en K blocs de l bits. • Tant que le récepteur le demande, la source envoie des combinaisons aléatoires de blocs construits comme suit :

•On tire un degré aléatoire i entre 1 et K selon une distribution de probabilité μ. Puis on tire aléatoirement i blocs Bx,…, By appelés voisins et on envoie le ou exclusif bit à bit des i blocs C=Bx … By.

1

3

2

2

SymbolesDe donnée

Symbolescodés

1

0

0

1

1

0

1

Page 10: Etude et Implementation logiciel des codes fontainesdepartements.imt-atlantique.fr/data/sc/seminaires/... · 2010. 7. 12. · 21 Interprétation • Le décodeur proposé par Luby

1010

Décodage des codes LTDécodage des codes LT

• Chaque combinaison de degré 1 est la copie d'un bloc original qui est donc retrouvé.

• Chaque bloc retrouvé est combiné par ou exclusif aux combinaisons auxquelles il est relié puis il est effacé du graphe, diminuant ainsi les degrés des combinaisons

1 1 0 1

1

Page 11: Etude et Implementation logiciel des codes fontainesdepartements.imt-atlantique.fr/data/sc/seminaires/... · 2010. 7. 12. · 21 Interprétation • Le décodeur proposé par Luby

1111

Décodage des codes LTDécodage des codes LT

• Chaque combinaison de degré 1 est la copie d'un bloc original qui est donc retrouvé.

• Chaque bloc retrouvé est combiné par ou exclusif aux combinaisons auxquelles il est relié puis il est effacé du graphe, diminuant ainsi les degrés des combinaisons

1 00 0

1 0 0

Page 12: Etude et Implementation logiciel des codes fontainesdepartements.imt-atlantique.fr/data/sc/seminaires/... · 2010. 7. 12. · 21 Interprétation • Le décodeur proposé par Luby

1212

Décodage des codes LTDécodage des codes LT

•Il s'avère que la distribution statistique des degrés est la partie critique de sa conception.

• Le processus de décodage ne peut pas commencer tant qu’il n’a pas reçu de combinaison de degré un, ceci signifie que des bonnes performances nécessitent une bonne distribution des degrés.

Page 13: Etude et Implementation logiciel des codes fontainesdepartements.imt-atlantique.fr/data/sc/seminaires/... · 2010. 7. 12. · 21 Interprétation • Le décodeur proposé par Luby

1313

La distribution soliton idéale: ρ(1)=1/K ρ(i)=1/i(i-1) pour 2≤ i≤ K.

On définit la distribution suivante: τ(i)=S/iK pour 1≤ i < K/S τ(K/S)=S/K ln(S/δ)• τ(i) = 0 pour i > K/S.

où S=c loge (K/δ) √K

On ajoute ensuite ρ à τ, puis on normalise pour obtenir la distribution soliton robuste µ :µ (i) = (ρ(i) + τ(i)) / β pour 2≤ i≤ K. où β = ∑1≤ i≤ k ( ρ(i) + τ(i) )

Le problème de la distribution Le problème de la distribution des degrésdes degrés

Page 14: Etude et Implementation logiciel des codes fontainesdepartements.imt-atlantique.fr/data/sc/seminaires/... · 2010. 7. 12. · 21 Interprétation • Le décodeur proposé par Luby

1414

Le problème de la Le problème de la distribution des degrésdistribution des degrés

Page 15: Etude et Implementation logiciel des codes fontainesdepartements.imt-atlantique.fr/data/sc/seminaires/... · 2010. 7. 12. · 21 Interprétation • Le décodeur proposé par Luby

1515

Codes raptorCodes raptor

• Inventés par Shokrollahi.

• Les codes raptor basent leur principe sur les codes LT.

• On y adjoint une ou plusieurs étapes préliminaires de codage avant de coder finalement en utilisant les codes LT.

• Ils ont des performances proches de l’optimum: Le nombre de symboles codés N nécessaires pour récupérer les K symboles de donnée est inférieur à celui demandé par le codage LT.

Page 16: Etude et Implementation logiciel des codes fontainesdepartements.imt-atlantique.fr/data/sc/seminaires/... · 2010. 7. 12. · 21 Interprétation • Le décodeur proposé par Luby

1616

Codes raptorCodes raptor

pré-codage (par exemple Hamming, LDPC)

codage LT

Symboles de donnée

Symboles codés

• Les meilleures performances ont été obtenues avec un pré codageLDPC (Low Density Parity Check)

Page 17: Etude et Implementation logiciel des codes fontainesdepartements.imt-atlantique.fr/data/sc/seminaires/... · 2010. 7. 12. · 21 Interprétation • Le décodeur proposé par Luby

1717

Codes raptorCodes raptor

• Une forme intéressante des codes raptor est la version systématique(donnée par Shokrollahi).

• Le codeur reproduit directement les symboles de données.

• Avec la forme systématique on obtient de bonnes performances. De plus on obtient des codes ayant des temps de codage et de décodage proportionnels respectivement à 1 et K.

Page 18: Etude et Implementation logiciel des codes fontainesdepartements.imt-atlantique.fr/data/sc/seminaires/... · 2010. 7. 12. · 21 Interprétation • Le décodeur proposé par Luby

1818

• Le fichier à transmettre est découpé en K blocs de l bits.

• Un générateur de nombres affecte une clé à chaque symbole codé.

• A partir de la clé, le codeur détermine le poids W du symbole codé (le nombre de symboles d’entrée à partir desquels un symbole codé est obtenu par une opération ou exclusif bit à bit).

• Avant de transmettre, on ajoute au symbole codé les bits correspondants à sa clé.

Implémentation Du CodeurImplémentation Du Codeur Des Codes LT  Des Codes LT 

Page 19: Etude et Implementation logiciel des codes fontainesdepartements.imt-atlantique.fr/data/sc/seminaires/... · 2010. 7. 12. · 21 Interprétation • Le décodeur proposé par Luby

1919

•Le décodeur doit comporter le même générateur de poids que celui du codeur, pour qu’à partir de la clé on puisse retrouver le poids et les voisins du symbole codé.

•Le décodeur contient un buffer, dans lequel on va mettre chaque symbole codé lorsqu’il arrive, la taille de ce buffer doit être suffisante pour stocker N symboles, on réserve 2K places pour les symboles codés

implémentation du implémentation du décodeur des codes LT décodeur des codes LT 

Page 20: Etude et Implementation logiciel des codes fontainesdepartements.imt-atlantique.fr/data/sc/seminaires/... · 2010. 7. 12. · 21 Interprétation • Le décodeur proposé par Luby

2020

Résultats Résultats  K = 5009 K = 10 007 K = 30 111

N overhead % N overhead % N overhead %

6105 21.88 12 120 21.11 36 382 20.8

6240 24.57 12 060 20.5 36 545 21

6131 22.3 12 190 21.8 36 259 20.4

6089 21.56 12 103 20.9 36 106 19.9

6023 20.24 12 225 22.1 36 150 20.05

6083 21.44 12 039 20.3 36 103 19.89

6094 21.66 12 164 21.55 36 445 21

6075 21.28 12 064 20.55 35 904 19.23

6124 22.25 12 096 20.87 36 329 20.65

6071 21.2 12 032 20.23 36 546 21.37

Moyenne 6103 21.84 12 109 20.99 36 277 20.47

K/N 0.821 0.826 0.830

Probabilité d’effacement= 0.05Donc limite de shannon=1-0.05=

0.95

Page 21: Etude et Implementation logiciel des codes fontainesdepartements.imt-atlantique.fr/data/sc/seminaires/... · 2010. 7. 12. · 21 Interprétation • Le décodeur proposé par Luby

2121

InterprétationInterprétation

• Le décodeur proposé par Luby est basé sur la transmission d’un nombre N fixé de paquets codés qui sera stockés dans la mémoire du récepteur avant de commencer la récupération.

•La différence entre les résultats obtenus et les résultats escomptés est, semble-t’il, liée au processus pseudo-aléatoire de tirage des voisins permettant de construire chacun des paquets codés.

•Il s’agit là de la propriété intellectuelle de la compagnie Digital Fountain, Inc. et ces informations n’ont pas été divulguéespar l’auteur.

Page 22: Etude et Implementation logiciel des codes fontainesdepartements.imt-atlantique.fr/data/sc/seminaires/... · 2010. 7. 12. · 21 Interprétation • Le décodeur proposé par Luby

2222

Conclusion Conclusion 

• On a étudié les différentes familles des codes fontaines sur les canaux à effacements.

• La première version de ces codes appelés codes LT a été implémenté en langage C

• Les performances obtenues sont en partie cohérentes avec les résultats présentés par l’inventeur de ces codes.

• Le programme peut être amélioré, d’une part en fixant a priori la taille des séquences transmises comme proposé dans le décodeur de Luby, d’autre part en améliorant la méthode de génération pseudo-aléatoire des blocs codés.

• Une étape suivante du travail consisterait à mettre en œuvre la famille la plus récente de code fontaine appelée codes raptors avec différents types de précodage.