万佳喜,邹玉华,韩国成,王 俊
(1.桂林电子科技大学 电子工程与自动化学院,广西 桂林 541004;2.桂林电子科技大学 生命与环境科学学院,广西 桂林 541004;3.中国科学院 深圳先进技术研究院,广东 深圳 518055)
血氧饱和度(SpO2)是衡量人体呼吸系统和血液循环系统是否正常的重要生理参数,医学上将其作为诊断冠心病、肺心病和一些低血氧症的重要依据[1-2]。脉搏血氧仪检测方式主要有两种:透射式和反射式。透射式脉搏血氧仪发展较为成熟,在临床中已广泛使用,但是由于其受到测量部位的限制,不能对体表(如额头、腹部)等部位进行检测,因此无法满足许多智能穿戴设备的要求。反射式血氧饱和度传感器因具有不受测量部位限制的优势而逐渐成为当今社会研究的主流[3]。
本文设计的反射式血氧饱和度检测系统为了满足便携、低功耗等要求,采用美信公司的高集成度血氧芯片MAX30100,不仅省去复杂的外围电路设计,还实现了脉搏信号的采集与预处理,缩小了整个系统的体积,提高了便携度。另外,本系统充分利用该模块自身特点进行外围电路设计和相关算法实现,降低了系统功耗,提高了系统稳定性。该系统在价格上相对于传统的血氧饱和度检测系统也具有一定的优势,为可穿戴监护设备的设计与研发提供了方便。经测试后,样机基本实现了脉率与血氧饱和度检测功能,为反射式血氧饱和度检测系统的研究提供了一种可参考的设计方案。
血氧饱和度是指动脉血液中氧合血红蛋白(HbO2)占全部可结合的血红蛋白(氧合血红蛋白与还原血红蛋白(Hb)之和)容量的百分率[4]。公式表达如下,其中CHbO2,CHb为脉搏血液中HbO2和Hb的容量。
(1)
脉搏血氧仪根据血液对光的吸收量随动脉搏动而变化的原理,由光吸收量的变化体现脉搏波的搏动状态,再根据不同含氧量的血液对不同波长吸光系数的不同来实现血氧饱和度测量[5]。如图1所示,在无搏动状态时,光吸收量是一个稳定的值;在有搏动状态时,输出光强度随动脉搏动而呈周期性变化,即光电容积脉搏波信号(PPG)。通常将动脉血流量的变化对光吸收量的改变视为交流分量(AC),其他组织部位光吸收量不变视为直流分量(DC)。
图1 光吸收量随动脉波动的变化
人体血液中氧合血红蛋白和还原血红蛋白对于不同波长光吸收系数是不同的[6-7]。根据朗伯-比尔定律(Lambert-Beer Law),当双波长光通过手指尖时,由于动脉搏动引起光吸收量的改变,其反射比(反射光强度比入射光强度)为
(2)
(3)
式(2)和式(3)中,εHbO2、εHb分别为氧合血红蛋白和还原血红蛋白的吸光系数;d为穿过血液的光程。两种光吸收之比定义为R,则有
(4)
把式(2)~式(4)代入式(1),简化得出
SpO2=A-B·R
(5)
在实际计算时,考虑到光散射的影响和人体组织的差异,通常采用经验公式来计算血氧饱和度值[8]。即
SpO2=AR2+BR+C
(6)
其中A、B、C通过实验标定的方式可以得出。
在传统的血氧饱和度检测系统中,脉搏信号采集模块一般采用分立式解决方案[9],即设计独立的LED驱动电路、放大电路、滤波电路和模/数(A/D)转换电路。这种设计导致硬件电路结构复杂、元器件数量变多、硬件板卡体积变大、便携度降低。而且分立元件存在参数的离散性,容易引入其他干扰。本文设计的系统硬件分为四个模块:电源模块、脉搏波采集模块、主控模块和蓝牙模块。电源模块由800 mAh锂电池和电池管理电路构成,为系统提供稳定的3.3 V和1.8 V电压。脉搏波采集模块是集光源、采集、滤波和数字化为一体的血氧传感器MAX30100,该芯片供电电压为1.8 V,标准的I2C通信接口,待机电流0.7 μA。主控模块采用Cortex-M3内核的STM32F103系列MCU,该类MCU具有高性能、低成本、低功耗等特点,被广泛应用于嵌入式系统当中。主控模块主要任务是控制MAX30100进行信号采集、接收和处理,计算血氧饱和度和脉率,然后将数据通过串口发送给蓝牙模块。蓝牙模块采用CC2540低功耗芯片,将血氧饱和度和脉率参数发送给智能终端,达到实时跟踪监控目的。系统硬件框图如图2所示。
图2 血氧饱和度检测系统结构框图
软件设计是实现血氧检测功能的核心,在结构上主要分为控制程序和信号处理程序。控制程序指系统整体流程,信号处理程序包括信号滤波程序与峰值检测程序。系统上电之后,主控程序读取启动参数,完成各个模块的初始化。信号采集模块完成对指尖脉搏信号的采样与预处理,并通过I2C总线将信号传送给主控芯片进行数字滤波处理、提取滤波后脉搏信号特征点和计算血氧饱和度与脉率,最后将血氧和滤波后信号通过蓝牙发送给智能终端设备。系统整体运行流程图如图3所示。考虑到系统功耗因素,若上电后在一段时间内未检测到信号,则系统自动进入超低功耗的睡眠模式。
图3 软件流程图
血氧饱和度估算的关键在于获得平滑的脉搏信号以及精准提取脉搏信号的特征点[10]。基于光电脉搏信号采集系统,反射式脉搏信号幅值较小,在信号采集过程中受到身体运动和外界环境的干扰,非常容易引入噪声,这些噪声主要包括:由呼吸和肌肉抖动造成的基线漂移、50 Hz工频干扰、白噪声以及运动伪差[11]。尽管MAX30100模拟前端包括硬件滤波处理,除去了部分噪声干扰,但是不能直接用于特征点提取算法。因此,在进行脉率以及血氧等生理参数估算前,必须进行数字滤波处理。
脉搏波信号属于微弱信号,主要能量分布在0.5~5 Hz[12]。常用的数字信号处理方法有两种:(1)低通-高通滤波器组合方法,本系统设计了截止频率为0.5~10 Hz的2阶Butterworth IIR 带通滤波器,得到滤波后的信号如图4所示;(2)小波变换滤波算法,小波变换不仅继承了傅里叶变换的优点,在时域与频域同时具有局部化特征,而且克服了传统傅里叶变换的不足,其窗口大小固定不变但形状可变,对信号有自适应性[13-14]。
本设计分别采用db3小波、db5小波、sym4小波和sym8小波对采样点数为1 000的脉搏血氧信号进行3层分解,采用强制去噪和默认阈值去噪两种方法对信号进行处理。强制去噪原理是将小波分解结构中的高频系数全部变为零,滤除全部的高频信号。同时默认阈值去噪的阈值由系统默认产生,删除小于阈值的系数,然后进行信号重构[15]。由图4可知,经过不同的小波变换后,脉搏波信号原有的高频噪声得到很好的抑制效果,变换后信号受噪声影响较小,较好地保留了脉搏波信号的特征点。
图4 基于小波阈值去噪后信号
实验通过SNR(信噪比)和MSE(均方误差)两个方面来评价去噪效果,信噪比越高、均方误差越小,去噪效果越好[16]。SNR与MSE定义如下
(7)
(8)
其中,xi为原始信号;yi为去噪后信号;N为采样点数。
表1 不同算法的去噪效果比较
由表1可知,在不同的小波变换中,基于db5小波默认阈值去噪后的SNR最大,说明db5小波默认阈值去噪方法处理脉搏波信号更彻底;sym8小波默认阈值去噪得到的MSE最小,说明sym8小波默认阈值去噪方法对脉搏波信号处理精度更高。结合血氧算法进行综合考虑,本设计采用db5小波对脉搏波信号进行3层分解,然后选用默认阈值去噪算法。
血氧饱和度计算的关键是得出R值的大小,而R值取决于脉搏波的直流分量与交流分量。直流分量通过对数据取平均值得到,交流分量则需要计算脉搏波信号的波峰波谷值。由于传统的幅度阈值法在一些异常的脉搏信号波峰检测过程中容易出现误检,尤其当潮波高于主波的时,容易将潮波检测为峰值。因此本文采用了一种改进的动态差分阈值法来提取脉搏波特征点。脉搏信号的主波具有上升迅速且平滑、幅度较大等特点[17],因此在一个脉搏信号周期内,主波上升阶段的差分值比其他地方的差分值都要大。具体做法是:首先对去噪后的脉搏信号进行一阶差分处理,采用动态阈值法确定差分后信号最大值点位置Q;然后在Q点附近范围内寻找脉搏信号的最大值点与最小值点,此即为脉搏波的波峰点与波谷点。如图5所示,这种方法避免了传统阈值法的误检,而且实现起来比较简单。
图5 脉搏信号特征点的提取
系统软硬件调试完成后,选择10名实验者进行测量。在测量过程中,要求测试者处于相对静止的状态,在这种条件下,将10个人的测量数据与迈瑞公司的MEC-2000便携式多参数监护仪所测数据进行对比。测试结果如表2所示,测试系统测量结果与监护仪测量的结果误差都在±3以内,说明本系统基本上实现了血氧饱和度的检测,并且达到了一定的精度与准确度,具有一定的应用价值。
表2 样机与监护仪测试结果对比
本设计根据血氧饱和度检测原理,从系统的软硬件设计、信号降噪方法和系统可行性等方面的进行了研究,提出了一种基于集成芯片MAX30100的反射式脉搏血氧饱和度检测系统的设计方案。系统从软硬件和元器件选型上充分考虑了便携、低功耗等特点,在保证功能完整的条件下,尽可能缩小了系统空间体积,为集成到智能手表、智能手环和健康T恤等可穿戴监护设备中创造条件。通过样机实验测试对比,测得的结果与市场上相对成熟的血氧饱和度监护仪具有良好的一致性。整体系统具有体积小、功耗低、精度高、操作简单等优点,并且高集成度芯片使得系统稳定性更好,为可穿戴监护设备的设计和研制提供了参考价值。