You are on page 1of 3

TD : A3-06 & C1-03 / D3-03 PT

Résolution numérique et filtrage GC6 GCT


INTEGRATION ET DERIVATION NUMERIQUES
Exercice 1 : Cas d’école
Le cas d’école envisagé est l’intégration puis la dérivation de la fonction cosinus.
𝜋
 Pour un l’intervalle [0, 2 ], on vous demande de réaliser un programme python qui calcule l’aire sous la courbe
suivant 2 méthodes d’intégration numérique (méthode des rectangles et méthode des trapèzes), sachant que :
𝜋
𝜋
2
∫ cos(𝑥). 𝑑𝑥 = [sin(𝑥)]02 =1
0
o Données :
 Importer le module numpy sous le nom np
 Utiliser la fonction linspace pour créer 12 valeurs
 Créer 2 fonctions nommées « integration_degre0 » et « « integration_degre1 »
 Afficher vos résultats et déterminer les écarts relatifs entre les 2 méthodes
 Rappel : la fonction len donne le nombre d’éléments dans un objet (liste, tuple, etc)
o Conclusion : préciser l’influence du pas (augmenter le nombre de valeurs) sur les écarts.
 Pour un l’intervalle [0, 𝜋], on vous demande de réaliser un programme python qui affiche la courbe issue de la
dérivée numérique de la fonction cosinus sachant que :
(cos(𝑥))′ = −sin(𝑥)
o Données :
 Importer le module numpy sous le nom np et le module matplotlib.pyplot sous le nom plt
 Utiliser la fonction linspace pour créer 12 valeurs
 Utiliser le fonction zeros(n) pour créer un vecteur dont les n composantes sont nulles
 Créer 2 fonctions nommées « derivation_pas_arrirere » et « derivation_pas_avant »
 Afficher 4 courbes : fonction « cosinus », la fonction « -sinus », le résultat de la fonction
« derivation_pas_arrirere » puis celui de la fonction « derivation_pas_avant »
 Rappel : la fonction len donne le nombre d’éléments dans un objet (liste, tuple, etc)
o Conclusion : préciser l’influence du pas (augmenter le nombre de valeurs) sur les écarts.

Exercice 2 : Maxpid - Ondulation de courant


Lors du maintien en position du bras, la carte de commande délivre une
tension et un courant à la MCC pour lutter contre l’effet de la pesanteur. Il est
donc nécessaire de calculer des valeurs caractéristiques à partir du relevé
expérimental, pour vérifier l’exigence suivante du cahier des charges :
 Ondulation de courant : Le courant de l’induit de la MCC doit avoir une
ondulation relative maximale de 30 %.

Écrire un programme python qui lit un fichier de données et qui calcule l’aire
sous la courbe suivant 2 méthodes d’intégration numérique (méthode des
rectangles et méthode des trapèzes).
Calculer et comparer l’ondulation de courant suivant les 2 méthodes.
Conclure vis-à-vis du cahier des charges.
 Données :
o Importer le module numpy sous le nom np
o Récupérer les valeurs expérimentales pour une période du
courant dans le fichier fourni « Essai_courant_Maxpid.csv »
en utilisant la fonction np.loadtxt (séparateur « ; » et type de
variable np.float)
Remarque : temps en [s] et courant en [A]
o Créer 2 variables : « temps » et « courant »
o Créer 2 fonctions nommées « integration_degre0 » et « « integration_degre1 »
o Utiliser 2 fonctions pour rechercher la valeur max et mini du courant
o Afficher vos résultats et déterminer les écarts relatifs entre les 2 méthodes
o Rappel : la fonction len donne le nombre d’éléments dans un objet (liste, tuple, etc)
Inspiré de divers auteurs SII Page 1 sur 3
TD : A3-06 & C1-03 / D3-03 PT
Résolution numérique et filtrage GC6 GCT
Exercice 3 : Cheville Nao – Accélération angulaire
Lors d’un essai pour une course angulaire de la cheville de 120 °, on cherche à
déterminer l’inertie équivalente autour de l’axe de tangage. Pour cela, il faut obtenir
l’accélération angulaire moyenne à partir d’un fichier de mesure de position.

Écrire un programme python qui lit un fichier de


données, qui affiche les courbes :
 de la position angulaire,
 de la vitesse (dérivée numérique pas arrière),
 et de l’accélération (dérivée numérique pas arrière),
et qui calcule l’aire sous la courbe par intégration
numérique (méthode des trapèzes).
Calculer la vitesse et l’accélération moyennes.
Conclure vis-à-vis de votre programme.
 Données :
