Einführung
In diesem Lab wird gezeigt, wie man die Kohärenz zweier Signale mit der Matplotlib-Bibliothek in Python darstellt. Die Kohärenz zweier Signale misst ihre lineare Beziehung, wobei ein Wert von 1 vollkommene Kohärenz und ein Wert von 0 keine Kohärenz anzeigt.
Tipps für die VM
Nachdem der VM-Start abgeschlossen ist, klicken Sie in der oberen linken Ecke, um zur Registerkarte Notebook zu wechseln und Jupyter Notebook für die Übung zu nutzen.
Manchmal müssen Sie einige Sekunden warten, bis Jupyter Notebook vollständig geladen ist. Die Validierung von Vorgängen kann aufgrund der Einschränkungen in Jupyter Notebook nicht automatisiert werden.
Wenn Sie bei der Lernphase Probleme haben, können Sie Labby gerne fragen. Geben Sie nach der Sitzung Feedback, und wir werden das Problem für Sie prompt beheben.
Bibliotheken importieren
Der erste Schritt besteht darin, die erforderlichen Bibliotheken zu importieren. Wir werden NumPy und Matplotlib verwenden.
import matplotlib.pyplot as plt
import numpy as np
Signale generieren
Als nächstes werden wir zwei Signale mit einem kohärenten Anteil bei 10 Hz und einem zufälligen Anteil generieren. Wir werden auch weißes Rauschen zu den Signalen hinzufügen.
## 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
Signale darstellen
Wir können nun die beiden Signale im Zeitbereich mit Matplotlib darstellen.
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 and s2')
axs[0].grid(True)
Kohärenz darstellen
Wir können nun die Kohärenz der beiden Signale mit der cohere-Funktion von Matplotlib darstellen.
cxy, f = axs[1].cohere(s1, s2, 256, 1. / dt)
axs[1].set_ylabel('Kohärenz')
Diagramm anzeigen
Schließlich können wir das Diagramm mit der show-Funktion von Matplotlib anzeigen.
fig.tight_layout()
plt.show()
Zusammenfassung
In diesem Lab wurde gezeigt, wie man die Kohärenz von zwei Signalen mit der Python-Bibliothek Matplotlib darstellt. Wir haben zwei Signale generiert, die einen kohärenten Anteil bei 10 Hz und einen zufälligen Anteil haben, weißes Rauschen zu den Signalen hinzugefügt und die Signale im Zeitbereich sowie ihre Kohärenz mit der cohere-Funktion von Matplotlib dargestellt.