生物信号基础:ECG/EEG/EMG信号特征、频率范围、幅值范围、噪声来源与典型应用场景

在进入CMSIS-DSP算法设计与优化之前,我们必须先建立对生物信号本身的“物理直觉”。ECG(心电图)、EEG(脑电图)、EMG(肌电图)是嵌入式生物信号处理中最常遇到的三种电生理信号。它们都源自细胞膜的离子流动,但幅度、频率、电极阻抗和噪声模型截然不同。本章将系统梳理三类信号的本质特征、频谱边界、幅值动态范围、主要干扰源及典型应用场景,为后续章节中的滤波器设计、特征提取和实时处理提供量化依据。

ECG / EEG / EMG 信号特征与处理链路总览 ECG 心电信号 • 幅值:0.5~4 mV • 带宽:0.05~100 Hz • 主要噪声:工频、肌电、基线漂移 • 典型应用:心率监测、心律失常 EEG 脑电信号 • 幅值:5~300 μV • 带宽:0.5~50 Hz(主要) • 主要噪声:眼电、工频、电极漂移 • 典型应用:睡眠分期、BCI EMG 肌电信号 • 幅值:0.1~5 mV • 带宽:5~500 Hz • 主要噪声:运动伪迹、工频 • 典型应用:假肢控制、疲劳评估 信号调理链路:仪表放大 → 高通/低通滤波 → 工频陷波 → ADC采样 关键参数:增益、输入阻抗、共模抑制比(CMRR)、采样率 CMSIS-DSP 处理:滤波、去噪、特征提取、分类 基于ARM Cortex-M内核的实时实现

上图展示了三类生物信号从电极拾取到CMSIS-DSP处理的完整链路。可以看到,ECG、EEG、EMG虽然都经过类似的模拟前端调理,但它们的幅值范围、频率分布和噪声特性差异巨大,这直接决定了ADC位数、采样率、滤波器阶数和算法复杂度的选择。下面我们逐一深入分析。

2.1 ECG心电信号:低频高阻抗源

核心原理与信号特征

ECG记录的是心肌细胞去极化和复极化的综合电位变化。在体表测量时,单个心搏周期包含P波、QRS波群和T波。QRS波群是能量最集中的部分,其上升沿时间约为10~20 ms,对应频谱能量集中在10~30 Hz。P波和T波则属于低频成分,主要分布在0.5~5 Hz。整体ECG信号的有效带宽为0.05~100 Hz,但临床诊断通常关注0.5~40 Hz。

幅值方面,标准12导联ECG的R波峰值通常在0.5~2.5 mV,病理状态下可能低至0.3 mV或高达4 mV。由于皮肤电极接触阻抗可达数十千欧,且人体本身是容积导体,ECG源阻抗较高,因此前置放大器必须具有高输入阻抗(>10 MΩ)和高共模抑制比(>90 dB)。

噪声来源与量化分析

噪声类型频率范围幅值特征对ECG的影响
工频干扰(50/60 Hz)50/60 Hz ± 0.5 Hz可达R波幅值的50%叠加在ST段,影响诊断
肌电干扰(EMG)20~500 Hz随机高频毛刺模糊QRS边界
基线漂移0.05~0.5 Hz缓慢波动,可达1 mV影响ST段判断
电极运动伪迹0.1~10 Hz瞬态大幅值误检为异位搏动

典型应用场景与CMSIS-DSP切入点

在可穿戴心电贴片和动态心电记录仪中,CMSIS-DSP常用于实现以下功能:

  • QRS检测:使用带通滤波(5~20 Hz)结合差分阈值法,在Cortex-M4上可达到毫秒级实时检测。
  • 基线漂移抑制:采用零相位高通滤波(截止频率0.5 Hz)或中值滤波,避免ST段失真。
  • 工频陷波:使用IIR双二阶陷波器(Q=30),在50 Hz处衰减40 dB以上。
经验提醒:ECG处理中,QRS检测的实时性比绝对精度更重要。在资源受限的MCU上,优先使用整数运算的定点滤波器,避免浮点开销。CMSIS-DSP提供的arm_biquad_cascade_df1_f32函数可直接用于工频陷波,但需注意Q值过高会导致瞬态振铃。

2.2 EEG脑电信号:微伏级低频信号

核心原理与频段划分

EEG记录的是大脑皮层锥体细胞突触后电位的总和。由于颅骨和头皮的衰减作用,到达头皮表面的信号极其微弱,典型幅值仅为5~300 μV。EEG按频率分为五个经典频段:Delta(0.5~4 Hz,深睡眠)、Theta(4~8 Hz,困倦)、Alpha(8~13 Hz,放松闭眼)、Beta(13~30 Hz,警觉)、Gamma(30~50 Hz,认知加工)。

值得注意的是,EEG信号在50 Hz以上能量急剧衰减,因此大多数临床EEG设备采样率设置为250~500 Hz即可满足奈奎斯特条件。但对于事件相关电位(ERP)研究,需要捕捉P300等成分的精确潜伏期,采样率可能需要提高到1000 Hz。

噪声挑战与伪迹剔除

EEG是三类信号中最容易受噪声污染的信号,主要干扰源包括:

  1. 眼电伪迹(EOG):眨眼产生0.5~5 Hz的大幅值信号(可达500 μV),是低频段最主要的干扰。
  2. 工频干扰:由于EEG幅值极小,50 Hz工频即使经过良好接地仍可能达到10~20 μV,信噪比极低。
  3. 电极接触噪声:电极与头皮之间的阻抗不稳定,导致基线漂移和尖峰噪声。

