脑电的项目现在做了一些电极的重新设计,嗯,再来总结一些问题;在之前的文章里面写了不少了,但是没有现在的情况突出,首先是用了新的电极,果然不错:
微弱信号的采集,瓶颈在接口(以脑电采集 TGAM 模块为例)

安全感满满的

然后稳定的信号也不错,没有满载的情况
(另外还能看见这个眼电的干扰信号)这个blink信号,我是从来没有触发过,可能是我解码写错了吧。。。
一般来说这个眼电伪迹的幅值和波形取决于具体的眼球运动方式:上面的图是眨眼(Blink)干扰,幅值通常最高,可达 200 μV 至 1000 μV+。
在眼电通道上表现为突发的高尖单相或双相大波,主要污染前额叶(如 Fp1、Fp2 通道)的脑电信号。

啧啧

模拟一下
眨眼在时域上非常类似一个单相的正向高斯脉冲,因此可以在代码使用了
np.exp()高斯窗口来逼近真实的生理特征
在使用之前,需要使用酒精清洁脑袋,接着操作采集仪器的时候戴手套(另外还需要买一个隔离器,因为刚刚漏电把我打了一下)

image-20260713173234784

因为缺少别的固定物,可以这样摁着
首先最大的问题还是工频干扰,之前的信号问题也是,其实是在这些引脚的地方通过皮肤表面形成的电容耦合了进去,这个信号非常的大,我用示波器做了一些简单的实验。

不接地,单纯的接触皮肤
这个浮电压可以到16V,可不是把通道打满。

FFT的结果也是如何,确实是峰

在橡胶隔绝以后就真不错
这样处理以后可以避免一些接触性的干扰进来。
脑电理想情况下测的是:
如果 EEG、REF、GND 三个电极都被同样的 50 Hz 干扰抬高,这叫共模干扰。理论上差分前端可以抑制共模。
但现实中干电极很不对称:EEG 接触阻抗 ≠ REF 接触阻抗,线长不同,电极压力不同,皮肤状态不同,寄生电容不同;于是共模干扰会转成差模干扰。差模干扰才是最麻烦的,因为它会直接进入 raw 波形。
比如人体上有 1 V 的工频共模,只要 1% 不平衡转成差模:1 V × 1% = 10 mV
而 EEG 只有:10–100 µV
也就是说,1% 的不平衡就可能让工频干扰比 EEG 大 100 倍以上
其实GND这个电极就是用来给人体一个相对稳定的偏置路径,如果没有这个点,人体就像漂浮天线:人体电位随环境电场乱飘,EEG/REF ,输入共模乱飘前端容易饱和;接上稳定的 GND/RDL 后,相当于把人体共模电位“拉住一点”,工频干扰会明显下降。
对于我采集的文件:
样本数:41908 持续时间:约 81.84 s 平均采样率:约 512.07 Hz

01_raw_overview

02_quality_metrics

03_psd_comparison
这个图我要解释一下 Welch PSD 和时频图,50 Hz 及其谐波/相关高频成分非常明显;整段数据 PSD 中,最强峰之一在:
100 Hz
另外 50 Hz 在多个分段里也非常明显。比如:0~5 秒(50 Hz 是明显峰值,65~100 Hz 高频段占比约 77.7%),这不是正常 EEG 频谱。
28~30 秒,这段没有明显饱和,但高频仍然很重:65~100 Hz 占比约 73.1%。50 Hz 明显,这说明即使信号没打满,也存在较强工频/高频伪迹。
79~82 秒,严重饱和段:45~65 Hz 频带占比约 94.6%,50 Hz 峰值极大;这基本可以判断为强工频干扰/饱和主导。

04_spectrogram

05_algo_events

06_eeg_power_int
新电极能工作,脑电模块已经能持续输出 512 Hz raw;整段数据仍然存在明显工频、接触伪迹和饱和。 4. 最后 79~82 秒基本失效,raw 大量打满 ±2048;接着实验
和上一组相比,质量大幅改善,对比:
指标 | 上一组 162121 | 当前组 164402 | 变化 |
|---|---|---|---|
持续时间 | 81.85 s | 141.94 s | 更长 |
raw std | 695.1 | 296.5 | 明显下降 |
raw RMS | 696.6 | 302.9 | 明显下降 |
` | raw | >= 1000` | 13.53% |
` | raw | >= 1800` | 5.25% |
` | raw | >= 2000` | 4.35% |
PoorSignal = 0 | 9.76% | 81.69% | 大幅提升 |
PoorSignal >= 51 | 17.07% | 1.41% | 大幅下降 |

01_raw_overview

02_quality_metrics

03_raw_segments

04_psd_comparison
PSD 频谱里,最强峰仍然是:100 Hz
当前整段最强峰:100 Hz 峰值最大,其次是 2~8 Hz 附近的低频成分,50 Hz 也存在,但没有 100 Hz :60/120 Hz 反而较弱
当前整段 1~150 Hz 总功率中:
频带 | 占比 |
|---|---|
45~55 Hz | 2.25% |
55~65 Hz | 1.30% |
95~105 Hz | 15.89% |
115~125 Hz | 0.30% |

05_spectrogram
频率成分随时间变化,“工频干扰不是全程稳定一致,而是随接触状态变化”。

06_algo_events
这一组 ALGO 共 142 条,大约每秒一条;PoorSignal 分布:
PoorSignal | 次数 | 占比 | 解释 |
|---|---|---|---|
0 | 116 | 81.69% | 好 |
25 | 4 | 2.82% | 过平坦/接触异常倾向 |
26 | 20 | 14.08% | 噪声/运动/过量伪迹 |
51 | 2 | 1.41% | 25+26,明显异常 |
好得非常明显

07_eeg_power_int

08_filtered_good_window
还使用相对较好的时间窗口进行滤波后观察,这个原始数据还是可以做不少文章的

09_previous_current_compare
另外也可以对工频噪声做处理:


陷波对 50 Hz / 100 Hz 分量的抑制效果
更多内容放在下个文章,但是有点很重要,需要清洁,去去角质层,稳定的接触不晃动,以及GND这个共模位置一定要好好处理。