基于光电检测的运动血氧饱和度(血氧)检测仪其性能在很大程度上受到光电容积脉搏波(PPG)信号中运动噪声的影响。本文提出一个针对运动血氧检测的算法,该算法通过完全自适应噪声集合经验模态分解联合多尺度排列熵构造运动噪声参考信号,并结合凸组合最小均方自适应滤波器消除PPG信号中的运动噪声,以计算动态血氧。测试结果表明,在模拟步行、慢跑状态下,本算法计算的血氧值与参考血氧值的平均绝对误差分别为0.05和0.07,平均绝对百分比误差分别为0.05%和0.07%,总体皮尔逊相关系数达到0.971 2。实验结果证实,本文研究算法有效地降低了PPG信号中的运动伪影,有望应用于便携光电式脉搏血氧仪,以提高动态血氧测量的准确性。
引用本文: 张林嘉, 余小敏, 林健, 仇承恩, 王铮先. 基于运动噪声构造结合凸组合最小均方自适应滤波算法检测动态血氧饱和度的研究. 生物医学工程学杂志, 2024, 41(4): 818-825. doi: 10.7507/1001-5515.202310053 复制
0 引言
经皮动脉血氧饱和度(简称:血氧)是反映人体血液携带和输送氧气能力的参数[1],是临床医学中监测人体生理状态的重要指标[2]。虽然基于光电容积脉搏波 (photoplethysmographic,PPG)的便携式血氧检测设备在静止状态下能准确测量血氧[3],但在运动状态下,这类设备往往受到工频干扰、环境噪声和运动伪影等多种噪声的影响,干扰信号特征的提取和血氧的准确测量[4-7]。目前,虽然带通滤波技术可用于消除工频干扰,系统硬件设计的优化也有助于降低环境光噪声的影响,但消除运动伪影仍然较为困难。因此,为了提升运动血氧测量的准确性,消除PPG信号中的运动伪影显得尤为关键。
如何有效消除PPG信号中的运动伪影一直是国内外学者关注的研究热点,相关领域已有多种去噪算法被提出,包括独立成分分析、小波变换、经验模态分解(empirical mode decomposition,EMD)、自适应滤波等[8-12]。Kim等[8]将PPG信号与运动伪影作为相互独立的成分,利用独立成分分析设计滤波器参数。然而,由于实际运动过程的复杂性,运动伪影与PPG信号之间存在一定相关性,这与独立成分分析的基本假设相矛盾。Wang等[9]利用双通道采样PPG信号,通过小波软阈值的方法重构系数,但这需要精心选择小波基,并且当PPG信号中的有用成分频率与运动伪影频率发生频谱混叠时,分解效果不佳。自适应滤波器能有效解决频谱混叠问题[13],因此在PPG信号去噪中得到广泛应用[14]。Ram等[15]使用自适应滤波器去除运动伪影,对比构造参考噪声方法与自适应滤波器的滤波效果,实验证明参考噪声信号的选取对去噪效果至关重要。Gibbs等[16]通过压缩三轴加速度器采集的噪声生成参考噪声信号,但在压缩过程中会丢失信息,并增加了硬件成本。Ram等[17]用快速傅里叶变换分解PPG信号以重构参考噪声信号,从而减少硬件成本,但重构的参考噪声信号可能无法逼近与PPG信号频率相近的运动伪影。Reddy等[18]提出利用奇异值分解PPG信号,但这种算法对于那些被运动伪影淹没的PPG信号效果欠佳。与奇异值分解和快速傅里叶变换等线性方法相比,EMD更适合于分解非线性和非平稳的信号,因此在PPG信号分析中更为适用。Sun等[11]采用 EMD来减少伪影,并在处理所有本征模态分量(intrinsic mode functions,IMF)时采用软阈值方法,而不仅仅是提取正确的PPG信号。然而,当IMF系数绝对值大于阈值时,总会产生一个恒定的偏差,这严重影响了构造信号与真实信号的接近程度,且EMD在处理过程中容易出现模态混叠和末端效应。Roy等[12]使用集合EMD(ensemble EMD,EEMD)结合人工神经网络模型对PPG信号进行预处理。EEMD有效解决了EMD中的模态混叠问题,但同时存在残余辅助噪声,以及迭代运行次数多、计算效率低的问题。
出于自适应滤波对参考噪声信号高质量的要求,以及上述提到的去噪算法存在的局限性,本研究提出了一种基于完全自适应噪声EEMD(complete EEMD with adaptive noise,CEEMDAN)—多尺度排列熵(multi-scale permutation entropy,MPE)的方法(CEEMDAN-MPE)构造运动噪声,并结合凸组合最小均方(convex combination least mean square,CLMS)自适应滤波技术消除PPG信号中的运动噪声。该方法通过PPG信号自身构造运动噪声,不需额外的硬件加速度传感器,旨在降低系统硬件成本的同时,去除运动伪影。本文还将利用自行研制的光电式系统采集PPG数据,并通过所提算法处理计算得到血氧值,这些值将与参考血氧值对比,以验证本文方法的有效性和准确性,以期为便携光电式脉搏血氧仪准确测量动态血氧提供有效的方法。
1 原理
1.1 运动噪声构造
1.1.1 CEEMDAN分解PPG信号
本文采用CEEMDAN分解方法,将一对互为正负的白噪声作为辅助噪声,加入到预处理后的PPG信号中进行迭代分解,直到获得的残差信号的极值点个数减小到两个以下,不能继续分解为止[19-21]。信号被分解成多个IMF分量和一个残余分量,分解公式如式(1)~式(3)所示:
![]() |
![]() |
![]() |
其中,n为采样点数,k为添加的白噪声的个数,m为分解次数;Fj,j∈[1,m],代表信号分解得到的第j阶IMF分量;fl(∙),l∈[1,m − 1],代表EMD分解后取第l阶IMF;μj,j∈[1,m],代表信号在第j次分解时添加的白噪声的幅值;wi(n)是辅助白噪声;d(n) 为预处理后的PPG信号;rj(n),j∈[1,m],是信号经过j次分解后的残余分量。
1.1.2 MPE值计算
MPE方法可以有效计算不同时间尺度上信号的复杂度,并具有优秀的抗干扰和抗噪声能力[22],特别适用于受运动干扰的PPG信号的运动噪声参考信号重构。MPE值越小,表示时间序列越规则,越接近 PPG 信号的有用成分;相反,MPE值越大,时间序列越复杂,越接近运动噪声成分[23]。使用 MPE 方法构造噪声参考信号的步骤如下:
(1)对PPG信号进行CEEMDAN分解,得到多个IMF分量,并计算每个IMF分量的MPE值。
(2)以指夹式血氧仪测量的心率作为参考,从频谱图中识别包含明显运动噪声成分的IMF分量相对应的MPE值,并通过大量实验确定噪声信号对应的 MPE阈值区间。
(3)将MPE阈值区间所对应的 IMF 分量相加,生成噪声参考信号。
1.2 CLMS自适应滤波
为了消除PPG信号中的运动噪声影响,将构造的运动噪声参考信号与预处理后的PPG信号输入到CLMS自适应滤波器中。在此过程中,本文采用两种不同类型的自适应滤波器通过凸组合来优化性能:一种是最小均方滤波器,其收敛速度较慢,但能保证系统的性能稳定[24];另一种是递归最小二乘滤波器,其收敛速度较快,有助于提高算法的收敛速度[25],如式(4)~式(6)所示:
![]() |
![]() |
![]() |
其中,e1(i)、e2(i),i∈[1,n],分别是最小均方滤波器和递归最小二乘滤波器经过第i次迭代后的输出误差;e(n)是CLMS自适应滤波器经过第n次迭代后的输出误差;λ(i) ,i∈[1,n],是第n次迭代过程中的凸组合参数;e是指数运算;α(i),i∈[1,n],是第i次迭代过程中以最小均方误差为准则更新的参数,μα是自定义步长参数。
1.3 血氧计算
利用滤波去噪后的红光、近红外光PPG信号的交流分量和直流分量计算血氧值,如式(7)~式(8)所示[26-27]:
![]() |
![]() |
其中,S代表血氧值,A、B、C为经验系数,R是血氧系数,AC660、DC660分别代表660 nm红光PPG信号的交流分量和直流分量,AC940、DC940为940 nm近红外光PPG信号的交流分量和直流分量[28]。
2 实验系统与方法
2.1 测试系统设计
本研究使用自行设计的手环采集PPG信号。采集电路中的光源包括530、660、940 nm的发光二极管(light emitting diode,LED),LED发出的光经过皮肤组织反射后,由光电探测器接收。本研究中的血氧计算基于红光和近红外光产生的PPG信号。本研究采用控制系统驱动芯片AFE4400(TexasInstruments Inc.,美国)控制LED以100 Hz频率工作,并对采集的光电信号进行前置滤波、放大、和模/数(analog to digital,A/D)转换,得到原始PPG信号,然后采用本文提出的算法对PPG信号进行运动噪声去除,从而计算血氧。
2.2 测试方法
为了验证本方法计算运动血氧的有效性和可靠性,本研究招募了20名身体健康、无重大疾病、运动能力正常的成年志愿者进行测试,年龄(25 ± 5)岁。所有受试者均在测试前签署书面知情同意书,且本研究已通过四川省人民医院伦理委员会的伦理审批(批件号:论审(研)2023年第450号)。
测试过程中,受试者左手手腕佩戴本课题组自行研制的手环,右手食指佩戴经国家药监局医疗器械注册许可的指夹式血氧仪(KH501,康恒医疗器械(辽宁)有限公司,中国),如图1所示。测试流程如下:① 受试者静坐5 min后,使用指夹式血氧仪读取参考血氧;② 然后,受试者分别模拟步行和慢跑,在运动过程中,右手保持静止,并读取自研手环采集的30 s PPG数据;③ 最后,受试者再次保持静止,立即使用指夹式血氧仪记录参考血氧。每位受试者在每种运动状态下均按照上述步骤采集10组数据。

