Bonjour à tous.
Pour poser le problème, on m'a donné un programme a complété, ce programme me fournit deux np.ndarray de même longueur, un pour le temps et l'autre pour la valeur de ma fonction, je précise que ce sont des résultats expérimentaux (fréquence de mesure 50kHz) , et que je n'étudie qu'une partie entre 300 et 600 sec.
J'aimerais trouver un moyen de calculer la transformée de fourrier de mon signal pour pouvoir l'approximer par une fonction.
Le problème est que lorsque je trace la fonction en fonction du temps je trouve (visuellement) une fréquence fondamentale de 1Hz,(2020-07-01_00h16_08.png) et que lorsque je fais mon calcul de fft, je trouve une fréquence de 25000Hz. 2020-07-01_00h15_20.png
Je pense que c'est une erreur stupide, mais je n'arrive pas à la localiser.
Je précise que je ne suis pas du tout bon en programmation et que j'ai essayé de m'inspirer d'exemple trouvé sur internet.
Merci d'avance pour votre aide.
Mon code :
temps=np.copy(datames[temps[0]][300*50000:600*50000]) # vecteur temps
signal=np.copy(datames[capteur1[0]][300*50000:600*50000]) # fonction étudié
plt.figure(1)
plt.plot(temps,signal)
plt.show()
N=(600-300)*50000
T=1/50000
yf=scipy.fftpack.fft(signal)
xf=np.linspace(-1/(2*T),1/(2*T),N)
plt.plot(xf,yf)
plt.show()
-----