ICA: 用于从混合信号中分离出独立的成分或因素。它可以将观测到的多个信号分解为相互独立的成分,这些成分在原始信号中可能是混合在一起的。
假设采集EEG信号的帽子上有n个电极,则有n个观测信号,用
x
1
x_1
x1?,
x
2
x_2
x2?…
x
n
x_n
xn?表示。采集到的信号可能包含除了脑电信号之外的其他信号,假设共有m个独立成分的混合,用
s
1
s_1
s1?,
s
2
s_2
s2?…
s
m
s_m
sm?表示。
x和s之间满足一个关系式:
x
=
A
s
x = As
x=As
举例,比如有20个观测信号,从中分离出来了20个独立成分,如何从20个成分选择我们需要的信号,可以根据经验判断都是什么信号,比如下图第一个信号是眼动信号,我们可以将s中第一行设置为0,逆变换回去就求得原始数据降噪后的x。
也可以根据脑地形图判断是否为噪声,对于脑电信号而言,感兴趣的成分通常在地形图上呈现出具有空间拓扑结构的分布。
间隔相同的时间,多次给予相同的刺激,并采集参与者的脑电EEG信号,将多次采集的信号划分为不同epoch求平均得到ERP。
MNE(Magnetoencephalography and Electroencephalography)工具包是一个用于脑电图(EEG)和脑磁图(MEG)数据分析的Python开源软件包。它提供了一系列功能和工具,用于处理、分析和可视化脑电图和脑磁图数据。
代码部分大家可以自己看视频讲解,在GitHub上也上传了代码,这里不再展示。