2.3 数据处理与评价指标
为了评估本算法在运动血氧计算中的有效性,本研究对20名受试者在步行和慢跑状态下采集到的400组PPG信号,分别采用表1中4种方法处理数据并计算血氧:① 无滤波算法;② EMD-MPE构造噪声联合CLMS自适应滤波方法(EMD-MPE+CLMS);③ EEMD-MPE构造噪声联合CLMS方法(EEMD-MPE+CLMS);④ 本文提出的CEEMDAN-MPE结合CLMS方法(CEEMDAN-MPE+CLMS)。随后,使用平均绝对值误差(mean absolute error,MAE)[29]和平均绝对百分比误差(mean absolute percentage error,MAPE)[30]来比较这些计算的血氧值与参考血氧值之间的误差,其计算公式如式(9)~式(10)所示:

![]() |
![]() |
其中,N是数据个数,g(i)代表计算血氧值, 代表参考血氧值。
最后,通过分析本算法计算的血氧值与参考血氧值的皮尔逊相关系数,并进行一致性检验,验证了本算法在测试动态血氧方面的稳定性。
3 测试结果与讨论
3.1 去噪算法处理结果
如图2所示,本文对任意一组慢跑状态下采集的红光PPG信号应用CEEMDAN分解,得到了9阶IMF分量(F1~F9)。图2频域图中,蓝色圆圈标出的是指夹式血氧仪测得的参考心率,它代表了PPG信号中的有用信号成分;红色圆圈标出的是PPG信号分解后的分量中幅值最大的频率成分。图2中,F1~F3和F7~F9分量的有用信号成分幅值接近于0,因此被视为完全的噪声成分,用于重构噪声参考信号;而F4~F6分量中真实心率的成分更为显著,有用信号占据了主导。为了确定运动噪声参考信号重构的MPE阈值区间,本文对每一阶IMF分量计算了MPE值,并依据分解信号的频域图中噪声分布进行了判断。此外,还对比了采用EMD和EEMD算法对同一组PPG信号进行分解的结果,如表2所示。结果显示,CEEMDAN方法分解得到的IMF分量更多,且每个分量展示了更丰富的信息细节,这使得确定的MPE阈值区间更为准确,并且重构后的噪声参考信号更贴近实际运动噪声。


