0% ont trouvé ce document utile (0 vote)
11 vues4 pages

Étude des signaux sinusoïdaux en Python

Transféré par

aa G
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
11 vues4 pages

Étude des signaux sinusoïdaux en Python

Transféré par

aa G
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Etude de l’influence de l’amplitude et de la période pour un signal périodique (ver-

sion élève)

Nous allons étudier un signal sinusoïdal. Un tel signal se répète identique à lui-même tous les 2 π, au bout d’une
durée T (période en s).
Son évolution au cours du temps t se traduit par la fonction mathématique : [Link]((2π/T).t)
où A est l’amplitude
Comme le temps t ne peut pas être continu, il faut le discrétiser, c’est-à-dire calculer t pour des valeurs entières,
multiples d’une petite durée appelée période d’échantillonnage et notée Te.
Te doit être suffisamment petit par rapport à T.
Ce qui donne l’expression mathématique suivante : [Link]((2π/T).[Link])
Avec i prenant des valeurs entières.
In [1]:
import numpy as np
import [Link] as plt
%matplotlib inline

# cette fonction permet d'afficher un graphique


# à un emplacement précis de la fenêtre graphique.
# Ainsi, on peut afficher plusieurs sous-graphiques
# sur la même fenêtre.

def affichage_graphique(n,y,l,yl) :
# Déclaration du nombre d'emplacements dans la fenêtre
[Link](3,1,n)
# Affichage de la courbe
[Link](t,y,'k-',lw=1,label=n)
# Impose les bornes min et max sur l'axe des ordonnées
[Link](-2,2)
[Link]()
[Link]('t (s)')
[Link](yl)
[Link]()

# Déclaration des variables


Ymax=1 # amplitude en m
T=1 # période en s
Te=0.01 # période d'échantillonnage en s
# Création des listes (vides) qui contiendront les valeurs
# du temps et des amplitudes
t=[]
y1=[]

# Boucle permettant de parcourir toutes les valeurs du temps


# discrétisé.
for i in range (0,1000) :
# La méthode append permet de rajouter une valeur en fin

1
# de la liste t
[Link](i*Te)
# la fonction sinus est contenue dans la bibliothèque numpy
# la constante pi est contenue dans la bibliothèque numpy
[Link](Ymax*[Link]((2*[Link]/T)*i*Te))

# création du graphique

# création de la fenêtre graphique


[Link](2,figsize=(10,12))
# appel de la fonction gérant l'affichage du sous-graphique
affichage_graphique(1,y1,"courbe de référence","y1 (m)")

[Link]()

Etude préalable :
En tenant compte des renseignements donnés lignes 24, 25 et 33, répondez aux questions suivantes :
1. Combien d’échantillons temporels aura-t-on?
2. Par quel calcul simple aurait-on pu prévoir la durée du signal créé?
3. Par quel calcul simple aurait-on pu prévoir le nombre de périodes affichées?
4. Combien d’échantillons temporels a-t-on par période?
Nous souhaitons étudier l’influence des paramètres A et T sur l’évolution temporelle du signal sinusoïdal.
Pour cela, nous avons déjà écrit en lignes 25 et 37 du programme ci-dessous, la création d’un signal sinusoïdal de
référence noté y1.
Nous avons également déjà déclaré les listes y2 et y3 sur les lignes de code 26 et 27.
Sur le modèle de la ligne 37, compléter la ligne 38 de manière à créer un signal sinusoïdal nommé y2 d’amplitude
deux fois plus grande que y1.
Puis, toujours sur le même modèle, compléter la ligne 39 de manière à créer un signal sinusoïdal nommé y3 de
période deux fois plus grande que y1.

2
Nous souhaitons de plus, afficher ces trois signaux en trois graphiques situés l’un au-dessous de l’autre. Nous
allons pour cela utiliser la méthode [Link](nombre de lignes, nombre de colonnes, index) de la bibliothèque
[Link] as plt.
L’affichage est géré par une fonction nommée affichage_graphique qui a besoin d’un certain nombre de
paramètres (fournis entre parenthèses) pour fonctionner correctement.
Sur le modèle de la ligne 43, écrire la ligne de code nécessaire à l’affichage de y2.
Puis, toujours sur le modèle de la ligne 43, écrire la ligne de code nécessaire à l’affichage de y3.
In [2]:
import numpy as np
import [Link] as plt
%matplotlib inline

def affichage_graphique(n,y,l,yl) :
# Déclaration du nombre d'emplacements dans la fenêtre
[Link](3,1,n)
# Affichage de la courbe
[Link](t,y,'k-',lw=1,label=n)
# Impose les bornes min et max sur l'axe des ordonnées
[Link](-2,2)
[Link]()
[Link]('t (s)')
[Link](yl)
[Link]()

# Déclaration des variables


Ymax=1 # amplitude en m
T=1 # période en s
Te=0.01 # période d'échantillonnage en s

# Création des listes (vides) qui contiendront les valeurs


# du temps et des amplitudes
t=[]
y1=[]
y2=[]
y3=[]

# Boucle permettant de parcourir toutes les valeurs du temps discrétisé.


for i in range (0,1000) :
# La méthode append permet de rajouter une valeur en fin de la liste t
[Link](i*Te)
# la fonction sinus est contenue dans la bibliothèque numpy
# la constante pi est contenue dans la bibliothèque numpy
# On aurait pu aussi utiliser la bibliothèque math pour y avoir accés
# à l'aide des fonctions [Link]() et [Link]
[Link](Ymax*[Link]((2*[Link]/T)*i*Te))

# création de la fenêtre graphique

3
[Link](2,figsize=(10,12))
affichage_graphique(1,y1,"courbe de référence","y1 (m)")

[Link]()

Vous aimerez peut-être aussi