IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

La physique COMPUTATIONNELLE au lycée

Image non disponible


précédentsommairesuivant

8. Introduction au traitement du signal

8-1. Un signal c'est quoi ?

Dans le cadre de cette formation, nous utiliserons la définition d'un signal comme la représentation physique d'une information à transmettre ou de façon équivalente comme une entité qui sert à véhiculer une information.

Attention, toute grandeur physique qui varie au cours du temps n'est pas un signal. En effet, les signaux sont tout le temps « bruité ». Le « bruit » est l'ensemble des phénomènes perturbateurs qui gênent, voire empêchent la perception ou l'interprétation de l'information suivant le rapport Signal sur Bruit. La grandeur physique véhiculant le signal doit être mesurable et pourvue d'une unité. Les grandeurs électriques sont souvent utilisées comme signaux transportant l'information. Mais on trouve aussi fréquemment des signaux lumineux, sonores ou radio.

Cette définition du signal amène à associer la grandeur physique véhiculant le signal à sa description mathématique sous la forme d'une fonction du temps.

8-2. Continuité et discontinuité en temps

Un signal peut-être représenté par une fonction qui varie dans le temps notée kitxmlcodeinlinelatexdvpf : t \mapsto y(t)finkitxmlcodeinlinelatexdvp, on peut distinguer plusieurs cas possibles suivant les valeurs prises par la variable kitxmlcodeinlinelatexdvptfinkitxmlcodeinlinelatexdvp :

  • les signaux à temps continus, les valeurs kitxmlcodeinlinelatexdvpf(t)finkitxmlcodeinlinelatexdvp sont définies pour kitxmlcodeinlinelatexdvpt \in \mathbb{R}^+finkitxmlcodeinlinelatexdvp. Par convention, on suppose que la variable temps ne peut pas prendre de valeurs négatives ;
  • les signaux à temps discret, les valeurs kitxmlcodeinlinelatexdvpf(t)finkitxmlcodeinlinelatexdvp n'existent que pour des valeurs discrètes de kitxmlcodeinlinelatexdvptfinkitxmlcodeinlinelatexdvp, lors d'une acquisition les valeurs de kitxmlcodeinlinelatexdvptfinkitxmlcodeinlinelatexdvp sont prises à intervalle constant.

On distingue également les signaux non quantifiés pour lesquels kitxmlcodeinlinelatexdvpffinkitxmlcodeinlinelatexdvp peut prendre n'importe quelle valeur dans un intervalle continu et les signaux quantifiés pour lesquels kitxmlcodeinlinelatexdvpffinkitxmlcodeinlinelatexdvp ne peut prendre que des valeurs discrètes. Dans le premier cas, on parle parfois de signaux analogiques et dans le deuxième cas on parle parfois de signaux numériques. Attention de ne pas généraliser, les signaux analogiques et numériques sont des sous-ensembles respectifs des signaux continus et discrets.

Remarques : si les signaux continus peuvent être modélisés par des fonctions mathématiques plus ou moins complexes, il n'en est pas de même avec les signaux discrets. Il est plus facile de les définir à l'aide d'une suite de valeurs notée kitxmlcodeinlinelatexdvp(y_i)_{i\in \mathbb{N}}finkitxmlcodeinlinelatexdvp où les kitxmlcodeinlinelatexdvpy_ifinkitxmlcodeinlinelatexdvp représentent les kitxmlcodeinlinelatexdvpf(t_i)finkitxmlcodeinlinelatexdvp. Cette suite de valeurs est aussi souvent appelée échantillons en physique-chimie.

Une autre différence importante à faire pour le traitement du signal est celle qui permet de distinguer les signaux déterministes des signaux stochastiques. Pour le premier, on peut grâce à une étude mathématique prévoir les valeurs qui vont être prises par le signal dans le temps alors que pour le second la valeur à l'instant kitxmlcodeinlinelatexdvpt_ifinkitxmlcodeinlinelatexdvp ne nous renseigne pas sur la valeur à un instant kitxmlcodeinlinelatexdvpt_{i+1}finkitxmlcodeinlinelatexdvp

8-2-1. Dérivée discrète

D'après un document de Jean-Luc Charles, enseignant chercheur à l'ENSAM

Reprenons les résultats expérimentaux obtenus lors de la chute libre d'un point matériel M sans vitesse initiale. Nous avons fait l'acquisition des positions d'un point matériel de masse m en fonction du temps. Ces valeurs permettent également de tracer le graphique d'évolution des énergies (cinétique, potentielle et mécanique) lors d'une chute libre en calculant, entre autres, la vitesse instantanée en différents points de la chute.

La suite de ce document porte sur la difficulté d'obtenir un calcul acceptable pour la valeur de la vitesse instantanée. Ce qui revient à s'interroger sur le calcul de la dérivée d'une suite discrète de valeurs au cours du temps.

