Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Basisprincipes van signaalverwerking | Integratie, Interpolatie en Signaalverwerking
Introductie tot SciPy

Basisprincipes van signaalverwerking

Veeg om het menu te tonen

Signaalverwerking is een belangrijk gebied binnen wetenschappelijk rekenen, gericht op de analyse, bewerking en interpretatie van signalen—zoals audio-, elektrische of sensorgegevens. In Python biedt de submodule scipy.signal een uitgebreid pakket aan hulpmiddelen voor signaalverwerkingstaken. Deze hulpmiddelen omvatten filtering, piekdetectie, convolutie en meer, waardoor het mogelijk is om signalen uit de echte wereld efficiënt en nauwkeurig te verwerken.

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()

Filteren is een veelvoorkomende bewerking in signaalverwerking die ongewenste componenten, zoals ruis, uit een signaal verwijdert. Met filters zoals het Butterworth-filter kun je de gewenste frequenties isoleren, waardoor de kwaliteit van je data voor analyse wordt verbeterd. Piekdetectie helpt daarentegen bij het identificeren van lokale maxima binnen een signaal—deze komen overeen met belangrijke gebeurtenissen of kenmerken. In wetenschappelijke toepassingen zijn filteren en piekdetectie essentieel voor taken zoals het analyseren van experimentele metingen, het detecteren van afwijkingen en het extraheren van bruikbare informatie uit complexe data.

1. Welke SciPy-submodule wordt gebruikt voor signaalverwerking?

2. Wat is het doel van het filteren van een signaal?

3. Hoe kun je pieken in een signaal detecteren met SciPy?

question mark

Welke SciPy-submodule wordt gebruikt voor signaalverwerking?

Selecteer het correcte antwoord

question mark

Wat is het doel van het filteren van een signaal?

Selecteer het correcte antwoord

question mark

Hoe kun je pieken in een signaal detecteren met SciPy?

Selecteer het correcte antwoord

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 4. Hoofdstuk 3

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

Sectie 4. Hoofdstuk 3
some-alt