经过大量实验,最终选取MPE值小于0.420 53和大于0.719 46的IMF分量,并将其相加以构造运动噪声信号,结果如图3所示。图3频谱图中,蓝色圆圈仍然表示指夹式血氧仪测得的参考心率,而红色圆圈则代表该信号中幅值最大的频率成分。从图3中可以看到,三轴加速度器采集的运动信号与通过CEEMDAN-MPE算法重构的噪声信号在主要噪声成分上高度相似,且它们的频谱都在1.5 Hz附近呈现出显著的峰值。因此,可以使用CEEMDAN-MPE算法生成的噪声信号替代三轴加速度器硬件,作为自适应滤波器的参考输入。经过CLMS自适应滤波器处理后,重构的运动噪声参考信号被有效滤除,如图3所示。血氧的计算需要同时使用红光和近红外光两路的PPG信号,而三轴加速度采集的运动信号在滤除近红外光噪声方面的效果不佳,导致动态血氧的计算误差较大[15]。本文提出的算法能够分别为红光和近红外光两路PPG信号构造噪声信号,从而在自适应滤波器处理后可获得更佳的噪声去除效果。

预处理PPG信号的频谱中,出现了1.5 Hz和2.1 Hz两个主要谱峰。通过参考信号的测试发现,1.5 Hz的谱峰对应于运动噪声,其峰值强度显著高于2.1 Hz,后者代表真实的PPG信号强度。在原始信号中,真实的PPG信号因为运动伪影噪声的影响而显得较弱。将预处理后的PPG信号与本算法重构的运动噪声参考信号同时输入到CLMS自适应滤波器中进行降噪处理。结果表明,主要的运动噪声信号被有效滤除,如图3所示。
3.2 不同算法计算血氧对比
随机选取一组步行和慢跑时的PPG信号,并依据表1中列出的不同算法,分别处理后计算得到血氧值。这些值与参考血氧值进行对比,结果如图4所示。从图4中可以看出,在慢跑状态下,计算的血氧值误差普遍大于步行状态,这表明运动幅度越大,运动噪声对血氧计算的干扰越大。在相同运动状态下,未经算法处理的PPG信号计算的血氧值波动较大,且显著低于参考血氧值,准确性差。与仅使用EMD-MPE + CLMS处理的方法相比,经过EEMD-MPE + CLMS处理并滤波后的血氧值误差有所减少,但与参考血氧值相比,仍然存在较大的波动和误差,稳定性不足,不适合动态血氧监测。而采用本文提出的算法处理后,计算的血氧值在参考血氧值附近波动,稳定性良好,波动幅度与误差都非常小。

