upd
This commit is contained in:
		
							parent
							
								
									6b66a2f3da
								
							
						
					
					
						commit
						d4983f45f2
					
				
					 2 changed files with 13 additions and 12 deletions
				
			
		| 
						 | 
					@ -1 +1 @@
 | 
				
			||||||
__version__ = '0.1.1'
 | 
					__version__ = '0.1.2'
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -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, nyquist=False):
 | 
				
			||||||
    """
 | 
					    """
 | 
				
			||||||
    Filtre un signal pour extraire ses composantes fréquentielles dominantes.
 | 
					    Filtre un signal pour extraire ses composantes fréquentielles dominantes.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -68,16 +68,17 @@ def filter_signal_by_modes(time, signal, num_modes=1, bandwidth_factor=0.1):
 | 
				
			||||||
        lowcut = freq - bandwidth
 | 
					        lowcut = freq - bandwidth
 | 
				
			||||||
        highcut = freq + bandwidth
 | 
					        highcut = freq + bandwidth
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        # Éviter les fréquences négatives ou supérieures à la fréquence de Nyquist
 | 
					        if nyquist:
 | 
				
			||||||
        nyq = 0.5 * fs
 | 
					            # Éviter les fréquences négatives ou supérieures à la fréquence de Nyquist
 | 
				
			||||||
        if lowcut <= 0:
 | 
					            nyq = 0.5 * fs
 | 
				
			||||||
            lowcut = 0.01
 | 
					            if lowcut <= 0:
 | 
				
			||||||
        if highcut >= nyq:
 | 
					                lowcut = 0.01
 | 
				
			||||||
            highcut = nyq - 0.01
 | 
					            if highcut >= nyq:
 | 
				
			||||||
 | 
					                highcut = nyq - 0.01
 | 
				
			||||||
        # Créer le filtre Butterworth
 | 
					    
 | 
				
			||||||
        low = lowcut / nyq
 | 
					            # Créer le filtre Butterworth
 | 
				
			||||||
        high = highcut / nyq
 | 
					            lowcut = lowcut / nyq
 | 
				
			||||||
 | 
					            highcut = highcut / nyq
 | 
				
			||||||
        b, a = butter(4, [low, high], btype='band')
 | 
					        b, a = butter(4, [low, high], btype='band')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        # Appliquer le filtre (filtfilt pour éviter le déphasage)
 | 
					        # Appliquer le filtre (filtfilt pour éviter le déphasage)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue