Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Grundlagen Der Signalverarbeitung | Integration, Interpolation und Signalverarbeitung
Einführung in SciPy

Grundlagen Der Signalverarbeitung

Swipe um das Menü anzuzeigen

Signalverarbeitung ist ein zentrales Gebiet im wissenschaftlichen Rechnen und befasst sich mit der Analyse, Manipulation und Interpretation von Signalen – wie Audio-, elektrischen oder Sensordaten. In Python stellt das Submodul scipy.signal eine umfassende Sammlung von Werkzeugen für Aufgaben der Signalverarbeitung bereit. Diese Werkzeuge umfassen Filterung, Spitzenerkennung, Faltung und mehr, wodurch reale Signale effizient und präzise verarbeitet werden können.

1234567891011121314151617181920212223242526
import numpy as np import matplotlib.pyplot as plt from scipy.signal import butter, filtfilt # Create a time array and a noisy signal t = np.linspace(0, 1.0, 200) clean_signal = np.sin(2 * np.pi * 5 * t) noise = np.random.normal(0, 0.5, t.shape) noisy_signal = clean_signal + noise # Design a low-pass Butterworth filter b, a = butter(N=4, Wn=0.2) # Apply the filter to the noisy signal filtered_signal = filtfilt(b, a, noisy_signal) # Plot the results plt.figure(figsize=(10, 4)) plt.plot(t, noisy_signal, label="Noisy Signal") plt.plot(t, filtered_signal, label="Filtered Signal", linewidth=2) plt.legend() plt.xlabel("Time [s]") plt.ylabel("Amplitude") plt.title("Low-pass Filtering with scipy.signal") plt.tight_layout() plt.show()
123456789101112131415161718192021
import numpy as np import matplotlib.pyplot as plt from scipy.signal import find_peaks # Generate a signal with peaks x = np.linspace(0, 6 * np.pi, 200) signal = np.sin(x) + 0.5 * np.random.randn(200) # Find peaks in the signal peaks, _ = find_peaks(signal, height=0) # Plot signal and detected peaks plt.figure(figsize=(10, 4)) plt.plot(x, signal, label="Signal") plt.plot(x[peaks], signal[peaks], "x", label="Peaks", markersize=10) plt.xlabel("x") plt.ylabel("Amplitude") plt.title("Peak Detection with scipy.signal.find_peaks") plt.legend() plt.tight_layout() plt.show()

Das Filtern ist eine gängige Operation in der Signalverarbeitung, bei der unerwünschte Komponenten wie Rauschen aus einem Signal entfernt werden. Mit Filtern wie dem Butterworth-Filter können die interessierenden Frequenzen isoliert werden, wodurch die Qualität der Daten für die Analyse verbessert wird. Die Spitzenerkennung hingegen hilft dabei, lokale Maxima innerhalb eines Signals zu identifizieren – diese entsprechen bedeutenden Ereignissen oder Merkmalen. In wissenschaftlichen Anwendungen sind Filtern und Spitzenerkennung unerlässlich für Aufgaben wie die Analyse experimenteller Messungen, das Erkennen von Anomalien und das Extrahieren nützlicher Informationen aus komplexen Daten.

1. Welches SciPy-Submodul wird für die Signalverarbeitung verwendet?

2. Was ist der Zweck des Filterns eines Signals?

3. Wie können Spitzen in einem Signal mit SciPy erkannt werden?

question mark

Welches SciPy-Submodul wird für die Signalverarbeitung verwendet?

Wählen Sie die richtige Antwort aus

question mark

Was ist der Zweck des Filterns eines Signals?

Wählen Sie die richtige Antwort aus

question mark

Wie können Spitzen in einem Signal mit SciPy erkannt werden?

Wählen Sie die richtige Antwort aus

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 4. Kapitel 3

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

Abschnitt 4. Kapitel 3
some-alt