2012-05-09 6 views
5

Я новичок в BCI. У меня есть устройство EMI Mindset от Neurosky, и я записываю значения исходных данных, поступающих с устройства в файл csv. Я могу читать и извлекать данные из csv в Matlab, и я применяю FFT. Теперь мне нужно извлечь определенные частоты (Alpha, Beta, Theta, Gamma) из БПФ.Использование Matlab FFT для извлечения частот из сигнала ЭЭГ

Где Дельта = 1-3 Гц

Тета = 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

ответ

3

Для удобства анализа данных ЭЭГ с помощью MatLab вы можете использовать панель инструментов EEGLAB (http://sccn.ucsd.edu/eeglab/) или панель инструментов fieldtrip (http://fieldtrip.fcdonders.nl/start).

Оба Инструментарии пришли с хорошими учебниками:

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

http://fieldtrip.fcdonders.nl/tutorial

+0

Спасибо! В настоящее время я читаю eeglab help. –

1

Вам может быть проще начать с функции MATLAB periodogram, а не пытаться напрямую использовать FFT. Это позаботится о том, чтобы окончить данные для вас и различные другие детали реализации.

0

Я думаю, что самый простой способ для фильтрации сигнала в этих диапазонах после загрузки данных. .

band = [30 100] eeglocal.lowpass (диапазон (2)). Highpass (band (1));

, то вы можете использовать время, которое хотите обработать.

Это должно быть все, что вам нужно.

Смежные вопросы