• Aucun résultat trouvé

7.3 Optimisation de la réconciliation

7.3.2 Optimisation de l’efficacité des codes LDPC

L’efficacité de réconciliation globale βLDPC des codes LDPC se décompose en deux

efficacités partielles : βLDPC  βcodesβtranches avec βtranches  Hp ˆ XqN ° Rpiq optimal IAB (7.7) où βcodeset βtranchescorrespondent respectivement à l’efficacité des codes et à l’efficacité

de discrétisation. L’efficacité βLDPC tend vers 1 quand les deux sous-efficacités tendent

vers 1, c’est à dire quand le taux Rpiq

de chaque code LDPC utilisé tend vers la capacité

3. En fait, il sera en mesure de détecter la non-correction s’il y a exactement d 1erreurs dans le bloc.

7.3. Optimisation de la réconciliation 127 Rpiq

optimal du canal virtuel correspondant à la transmission du bit ˆY piq

, et que le nombre de tranches de binarisation devient grand.

Le choix des paramètres de décodage permet de jouer sur cette efficacité :

• βtranches ne dépend que du schéma de binarisation : nombres de tranches et ré-

partition des intervalles de binarisation.

• βcodes dépend de la différence entre le taux des codes choisis et la limite de

Shannon.

• Enfin, nous fixons un taux d’échec maximal du décodage, qui conditionnera nos choix des autres paramètres.

Nous devons donc ajuster ces paramètres pour optimiser l’efficacité globable de réconciliation. Par ailleurs, puisque le rapport signal à bruit chez Bob dépend de la transmission du canal, il nous faut adapter tous les paramètres de façon dynamique, de façon à ce que l’efficacité de réconciliation ne varie pas trop si la transmission du canal fluctue au cours du temps.

Choix du nombre de tranches

De façon générale, le rapport signal à bruit est fixé par l’atténuateur d’Alice, et au cours de la transmission, il ne fluctue que peu (typiquement 1 %). Nous pouvons donc raisonnablement limiter l’optimisation au voisinage d’un rapport signal à bruit de 3, par exemple [2,4 ; 3,6]. Dans ces conditions, nous obtenons une information mu- tuelle IAB de l’ordre d’un bit par impulsion (voir section 6.4.2). Ainsi, qualitativement,

lors d’une discrétisation raisonnablement régulière, le premier bit de Y contiendra beaucoup d’information, le deuxième une quantité plus faible mais significative, et les suivantes très peu.

Nous avons donc choisi de discrétiser les données sur quatre bits, sur lesquels nous révélons les deux bits les plus bruités : ces derniers n’apportent donc pas d’informa- tion puisqu’ils sont presque entièrement « noyés » dans le bruit de photon, mais leur révélation permet de faciliter le décodage des deux bits utiles.

Notre chaîne réconciliée finale contient donc 2200 000400 000 bits.

Choix de l’intervalle de binarisation

Il nous reste ensuite à déterminer la façon dont la distribution réelle va être décou- pée en 24 intervalles : nous avons a priori 15 paramètres indépendants pour placer ces

intervalles. Jérôme Lodewyck a etudié au cours de sa thèse [5] ce problème d’optimi- sation à 2n

1 paramètres, et a abouti à plusieurs conclusions :

• La division en intervalles équiprobables, compte tenu de la distribution gaus- sienne, ne conduit qu’à des efficacités d’environ βtranches 80%.

• Une division simple et assez proche de la division optimale est, curieusement, la distribution uniforme. L’intérêt de cette distribution est de ne dépendre que d’un paramètre, l’intervalle de binarisation, qui peut donc être optimisé plus aisément. À partir de ces considérations, nous découpons notre distribution gaussienne (dont nous connaissons le SNR) selon un certain intervalle de binarisation. Le but est alors

128 Chapitre 7 : Réconciliation des données expérimentales

de calculer le taux optimal de décodage de la tranche i ; il s’exprime [70, 67] : Rpiq optimal 1  Hp ˆ Xpi 1q | ˆ XqHp ˆ Xpiq | ˆ Xq  Hp ˆ Xpi 1q qHp ˆ Xpiq q (7.8) Il nous faut alors calculer l’entropie des tranches Hp

ˆ Xpiq qet l’entropie conditionnelle HpXˆ piq |Xq. Les probabilités PrpXˆ piq q et PrpXˆ piq

|Xq ne dépendent que de la position

des tranches et du SNR de la distribution gaussienne PrpXq. Les entropies s’expriment

