使用Matlab进行EEG原始数据带过滤 [英] EEG raw data band filtering using matlab
问题描述
作为我的本科生实验的一部分,我在使用Emotiv EPOC捕获的csv文件中有一些原始EEG数据.我在此处中上传了一个文件供参考.我希望对某些频带中的数据执行带通滤波
I have some raw EEG data in csv files captured using Emotiv EPOC as part of experiments I am doing for my undergrad thesis. I uploaded one of the files here for reference. I wish to perform band pass filtering on the data in the certain bands
- 增量(1-4Hz)
- theta(4-8Hz)
- alpha(8-13Hz)
- beta(13-30Hz)
- 和伽马(36-40Hz)
由于我在Matlab中相对较新,该怎么办? 我知道类似的问题已经存在,但不适用于我的情况,因为我正在使用Emotiv EPOC进行EEG数据捕获
As I am relatively new in Matlab, how can I do that? I am aware that similar questions already exist but they do not apply in my case as I am using Emotiv EPOC for EEG data capturing
推荐答案
您可以尝试使用 EEGLab ,这是一个使用matlab进行电生理信号处理的开源环境.该工具箱接受文本输入(例如您的文本输入),并具有几种过滤方法,例如
You may try to use EEGLab, an open source environment for electrophysiological signal processing with matlab. This toolbox accepts text input such as yours, and has several filtering method like
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;
注意脑电数据处理的特殊性.例如, filtfilt函数的基线位于时间序列的最后一点,因此有必要在过滤后调用eeg_baseline
.遵循EEGLab教程将避免许多弊端.
Beware of the specificity of EEG data processing. For example, the filtfilt function baselines on the last point of the timeseries, so it is necessary to call eeg_baseline
after filtering. Following the EEGLab tutorial will avoid many drawbacks.
这篇关于使用Matlab进行EEG原始数据带过滤的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!