Implémentation optimale de filtres linéaires en arithmétique virgule fixe
Auteur / Autrice : | Benoit Lopez |
Direction : | Laurent-Stéphane Didier, Thibault Hilaire |
Type : | Thèse de doctorat |
Discipline(s) : | Informatique |
Date : | Soutenance le 27/11/2014 |
Etablissement(s) : | Paris 6 |
Ecole(s) doctorale(s) : | École doctorale Informatique, télécommunications et électronique de Paris (1992-...) |
Partenaire(s) de recherche : | Laboratoire : Laboratoire d'Informatique de Paris 6 |
Jury : | Examinateurs / Examinatrices : Daniel Menard, Mathieu Martel, Florent De Dinechin, Christophe Jego, Stef Graillat |
Résumé
De nombreux systèmes embarqués implémentent des applications de traitement du signal, notamment lors de communications. Certains de ces traitements sont effectués par des filtres linéaires, qu'il est donc nécessaire de mettre en oeuvre numériquement sur ces cibles. Les systèmes embarqués sont sujets à diverses contraintes qu'il faut optimiser tout en conservant des systèmes fiables en terme de performance et de précision. L'arithmétique virgule fixe est généralement préférée à l'arithmétique flottante pour des systèmes embarqués de traitement du signal, entre autres car elle est moins coûteuse, disponibles dans tous les systèmes, permet d'utiliser des largeurs arbitraires sur des cibles matérielles et est généralement suffisante en terme de précision pour les applications de traitement du signal. Le calcul en virgule fixe nécessite d'aligner les positions des virgules pour ainsi rendre cohérent des calculs à base de nombres entiers. Cela implique des quantifications et l'enjeu est donc de minimiser la répercussion de ces arrondis sur le résultat final, en proposant une garantie sur l'erreur sur la sortie. Une méthodologie a été proposée durant cette thèse qui, à partir d'un algorithme de filtre linéaire, utilise une méthode analytique pour implémenter cet algorithme en virgule fixe et générer du code. Cette méthodologie considère à la fois les implémentations logicielles, et les implémentations matérielles qui impliquent la résolution d'un problème d'optimisation. Un outil, nommé FiPoGen, a été développé pour mettre en oeuvre les méthodes proposées et fournir automatiquement un code virgule fixe implémentant un filtre donné avec garantie sur l'erreur sur la sortie.