整理了所有受试者在步行、慢跑状态下采集的400组PPG数据,按照表1所示的4种算法进行处理。之后,对每组数据中30 s区间的血氧值求平均,得到该组数据的计算血氧值,并与相应的参考血氧值进行对比。根据表3所示的统计结果,在步行、慢跑状态下,采用本算法计算的血氧值与参考血氧值的MAE分别为0.05和0.07,MAPE分别为0.05%和0.07%。这表明本算法能有效消除动态PPG信号中的运动伪影,从而提高血氧计算的准确度。

3.3 血氧测试结果分析
对步行、慢跑状态下采集的400组PPG数据,采用本文提出的算法计算得到的血氧值,与参考血氧值进行对比。一致性检验和皮尔逊相关系数的分析结果如图5、图6所示。分析显示,超过96%的数据点落在95%的一致性界限区间内,而皮尔逊相关系数达到了0.971 2。这些结果表明,本算法能够准确地反映运动状态下的血氧水平。


4 结论
便携式脉搏血氧计利用PPG方法测试血氧水平,但在运动状态下容易受到运动噪声的干扰,从而导致计算的血氧值存在较大误差。本文提出了一种基于CEEMDAN-MPE的方法,通过构造近似的运动伪影噪声参考信号作为CLMS自适应滤波器的输入,有效滤除PPG信号中的运动噪声,从而提高血氧计算的准确度。通过自行设计的采集系统,分别模拟了常见的步行、慢跑运动状态下,对PPG数据的采集,并利用所提算法进行处理。处理后的血氧计算结果与参考血氧值对比,验证了本算法的可靠性和实用性。该算法从PPG信号自身中构造噪声信号,不需额外的运动传感器,从而降低了硬件成本,有望在可穿戴光电式脉搏血氧计领域得到广泛应用。
重要声明
利益冲突声明:本文全体作者均声明不存在利益冲突。
作者贡献声明:张林嘉主要负责数据处理、绘图与论文写作;林健、仇承恩主要负责数据采集、分析;王铮先主要负责论文审阅;余小敏主要负责项目主持、实验指导、数据分析指导和论文撰写指导。
伦理声明:本研究通过了四川省人民医院伦理委员会的审批(批件号:论审(研)2023年第450号)。
0 引言
经皮动脉血氧饱和度(简称:血氧)是反映人体血液携带和输送氧气能力的参数[1],是临床医学中监测人体生理状态的重要指标[2]。虽然基于光电容积脉搏波 (photoplethysmographic,PPG)的便携式血氧检测设备在静止状态下能准确测量血氧[3],但在运动状态下,这类设备往往受到工频干扰、环境噪声和运动伪影等多种噪声的影响,干扰信号特征的提取和血氧的准确测量[4-7]。目前,虽然带通滤波技术可用于消除工频干扰,系统硬件设计的优化也有助于降低环境光噪声的影响,但消除运动伪影仍然较为困难。因此,为了提升运动血氧测量的准确性,消除PPG信号中的运动伪影显得尤为关键。
如何有效消除PPG信号中的运动伪影一直是国内外学者关注的研究热点,相关领域已有多种去噪算法被提出,包括独立成分分析、小波变换、经验模态分解(empirical mode decomposition,EMD)、自适应滤波等[8-12]。Kim等[8]将PPG信号与运动伪影作为相互独立的成分,利用独立成分分析设计滤波器参数。然而,由于实际运动过程的复杂性,运动伪影与PPG信号之间存在一定相关性,这与独立成分分析的基本假设相矛盾。Wang等[9]利用双通道采样PPG信号,通过小波软阈值的方法重构系数,但这需要精心选择小波基,并且当PPG信号中的有用成分频率与运动伪影频率发生频谱混叠时,分解效果不佳。自适应滤波器能有效解决频谱混叠问题[13],因此在PPG信号去噪中得到广泛应用[14]。Ram等[15]使用自适应滤波器去除运动伪影,对比构造参考噪声方法与自适应滤波器的滤波效果,实验证明参考噪声信号的选取对去噪效果至关重要。Gibbs等[16]通过压缩三轴加速度器采集的噪声生成参考噪声信号,但在压缩过程中会丢失信息,并增加了硬件成本。Ram等[17]用快速傅里叶变换分解PPG信号以重构参考噪声信号,从而减少硬件成本,但重构的参考噪声信号可能无法逼近与PPG信号频率相近的运动伪影。Reddy等[18]提出利用奇异值分解PPG信号,但这种算法对于那些被运动伪影淹没的PPG信号效果欠佳。与奇异值分解和快速傅里叶变换等线性方法相比,EMD更适合于分解非线性和非平稳的信号,因此在PPG信号分析中更为适用。Sun等[11]采用 EMD来减少伪影,并在处理所有本征模态分量(intrinsic mode functions,IMF)时采用软阈值方法,而不仅仅是提取正确的PPG信号。然而,当IMF系数绝对值大于阈值时,总会产生一个恒定的偏差,这严重影响了构造信号与真实信号的接近程度,且EMD在处理过程中容易出现模态混叠和末端效应。Roy等[12]使用集合EMD(ensemble EMD,EEMD)结合人工神经网络模型对PPG信号进行预处理。EEMD有效解决了EMD中的模态混叠问题,但同时存在残余辅助噪声,以及迭代运行次数多、计算效率低的问题。
出于自适应滤波对参考噪声信号高质量的要求,以及上述提到的去噪算法存在的局限性,本研究提出了一种基于完全自适应噪声EEMD(complete EEMD with adaptive noise,CEEMDAN)—多尺度排列熵(multi-scale permutation entropy,MPE)的方法(CEEMDAN-MPE)构造运动噪声,并结合凸组合最小均方(convex combination least mean square,CLMS)自适应滤波技术消除PPG信号中的运动噪声。该方法通过PPG信号自身构造运动噪声,不需额外的硬件加速度传感器,旨在降低系统硬件成本的同时,去除运动伪影。本文还将利用自行研制的光电式系统采集PPG数据,并通过所提算法处理计算得到血氧值,这些值将与参考血氧值对比,以验证本文方法的有效性和准确性,以期为便携光电式脉搏血氧仪准确测量动态血氧提供有效的方法。
1 原理
1.1 运动噪声构造
1.1.1 CEEMDAN分解PPG信号
本文采用CEEMDAN分解方法,将一对互为正负的白噪声作为辅助噪声,加入到预处理后的PPG信号中进行迭代分解,直到获得的残差信号的极值点个数减小到两个以下,不能继续分解为止[19-21]。信号被分解成多个IMF分量和一个残余分量,分解公式如式(1)~式(3)所示:
![]() |
![]() |
![]() |
其中,n为采样点数,k为添加的白噪声的个数,m为分解次数;Fj,j∈[1,m],代表信号分解得到的第j阶IMF分量;fl(∙),l∈[1,m − 1],代表EMD分解后取第l阶IMF;μj,j∈[1,m],代表信号在第j次分解时添加的白噪声的幅值;wi(n)是辅助白噪声;d(n) 为预处理后的PPG信号;rj(n),j∈[1,m],是信号经过j次分解后的残余分量。
1.1.2 MPE值计算
MPE方法可以有效计算不同时间尺度上信号的复杂度,并具有优秀的抗干扰和抗噪声能力[22],特别适用于受运动干扰的PPG信号的运动噪声参考信号重构。MPE值越小,表示时间序列越规则,越接近 PPG 信号的有用成分;相反,MPE值越大,时间序列越复杂,越接近运动噪声成分[23]。使用 MPE 方法构造噪声参考信号的步骤如下:
(1)对PPG信号进行CEEMDAN分解,得到多个IMF分量,并计算每个IMF分量的MPE值。
(2)以指夹式血氧仪测量的心率作为参考,从频谱图中识别包含明显运动噪声成分的IMF分量相对应的MPE值,并通过大量实验确定噪声信号对应的 MPE阈值区间。
(3)将MPE阈值区间所对应的 IMF 分量相加,生成噪声参考信号。
1.2 CLMS自适应滤波
为了消除PPG信号中的运动噪声影响,将构造的运动噪声参考信号与预处理后的PPG信号输入到CLMS自适应滤波器中。在此过程中,本文采用两种不同类型的自适应滤波器通过凸组合来优化性能:一种是最小均方滤波器,其收敛速度较慢,但能保证系统的性能稳定[24];另一种是递归最小二乘滤波器,其收敛速度较快,有助于提高算法的收敛速度[25],如式(4)~式(6)所示:
![]() |
![]() |
![]() |
其中,e1(i)、e2(i),i∈[1,n],分别是最小均方滤波器和递归最小二乘滤波器经过第i次迭代后的输出误差;e(n)是CLMS自适应滤波器经过第n次迭代后的输出误差;λ(i) ,i∈[1,n],是第n次迭代过程中的凸组合参数;e是指数运算;α(i),i∈[1,n],是第i次迭代过程中以最小均方误差为准则更新的参数,μα是自定义步长参数。
1.3 血氧计算
利用滤波去噪后的红光、近红外光PPG信号的交流分量和直流分量计算血氧值,如式(7)~式(8)所示[26-27]:
![]() |
![]() |
其中,S代表血氧值,A、B、C为经验系数,R是血氧系数,AC660、DC660分别代表660 nm红光PPG信号的交流分量和直流分量,AC940、DC940为940 nm近红外光PPG信号的交流分量和直流分量[28]。
2 实验系统与方法
2.1 测试系统设计
本研究使用自行设计的手环采集PPG信号。采集电路中的光源包括530、660、940 nm的发光二极管(light emitting diode,LED),LED发出的光经过皮肤组织反射后,由光电探测器接收。本研究中的血氧计算基于红光和近红外光产生的PPG信号。本研究采用控制系统驱动芯片AFE4400(TexasInstruments Inc.,美国)控制LED以100 Hz频率工作,并对采集的光电信号进行前置滤波、放大、和模/数(analog to digital,A/D)转换,得到原始PPG信号,然后采用本文提出的算法对PPG信号进行运动噪声去除,从而计算血氧。
2.2 测试方法
为了验证本方法计算运动血氧的有效性和可靠性,本研究招募了20名身体健康、无重大疾病、运动能力正常的成年志愿者进行测试,年龄(25 ± 5)岁。所有受试者均在测试前签署书面知情同意书,且本研究已通过四川省人民医院伦理委员会的伦理审批(批件号:论审(研)2023年第450号)。
测试过程中,受试者左手手腕佩戴本课题组自行研制的手环,右手食指佩戴经国家药监局医疗器械注册许可的指夹式血氧仪(KH501,康恒医疗器械(辽宁)有限公司,中国),如图1所示。测试流程如下:① 受试者静坐5 min后,使用指夹式血氧仪读取参考血氧;② 然后,受试者分别模拟步行和慢跑,在运动过程中,右手保持静止,并读取自研手环采集的30 s PPG数据;③ 最后,受试者再次保持静止,立即使用指夹式血氧仪记录参考血氧。每位受试者在每种运动状态下均按照上述步骤采集10组数据。

