vous êtes : accueil > > Système d'Information > Validation numérique> Sources d'erreurs > Sources d'erreur dans le logiciel embarqué

Système d'Information |

Imprimer l'articleEnvoyer à un ami

VALIDATION NUMÉRIQUE - SOURCES D'ERREURS

SOURCES D'ERREUR DANS LE LOGICIEL EMBARQUÉ

Comme pour la simulation numérique, nous répertorions les principales sources d'erreur pour un calcul embarqué. La décomposition suit toujours le principe de la résolution d'une équation mais adaptée au contexte de résolution par un calculateur embarqué.


Instabilités physiques du processus :

Le système que l’on veut piloter est par nature instable. C’est par exemple le cas des nouveaux aéronefs. C’est également le cas de nombreux systèmes de régulations automatiques (radars, émissions radio-électriques…).


Instabilités dues aux mesures des capteurs :

Le système envoie des signaux par l’intermédiaire de capteurs. Or le relevé des mesures est toujours accompagné d’incertitudes. Ces dernières peuvent être à l’origine d’instabilités qu’il faut pouvoir contrôler.

                   


Instabilités mathématiques du modèle :
Les instabilités mathématiques, lorsqu’elles existent, sont inhérentes au modèle. Inévitablement, elles vont créer des difficultés et des perturbations dans la détermination et dans l’exécution de la loi de commande. Par exemple, certains modèles d’auto-régulations peuvent être par nature instables, les modèles très sensibles aux conditions initiales, certains modèles d’oscillations des réactions chimiques…

                        


Instabilités du système asservi :
La loi de commande est établie mais un système, par nature stable, peut être déstabilisé par une commande trop rigide. Le système asservi devient instable. Ces caractéristiques sont déterminées par l’analyse mathématique de la stabilité du système asservi.

                        


Instabilités introduites par la discrétisation des fonctions (échantillonnage) :

Nous entrons dans la phase d’implémentation de la loi de commande.

Pour utiliser la correction ou la régulation pilotée par un processeur (donc un calculateur numérique), il est nécessaire de discrétiser (ou numériser, ou échantillonner) les fonctions du modèle mathématiques. Cette phase de discrétisation peut générer des instabilités qu’il faut déceler.

L’objectif est d’éviter que la discrétisation de la loi de commande  génère de phénomènes oscillatoires dues à l’apparition d’instabilités numériques. Ce sont des instabilités d’origine algorithmique.


Instabilités numériques créées à l'implémentation du code :

Nous poursuivons notre phase d’implémentation de la loi de commande.

La traduction de l’algorithme (papier) en code (informatique), avec le choix d’un langage de programmation tel que Fortran, C, Ada…, est une autre étape importante qui influence la qualité du calcul final. Les influences de la compilation et de l’optimisation sont ici déterminantes. Il faut accomplir une analyse précise de ces influences.

Une optimisation efficace ne doit pas conduire à des instabilités numériques, surtout lorsque les optimisations jouent sur les longueurs de mantisse en registres internes du microcontrôleur.


Instabilités numériques créées à l'exécution du code :

De plus, l’ordinateur, avec la représentation en virgule flottante, va générer lui même des instabilités. Elles ont pour origine l’erreur d’arrondi et les exceptions numériques.