ensuite à partir de la définition de l’entropie et de l’entropie conditionnelle présentée dans le chapitre 3 : Hp ˆ Xpiq q  Prp ˆ Xpiq 0qlog 2Prp ˆ Xpiq 0q Prp ˆ Xpiq 1qlog 2Prp ˆ Xpiq 1q Hp ˆ Xpiq |Xq  » 4σ 4σ Prp ˆ Xpiq 0|Xqlog 2Prp ˆ Xpiq 0|XqdX » 4σ 4σ Prp ˆ Xpiq 1|Xqlog 2Prp ˆ Xpiq 1|XqdX (7.9)

Une fois munis de ces taux optimaux et des entropies de tranches, la formule 7.7 nous permet de calculer l’efficacité de binarisation. Nous avons donc tracé, pour plusieurs SNR, l’efficacité de binarisation en fonction de l’intervalle de binarisation (voir figure 7.6).

Il est remarquable de voir que, pour une division uniforme, l’efficacité de binarisa- tion ne varie que peu autour de l’intervalle optimal. Pour un SNR de 3, l’efficacité est supérieure à 0,97 pour des intervalles compris entre 0,25 et 0,45, pour un maximum à 0,312 (βtranches = 0,977). 0,89 0,9 0,91 0,92 0,93 0,94 0,95 0,96 0,97 0,98 0,99 0,15 0,2 0,25 0,3 0,35 0,4 0,45 0,5 SNR = 2 SNR = 3 SNR = 4 Intervalle de binarisation E fficacit é de binarisa tion

Figure 7.6 :Efficacité de binarisation en fonction de l’intervalle de binarisation, pour des SNR

de 2, 3 et 4.

Ainsi, au premier ordre, changer l’intervalle de binarisation n’a que peu d’effet sur l’efficacité de binarisation, et revient principalement à modifier la limite de Shannon de

7.3. Optimisation de la réconciliation 129 décodage, c’est-à-dire le taux optimal des codes à utiliser pour chacune des tranches. Pour un SNR de 3, nous avons tracé sur la figure 7.7 le taux optimal des codes des quatre tranches, en fonction de l’intervalle de binarisation. On voit que, pour un in- tervalle correspondant aux efficacités de binarisation optimales, les taux optimaux de la tranche 3 et 4 sont presque nuls. Plus précisément, l’information contenue dans la tranche 3 pour un intervalle de 0,3 est d’environ 0,01 bit. Il est donc plus intéressant de la révéler entièrement. 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5 1 2 3 4 Intervalle de binarisation Taux optimal de la tr anche

Figure 7.7 : Taux optimaux (limites de Shannon) des quatre tranches de binarisation, en

fonction de l’intervalle de binarisation.

Nous nous concentrons donc sur l’optimisation de l’efficacité de décodage comme suit :

• En choisissant l’intervalle de binarisation, nous fixons la limite de Shannon. • En choisissant le taux des codes, nous fixons la distance à cette limite. • L’efficacité de décodage βcodes est alors déterminée par cette distance.

Choix du taux des codes

Comme l’ont montré Richardson et al. dans [71], les performances d’un code LDPC ne dépendent que de la distribution de ses connectivités, c’est-à-dire, pour tout m, de la proportion de nœuds de parité faisant intervenir m nœuds de variable. Ainsi, une équipe du LTHC de Lausanne a réalisé en 2001 une optimisation numérique de la distribution de ces connectivités, de façon à fournir des codes pour de nombreux taux discrets, allant de 5 % à 99 %, adaptés à un canal gaussien de type AWGN [72].

En utilisant ces distributions, ainsi qu’un programme écrit par Matthieu Bloch, Jérôme Lodewyck a généré des codes adaptés à nos besoins, en sélectionnant systé- matiquement les codes fournissant une vitesse de décodage élevée. Néanmoins, nous ne disposons de codes que pour certains taux discrets ; ainsi, quand le rapport signal

130 Chapitre 7 : Réconciliation des données expérimentales

Taux Distribution des connectivités

42 %

70 % des nœuds de parité sont reliés à 7 nœuds de variable

30 % " 8 "

24,0 % des nœuds de variable sont reliés à 2 nœuds de parité

20,0 % " 3 " 13,7% " 6 " 4,1 % " 7 " 8,7 % " 9 " 9,8 % " 10 " 1,4 % " 28 " 12,2 % " 32 " 6,1% " 35 " 95 %

100 % des nœuds de parité sont reliés à 96 nœuds de variable 13,1 % des nœuds de variable sont reliés à 2 nœuds de parité

25,9 % " 3 "

18,7% " 7 "

