From e1ae1c6236d5d076e569bf31e68a05c4695ae312 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Boulogne?= Date: Fri, 29 Aug 2025 18:22:06 +0200 Subject: [PATCH] upd --- mysignal/__init__.py | 2 +- mysignal/phasefreq.py | 20 ++++++++------------ 2 files changed, 9 insertions(+), 13 deletions(-) diff --git a/mysignal/__init__.py b/mysignal/__init__.py index 7525d19..66a87bb 100644 --- a/mysignal/__init__.py +++ b/mysignal/__init__.py @@ -1 +1 @@ -__version__ = '0.1.4' +__version__ = '0.1.5' diff --git a/mysignal/phasefreq.py b/mysignal/phasefreq.py index eb6bf88..32f2fb2 100644 --- a/mysignal/phasefreq.py +++ b/mysignal/phasefreq.py @@ -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é)")