我在使用Emotiv EPOC捕获的csv文件中有一些原始EEG数据作为我正在为本科毕业论文做的实验的一部分。我上传了其中一个文件here以供参考。我希望对某些频段的数据进行带通滤波
由于我在Matlab中相对较新,我该怎么做? 我知道类似的问题已经存在,但它们不适用于我的情况,因为我正在使用Emotiv EPOC进行EEG数据采集
答案 0 :(得分:2)
您可以尝试使用EEGLab,这是一个用matlab进行电生理信号处理的开源环境。此工具箱接受您的文本输入,并具有多种过滤方法,如
function EEGfiltered = eeg_filter(EEGinput,sample_freq,lcf,hcf,order);
% eeg_filter - apply a butterworth polynomial filter
%
% Usage : EEGfiltered = eeg_filter(EEGinput,sample_freq,lcf,hcf,order)
%
% - input arguments
% EEGinput : eeg data - M samples x N channels x P epochs
% sample_freq : sampling frequency
% lcf : low cutoff frequency (highpass, default 0.01)
% hcf : high cutoff frequency (lowpass, default 40)
% order : butterworth polynomial order (default 2)
%
% - output argument
% EEGfiltered : filtered EEGinput;
注意EEG数据处理的特殊性。例如, filtfilt函数基于时间序列的最后一点,因此有必要在过滤后调用eeg_baseline
。遵循EEGLab教程将避免许多缺点。