Add files via upload

This commit is contained in:
yalmansour1998
2024-05-28 16:11:48 +02:00
committed by GitHub
parent 2159638d6d
commit 7e71f1de9f
2 changed files with 61 additions and 0 deletions

42
3D_app/filtrage.py Normal file
View File

@ -0,0 +1,42 @@
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from scipy.signal import hilbert,butter, filtfilt,wiener,hamming, convolve
#transformer du Hilbert
def transformer_hilbert(data_input):
data_output=np.abs(hilbert(data_input))
return data_output
#filtre de moyenne mobile
def filtre_moyenne_mobile(data_input,window_size):
data_output=pd.Series(data_input).rolling(window=window_size).mean()
return data_output
# filtre passe bas
def filtre_passe_bas(data_input,fs,cut_off,order):
nyq=0.5*fs
normal_cut_off=cut_off/nyq
[b,a]=butter(order,normal_cut_off,btype='low', analog=False)
data_output=filtfilt(b,a,data_input)
return data_output
#filtre adaptatif de réduction de bruit
def filtre_adaptatif(data_input):
data_output=wiener(data_input)
return data_output
#Le filtre à réponse impulsionnelle infinie
def filtre_RII(data_input,window_size):
b1=hamming(window_size)/np.sum(window_size)
data_output=filtfilt(b1,1,data_input)
return data_output
# Le filtre à réponse impulsionnelle finie
def filtre_RIF(data_input,window_size):
h=hamming(window_size)/np.sum(window_size)
data_output=convolve(data_input, h, mode='same')
return data_output

View File

@ -0,0 +1,19 @@
from filtrage import *
def switch_case(data_input,select,fs=1,cut_off=1,order=1,window_size=1):
match select:
case 1:
return transformer_hilbert(data_input)
case 2:
return data_input
case 3:
return filtre_passe_bas(data_input,fs,cut_off,order)
case 4:
return filtre_moyenne_mobile(data_input,window_size)
case 5:
return filtre_adaptatif(data_input)
case 6:
return filtre_RII(data_input,window_size)
case 7:
return filtre_RIF(data_input,window_size)
case _:
return data_input