ECG信号处理:基线漂移去噪与实现方法(高通滤波)
ECG信号处理:基线漂移去噪与实现方法(高通滤波)
本文是一篇关于ECG信号处理中基线漂移去噪技术的详细教程。文章从基线漂移的产生原理和特点出发,介绍了两种实验范式(纯净信号加噪和真实带噪信号)及其优缺点,重点讲解了高通滤波器的去噪原理和实现过程,并通过MATLAB代码和实际案例进行了演示。文章内容专业性强,结构清晰,图文并茂,具有较高的实用价值。
一、基线漂移的产生与特点
基线漂移是指心电信号的一个重要特征,频率范围低,一般在0.05Hz至几Hz。其是在心电信号从导联输入到接收端的过程中,由于各种原因引起的心电信号在传输过程中发生的变化,使得心电波形失真,最终导致心电波形失真,这一变化就称为基线漂移,如图1所示。
图1 带有基线漂移的信号
1. 基线漂移的产生原理
- 肢体运动:当患者在心电图记录过程中发生肢体运动时,电极与皮肤之间的接触电阻会发生变化,导致电极电位的波动。这种波动通常表现为低频信号,从而引起基线漂移。
- 呼吸运动:呼吸过程中胸腔的扩张和收缩会引起体表电位的微小变化。由于呼吸频率通常在 0.15~0.33 Hz 之间,这种变化也会以低频的形式出现在心电图信号中,导致基线漂移。
- 电极接触不良:电极与皮肤接触不良或电极本身的质量问题也会导致电极电位的不稳定,进而引起基线漂移。
2. 基线漂移的信号特点与特征
- 低频特性:基线漂移主要表现为 0.05~1 Hz 的低频波动,与心电信号的高频特征(如 PQRST 波)形成鲜明对比。
- 缓慢变化:基线漂移的变化速度相对较慢,通常在数秒到数分钟内完成一个周期的变化。
- 幅度变化:基线漂移的幅度通常较小,但足以掩盖心电信号的某些特征波,影响心电图的准确分析和诊断。
- 非线性特性:基线漂移的产生原因复杂多样,其变化过程具有一定的非线性特性,这增加了去除基线漂移的难度。
二、实验范式设计
1. ECGSYN,一个纯净心电信号生成器
ECGSYN 是一个用于生成合成心电图(ECG)信号的 MATLAB 函数。它通过模拟心电图信号的动态系统来生成具有真实特征的合成 ECG 信号。
参考资料:ECGSYN - A realistic ECG waveform generator v1.0.0
图2 ECGSYN 下载官网
1.1 功能与特点
- 生成合成 ECG 信号:ECGSYN 可以生成具有真实心电图特征的合成信号,包括 P 波、Q 波、R 波、S 波和 T 波等。
- 参数可调:用户可以通过调整输入参数来模拟不同的生理状态和心电图特征,如心率、噪声水平、心率变异性等。
- 标记波峰位置:除了生成 ECG 信号外,ECGSYN 还能标记出信号中 PQRST 波峰的位置,方便后续的信号分析和处理。
- 适用于多种应用:生成的合成 ECG 信号可用于测试心电图信号处理算法、训练机器学习模型、模拟心电图信号等。
1.2 输入参数
- sfecg:心电图采样频率(单位:Hz),决定了信号的时间分辨率。
- N:大约的心跳次数,表示生成信号中包含的心跳数量。
- Anoise:添加的噪声幅度(单位:mV),用于模拟测量噪声对信号的影响。
- hrmean:平均心率(单位:次/分钟),表示心电图信号的平均心跳频率。
- hrstd:心率的标准差(单位:次/分钟),表示心率的变异性。
- lfhfratio:低频/高频比率,用于模拟心率变异性中的低频和高频成分的比例。
- sfint:内部采样频率(单位:Hz),必须是 sfecg 的整数倍,用于内部信号处理。
- ti:极值角度(单位:弧度),表示 PQRST 波峰的相位位置。
- ai:极值的 z 位置,表示 PQRST 波峰的幅度。
- bi:高斯宽度,表示 PQRST 波峰的宽度。
1.3 输出参数
- s:生成的合成 ECG 信号(单位:mV)。
- ipeaks:标记 PQRST 波峰位置的向量,其中 P 波为 1,Q 波为 2,R 波为 3,S 波为 4,T 波为 5,其他位置为 0。
图3 生成的纯净的ECG信号
评价心电信号去噪效果的好坏,通常有两种不同的方式:仿真加噪声和真实带噪信号去噪。每种方法各有优缺点,适用于不同的评估场景。
2. 纯净信号加噪后去噪
2.1 实验过程
- 原始纯净信号:从真实的心电信号数据中获取纯净的信号(没有任何噪声)。
- 加噪声:将各种类型的噪声(如工频干扰、肌电干扰、基线漂移等)按照一定的强度和频率范围加到纯净信号中,形成带噪信号。这个过程通常在仿真环境中进行,可以控制噪声的类型和强度。
- 去噪处理:使用去噪算法处理带噪信号,得到去噪后的信号。
2.2 实验范式的优缺点
(1)优点:
已知的“真实信号”:由于使用的是原始纯净信号,原始信号和去噪后的信号之间的差异是可以明确计算的。这使得去噪效果的评价比较直观和清晰。
控制噪声类型和强度:可以精确控制加入的噪声类型、频率、强度等,这有助于针对不同噪声环境下的算法表现进行评估。
(2)缺点:
噪声模拟可能与真实噪声不同:人工加噪的过程可能无法完全模拟真实世界中的噪声情况。特别是在临床环境中,噪声可能是复杂且动态变化的,因此基于仿真加噪声的评估结果可能与实际情况有所差距。
对真实应用场景的代表性差:虽然可以模拟不同类型的噪声,但这些模拟的噪声可能无法全面反映真实环境中出现的各种复杂情况,特别是患者的生理状态、环境变化等因素。
3. 真实带噪信号去噪
3.1 实验过程
- 真实带噪信号:使用真实采集的带有噪声的心电信号数据(例如在临床或实验环境中直接采集的数据),这些数据中包含了多种真实的噪声源,如肌电干扰、呼吸、工频干扰等。
- 去噪处理:应用去噪算法处理这些实际采集的带噪信号,得到去噪后的信号。
3.2 实验范式的优缺点
(1)优点:
真实数据更具代表性:使用真实带噪信号可以更准确地反映去噪算法在实际应用中的表现,能够真实地评价算法的有效性。
综合评估效果:能够综合考虑各种实际噪声的影响,不仅仅局限于单一噪声源,算法能够处理真实世界中复杂的噪声环境。
单独的信噪比值可以反映出滤波后信号的整体情况。
(2)缺点:
参考标准难以获得:对于真实带噪信号,通常没有理想的“纯净信号”作为参考。这使得定量评估变得更加困难。
评估更加复杂:由于噪声种类繁多、强度不一,评价去噪效果时,难以直接得出准确的数值结论,通常依赖主观评估和定性分析。
4. 不同实验范式的比较与选择
- 仿真加噪声后去噪:适用于对去噪算法的基本效果进行初步评估,尤其是在算法开发阶段。它能够提供较为精准的量化评价,帮助调优算法。仿真加噪声通常用于测试算法的基本能力,验证其在已知噪声情况下的性能。
- 直接对带噪信号去噪:更能真实反映去噪算法在实际应用中的表现,尤其是在复杂和动态的噪声环境中。这种方法能够验证算法在临床或实际环境中的实际应用效果,评估算法的鲁棒性和通用性。
5. 去噪效果评价指标
- SNR(Signal-to-Noise Ratio)
信噪比是衡量信号质量的常用指标,它表示信号的强度与噪声的强度之比。在去噪后,信号的信噪比越高,说明去噪效果越好。 - MSE(Mean Squared Error)
均方误差是衡量信号重建误差的指标,它表示原始信号与去噪后信号之间的平均平方误差。MSE 越小,说明去噪效果越好。 - RMSE(Root Mean Squared Error)
根均方误差是均方误差的平方根,它与均方误差类似,也是衡量信号重建误差的指标。RMSE 越小,说明去噪效果越好。 - Peak-to-Peak Amplitude
峰-峰值是衡量信号幅度变化的指标,它表示去噪后信号的最大值与最小值之差。在去噪过程中,应避免信号的过度衰减,保持信号的幅度特征。
三、去噪算法实现
下列去噪算法的相关原理,网上资料很多,在此处不在赘述。我们重点关注去噪算法的实现。
1. 高通滤波器
低频特性:基线漂移主要表现为 0.05~1 Hz 的低频波动。高通滤波器可以有效地阻断低于其截止频率的低频成分,从而去除基线漂移。通常,高通滤波器的截止频率设置在 0.5 Hz 到 1 Hz 之间,以确保心电信号的高频特征波(如 PQRST 波)不受影响。
缓慢变化:由于基线漂移的变化速度相对较慢,高通滤波器能够将这种缓慢变化的低频成分滤除,保留心电信号的快速变化特征。
幅度变化:虽然基线漂移的幅度较小,但高通滤波器能够有效地去除这种幅度变化,避免其掩盖心电信号的特征波,提高心电图的准确分析和诊断能力。
适用场景:适用于基线漂移频率较低且与心电信号特征波频率有明显区别的场景。
图4 高通滤波器-幅频特性曲线
1.1 实现过程1:纯净心电信号的加低频噪声,再高通滤波器去噪
使用 ecgsyn 函数,输入相关参数(如采样频率、心跳次数、噪声幅度等),生成具有真实心电图特征的合成信号。
图5 生成的纯净的ECG信号(ECGSYN)
根据基线漂移的低频特性,使用 sin 函数生成一个频率为0.1Hz的低频正弦波作为基线漂移信号,其频率设置在基线漂移的典型频率范围内(0.05~1 Hz)。
图6 添加0.1 Hz低频正弦波后的ECG信号(ECGSYN)
使用 butter 函数设计一个二阶高通滤波器,截止频率设置为 0.5 Hz,表示滤波器将阻断低于 0.5 Hz 的低频成分,而保留高于 0.5 Hz 的高频成分。
图7 高通滤波后的信号(ECGSYN)
分析:在红框中的信号波形中,可以清楚地看到去噪效果,特征波的幅度恢复到接近原始信号的状态,基线漂移噪声被有效去除,验证了算法的有效性。
1.2 实现过程2:原始心电信号高通滤波器去噪
选择MIT-BIH心律失常数据库,第100号记录的数据,进行高通滤波去噪算法验证。
图8:原始后的信号(MIT-BIH-100号记录)
图9:高通滤波后的信号(MIT-BIH-100号记录)
可以看到,MIT-BIH的100号记录中,有明显的基线漂移,经过上述的高通滤波后,基线漂移噪声被有效去除,验证了算法的有效性。
Tips:下一讲,我们将继续探讨,关于基线漂移去噪与实现的其他方法。
以上就是基线漂移去噪与实现方法(高通滤波去除基线漂移)的全部内容啦~ 我们下期再见,拜拜(⭐v⭐) ~