gpt4 book ai didi

python - EEG 数据的频率电压图 - Python 中的 FFT

转载 作者:太空宇宙 更新时间:2023-11-04 05:13:26 24 4
gpt4 key购买 nike

我有点不确定如何处理这个问题,因为这对我来说是个新话题,因此非常感谢对我的代码的任何指导。我有一组脑电图记录(18949 条脑电图记录,采样率为 500Hz,记录单位为 nV)。我正在尝试根据数据创建频率对电压图,但到目前为止我运气不好。

我的代码如下:

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")

我的结果图如下所示:

Graph

谁能就我可能在哪里出错提供一些指导?

最佳答案

您的信号在时域中具有相当大的(至少相对于其他信号变化而言)直流偏移。在频域中,这将被绘制为 0Hz 处的强线(被图的轴隐藏),然后其他频率分量的幅度相对来说接近于 0。

为了更好的可视化,您应该在 Decibels (dB) 中绘制频谱图使用公式 20*log10(abs(Y)),因此您实际上可以看到那些其他频率分量。

关于python - EEG 数据的频率电压图 - Python 中的 FFT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42414114/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com