郑传权,黄雄京,刘博生,周凌宏
1.南方医科大学生物医学工程学院,广东广州510515;2.东莞市厚街医院,广东东莞523945
脉搏波是一种随心脏周期性的跳动,由心脏的收缩或舒张引起动脉血管内的血压以及血管体积的变化,导致血液向末梢血管传播形成的波[1]。影响脉搏波的因素主要有血管管壁弹性、动脉腔体积以及血液速度和粘性等[2]。目前最为准确的血压测量方式是将压力传感器直接插入人体大动脉检测血压信号[3],并能实现血压的连续测量,但这是有创测量,不适合长时间连续监测。传统方法中临床广泛应用的是听诊法和示波法[4]。听诊法使用方便,精度较高,但是人工听诊误差大,机器听诊容易受到干扰;示波法的原理与听诊法类似,监听的是血流流过血管所产生的振动波,相比听诊法,示波法的干扰小、重复性较好,但需排除明显的运动干扰,其测量结果不如听诊法准确。
鲁宏胜[5]采用传统的脉搏波传导时间(Pulse Transit Time,PTT)算法,综合软、硬阈值的优点得到改进的噪声预处理方法,该方法的优点是预处理步骤较为精细,测量结果较精确,但是该模型不能对高血压患者进行测试;陈倩蓉等[6]利用PTT、身高和加速脉搏波时域特征参数等建立多元线性模型,收缩压测量较为精确,但是舒张压的预测误差很大;陈美琪等[7]根据光电容积脉搏波(Photoplethysmography,PPG)计算PTT,再根据PTT计算人体的血压,但是这种方法忽略了诸如身高、体重等因素,其精度并不高。
本研究针对上述血压检测方法存在的不足,在传统的PTT血压模型的基础上,增加患者的身高和体重,实现个性化血压检测算法,提高血压测量的精确性和鲁棒性。
PTT是指人体脉搏波从动脉的某一位置传播到另一个位置所用的时间,根据人体动脉血压与PTT之间的线性关系可以求得血压值。脉搏波的传播速度(Pulse Wave Velocity,PWV)与血压之间也存在非常重要的关系,1878年Moens实验验证了普通流体在弹性腔内的传播公式[8]。
其中,K是Moens常数,通常橡皮管K值取0.9,人体K值取0.8;E是血管壁的杨氏弹性模量,E值受年龄、血管僵硬程度等的影响而变化;h是血管壁的厚度;ρ是血液密度;D是血管在平衡状态下的内径。
2001年,Mazzali等[9]研究了血管的弹性模量E与血压之间的关系,得出如下方程。
其中,E0表示人在放松状态下血管管壁压力为0时的弹性模量;γ表示动脉血管的一个参数;P是血压值,单位是mmHg。
PWV与PTT的关系如式(3)所示[10]。
其中,L表示脉搏波的传播距离。
联立式(1)、(2)和(3),得到基于传统PTT的血压算法模型。
但该算法过于理想化,在实际临床诊断中的表现并不好。Davies等[11]提出脉搏波的传播距离与人体身高(H)存在关系,即:
其中,f是和脉搏波采集部位有关的因子;H表示被测试者的身高。
根据文献[12],脉搏波传播距离的测量应当将血管“拉平”。传统基于PTT的血压测量方法认为该距离为定值,因此在模型构建的结果中将其忽略,文献[12]的优化则是将该距离与人体身高联系起来。然而,在同一身高的条件下,体重不同的人的血管长度和厚度是不同的。因此,本研究继续考虑体重(W)的影响,假设:
其中,g是固定参数,通过多波长或高精度取样仪器标定[13]得到;W表示被测试者的体重。
联立式(1)、(2)、(3)和(6),可以得到血压和PTT之间的关系。
在上式表示的模型中,α1、α2、α3是模型需要拟合的参数。
信号预处理过程分为3步:PPG信号去噪、特征波检测和PPG信号中关键特征点定位、计算PTT。获取的心电信号和脉搏波信号中存在工频干扰、基线漂移和肌电干扰等噪声[14]。PPG的有效频带是0.5~15.0 Hz,所以利用带通滤波器即可去掉低频的基线漂移和高频噪声[15],对于异常值噪声则需要利用平滑滤波器来去除噪声。图1是原始的PPG信号;图2是经过去噪操作的PPG信号。
图1 原始PPG信号Fig.1 Original photoplethysmography(PPG)signal
图2 去噪之后的PPG信号Fig.2 PPG signal after denoising
要计算PTT,必须首先定位PPG信号中的关键点,具体流程如下[16]:(1)首先在心电信号中准确检测出波峰;(2)在两个波峰之间寻找PPG信号中振幅最大点,将该点对应的时间记为PPGp;(3)在两个波峰对应的时间索引之间寻找PPG斜率最大点,将该点对应的时间记为PPGd;(4)在两个波峰对应的时间索引之间寻找PPG振幅开始增大的地方,将该点对应的时间记为PPGf。图3是利用PPGp、PPGd和PPGf计算PTT的方式。以心电图中R波波峰点(即振幅最大的点)为起点,PPG信号中的3个关键点为终点,对应两点之间的距离就是对应的PTT。
图3 3种PTT的计算方式Fig.3 Calculation of 3 kinds of pulse transit time(PTT)
首先,为减少血压测量过程对脉搏波信号的影响,血压值是通过被测者的右手手臂测量得到的[17],同时为了使测得的血压值范围尽可能更大,在测量前让被测者运动3 min。其次,实验中测量部位选在耳后动脉和趾背动脉,得到脉搏波后,对其进行特征识别[18]。接着对数据进行去噪预处理,然后计算两个脉搏波之间的传播时间,进而根据病人生理信息获取PWV。在计算PWV的同时利用脉搏波的形态特征对PWV进行实时校正,针对不同身高和体重的人群,利用上述建立的PWV与血压之间变化规律的数学模型来计算人体的实时血压。血压监测系统工作流程如图4所示。
图4 血压监测系统工作流程示意图Fig.4 Working flowchart of blood pressure monitoring system
数据集采用文献[19]提供的60例公开数据,这些被测试者无病史,年龄为12~50岁。模型输入为被测试者的身高H、体重W和预先计算出来的PTT,输出为被测试者的血压值。采用MATLAB线性插值拟合的方法得到参数α1、α2、α3。使用3种不同的PTT作为对比,得到模型测试的血压结果如表1所示。表中,r是皮尔森相关系数[20],表示估计值和目标值之间的线性关系,介于‐1到1之间。r的绝对值越接近1,表示相关性越强,即预测的效果越好。
从表1可以看出来,基于PTTp的血压估计模型r值较高,说明效果较好。因此,本研究采用PTTp计算血压,表2给出了不同算法之间的对比结果。与传统方法相比,本研究提出的血压检测模型r值较高,效果较好。
表1 不同PTT生成的算法模型对比Tab.1 Comparison of different PTT algorithm models
表2 不同血压算法模型指标对比Tab.2 Comparison of different blood pressure algorithm models
本研究在传统PTT算法的基础上,增加身高和体重两个参数,改进了基于PTT的血压监测模型,实现对血压连续变化的检测,提高血压测量模型的鲁棒性和测量精度,有望应用于临床,对心血管疾病的预防、诊断都具有较大意义。但本模型仍然存在不足,首先,对于噪声严重的心电信号检测效果并不好,当噪声过于严重时,滤波器不足以滤除噪声;其次,模型的参数来源于有限的数据样本,尚需开展大范围人群的实验验证,涵盖各种不同年龄、健康程度的人群,提升模型的泛化能力和准确性。