一种基于ZigBee 的无线心率血氧实时监测系统研究

2022-10-19 06:59姚立平刘伟章谭仲威唐元梁吴文明
科技创新与应用 2022年29期
关键词:血氧饱和度脉搏

姚立平,刘伟章,谭仲威,唐元梁,雷 鹏,吴文明,顾 珩

(1.广东省科学院生物与医学工程研究所 国家医疗保健器具工程技术研究中心 广东省医用电子仪器设备及高分子材料制品重点实验室,广州 510500;2.华南农业大学 数学与信息学院,广州 510642)

近年来,人们的生活压力加大,加上较少的户外运动,导致心血管的发病率逐年增加。研究发现血氧饱和度、心输出量和心率等生命体征与心血管系统紧密相关,可作为临床诊断和治疗的依据,因此对人体进行生命体征监测十分重要[1-2]。血氧饱和度作为血氧氧含量的表征,人体动脉中的氧含量是人体是否缺氧的直观反映,而心率在一定程度上可以反映心血管健康问题,目前大部分医院使用血氧仪检测患者的血氧,使用心电监护器监测心率,通过人工登记到电脑上[3]。这种心率和血氧检测方式次数有限,增加了护士的工作量,同时也增加了错误数据的发生率。此外,心电检测这种方式在患者身上布置很多线,严重影响患者的舒适度。本文提出了一种基于ZigBee 的无线心率血氧实时监测系统,以STM32 微控制器为控制核心,使用MAX30102 血氧心率集成芯片传感器采集脉搏波信号,由于采集的原始脉搏波信号携带着低频基线漂移和高频的噪声抖动,因此需经过STM32 微控制器的信号预处理,对得到干净的脉搏波信号进行特征提取,从而计算当前的心率及血氧饱和度。系统的液晶显示屏实时显示当前测得的心率及血氧饱和度值,并使用ZigBee 无线传输与PC 端上位机进行数据交互,从而实现了系统对心率血氧实时的无线远程监控,并具有对检测到异常的心率血氧值的报警提示功能,具有准确度高、连续监测、抗干扰能力强及具有高度的自适应能力,为医院护士站对患者的心率血氧实时监测提供了一种解决方案。

1 心率及血氧饱和度监测原理

心率是指人心脏每分钟跳动的次数,正常人安静状态下的心率值一般为60~100 次/min[4]。本文依据k个周期内红外光源接收的发射光信号各个相邻波峰之间的平均间隔来计算心率,计算的公式如下

式中:peaki为k 个周期的第i 个峰值横坐标;aνg_dist表示k 个周期内相邻2 波峰的间隔平均值;fs 为采样率,fs=100 Hz。

血氧饱和度是指血液中被氧结合的氧合血红蛋白(HbO2)的容量占全部可结合的血红蛋白的百分比,即血液中的氧含量[5]。氧通过呼吸进入细胞进而被血红蛋白氧合,如果吸入的氧气不足,生命可能会出现危险。及时测量脉搏血氧饱和度大小,是判断人体是否缺氧或者出现相关疾病的重要措施[6]。

在脉搏血氧测量方法中,忽略动脉血管中其他成分影响仅考虑氧和血红蛋白(HbO2)和还原血红蛋白(Hb),结合朗伯比尔定律及光电学容积脉搏波描记法作为理论基础。因此血氧饱和度定义[7]为:

式中:CHbO2为血红蛋白(HbO2)的含量。

根据朗伯比尔定律可知,一定波长的光射到体表,其透射的光强度为

式中:投射光强度I 包括恒定直流脉动部分(DC)和交流脉动部分(AC);I0为初始光强度;D1,D2分别为直流脉动光程和交流脉动光程;ε0、C0分别表示指端组织中非脉动成分和静脉血总的吸光系数及吸收光的物质含量;εHbO2、CHbO2分别表示动脉血液中血红蛋白HbO2的吸光系数和含量;εHb、CHb则分别表示动脉血液中还原血红蛋白Hb 的吸光系数和含量。

采用2 种不同波长λ1=660 nm 和λ2=990 nm 的光进行照射,则吸光率变化比值定义为

