我在 csv 文件中使用 Emotiv EPOC 捕获了一些原始 EEG 数据,作为我为本科论文所做的实验的一部分。我在这里上传了其中一个文件以供参考。我希望对特定频段的数据进行带通滤波
- 增量(1-4Hz)
- θ (4-8Hz)
- 阿尔法(8-13Hz)
- 贝塔(13-30Hz)
- 和伽马 (36- 40Hz)
由于我在 Matlab 中相对较新,我该怎么做?我知道已经存在类似的问题,但它们不适用于我的情况,因为我正在使用 Emotiv EPOC 进行 EEG 数据采集
我在 csv 文件中使用 Emotiv EPOC 捕获了一些原始 EEG 数据,作为我为本科论文所做的实验的一部分。我在这里上传了其中一个文件以供参考。我希望对特定频段的数据进行带通滤波
由于我在 Matlab 中相对较新,我该怎么做?我知道已经存在类似的问题,但它们不适用于我的情况,因为我正在使用 Emotiv EPOC 进行 EEG 数据采集
您可以尝试使用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 教程将避免许多缺点。