• Aucun résultat trouvé

l’itération d’opérateur de décision

3.3 Évaluation de la précision de l’égaliseur à retour de décision

3.4.3 Les contraintes du choix du format de représentation

Une fois l’architecture générale définie, les données sont ensuite converties en un format de représentation en virgule fixe et il est possible d’estimer la borne de la probabilité d’erreur de dé-cision causée par l’opération de quantification en virgule fixe. Les données en format virgule fixe sont alors utilisées pour estimer les ressources consommées pour le format de précision considéré. En faisant varier la précision des données présentes en entrée du filtre forward ainsi que celles de la sortie du filtre backward au sein de l’architecture de la figure 3.10, il est alors possible d’esti-mer la borne supérieure de la probabilité d’erreur de décision en utilisant le modèle analytique décrit précédemment. Pour chaque format de précision considéré, les ressources consommées par l’implémentation FPGA sont également estimées en parallèle à l’aide des outils Xilinx. Pour les tests, nous avons choisi de fixer la partie entière du format des données en virgule fixe à 2 bits. Pour faire varier le format de la précision, le nombre na de bits de la partie fractionnaire des entrées du filtre forward ainsi que le nombre nb de la partie fractionnaire de la sortie du filtre

feedback varient entre 4 et 16 bits. Pour chaque configuration ainsi obtenue définie par le couple

(na, nb), nous calculons la borne supérieure de la probabilité d’erreur de décision ainsi que les ressources consommées par le FPGA.

La figure 3.15 est une représentation logarithmique en 3D de la probabilité d’erreur de décision causée par la conversion du format en virgule flottante vers l’arithmétique virgule fixe exprimée en fonction du couple (na, nb) exprimant la précision des données en entrée du filtre forward ainsi qu’en sortie du filtre feedback. Cette même courbe peut également être projetée sur le plan 2D

(na, nb) en utilisant une échelle de couleur pour exprimer la valeur de la probabilité d’erreur de décision (cf. figure 3.20).

Figure 3.15 – Probabilité d’erreur de décision en fonction des deux précisions

Bien évidemment, nous constatons que la probabilité d’erreur de décision diminue lorsque la précision augmente. De plus, nous pouvons trouver plusieurs couples de précision qui donnent approximativement la même probabilité d’erreur de décision. Nous obtenons ainsi un ensemble de couples de précision (na, nb) qui partagent approximativement la même probabilité d’erreur de décision. Sur la figure 3.15, ceci se manifeste par des régions qui possèdent la même couleur. Afin de faire un choix entre les couples de précisions (na, nb) qui appartiennent à un même en-semble de probabilité d’erreur de décision, il est alors intéressant de pouvoir estimer les ressources consommées par le FPGA en termes de nombre de slices occupés, de slice luts ou slices de type Flip Flop.

Nous fixons un critère d’approximation et nous cherchons toutes les précisions qui possèdent approximativement la même borne supérieure de probabilité d’erreur de décision à un facteur prêt. En d’autres termes, nous choisissons une probabilité d’erreur de décision P0 et un facteur d’approximation α, puis nous cherchons les formats en virgule fixe dont les probabilités d’erreur de décision P vérifient le critère :

|P − P0|

P0

Figure 3.16 – Probabilité d’erreur de décision

Nous représentons sur les figures 3.17 et 3.18 le nombre de slice lut et slice registre occupés pour un ensemble de probabilité d’erreur de décision qui vérifie ce critère pour des paramètres :

P0 = 10−3 et α = 0.2.

Figure 3.17 – Nombre de slice registres nécessaires pour obtenir une probabilité d’erreur de décision de P0= 10−3 avec une précision relative de 0.2.

Par conséquent, nous devons choisir le format de données qui consomme le minimum de ressources sur le FPGA.

Figure 3.18 – Nombre de slice lut nécessaires pour obtenir une probabilité d’erreur de décision de P0 = 10−3 avec une précision relative de 0.2.

Figure 3.19 – Consommation de puissance

