EEG raw data band filtering using matlab

末鹿安然 提交于 2019-12-06 06:30:30

问题


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

  • delta (1-4Hz)
  • theta (4-8Hz)
  • alpha (8-13Hz)
  • beta (13-30Hz)
  • and gamma (36- 40Hz)

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


回答1:


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;

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.



来源:https://stackoverflow.com/questions/19404180/eeg-raw-data-band-filtering-using-matlab

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!