Préparation à l agrégation de physique 2005-2006 Utilisation du logiciel IGOR Pro: représentation, acquisition et analyse de données
Pourquoi le logiciel IGOR Pro? Un grapheur scientifique comme de nombreux autres Représentation graphique des données Analyse et exploitation des données Ajustement de courbes (curve fitting) Lissage, convolution et déconvolution Transformation de Fourier discrète Tests statistiques sur les données : moyenne, écart-type d une distribution
Autres fonctionnalités d IGOR Pro 1. Il peut être programmé grâce à des macro-commandes (langage type C) 2. Extensible par l ajout de modules complémentaires (les XOP), il permet l interfaçage avec des appareils de mesure pour l acquisition de données (via par exemple l interface GPIB) 3. Il permet d acquérir et de traiter des images digitales
Introduction à Igor : plan 1. Présentation générale du logiciel a) Les waves et les graphiques b) L'échelle "X-scaling" c) Exemple de tracé d'une courbe : la gaussienne 2. Analyse statistique d'une série de mesure a) Moyenne et écart-type b) Estimation de la distribution de probabilité 3. Ajustement d'un modèle a) Généralités b) Ajustement affine par moindres carrés c) Ajustement non-linéaire
Introduction à Igor : plan 1. Présentation générale du logiciel a) Les waves et les graphiques b) L'échelle "X-scaling" c) Le tracé d'une courbe : la gaussienne 2. Analyse statistique d'une série de mesure a) Moyenne et écart-type b) Estimation de la distribution de probabilité 3. Ajustement d'un modèle a) Généralités b) Ajustement affine c) Ajustement non-linéaire
Objets de base d'igor Pro Données Nombres (entiers, réels ou complexes) Chaînes de caractères Wave (abréviation de waveform = signal) Objets d interface graphique Graph (graphique) Table (Tableau) Page Layout Un ensemble de ces objets constitue ce qu'igor appelle un "experiment", stockée dans un fichier portant l'extension.pxp Exemple : fichier SonLa.pxp
Concept "clé" de IGOR : la wave Une wave (= signal) correspond à une matrice contenant des nombres (entiers, réels, complexes) ou des chaînes de caractères Elle peut être manipulée comme un vecteur On peut en rentrer directement les valeurs dans un tableau, ou importer des données à partir d'un fichier, pour lequel de nombreux formats d'import sont possibles (texte, texte tabulé,...) Chaque wave portera alors un nom, ce qui permettra de s'y référer pour effectuer des opérations mathématiques, l'afficher sous forme de tableau ou de graphique (2D ou 3D) Il n'est pas nécessaire qu'une wave soit affichée dans un tableau pour qu'elle existe : elle est stockée en mémoire de façon permanente
Relations entre les différents objets Les waves sont stockées en mémoire. Chaque wave possède un nom unique, permettant de s y référer sans ambiguïté. Les waves peuvent être affichées dans un tableau, ou représentées graphiquement. Elles peuvent faire l objet de traitement mathématique. Un page layout permet de présenter des tableaux, des graphiques et d y ajouter schémas et annotations. Wave Graph Table Page Layout
nterface utilisateur : ligne de commande Le nom de l'expérience apparaît dans le titre de la fenêtre de commande. Accès à l'aide en ligne Après exécution d'une commande, celle-ci est transférée dans l'histoire de l'expérience. L histoire ne doit surtout pas être modifiée pour Les commandes sont conserver la traçabilité des opérations effectuées. entrées dans la ligne de commande puis exécutées.
Quelques exemples de waves 1 R Thermistance plongée dans un bain d'huile. On relève la résistance R en fonction de la température T à l'aide d'un ohmmètre Représenter R en fonction de T 2 3 En utilisant le menu "Data > Make wave" Nom (angle) ; dimension (1) et taille (360) et taper dans la fenêtre de commande "angle = x" En téléchargeant un fichier texte avec le menu Data > Load Wave > Load General Text et sélectionner le fichier "signal.dat"
Exemple de graphique 80 60 resistance (ohm) 40 20 320 340 360 380 400 temperature (K)
Interface utilisateur: menus et commandes Quand on choisit un objet dans un menu, Igor ouvre une fenêtre de dialogue La fenêtre de dialogue génère une commande qui sera exécutée dans la ligne de commande Transfère la commande à la ligne de commande puis l'exécute. Copie la commande dans la ligne de commande, où on peut la modifier puis l'exécuter. Copie la commande dans le pressepapier. Utile pour écrire des procédures Igor
Graphiques 1 2 3 4 Représenter résistance en fonction de température, en utilisant une échelle linéaire. Repérer un point au moyen des curseurs. Idem en utilisant une échelle logarithmique en ordonnée pour représenter la variation de la résistance du matériau semiconducteur Créer un diagramme polaire représentant le signal en fonction de l'angle Windows > New > Packages > PolarGraph Composer un "page layout" avec les différents objets graphiques : graphes, tableau.
Spécificité des "waves" Cas des données provenant d'une acquisition ex: transfert à partir d'un oscillo numérique Les valeurs Y (volts) sont lues l une après l autre, tandis que les valeurs en X (secondes) sont les instants d échantillonnage déduits de la base de temps de l oscilloscope valeur Y 1 Y 2 Y 3 Y 4 Y 5 pas d échantillonnage wave : valeur des {Y i } + échelle (X scaling) Structure de type "Waveform data"
Exemple de "waveform data" numéro du point Point temps diapason 0 0 0.0088 1 4e-05 0.0116 2 8e-05 0.0136 3 0.00012 0.0156 4 0.00016 0.0168 5 0.0002 0.02 6 0.00024 0.024 7 0.00028 0.0272 8 0.00032 0.03 9 0.00036 0.0316 diapason 40mV valeur stockée de la donnée Y correspondant au point considéré de la wave valeur calculée de la valeur X en fonction de l échelle associée à la wave Télécharger le fichier spectre.dat (spectre d'un filtre coloré entre 350 nm et 1080 nm) et définir l'échelle associée 30 20 10 0 0 100 200 300x10-6 temps (seconde)
Traçons une distribution de Gauss [ ] 1 y = σ 2π exp (x X)2 2σ 2 0.20 0.15 0.10 0.05 0.00 0 5 10 15 20 courbes pour X = 10 et σ = 2 ou σ = 4
Intérêt de la gaussienne Répartition statistique des erreurs aléatoires dans une opération de mesurage Exemple illustratif : la planche de GALTON La forme de l'histogramme tend vers une répartition de Gauss lorsqu'on fait tendre le nombre de mesures vers l'infini
Définition d'une fonction
Introduction à IGOR Pro : plan 1. Présentation générale du logiciel a) Les waves et les graphiques b) L'échelle "X-scaling" c) Exemple de tracé d'une courbe : la gaussienne 2. Analyse statistique d'une série de mesure a) Moyenne et écart-type b) Estimation de la distribution de probabilité 3. Ajustement d'un modèle a) Généralités b) Ajustement affine c) Ajustement non-linéaire
Exploitation d'une série de mesures système physique appareil de mesure environnement série de mesures grandeur x distribution de probabilité f(x) échantillon x 1 x 2... x N estimation Exemple : mesure d'une tension Estimation de la moyenne et de l'écart-type?
Introduction à Igor : plan 1. Présentation générale du logiciel a) Les waves et les graphiques b) L'échelle "X-scaling" c) Exemple de tracé d'une courbe : la gaussienne 2. Analyse statistique d'une série de mesure a) Moyenne et écart-type b) Estimation de la distribution de probabilité 3. Ajustement d'un modèle a) Généralités b) Ajustement affine c) Ajustement non-linéaire
Différents ajustements de courbe 1. Ajustement par une fonction affine y = a + b x 2. Ajustement par un polynôme y = c 0 + c 1 x + c 2 x 2 +... + c p x p 3. Ajustement par une fonction nonlinéaire vis-à-vis des paramètres de l ajustement y = f(x, {k 1, k 2,...})
Exemple concret d'ajustement R Thermistance plongée dans un bain d'huile. Evolution de la résistance R en fonction de la température T R(T ) = R 0 exp ( Egap 2k B T ) 1. Ajustement par une fonction affine ( ) ( 1 ln R = a + b avec a = ln R 0, b = E ) gap T 2k B 2. Ajustement par la loi R(T), non-linéaire vis-à-vis des paramètres R 0 et E gap de la thermistance
Ajustement à ne pas faire! (a) (b) Ajustement quadratique par moindres carrés...fut publié dans la revue Nature en 1978...