2.3 数据处理与评价指标
为了评估本算法在运动血氧计算中的有效性,本研究对20名受试者在步行和慢跑状态下采集到的400组PPG信号,分别采用表1中4种方法处理数据并计算血氧:① 无滤波算法;② EMD-MPE构造噪声联合CLMS自适应滤波方法(EMD-MPE+CLMS);③ EEMD-MPE构造噪声联合CLMS方法(EEMD-MPE+CLMS);④ 本文提出的CEEMDAN-MPE结合CLMS方法(CEEMDAN-MPE+CLMS)。随后,使用平均绝对值误差(mean absolute error,MAE)[29]和平均绝对百分比误差(mean absolute percentage error,MAPE)[30]来比较这些计算的血氧值与参考血氧值之间的误差,其计算公式如式(9)~式(10)所示:

![]() |
![]() |
其中,N是数据个数,g(i)代表计算血氧值, 代表参考血氧值。
最后,通过分析本算法计算的血氧值与参考血氧值的皮尔逊相关系数,并进行一致性检验,验证了本算法在测试动态血氧方面的稳定性。
3 测试结果与讨论
3.1 去噪算法处理结果
如图2所示,本文对任意一组慢跑状态下采集的红光PPG信号应用CEEMDAN分解,得到了9阶IMF分量(F1~F9)。图2频域图中,蓝色圆圈标出的是指夹式血氧仪测得的参考心率,它代表了PPG信号中的有用信号成分;红色圆圈标出的是PPG信号分解后的分量中幅值最大的频率成分。图2中,F1~F3和F7~F9分量的有用信号成分幅值接近于0,因此被视为完全的噪声成分,用于重构噪声参考信号;而F4~F6分量中真实心率的成分更为显著,有用信号占据了主导。为了确定运动噪声参考信号重构的MPE阈值区间,本文对每一阶IMF分量计算了MPE值,并依据分解信号的频域图中噪声分布进行了判断。此外,还对比了采用EMD和EEMD算法对同一组PPG信号进行分解的结果,如表2所示。结果显示,CEEMDAN方法分解得到的IMF分量更多,且每个分量展示了更丰富的信息细节,这使得确定的MPE阈值区间更为准确,并且重构后的噪声参考信号更贴近实际运动噪声。


