Fichier:Comparaison filtres median savitzky golay butterworth fft scipy.svg
De testwiki
Aller à la navigation
Aller à la recherche
Taille de cet aperçu PNG pour ce fichier SVG : 800 × 480 pixels. Autres résolutions : 320 × 192 pixels | 1 024 × 614 pixels | 1 280 × 768 pixels | 2 560 × 1 536 pixels | 900 × 540 pixels.
Fichier d’origine (Fichier SVG, nominalement de 900 × 540 pixels, taille : 100 kio)
Ce fichier provient de Wikimedia Commons et peut être utilisé par d'autres projets. Sa description sur sa page de description est affichée ci-dessous.
Description
| DescriptionComparaison filtres median savitzky golay butterworth fft scipy.svg |
Français : Comparaison des filtres médian, de Savitzky-Golay, de Butterworth et de Fourier avec la bibliothèque SciPy de Python.
English: Comparison between the median filter, Savitzky-Golay filter, Butterworth filter and Fourier filter with the SciPy library for Python. |
| Date | |
| Source | Travail personnel |
| Auteur | Cdang |
Code source
InfoField
Python code
import numpy as np
import scipy.signal as signal
import scipy.fft as fft
import matplotlib.pyplot as plt
# **************
# * Constantes *
# **************
epsilon = 0.1 # amplitude du bruit
# ******************************************
# * Génération d'un signal gaussien bruité *
# ******************************************
x = np.linspace(0, 4, 80) # points d'abscisse
y = 0.1*np.exp(-(10*(x - 1)*x + 0.125)) + epsilon*np.random.normal(x)
# ***********
# * Lissage *
# ***********
# filtre médian
ylissemf = signal.medfilt(y, 7)
# filtre de Savitzky-Golay
ylissesg = signal.savgol_filter(y, 7, 3)
# filtre de Butterworth
(b, a) = signal.butter(1, 5, fs=50) # caractéristiques du filtre
zi = signal.lfilter_zi(b, a) # conditions initiales du filtre
ylisseb = signal.lfilter(b, a, y, zi=zi*y[0]) # application du filtre
# filtre de Fourier
L = len(y) # longueur de signal
ff = fft.fftshift(fft.fft(y, fft.next_fast_len(L, real=True))) # calcule la transformée de Fourier rapide de manière optimisée
# en ajoutant des 0 en queue de signal, et ordonne les coefficients
ff[-25:] = 0 # atténuation du spectre aux extrémités
ff[:25] = 0
ylissef = fft.ifft(fft.ifftshift(ff))[:L] # réordonne les coefficients et calcule transformée de Fourier inverse,
# et élimine les 0 ajoutés artificiellement pour optimiser
# *************
# * Affichage *
# *************
fig, liste_axes = plt.subplots(2, 2, constrained_layout=True, figsize = [10, 6])
# filtre médian
liste_axes[0, 0].plot(x, y, "b.")
liste_axes[0, 0].plot(x, ylissemf, "k-", linewidth="0.5")
liste_axes[0, 0].set_title("scipy.signal.medfilt(y, 7)")
# filtre de Savitzky-Golay
liste_axes[0, 1].plot(x, y, "b.")
liste_axes[0, 1].plot(x, ylissesg, "k-", linewidth="0.5")
liste_axes[0, 1].set_title("scipy.signal.savgol_filter(y, 7, 3)")
# filtre de Butterworth
liste_axes[1, 0].plot(x, y, "b.")
liste_axes[1, 0].plot(x, ylisseb[0], "k-", linewidth="0.5")
liste_axes[1, 0].set_title("Butterworth (2, 0.3)")
# filtre de Fourier
liste_axes[1, 1].plot(x, y, "b.")
liste_axes[1, 1].plot(x, ylissef, "k-", linewidth="0.5")
liste_axes[1, 1].set_title("Filtre de Fourier")
plt.savefig("comparaison_filtres_median_savitzky_golay__butterworth_fft_scipy.svg", format="svg")
Conditions d’utilisation
Moi, en tant que détenteur des droits d’auteur sur cette œuvre, je la publie sous la licence suivante :
Ce fichier est sous la licence Creative Commons Attribution – Partage dans les Mêmes Conditions 4.0 International.
- Vous êtes libre :
- de partager – de copier, distribuer et transmettre cette œuvre
- d’adapter – de modifier cette œuvre
- Sous les conditions suivantes :
- paternité – Vous devez donner les informations appropriées concernant l'auteur, fournir un lien vers la licence et indiquer si des modifications ont été faites. Vous pouvez faire cela par tout moyen raisonnable, mais en aucune façon suggérant que l’auteur vous soutient ou approuve l’utilisation que vous en faites.
- partage à l’identique – Si vous modifiez, transformez ou vous basez sur cet élément, vous devez distribuer votre contribution sous une license identique ou compatible à celle de l’original.
Légendes
Comparaison des filtres médian, de Savitzky-Golay, de Butterworth et de Fourier avec la bibliothèque SciPy de Python.
Comparison between the median filter, Savitzky-Golay filter, Butterworth filter and Fourier filter with the SciPy library for Python.
Éléments décrits dans ce fichier
dépeint
Valeur sans élément de Wikidata
12 mai 2023
image/svg+xml
3ede1e5600e60a6e889e94692f1189a88d34da34
102 290 octet
540 pixel
900 pixel
Historique du fichier
Cliquer sur une date et heure pour voir le fichier tel qu'il était à ce moment-là.
| Date et heure | Vignette | Dimensions | Utilisateur | Commentaire | |
|---|---|---|---|---|---|
| actuel | 12 mai 2023 à 09:59 | 900 × 540 (100 kio) | wikimediacommons>Cdang | Uploaded own work with UploadWizard |
Utilisation du fichier
La page suivante utilise ce fichier :