Das Darstellen der Kohärenz von zwei Signalen

PythonPythonBeginner
Jetzt üben

This tutorial is from open-source community. Access the source code

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

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.