经过大量实验,最终选取MPE值小于0.420 53和大于0.719 46的IMF分量,并将其相加以构造运动噪声信号,结果如图3所示。图3频谱图中,蓝色圆圈仍然表示指夹式血氧仪测得的参考心率,而红色圆圈则代表该信号中幅值最大的频率成分。从图3中可以看到,三轴加速度器采集的运动信号与通过CEEMDAN-MPE算法重构的噪声信号在主要噪声成分上高度相似,且它们的频谱都在1.5 Hz附近呈现出显著的峰值。因此,可以使用CEEMDAN-MPE算法生成的噪声信号替代三轴加速度器硬件,作为自适应滤波器的参考输入。经过CLMS自适应滤波器处理后,重构的运动噪声参考信号被有效滤除,如图3所示。血氧的计算需要同时使用红光和近红外光两路的PPG信号,而三轴加速度采集的运动信号在滤除近红外光噪声方面的效果不佳,导致动态血氧的计算误差较大[15]。本文提出的算法能够分别为红光和近红外光两路PPG信号构造噪声信号,从而在自适应滤波器处理后可获得更佳的噪声去除效果。

预处理PPG信号的频谱中,出现了1.5 Hz和2.1 Hz两个主要谱峰。通过参考信号的测试发现,1.5 Hz的谱峰对应于运动噪声,其峰值强度显著高于2.1 Hz,后者代表真实的PPG信号强度。在原始信号中,真实的PPG信号因为运动伪影噪声的影响而显得较弱。将预处理后的PPG信号与本算法重构的运动噪声参考信号同时输入到CLMS自适应滤波器中进行降噪处理。结果表明,主要的运动噪声信号被有效滤除,如图3所示。
3.2 不同算法计算血氧对比
随机选取一组步行和慢跑时的PPG信号,并依据表1中列出的不同算法,分别处理后计算得到血氧值。这些值与参考血氧值进行对比,结果如图4所示。从图4中可以看出,在慢跑状态下,计算的血氧值误差普遍大于步行状态,这表明运动幅度越大,运动噪声对血氧计算的干扰越大。在相同运动状态下,未经算法处理的PPG信号计算的血氧值波动较大,且显著低于参考血氧值,准确性差。与仅使用EMD-MPE + CLMS处理的方法相比,经过EEMD-MPE + CLMS处理并滤波后的血氧值误差有所减少,但与参考血氧值相比,仍然存在较大的波动和误差,稳定性不足,不适合动态血氧监测。而采用本文提出的算法处理后,计算的血氧值在参考血氧值附近波动,稳定性良好,波动幅度与误差都非常小。

