我是BCI的新手。我有一个来自Neurosky的思维定势脑电图设备,我将来自该设备的原始数据值记录在csv文件中。我可以读取csv中的数据并将其提取到Matlab中,然后应用FFT。我现在需要从FFT中提取特定的频率(Alpha,Beta,Theta,Gamma)。
其中,增量= 1-3 Hz
Theta= 4-7 Hz
Alpha = 8-12 Hz
Beta = 13-30 Hz
Gamma = 31-40 Hz
这就是我到目前为止所做的:
f = (0:N-1)*(Fs/N);
plot(rawDouble);
title ('Raw Signal');
p = abs(fft(rawDouble));
figure,plot (f,p);
title('Magnitude of FFT of Raw Signal');谁能告诉我如何从信号中提取这些特定的频率范围??非常感谢!
发布于 2012-05-09 21:37:34
为方便使用MatLab分析脑电图数据,您可以考虑使用EEGLAB工具箱(http://sccn.ucsd.edu/eeglab/)或fieldtrip工具箱(http://fieldtrip.fcdonders.nl/start)。
这两个工具箱都有很好的教程:
http://sccn.ucsd.edu/eeglab/eeglabtut.html
http://fieldtrip.fcdonders.nl/tutorial
发布于 2012-05-09 21:25:14
您可能会发现,使用MATLAB的periodogram函数比直接使用FFT更容易。它负责为您设置数据窗口以及各种其他实现细节。
发布于 2012-05-24 12:20:03
我认为最简单的方法是在加载数据后在这些范围内过滤信号。例如。
band=30 100 eeglocal.lowpass(带(2)).highpass(带(1));
然后,您可以使用选择要处理的时间。
这应该就是您需要的全部内容。
https://stackoverflow.com/questions/10516980
复制相似问题