11,6% " 8 "

8,1% " 19 "

22,6 % " 21 "

à bruit change, nous ne pouvons pas ajuster finement le taux du code pour rester à distance fixe de la limite de Shannon.

Plutôt que de conserver l’intervalle de binarisation constant et d’ajuster de façon imparfaite le taux des codes pour rester proche de la limite de Shannon, nous avons choisi de conserver le taux des codes constant et d’ajuster l’intervalle de binarisation afin de régler la limite de Shannon où nous le souhaitons. Après avoir testé plusieurs de nos codes, nous avons choisi deux codes particulièrement performants, de taux 0,95 pour la tranche 1 et 0,42 pour la tranche 2, que nous utilisons pour tous les SNR de [2,4 ; 3,6]. Nous décrivons dans le tableau ci-dessous les caractéristiques de ces deux codes.

Nombre d’itérations

Comme nous l’avons remarqué plus haut, l’idée du décodage itératif est de décoder une première fois toutes les tranches, en remontant vers les bits les moins bruités, puis de revenir à la tranche la plus bruitée et de réitérer le décodage (éventuellement plusieurs fois). En effet, les tranches ne sont pas indépendantes, et le décodage d’une tranche supérieure ou inférieure à la tranche i apporte de l’information utile pour le décodage de la tranche i.

Heuristiquement, nous avons remarqué que le décodage de la tranche 2 ne progres- sait presque plus à partir de la 40ème itération ; en revanche, en décodant la tranche 1 (ce qui est rapide) puis en revenant sur la tranche 2, le décodage se conclut très rapidement. Nous avons donc choisi le schéma de décodage suivant :

• Révélation sur le canal public de la totalité des tranches 4 et 3 les plus bruitées • Décodage, pendant 40 itérations, de la tranche 2

7.3. Optimisation de la réconciliation 131 • Décodage, pendant 15 itérations maximum, de la tranche 1

• Retour sur la tranche 2 : décodage pendant 10 itérations maximum

Optimisation de l’intervalle de binarisation en fonction du taux d’échec Dans les paragraphes précédents, nous avons fixé : le nombre de tranches de bina- risation, le taux des codes utilisés et le nombre d’itérations du décodage. Le problème d’optimisation est donc simplifié, puisqu’il ne nous reste plus qu’à optimiser l’intervalle de binarisation en fonction du SNR et du taux d’échec maximal.

Pourquoi un taux d’échec ? Lors d’un décodage, plusieurs effets se contrebalancent :

plus un code travaille près de la limite de Shannon, plus il nécessite d’itérations (et donc de temps) pour faire aboutir le décodage. Au bout d’un nombre d’itérations fixé, un décodage trop proche de la limite de Shannon n’aura pas terminé le décodage, et des erreurs persisteront. Au contraire, si le code fonctionne loin de la limite, il décodera rapidement et son efficacité sera faible, mais il restera toujours une probabilité que le décodage échoue. Quel que soit le taux du code, on trouvera toujours des cas où le décodage n’aura pas fonctionné ; on sait juste que ce taux d’échec diminue quand la distance au taux optimal augmente.

Il nous faut donc choisir un taux d’échec maximal qui servira de condition sup- plémentaire pour l’optimisation du taux secret. Ce choix n’est pas évident : échouer à réconcilier un bloc revient à perdre des bits secrets, et donc à diminuer le taux de génération de clé ; à l’opposé, les informations mutuelles IAB et IBE sont souvent très

proches, et l’augmentation de quelques pour cent (voire de quelques pour mille à longue distance) de l’efficacité de réconciliation peut améliorer significativement l’information secrète ∆I βIABIBE.

A faible distance, nous aurons donc intérêt à privilégier un taux d’échec bas ; à l’inverse, quand le taux secret est presque nul à longue distance, perdre 50 % des blocs peut être intéressant si β augmente en contrepartie.

Nous avons donc créé un programme optimisant de façon systématique l’effica- cité de réconciliation (à travers l’intervalle de binarisation) en fonction du SNR, pour un taux d’échec de 1 %, ce qui est suffisamment petit pour ne pas trop diminuer le taux secret, et suffisamment grand pour pouvoir améliorer significativement l’efficacité de réconciliation. Pour chaque valeur de SNR, et pour chaque intervalle de binari- sation, celui-ci effectue 1000 réconciliations, et calcule le nombre de réconciliations ayant échoué. Il peut ainsi déterminer le taux d’échec associé à chaque intervalle de binarisation et SNR, et enfin tracer une courbe « iso-échec », présentée sur la figure 7.8.