一种血氧饱和度检测方法及系统
技术领域
本发明涉及医疗器械技术领域,具体涉及血氧饱和度检测技术,特别涉及一种血氧饱和度检测方法及系统。
背景技术
无创血氧饱和度检测是基于动脉血液对光的吸收量随动脉波动而变化的原理。透射式血氧饱和度检测中,当透光区域动脉血管搏动时,动脉血液对光的吸收量将随之变化,称为脉动分量或交流量(AC);而皮肤、肌肉、骨骼和静脉血等其他组织对光的吸收是恒定不变的,称为直流量(DC)。如果忽略由于散射、反射等因素造成的衰减。根据比尔-朗伯定律(Beer-LambertLaw)可以知道,
其中,Iout是光电探测器的输出电流,Iin是二极管的输入电流(对应不同的红光和红外光),C是血液的浓度,L是两个LED和探测器之间的距离,S是饱和度,βo和βr分别表示材料系数。
血氧饱和度计算中常常先计算比率值R(RatioofRatios),再根据R来计算血氧饱和度,血氧饱和度测量的关键也就在于R值的计算。如果R值的计算精度得以提高,那么血氧饱和度的测量精度就相应的提高。
目前,对R值的计算广泛使用的是峰-峰值法。在每个脉搏期间红光/红外光的波形具有一个最大值和最小值,分别为RH,RL。其中,RL对应的是心脏收缩时,即动脉血体积最大时的值;RH对应的是心脏舒张时,即动脉血体积最小时的值。考虑到光通过均匀介质的延时系数,可以表示为:
其中,Io表示入射光强度,α表示组织吸光率,αA表示动脉血吸光率,λR表示吸光系数,d表示穿透距离,Δd表示心脏收缩和舒张造成的变化量。
相似地,
将以上两个等式作一个比值,得到
两边取对数,得到
同样地,红外光可以得到
其中,IRL表示红外光最小值;IRH表示红外光最大值。
通过以上公式,可以得到
从以上公式描述中可以看出,采用峰-峰值法计算的比率值仅与脉搏信号的峰值点和谷值点信号相关,因此这种算法的信噪比不高,比率值容易受到干扰信号的影响。
为了提高信噪比,最近又出现了一种叫做微分法的方法,与峰-峰值法不同的是,微分法并不选择峰值点和谷值点进行计算,而是在峰值和谷值之间选取一段样本点进行微分计算,即采用相邻两点之间红光/红外光交流量的差值与其直流值分别的比值,两个比值再求比值。最后,将得到的所有比率值平均后得到该段数据的平均比率值。微分法计算公式如下:
其中,Iout是光电探测器的输出电流,Iin是二极管的输入电流(对应不同的红光和红外光),C是血液浓度,L是LED灯与探测器之间的距离,S是饱和度,β0和βr分别表示材料系数。
又由
得到
将两个波形相除,即可得到比率
即
求平均后得到
从以上微分法的计算公式中可以知道,比率值计算方式与选取的每个样本点的交流量相关,即通过增加样本点的方式,提高了算法的信噪比。但是,由于微分法是选取脉搏波形中任意一段数据,这样的方式没有考虑到脉搏波形各段在计算血氧饱和度时所占的权重,降低了血氧饱和度计算的精确度。
综上所述,目前为了能够提高血氧饱和度测量的精度,主要采用了峰-峰值法和微分法来计算比率值。对于峰-峰值法,当人体血氧饱和度低于80%时,峰-峰值法得到的血氧饱和度曲线峰值并不能够准确地表示血氧饱和度,因此并不能很好地解决低饱和度的问题。对于微分法,由于通过计算每相邻两点之间的比率值来求得该段样本点的比率值,虽然可以降低噪声对信号的影响,但是由于其比率值与每相邻的样本点的比率值相关,当出现一个或一组噪声信号时,最后通过计算得到的平均比率值将受到很大的影响。所以,现有检测血氧饱和度的方法均存在检测精度不高的问题,需要改进。
发明内容
本发明所要解决的技术问题之一是提供一种血氧饱和度检测方法,来解决现有血氧饱和度检测方法检测精度不高的问题。
为解决上述技术问题,本发明采用如下技术方案:
一种血氧饱和度检测方法,其包括运算处理的步骤,所述运算处理具体包括如下步骤:
S1)、对采集数据进行预处理,即对AD采样电路采集到的检测数据进行预处理,消除工频干扰以及其它的高频干扰;
S2)、标准模型建立,建立一个标准模型,用于后面的波形特征判断;
S3)、利用SSF算法求得斜率和数据,即利用SSF算法求得斜率和数据,得到波形斜率和最大点的值和该点的位置;
S4)、波形特征判断,根据脉搏波形的特征,判断该波形是否为合格的脉搏波形;
S5)、逐个提取脉搏波形,即逐个提取通过波形特征判断的各个脉搏波形,以便进行后续的计算;
S6)、血氧饱和度计算,即计算出R值之后,再根据R值计算血氧饱和度值;计算R值的公式为:
其中:λ1为(红外光),λ2为(红光),t为时间,表示第i点红光的交流量,表示第i点红外光的交流量,Irdc表示红光的直流量,Iirdc表示红外光的直流量。
本发明所要解决的技术问题之二是相应的提供一种血氧饱和度检测系统,来解决现有血氧饱和度检测系统检测精度不高的问题。
为解决上述技术问题,本发明采用如下技术方案:
一种血氧饱和度检测系统,包括中央处理器,所述中央处理器包括数据处理单元,所述数据处理单元包括顺序设置的:预处理装置、建立标准模型装置、SSF处理装置、波形特征判断装置、逐个提取脉搏波形装置和计算R值装置和计算血氧饱和度装置;
所述预处理装置用于对输入中央处理器的采集数据进行预处理;
所述标准模型建立装置用于建立标准模型;
所述SSF算法装置用于利用SSF算法求得波形斜率和最大点的值及其位置;
所述波形特征判断装置用于进行波形特征判断;
所述血氧饱和度计算装置用于计算出R值,并最终根据R值计算出对应的血氧饱和度;所述R值的计算公式为:
其中:λ1为(红外光),λ2为(红光),t为时间,表示第i点红光的交流量,表示第i点红外光的交流量,Irdc表示红光的直流量,Iirdc表示红外光的直流量。
本发明的有益效果是:
采用了本发明技术方案血氧饱和度检测方法的血氧饱和度检测系统,由于在计算中选择脉搏波形中斜率和最大值点附近的采样数据作为计算血氧饱和度的样本点,因而更加能够代表人体中血液饱和度的含量,避免了峰值点/谷值点作为特征值点提取时由于噪声干扰带来的计算误差,从而可以有效地降低噪声干扰,提高血氧饱和度的信噪比,从而提高血氧饱和度的检测精度。
附图说明
图1是本发明具体实施方式中血氧饱和度检测系统的电路结构示意图。
图2是脉搏波形下降沿微分和-时间图。
图3是本发明具体实施方式中血氧饱和度检测方法中的时域原理框图。
图4是本发明具体实施方式中血氧饱和度检测方法中的波形特征判断原理框图。
图5是本发明具体实施方式中数据处理单元的组成原理示意框图。
下面将结合附图对本发明作进一步详述。
具体实施方式
如图1所示,本具体实施方式提供的一种血氧饱和度检测系统,包括:探头、差分放大电路、AD采样、中央处理器、电源电路和光电驱动电路。
其中中央处理器在本具体实施方式中采用MCU(微处理器),MCU又具体包括:数据处理单元、逻辑控制单元、数据存储器、临时存储器和数据接口。
数据处理单元用于进行数据运算等数据处理。逻辑控制单元与光电驱动电路连接,用于输出控制信号,对光电驱动电路进行逻辑控制。其实本具体实施方式中,MCU对血氧饱和度检测系统各个部分的控制,都是通过逻辑控制部分来实现控制的,比如:探头发光的时序控制、驱动电流控制、偏置电流控制、背景光剪除控制、信号A/D转换控制等。
数据接口用于与外界上位机等进行数据交换。本处的数据接口采用串口,当然也可以采用其它常用的数据接口。数据存储器用于存储数据,本处采用Flash(闪存)作为数据存储器,当然也可以采用微硬盘等其它数据存储器。临时存储器用于临时存储数据,本处采用RAM(randomaccessmemory,随机存取存储器)临时存储数据。
电源电路用于为血氧饱和度检测系统提供电力驱动,具体而言除了为光电驱动电路提供电力之外,还能为MCU提供数字+3.3V,以及模拟3.3V的电力。
所述探头用于产生检测信号,其包括至少一个红光发射器和一个红外光发射器,以及一个探测器(即光敏二极管)。光电驱动电路与探头的红光发射器和红外光发射器分别连接,在MCU中逻辑控制单元的控制下,输出相应参数的电流,驱动红光发射器和红外光发射器工作而交替发射红光和红外光,以保证探测器能输出一定规格的检测电信号。本处的红光发射器和红外光发射器分别为红光LED(发光二极管)和红外光LED,且所述红光LED和红外光LED交替设置。
所述探测器与前述红光发射器和红外光发射器相对设置,其间间隔大约一个手指宽的距离,使用时被测者以其手指头伸入到探头内,且位于红光发射器和红外光发射器与探测器之间,红光发射器和红外光发射器发射的红光和红外光透过手指后被探测器接收,即产生了检测电信号。
探测器通过差分放大电路、AD采样电路与MCU连接。差分放大电路用于对探头产生的检测电信号进行差分放大、背景光电流剪除、增益调节、偏置电流剪除等处理,然后送入到AD采样电路进行进一步处理。AD采样电路用于将差分放大电路传送过来的模拟检测电信号,通过AD采样转换成数字信号的检测数据,送给后续的MCU进行进一步处理及运算,最终生成血氧饱和度数据存储在RAM中,然后通过数据接口传输给上位机。优选的技术方案中,数据接口还不直接与上位机连接,而是通过光耦进行了隔离。
本发明主要采用斜率和方法计算R值,并最终计算血氧饱和度。斜率和方法的基本思路是:
首先对两路采集信号分别作微分处理;为了减小运算,将下降沿斜率置零,仅保留上升沿斜率;此时脉搏波形下降沿微分和-时间的曲线如图2所示。由图2可以看出,各个脉搏波的斜率和的值都比较接近,斜率和最大点位置(如图2中的A1、A2、A3、A4点)即对应心脏收缩达到极限的时间点。本具体实施方式的血氧饱和度检测方法,选择如图2所示的脉搏波形上升沿斜率最大值点的采样数据,作为计算血氧饱和度的样本点,因而最大程度地代表了血氧信号,提高了血氧饱和度计算的精度和抗干扰能力。
然后,通过判断,查找到各个脉搏波形的斜率最大点,进行一个固定长度的窗口的数据叠加(叠加的方法如:a1=a1+a2+..an,其中n即为窗长度),从而得到各脉搏波形中斜率和最大点,该点的值表示该脉搏波斜率最大处的波形面积。该点的位置表示该斜率和最大值点的位置。然后即可通过变化的波形面积,计算R值,最后用R值计算血氧饱和度;另外,还可以通过斜率最大值点的位置计算脉率。
本具体实施方式与现有技术最大的不同点在于MCU中的运算处理,运算处理的流程如图3所示,包括如下步骤:
1、对采集数据进行预处理,即对AD采样电路采集到的检测数据进行预处理,消除工频干扰以及其它的高频干扰。
2、利用ICA算法处理数据,即利用ICA(独立成分分析)算法处理检测数据,将多种相互独立的信号分离,得到干净的脉搏波形。需要补充的是,本步并非必要,但是有了本步之后可以达到更好的效果。
3、标准模型建立,建立一个标准模型,用于后面的波形特征判断。
标准模型建立是将前面判断得到的50个或更多的脉搏波作归一化处理,按照不同的权重关系,得到脉搏波形每一点的均值,该组均值即表示当前的标准脉搏波形。随着检测的进行,标准脉搏波形也在不断地更新。
4、利用SSF算法求得斜率数据,即利用SSF(斜率和,SlopeSumFunction)算法求得斜率数据,得到波形斜率最大点的值(即图2中的纵坐标值)和该点的位置(即图2中横坐标的值)。由图2可以看出,各个脉搏波的斜率和的值都比较接近,斜率和最大点位置(如图2中的A1、A2、A3、A4点)即对应心脏收缩达到极限的时间点。本具体实施方式的血氧饱和度检测方法,选择如图2所示的脉搏波形上升沿斜率最大值点的采样数据,作为计算血氧饱和度的样本点,因而最大程度地代表了血氧信号,提高了血氧饱和度计算的精度和抗干扰能力。
5、波形特征判断,根据脉搏波形的特征,判断该波形是否为合格的脉搏波形,具体判断流程如图4所示,经过判断后,可以将合格的脉搏波形逐个地提取出来。
图4中,分别通过脉搏波形的上升沿和下降沿的斜率,脉搏波的幅度以及脉搏波的宽度来判断该波形是否为脉搏波形。具体而言,先进行斜率比判断,若不符合斜率比,则丢弃该波形;若符合,则进一步进行幅度判断。若不符合幅度,则丢弃该波形;若符合,则进一步进行宽度判断。若不符合宽度,则丢弃该波形;若符合,则进一步进行标准模型对比。标准模型对比若不符合,则丢弃该波形;若无问题,则提取波形进行后续的信号质量指数计算。
6、逐个提取脉搏波形,即逐个提取通过波形特征判断的各个脉搏波形,以便进行后续的计算。
7、信号质量指数计算
本具体实施方式的时域计算中,采用双同步(PlethR,红光长度和PlethIR,红外光长度)通道间脉搏识别算法,来比较评估信号质量指数。其中,采用SSF算法识别脉搏波斜率最大值点位置的方法同时对PlethR和PlethIR信号进行识别。
信号质量指数用于后续的卡尔曼滤波,信号质量指数计算公式如下所示:
SQI(k)i=max(Nmatch(k,w)/Nall(k,w))
其中,Nmatch表示PlethR和PlethIR信号互相匹配的脉搏波个数,Nall表示PlethR和PlethIR信号找到的脉搏波个数的和减去匹配个数,即Nall=Nred+Nir-Nmatch,k表示当前分析的采样点数,w表示滑动分析窗口宽度,一般取10s。
在matlab(MatrixLaboratory,矩阵实验室)仿真中,选择窗体长度为10s,MCU中,选择长度为8s。
8、卡尔曼滤波
卡尔曼滤波是通过信号质量指数调整卡尔曼滤波的收敛速度,以得到更加接近真实的脉率值;它相当于一把筛子,可以将一些值过滤掉,因此本步并非必要,但是有了本步之后能达到更好的效果。
卡尔曼滤波属于现有技术,本文在此不予详述,但是需要强调的是,本步的卡尔曼滤波根据计算目的而有所不同,具体而言,PR计算部分的卡尔曼滤波是针对每个被检测出的脉搏波形的长度进行滤波,而SPO2计算部分的卡尔曼滤波是针对比率值R进行滤波先算R值,再对R值进行卡尔曼滤波,最后通过查表得到SpO2值。
9、血氧饱和度计算
信号质量指数计算之后就可进一步计算SPO2(末梢血氧饱和度)。SPO2的计算关键在于R值的计算,计算出R值之后,再根据R值计算血氧饱和度值就很容易了,本文对此不再详述。
R值的计算具体而言,就是通过计算一个完整的脉搏波形信号的斜率最大值点附近面积变化量的方式来求比率值R。其中,将脉搏中各点交流面积变化量比上直流面积,最后求和,再作比值,公式如下所示:
其中,表示第i点红光的交流量,表示第i点红外光的交流量,Irdc表示红光的直流量,Iirdc表示红外光的直流量。
需要强调的是,虽然各种血氧饱和度测量仪中R值与血氧饱和度可能有不同的对应关系,但是R值与血氧饱和度肯定是一一对应的,所以如果R值精度提高,那么血氧饱和度精度一定提高。本申请的关键在于通过提高R值的计算精度,来提高血氧饱和度测量的精度,因此只要R值的计算采用了本申请的技术方案,不论后续R值如何对应最终的血氧饱和度,都应该在本申请的保护范围之内。
如图5所示,本具体实施方式中与上述血氧饱和度检测方法对应的血氧饱和度检测系统,与现有技术关键的不同点就在于数据处理单元包括顺序连接的:预处理装置、ICA处理装置、建立标准模型装置、SSF处理装置、波形特征判断装置、逐个提取脉搏波形装置、计算信号质量指数装置、计算脉搏波形相邻峰峰间距装置、间距卡尔曼滤波装置、计算脉率装置、计算R值装置、R值卡尔曼滤波装置和计算血氧饱和度装置。
其中的所述预处理装置,用于对A/D转换电路输入中央处理器的采集数据进行预处理;ICA算法处理装置用于利用ICA算法对数据进行处理;标准模型建立装置用于建立标准模型;SSF算法装置用于利用SSF算法求得斜率和数据;波形特征判断装置用于进行波形特征判断;波形提取装置用于逐个提取通过了波形特征判断的波形;信号质量指数计算装置用于计算波形提取装置所提出的波形的信号质量指数;所述计算脉搏波形峰峰间距装置用于计算脉搏波形斜率和的峰峰值之间的间距,间距卡尔曼滤波装置对峰峰值之间的间距进行卡尔曼滤波;计算脉率装置用于计算脉率;所述计算R值装置用于计算R值;R值卡尔曼滤波装置用于对R值进行卡尔曼滤波;计算血氧饱和度装置根据卡尔曼滤波后的R值得到相应的血氧饱和度。
本发明在计算中选择脉搏波形中斜率和最大值点(如图1中A1,A2,A3,A4点)附近的采样数据作为计算血氧饱和度的样本点。从生理角度分析,斜率最大值附近的采样点即为心脏收缩时的数据,选择该部分的样本点来计算血氧饱和度将更加能够代表人体中血液饱和度的含量。综上所述,本发明以斜率和最大值点作为特征点提取,避免了峰值点/谷值点作为特征值点提取时由于噪声干扰带来的计算误差,因而可以有效地降低噪声干扰,提高血氧饱和度的信噪比,从而提高血氧饱和度的检测精度。
由图3和图5可见,信号质量指数计算之后,还可进一步计算PR(pulserate,脉搏频率,简称脉率)。
脉率计算公式如下所示
其中f是采样频率,n1、n2分别是波形的斜率数据中相邻两斜率和最大点的位置。
本具体实施方式中,n2=80,n1=20,f=75,得到脉率
PR=75×60/(80-20)=75
需要强调的是,本发明通过斜率和方法计算得到脉率值后,并不是将该值作为最终输出,而是根据该值再重新查找各个脉搏波,并将其逐个地提取出来。逐个提取的脉搏波按照时间顺序依次进行波形的判断,判断主要通过波形斜率,幅度和宽度等三个方面为依据。本发明以斜率和最大值点作为特征点提取,避免了峰值点/谷值点作为特征值点提取时由于噪声干扰带来的计算误差,因而可以有效地降低噪声干扰,提高脉率的信噪比,从而提高脉率计算的精度。此外,由于脉率计算之前还引入了卡尔曼滤波,降低了计算误差,进一步提高了脉率计算的精度。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。