生理信号基础:ECG、EEG、EMG、PPG 的生理学原理与特征
各位同学,咱们今天聊聊生理信号。说白了,就是人体这台精密仪器对外输出的“电信号”和“光信号”。我做了十几年医疗嵌入式开发,跟这些信号打了无数交道。每次调试新板子,第一件事就是看这些波形对不对——波形对了,算法才有意义。
你想想看,心脏每跳一下、大脑每转一个念头、肌肉每动一下,都会产生微弱的电信号。我们要做的,就是用电路把这些信号抓出来,洗干净,然后让单片机读懂它们。
ECG(心电图)——心脏的“节拍器”
ECG 是我接触最多的信号。它的生理学原理其实不复杂:心脏每次搏动前,窦房结先放电,然后电信号沿着心肌传导,引起心房和心室依次收缩。这个电活动传到体表,我们用电极贴片就能测到。
ECG 的典型特征:
- P 波:心房除极,幅度约 0.1-0.3 mV
- QRS 波群:心室除极,幅度约 1-2 mV,是 ECG 里最明显的特征
- T 波:心室复极,幅度约 0.2-0.5 mV
- 心率范围:静息时 60-100 bpm
我记得刚入行时,有个项目要做便携式心电监护仪。当时我天真地以为,只要把电极贴上去,ADC 采回来就能看到漂亮的 PQRST 波形。结果呢?全是工频干扰和肌电噪声,波形根本没法看。后来才明白,ECG 的前端模拟电路才是真正的技术活——仪表放大器、右腿驱动、陷波滤波器,一个都不能少。
实战经验:ECG 的采样率一般设 250-500 Hz 就够了。我习惯用 500 Hz,这样 QRS 波的上升沿能采到 5-8 个点,做 R 波检测时精度够用。再高就是浪费算力和功耗。
EEG(脑电图)——大脑的“交响乐”
EEG 比 ECG 难搞多了。为什么?因为信号太弱了——头皮上测到的 EEG 只有 5-100 μV,比 ECG 小两个数量级。而且大脑不是单一信号源,是几十亿个神经元同步放电的叠加结果。
EEG 按频率分成几个波段,每个波段对应不同的脑状态:
| 波段 | 频率范围 | 典型幅度 | 生理状态 |
|---|---|---|---|
| δ (Delta) | 0.5-4 Hz | 20-200 μV | 深度睡眠 |
| θ (Theta) | 4-8 Hz | 10-100 μV | 困倦、冥想 |
| α (Alpha) | 8-13 Hz | 20-60 μV | 放松、闭眼 |
| β (Beta) | 13-30 Hz | 5-30 μV | 专注、警觉 |
| γ (Gamma) | 30-100 Hz | 5-20 μV | 高级认知处理 |
我曾经做过一个脑机接口项目,要在嵌入式平台上实时提取 α 波来控制轮椅。踩过的坑太多了——最头疼的是眼电伪迹。你想想看,病人眨一下眼,产生的信号比 α 波大几十倍,直接淹没了真实脑电。后来我用了自适应滤波,参考眼电通道做对消,才算把这个问题压下去。
注意:EEG 的共模干扰非常严重。电极阻抗必须控制在 5 kΩ 以下,否则信噪比会急剧恶化。我建议每次测量前都用阻抗检测电路确认一下,别偷懒。
EMG(肌电图)——肌肉的“发力信号”
EMG 是肌肉收缩时产生的电信号。它的特点是频率高、幅度大、来得快去得也快。表面 EMG 的幅度一般在 0.1-5 mV,频率范围 20-500 Hz,能量主要集中在 50-150 Hz。
EMG 的生理学原理是这样的:运动神经元发出指令,通过神经肌肉接头传到肌纤维,引起肌纤维去极化,产生动作电位。一个运动神经元支配的肌纤维群叫一个“运动单位”,我们测到的 EMG 就是多个运动单位动作电位的叠加。
做假肢控制的时候,EMG 信号处理有个关键点——特征提取。我常用的特征有:
- MAV(平均绝对值):反映肌肉发力大小
- ZC(过零率):反映肌肉疲劳程度
- RMS(均方根):与肌肉力量呈正相关
嗯,这里要注意:EMG 的基线漂移很严重。我习惯用 20 Hz 的高通滤波器把直流分量和低频漂移去掉,但也不能切太多,否则会损失低频段的肌电能量。
PPG(光电容积描记)——血流的光学“听诊器”
PPG 跟前面三种信号不太一样。它不是电信号,是光信号。原理很简单:用 LED 发光照皮肤,用光电二极管接收反射光或透射光。血液对光的吸收率随血管容积变化——心脏收缩时,血管里血多,吸收的光多,接收到的光就少;心脏舒张时反过来。
PPG 的波形特征:
- 主波(收缩峰):对应心脏收缩,幅度最大
- 重搏波:主动脉瓣关闭引起的二次小波
- 谷值:对应心脏舒张末期
我做过一个血氧仪项目,用的就是 PPG 原理。两个波长——红光(660 nm)和红外光(940 nm)——交替发光,通过计算两个波长的吸收比来推算血氧饱和度。这里有个坑:运动伪影。病人手一动,PPG 波形就乱套了。后来我加了加速度计做运动补偿,效果好了不少。
小技巧:PPG 的采样率 100 Hz 就够用,因为心率信号主要能量在 0.5-5 Hz。但如果你要做心率变异性分析,建议提到 200 Hz 以上,这样才能精确捕捉脉搏间期的微小变化。
四种信号的对比与选择
做医疗嵌入式系统,选对信号类型是第一步。我整理了一张对比表,方便你快速决策:
| 参数 | ECG | EEG | EMG | PPG |
|---|---|---|---|---|
| 信号幅度 | 0.1-2 mV | 5-100 μV | 0.1-5 mV | 0.1-1 V(光信号) |
| 频率范围 | 0.05-100 Hz | 0.5-100 Hz | 20-500 Hz | 0.5-10 Hz |
| 典型采样率 | 250-500 Hz | 200-1000 Hz | 500-2000 Hz | 100-200 Hz |
| 主要干扰 | 工频、肌电 | 眼电、肌电 | 工频、运动伪影 | 环境光、运动 |
| 传感器类型 | 湿/干电极 | 湿/干电极 | 表面/针电极 | LED+光电管 |
| 典型应用 | 心电监护、心律失常检测 | 脑机接口、睡眠监测 | 假肢控制、康复评估 | 血氧、心率、血压 |
知识体系总览
下面这张图把四种信号的生理来源、特征参数和典型应用串起来了。我建议你把它存下来,做项目选型时拿出来对照一下。