簡體   English   中英

使用Matlab FFT從EEG信號中提取頻率

[英]Using Matlab FFT to extract frequencies from EEG signal

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

Delta = 1-3 Hz

Theta = 4-7 Hz

Alpha = 8-12 Hz

Beta = 13-30 Hz

伽瑪= 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');

誰能告訴我如何從信號中提取那些特定的頻率范圍? 非常感謝你!

為了便於使用MatLab分析EEG數據,您可以考慮使用EEGLAB工具箱( http://sccn.ucsd.edu/eeglab/ )或fieldtrip工具箱( http://fieldtrip.fcdonders.nl/start )。

兩個工具箱都有很好的教程:

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

http://fieldtrip.fcdonders.nl/tutorial

您可能會發現使用MATLAB的周期圖功能更容易,而不是嘗試直接使用FFT。 這將負責為您提供數據窗口以及各種其他實現細節。

我認為最簡單的方法是在加載數據后過濾掉這些范圍內的信號。 例如

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

然后你可以選擇你想要處理的時間。

這應該就是你所需要的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM