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 :

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))
J'avais installé les modules avant.
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.