o Importer le module numpy sous le nom np et le module matplotlib.pyplot sous le nom plt
o Récupérer les valeurs expérimentales du temps et du courant dans le fichier fourni
« Angle_cheville.CSV » en utilisant la fonction np.loadtxt (séparateur « ; » et type de variable
np.float)
Remarque : temps en [s] et angle en [°]
o Créer 2 variables : « temps » et « angle »
o Créer 2 fonctions nommées « derivation_pas_arrirere » et « integration_degre1 »
o Afficher vos courbes et le résultat de l’accélération moyenne en [trs/s²]
o Utiliser la fonction subplot du module matplotlib.pyplot pour séparer vos 3 courbes
o Rappel : la fonction len donne le nombre d’éléments dans un objet (liste, tuple, etc)

FILTRAGE
Exercice 4 : Hémo-Mixer – Capteur de poids
Un capteur à 4 jauges de déformations (A)
embarque le dispositif mécanique de pesage
et le plateau d'agitation, de l’automate de
prélèvement sanguin. Ce capteur permet
donc de mesurer le volume prélevé.

Signal brut
Signal amplifié et filtré
amplifié
(filtre analogique)

Ce capteur est excité par une tension de 8 V et comporte un


pont de Wheatstone qui délivre en sortie une tension
proportionnelle au poids appliqué sur le capteur. Le signal du capteur est amplifié puis filtré.
Vous devez concevoir un filtre numérique (filtre à moyenne glissante) à partir du nuage de points fournis.

Écrire un programme python qui lit un fichier de données et qui affiche les courbes suivantes :

Inspiré de divers auteurs SII Page 2 sur 3


TD : A3-06 & C1-03 / D3-03 PT
Résolution numérique et filtrage GC6 GCT
 Signal non filtré,
 Signal filtré 1 : filtre non récursif pour un pas k=30
 Signal filtré 2 : filtre non récursif pour un pas k=200
 Signal filtré 3 : filtre récursif pour un pas k=30 et m=30
 Signal filtré 4 : filtre récursif pour un pas k=200 et m=200
Conclure vis-à-vis de votre programme.
 Données :
o Importer le module numpy sous le nom np et le module matplotlib.pyplot sous le nom plt
o Récupérer les valeurs expérimentales du temps et de la tension dans le fichier fourni
« Capteur_poids_hemomixer.CSV » en utilisant la fonction np.loadtxt (séparateur « ; » et type de
variable np.float)
Remarque : temps en [s] et tension en [V]
o Créer 2 variables : « temps » et « valeurs »
o Créer 2 fonctions nommées « filtre_moy_glissante_non_recursive » et
« filtre_moy_glissante_recursive »
o Utiliser la fonction copy qui permet de copier vos valeurs sans « effets de bord »
o Afficher vos courbes

Exercice 5 : Hémo-Mixer – Intensité moteur d’agitation


On souhaite afficher sur le logiciel
EMP (environnement multimédia
pédagogique) la courbe de l’intensité
consommée par le moteur d’agitation (E)
lors des différents essais.
Un relevé à l’oscilloscope
permet de conclure que le
signal brut de l’intensité est
bruité, il faut donc utiliser un filtre numérique (filtre passe-
bas) pour l’améliorer.
Vous devez concevoir un filtre numérique passe-bas du 1er
ordre à partir du nuage de points fournis.

Écrire un programme python qui lit un fichier de données


et qui affiche les courbes suivantes :
 Signal non filtré,
 Signal filtré 1 avec 𝜏 = 2 ∗ 𝑡𝑒𝑐ℎ
 Signal filtré 2 avec 𝜏 = 20 ∗ 𝑡𝑒𝑐ℎ
 Signal filtré 3 avec 𝜏 = 200 ∗ 𝑡𝑒𝑐ℎ
Conclure vis-à-vis de votre programme.
 Données :
o Importer le module numpy sous le nom np et le
module matplotlib.pyplot sous le nom plt
o Récupérer les valeurs expérimentales pour du courant
dans le fichier fourni « Intensite_moteur-
agitation_hemomixer.CSV » en utilisant la fonction
np.loadtxt (séparateur « ; » et type de variable np.float)
Remarque : temps en [s] et tension en [V]
o Créer 2 variables : « temps » et « valeurs »
o Créer une variable qui applique le coefficient de 19,6 aux valeurs de la tension pour obtenir l’intensité
consommée en [mA]
o Créer une fonctions nommée « filtre_passe_bas_d1 »
o Utiliser la fonction copy qui permet de copier vos valeurs sans « effets de bord »
o Afficher vos courbes

Inspiré de divers auteurs SII Page 3 sur 3

You might also like