0

我是 EEGLab 的新手,这是一个用于分析 EEG 数据的 MATLAB 工具。我想知道是否有一种特定的方法可以将给定时间的脑电波频率提取到使用 MATLAB 的文本文件中。

例如:1s 11Hz,2s 8Hz....

4

3 回答 3

1

EEG 波的范围从从 0.5 Hz 开始的 delta 波到通常在 40 Hz 甚至更高(甚至高达 100Hz)的伽马波,您可能在这里考虑的问题是这些频率始终存在,因为大脑从未真正“关闭”向下”某些频率。因此,在大脑振荡频率中研究的是某些频率范围内活动和功率的变化。例如,α波在闭眼状态下比睁眼状态下显示出更大的能量。要解决您的问题,您可以:

  1. 请参阅EEGLAB wiki并按照教程进行操作,该教程还提供了示例数据,看看它可以为您提供什么。例如,参见第 03 章。

  2. 以最简单的方式,如果您愿意,可以在 MATLAB 中使用快速傅立叶变换 (FFT) 在时间间隔内查看 EEG 信号的功率活动,您需要知道在什么时间间隔内对数据进行采样,这是称为采样频率Ts。如果您有这些信息,只需在 MATLAB fft() 上查找文档或在网上搜索。

于 2017-04-04T21:29:59.663 回答
1

从您的问题来看,您似乎想要执行某种Time-Frequency analysis,即提取一些频率信息并保留时间信息的分析。重要的是,您不会从数据中提取“频率”(这是一个奇怪的请求),而是提取感兴趣频率的一些属性(通常是给定频率的能量,表示为“功率”)。

通常,在计算 EEG 数据的一些基本频率属性时(作为 EEG 的通道谱(参见此处的 EEGlab 教程),您会丢失时间信息。

时频分析克服了这一限制,并允许获得您想要的信息类型,即频率能量随时间的变化(请参阅此处的EEGlab 时频教程)。

运行时频分析需要一些注意并且可能很棘手(您很容易犯一些错误),我建议您查看 Mike Cohen 的讲座(查看视频教程或他的书“分析时间序列数据” (见这里)。从这些资源中,您可以完美地了解什么是时频分析,并对时频数据如何存储在 MATLAB 中有所了解。

一旦你知道了这一点,你就可以转移到你的实际问题,即导出你的频率数据(可以说,你在给定时间的给定频率上的电源)。您可以在 EEGLAB 邮件列表中查看如何检查此线程。

下面我写了一些从上面的线程改编的代码,你可以作为起点

%% first you run a time frequency analysis. 
% Check the help of 'pop_timef' function for further information 
[ersp itc powbase times freqs] = pop_timef( EEG, 1, 1, [-1000 2000] , [3 0.5]  ,'type', ...
'phasecoher', 'topovec', 1, 'elocs', EEG.chanlocs, 'chaninfo', EEG.chaninfo, 'title',...
'Channel FPz power', 'padratio', 1, 'plotphase','off');


% select the ordinal number of the frequency you want to export
% NOTE: this means that you are selecting the 1st frequency (by default settings 6 Hz) 
% and NOT the 1Hz frequency.
my_freq_n = 1
% to check the frequency selected
freqs(my_freq_n)

% my_time specifies the timepoint you want to export
my_time = 1500

% my_ersp stores the ersp value (that is the result of a specific kind of
% Time-Frequency analysis) for your selected time and your selected frequency.
my_ersp = ersp(my_freq_n, dsearchn(times', my_time))

% export the my_ersp object as a .txt file
save -ascii my_ersp.txt my_ersp

`

于 2017-09-09T09:25:35.677 回答
1

有两种方法可以从 EEG 中提取频率信息:1) 使用基于快速傅里叶变换 (FFT) 的方法 2) 使用基于小波变换 (WT) 的方法

当然,您可以使用 EEGLAB 工具箱执行上述分析,但大多数时候您甚至不需要工具箱来执行此类分析。

例如,如果您想对 EEG 执行基于 FFT 的频率分析,您可以使用 MATLAB 中的一些函数,例如pmtm

如果要执行小波变换,可以使用cwt

那里的文档写得很好,您需要做的只是将数据作为输入提供并在每个函数中提供适当的参数。

如果您想了解更多有关基础知识的信息,您可以随时访问 EEGLAB wiki 或网络上的其他资源。

希望这可以帮助!

于 2017-06-18T01:46:41.707 回答