Introduction
Ce laboratoire montre comment tracer la cohérence de deux signaux à l'aide de la bibliothèque Matplotlib de Python. La cohérence de deux signaux est une mesure de leur relation linéaire, avec une valeur de 1 indiquant une cohérence parfaite et une valeur de 0 indiquant aucune cohérence.
Conseils sur la VM
Une fois le démarrage de la VM terminé, cliquez dans le coin supérieur gauche pour basculer vers l'onglet Notebook pour accéder à Jupyter Notebook pour la pratique.
Parfois, vous devrez peut-être attendre quelques secondes pour que Jupyter Notebook ait fini de charger. La validation des opérations ne peut pas être automatisée en raison des limitations de Jupyter Notebook.
Si vous rencontrez des problèmes pendant l'apprentissage, n'hésitez pas à demander à Labby. Donnez votre feedback après la session, et nous résoudrons rapidement le problème pour vous.
Importation des bibliothèques
La première étape consiste à importer les bibliothèques nécessaires. Nous utiliserons NumPy et Matplotlib.
import matplotlib.pyplot as plt
import numpy as np
Générer des signaux
Ensuite, nous allons générer deux signaux avec une partie cohérente à 10 Hz et une partie aléatoire. Nous ajouterons également du bruit blanc aux signaux.
## Fixing random state for reproducibility
np.random.seed(19680801)
dt = 0.01
t = np.arange(0, 30, dt)
nse1 = np.random.randn(len(t)) ## white noise 1
nse2 = np.random.randn(len(t)) ## white noise 2
s1 = np.sin(2 * np.pi * 10 * t) + nse1
s2 = np.sin(2 * np.pi * 10 * t) + nse2
Tracer les signaux
Nous pouvons maintenant tracer les deux signaux dans le domaine temporel à l'aide de Matplotlib.
fig, axs = plt.subplots(2, 1)
axs[0].plot(t, s1, t, s2)
axs[0].set_xlim(0, 2)
axs[0].set_xlabel('Time')
axs[0].set_ylabel('s1 et s2')
axs[0].grid(True)
Tracer la cohérence
Nous pouvons maintenant tracer la cohérence des deux signaux à l'aide de la fonction cohere de Matplotlib.
cxy, f = axs[1].cohere(s1, s2, 256, 1. / dt)
axs[1].set_ylabel('Cohérence')
Afficher le tracé
Enfin, nous pouvons afficher le tracé à l'aide de la fonction show de Matplotlib.
fig.tight_layout()
plt.show()
Sommaire
Ce laboratoire a démontré comment tracer la cohérence de deux signaux à l'aide de la bibliothèque Matplotlib de Python. Nous avons généré deux signaux avec une partie cohérente à 10 Hz et une partie aléatoire, ajouté du bruit blanc aux signaux et tracé les signaux dans le domaine temporel et leur cohérence à l'aide de la fonction cohere de Matplotlib.