论文阅读和复现:去除PPG运动伪影的IEEE论文

论文探讨了如何在存在运动伪影的情况下提高手腕式PPG信号的心率监测准确性。通过VolterraRLS非线性滤波算法和信号分解技术,结合加速度传感器的数据,有效地去除噪声。算法首先使用带通滤波处理原始数据,接着应用VolterraRLS算法,利用加速度信号作为参考,进一步处理PPG信号。如果结果不满足要求,会使用信号分解方法如SSA或EMD进行补充。最后,采用谱峰追踪算法确定心率值,解决运动伪影可能导致的错误峰值问题。
该文章已生成可运行项目,

论文阅读和代码复现:
《Combining Nonlinear Adaptive Filtering and Signal Decomposition for Motion Artifact Removal in Wearable Photoplethysmography》

基本介绍:

由于手腕运动造成的噪声:运动伪影,使得PPG方法的心率监测不准,去除运动伪影噪声在智能手表中是一个难点。

论文中使用的开源数据:PPG database used in 2015 IEEE Signal Processing Cup[1]

[1]Pace and Bricout, “Low Heart Rate Response of Children with Autism Spectrum Disorders in Comparison to Controls during Physical Exercise,” Physiology & Behavior, vol.141, pp.63-68, 2015.

目前已经有的研究:

  • 使用独立成分分析ICA

ICA有一个关键的统计独立或不相关假设[11]。因此,在许多实际场景中,将MA与PPG信号分离的结果并不令人满意。

[11]J. Yao and S. Warren, “A short study to assess the potential of independent component analysis for motion artifact separation in wearable pulse oximeter signals,” in Proc. 27th Annual Conf IEEE Engg. Medicine and Biology, pp. 3585-3588, 2005.

  • 使用自适应滤波

通过适当设计参考信号,在某些情况下可以达到令人满意的效果。然而,一个设计不好的参考信号会导致较差的MA去除性能。此外,原始PPG信号中的MA与参考信号之间的关系可能不是线性相关的,而是非线性相关的,当选择同步加速度信号作为参考信号时。

[12] Comtois Gary, Yitzhak Mendelson, and Piyush Ramuka, “A Comparative Evaluation of Adaptive Noise Cancellation Algorithms for Minimizing Motion Artifacts in a Forehead-Mounted Wearable Pulse Oximeter,” 29th Annual International Conference of the IEEE Engineering in Medicine and Biology Society, pp.1528-1531, 2007.
[13] A. B. Barreto, L. M. Vicente, and I. K. Persad, “Adaptive Cancellation of Motion Artifact in Photoplethysmographic Blood Volume Pulse Measurements for Exercise Evaluation,” Engineering in Medicine and Biology Society, IEEE 17th Annual Conference, vol.2, pp.983-984. 1995.
[14] Ram, M. Raghu, et al. “A novel approach for motion artifact reduction in PPG signals based on AS-LMS adaptive filter.” IEEE Transactions on Instrumentation and Measurement, pp. 1445-1457, 2012.
[15] Hyonyoung Han and Jung Kim, “Artifacts in wearable photoplethysmographs during daily life motions and their reduction with least meansquare based active noise cancellation method,” Computers in Biology and Medicine 42, pp. 387-393, 2012.
[16] Asada, H. Harry, Hong-Hui Jiang, and Peter Gibbs, “Active noise cancellation using MEMS accelerometers for motion-tolerant wearable bio-sensors,” Engineering in Medicine and Biology Society, 2004. IEMBS’04. 26th Annual International Conference of the IEEE. vol. 1, 2004.

  • 使用信号分解

信号分解[17],[18]最近被证明是一种有效的去除MA的方法。例如,在[17]中,作者使用奇异谱分析(SSA)将原始PPG分解为多个分量,然后使用同步加速度信号的信息来识别与MA相关的分量。去除这些分量后,利用剩余分量重构PPG信号,得到更清晰的PPG信号。同样,在[18]中,使用经验模态分解(EMD)将一个原始PPG信号分解为许多分量,并使用同步加速度信号的频谱进行频谱减法去除与MA相关的分量。然而,信号分解通常具有较大的计算量,这可能会阻碍其在低功耗可穿戴设备中的应用。

[17] Z. Zhang, Z. Pi, and B. Liu, “TROIKA: A general framework for heart rate monitoring using wrist-type photoplethysmographic signals during intensive physical exercise,” IEEE Transactions on Biomedical Engineering, vol. 62, no. 2, pp. 522-531, 2015.

[18] Y. Zhang, B. Liu, Z. Zhang, “Combining Ensemble Empirical Mode Decomposition with Spectrum Subtraction Technique for Heart Rate Monitoring Using Wrist-Type Photoplethysmography,” Biomedical Signal Processing and Control, vol. 21, pp. 119-125, 2015.

论文的算法方案

本文章已经生成可运行项目
### 使用加速度计减少或消除PPG信号中的运动 在生物医学工程领域,光体积描记法(Photoplethysmography, PPG)是一种用于监测血液容积变化的技术。然而,在实际应用中,由于受试者的身体活动引起的运动会显著PPG信号的质量。 为了改善这一情况,可以通过集成三轴加速度计来检测补偿由运动引起的变化[^2]。具体方法如下: #### 数据采集阶段 首先同步记录来自PPG传感器以及加速度计的时间序列数据。这一步骤至关重要,因为只有当两种类型的测量值在同一时间点上匹配良好时才能有效地去除噪声成分。 #### 运动识别与分类 利用加速度计提供的三维坐标系下的线性加速度信息,可以构建算法模型来进行不同类型的身体动作模式识别。例如行走、跑步或者其他日常活动中产生的周期性非周期性的振动特征都可以被捕捉到并加以区分。 对于已知的动作类别,还可以进一步分析其对应的频谱分布特点,从而为后续处理提供依据。 #### 自适应滤波器设计 针对每一种可能发生的运动状态设定相应的自适应数字滤波方案。这类滤波器能够动态调整参数以最佳方式抑制干扰源而不损害目标生理信号本身的特性。常见的实现手段包括但不限于卡尔曼滤波(Kalman Filter),最小均方误差(LMS)算法等。 ```python import numpy as np from scipy.signal import butter, lfilter def adaptive_filter(ppg_signal, acc_data): """ Apply an adaptive filter using acceleration data to reduce motion artifacts. Parameters: ppg_signal (array): The raw PPG signal array. acc_data (array): Acceleration data corresponding to each point of the PPG signal. Returns: filtered_ppg (array): Cleaned PPG signal after applying the adaptive filter. """ # Design a low-pass Butterworth filter for initial smoothing b, a = butter(3, 0.1, 'low') smoothed_acc = lfilter(b, a, acc_data) # Implement your chosen adaptive filtering technique here... # For simplicity, we'll just subtract scaled version of accelration from PPG scaling_factor = calculate_scaling_factor(smoothed_acc) corrected_ppg = ppg_signal - scaling_factor * smoothed_acc return corrected_ppg def calculate_scaling_factor(acc): """Calculate appropriate scale factor based on characteristics of acceleration.""" pass # Placeholder function; implement according to specific requirements ``` 通过上述流程,可以在很大程度上去除掉因肢体晃动等因素造成的虚假波动,使得最终获得的PPG曲线更加平滑稳定,进而提高诊断准确性。
评论 11
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

KPer_Yang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值