一、EEG基本原理
脑电信号,也称脑电图(EEG,Electroencephalography)是大脑神经元活动产生的电信号。神经元通过突触连接彼此,形成复杂的神经网络。当神经元激活时,会产生生物电现象,这些电信号可以通过电极放置在头皮上或直接植入大脑来捕捉。
图1 eeg信号原理
- 快速动态变化:EEG信号在几毫秒内就能反映出大脑活动的变化。
- 频率特性丰富:它包含多种频率成分,例如德尔塔波(0.5-4 Hz)、西塔波(4-8 Hz)、阿尔法波(8-13 Hz)、贝塔波(13-30 Hz)和伽马波(30 Hz以上)。
- 头皮电极分布:EEG信号通过头皮上的电极获得,电极按照国际标准进行布局。
二、EEG的应用领域
睡眠研究和失眠症的诊断
神经系统疾病的检测,如帕金森病、阿尔茨海默病等
癫痫病的诊断和治疗
情绪、注意力、如脑机接口(BCI)等
三、EEG信号分析方法
0.可视化eeg数据
图2 EEG信号可视化
横轴:时间
纵轴:通道
可视化电极的位置
图3 电极可视化
1.预处理
(1) 滤波:消除高频噪声和低频漂移
CEEMDAN算法通过自适应地估计噪声分量
具体步骤如下:
-
初始化:设置分解次数N,计算信号的均值m。
-
噪声估计:计算信号的标准差σ,并估计噪声分量为:
n = σ * randn(size(x))
3.去噪:将噪声分量从信号中减去,得到去噪后的信号:
x_d = x - n
4.去趋势化
去趋势化(Detrended Fluctuation Analysis),简称为DFA方法。对于这种方法可以简单理解为,信号本身具有内在的某种联系,而由于采集到的信号存在外部的噪声使得信号内部的联系函数之上叠加了多项式趋势信号,使得信号内部联系无法明确找到,DFA方法通过滤去序列中的各阶趋势成分,有效避免由于噪声和信号的不稳定而表现出来的伪关联的干扰。
去趋势化的原理便是通过对原数据的点状图图像减去一条拟合直线从而消去数据呈现出的趋势变化,这种方法可以呈现出数据的特征。
利用最小二乘法得到图像趋势的拟合曲线,因为是点状图所构成的,因此用相应点的纵坐标值减去所得拟合曲线对应横坐标下的纵坐标值,即为去趋势化后的图像。
Matlab中,detrend函数功能:去除多项式趋势
y = detrend(x)
y = detrend(x,n)
y = detrend(x,n,bp)
y = detrend(___,nanflag)
y = detrend(___,Name,Value)
y = detrend(x) 从 x 的数据中去除最佳直线拟合线。
如果 x 是向量,则 detrend 从 x 的元素中减去趋势。
如果 x 是矩阵,则 detrend 分别对每列进行运算,从对应的列中减去每个趋势。
t = 0:20;
x = 3*sin(t) + t;
y = detrend(x);
plot(t,x,t,y,t,x-y,':k')
legend('Input Data','Detrended Data','Trend','Location','northwest')
y = detrend(x,n) 去除 n 次多项式趋势。
例如,当 n = 0 时,detrend 从 x 中删除均值。
当 n = 1 时,detrend 去除线性趋势,这等效于上述语法。
当 n = 2 时,detrend 去除二次趋势。
(2) 降采样:减少数据量和计算量
(3) 去伪迹:消除眼动、肌电等非脑电信号的干扰(非脑源性的伪迹,可能会掩盖真实的大脑活动信号)
- 眼电伪迹(EOG):由于眼睛活动引起的,如眨眼、眼动等。
- 肌电伪迹(EMG):肌肉张力变化导致的信号,如面部肌肉活动。
- 心电伪迹(ECG):心脏电活动通过体液传播到脑电图中。
- 50/60Hz干扰:来自电网的电磁干扰。
图4 主成分去伪迹
参考资料:伪迹
https://cloud.tencent.com/developer/article/1745548