联系式(3),可以得到脉搏血氧测量方法中的血氧饱和度值为

因此,血氧饱和度的计算公式在实际应用当中可以用线性函数或者二次函数关系式表达。

2 无线心率血氧实时监测系统

图1 无线心率血氧实时监测系统基本组成

2.1 系统硬件设计

本系统的硬件电路是基于STM32 处理器为控制核心,使用MAX30102 血氧心率检测传感器采集脉搏波信号,辅以TFTLCD 液晶屏显示、无线ZigBee 单元及声光提示等外围电路构建的检测系统。其中,MAX30102 血氧心率传感器是一个集成高灵敏度脉搏血氧仪和心率生物传感器的模块,含有多个LED、光电检测器、光学器件以及带环境光抑制的低噪声电子电路,电路中包含1.8 V 的集成稳压芯片,为血氧传感器提供工作电压,驱动2 路不同波长的LED 交替照射患者手腕处,入射光经由皮肤组织吸收后,由光敏三极管接收,将接收到的光信号放大后进行A/D 转换,然后存放到内部先入先出(FIFO)存储器中,STM32 微处理器通过IIC 接口配置传感器寄存器,并读取内部FIFO 存储器的脉搏波信号,应用电路如图2 所示。

图2 MAX30102 血氧心率传感器基本电路

系统的主控芯片选用STM32F103RCT6,供电范围2.0~3.6 V,最高主频72 MHz,265 Kb 程序存储器,拥有丰富的片内外设资源,大量应用在嵌入式设备中。使用GPIO 口模拟8080 总线方式操作TFTLCD 液晶显示屏,用于显示当前测得实时的血氧饱和度值和心率值等人体特征信息。ZigBee 是一种基于IEEE.802.15.4 无线传输协议标准研发的无线网络协议,主要工作频段在2.4 GHz。本系统使用CC2530F256 低功耗无线控制器作为传感器节点,可配置为点对点或者广播工作模式,与上位机端实现无线数据交互,实现心率及血氧饱和度值的远程监控。使用高电平驱动的无源蜂鸣器和LED 闪烁灯作为系统运行状态指示;当系统监测到异常的心率值和血氧饱和度值时,会产生声光报警指示。此外,系统电源模块由USB 供电或者外接电源输入供电,由ASM117 直流稳压供电模块[11]输出3V3 电压为主芯片供电,系统的微处理器电路部分如图3 所示。

图3 系统微处理器部分外围电路

2.2 系统软件设计

首先系统上电进行程序初始化,包括系统时钟、MAX30102 传感器、TFT 液晶显示屏、ZigBee 无线单元和定时器中断等的初始化配置;接着,STM32 微控制器使用IIC 接口操作MAX30102 传感器读取FIFO 寄存器中采集的脉搏波信号,采样频率100 kHz,采样时间设定5 s,对原始的脉搏波信号进行滤波预处理,对干净的脉搏波信号进行特征点提取,从而计算当前的心率、血氧饱和度值,系统液晶屏显示当前的心率、血氧饱和度值,并进行异常检测,使用无线ZigBee 与上位机进行数据交互,如图4 所示。

图4 系统程序基本流程图

由于原始的脉搏波信号在采集过程中伴有高频抖动噪声和低频基线漂移,因此本系统采用移动均值滤波方法对脉搏波信号展开滤波处理,采集的原始脉搏波信号x(k)(k=1,2,…,n),将信号进行去均值化处理,如式(7)所示。

式中:k∈(1,2,…,n);x(′k)是去均值化的滤波信号。

采用m 点移动平均滤波,则脉搏波信号x′(k)经过移动均值滤波得到滤波信号y(k),如式(8)所示。

式中:k 为当前的信号点数;m 为移动平均滤波器的点数;y(k)为移动平均滤波脉搏波信号。

获得干净的脉搏波信号后,程序通过计算各点的斜率,检测上升支部分大于设定阈值的点的位置,再检测信号第一个下降的位置,从而检测到信号的极大值点。此外,对于信号平坦部分使用变量width 累加跳过脉搏波信号这部分没有极值点的区域;类似地,采用斜率法提取脉搏波信号的波谷极值点。

