3

我在 csv 文件中使用 Emotiv EPOC 捕获了一些原始 EEG 数据,作为我为本科论文所做的实验的一部分。我在这里上传了其中一个文件以供参考。我希望对特定频段的数据进行带通滤波

  • 增量(1-4Hz)
  • θ (4-8Hz)
  • 阿尔法(8-13Hz)
  • 贝塔(13-30Hz)
  • 和伽马 (36- 40Hz)

由于我在 Matlab 中相对较新,我该怎么做?我知道已经存在类似的问题,但它们不适用于我的情况,因为我正在使用 Emotiv EPOC 进行 EEG 数据采集

4

1 回答 1

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 教程将避免许多缺点。

于 2013-10-16T14:51:40.613 回答