This commit is contained in:
François Boulogne 2025-08-29 18:22:06 +02:00
parent dea64a7b7f
commit e1ae1c6236
2 changed files with 9 additions and 13 deletions

View file

@ -1 +1 @@
__version__ = '0.1.4'
__version__ = '0.1.5'

View file

@ -9,7 +9,7 @@ from scipy.stats import linregress
from scipy.optimize import curve_fit
def filter_signal_by_modes(time, signal, num_modes=1, bandwidth_factor=0.1, nyquist=False):
def filter_signal_by_modes(time, signal, num_modes=1, bandwidth_factor=0.1):
"""
Filtre un signal pour extraire ses composantes fréquentielles dominantes.
@ -68,17 +68,13 @@ def filter_signal_by_modes(time, signal, num_modes=1, bandwidth_factor=0.1, nyqu
lowcut = max(0.01, freq - bandwidth) # Éviter les fréquences négatives
highcut = freq + bandwidth
if nyquist:
# Éviter les fréquences supérieures à la fréquence de Nyquist
nyq = 0.5 * fs
highcut = min(highcut, nyq * 0.99) # Laisser une marge
# Normaliser les fréquences
lowcut_norm = lowcut / nyq
highcut_norm = highcut / nyq
else:
lowcut_norm = lowcut
highcut_norm = highcut
# Éviter les fréquences supérieures à la fréquence de Nyquist
nyq = 0.5 * fs
highcut = min(highcut, nyq * 0.99) # Laisser une marge
# Normaliser les fréquences
lowcut_norm = lowcut / nyq
highcut_norm = highcut / nyq
print(f"Filtrage à {freq:.2f} Hz: [{lowcut_norm:.3f}, {highcut_norm:.3f}] (normalisé)")