Un autre aspect intéressant est la consommation de la puissance ou d’énergie. C’est pour cette raison que nous avons choisi de travailler avec la carte ML550 car elle permet de mesurer la puissance consommée. En effet, cette carte possède une résistance Kelvin qui permet de mesurer le courant circulant à travers le cœur du FPGA. La valeur de cette résistance est suffisamment petite (quelque milli-ohm) pour conduire à une perturbation minimale de l’alimentation. Les variations de la tension à travers la résistance (représentant la variation du courant) sont très petites (quelques mV ) et il est difficile de les mesurer. Par conséquent, afin de faciliter les mesures, un amplificateur de tension (le INA333 de chez Texas Instrument) est inséré aux bornes de la résistance (cf. figure 3.20) afin de faciliter la mesure. Cet amplificateur possède un gain de 100

pour une bande passante de 3.5kHz.

Figure 3.20 – Dispositif pour la mesure de la puissance

Si l’on considère une résistance de mesure de courant de R = 10mW sur la carte ML550 et un gain G = 100 pour l’amplificateur, nous obtenons une relation directe entre la tension et le courant circulant dans la résistance :

U = R ∗ I (3.57)

Uampl = R ∗ I ∗ G = R ∗ I ∗ 100 = 0.01 ∗ I ∗ 100 = I. (3.58) La tension d’alimentation du FPGA est 1V et la variation de cette tension est inférieure à 0.05V (par mesure). La puissance est directement liée à la tension de l’amplificateur.

P = Uampl∗ V ≈ Uampl. (3.59) La dernière étape est l’analyse des résultats obtenus en fonction de la précision choisie. A ce stade, nous avons tous les éléments pour analyser l’influence de la précision choisie sur la consom-mation en énergie et en ressources de l’algorithme. Il suffit alors de mesurer cette consomconsom-mation pour un ensemble de formats de représentation des données en virgule fixe dont la borne supé-rieure de probabilité d’erreur de décision satisfait à la condition (3.56). Nous souhaitons pouvoir déterminer le format de données qui engendre une consommation minimale de puissance et de ressources sur le FPGA. A partir de la figure 3.19, nous pouvons constater que ce minimum est atteint pour une consommation d’environ 63.25mW ce qui correspond à une probabilité d’erreur de décision de 9.5710−4. Nous constatons sur la figure 3.18 que le format optimal de données précédent (format A) est également celui qui fournit la consommation la plus faible de slice LUT par rapport à toutes les autres représentations possibles de l’ensemble considéré. Par contre, pour ce qui concerne le critère du nombre de slice registre, la figure 3.17 montre que la précision (for-mat B) dont la probabilité d’erreur de décision est de 9.8810−4 s’avère la plus intéressante. Nous pouvons dans ce cas conclure que la première précision, i.e. le format A, est un bon compromis entre le coût en consommation de puissance et les performances en termes de probabilité d’erreur de décision.

3.5 Conclusion

Nous avons traité dans ce chapitre le problème de propagation des erreurs de décision causées par l’arithmétique virgule fixe dans l’itération d’opérateur de décision au sein d’une structure récursive. Ce problème se rencontre dans de nombreuses applications de traitement du signal et de communications numériques, et plus particulièrement, dans l’opération d’égalisation à retour de décision. Pour cette application, nous avons présenté deux approches différentes pour estimer la probabilité d’erreur de décision dans le régime de convergence de l’égaliseur DFE. Les modèles analytiques proposés sont valides pour tout système constitué d’itération d’opérateurs de décision. Le premier modèle fournit une expression quasi-exacte de la probabilité d’erreur de décision et

il est basé sur la résolution d’un système non linéaire par la méthode de Newton Raphson. Cependant, ce premier modèle peut être limité par les grandes capacités de calcul requises dans le cas de constellations à haut rendement spectral (i.e. à grand nombre d’états). Le second modèle proposé est fondé quant à lui sur l’estimation d’une borne supérieure de la probabilité d’erreur de décision. Ce modèle a été utilisé pour choisir le format optimal en arithmétique virgule fixe pour réaliser une implémentation matérielle rigoureuse en termes de consommation de ressources et d’énergie. D’autres applications à structure itérative non linéaire telles que les turbo décodeurs et les décodeurs LDPC n’ont pas été évaluées et dimensionnées en format virgule fixe dans la littérature. C’est pour cette raison que nous consacrons le prochain chapitre à l’étude spécifique de ces applications.

Évaluation de la précision du turbo