2012-05-09 20 views
5

BCIを初めて使用しています。私はNeuroskyのマインドセットEEGデバイスを持っており、デバイスからのRawデータ値をcsvファイルに記録します。私はcsvからMatlabにデータを読み込んで抽出し、FFTを適用することができます。私は今、FFTから特定の周波数(アルファ、ベータ、シータ、ガンマ)を抽出する必要があります。Matlab FFTを使用して脳波信号から周波数を抽出する

デルタ= 1-3 Hzの

シータ= 4-7 Hzの

アルファ= 8-12 Hzの

ベータ= 13-30 Hzの

ガンマ= 31-40 Hzの

これは私がこれまでにやったことです:

f = (0:N-1)*(Fs/N); 
plot(rawDouble); 
title ('Raw Signal'); 
p = abs(fft(rawDouble)); 
figure,plot (f,p); 
title('Magnitude of FFT of Raw Signal'); 

信号から特定の周波数範囲を抽出する方法を教えてもらえますか?どうもありがとうございました!

+2

帯域幅フィルタについては、MATLABのドキュメントを参照してください。それは最初にfftを通過するよりも簡単になるはずです。 –

+0

私の質問には答えてください。 http://stackoverflow.com/questions/23167374/performing-fft-on-eeg-signal-using-matlab – user3206535

答えて

3

MatLabで脳波データを簡単に分析するには、EEGLABツールボックス(http://sccn.ucsd.edu/eeglab/)またはフィールドトリップツールボックス(http://fieldtrip.fcdonders.nl/start)を使用することを検討してください。

どちらのツールボックスには良いチュートリアルが付属しています:

http://sccn.ucsd.edu/eeglab/eeglabtut.html

http://fieldtrip.fcdonders.nl/tutorial

+0

ありがとう!私は現在eeglabのヘルプを読んでいます。 –

1

FFTを直接使用するのではなく、MATLABのperiodogram関数で簡単に始めることができます。これはあなたのためにデータをウィンドウ処理し、その他のさまざまな実装の詳細を処理します。

0

私は最も簡単な方法は、あなたがあなたのデータをロードした後、これらの範囲であなたの信号をフィルタリングすることであると思います。 など。

band = [30 100] eeglocal.lowpass(band(2))。highpass(band(1));

次に、処理する時間を選択することができます。

これで十分です。

関連する問題