我是BCI的新手。我有Neurosky的Mindset EEG设备,我在csv文件中记录来自设备的Raw数据值。我可以将csv中的数据读取并提取到Matlab中,并应用FFT。我现在需要从FFT中提取某些频率(Alpha,Beta,Theta,Gamma)。
Delta = 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');
谁能告诉我如何从信号中提取那些特定的频率范围?非常感谢你!
答案 0 :(得分:3)
为了便于使用MatLab分析EEG数据,您可以考虑使用EEGLAB工具箱(http://sccn.ucsd.edu/eeglab/)或fieldtrip工具箱(http://fieldtrip.fcdonders.nl/start)。
两个工具箱都附带了很好的教程:
答案 1 :(得分:1)
您可能会发现使用MATLAB的periodogram函数更容易,而不是尝试直接使用FFT。这将负责为您提供数据窗口以及各种其他实现细节。
答案 2 :(得分:0)
我认为最简单的方法是在加载数据后过滤掉这些范围内的信号。 E.g。
band = [30 100] eeglocal.lowpass(band(2))。highpass(band(1));
然后你可以选择你想要处理的时间。
这应该就是你所需要的。