本说明针对本实验室现有的实验范式进行说明,
实验范式设计为:四种状态(提示、观察、想象、静息)具体设计不便展示,
该部分为实验范式时间长度表:(具体数据说明可见附录表格范式时间表)
本实验分为松手和握手两组实验,每组重复采集3组数据,数据为2X3,并且在每组实验做完后保存两个pc端的时间作为线下打标的依据,作为数据对齐的参考时间,谈论到数据打标:
具体的公式和步骤为(仅作参考待验证):可以考证
由于本实验使用两台电脑进行信号的采集以及场景控制,会有软件启动时间差、场景运行时间差以及被测者准备时间等,所以需要我们采用线下的方式来进行时间打标操作。首先对于两台电脑的时间差,我们需要通过系统自带命令窗口进行时间差的计算如下表(取每个被测者其中一次的实验时间)所示,在主电脑上CURRY8软件自带时间记录功能(精确到毫秒),而辅助电脑的Unity软件中也需要通过程序控制在MATLAB信号过来的同时进行时间文本的输出(精确到毫秒)。
表打标时间计算表
被测编号 | Unity端 PC时间/s | Matlab端 PC时间/s | PC系统 相差时间/s | 打标时间差/s |
1 | 20:45:27.400 | 20:45:15.577 | 14.22 | 2.397 |
2 | 10:39:22.569 | 10:39:27.175 | 7.590 | 2.984 |
3 | 9:35:08.504 | 9:35:16.138 | 10.84 | 3.206 |
4 | 20:37:29.115 | 20:37:37.945 | 12.02 | 3.180 |
5 | 21:54:28.084 | 21:54:32.585 | 7.601 | 3.089 |
6 | 14:59:14.563 | 14:59:22.690 | 10.88 | 2.353 |
7 | 10:13:10.431 | 10:13:19.945 | 13.01 | 3.487 |
8 | 22:29:33.909 | 22:29:40.700 | 9.51 | 2.719 |
9 | 21:11:52.487 | 21:11:58.520 | 9.60 | 3.565 |
10 | 10:19:34.577 | 10:19:42.435 | 11.10 | 2.242 |
在实验结束后,主电脑时间设为T主电脑,辅助电脑时间设置为T辅电脑,而CURRY8上的时间设为T(ij)curry8,Unity3d输出的时间设为T(ij)unity3d,打标时间设为T(ij)打标。(i为每个实验的编号,i=1,...10,j为一个人第几组实验,j=1,...5):T(ij)打标 = T(ij)curry8- T(ij)unity3d- T主电脑-T辅电脑-T(ij)打标对应的是正式脑电信号采集的时间点,我们可以根据T(ij)打标来完成脑电信号和实际实验开始时间的校对。该时间点的确定对于实验结果具有关键的作用,所以实验中将时间点压缩到了毫秒位。在误差允许范围内,这极大地保证了实验的精确度以及最后数据分析结果的准确性。
经过实验,采集的数据保存后,用eeglab打开,需要在matlab中安装eeglab插件,安装参考:(26条消息) EEGLAB及其插件下载安装_eeglab下载-CSDN博客,由于采集过程中用的软件为curry8,所以需要在eeglab中下载loadcurry插件,具体安装loadcurry插件如图:路径为File>>Manage EEDlab extension >>
安装好loadcurry插件后,便可通过eeglab导入实验室数据如下图:
导入数据后,由于本实验室没有进行线上打标的端口,所以在实验过程中没有进行线上打marker,故打开的原始数据events为0或none,实验数据如图,特此说明该数据与网上的其他脑电数据存在着event上的明显不同,所以第一步工作需要解决打标问题,然后再按照教程进行预处理,
如果想要进行打标分析,先可以研究一下打标的数据结构和未打标的数据结构的区别,本次选取相同数据下,在同一时间点的脑电图,下图是两个对比图:
通过打标后,可以设置打标的数量和类别,以下主要介绍在event为0的数据上手动添加event的方法:(该方法为针对某个数据做说明,只是介绍通用的方法)
1.eeglab引入一段events为0的数据,分析其结构如下图所示
2、建立一个events时间文本,格式为文本格式,程序解释如图,在MATLAB下运行,本演示将其命名为marker_1,并保存文本,
生成的数据结构如下图,然后将其进行命名与调整,
打开生成的event.txt文件,并根据具体数据类别更改信息,添加第一行标题,本数据计划提取两个类别数据,变在第二列定义a,b标签,第一列设置裁剪时间点,第三列默认为1(为什么1未做研究),数据更改后如下图;
3、保存好event数据后,打开eeglab,引入事件:from MATLAB array or ASCII file
.按照下图设置参数,点击OK生成数据,然后另存为打完marker的数据。
以上便是本实验是进行特殊打标签的处理方法,其中具体的标记点需要结合打标时间公式,计算出起始点的位置,作为第一个标记点,结合范式时间表和时间点以及分类类别定义标签名称,经过以上步骤处理后,方可采取正常脑电数据与处理的方法进行数据处理:
数据预处理参考:
((26条消息) eeglab脑电数据预处理:step by step_eeglab数据预处理_茗创科技的博客-CSDN博客)
(零基础脑电数据处理教程_04_频域分析 4_哔哩哔哩_bilibili
感谢以上链接作者提供的引导与支持,如有侵权,联系删除