640 likes | 742 Views
Implémentation en précision finie modélisation et recherche de réalisations optimales. Thibault HILAIRE 1,3 - Philippe CHEVREL 1,2 Yvon TRINQUET 1 - Jean Philippe CLAUZEL 3 1 IRCCyN, 2 École des Mines de Nantes, 3 PSA Peugeot Citr o ë n. GdR MACS : GT MOSAR et GT SAR
E N D
Implémentation en précision finie modélisation et recherche de réalisations optimales Thibault HILAIRE1,3 - Philippe CHEVREL1,2 Yvon TRINQUET1 - Jean Philippe CLAUZEL3 1 IRCCyN, 2 École des Mines de Nantes, 3 PSA Peugeot Citroën GdR MACS : GT MOSAR et GT SAR Lille, le 10 juin 2005
Plan général • I. Contexte • II. Problématique FWL • III. Forme implicite spécialisée • IV. Mesure de sensibilité • V. Exemples • VI. Conclusion
I. Contexte • Thèse Th. HILAIRE financée par PSA • Lois de contrôle/commande LTI implémentées (mises en œuvre numériquement) dans un calculateur numériquement contraint • Calculs en précision finie (virgule fixe) • Problématique venant du domaine automobile (PSA) • Problématique "temps réel" • Problématique numérique • Dégradation de la loi lors de l'implémentation • Modification des caractéristiques • Modification des performances Comment maîtriser et minimiser cette dégradation ?
Plan général • I. Contexte • II. Problématique FWL • 1. Présentation générale • 2. Méthodologie "logicielle" • 3. Méthodologie "automatique" • 4. Exemples d'implémentation • III. Forme implicite spécialisée • IV. Mesure de sensibilité • V. Exemples • VI. Conclusion
II.1 Présentation générale • Calculs en précision finie (Finite Word Length) • On considère principalement la représentation des nombres en virgule fixe (par opposition à la virgule flottante) • Le pas de quantification est fixé • La dynamique des variables est limitée et figée nombre entier (signé ou non) sur b bits entier représentant le facteur d'échelle , 819,26562.… approximé par 819,25 (4 bits derrière la virgule)
II.1 Présentation générale • La dégradation FWL a deux origines • Quantification des coefficients mis en jeu • Bruits de quantification qui apparaissent dans les calculs (dus aux arrondis)
II.1 Présentation générale • Deux points de vue • Point de vue "logiciel" Choix d'un code logiciel permettant de réaliser au mieux un ensemble d'équations mathématiques (augmenter la précision, diminuer le coût de calcul) • Point de vue "automatique" Choix des équations mathématiques les mieux adaptées pour l'implémentation • Ces points de vue sont complémentaires, mais peu confrontés
II.2 Techniques du logiciel • Consiste principalement • À traduire en code un ensemble d'équations mathématiques, en prenant en compte les contraintes de précision • Méthodologie de conversion automatique de code en virgule flottante vers du code en virgule fixe [Kedi98],[Kim98] • Choix du positionnement de la virgule, gestion des overflow, underflow • À évaluer la dégradation due à la virgule fixe • Evaluation du Rapport Signal à Bruit de Quantification Analytiquement (dans certains cas) ou par la simulation [Mena02] • À choisir la forme du calcul • Il est possible d'émuler un calcul à une précision supérieure, au détriment du temps de calcul • (Ex: calculs 32 bits sur un calculateur 16 bits) • Utilisation de techniques logicielles pour diminuer la dégradation
Plan général • I. Contexte • II. Problématique FWL • 1. Présentation générale • 2. Méthodologie "logicielle" • 3. Méthodologie "automatique" • Modélisation • Analyse : mesures de sensibilité et du bruit de quantification • Opérateur • 4. Exemples d'implémentation • III. Forme implicite spécialisée • IV. Mesure de sensibilité • V. Exemples • VI. Conclusion
II.3 Modélisation • Lois de contrôle/commande : • Filtres / Régulateurs LTI • Cartographies • Régulateurs LPV • Etc. • Lois caractérisées par leur relation entrée(s)/sortie(s) (avec calcul d'un état) • On ne s'intéressera ici qu'au cas LTI
II.3 Modélisation • Cas LTI : • Pour une loi donnée, il existe une infinité de réalisations équivalentes (par exemple, par changement de base). En précision finie, ces réalisations ne sont plus équivalentes La dégradation dépend de la réalisation choisie • Il convient donc de rechercher, parmi les réalisations possibles, celles qui minimisent un critère caractérisant la dégradation FWL
II.3 Sensibilité de la fonction de transfert vis à vis des coefficients On ne considère que la quantification des coefficients (les calculs sont supposés exacts) • Pour un système (A,B,C,D) de fonction de transfert H(z) [Geve93] propose une mesure de sensibilité Le problème de recherche de réalisation "optimale" s'écrit
II.3 Sensibilité vis à vis des coefficients D'autres mesures de sensibilité vis à vis des coefficients sont étudiées : • Sensibilité des pôles/zéros [Geve93],… • Sensibilité de la stabilité (en boucle fermée) [Iste01] • Sensibilité des pôles en boucle fermée [Wu00] • Autres mesures dérivées
II.3 Bruits de quantification On ne considère que les bruits de quantifications dus aux calculs (les coefficients sont représentés exactement) • Hypothèses de réalisation des calculs • Roundoff Before Multiplication • Roundoff After Multiplication • On étudie la variance de l'erreur de sortie (entre réalisation exacte et réalisation implémentée) • Dans le cas RBM, la variance s'exprime en fonction du Grammien d'observabilité
II.3 Bruits de quantification • Les hypothèses de calcul sont tout de même réductrices • Pas de prise en compte de la taille des calculs (nb de bits) • Pas de prise en compte de la méthode de représentation des coefficients et du vecteur d'état • Quelques cas spécifiques (réinjection de la partie tronquée Residue Feedback, …) sont traités • Différent types d'arrondis (roundoff, truncate, …)
II.3 Opérateur [Midd90] On considère d'autres réalisations • Opérateur • Réalisations équivalentes avec
II.3 Opérateur • On montre que les réalisations en sont mieux conditionnées numériquement • Sensibilité de la fonction de transfert et de la stabilité vis à vis des coefficients est meilleure en qu'en q, dès que ∆<1 • Nouvelles mesures de sensibilité pour les réalisations en • Études, comparaisons de réalisations en q et en
II.4 Exemples d'implémentation Par exemple, on considère un système du 2nd ordre Une 1ère façon (la plus naturelle) d'implémenter serait : On peut aussi utiliser une représentation dans l'espace d'état minimale. Le choix de l'espace est important (forme canonique, forme équilibrée, …)
II.4 Exemples d'implémentation On peut aussi écrire l'algorithme en utilisant l'opérateur Choix de la réalisation Ou bien encore avec une forme retour d'état/observateur Pour chaque forme, les coefficients implémentés ne sont pas les mêmes, les effets de la quantification sont différents
II.4 Exemples d'implémentations • En plus de la structure, il est aussi possible d'agencer les calculs de différentes façons • Ex: Calcul émulé 32b Une implémentation : des coefficients (paramétrisation) une structure de calculs
II.4 Problèmes ouverts • Les travaux théoriques de l'Automatique ne prennent pas en compte les solutions algorithmiques souvent mises en oeuvre • Rapprochement des deux approches automatique/informatique • Savoir qualifier des techniques/algorithmes existants • Les coefficients implémentables exactement (0, ±1, puissances de 2, …) ne sont pas pris en compte • Cas MIMO • Méthodologie d'implémentation
Plan général • I. Contexte • II. Problématique FWL • III. Forme implicite spécialisée • 1. Recherche d'un modèle plus réaliste • 2. Forme implicite spécialisée • 3. Exemples • IV. Mesure de sensibilité • V. Exemples • VI. Conclusion
III.1 Recherche d'un modèle plus réaliste • On recherche un modèle macroscopique suffisamment général et davantage représentatif de l'implémentation • Prise en compte des diverses possibilités d'algorithmes et de réalisations (q, , retour d'état observateur, …) : formalisme unificateur • Relation avec le code plus explicite
III.1 Forme implicite spécialisée • On propose de décrire les diverses possibilités d'algorithmes Calculs des variables intermédiaires Calculs de l'état Calculs des sorties
III.1 Forme implicite spécialisée • Variables intermédiaires • Il est intéressant de faire apparaître explicitement tous les calculs réalisés, ainsi que les variables intermédiaires utilisées • Cela permet de distinguer/séparer des calculs réalisés différemment, afin de les caractériser • Exemple : réalisation en
III.1 Forme implicite spécialisée • Forme implicite spécialisée : Tkest une variable intermédiaire
III.1 Forme implicite spécialisée • Forme implicite • L'état ou la sortie pouvant être calculé à partir des variables intermédiaires, cela implique une forme implicite • Une variable intermédiaire peut être calculée à partir d'une autre variable intermédiaire préalablement calculée, le calcul de T s'écrit • J n'a pas à être inversée avec
III.1 Forme implicite spécialisée • Forme implicite spécialisée : Forme implicite classique Réutilisation des variables intermédiaires
III.1 Forme implicite spécialisée • On peut la rendre explicite • D'où une fonction de transfert H(z) avec
III.4 Exemples • Réalisations en Une réalisation en s'exprime comme une réalisation implicite non minimale avec l'opérateur q
III.4 Exemples • Réalisations cascade
III.4 Exemples • Retour d'état observateur Une réalisation possible :
III.4 Exemples • La forme implicite spécialisée permet bien • une meilleure représentativité de la mise en œuvre numérique • d'unifier des représentations diverses • Il faut ensuite mettre en place des critères génériques de qualité permettant d'évaluer l'impact de l'implémentation • Coût de calcul • Sensibilitéà la quantification des coefficients • Bruits de quantification • …
Plan général • I. Contexte • II. Problématique FWL • III. Forme implicite spécialisée • IV. Mesure de sensibilité • V. Exemples • VI. Conclusion
IV. Mesure de sensibilité • Maintenant que l'on peut exprimer tous les coefficients qui entrent en jeu dans une mise en œuvre numérique, il est intéressant d'exhiber une mesure de sensibilité de la fonction de transfert vis à vis des coefficients mis en jeu • Par analogie avec [Geve93], on propose une 1ère mesure avec est strictement propre est indépendant de toute transformation
IV. Mesure de sensibilité • Il faut ensuite prendre en compte les coefficients qui vont être quantifiés pour l'implémentation • Dans la forme implicite spécialisée, de nombreux coefficients sont nuls ou égaux à 1 et n'ont pas à être implémentés • Certains coefficients (puissances de 2, …) peuvent être représentés exactement • À une matrice X de coefficients, on associe une matrice de pondération WX
IV. Mesure de sensibilité • On pose la matrice des normes des sensibilités par rapport aux éléments de X • La précédente mesure s'écrit : • On pondère cette mesure : produit direct
IV. Mesure de sensibilité • Cette mesure peut aussi s'écrire avec
Plan général • I. Contexte • II. Problématique FWL • III. Forme implicite spécialisée • IV. Mesure de sensibilité • V. Exemples • VI. Conclusion
V.1 Exemples • On considère la fonction de transfert suivante • Ce filtre choisi car il possède un triple zéro pour z=-1, et que la position des zéros est donc très sensible par rapports aux coefficients implémentés [Geve93],[Hwan77] • Comparaison de différentes réalisations (par rapport à leur sensibilité paramétrique et à leur coût de calcul)
V.1 Exemples • réalisation canonique, opérateur q Sensibilité (A,B,C non pondérés)
V.1 Exemples • réalisation canonique, opérateur q Sensibilité (A,B,C pondérés)
V.1 Exemples [Geve93] • réalisation équilibrée (opérateur q) Sensibilité
V.1 Exemple • Réalisations avec l'opérateur • On choisit ∆=0.5 • On étudie les différentes réalisations, parmi celles équivalentes par changement de base
V.1 Exemple • Réalisation avec l'opérateur • Forme canonique
V.1 Exemple • On a vu que, pour les deux structurations (en q et en ), on pouvait obtenir des réalisations équivalentes par un changement de base sur les matrices systèmes A,B,C,D • Classes et sous-classes de réalisations équivalentes • On cherche donc le changement de base qui minimise la mesure de sensibilité • Problème d'optimisation • Utilisation d'un algorithme de recuit simulé adaptatif
V.1 Exemple • Réalisation optimale, structuration en q Sensibilité
V.1 Exemple • Réalisation optimale avec l'opérateur
V.1 Exemple • Comparaisons Autres critères pertinents : - taille mémoire utilisée, lisibilité des calculs, flexibilité (face aux changement des paramètres signifiants), généricité
VI. Conclusion • État de l'art • Problèmatique FWL • Un résultat clé : la forme implicite spécialisée • Formalisme unificateur • Forme macroscopique plus représentative des calculs mis en œuvre • Cela ouvre le champ de l'analyse et la synthèse d'implémentations • Des illustrations