matlab - 使用 matlab 进行 EEG 原始数据波段滤波

标签 matlab signal-processing emokit

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

  • 增量(1-4Hz)
  • θ (4-8Hz)
  • 阿尔法(8-13Hz)
  • 测试版(13-30Hz)
  • 和 Gamma (36-40Hz)

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

关于matlab - 使用 matlab 进行 EEG 原始数据波段滤波,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19404180/

相关文章:

objective-c - 使用 vDSP_ctoz() 和 vDSP_ztoz() 去交织和交织缓冲区?

c++ - Emotiv Epoc 数据采集

java - JUnit - 空指针异常

matlab - Matlab 比较元胞数组与混合数据类型

matlab - MATLAB 图中的光标坐标

c# - 当在 C/C# 等中实现相同的滤波器/代码时,matlab IIR 滤波器会给出不同的输出

c++ - 使用窗口函数 : implementation problem 进行 FIR 滤波

matlab - 为 3D 图形添加完整的 6 个边框

matlab - OpenCV - 在 MouseOver 上查看像素值,如 Matlab