钟佳良
关键词:光电容积脉搏波描记法;变分模态分解;动态差分阈值法;信号预处理
0 引言
心血管疾病是导致世界人口减少的一个重要因素[1],随着社会生活节奏的加快,在一定程度上加重了该类疾病对人们生命安全的威胁。脉搏波信号作为人体的一种重要生理信号,由于其原理是心脏搏动导致周身血液容积呈现出周期性变化,通过探测脉搏波的主波峰值点,进而计算得到相邻峰值点时间间隔的变化情况,即得脉率变异性(Pulse Rate Variability,PRV)[2],PRV与心率变异性有着非常紧密的联系,能够定量客观地反映自主神经系统活性及对心血管系统的调节能力。因此脉搏波信号中蕴含了众多反映人体心血管状态的信息,如何准确有效地提取脉搏波信号的关键特征是对脉搏波信号分析中的一个重要课题。
现今无论是临床诊断还是商业应用上,光电容积脉搏波描记法(Photoplethysmography, PPG)[3]都是最为常用的对脉搏波进行无创检测的方法,该方法原理是:将一定波长的光源照射人体组织,当光透过人体时,一部分光会被人体吸收,其余的光会透射或反射。其中皮肤、肌肉和骨骼等吸收的光强较为固定,而血液的容积会发生周期性变化,该部分吸收的光强也呈现周期性变化,此时利用光电转换将透射光或反射光转化为电信号,就能够得到PPG信号。
PPG信号一般会受到基线漂移等噪声的影响而出现失真。应用较多的信号噪声抑制方法有简单数字滤波器和小波变换法[4],前者对人体生理信号这类非平稳随机信号的处理容易损失一些细微的病理特征,后者需要设定阈值来实现对信号噪声的抑制,阈值的选取直接影响目标信号的真实性。本文将采用变分模态分解(Variational Mode Decomposition, VMD)[5]进行信号的噪声处理,VMD这种自适应的信号处理方式规避了以上两种方法存在的缺陷,在保证信号真实可靠的情况下还能达到较高的分辨率。
PPG信号的时域特征中,最明显且关键的是PPG 信号的主波峰值。经过多年的研究,有多种信号的峰值提取法被提出,主要有幅度阈值法、Pan-Tomkins[6]以及小波变换法[7],其中幅度阈值法对短时间的平稳信号有较好的峰值提取效果。本文提出了一种改进的动态差分阈值法(Dynamic Differential Thresholding,DDT)来对PPG信号的主波峰值进行提取,该方法不仅能快速地提取出峰值特征,也能够根据信号的变化动态地改变阈值参数,能够有效地提高无监督情况下对PPG信号主波峰值提取的有效率。
2 关键技术研究
2.1 VMD
VMD是由Zosso和Dragomiretskiy提出,是由经验模态分解(Empirical Mode Decomposition, EMD)[8]改进而来的自适应信号处理算法。VMD主要解决了EMD 在自适应分解信号时会出现模态混叠的问题,有效地实现对端点效应进行抑制,能够将信号各频率更准确地分离开。
VMD的实现过程主要分为以下两个方面:
(1)构造变分问题
首先,利用希尔伯特变换将各模态分量求解对应的解析信号,进而得到相应的单边频谱;再将乘子e-jwk t引入各模态分量中用以调整中心频率,实现将各频谱调制到相应的基频带上;最后对解调信号进行高斯平滑,得到各模态的带宽,构造出一个带约束的变分问题[9]:
对经过转化后的问题,采用交替方向乘子法进行循环迭代搜索增广拉格朗日函数的鞍点,即得约束变分问题的最优解[11]。
由VMD对信号的分解方法可规划出本文对PPG信号进行噪声抑制的具体步骤,算法流程图如图1所示:
2.2 改进的DDT
通过观察PPG信号发现,PPG信号的主波有上升迅速、幅度较高的特点;再对其进行一阶差分,分析PPG信号的一阶差分序列发现,差分值最大的地方也对应于主波的上升阶段[12]。因此根据以上特点,通过PPG信号的一阶差分序列去寻找主波峰值是可行的,利用改进的DDT去优化查找策略,能够降低误检率,算法的具体流程如下:
(1)参数初始化
获得一定时长的PPG信号signalo 后,根据PPG信号的采样频率,随机选取信号中连续的5s作为初始化的信号段signals,将signals 平均分为5 段,分别为signalsn,其中n = 1,2,3,4,5,記录signalsn 的最大值,去除最大值中的最大和最小值,得到长度为n-2的数组Peak = { p1,p1,p3 },并计算数组Peak中元素的平均值,得到p0;对signalsn 做一阶差分,同时记录差分最大值,去除差分最大值中的最大和最小值,得到长度为n-2 的数组Diff = d1,d2,d3,并计算数组Diff中元素的平均值d0。根据p0 和d0 设置三个阈值参数,分别为峰值阈值参数TH1 = a*p0,TH2 = b*p0,差分阈值参数TH3 = c*d0,其中a、b、c 需根据实际的PPG信号去设置,本文中a=0.75,b=1.25,c=0.7。
(2)主波峰值检测
参数初始化完成后,首先对signalo 进行一阶差分,得到一阶差分序列signaldiff,再开始对signalo 进行主波峰值标记。设signalo 中的连续4个采样点为sn、sn + 1、sn + 2、sn + 3、signalldiff 中对应的3 个差分值diffn、diffn + 1、diffn + 2,若满足:
则说明该点是一个主波峰值点,否则认为该点是干扰点被舍弃。
(3)参数更新
在检测到一个疑似主波峰值点时,对其进行峰值点判断之前,首先需要对三个阈值参数进行更新,这是因为PPG信号可能会受人体状态突变或者未能完全滤除噪声等原因的影响而发生相应变化,导致当前波形与以往波形出现突变,为了保证当前峰值点和后续峰值点能够合理地标记准确,需提前对参数进行更新,更新的规则如下:首先,对差分阈值的相关参数进行更新,计算一阶差分序列中,从diffn 至diffn + x + 1 的最大值记为dc,将数组Diff = {d1.d2,d3}中的元素更新为Diff = {d } c,d1,d2 ,并利用更新后的数组Diff,更新d0:
特别的,对d0 和p0 的更新,考虑到PPG信号作为连续的生理信号,信号前后具有较强的关联性,引入加权平均的思想对两个参数进行更新,契合PPG信号的连续性特点,能够在很大程度上避免由于PPG信号幅值的趋势变化而出现的误判问题。
最后,根据更新后的p0 和d0 更新三个阈值参数,分别为峰值阈值参数TH1 = a*p0,TH2 = b*p0,差分阈值参数TH3 = c*d0,其中a、b、c 需根据实际的PPG信号去设置,本文中a=0.75,b=1.25,c=0.7。判断完采样点sn + x + 2 是否为主波峰值点后,再根据步骤(2)检测下一个主波峰值。DDT算法流程图如图2所示:
3 实验结果及分析
3.1 噪声抑制
在VMD的应用中,参数K的选取对将信号分解成各模态分量有较大的影响;若选取的K值过小,分解信号时会无法将噪声及PPG信号分离在不同的模态分量中,导致模态混叠的现象,无法达到噪声抑制的目的;若选取的K值过大,不仅大大增加了算法的计算量,影响算法的运行效率,而且容易将噪声信号分离在各个模态分量中,无法最大限度地将噪声与信号分开。因此参数K的选取是应用VMD需要面对的首要问题。
选取一段10s的原始数据s(n)(如图3) ,对其进行VMD,其中K值置为6,再将得到的一组模态分量进行频域分析后,分别得到如图4及图5所示。可以看出,信号中成分占比较大的低频信号会先被分解出来,而成分占比较低的高频信号则随后才分解出来,即随着模态分量序数的增加,其中高频分量的占比就越大。PPG信号中主要的噪声:基线漂移,主要是低于1Hz 变化缓慢的低频噪声,主要被包含于第1层模态分量中。因此,对PPG信号基线漂移进行去除,主要需要将VMD 分解出的第1 层模态分量作为主要的研究对象。
为了选取进行VMD分解时K的最优值,首先对s(n)分别进行K = 5、6、7、8、9、10、11、12层VMD 分解,接着对第1层模态分量进行频率分析,以平均瞬时频率[13]为参考依据来确定K值的最优值。结果如表1所示,随着K值的增加,第1层模态分量的平均瞬时频率先是下降,在K = 8时达到最低点,接着出现反弹,最终趋于平稳。在综合考虑到基线漂移的抑制效果及计算的复杂度,最终选择K = 8 作为VMD 分解的最优值。
对s(n)进行K = 8层VMD分解,去除基线漂移存在的第1层模态分量,将剩余的分量进行信号重构,最终得到噪声抑制后的PPG信号,如图6所示。
为了确认经过VMD重构后信号的有效性,分别对各组信号进行信噪比计算,信噪比公式[14]如下:
其中,Ps 和Pn 分别表示信号和噪声的有效功率,Vs 和Vn 分别表示信号和噪声换算得到的对应电压幅值。表2列出了7组实验数据采用不同信号处理方式的信噪比结果。数据表示,相对于巴特沃斯滤波器,利用VMD 对信号进行噪声抑制能够取得更好的效果,证实了VMD对PPG信号去除噪声的有效性。
3.2 峰值标记
在对PPG信号进行噪声抑制后,获得多组纯净的PPG信号,分别采用DDT和幅度阈值法对多组PPG信号中的主波峰值点进行检测,检测结果如表3所示。
对于变化较小的PPG信号,采用幅度阈值法也能够取得比较好的主波峰提取效果,如編号为6的PPG 信号;但对于变化迅速且剧烈的情况下,幅度阈值法的识别效率将会大大降低,即使对固定阈值法的参数进行不断的调整,仍然难以得到较好的结果,如编号为7的PPG信号。特别的,在对同一人的不同活动状态的PPG数据进行观察后发现,睡眠情况下PPG信号的幅度相较于清醒且平静状态下PPG信号的幅度要高,若采用幅度阈值法对PPG信号进行长时间识别,开始能够取得较好的效果,后续信号幅值发生变化时,将无法正常识别PPG信号的主波峰值点。
对于健康人群来说,PPG信号的主波一般都高于潮波,但高血压患者的PPG信号一般则是潮波高于主波[15],并且实际情况下,由于采集设备和受试者当前的身体状况等影响,会导致一些PPG信号的潮波高于主波。此时采用幅度阈值法对这类信号进行识别,就会出现较多的误检情况,而DDT却能够对这类信号有比较好的识别能力,如编号为1的PPG信号。
4 结束语
本文提出的VMD-DDT一种是对脉搏波信号进行预处理的有效方法。VMD对脉搏波信号进行噪声抑制,获得较高信噪比的同时,还能够保留较为完整的脉搏波形态特征;通过对DDT的参数更新策略及参数更新方式的改进,使得在脉搏波信号变化剧烈的情况下,也能够得到较好的主波峰的识别准确率。结果表明,本文的方法是切实可行的。本文的实验及结论是由小样本数据得到,不同的采集设备可能对脉搏波信号的采集出现差异,今后还需大量的临床测试对本文方法进行验证。