2012-05-09 196 views
5

我是BCI的新手。我有一個來自Neurosky的Mindset EEG設備,我將來自設備的原始數據值記錄在csv文件中。我可以讀取和提取從csv到Matlab數據,我應用FFT。我現在需要從FFT中提取某些頻率(Alpha,Beta,Theta,Gamma)。使用Matlab FFT從腦電信號中提取頻率

其中,δ= 1-3赫茲

THETA = 4-7赫茲

阿爾法= 8-12赫茲

貝塔= 13-30赫茲

伽瑪= 31-40赫茲

這是我做過什麼,到目前爲止:

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

回答

1

您可能會發現從MATLAB的periodogram函數開始更容易,而不是試圖直接使用FFT。這爲您處理數據窗口和各種其他實現細節。

0

我認爲最簡單的方法就是你加載數據後,在這些範圍來過濾信號。 例如

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

然後你可以使用選擇你想要處理的時間。

這應該是你所需要的。