基于EEGLAB的脑电数据预处理

本文详细介绍了使用EEGLAB进行脑电数据预处理的步骤,包括数据导入、电极坐标导入、通道删除、坏导检查与插值、重参考、数字滤波、重采样、分段与基线校正、独立成分分析(ICA)以及坏段删除。通过EEGLAB的GUI界面,用户可以高效地进行脑电数据预处理,包括眼电伪迹的去除,确保后续分析的准确性。

关于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 删除坏段

  1. 肉眼识别比较特别显著差异的数据(目测检查法),适合数据量比较少的情况
    在这里插入图片描述
    手动选择删除
    在这里插入图片描述
    2.绝对阈值法
    在这里插入图片描述
    在这里插入图片描述
    第一行是电极个数,第二和第三行表示筛选的阈值范围,一般选择-100和100
    在这里插入图片描述
    如果是坏导的部分是会通过这个方法标记出来的,比如下面的图片所示
    在这里插入图片描述

3 保存数据

预处理完了之后就可以保存数据了
在这里插入图片描述

总结

降低采样率

采样率的单位式HZ,1000HZ代表着1s会采样1000次,在后期的时候我们想要降低采样率,降到500HZ,或者250HZ,减少数据量,提高计算速度,没有其他作用,所以这并不是必须的步骤

需要注意的是:

  1. 降低采样率是在滤波之后,因为采样率降低会使得我们丢失高频信息,为了不使数据失真
  2. 负荷采样定理:是我们想要分析的波段频率的3,4倍以上
评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

行秋即离

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值