eeglab脑电数据预处理:step by step

eeglab脑电数据预处理:step by step,第1张

文章来源于微信公众号(茗创科技),欢迎有兴趣的朋友搜索关注。

学脑电的小伙伴对 matlab 软件和 eeglab 插件一定不会陌生,它们是脑电数据分析过程中的重要法宝。在对脑电数据进行分析处理之前需要先安装 matlab,在 matlab 中调用 eeglab 插件。在收集脑电数据的过程中,我们收集到的数据不可避免的会受到一些干扰,但是我们在进行分析之前需要相对干净的数据,所以脑电数据处理过程中最重要的一步就是对数据进行预处理。预处理做得好,能够帮助我们有效地提高脑电数据的信噪比哦。

以下是关于脑电数据预处理步骤:step by step~ (预处理包含以下几个步骤,但是有些步骤的顺序是可变的,需根据自己的实验目的和实验数据来决定)

1. 导入数据

2. 定位电极

3. 剔除无用电极(眼电、心电、肌电等)

4. 重参考(双侧乳突、全脑平均、零参考)

5. 滤波(高通、低通、陷波等)

6. 降采样率(选做)

7. 根据 marker 分段

8. 剔除坏段和插值坏导

9. Run ICA(保存)

10. 剔除眼电、噪声成分

11. 保存数据

导入数据

①首先打开eeglab,在matlab的命令窗口中输入eeglab,单击回车,会出现以下界面。

②加载我们之前采集好的脑电数据。如果数据类型为.cnt,选择File-- Import data--Using EEGLAB functions and plugins--From Neuroscan.CNT file,点击OK;数据类型为.set,选择File--Load existing dataset进行数据加载。

③接下来,看看eeglab界面中每个选项所代表的含义。

④查看数据,即检查数据质量。点击Plot-- Channel data(scroll),查看每个通道的数据,可记录坏导,便于后期进行插值。

定位电极点

①点击Edit--Channel locations--OK,使用默认的电极模板即可。

②查看电极点定位情况。点击Plot 2-D会出现右侧所示电极点的平面图。如若不能成功定位电极点可能存在以下情况:该电极点的名称不准确,则将电极点改为标准名称,再重新定位;电极位置不准确,滑笑如果不是国际排布系统,则可以向厂家要电极点的坐标位置信息。注:如若重新定位了电极位置,则需要点击下方界面上的Look up locs按钮来更新位置信息。

③定位完成后的eeglab界面会出现以下变化。

删除无用电极点

①点击Edit--Select data,在‘...’按钮处选中要删除的电极点,然后勾选已经选择要删除的电极点,单击OK。

②删掉无用电极点后的老扮eeglab界面变化如下。

重参考

①点击Tools--Re-reference。常用的重参考方法有双侧乳突参考、全脑平均参考、零参考,侍让灶而且不同的研究对于重参考步骤的先后顺序也有所不同,有的在滤波之前进行重参考,有的则是在滤波后或者去完伪迹后进行重参考,小伙伴们需要根据自己的数据情况和所研究方向的前人文献来选择重参考方法,这里以双侧乳突,且在滤波前进行重参考步骤为例。

②进行重参考后的eeglab界面变化如下。

滤波

有两种方法进行滤波。在EEGLAB中进行滤波:点击Tools--Filter the data--Basic FIR filter (new,default)。在ERPLAB中进行滤波:点击ERPLAB--Filter&Frequency Tools--Filter for EEG data。

高通滤波: 通高频,阻低频。若进行0.1Hz的高通滤波,选择的时候0.1Hz表示频率通过的下限。

低通滤波: 通低频,阻高频。若进行30Hz的低通滤波,选择的时候,30Hz表示频率通过的上限。

陷波: 为了消除市电的干扰,可以进行50Hz的陷波滤波。

①在EEGLAB中进行滤波。注:如若版本较老,则不推荐同时进行高通和低通滤波,新版本没有限制。

①在ERPLAB中进行滤波。

降采样率

①点击Tools--Change sampling rate。我们知道采样率的单位是Hz,表示一秒内记录的数据点个数,采样率为1000Hz代表一秒内采集了1000个数据点。一般降采样率是为了提高计算速度,现在的电脑配置一般较高,算力较好,那么降不降采样都是OK的,这一步骤,大家可以按需进行选做(可做可不做)。这里将采样率降至500Hz。

②降采样率后的eeglab界面变化如下。

根据marker分段

点击Tools--Extract epochs。

剔除坏段和插值坏导

①点击Plot-- Channel data(scroll)。选中需要去掉的坏段,绿色即为选中,再次单击选中的绿色部分则为取消选中。

②点击Tools--Interpolate electrodes,然后选择Select from data channels,选择要插值的坏导。

Run ICA

①点击Tools--Run ICA。这步为进行独立成分分析,相对于其它步骤,这步耗时较长,跑完ICA的具体时间因电脑性能而定。运行完此步,记得保存数据。

②跑完ICA后的eeglab界面变化如下。

剔除眼电、噪声成分

①点击Tools--Reject data using ICA--Reject components by map。然后我们可以查看和标记相应成分。一般会把确认为是水平眼电、垂直眼电、肌电、心电伪迹成分去除,不确定是不是伪迹的成分则不去除。 

②把要删除的成分(水平眼电、垂直眼电、肌电等)打开,点击ACCEPT变成REJECT,再点OK。

③点击Tools--Remove components。上一步②中将需要删除的成分从ACCEPT变成REJECT之后,还需要把这些选中的成分移除,才算完成了剔除眼电、噪声成分这个步骤。

保存数据,完成预处理~

脑电数据预处理到这里就完成了,在这里要提醒小伙伴们,关于重参考选择双侧乳突还是全脑平均,亦或是零参考;一些参数的选择,比如滤波参数范围设置;步骤的先后顺序等等,还是需要根据自己的实验目的、数据情况和前人的文献来进行决定哦~

文章来源于微信公众号(茗创科技),欢迎有兴趣的朋友搜索关注。

这是matlab里面fft的例子,看改祥禅懂核尘你就会了

Fs = 1000% Sampling frequency

T = 1/Fs% Sample time

L = 1000% Length of signal

t = (0:L-1)*T% Time vector

% Sum of a 50 Hz sinusoid and a 120 Hz sinusoid

x = 0.7*sin(2*pi*50*t) + sin(2*pi*120*t)

y = x + 2*randn(size(t))% Sinusoids plus noise

plot(Fs*t(1:50),y(1:50))

title('Signal Corrupted with Zero-Mean Random Noise')

xlabel('time (milliseconds)')

NFFT = 2^nextpow2(L)% Next power of 2 from length of y

Y = fft(y,NFFT)/L

f = Fs/宴正2*linspace(0,1,NFFT/2+1)

% Plot single-sided amplitude spectrum.

plot(f,2*abs(Y(1:NFFT/2+1)))

title('Single-Sided Amplitude Spectrum of y(t)')

xlabel('Frequency (Hz)')

ylabel('|Y(f)|')


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12506537.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存