基于AFE4400的无创血氧饱和度测量系统设计
2015-01-07石龙飞赵坷李烨王俊何青云
石龙飞赵 坷李 烨王 俊何青云
1(南昌航空大学 南昌 330063)
2(中国科学院深圳先进技术研究院 深圳 518055)
基于AFE4400的无创血氧饱和度测量系统设计
石龙飞1,2赵 坷1李 烨2王 俊2何青云2
1(南昌航空大学 南昌 330063)
2(中国科学院深圳先进技术研究院 深圳 518055)
血氧饱和度是临床诊断和家庭保健中常用的重要生理指标。在临床上,尤其在手术过程中,血氧饱和度的高低关系到病人的生命安全,因此常常需要检测人体的血氧饱和度。同时,监测人体血氧饱和度的变化对肺心病的预防和治疗也有重要的作用。因此,血氧饱和度的监测具有重要的意义。为了能够实时准确地显示脉搏波信号和血氧饱和度,文章设计了基于AFE4400的血氧饱和度测量系统及开发了相应的Android手机应用程序,不仅使其便于使用,同时进一步降低了成本。实验结果显示,设计的系统具有十分高的准确性。
无创测量;血氧饱和度;AFE4400;Android智能手机
1 引 言
近年来,肺心病已成为一种常见的、严重威胁中老年人身体健康的疾病。根据国内近些年的数据统计,肺心病平均患病率已达到0.41%~0.47%[1]。肺心病导致人体的通换气不顺从而引起了缺氧,长时间缺氧会引起更大疾病的发生。在临床上,可以通过血氧饱和度(SpO2)的变化这一显著特征来表征人体血氧情况。因此,SpO2的检测对于肺心病的预防有十分重要的意义[2]。同时,在产房、手术室、急诊室以及其他科室, SpO2也是一项监护病人病情的重要生理参数[3]。
目前,随着众多科研机构、政府组织以及相关科研人员的努力,无创血氧饱和度的研究已日渐成熟。如,Philips公司设计出的指套式探头抗干扰能力强、测量准确度高[4];美国Masimo公司提出的SET算法能有效地去除光电容积描记(Photoplethysmography,PPG)信号中噪声信号[5];周洪建等[6]通过改进探头,设计了三波长的无创血氧饱和度测量系统,对运动干扰起到了一定的抑制作用。
目前,大部分医疗机构的监护设备中都带有血氧检测部分,尽管这些设备具有相对高的识别精度,但它们大都是基于嵌入式的专用终端设备,因此不利于个人及家庭生活中的使用。同时,分立元器件存在参数的离散性,还会引入其他干扰,容易对检测结果的准确度和精度造成影响。针对这些问题,本文将设计和实现了一种基于集成模拟前端的具有较高准确度和精度的无创血氧测量系统,减小系统体积以便个人使用及携带。
2 系统概述
无创血氧饱和度的测量是基于动脉血液对光的吸收量随动脉搏动而变化的原理来实现[7]。根据比尔-朗伯特(Beer-Lamnert)定律[8],当动脉脉动时,动脉体积的变化会使透射光的光程发生变化,使得动脉血对光的吸收量也发生改变,从而导致接收到的信号强度随脉动变化。通过该变化的信号即可求得血氧饱和度。但在实际计算中,考虑到光散射及不同人的组织差异,一般用经验公式来计算血氧饱和度[9]。在本设计中我们通过Fluke Index 2XL模拟仪模拟的血氧值与本系统计算的R值拟合出定标曲线,即可求得a、b和c的值。
本文设计系统主要由MCU控制部分、模拟前端信号采集部分、Android手机App结果显示部分和指夹探头部分组成。系统整体构成如图1所示。
图1 系统整体构架Fig.1 The overall framework of the system
探头驱动电路实现两路光线由对称的两组三极管构成,与模拟前端两个端口相连,分别控制两路光线的交替和光强的大小[10]。模拟前端将接收到的光信号转换为电信号,然后经过放大、滤波、模数转换,将数字信号通过SPI接口发送给MCU。MCU是系统的核心,主要负责控制指夹部分LED灯的光的强度、增益调节、数据采集和分析,完成对数字信号的软件滤波,并计算出血氧饱和度,最后通过蓝牙模块将信号和结果发送给Android智能手机。我们开发了基于Android客户端软件,用来解析生理信号并且进行本地存储和实时分析。
3 硬件部分
3.1 模拟前端部分
目前在血氧饱和度测量系统中,模拟前端一般采用分立式解决方案[11],即将独立的放大电路、滤波电路、数模/模数电路设计成模拟前端模块。为了使电路的性能得到改善,可以采取一系列新的电路设计方法以提高电路本身共模抑制比和信噪比。但这样会使电路的结构变复杂,板级空间和设备体积变大,因此通常只在监护设备和医院专用血氧仪上使用。如今市面上很多公司也生产便携式血氧仪,但是分立元器件存在的参数离散性、不合理的信号走线和元器件布局等问题会引入不必要的干扰,导致大多数模块只能为正常人使用,弱灌注情况下使用效果并不理想。
在本文设计的系统中,模拟前端采用TI公司的全面集成型模拟前端AFE4400。AFE4400是高度集成所有前端组件以及典型光度测定解决方案的直连计时控制电路,可广泛应用于临床和家庭健康脉搏血氧计、光度测定血糖计以及光体积描记器心率监视器等。它包含一个具有22位模数转换器(ADC)的低噪声接收器通道、一个LED传输部件和针对传感器以及LED故障检测的诊断功能。与分立式解决方案相比,AFE4400不仅可加速终端设备制造商的设计进程、缩减板级空间,还可减少对模拟设计专业技术的需求。该系列支持不足1 mA的电源流耗,比分立式解决方案功耗低,可延长电池使用寿命。AFE4400结构框图如图2所示。
图2 集成模拟前端AFE4400Fig.2 Integrated analog front-endAFE4400
从图2可看出,该模拟前端解决方案集成了LED驱动电路、放大电路、数字转换器和数字滤波器等。LED驱动模块驱动LED发光,时间控制器控制LED按照一定时序交替发光。信号通过放大、滤波、模数转换之后由 SPI发送到MCU。通过分析可以得出,该解决方案可以满足我们设计低成本,便携式血氧测量系统的要求。同时通过后续实验结果分析,可以获得良好的技术参数指标。
3.2 MCU控制部分
主控电路部分采用 Cortex-M3[10]内核的STM32F103系列MCU,如图3所示。该类MCU具有高性能、低成本、低功耗等特点,是现在被广泛应用的嵌入式处理器之一。
在整个设计过程中,MCU主要完成以下任务:控制红光和红外光LED发射光的开始和结束时间;控制AFE4400模数转换时间;对数字信号进行信号处理;计算出血氧饱和度;将数据通过蓝牙模块发送给Android智能手机。
3.3 指夹探头部分
根据氧和血红蛋白和还原血红蛋白的吸收光谱曲线[12]可知,HnO2和Hn对不同波长的吸收系数是不同的。HnO2和Hn对所选波长有一定要求,吸光系数过小或过大都不利于检测。在实际设计的双波长血氧饱和度测量系统中,测量光源一般选择波长660 nm和940 nm[13]。在本系统设计中,采用的是特维克型号为C1108023-001的指套探头,在探头内部上下两侧固定了两个发光二极管,可以分别发射出波长为660 nm的红光和940 nm的红外光。通过控制两个LED交替发光,对光电信号的进一步处理才能得到最终的血氧饱和度。指夹探头部分如图4所示。
图3 STM32内部结构图Fig.3 The internal module of STM32
图4 指夹探头Fig.4 LED in rubber fingers
在测量过程中应尽量避免强光直射,否则会因光电器件偏离正常工作范围而导致测量出现较大误差。同时尽量保证手指被测部分感觉清洁,否则影响光的透射,导致测量结果不准。
4 软件部分
开发环境基于Keil uVision4。Keil uVision4是ARM Keil推出的基于uVision界面,用于调试ARM7、ARM9和Cortex-M内核的MDK-ARM开发工具。其方便易用的集成环境和强大的软件仿真调试工具可以大大加快开发周期。嵌入式操作系统主要由内存管理,进程调度,进程间通信,虚拟文件系统和网络接口部分组成。通过移植嵌入式操作系统可以完成对软硬件的管理、进程调度等任务。嵌入式实时操作系统有多种选择,例如:μC/OS-II、RT-Thread和μClinux等。其中,RT-Thread实时操作系统核心是一个高效的硬实时核心,具有优异的实时性、稳定性和可剪裁性。当进行最小配置时,内核体积可以达到3k ROM占用、1k RAM占用。本系统中我们选择RT-Thread做为嵌入式操作系统。软件设计部分主要有以下几个方面:
4.1 信号处理
集成模拟前端AFE4400内部含有数字滤波器部分,但在实际实验过程中发现其不能有效地滤除噪声得到我们所需要的PPG信号,得到的未经滤波的原始信号如图 5所示。同时能否正确获取 PPG信号决定了最终血氧饱和度的准确性。因此我们需要设计数字滤波器来对原始信号进行滤波处理。脉搏波的主要能量分布在0.5 Hz~5 Hz[14],为了去除噪声干扰,可以将原始信号通过一个带通滤波器。考虑到计算血氧饱和度需要红光和红外光的PPG信号的交直流分量,在通过滤波器之前我们可以先计算PPG信号的直流量。直流量可以对数据取平均值得到。交流量在 4.2节中的特征点提取后由峰峰值来计算。
图5 滤波前脉搏波信号Fig.5 The signal of PPG without filtering
与有限长单位冲激响应(Finite Impulse Response,FIR)滤波器相比,无限脉冲响应(Infinite Impulse Response,IIR)数字滤波器运算速度快,实现相同特性可以做的阶数低很多。IIR滤波器的系统函数为:
利用Matlan的FDAtool可以设计出我们所需的滤波器。本系统设计了截止频率为0.5 Hz~5 Hz的2阶Butterworth IIR带通滤波器,原始信号采样率为150 Hz,生成系统函数的各个系数,通过编程程序实现滤波目的。滤波器的频响特性如图6所示。
用频响特性如图6的滤波器对图5的脉搏波信号进行滤波,得到滤波后的脉搏波如图7所示。
图6 滤波器的频响特性Fig.6 The frequency response characteristics of the filter
图7 滤波后脉搏波信号Fig.7 Filtered signal of PPG
4.2 特征点识别
计算血氧饱和度需要PPG信号的交直流分量,直流分量计算方法在4.1节中已经提到。交流分量需要计算PPG信号的波峰波谷值。在提取脉搏波信号的特征点的时候有多种方法,由于阈值法实现起来较简单,故本文将使用阈值法来提取脉搏波的特征点。阈值的选取问题是该算法的关键,在实际测量过程中,不同脉搏波差异较大,阈值选取不准确往往会造成结果不准确。
为了消除以上影响,使阈值可以根据不同的脉搏波自动调整其范围,我们采用可变阈值。程序一开始,先设定一个较大的阈值,每隔一段时间阈值变为原来的n(n<1)倍,经过一段时间阈值达到合适的范围,由此计算出峰值点。然后将上一周期的峰峰值作为下一次的阈值。经试验分析,该算法可以很准确地识别出特征点,并且速度快,程序效率高。程序流程图如图8所示。
通过以上方法即可求出每个脉搏波的波峰和波谷值。脉搏波的交流分量即为脉搏波的波峰值减波谷值。计算出交直流分量之后即可求得R值:。其中,λ1为红光波长;λ2为红外光波长;IAC为交流分量;IDC为直流分量。由FlukeIndex2XL模拟仪模拟的血氧值及本系统测得的R值即可拟合出定标曲线公式:SpO2=-15.51R2-9.66R+108.47。
图8 特征点识别程序流程图Fig.8 Program flow chart of feature point recognition
4.3 Android手机 App 设计
在一个Android应用程序中,一般包含以下4个组件的一个或者多个:Activity,通常表现为一个可视化的用户界面,一般来说这个组件是最常用的;Service,通常为一个后台运行的程序; ContentProvider,给其他应用程序共享本应用程序的私有数据的一个组件;BroadcastReceiver,用于接收其他应用或者系统广播消息的组件。此外还包括Internet,主要用于Activity和Service之间传递数据[15]。
在Android程序中显示界面主要用到Activity组件,Activity相当于手机显示的内容。在Activity中添加view完成相应任务的处理。图9显示了我们血氧饱和度测量系统的APP,其主要由三部分组成:血氧测量,历史数据和个人信息。其中,血氧测量部分可以通过与蓝牙相连接实时地观测血氧值以及脉搏波信号;历史数据可以查看以往数据;个人信息部分可以保存一些个人基本信息。图9右侧部分为实时显示的脉搏波信号以及血氧值及脉率的情况。
图9 血氧测试APPFig.9 The application of SpO2
5 结果分析
为对系统结果进行分析验证,主要从以下三个方面进行:(1)在正常灌注情况下对测得的血氧模拟仪的血氧值与血氧模拟仪设定的血氧值的比较;(2)在低灌注情况下两者数据的比较; (3)与监护仪同时测同一实验者比较两者测得的血氧值。
首先是在正常灌注下对测量数据准确性的验证分析。为了验证本文所设计的血氧测量系统的准确性,我们将其与国际通用的Fluke Index 2XL SpO2模拟仪进行了对比。验证方案首先将Fluke Index 2XL模拟仪的血氧值从35%开始,每次以1%递增,直至100%;脉率设定为75;血流灌注指数PI(Perfusion Index)值为3%,每个百分点测定两分钟左右,对本文所设计的5个系统进行同样的测定操作,并记录每次血氧值改变后用本系统测定的血氧值。通过上述操作后每个系统都可以得到大约8000个散点的血氧值。对记录的数据进行误差分析便可确定本系统的精确程度。图10为对某个系统测得的8147个散点数据在图像上表示(相同数据重合为一个点)并与模拟仪数据的对比。图 11为系统实物图(含有其他功能模块)。
分析图10可知,在灌注指数为3%(正常人的灌注水平为5%)时,本系统可以实现在血氧饱和度为70%~100%时的误差不超过2%,在50%~70%时的误差不超过3%,满足临床测试要求,具有较高的准确性和重复性。
图10 系统测得的数据与模拟仪数据比较Fig.10 Compared with the data between the system and Fluke Index 2XL
图11 系统实物图Fig.11 The picture of the system
其次是在灌注指数为0.3%情况时,即在低灌注情况下的实验结果分析。验证方案为:设定模拟仪的脉率为75,与正常人的脉率水平接近,设定模拟仪灌注指数PI值为0.3%。调节模拟仪的血氧值为不同的值,并保存系统计算所得到的值。由于正常极少出现血氧值低于70%的情况,因此进行规避,选择测试的范围从100%到71%,每隔3%测试一组数据,每组得到大约50个数据。图12为上述10个测试组计算结果的实际分布图。
表1为图12测试结果的统计分析,其中第一行为模拟仪设定的血氧值,在表中对设定不同血氧的情况下测量结果的均值、标准差、方差以及误差范围在±1、±2、±3时的统计结果。
由图11及表1可以得到以下结论:
(1)在以上的测试结果中,除了最后一组,94%的测量结果与模拟仪设定的血氧值的误差均在±3内,其他各组中所有的测量结果与模拟仪设定的血氧值的误差也都在±3内。其中大部分测试组的测试结果与模拟仪设定值的误差在±1内。几乎所有测试组测试结果的误差都在±2内,只有一组有78%的测试结果误差在±2内,其余各组测试结果在±2内的达到95%以上,满足了临床上误差±3的要求。
图12 灌注指数PI=0.3%下的测试结果Fig.12 The SpO2in the condition of PI=0.3%
(2)在所有的测试组中,标准差最小为0,最大为2.22,大部分约在1.0附近;方差最小为0,最大为1.49,大部分在1.0附近。这说明所有测试数据稳定性很好,与均值的偏差不大。
我们将以上的实验过程重复了若干次,采集了大量数据,并且每次选取不同的测试组,得到的结果与以上的结果及分析基本一致:每个测试组的测试结果的均值几乎与模拟仪设定值相同,所有的测试结果与模拟仪的设定值误差都在±2内,说明在低灌注PI=0.3%的情况下,系统表现出了较高的准确度。同时,所有绝大部分的测试组的测试数据与预设值的方差与标准差都较小,反应出测试结果波动较小,说明在低灌注的情况下系统仍然具有较好的稳定性。
表1 灌注指数 PI=0.3%下测试结果统计Table 1 The statics of the result in the condition of PI=0.3%
图13 与MEC-1000监护仪数据对比实物图Fig.13 Compared with the data between the system and MEC-1000
最后是用本系统与监护仪对正常实验者的血氧值进行测量比较分析,如图13所示。本文使用迈瑞公司的MEC-1000便携式多参数监护仪作为对比。MEC-1000监护仪可供医疗部门对患者心电、无创血压、脉搏氧饱和度、体温和呼吸等生命体征进行监测,具体脉搏调制音、记录功能丰富等特点,是现在广泛使用的多参数监护仪之一,在医疗机构以及科研院所都有大量的使用[16]。测试方法为同时测试同一实验者的血氧值,分别记录本文系统与MEC-1000监护仪测得的数据。实验共测试8名实验者并对相应数据进行分析,以验证本文系统在实际使用过程中的准确度。表2为对实验者测试数据与定标样机数据的对比。
系统测量的精度和稳定性对使用者有一定的要求,在这要求之内稳定性和精度是令人满意的。它要求测试时,使用者应处于比较静止的状态,不能有明显的动作,并且情绪比较平和稳定[17]。由表2可以看出,本系统对实验者测量结果与MEC-1000数据基本一致。实验的初步结果表明了系统具备一定的测量精度和稳定性。由于参与测试的实验者数量较少,故对于系统在不同情况下的精度还需要实验进一步的测试验证。
表2 与 MEC-1000监护仪数据对比Table 2 Comparison of the data between the system and MEC-1000
6 结束语
本文提供了一种基于集成模拟前端AFE4400的血氧饱和度模块的设计方案。系统设计中采用Android手机实时地显示血氧值以及脉搏波信号,不仅便于携带、方便用户使用,而且降低了模块成本。文章从正常灌注、低灌注和正常人的测试这几个方面进行实验验证和结果分析,验证了本文设计方案的有效性和可用性。对于含运动伪迹的脉搏波信号的结果和其他场景对系统的测试还需要进一步的分析和验证。
[1] 王彬,刘惠梅,吴蔚,等.基于现代文献的慢性肺源性心脏病中医证候研究[J].中国中医药信息杂志,2011,18(11):25-27.
[2] Mariot R,Valentine SJ.Arterial oxygen saturation following premedieation for cardiac surgery[J]. British Journal of Anaesthesia,1990,64(6):737-740.
[3] Carrasco M,Martell M,Estol PC.Oronasopharyngeal suction at nirth:effects on arterial oxygen saturation[J].The Journal of Pediatrics,1987, 130(5):832-834.
[4] Goldman JM,Petterson MT,Kopotic RJ,et al. Masimo signal extraction pulse oximetry[J]. Journal of Clinical Monitoring and Computing, 2000,16(7):475-483.
[5] 吕春玲.无创血氧饱和度测量仪的研究[D].阜新:辽宁工程技术大学,2009.
[6] 周洪建,蔡桂艳.三波长无创血氧饱和度测量算法及应用[J].中国生物医学工程学报,2007, 26(5):680-683,689.
[7] Wukitsch MW,Petterson MT,Tonler DR,et al. Pulse oximetry:analysis of theory,technology,and practice[J].Journal of Clinical Monitoring,1988, 4(4):290-301.
[8] 朱翠玲.现代医学工程[M].北京:中国科学技术出版社,1992.
[9] 于巍,古庆恩,李信政,等.无创伤脉搏血氧饱和度测量技术及进展[J].医疗设备信息,2007, 22(9):49-52.
[10]李作君,张跃.动态血氧监测中脉搏波处理和脉率提取新方法[J].自动化与仪表,2009,12:1-4.
[11]王永虹,徐炜,郝立平.STM32系列 ARM Cortex-M3微控制器原理与实践[M].北京:北京航空航天大学出版社,2008.
[12]Millasseau SC,Ritter JM,Takazawa K,et al. Contour analysis of the photoplethysmographic pulse measured at the finger[J].Journal of Hypertens,2006,24(8):1449-1456.
[13]罗志昌,张松,杨益民,等.光电容积脉搏波描记法原理及其在临床上的应用[J].世界医疗器械, 2000,6(9):41-47.
[14]房磊.无创血氧饱和度测量系统的设计与实现[D].武汉:华中科技大学,2012.
[15]李刚.疯狂Android讲义[M].北京:电子工业出版社,2011.
[16]陈顺修.迈瑞 MEC-1000监护仪四例故障维修[J].医疗装备,2013,26(9):1-1.
[17]张亚,赵兴群,万遂人.一种单片便携式脉搏血氧饱和度测量仪的研制[J].测控技术,2011, 30(6):1-4.
The Design of Non-invasive Measurement System for Blood Oxygen Saturation Based on AFE4400
SHI Longfei1,2ZHAO Ke1LI Ye2WANG Jun2HE Qingyun2
1(Nanchang Hangkong University,Nanchang330063,China)
2(Shenzhen Institutes of Advanced Technology,Chinese Academy of Sciences,Shenzhen518055,China)
The nlood oxygen saturation is a very important physiological index in common clinical diagnosis and family care. The patient’s life is related to the level of nlood oxygen saturation to some extent, so the oxygen saturation should ne detected in the clinical, especially in the operation. Because monitoring the volatility of the nlood oxygen saturation plays an important role in the prevention and treatment of the pulmonary heart disease, it has the extremely vital significance. The SpO2system which we designed is nased on AFE4400 and we developed an application of android smartphone in order to display the PPG signal and the nlood oxygen saturation timely and exactly. It’s easy to use and makes a further cost reductions. The experimental results show that the system has a very high accuracy.
non-invasive measurement; SpO2; AFE4400; Android smartphone
TP 391
A
2014-06-05
:2014-08-01
石龙飞,硕士研究生,研究方向为嵌入式系统开发应用;赵坷,副教授,硕士生导师,研究方向为智能家居、智能传感器网络、电力电子技术等;李烨(通讯作者),研究员,博士生导师,研究方向为移动医疗、健康物联网、绿色无线通信等,E-mail:ye.li@siat.ac.cn;王俊,工程师,研究方向为生物电(心电,脑电)微弱信号的采集硬件电路设计、移动医疗中的嵌入式系统设计以及EMC、可靠性实验等;何青云,硕士研究生,研究方向为家庭健康医疗设备中的嵌入式软件开发。