基于PPG信号的呼吸监测系统的研制

2022-08-03 03:38刘晨沁袁思念林高藏蔡世杰叶继伦张旭金浩
中国医疗器械杂志 2022年4期
关键词:波谷波峰脉搏

【作 者】刘晨沁 ,袁思念 ,林高藏 ,蔡世杰,叶继伦,,张旭,,金浩

1 深圳大学 医学部 生物医学工程学院,深圳市,518060

2 深圳市生物医学工程重点实验室,深圳市,518060

3 广东省生物医学信息检测与超声成像重点实验室、深圳市生物医学重点实验室,深圳市,518060

4 湖南泰瑞医疗科技有限公司,长沙市,410035

0 引言

呼吸是机体和组织与周围环境交换气体、保障机体正常活动的过程[1]。在临床上,连续监测呼吸的方法主要有两种,一种是具有侵扰性的呼吸气体流量法,另一种是容易产生干扰的胸阻抗法[2]。因此需要一种快速简单的呼吸测量方法。光电容积脉搏波(photoplethysmography,PPG)是一种通过光电血氧探头就能准确采集到的脉搏波信号,该采集方式方便、简单。有研究表明,当人体进行呼吸运动时,肺部的牵张感受器会感受到压力的变化,神经活动的变化会引起心率发生变化,而脉搏波就是源于心脏的搏动,因此,可以通过光电容积脉搏波来提取人体呼吸信号及其呼吸率[3]。

1 光电容积脉搏波及呼吸信号采集系统 设计

1.1 呼吸信号的采集

呼吸信号采集前端采用扳机压力传感器ABPDJNN001PDAA3,其测量精度达0.25%,同时可将呼吸压力值直接转换成电压值,然后再进行放大、滤波、A/D转换电路,完成信号输出。传感器输出电压Vo及低通截止频率计算公式如式(1)所示。

式中,Vs为压力传感器供电电压;Pmax为传感器标称压力最大值;Pmin为传感器标称压力最小值;Pb为呼吸压力。

1.2 光电容积脉搏波信号的采集

本系统采用成熟的指甲式脉搏血氧传感器作为采集前端,选择带H桥结构的可编程压控恒流源对光源进行驱动,然后再通过I/V转换、放大、滤波与A/D转换电路,得到光电容积脉搏波信号。

2 系统算法设计

2.1 脉搏波特征点提取

自适应阈值法能够自适应地更新阈值,实时、快速地定位到PPG信号的波峰波谷点,减少误检、漏检的情况,为后续算法提取呼吸波形及计算呼吸率做好铺垫[4]。自适应阈值法的流程框架如图1所示,首先,将PPG信号进行差分、积分,得到差分和信号,差分和信号的峰值点对应的是PPG信号上升最快处,其幅值记为SSF_max。此时,更新阈值TH=0.6×SSF_max。找到SSF_max后,往前找0.12 s个点的长度的PPG信号最小值,记为波谷点,往后找0.2 s个点的长度的PPG信号的最大值,记为波峰点。若超过2 s还未找到下一个波峰波谷时,重新设定TH=0,以便于快速找到下一个波峰波谷点。通过Matlab软件仿真效果如图2所示。

图1 自适应阈值法流程框架Fig.1 Flow chart of adaptive threshold method

图2 自适应阈值法找波峰波谷Fig.2 Adaptive threshold method for finding wave crest and wave trough

2.2 特征参数的提取

一般呼吸信号与脉搏波的峰值包络、峰峰间隔、峰值幅度、波形面积均有一定的相关性,而包络、间隔、幅度和面积这4个参数都是基于脉搏波波峰与波谷特征值进行计算得出的[1,5]。

(1)包络参数:包络参数为连续的多个PPG信号波峰点之间的连线。人体吸气与呼气过程会改变PPG信号的幅度,因此,可以在PPG信号的包络线上看出人体呼吸过程的变化。

(2)幅值参数:幅值参数为PPG信号波峰值点减去波谷点的幅值大小。人体呼吸过程不仅能改变PPG信号的包络参数,还能改变幅值参数。

(3)间隔参数:间隔参数为相邻两个波峰值点之间的间隔。呼吸时,迷走神经会使心率发生微弱的变化,而PPG的间隔参数的变化可以准确地反映出心率的变化,从而得出呼吸率的变化。