Soit un point matériel kitxmlcodeinlinelatexdvpMfinkitxmlcodeinlinelatexdvp de masse kitxmlcodeinlinelatexdvpmfinkitxmlcodeinlinelatexdvp en chute libre.
On note kitxmlcodeinlinelatexdvp(z_i)_{i\in \mathbb{N}}finkitxmlcodeinlinelatexdvp la suite de valeurs permettant de repérer l'altitude du point kitxmlcodeinlinelatexdvpMfinkitxmlcodeinlinelatexdvp au cours du temps. kitxmlcodeinlinelatexdvpz_ifinkitxmlcodeinlinelatexdvp est l'altitude du point kitxmlcodeinlinelatexdvpMfinkitxmlcodeinlinelatexdvp à un instant kitxmlcodeinlinelatexdvpt_i \ge 0finkitxmlcodeinlinelatexdvp.
On note kitxmlcodeinlinelatexdvp(z'_i)_{i\in \mathbb{N}}finkitxmlcodeinlinelatexdvp la suite des valeurs de la vitesse du point matériel kitxmlcodeinlinelatexdvpMfinkitxmlcodeinlinelatexdvp au cours du temps. kitxmlcodeinlinelatexdvpz'_ifinkitxmlcodeinlinelatexdvp est la vitesse de M à un instant kitxmlcodeinlinelatexdvpt_i \ge 0finkitxmlcodeinlinelatexdvp.

Le calcul de la vitesse du point kitxmlcodeinlinelatexdvpMfinkitxmlcodeinlinelatexdvp à un instant kitxmlcodeinlinelatexdvpt_i \ge 0finkitxmlcodeinlinelatexdvp, encore appelé dans ce cas dérivée discrète à l'instant kitxmlcodeinlinelatexdvpt_i \ge 0finkitxmlcodeinlinelatexdvp, peut se définir de différentes manières :

  • dérivée à gauche : kitxmlcodeinlinelatexdvpz'_i = \frac{z_i-z_{i-1}}{t_i-t_{i-1}}finkitxmlcodeinlinelatexdvp ;
  • dérivée centrée : kitxmlcodeinlinelatexdvpz'_i = \frac{z_{i+1}-z_{i-1}}{t_{i+1}-t_{i-1}}finkitxmlcodeinlinelatexdvp ;
  • dérivée à droite : kitxmlcodeinlinelatexdvpz'_i = \frac{z_{i+1}-z_i}{t_{i+1}-t_i}finkitxmlcodeinlinelatexdvp.

La loi horaire de la chute libre est donnée par : kitxmlcodeinlinelatexdvpz(t) = h-\frac{1}{2}gt^2finkitxmlcodeinlinelatexdvp

Les graphiques de la loi horaire de la chute libre, expérimentale et théorique, sont les suivants :

Image non disponible
Image non disponible

Maintenant, nous allons calculer les vitesses du point matériel M en utilisant les trois relations (gauche, droite et centrée) avec les positions expérimentales et théoriques.

Gauche

Image non disponible
Image non disponible

Droite

Image non disponible
Image non disponible

Centrée

Image non disponible
Image non disponible

On observe que les résultats obtenus pour les calculs de la vitesse instantanée ne sont pas satisfaisants.

8-2-2. Calcul de la dérivée par approximation polynomiale

L'idée ici est de faire une approximation polynomiale de la suite kitxmlcodeinlinelatexdvp(z_i)_{i\in \mathbb{N}}finkitxmlcodeinlinelatexdvp par une fonction kitxmlcodeinlinelatexdvpZ : t \mapsto Z(t)finkitxmlcodeinlinelatexdvp sur l'intervalle de temps kitxmlcodeinlinelatexdvp[t_0, t_0+T]finkitxmlcodeinlinelatexdvp avec kitxmlcodeinlinelatexdvpT \in \mathbb{R}^+finkitxmlcodeinlinelatexdvp. kitxmlcodeinlinelatexdvpt_0finkitxmlcodeinlinelatexdvp représente le temps initial et l’on cherche une approximation polynomiale du mouvement pour kitxmlcodeinlinelatexdvpt \in [t_0,t_0+T]finkitxmlcodeinlinelatexdvp. La dérivée de cette fonction notée kitxmlcodeinlinelatexdvpZ'finkitxmlcodeinlinelatexdvp s'obtient alors par simple dérivation du polynôme obtenu.

Image non disponible
Image non disponible

Approximation polynomiale kitxmlcodeinlinelatexdvpZ : t \mapsto -5961t^2 + 3871t + 151.7finkitxmlcodeinlinelatexdvp

Représentation graphique de kitxmlcodeinlinelatexdvp|Z'|finkitxmlcodeinlinelatexdvp

Pour calculer l'approximation polynomiale des points de la suite, kitxmlcodeinlinelatexdvp(z_i)_{i \in \mathbb{N}}finkitxmlcodeinlinelatexdvp on utilise la fonction polyfit du module numpy. La fonction polyfit retourne les coefficients du polynôme représentant la fonction kitxmlcodeinlinelatexdvpZfinkitxmlcodeinlinelatexdvp, coefficients qui peuvent ensuite être utilisés avec numpy.poly1d. Puis on trace la vitesse en dérivant la fonction kitxmlcodeinlinelatexdvpZfinkitxmlcodeinlinelatexdvp obtenue.

Pour cela, on utilise les fonctions polyfit et poly1d du module numpy. La première renvoie l'ensemble des coefficients du polynôme, de degré 2 dans l'exemple, ajusté par la méthode des moindres carrés, la deuxième permet de construire la fonction mathématique et la fonction Python correspondantes. Dans l'exemple suivant, je n'ai conservé que les points intéressants de l'acquisition, c'est-à-dire ceux de l'intervalle : [45:75] des listes x et y.

 
Sélectionnez
1.
2.
3.
import numpy as np
z = np.polyfit(x[45:75], y[45:75], 2)
p = np.poly1d(z)

précédentsommairesuivant

Licence Creative Commons
Le contenu de cet article est rédigé par Christophe Casseau et est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d'Utilisation Commerciale - Partage dans les Mêmes Conditions 3.0 non transposé.
Les logos Developpez.com, en-tête, pied de page, css, et look & feel de l'article sont Copyright © 2021 Developpez.com.