关于EEGLAB这个脑电处理工具包,对于大多是需要处理脑电数据的人来说都不会很陌生,这里放一个EEGLAB官网的链接;
https://sccn.ucsd.edu/eeglab/index.php
前言:EEGLAB的优势
- 具有便于操作的GUI界面,特别适合初学者学习使用
- 支持导入多种数据格式(可以读取几乎所有格式的EEG信号)
- 对于高密度的数据可以,支持滚动浏览,方便我们查询脑电的数据
- 交互式的绘图功能,方便ERP波形绘制和头皮电压分布地形图绘制等工具
- 基于独立成分ICA的伪迹去除和源分析技术
- 提供多种高级的插件免费下载,满足各种不同分析需求
1 EEGLAB的安装
1.1 EEGLAB使用

2 脑电数据的预处理步骤

大部分的预处理都会是上面图中的操作,有些需要根据自己需要分析的操作相应的预处理步骤
2.1 导入数据
以其中一种脑电数据格式为例



这里使用默认,点击ok
得到下面的这种情况

这些框里面对于的详细数据在matlab里面的变量可以找到

2.2 预览波形图

通过这个数据的概览可以方便看到脑电波形图的大概样子,方便初步判断
将鼠标放在脑电波的上面,在右下角就出现相关的信息,通道,幅值信息等
2.3 导入电极坐标
导入了电极坐标之后就可以让eeglab读取到每一个chanel的名称和数值,然后再通过eeglab里面默认的脑电位置排布文件,将具体的脑电即位置按照模板排布,这样eeglab就能具体知道位置了

这里是将脑电坐标导入进来,需要选择这个eeglab内置的电极坐标模板

我们一般是选择默认的模板,除非你有特殊的需求,或者对于这些模板了解的很清楚,可以选择适合自己的
电极分布图(2D和3D的展示),电极plot2D和3D这个按钮

从左边的图可以看到有一些电极在头部的外面,这是因为这些电极在头部中线以下的位置,所以显示在外面
我们在完成之后电极ok按钮,这样就可以完成电极坐标的导入
这时候你会发现外面展示的信息的channel locations变成了yes
回到matlab的页面就可以找到相关的文件变量查看刚刚导入的电极信息了

2.4 删除某一个通道的电极


这里就可以自由选择需要删除的电极删除了
2.5 坏导的检查和插值
一般先进行数据不好的导联插值
设置参考的是时候,坏导会影响到数据,需要找出坏导,并且对它进行插值处理
通过绘制光谱图查看有没有异常的电极导


哪些地方可以改动过?
第一行的呈现的东西是数据段的长度,这里我们直接保持一整段的数据,不做任何的修改
第二行的呈现是采取数据的多少画出这个图,这里选择的是50%
第三行呈现的信息是放大显示的是哪个频率的,这里选择的是6 10 22HZ的脑电数据
第四行呈现的是哪个频段范围的power值是多少,这里选择的是2 25
选择完毕之后,点击ok,得到光谱图

那我们主要是看这个图的什么地方呢?
主要就是看各个通道的光谱图,这里每一根彩色的线都是代表通道的图,横轴代表频率,纵轴代表的是 POWER值,我们这里首先很明显在50左右的HZ部分升高,是收到了眼电的干扰,频率越低.power值越高
当你看到某个通道的曲线起伏不定,说明这个通道是可能存在问题的
你用鼠标点击一下绿色的线,会在命令行出现对于通道的名字
2.6 查看对应的通道电极


选择通道数和设置对应的频率

下面的折线图和上面的是一个意思,只不过我单单提取出这个通道来详细的查看
左上方是通道的名字和通道的位置
仅仅通过这个通道的曲线变化还不能说明这个通道的图是有问题的,还需要结合右上角的信息
右上角的图,横坐标是时间,纵坐标是幅值信息,每一个横条代表的是一个幅值信息,最右侧的是幅值颜色代表的意思
如果出现异常,就可以看到在一片绿色的地方出现了一点红色的小点,说明在某个时间点上面出现了异常
还有一种可以自动帮你找到坏导的方法


