5

我是 BCI 的新手。我有一个来自Neurosky的 Mindset EEG 设备,我将来自该设备的原始数据值记录在一个 csv 文件中。我可以从 csv 读取数据并将其提取到 Matlab 中,然后应用 FFT。我现在需要从 FFT 中提取某些频率(Alpha、Beta、Theta、Gamma)。

其中 Delta = 1-3 Hz

θ= 4-7 赫兹

阿尔法 = 8-12 赫兹

贝塔 = 13-30 赫兹

伽马 = 31-40 赫兹

这是我到目前为止所做的:

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');

谁能告诉我如何从信号中提取那些特定的频率范围?非常感谢你!

4

3 回答 3

4

为了方便使用 MatLab 分析 EEG 数据,您可以考虑使用 EEGLAB 工具箱 ( http://sccn.ucsd.edu/eeglab/ ) 或实地考察工具箱 ( http://fieldtrip.fcdonders.nl/start )。

这两个工具箱都带有很好的教程:

http://sccn.ucsd.edu/eeglab/eeglabtut.html

http://fieldtrip.fcdonders.nl/tutorial

于 2012-05-09T13:37:34.120 回答
1

您可能会发现开始使用 MATLAB 的周期图函数比尝试直接使用 FFT 更容易。这负责为您和各种其他实现细节窗口化数据。

于 2012-05-09T13:25:14.343 回答
0

我认为最简单的方法是在加载数据后过滤这些范围内的信号。例如

波段=[30 100] eeglocal.lowpass(波段(2)).highpass(波段(1));

然后您可以使用选择要处理的时间。

这应该就是你所需要的。

于 2012-05-24T04:20:02.810 回答