Je ne sais pas très bien comment gérer cela car c'est un sujet qui est nouveau pour moi, donc tout conseil avec mon code serait grandement apprécié. J'ai un ensemble d'enregistrements eeg (18949 enregistrements EEG avec un taux d'échantillonnage de 500Hz, où les enregistrements sont en NV). J'essaie de créer un graphique Frequency contre Voltage à partir des données mais je n'ai pas de chance jusqu'à présent.Graphe de tension de fréquence à partir de données EEG - FFT en Python
Mon code est le suivant:
data = pd.read_csv('data.csv')
data = data['O1']
Fs = 500.0
Ts = 1.0/Fs
t = np.arange(len(data))/Fs
n = len(data) # length of the signal
k = np.arange(n)
T = n/Fs
frq = k/T # two sides frequency range
frq = frq[range(int(n/2))]
Y = np.fft.fft(data)/n
Y = Y[range(int(n/2))]
fig, ax = plt.subplots(2, 1)
ax[0].plot(t,data)
ax[0].set_xlabel('Time')
ax[0].set_ylabel('Voltage')
ax[1].plot(frq,abs(Y),'r')
ax[1].set_xlabel('Freq (Hz)')
plt.draw()
plt.show()
fig.savefig("graph.png")
Et mon graphe résultant ressemble:
Quelqu'un pourrait-il donner quelques indications quant à l'endroit où je vais peut-être le problème?