这个软件内置了三种算法(Probability\Kurtosis\Spectrum)可以帮你找到坏导,在这里用红色的线标识出来,并且会在命令行那里告诉你那个电极导是坏导

上面说了很多怎么查找到坏导,那接下来对坏导进行插值处理
使用matlab函数进行坏导插值

这里是用周围电极的均值来进行插值
在EEGLAB里面也带有插值的方法


选择电极导,选择方法,点击ok,这样就能将坏导插值处理了
2.8 提取指定的时间段



这里是将切开的片段保存的设置,包括保存的格式,保存的位置等

修改之后我们很明显的看到了数据量变小了
2.9 重参考
我们实验采集到的数据就是因为定位了参考电极,才能得到数据,数值就是电极所在的位置和参考电极之间的电位差
一般脑电记录的时候参考电极有鼻尖参考,CZ或者头顶中央参考,单侧乳突,双侧乳突参考,全脑平均参考
在脑电数据分析的时候,我们会想要转换参考点的位置,因为不同的位置参考,会对数据产生影响,比如记录时候采用的是CZ或者顶部中央参考,自然地,距离CZ比较近的电极点,记录的电位差会非常小,距离远的又会非常大,大小的差异并不是因为认知活动产生的,是由于记录方式产生的,为了能减小这些记录带来的误差,一般变换为双侧乳突参考
这里会涉及平均参考,双侧乳突,零参考rest.等方法

2.10 双侧乳突参考

Tips:这里的Interpolate removed channels可以自动帮你把之前的坏导插值处理
第一个的是平均参考
最下面Retain old reference的勾选了表示的是是否保留参考电极的信息
根据自己需要选择平均还是双侧乳突的参考,然后按照下面的方法勾选,得到结果

这时候我们发现原来的界面发生了变化,注意reference变成了自己选择的方法

2.10.1 平均参考

2.10.2 零参考rest
- 参考电极标准化技术(Reference Electrode Standardization Technique)
- 任何参考下的头表信号Vr都是脑颅内源X产生的,重建等效源X即可重建头表信号V0

- 非真实脑电,变成真实的脑电
实际上是以无穷远的地方作为一个参考
EEGLAB本身不带有这个参考的方法,需要重新下载按照rest插件
2.11 数字滤波
数字滤波分为高通滤波、低通滤波、带通滤波和凹陷滤波
高通滤波:高于某一频率的信号可以通过,但是低于这个频率的信号会被衰减过滤掉
低通滤波:跟高通是相反的,低于某些频率的可以通过,高于的不行
因此总结上面两个方法,高通滤波再输入数值的时候,是一个比较小的数值,低通滤波则是一个较大的数字
带通滤波:指的是在某个频率段范围内的信号可以通过,但这个频率范围以外的信号就会被保留下来,这个通常是用来去除50HZ视电的干扰
因为滤波不能完全的过滤出我们想要的频段,比如30HZ的低通滤波,并不是说30HZ以外的信号就通通被过滤掉了,而是以30HZ为截止频率,高于这个截止频率的信号会被逐渐衰减

比如上面这个图,横轴为频率,纵轴为增益系数,在截止频率f的左边,最开始的增益系数都是1,指的是信号都乘以1,被完整的保留了下来,而且在接近截止频率的一定范围内,增益系数开始逐渐下降,直到我们的截止频率f处,增益系数刚刚好是0.5,指的是经过了截止频率为f的低通滤波之后,f这个频段的数据有50%被过滤,而50%被保留了下来。随后增益系数再逐渐下降,信号被逐渐衰减,直到接近于0
因此,我们有时候会看到数据在做了30HZ的低通滤波之后,还会再做一个50HZ的凹陷滤波,就是因为,并不是做了30HZ的低通滤波就能够完全把30HZ以上的信号全部过滤掉,而50HZ的干扰又是非常强的,所以最好还是再做一个50HZ的凹陷滤波
2.11.1 凹陷滤波:为了能完全的过滤掉信息所做的一次滤波

设置通过哪些频率的波

Tips:低通的一般设置0.5或者1HZ方面滤掉低频的漂移伪迹