确定好脉搏波信号的各个极值点后,从而确定好信号上下包络线,则上下包络线的均值为直流分量,上下包络间的差值为交流分量,然后再代入血氧饱和度计算公式,如式(6)所示,从而计算当前测量的血氧饱和度值;依据心率计算公式(2),即可计算出当前测得心率值。系统显示当前测得心率血氧饱和度值,同时使用无线ZigBee 模块与上位机进行数据交互,实现了系统对心率、血氧饱和度值等生命体征进行远程监控。此外,系统会对得到的当前的心率血氧值进一步异常判断,如果测得心率值小于60 或者大于100、血氧值小于94%,则判定体征异常[12],便执行系统的声光报警装置程序,同时将异常信号使用ZigBee无线传输到上位机中,实现了对个体的生理体征的远程监控功能。

3 实验结果及分析

本文设计了一种以STM32 微控制器为控制核心,使用MAX30102 传感器采集脉搏波信号,通过STM32微处理器对采集的脉搏信号进行滤波、特征提取,从而计算当前的心率及血氧饱和度值,并显示在液晶显示屏上。此外,使用ZigBee 将实时的心率及血氧饱和度无线传输到上位机,实现了对心率血氧实时的无线远程监控。

为了检测系统的测量准确性,将设计的系统与鱼跃式指夹式血氧仪YX102 检测设备作对比。选择5 名实验者,每名实验者测试前静坐在椅子上,使用本文设计的心率血氧监测系统和指夹式血氧仪设备进行心率血氧测量,每个实验者测试5 次,并记录好测试结果,本系统5 次测试结果和血氧仪YX102 设备的测试结果见表1—表4,对测试结果进行统计误差分析见表5。

从表1 和表2 的心率测试结果值可以看出,本系统与指夹式血氧仪YX102 检测设备单点的心率测量误差在±5 次/min 之间,约99%的单点心率误差在±3次/min 内,约84%的单点心率误差在±2 次/min 内;从表3 和表4 的血氧测试数据可以得出,本系统与指夹式血氧仪YX102 检测设备单点的血氧测量误差在±2%以内,约84%的单点血氧误差值在±1%以内。从表5 的心率血氧测试平均误差值可以看出,5 次的心率平均误差值最大为±1.8 次/min,5 次的血氧平均误差值最大为1.4%。实验结果表明,设计的系统对心率及血氧测量结果较为准确,具有一定的稳定性和抗干扰能力,且系统的成本低、操作简易方便,为医院生命体征的采集和监控提供了一种智能化解决方案。

表1 本系统心率测试值

表2 YX102 设备心率测试值

表3 本系统血氧测试值

表4 YX102 设备血氧测试值

表5 本系统与YX102 设备心率血氧测试平均误差值

4 结束语

针对当前医院主要使用血氧仪检测住院患者的心率血氧值,并人工登记在电脑上,这种检测方法次数有限,增加了护士的工作量,也增加了错误数据的发生率。因此,本文提出了一种基于ZigBee 的无线心率血氧实时监测系统,设计的系统以STM32 微控制器为控制核心,使用MAX30102 传感器采集指尖脉搏波信号,并通过STM32 对脉搏波信号的滤波处理和特征点提取,从而计算当前的心率及血氧值,并对系统的异常心率血氧值进行声光报警提示。系统的液晶屏显示当前的心率血氧值,并伴有声光运行状态提示,使用ZigBee单元与上位机实现无线数据交互,实现对人体生命体征心率血氧的实时远程监控。经过实验测试,该系统能够准确地监测心率血氧值,具有操作简易方便,成本低等特点,为医院护士站对患者的心率血氧实时监测提供了一种解决方案。

猜你喜欢
血氧饱和度脉搏
糖臬之吻
谁是逃跑的劫匪
脉搏血氧饱和度监测在胸外科中的应用
用心感受狗狗的脉搏
细节护理对呼吸内科重症患者的临床效果
无创呼吸机应用于治疗ICU病房重症心力衰竭合并呼吸衰竭患者的临床研究
基于STM32血氧心率检测仪的研制
脉搏的检查及与脉搏异常相关的疾病
制作一个泥土饱和度测试仪