upd
This commit is contained in:
parent
dea64a7b7f
commit
e1ae1c6236
2 changed files with 9 additions and 13 deletions
|
@ -1 +1 @@
|
||||||
__version__ = '0.1.4'
|
__version__ = '0.1.5'
|
||||||
|
|
|
@ -9,7 +9,7 @@ from scipy.stats import linregress
|
||||||
from scipy.optimize import curve_fit
|
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.
|
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
|
lowcut = max(0.01, freq - bandwidth) # Éviter les fréquences négatives
|
||||||
highcut = freq + bandwidth
|
highcut = freq + bandwidth
|
||||||
|
|
||||||
if nyquist:
|
# Éviter les fréquences supérieures à la fréquence de Nyquist
|
||||||
# Éviter les fréquences supérieures à la fréquence de Nyquist
|
nyq = 0.5 * fs
|
||||||
nyq = 0.5 * fs
|
highcut = min(highcut, nyq * 0.99) # Laisser une marge
|
||||||
highcut = min(highcut, nyq * 0.99) # Laisser une marge
|
|
||||||
|
# Normaliser les fréquences
|
||||||
# Normaliser les fréquences
|
lowcut_norm = lowcut / nyq
|
||||||
lowcut_norm = lowcut / nyq
|
highcut_norm = highcut / nyq
|
||||||
highcut_norm = highcut / nyq
|
|
||||||
else:
|
|
||||||
lowcut_norm = lowcut
|
|
||||||
highcut_norm = highcut
|
|
||||||
|
|
||||||
print(f"Filtrage à {freq:.2f} Hz: [{lowcut_norm:.3f}, {highcut_norm:.3f}] (normalisé)")
|
print(f"Filtrage à {freq:.2f} Hz: [{lowcut_norm:.3f}, {highcut_norm:.3f}] (normalisé)")
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue