Spelling suggestions: "subject:"virgatum""
11 |
Implémentation optimale de filtres linéaires en arithmétique virgule fixe / Optimal implementation of linear filters in fixed-point arithmeticLopez, Benoit 27 November 2014 (has links)
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. / Embedded systems implement signal processing systems, such as linear filters, for example for communication through networks. These devices are subject to various constraints, such as power consumption, time-To-Market, area consumption, and so on, that is necessary to optimize while guaranteeing reliability and accuracy of the implemented systems. Fixed-Point arithmetic is generally used instead of floating-Point arithmetic for signal processing embedded systems because it is less expensive, all devices support fixed-Point numbers (as they are implemented only using integers), allows arbitrary word-Lengths in hardware implementation and is enough accurate for signal processing programs. Fixed-Point computations need the operands of an operation to be aligned together with the same position of the binary point. This leads to quantification errors and the goal is to minimize these round-Off effects onto the final result, by proposing a guarantee on the output error. During this thesis, a methodology has been proposed which implements a given algorithm in fixed-Point using analytical approach, and generates some codes. This methodology consider both software and hardware targets. The hardware approach is realized solving a word-Length optimization problem. A tool, named FiPoGen, has been developed that realizes this methodology and automatically yields fixed-Point code corresponding to a given filter algorithm with a guarantee on the output error.
|
12 |
Résolution de contraintes sur les flottants dédiée à la vérification de programmes / Constraint solver over floating-point numbers designed for program verificationBelaid, Mohammed 04 December 2013 (has links)
La vérification de programmes avec des calculs sur les nombres à virgule flottante est une étape très importante dans le développement de logiciels critiques. Les calculs sur les nombres flottants sont généralement imprécis, et peuvent dans certains cas diverger par rapport au résultat attendu sur les nombres réels. L’objectif de cette thèse est de concevoir un solveur de contraintes sur les nombres à virgule flottante dédié à la vérification de programmes. Nous présentons dans ce manuscrit une nouvelle méthode de résolution de contraintes sur les flottants. Cette méthode se base principalement sur la sur-approximation des contraintes sur les flottants par des contraintes sur les réels. Cette sur-approximation doit être conservative des solutions sur les flottants. Les contraintes obtenues sont ensuite résolues par un solveur de contraintes sur les réels. Nous avons proposé un algorithme de filtrage des domaines sur les flottants basé sur le concept de la sur-approximation qui utilise des techniques de programmation linéaire. Nous avons aussi proposé une méthode de recherche de solutions basée sur des heuristiques. Cette méthode offre aussi la possibilité de comparer le comportement des programmes par rapport à une spécification sur les réels. Ces méthodes ont été implémentées et expérimentées sur un ensemble de programmes avec du calcul sur les nombres flottants. / The verification of programs with floating-point numbers computation is an important issue in the development of critical software systems. Computations over floating-point numbers are not accurate, and the results may be very different from the expected results over real numbers. The aim of this thesis is to design a constraint solver over floating-point numbers for program verification purposes. We introduce a new method for solving constraints over floating-point numbers. This method is based on an over-approximation of floating-point constraints using constraints over real numbers. This overapproximation is safe, that’s to say it doesn’t loose any solution over the floats. The generated constraints are then solved with a constraint solver over real numbers. We propose a new filtering algorithm using linear programming techniques, which takes advantage of these over-approximations of floating-point constraints. We introduce also new search methods and heuristics to find floating-point solutions of these constraints. Using our implementation, we show on a set of counter-examples the difference of the execution of programs over the floats with the specification over real numbers.
|
13 |
Fonctions élémentaires : algorithmes et implémentations efficaces pour l'arrondi correct en double précisionDefour, David 09 September 2003 (has links) (PDF)
Le codage et le comportement de l'arithmétique à virgule flottante disponible dans les ordinateurs sont spécifiés par la norme IEEE-754. Cette norme impose au système de rendre comme résultat de l'une des quatre opérations (+, *, /, sqrt), l'arrondi du résultat exact. Cette propriété que l'on appelle <>, permet de garantir la qualité du résultat. Elle permet également la construction de preuves d'algorithmes, quelles que soient les machines sur lesquelles l'opération est executée. Toutefois cette norme présente des limites, puisque les fonctions élémentaires (sinus, cosinus, exponentielle...) en sont absentes. Cette abscence est liée au <> : il est, contrairement aux opérations de base, difficile de connaître la précision nécessaire pour garantir l'arrondi correct des fonctions élémentaires. Cependant, si l'on fixe le format de représentation, il est alors possible par une recherche exhaustive de déterminer cette borne; ce fut le travail de thèse de Lefèvre pour la double précision. <br /><br />L'objectif de ce mémoire est d'exploiter les bornes associées à chaque fonction, pour certifier l'arrondi correct des fonctions élémentaires en double précision pour les quatre modes d'arrondi. À cet effet, nous avons implémenté les évaluations en deux étapes : l'une rapide et juste la plupart du temps, basée sur les propriétés de l'arithmétique IEEE double précision, et l'autre juste tout le temps, composé d'opérateurs multiprécision. Pour cette deuxième phase, nous avons développé une bibliothèque d'opérateurs multiprécision optimisés pour les précisions données par ces bornes et les caractéristiques des processeurs en 2003.
|
14 |
Évaluation analytique de la précision des systèmes en virgule fixeRocher, Romuald 07 December 2006 (has links) (PDF)
Lors du développement des applications de traitement numérique du signal, les algorithmes sont spécifiés en virgule flottante pour s'affranchir des problèmes liés à la précision des calculs. Cependant, pour satisfaire les contraintes de coût et de consommation, l'implantation de ces applications dans les systèmes embarqués nécessite l'utilisation de l'arithmétique virgule fixe. Ainsi, l'application définie en virgule flottante doit être convertie en une spécification virgule fixe. Pour réduire les temps de mise sur le marché des applications, des outils de conversion automatique de virgule flottante en virgule fixe sont nécessaires. Au sein de ces outils, une étape importante correspond à l'évaluation de la précision de la spécification virgule fixe. En effet, l'utilisation de l'arithmétique virgule fixe se traduit par la présence de sources de bruits liées à l'élimination de bits lors d'un changement de format. Ces bruits se propagent au sein du système et modifient la précision des calculs en sortie de l'application. La dégradation de la précision des calculs doit être maîtrisée afin de garantir l'intégrité de l'algorithme et les performances de l'application. La précision de l'application peut être évaluée par des simulations virgule fixe, mais celles-ci requièrent des temps de calcul élevés. L'utilisation de ce type d'approche pour l'optimisation d'une spécification virgule fixe conduit à des temps d'optimisation prohibitifs. De ce fait, l'objectif de cette thèse est de proposer une nouvelle approche pour l'évaluation automatique de la précision des systèmes en virgule fixe basée sur un modèle analytique. La précision est évaluée en déterminant l'expression du Rapport Signal à Bruit de Quantification (RSBQ) de l'application considérée. Des méthodes ont été proposées pour traiter les systèmes linéaires et invariants dans le temps (LTI) ainsi que les systèmes non-LTI non-récursifs. Ainsi, l'objectif de la thèse est de proposer une méthode d'évaluation automatique de la précision en virgule fixe pour tout type de système et notamment, les systèmes non-LTI présentant une recursion dans le graphe, comme les filtres adaptatifs. Dans un premier temps, des modèles d'évaluation de la précision dédiés aux filtres adaptatifs sont proposés. Dans un second temps, une extension vers un modèle général pour tout type de système est présentée. Le premier aspect de ce travail concerne le développement de modèles analytiques d'évaluation de la précision dédiés à des applications particulières issues du domaine du filtrage adaptatif. En effet, ces applications non-LTI ne peuvent être traitées par les techniques automatiques classiques. Pour ces systèmes, les modèles dédiés existants ne sont valables que pour une loi de quantification par arrondi convergent. Les modèles proposés par notre approche prennent en compte toutes les lois de quantification, notamment la loi de quantification par troncature. Pour les différents algorithmes adaptatifs et notamment les algorithmes du gradient, une expression analytique de la puissance du bruit en sortie du système est proposée. Ces modèles ont été intégrés au sein d'un générateur d'IP (Intellectual Properties) permettant de générer un composant matériel ou logiciel optimisé d'un point de vue arithmétique. Le second aspect de notre travail correspond à la définition d'une approche générale d'évaluation analytique de la précision valable pour l'ensemble des systèmes composés d'opérations arithmétiques. Cette méthode se base sur une approche matricielle permettant de traiter plus facilement certains algorithmes de transformée (FFT, DCT). Pour les systèmes récursifs, le déroulement de la récurrence est mis en oeuvre. La complexité de notre approche a été déterminée et un modèle de prédiction linéaire a été proposé afin de réduire celle-ci. Ce modèle permet d'accélérer le déroulement de la récurrence. Le modèle a été implanté sur l'outil Matlab et s'intègre au flot général de conversion automatique de virgule flottante en virgule fixe. Cette approche permet ainsi d'optimiser la largeur des opérateurs dans un processus d'optimisation du coût de l'application (consommation d'énergie, surface de l'architecture). Ces deux approches sont évaluées et comparées en termes de précision et de temps de calcul pour différentes applications, et plus particulièrement, le Least Mean Square (LMS) ou les Algorithmes de Projection Affine (APA). Les deux méthodes permettent d'obtenir des valeurs de la puissance du bruit en sortie du système très proches des valeurs réelles. Le temps d'exécution du modèle sous Matlab a été évalué. L'approche par prédiction linéaire permet de réduire de manière significative le temps de calcul de la puissance du bruit. Les temps d'exécution, dans le cas d'un processus d'optimisation de la largeur des opérateurs, ont été mesurés et comparés à ceux obtenus par une approche par simulations virgule fixe. Notre approche permet de réduire le temps de calcul par rapport aux approches basées sur la simulation au bout de quelques itérations seulement. Ces résultats montrent l'intérêt de notre méthodologie pour réduire le temps de développement des systèmes en virgule fixe.
|
15 |
Une Approche Stochastique Pour l'Evaluation De La Dynamique Des DonnéesBanciu, Andrei 29 February 2012 (has links) (PDF)
Les applications de traitement du signal ont connu un très fort développement dans les dernières décennies, bénéficiant des avancées majeures de l'industrie des semi-conducteurs. Toutes les implémentations pratiques utilisent l'arithmétique en virgule fixe afin de réduire la surface et la consommation d'énergie. En conséquence, une conversion de la description en virgule flottante de l'algorithme à une implémentation en virgule fixe qui ajuste la largeur du chemin de données doit être réalisée. C'est un processus d'optimisation qui consiste à trouver les partie fractionnaire (évaluation de la précision numérique) et entière (estimation de la dynamique) minimales qui satisfassent les contraintes de performance. Dans cette thèse, une approche stochastique pour l'évaluation de la dynamique des données est présentée. Notre objectif est d'obtenir une représentation complète de la variabilité qui intègre le comportement probabiliste et non seulement les limites maximales et minimales. Une méthode basée sur le développement de Karhunen-Loève est développée pour le cas des systèmes linéaires et invariants dans le temps. Ensuite, le développement du chaos polynomial est introduit afin de traiter des opérations non-linéaires. Les méthodes sont appliquées à l'optimisation de la taille de données quand une légère dégradation des performances est acceptable. La dynamique retenue ne couvre plus tout l'intervalle théorique de variation : des débordements sont autorisés avec une contrainte quant à leur probabilité d'apparition. Les signaux qui ont des variations importantes de leur amplitude sont approximées avec des intervalles réduits pour réduire le coût de l'implémentation.
|
16 |
Contributions à la synthèse d'architecture virgule fixe à largeurs multiplesHervé, Nicolas Sentieys, Olivier. January 2007 (has links) (PDF)
Thèse doctorat : Traitement du signal et télécommunications : Rennes 1 : 2007. / Bibliogr. p. [173]-180.
|
17 |
Résolution de contraintes sur les flottants dédiée à la vérification de programmesBelaid, Mohammed Saïd 04 December 2013 (has links) (PDF)
La vérification de programmes avec des calculs sur les nombres à virgule flottante est une étape très importante dans le développement de logiciels critiques. Les calculs sur les nombres flottants sont généralement imprécis, et peuvent dans certains cas diverger par rapport au résultat attendu sur les nombres réels. L'objectif de cette thèse est de concevoir un solveur de contraintes sur les nombres à virgule flottante dédié à la vérification de programmes. Nous présentons dans ce manuscrit une nouvelle méthode de résolution de contraintes sur les flottants. Cette méthode se base principalement sur la sur-approximation des contraintes sur les flottants par des contraintes sur les réels. Cette sur-approximation doit être conservative des solutions sur les flottants. Les contraintes obtenues sont ensuite résolues par un solveur de contraintes sur les réels. Nous avons proposé un algorithme de filtrage des domaines sur les flottants basé sur le concept de la sur-approximation qui utilise des techniques de programmation linéaire. Nous avons aussi proposé une méthode de recherche de solutions basée sur des heuristiques. Cette méthode offre aussi la possibilité de comparer le comportement des programmes par rapport à une spécification sur les réels. Ces méthodes ont été implémentées et expérimentées sur un ensemble de programmes avec du calcul sur les nombres flottants.
|
18 |
Contribution to error analysis of algorithms in floating-point arithmetic / Contribution à l'analyse d'algorithmes en arithmétique à virgule flottantePlet, Antoine 07 July 2017 (has links)
L’arithmétique virgule flottante est une approximation de l’arithmétique réelle dans laquelle chaque opération peut introduire une erreur. La norme IEEE 754 requiert que les opérations élémentaires soient aussi précises que possible, mais au cours d’un calcul, les erreurs d’arrondi s’accumulent et peuvent conduire à des résultats totalement faussés. Cela arrive avec une expression aussi simple que ab + cd, pour laquelle l’algorithme naïf retourne parfois un résultat aberrant, avec une erreur relative largement supérieure à 1. Il est donc important d’analyser les algorithmes utilisés pour contrôler l’erreur commise. Je m’intéresse à l’analyse de briques élémentaires du calcul en cherchant des bornes fines sur l’erreur relative. Pour des algorithmes suffisamment précis, en arithmétique de base β et de précision p, on arrive en général à prouver une borne sur l'erreur de la forme α·u + o(u²) où α > 0 et u = 1/2·β1-p est l'unité d'arrondi. Comme indication de la finesse d'une telle borne, on peut fournir des exemples numériques pour les précisions standards qui approchent cette borne, ou bien un exemple paramétré par la précision qui génère une erreur de la forme α·u + o(u²), prouvant ainsi l'optimalité asymptotique de la borne. J’ai travaillé sur la formalisation d’une arithmétique à virgule flottante symbolique, sur des nombres paramétrés par la précision, et à son implantation dans le logiciel de calcul formel Maple. J’ai aussi obtenu une borne d'erreur très fine pour un algorithme d’inversion complexe en arithmétique flottante. Ce résultat suggère le calcul d'une division décrit par la formule x/y = (1/y)·x, par opposition à x/y = (x·y)/|y|². Quel que soit l'algorithme utilisé pour effectuer la multiplication, nous avons une borne d'erreur plus petite pour les algorithmes décrits par la première formule. Ces travaux sont réalisés avec mes directeurs de thèse, en collaboration avec Claude-Pierre Jeannerod (CR Inria dans AriC, au LIP). / Floating-point arithmetic is an approximation of real arithmetic in which each operation may introduce a rounding error. The IEEE 754 standard requires elementary operations to be as accurate as possible. However, through a computation, rounding errors may accumulate and lead to totally wrong results. It happens for example with an expression as simple as ab + cd for which the naive algorithm sometimes returns a result with a relative error larger than 1. Thus, it is important to analyze algorithms in floating-point arithmetic to understand as thoroughly as possible the generated error. In this thesis, we are interested in the analysis of small building blocks of numerical computing, for which we look for sharp error bounds on the relative error. For this kind of building blocks, in base and precision p, we often successfully prove error bounds of the form α·u + o(u²) where α > 0 and u = 1/2·β1-p is the unit roundoff. To characterize the sharpness of such a bound, one can provide numerical examples for the standard precisions that are close to the bound, or examples that are parametrized by the precision and generate an error of the same form α·u + o(u²), thus proving the asymptotic optimality of the bound. However, the paper and pencil checking of such parametrized examples is a tedious and error-prone task. We worked on the formalization of a symbolicfloating-point arithmetic, over numbers that are parametrized by the precision, and implemented it as a library in the Maple computer algebra system. We also worked on the error analysis of the basic operations for complex numbers in floating-point arithmetic. We proved a very sharp error bound for an algorithm for the inversion of a complex number in floating-point arithmetic. This result suggests that the computation of a complex division according to x/y = (1/y)·x may be preferred, instead of the more classical formula x/y = (x·y)/|y|². Indeed, for any complex multiplication algorithm, the error bound is smaller with the algorithms described by the “inverse and multiply” approach.This is a joint work with my PhD advisors, with the collaboration of Claude-Pierre Jeannerod (CR Inria in AriC, at LIP).
|
19 |
Contribution à l'arithmétique des ordinateurs et applications aux systèmes embarqués / Contributions to computer arithmetic and applications to embedded systemsBrunie, Nicolas 16 May 2014 (has links)
Au cours des dernières décennies les systèmes embarqués ont dû faire face à des demandes applicatives de plus en plus variées et de plus en plus contraintes. Ce constat s'est traduit pour l’arithmétique par le besoin de toujours plus de performances et d'efficacité énergétique. Ce travail se propose d'étudier des solutions allant du matériel au logiciel, ainsi que les diverses interactions qui existent entre ces domaines, pour améliorer le support arithmétique dans les systèmes embarqués. Certains résultats ont été intégrés au processeur MPPA développé par Kalray. La première partie est consacrée au support de l'arithmétique virgule flottante dans le MPPA. Elle commence par la mise au point d'une unité flottante matérielle basée sur l'opérateur classique FMA (fused multiply-Add). Les améliorations proposées, implémentées et évaluées incluent un FMA à précision mixte, l'addition à 3 opérandes et le produit scalaire 2D, à chaque fois avec un seul arrondi et le support des sous-Normaux. Cette partie se poursuit par l'étude de l'implémentation des autres primitives flottantes normalisées : division et racine carrée. L'unité flottante matérielle précédente est réutilisée et modifiée pour optimiser ces primitives à moindre coût. Cette première partie s’ouvre sur le développement d'un générateur de code destiné à l'implémentation de bibliothèques mathématiques optimisées pour différents contextes (architecture, précision, latence, débit). La seconde partie consiste en la présentation d'une nouvelle architecture de coprocesseur reconfigurable. Cet opérateur matériel peut être dynamiquement modifié pour s'adapter à la volée à des besoins applicatifs variés. Il vise à fournir des performances se rapprochant d'une implémentation matérielle dédiée sans renier la flexibilité inhérente au logiciel. Il a été spécifiquement pensé pour être intégré avec un cœur embarqué faible consommation du MPPA. Cette partie s'attache aussi à décrire le développement d'un environnement logiciel pour cibler ce coprocesseur ainsi qu'explorer divers choix architecturaux envisagés. La dernière partie étudie un problème plus large : l'utilisation efficace de ressources arithmétiques parallèles. Elle présente une amélioration des architectures régulières Single Instruction Multiple Data tels qu’on les trouve dans les accélérateurs graphiques (GPU) pour l'exécution de graphes de flot de contrôle divergents. / In the last decades embedded systems have been challenged with more and more application variety, each time more constrained. This implies an ever growing need for performances and energy efficiency in arithmetic units. This work studies solutions ranging from hardware to software to improve arithmetic support in embedded systems. Some of these solutions were integrated in Kalray's MPPA processor. The first part of this work focuses on floating-Point arithmetic support in the MPPA. It starts with the design of a floating-Point unit (FPU) based on the classical FMA (Fused Multiply-Add) operator. The improvements we suggest, implement and evaluate include a mixed precision FMA, a 3-Operand add and a 2D scalar product, each time with a single rounding and support for subnormal numbers. It then considers the implementation of division and square root. The FPU is reused and modified to optimize the software implementations of those primitives at a lower cost. Finally, this first part opens up on the development of a code generator designed for the implementation of highly optimized mathematical libraries in different contexts (architecture, accuracy, latency, throughput). The second part studies a reconfigurable coprocessor, a hardware operator that could be dynamically modified to adapt on the fly to various applicative needs. It intends to provide performance close to ASIC implementation, with some of the flexibility of software. One of the addressed challenges is the integration of such a reconfigurable coprocessor into the low power embedded cluster of the MPPA. Another is the development of a software framework targeting the coprocessor and allowing design space exploration. The last part of this work leaves micro-Architecture considerations to study the efficient use of parallel arithmetic resources. It presents an improvement of regular architectures (Single Instruction Multiple Data), like those found in graphic processing units (GPU), for the execution of divergent control flow graphs.
|
20 |
Simulation temps-réel embarquée de systèmes électriques au moyen de FPGA / FPGA-based Embedded real time simulation of electrical systemsDagbagi, Mohamed 08 October 2015 (has links)
L'objectif de ce travail de thèse est de développer une bibliothèque de modules IPs (Intellectual Properties) de simulateurs temps réel embarqués qui simulent différents éléments d'un système électrique. Ces modules ont été conçus pour être utiliser non seulement pour une validation HIL (Hardware-In-the-Loop) des commandes numériques mais aussi pour des applications de commande embarquées, où le module IP de simulateur et le contrôleur sont tous les deux implémentés et exécutés dans la même cible FPGA. Cette nouvelle classe de simulateurs temps réel devrait être de plus en plus incluse dans la prochaine génération de contrôleurs numériques. En effet, ces modules IPs de simulateurs temps réel embarqués peuvent être avantageusement intégrés dans les contrôleurs numériques pour assurer des fonctions comme l'observation, l'estimation, le diagnostic où la surveillance de la santé. Inversement aux cas de HIL, le principal défi lors de la conception de tels simulateurs est de faire face à leur complexité ayant à l'esprit que, dans le cas des systèmes embarqués, les ressources matérielles disponibles sont limitées en raison du coût. En outre, ce problème est renforcé par la nécessité des pas de simulation très petit. Ceci est généralement le cas lors de la simulation des convertisseurs de puissance.Pour développer ces modules IPs, des lignes directrices dédiés de conception ont été proposées pour être suivies pour gérer la complexité de ces simulateurs (solveur de modèle, solveur numérique, pas de simulation, conditionnement de données) tout en tenant compte des contraintes temporelles et matérielles/coût (temps de calcul limité, ressources matérielles limitées ...).Les modules IPs de simulateurs à développer ont été organisés en deux catégories principales: ceux qui sont consacrées aux éléments électromagnétiques d'un système électrique, et ceux dédiés à ses éléments commutés.La première catégorie regroupe les éléments où les phénomènes électriques, magnétiques sont modélisés en plus de phénomènes mécaniques (pour les parties mécaniques) et des phénomènes potentiellement thermiques. Trois cas sont traités: le simulateur temps réel embarqué d'une machine synchrone triphasée, celui d'une machine asynchrone triphasée et celui d'un alternateur synchrone à trois étages. En plus de cela, les avantages de l'utilisation de la transformation delta pour améliorer la stabilité du solveur numérique lorsque un petit pas de calcul et le codage virgule fixe (avec une précision de données limitée) sont utilisés, ont été étudiés.La deuxième catégorie concerne des éléments commutés tels que les convertisseurs de puissance où les événements de commutation sont considérés. Là encore, plusieurs topologies de convertisseurs ont été étudiées: un redresseur simple alternance, un hacheur série, un hacheur réversible en courant, un hacheur quatre quadrant, un onduleur monophasé, un onduleur triphasé, un redresseur à diodes triphasé et un redresseur MLI triphasé. Pour tous ces modules IPs de simulateurs, l'approche de modélisation ADC (Associated Discrete Circuit) est adoptée.Le module IP de simulateur temps réel embarqué du redresseur MLI a été appliqué dans un contexte d'une application embarquée. Cette dernière consiste en une commande tolérante aux défauts d'un convertisseur de tension coté réseau. Ainsi, ce module IP est associé à celui d'un simulateur temps réel d'un filtre RL triphasé et les deux sont embarqués dans le dispositif de commande du redresseur pour estimer les courants de lignes. Ces courants sont injectés dans le dispositif de commande dans le cas d'un défaut de capteur de courant. La capacité de cet estimateur de garantir la continuité de service en cas de défauts est validée par des tests HIL et expérimentalement. / The aim of this thesis work is to develop an IP-Library of FPGA-based embedded real-time simulator IPs (Intellectual Properties) that simulate different elements of an electrical system. These IPs have been designed to be used not only for Hardware-In-the-Loop (HIL) testing of digital controllers but also for low cost embedded control applications, where the simulator IP and the controller are both implemented and run altogether in the same FPGA device. This emerging class of real-time simulators is expected to be more and more included in the next generation of digital controllers. Indeed, such embedded real-time simulator IPs can be advantageously embedded within digital controllers to ensure functions like observation, estimation, diagnostic or health-monitoring. Conversely to the HIL case, the main challenge when designing such simulator IPs is to cope with their complexity having in mind that, in the case of embedded systems, the available hardware resources are limited due to the cost. Furthermore, this challenge is strengthened by the need of very short simulation time-steps which is typically the case when simulating power converters.To develop these IPs, dedicated design guidelines have been proposed to be followed to manage the complexity of these simulator IPs (model solver, numerical solver, time-step, data conditioning) with regards to the timing and the area/cost constraints (computation time limit, limited hardware resources …).The simulators IPs to be developed have been organized into two main categories: those dedicated to electromagnetic elements of an electrical system and those dedicated to their switching elements.The first category gathers elements where electric, magnetic phenomena are modelized in addition to mechanical phenomena (for moving systems) and potentially thermal phenomena. Three cases are dealt with: the embedded real-time simulator of a three-phase synchronous machine, the one of a three-phase induction machine and the one of a brushless synchronous generator. Also, the advantages of using delta transformation to improve the stability of the numerical solver when short simulation time-step and fixed-point (with limited data precision) are used, have been studied.The second category concerns switching elements such as power converters where switching events are considered. Here again, several converter topologies have been studied: a half-wave rectifier, a buck DC-DC converter, a bidirectional buck DC-DC converter, a H-bridge DC-DC converter, a single-phase H-bridge DC-AC converter, a three-phase voltage source inverter, a three-phase diode rectifier and a three-phase PWM rectifier. For all these IPs, the Associated Discrete Circuit (ADC) modeling approach is adopted.The embedded real-time simulator IP of the three-phase PWM rectifier has been applied in the context of an embedded application. The latter consists of a fault-tolerant control of a grid-connected voltage source rectifier. Thus, this simulator IP is associated with the one of a three-phase RL-filter and are both implemented within the rectifier controller to estimate the grid currents. These currents are injected in the controller in the case of a current sensor fault. The ability of this estimator to guarantee the service continuity in the case of faults is validated through HIL tests and experiments.
|
Page generated in 0.037 seconds