在CMSIS-DSP中处理EEG时,通常采用自适应滤波或盲源分离(如ICA),但ICA在MCU上计算量过大。工程上更实用的方案是:使用arm_lms_f32实现自适应噪声对消,以眼电通道作为参考输入,从EEG通道中实时减去相关成分。

应用场景与算法选型

应用场景采样率关键频段CMSIS-DSP推荐算法
睡眠分期200~500 HzDelta/Theta/AlphaFFT功率谱密度估计
脑机接口(BCI)250~1000 HzMu/Beta节律带通滤波+共空间模式
癫痫监测500~2000 Hz高频振荡(80~500 Hz)小波变换(arm_dwt)
注意力检测128~256 HzTheta/Beta比值Goertzel算法
风险提示:EEG信号极易受到电源地环路影响。在嵌入式系统设计中,模拟地与数字地必须单点连接,ADC采样建议使用差分输入模式。若使用CMSIS-DSP的FFT进行频谱分析,建议先对原始信号做50 Hz陷波,否则频谱泄漏会掩盖Alpha频段的真实能量。

2.3 EMG肌电信号:宽频高动态范围信号

核心原理与幅值特征

EMG记录的是骨骼肌纤维动作电位的叠加。与ECG和EEG不同,EMG信号呈现明显的“干涉模式”——多个运动单元的动作电位在时间和空间上随机叠加,形成类似噪声的波形。表面EMG的幅值范围在0.1~5 mV(峰值),均方根值(RMS)通常在0.1~1.5 mV之间。

EMG的频谱范围较宽,主要能量集中在20~150 Hz,但有效成分可延伸至500 Hz。对于假肢控制等应用,通常需要保留到200 Hz即可;而对于神经肌肉疾病诊断,则需要完整保留到500 Hz,因此采样率至少为1000 Hz。

噪声来源的特殊性

EMG的噪声问题与ECG/EEG有显著不同:

  • 运动伪迹:电极与皮肤之间的相对位移会产生0~20 Hz的大幅值干扰,其幅值可能超过真实EMG信号。
  • 心电串扰:当测量躯干肌肉(如胸大肌、腹肌)时,ECG信号会叠加在EMG上,形成周期性干扰。
  • 线缆运动噪声:由于EMG幅值较小,电极线缆的弯曲和振动会产生摩擦电噪声。

工程处理策略与案例拆解

以一个前臂假肢控制项目为例,我们使用两通道表面EMG传感器(采样率1000 Hz,12位ADC)识别握拳和伸掌动作。初始现象是分类准确率仅72%,主要原因是运动伪迹和工频干扰导致特征不稳定。

分析过程:首先对原始信号做频谱分析,发现20 Hz以下能量异常偏高,且50 Hz处有明显尖峰。进一步检查发现,电极线缆未使用屏蔽线,且模拟前端缺少高通滤波。

解决方案:

  1. 在模拟前端增加一阶高通滤波器(截止频率20 Hz),消除运动伪迹。
  2. 使用CMSIS-DSP的arm_biquad_cascade_df1_f32实现50 Hz陷波器(Q=20)。
  3. 提取时域特征:RMS、平均绝对值(MAV)、过零率(ZC),并使用arm_mean_f32和arm_rms_f32高效计算。

结果对比:处理后分类准确率提升至91%,但代价是信号延迟增加了约15 ms(滤波器群延迟)。对于假肢控制,这个延迟仍在可接受范围内(通常要求<100 ms)。

复盘经验:EMG处理中,滤波器的群延迟往往被忽视。对于实时控制类应用,应优先选择线性相位FIR滤波器(如arm_fir_f32),虽然计算量稍大,但可避免IIR滤波器带来的相位失真。若必须使用IIR,建议采用零相位滤波(前向-反向滤波),但会增加一倍延迟。

2.4 三类信号的对比与工程选型要点

参数维度ECGEEGEMG
典型幅值范围0.5~4 mV5~300 μV0.1~5 mV
主要频带0.05~100 Hz0.5~50 Hz5~500 Hz
ADC位数建议16~24 bit24 bit12~16 bit
采样率建议250~500 Hz250~1000 Hz1000~2000 Hz
输入阻抗要求>10 MΩ>100 MΩ>1 MΩ
主要噪声源工频、基线漂移眼电、工频运动伪迹、心电串扰
CMSIS-DSP核心函数IIR陷波、QRS检测FFT、LMS自适应FIR带通、RMS计算

常见误区与设计建议

误区一:认为采样率越高越好。实际上,过高的采样率会增加MCU功耗和存储压力,且对高频噪声更敏感。应根据信号最高频率成分的2~4倍选择采样率,而非盲目追求高采样率。
误区二:忽略ADC的有效位数(ENOB)。一个标称16位的ADC在1000 Hz采样率下可能只有12位有效精度,这在高增益EEG放大器中会导致量化噪声淹没微弱信号。
误区三:在MCU上直接使用浮点FFT处理长序列。对于1024点FFT,浮点运算在Cortex-M4上需要约2 ms,而定点FFT(arm_cfft_q15)只需0.5 ms,且精度足够。

在实际嵌入式系统设计中,建议遵循以下流程:首先根据信号特征确定模拟前端增益和滤波方案,然后选择合适的ADC位数和采样率,最后在CMSIS-DSP框架下实现数字滤波和特征提取。对于多通道系统(如32导EEG),还需考虑DMA传输和乒乓缓冲,避免数据丢失。