(4)面积参数:面积参数为一个脉搏波所围成的面积大小。

2.3 提取呼吸波形

由PPG信号提取呼吸波形的过程如图3所示。通过上述4个参数的计算,得到多个特征点,为了使得提取出的呼吸信号与PPG信号的采样率一致,将特征参数进行线性插值运算,然后再做平滑处理,得到四路呼吸信号。小波去噪后的四路呼吸信号,如图4所示。

图3 PPG提取呼吸波形流程框架Fig.3 Flow chart of respiratory waveform extraction by PPG

图4 小波去噪后的四路呼吸波形Fig.4 Four channel respiratory waveform after wavelet denoising

2.4 计算呼吸率

2.4.1 计算鼻气流呼吸信号呼吸率

标准呼吸率的计算采用了移动时间窗计算平均频率的方法。算法首先设置了一个30 s的时间窗,待鼻气流呼吸数据存满此时间窗后开始计算呼吸率。取时间窗内呼吸波的峰-峰间隔平均值,来计算平均呼吸率;待下一个呼吸信号到来后,时间窗往后移动,再次计算时间窗内的平均呼吸率,依次递推,实现实时呼吸率的计算。

为了保证计算出的标准呼吸率的准确性,算法实时标注呼吸波的波峰、波谷点,保证不会漏检与错检。该呼吸率1 s计算一次。

2.4.2 计算由PPG提取呼吸信号的呼吸率

许多研究者用傅里叶变换计算信号的功率谱,通过寻找功率谱幅值最大处对应的频率来计算呼吸信号频率,但该方法要达到较高的精度则需要较长的数据[6-7]。为了提高呼吸率的精度并缩短响应时间,本系统采用AR模型谱估计法来估计呼吸信号的功率谱,从而计算出呼吸率,实现用较少的数据得到较高的频率分辨率[8]。

本系统分别截取30 s小波去噪后的四路呼吸信号,使用burg法进行AR谱估计,使用赤池信息(Akaike information criterion,AIC)准则进行定阶,最终得到4个参数的AR谱。为防止由于噪声影响某一个参数,导致最后计算的呼吸率不准确的情况,本系统将4个AR谱采用“多数表决”的方式,将4个归一化后的0~1 Hz的谱值进行累加得到最终的融合谱,融合谱的最大值对应的频率即为呼吸率,如图5所示。该呼吸率1 s计算一次。

图5 4个参数的AR谱及其融合谱Fig.5 AR spectrum of four parameters and its fusion spectrum

3 系统实现及验证

3.1 光电容积脉搏波及呼吸信号采集系统

图6为硬件系统实物,本板卡可同步采集PPG信号与鼻气流呼吸信号。其中,PPG信号用于系统实时提取呼吸信号,计算呼吸率;鼻气流呼吸信号作为标准信号来进行对比验证算法提取的呼吸信号、计算的呼吸率的准确性与稳定性。

图6 系统硬件实物Fig.6 Physical picture of system hardware

3.2 系统上位机设计

本系统在Visual Studio 2012软件内搭建了一个可视化上位机,如图7所示。

图7 上位机功能展示Fig.7 Display diagram of upper computer function

上位机主要有以下几个功能:

(1)显示三路波形。

第一路为采集的脉搏波;第二路为采集的鼻气流呼吸波形,实时标记了呼吸波的波峰与波谷点,保证计算的标准呼吸率的准确性;第三路为使用间隔参数提取出的呼吸波形,提取出的呼吸波比鼻气流采集的呼吸波延迟了4 s左右。

(2)显示三组数据。

三组数据分别为脉率、鼻气流呼吸波计算的标准呼吸率和算法从PPG信号中提取呼吸波的呼吸率。

(3)显示AR谱阵列。

AR谱阵列可以显示一段时间提取的呼吸信号的频谱,横坐标为呼吸率,纵坐标为时间。从谱阵列中可以较为方便地看出呼吸率的变化趋势及算法的准确度。

(4)保存数据。

上位机可保存实时计算的标准呼吸率、算法提取的呼吸率以及4个参数单独计算的呼吸率,保存间隔为1 s。

3.3 实验结果

为了验证本系统计算呼吸率的稳定性与准确性,实验共采集了12名志愿者同一时刻的PPG和呼吸信号,志愿者年龄20~28岁不等,男女各6位,实验要求志愿者手指完好且未涂抹指甲油。