然后使用相同的方法使用高通滤波
一般30HZ以下,包含了我们需要的成分,但是如果后续要做时频分析,可以设置高一点,一般设置30HZ
如果数据存在50HZ的视电干扰的话,可能需要做一个带阻滤波或者限波滤波来进行处理,按照下面的结果设置

注意这里勾选Notch filter the data instead of pass band,说明是带阻滤波或者限波滤波
最好在数据采集的时候就避免视电的信号
2.12 重采样


自己选择需要降到的采样频率就可以了
2.13 分段和基线校正
分段
因为我们的数据是从实验开始到实验结束记录的,所以很多时候会有冗余的数据,需要根据实际情况切开我们需要的片段
基线校正的原因:为了为了减少偏差,偏差产生的原因是由于数据的不稳定,也就是说数据段之间存在基线差异,可能是低频漂移或者是其他的伪迹所引起的,这个时候我们做的基线校正的话,实际上就是从每个时间段去移除平均的基线值,从而去移除掉存在的偏差
其实在我们的很多段的脑电数据中,虽然每一段的基线相对值是一样的,但是绝对值是不一样的,所以我们要通过基线校正来使得他们在同一水平线上

首先要选择你的数据段里面的所有时间标记,需要你选择你需要的哪些段
第二行是你需要选需要的时间窗


上面是分好段之后的操作,执行完之后你会出现到执行基线校正的操作

第一个是比较重要的参数,指的是你选择需要的时间点,一般是刺激出现的前200ms左右,选择好之后,ok
2.14 独立成分分析(ICA)


其他的都保持默认的参数,如果你对自己的研究有其他的想法的话可以自己选择对应的算法,前提是你对ICA比较熟悉
这里需要注意的是,前面我们有对坏导进行处理,以及选择重参考的时候,选择了双侧乳突或者平均参考,这里在第二个空需要填写相关的信息
这里是选择双侧乳突的写法

如果是平均参考这里则不用写出62-2,通道数是32
我们在做ICA的时候,是需要所有通道的数据都是有效的数据,如果是坏导,就没有办法合理进行ICA,它本身会自动的根据周围的电极数据均值给这个坏导使用,但是这样就对数据的结果造成很大的影响
在跑完ICA之后,画出相关的图


画出所有电极的缩略图,主要关注前面的成分,这里只关注前面的20个电极


观察哪个成分是有问题的
点击成分图,可以出现下面的的光谱图

右上角的是幅值(纵坐标)和时间(横坐标)图,下面小的是叠加平均图
其他上面已经介绍过了
看下面的图,分辨眨眼的伪迹
如果确定是伪迹,点击accept,然后点击ok
当你做完所有的伪迹去除之后,就可以回到原始GUI界面


自动帮你填上刚刚的伪迹个数

确定删除伪迹成分
在此之前可以点击Plot ERPs对比查看删除前后差异

2.14.1 利用ICA去除眼电的伪迹,水平和竖直的眼电

上面的就是竖直眼电信号,下面的是水平眼电信号



2.15 删除坏段
- 肉眼识别比较特别显著差异的数据(目测检查法),适合数据量比较少的情况

手动选择删除

2.绝对阈值法


第一行是电极个数,第二和第三行表示筛选的阈值范围,一般选择-100和100

如果是坏导的部分是会通过这个方法标记出来的,比如下面的图片所示

3 保存数据
预处理完了之后就可以保存数据了

总结
降低采样率
采样率的单位式HZ,1000HZ代表着1s会采样1000次,在后期的时候我们想要降低采样率,降到500HZ,或者250HZ,减少数据量,提高计算速度,没有其他作用,所以这并不是必须的步骤
需要注意的是:
- 降低采样率是在滤波之后,因为采样率降低会使得我们丢失高频信息,为了不使数据失真
- 负荷采样定理:是我们想要分析的波段频率的3,4倍以上
本文详细介绍了使用EEGLAB进行脑电数据预处理的步骤,包括数据导入、电极坐标导入、通道删除、坏导检查与插值、重参考、数字滤波、重采样、分段与基线校正、独立成分分析(ICA)以及坏段删除。通过EEGLAB的GUI界面,用户可以高效地进行脑电数据预处理,包括眼电伪迹的去除,确保后续分析的准确性。
190

被折叠的 条评论
为什么被折叠?



