This commit is contained in:
François Boulogne 2025-09-01 11:38:36 +02:00
parent e222ce2deb
commit 5c21ab1ca9
2 changed files with 43 additions and 14 deletions

View file

@ -1 +1 @@
__version__ = '0.1.6'
__version__ = '0.1.7'

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, required_cycles=40):
def filter_signal_by_modes(time, signal, num_modes=1, bandwidth_factor=0.1, required_cycles=100):
"""
Filtre un signal pour extraire ses composantes fréquentielles dominantes.
@ -209,9 +209,17 @@ def analyze_signal_Hilbert(time, e_signal, s_signal, freq_rtol=0.01):
period_e = 1 / freq_e
period_s = 1 / freq_s
print(f'phase = {mean_phase_diff}')
return (period_e, period_s, freq_e, freq_s,
mean_phase_diff, phase_diff_deg, time_shift)
res = {'period_e': period_e,
'period_s': period_s,
'freq_e': freq_e,
'freq_s': freq_s,
'phase': mean_phase_diff,
'phrase_deg': phase_diff_deg,
'delay': time_shift}
return res
def analyze_signal_sinfit(time, e_signal, s_signal, freq_rtol=0.01):
"""
@ -307,9 +315,16 @@ def analyze_signal_sinfit(time, e_signal, s_signal, freq_rtol=0.01):
period_e = 1 / freq_e
period_s = 1 / freq_s
print(f'phase = {phase_diff}')
return (period_e, period_s, freq_e, freq_s,
phase_diff, phase_diff_deg, time_shift)
res = {'period_e': period_e,
'period_s': period_s,
'freq_e': freq_e,
'freq_s': freq_s,
'phase': mean_phase_diff,
'phrase_deg': phase_diff_deg,
'delay': time_shift}
return res
@ -409,9 +424,16 @@ def analyze_signal_cross_correlation(time, e_signal, s_signal, freq_rtol=0.01):
period_e = 1 / freq_e
period_s = 1 / freq_s
print(f'phase = {phase_diff}')
return (period_e, period_s, freq_e, freq_s,
phase_diff, phase_diff_deg, time_shift)
res = {'period_e': period_e,
'period_s': period_s,
'freq_e': freq_e,
'freq_s': freq_s,
'phase': mean_phase_diff,
'phrase_deg': phase_diff_deg,
'delay': time_shift}
return res
def analyze_signal_wavelet(time, e_signal, s_signal, freq_rtol=0.01):
@ -513,6 +535,13 @@ def analyze_signal_wavelet(time, e_signal, s_signal, freq_rtol=0.01):
period_e = 1 / freq_e
period_s = 1 / freq_s
print(f'phase = {mean_phase_diff}')
return (period_e, period_s, freq_e, freq_s,
mean_phase_diff, phase_diff_deg, time_shift)
res = {'period_e': period_e,
'period_s': period_s,
'freq_e': freq_e,
'freq_s': freq_s,
'phase': mean_phase_diff,
'phrase_deg': phase_diff_deg,
'delay': time_shift}
return res