实验步骤:每位志愿者实验总长约为 8 min,待志愿者呼吸平稳后,开始保存数据。前5 min保持正常呼吸,后3 min逐渐加快呼吸,然后放慢呼吸,最后保持平稳呼吸。鼻气流呼吸波计算的标准呼吸率与算法提取的呼吸波计算的呼吸率均是1 s保存1次,总共保存了约5 760个样本。本算法提取的呼吸率与鼻气流标准呼吸率的均方根误差,记为STD,计算式如式(2)所示。

式中,n为样本点;Y为鼻气流呼吸信号计算的标准呼吸率;X为本系统算法从脉搏波中提取的最终呼吸率。

同理,单个参数计算出的呼吸率与标准呼吸率的均方根误差STD(X1,Y)、STD(X2,Y)、STD(X3,Y)、STD(X4,Y),其中,X1为单独使用包络参数提取的呼吸率,X2为单独使用幅值参数提取的呼吸率,X3为单独使用间隔参数提取的呼吸率,X4为单独使用面积参数提取的呼吸率,其中以及志愿者加快呼吸至平稳呼吸时,算法计算出的呼吸率与标准呼吸率之间的延迟时间,如表1所示。

表1 不同参数提取的呼吸率与标准呼吸率的均方根误差(次/分)对比表Tab.1 Comparison table of root mean square error (times/min) between the respiratory rate extracted by different parameters and the standard respiratory rate

图8所示是7号志愿者呼吸率趋势对比,志愿者在第349秒左右开始加快呼吸,呼吸率由13次/分加快到25次/分,在第423秒左右开始减缓呼吸。系统随即做出响应,响应时间约为13 s,实现了较好的稳定性与实时性。

图8 7号志愿者呼吸率趋势对比Fig.8 Comparison chart of respiratory rate trend of No.7 volunteer

4 讨论

系统利用脉搏波信号的4种参数提取呼吸信号,将这4种参数进行AR谱估计,且用“多数表决”的方式进行AR谱融合,得出呼吸率。从表1的数据可以得出,系统算法计算出的呼吸率与标准呼吸率相差较小,仅为1.05次/分,优于单个参数谱估计提取的呼吸率:包络参数(2.53次/分)、幅值参数(1.53次/分)、间隔参数(1.25次/分)、面积参数(1.32次/分)。当志愿者加快呼吸且保持一段时间后,算法计算的呼吸率趋于稳定的平均延迟时间,约为15.33 s。对不同的志愿者来说,如表1中1、2、4、8、10、11号志愿者,某一个或多个参数计算出的呼吸率有很大误差,而本系统提出的算法利用融合谱均衡了4个参数的信息,保证了呼吸率的最优解。

许多研究者对多个参数的功率谱融合一般采用求平均或多次实验赋权值的方法,这两种方法的噪声影响大,不稳定,不具备普遍适用性[1]。本系统提出了用多个AR谱进行“多数表决”的方式进行谱融合,融合谱均衡了4个参数的信息,保证了呼吸率的最优解,同时不被较差的参数影响,提高了算法的稳定性与准确度,且实现了较短的响应时间,实时性强。

5 结论

本研究建立了依据PPG用多个AR谱进行“多数表决”的方式,实现从光电容积脉搏波中实时提取呼吸波形及计算实时呼吸率,并具有准确性高、响应时间短、稳定性与普适性强等特性,这对于阻塞性睡眠呼吸暂停低通气综合征患者的监护、围术期的监测,以及对重症患者的监护均有重要意义[6]。后续将开展进一步优化和工程实现,集成相关算法引擎到应用系统中进行确认,增强其易用性,为更广泛的应用提供参考。

猜你喜欢
波谷波峰脉搏
炮制工程骗钱的“甲方”
板厚与波高对波纹钢管涵受力性能影响分析
维数约化的弱耦合KP-Boussinesq方程的lump解和有理解
梅缘稻
波峰焊接技术现状及绿色化设计方向
中空玻璃胶接结构界面脱粘缺陷的超声与X射线检测研究
用心感受狗狗的脉搏
光电式脉搏波检测系统的研究
基于音节时间长度高斯拟合的汉语音节切分方法
沈安娜:按住蒋介石脉搏的谍战玫瑰