Bonjour
Je souhaite réaliser une transformé de Fourier.
Mon jeu de donnée est le suivant:
test.txt
En colonne 0, le temps (ne commence pas à 0)
En colonne 2, l'élévation de surface
J'ai ouvert le fichier avec pandas, j'ai une dataFrame.
Je souhaite obtenir la transformé de Fourier afin de déterminer la période des vagues suite à l'élévation de surface.
Sauf que en passant par l'outil Scipy et Numpy, j'obtiens toujours une fréquence de 0 pour le pic de la transformée de fourier, ce qui est faux (on devrait être entre 5 et 8 secondes, les temps caractéristiques d'une houle de vent).
Quelqu'un saurait comment à partir du jeu de donnée, obtenir un graphique de la transformée de Fourier ?
PS : Voici mon code :
J'avais installé les modules avant.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 df=pd.read_csv(file,sep=';',header=None) df.columns=['Time','Nothing','HS','Other1','Other2'] N=len(df) T=df.loc[0,'Time']-df.loc[len(df)-1,'Time'] #Intervalle de temps freq=np.linspace(0.0, 1, N) #Vecteur fréquence HSf=scipy.fft(df['HS']) #Transformée de Fourier plt.plot(freq,abs(HSf))
Je comprend que l'erreur vient du fait le premier élément de HSf (le pic), est associé au premier élément de mon vecteur fréquence (0 du coup), mais je ne sais pas comment changer ça.
Merci de votre aide.
Partager