整理了所有受试者在步行、慢跑状态下采集的400组PPG数据,按照表1所示的4种算法进行处理。之后,对每组数据中30 s区间的血氧值求平均,得到该组数据的计算血氧值,并与相应的参考血氧值进行对比。根据表3所示的统计结果,在步行、慢跑状态下,采用本算法计算的血氧值与参考血氧值的MAE分别为0.05和0.07,MAPE分别为0.05%和0.07%。这表明本算法能有效消除动态PPG信号中的运动伪影,从而提高血氧计算的准确度。

3.3 血氧测试结果分析
对步行、慢跑状态下采集的400组PPG数据,采用本文提出的算法计算得到的血氧值,与参考血氧值进行对比。一致性检验和皮尔逊相关系数的分析结果如图5、图6所示。分析显示,超过96%的数据点落在95%的一致性界限区间内,而皮尔逊相关系数达到了0.971 2。这些结果表明,本算法能够准确地反映运动状态下的血氧水平。


4 结论
便携式脉搏血氧计利用PPG方法测试血氧水平,但在运动状态下容易受到运动噪声的干扰,从而导致计算的血氧值存在较大误差。本文提出了一种基于CEEMDAN-MPE的方法,通过构造近似的运动伪影噪声参考信号作为CLMS自适应滤波器的输入,有效滤除PPG信号中的运动噪声,从而提高血氧计算的准确度。通过自行设计的采集系统,分别模拟了常见的步行、慢跑运动状态下,对PPG数据的采集,并利用所提算法进行处理。处理后的血氧计算结果与参考血氧值对比,验证了本算法的可靠性和实用性。该算法从PPG信号自身中构造噪声信号,不需额外的运动传感器,从而降低了硬件成本,有望在可穿戴光电式脉搏血氧计领域得到广泛应用。
重要声明
利益冲突声明:本文全体作者均声明不存在利益冲突。
作者贡献声明:张林嘉主要负责数据处理、绘图与论文写作;林健、仇承恩主要负责数据采集、分析;王铮先主要负责论文审阅;余小敏主要负责项目主持、实验指导、数据分析指导和论文撰写指导。
伦理声明:本研究通过了四川省人民医院伦理委员会的审批(批件号:论审(研)2023年第450号)。