第2章:脑电信号采集与实验范式
说实话,做运动想象脑电解码这几年,我踩过最大的坑就是——数据采集阶段就埋下了隐患。你想想看,电极放歪了1厘米,后面再怎么调算法都是白搭。所以这一章,咱们先把地基打牢。
2.1 国际10-20系统:电极放置的“通用语言”
10-20系统,说白了就是一套标准化的电极定位方案。为什么叫10-20?因为相邻电极之间的距离是颅骨前后或左右总长的10%或20%。我刚开始接触时觉得这名字挺随意,后来才发现这命名其实很严谨。
核心要点就三个:
- 基准点:鼻根(Nasion)和枕骨隆突(Inion)
- 中线电极:Fz、Cz、Pz等,沿着颅骨中线排列
- 左右对称:奇数在左(如C3),偶数在右(如C4)
我个人习惯在实验前先用软尺量一遍被试的头围。别嫌麻烦,这一步能省掉后面80%的坏道问题。嗯,这里要注意:C3和C4这两个位置,是左右手运动想象最关键的电极点。我在项目中遇到过有人把C3和C4贴反了,结果分类准确率直接掉到50%以下——跟抛硬币没区别。
关键电极位置速记:
- C3:左手运动感觉区上方
- C4:右手运动感觉区上方 li>
- Cz:头顶中央,参考电极常用位置
- Fz:前额中线,眼电伪迹重灾区
2.2 BCI竞赛数据集:别自己从头采数据
很多新手一上来就想自己采数据。我的建议是:先别急。BCI竞赛数据集已经帮你把最难的活干完了。
最经典的是BCI Competition IV的2a和2b数据集。我当年入门就是靠这两个数据集练手的。它们长这样:
| 数据集 | 电极数 | 被试数 | 任务 | 采样率 |
|---|---|---|---|---|
| BCI IV 2a | 22 | 9 | 4类运动想象 | 250 Hz |
| BCI IV 2b | 3 | 9 | 2类运动想象 | 250 Hz |
为什么推荐用竞赛数据?因为标注质量高、实验范式规范。我曾经自己采过一批数据,光剔除眼电伪迹就花了两周,结果发现被试中途睡着了...从那以后,我建议新手先用公开数据集跑通流程。
小技巧:下载数据集后,先看一眼README文件里的实验说明。很多细节(比如提示音时长、休息间隔)都在里面,直接影响你的预处理参数设置。
2.3 左右手运动想象实验范式
这个范式其实很直观。被试坐在屏幕前,看到箭头朝左就想左手运动,朝右就想右手运动。注意,是“想象”而不是真的动。我见过有人把实验做成了“手指体操”,那数据就没法用了。
典型的单次试验流程:
- 准备期(2秒):屏幕显示十字,被试放松
- 提示期(1秒):出现箭头,告知任务方向
- 想象期(4秒):执行运动想象
- 休息期(2秒):随机间隔,避免适应
为什么会这样设计?因为运动想象需要一段“启动时间”。我做过对比实验,把想象期缩短到2秒,分类准确率直接掉了8个百分点。说白了,大脑需要时间进入状态。
避坑指南:我曾经遇到过被试在想象期不自觉咬紧牙关,结果肌电信号淹没了脑电信号。所以实验前一定要强调:只想象,别动任何肌肉。
2.4 数据预处理流程概览
原始脑电信号,说白了就是一堆噪声里藏着一点点信号。预处理的目的就是把这些噪声尽量去掉。我习惯的流程是这样的:
每个步骤具体做什么?
- 带通滤波:保留0.5-100 Hz频段。运动想象的关键信息在8-30 Hz(mu节律和beta节律),但为了保留边缘信息,我习惯留点余量。
- 陷波滤波:干掉工频干扰。国内是50 Hz,有些国家是60 Hz。我曾经有个学生忘了做这步,结果频谱图上50 Hz那根柱子比信号还高。
- 伪迹去除:眼电、肌电、心电。ICA(独立成分分析)是主流方法。我个人习惯先做阈值检测,把明显坏掉的通道剔除,再做ICA。
我的经验:预处理不是越狠越好。滤波太窄会把有用信号滤掉,ICA成分太多会过拟合。我一般先做一次快速预览,看看数据整体质量,再决定参数。记住:预处理的目标是保留信号、去除噪声,而不是把数据“洗白”。
最后说一句:数据预处理没有标准答案。同一个数据集,不同人做出来的结果可能差10个点。关键是要理解每一步在干什么,以及为什么这么干。嗯,这一章的内容就到这,下一章咱们聊特征提取。