Exercices sur machine#

Pour représenter la sinusoïde \(w(t) = \sin(2\pi f t)\) de fréquence \(f=0,3\) Hz, on peut utiliser le code ci-dessous :

# Importation de modules nécessaires
# Pour les modules dont le nom est un peu long,
# on peut leur donner un nom plus cours avec `as`
import numpy as np
import matplotlib.pyplot as plt

# Abscisses sur lesquelles sera calculée la sinusoïde :
# un point tous les 0,1 s entre 0 et 10 s
n = np.arange(0, 10, 0.1)

# Fréquence de la sinuoïde
f = 0.3

# Sinusoïde : c'est tout simple, il suffit d'écrire
# l'expression mathématique 😎
x = np.sin(2*np.pi*f*n)

# Création d'une figure, dont on définit la taille
plt.figure(figsize=(8,4))


# Affichage de la sinusoïde (dans la figure créée)
plt.plot(n, x, ".-", label="sinusoïde")

# Légende
plt.legend()

# Légende des axes et titre
plt.xlabel("$n$")
plt.ylabel("$x[n]$")
plt.title("Une belle sinusoïde")

# Affichage (pas toujours nécessaire, mais parfois indispensable)
plt.show()
../_images/f3c0afde9e0ad4089b8f917c807e1f89ff2a6dd2791a37ad0d84d0266066dce3.png
  • (Re)copier le code ci-avant dans votre notebook pour vérifier que le signal s’affiche de la même manière.

  • Modifier le code pour représenter le signal sinusoïdal

    \[ x(t) = A \sin(2\pi f t + \varphi) \]

    sur 1 seconde avec \(A=2\), \(f=5\) Hz et \(\varphi=\pi/3\).
    Choisissez un pas de temps correct pour obtenir une courbe lisse.

  • Représentez la sinusoïde amortie

    \[ y(t) = A e^{-at} \sin(2 \pi f t) \]

    entre 0 et 10 s avec \(A=2\), \(a=0,\!5\) et \(f = 2\) Hz.

    Étudiez l’influence des paramètres sur la forme du signal.

  • Représentez le signal porte

    \[ z[n] = A\,\mathrm{rect}\left(\frac{n-m}{N}\right) \]

    avec \(A = 3\), \(m = 4\) et \(N = 5\). Comme le signal est à temps discret, vous pouvez utiliser la fonction matplotlib.pyplot.stem à la place de matplotlib.pyplot.plot pour afficher les points individuellement sans les relier.

  • Le fichier world-co2.csv contient les mesures de la quantité de CO2 dans l’atmosphère (en ppm : partie par million) sur toute la Terre. Chargez ces données avec numpy.loadtxt, en définissant correctement les arguments. La sélection de la colonne i d’une matrice A s’effectue avec A[:,i]. Affichez l’évolution du CO2 atmosphérique en fonction des années.

Suite du TP