3

私は、卒業論文のために行っている実験の一環として、Emotiv EPOC を使用してキャプチャした csv ファイルに生の EEG データをいくつか持っています。参照用にここにファイルの 1 つをアップロードしました。特定の帯域のデータに対して帯域通過フィルタリングを実行したい

  • デルタ (1-4Hz)
  • シータ (4-8Hz)
  • アルファ (8-13Hz)
  • ベータ (13-30Hz)
  • およびガンマ (36 ~ 40Hz)

私はMatlabで比較的新しいので、どうすればそれを行うことができますか? 同様の質問がすでに存在することは認識していますが、EEG データのキャプチャに Emotiv EPOC を使用しているため、私の場合には当てはまりません。

4

1 に答える 1

2

matlab を使用した電気生理学的信号処理のためのオープン ソース環境であるEEGLabを使用してみてください。このツールボックスは、あなたのようなテキスト入力を受け入れ、次のようないくつかのフィルタリング方法を持っています

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 に答える