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