upd
This commit is contained in:
parent
e1ae1c6236
commit
a7d664f21a
1 changed files with 3 additions and 3 deletions
|
@ -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):
|
def filter_signal_by_modes(time, signal, num_modes=1, bandwidth_factor=0.1,required_cycles=40):
|
||||||
"""
|
"""
|
||||||
Filtre un signal pour extraire ses composantes fréquentielles dominantes.
|
Filtre un signal pour extraire ses composantes fréquentielles dominantes.
|
||||||
|
|
||||||
|
@ -76,11 +76,11 @@ def filter_signal_by_modes(time, signal, num_modes=1, bandwidth_factor=0.1):
|
||||||
lowcut_norm = lowcut / nyq
|
lowcut_norm = lowcut / nyq
|
||||||
highcut_norm = highcut / nyq
|
highcut_norm = highcut / nyq
|
||||||
|
|
||||||
print(f"Filtrage à {freq:.2f} Hz: [{lowcut_norm:.3f}, {highcut_norm:.3f}] (normalisé)")
|
print(f"Filtrage à {freq:.2f} Hz, bande : [{lowcut_norm:.5f}, {highcut_norm:.5f}] (normalisé)")
|
||||||
|
|
||||||
# Vérifier si le signal est suffisamment long
|
# Vérifier si le signal est suffisamment long
|
||||||
period = 1 / lowcut if lowcut > 0 else 0
|
period = 1 / lowcut if lowcut > 0 else 0
|
||||||
required_cycles = 40 # Vous avez mentionné 30 cycles
|
#required_cycles = 40 # Vous avez mentionné 40 cycles
|
||||||
min_length = required_cycles * period * fs
|
min_length = required_cycles * period * fs
|
||||||
|
|
||||||
if len(signal_clean) < min_length:
|
if len(signal_clean) < min_length:
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue