韦 哲 董思凡 吕克难 王能才
国家卫生和计划生育委员会在2015年4月10日的例行新闻发布会上发布了《中国疾病预防控制工作进展报告》,回顾并总结了我国近10年的疾病预防控制工作。报告称,心脑血管疾病、癌症等慢性病已成为威胁我国人民生命的最大杀手,慢性病致死的人数占到全国死亡人数的86.6%,而由慢性病所导致的疾病负担占总疾病负担的70%左右[1]。对于这类疾病,只有通过及时的诊断及治疗才能有效地控制病情,而医护人员经常因为无法获得患者的实时体征信号而错过最佳的治疗时机[2-3]。因此,对心脑血管疾病患者提供远程监护,将心电等与心脑血管疾病相关的人体体征的监护从床边、医院扩展到家庭,不仅可以减轻患者的经济负担,而且还能为患者提供最佳的治疗时机[4-5]。本研究基于LabVIEW设计与研究生命信息管理系统,实现对手环式监测终端所测量的体征信号进行采集、处理、提取以及显示,医护人员通过该系统及时对监护人员进行相应的救护指导。
生命信息管理系统采用递进式结构进行设计,其具体操作流程为:系统管理者通过输入用户名和密码信息进入程序主界面,主界面上可以实时观测被监护人员的心电图、体温、心电及血氧饱和度,并且能通过对数据库的查询了解被监护人员的历史体征数据。系统软件流程如图1所示。
图1 生命信息管理系统软件流程图
登录系统主要由LabVIEW中的while循环、事件结构以及条件结构搭建完成,在搭建的同时,有2个子虚拟仪器(virtual instrument,VI),分别是核对密码和读取用户名。核对密码子VI起到了判断用户名和密码是否正确的作用,读取用户的子VI可以利用LabVIEW中的数据库控件进行编程,搜索用户名数据库中的名称进行核对。读取用户的子VI如图2所示。
图2 读取用户子VI框图
使用LabVIEW中的数据传输控制协议模块函数(transmission control protocol,TCP),将手环式监测终端采集到的体征信号经过手机传递到上位机,以进行显示及处理。对体征信号进行接收时,首先对网关参数进行配置,制定网络端口与IP地址,再由“TCP Open Connection.VI”打开由网络端口和网络互连协议(internet protocol,IP)地址制定的TCP网络连接。连接建立之后,由“TCP Read.VI”节点读出指定长度的IP数据包,当“TCP Read.VI”接收到数据后,立即将其读出,避免接收到的体征信号堆积在缓冲区当中。完成信号传输之后,使用“TCP Clouse Connection.VI”关闭连接并释放资源。接收模块的整体设计如图3所示。
图3 TCP接收程序示图
采集到的生命体征信号由于测量仪器存在检测误差及人体运动等原因也会产生一定的误差,如心电和体温信号,这些误差需要经过上位机作进一步处理。而对于血氧饱和度不仅要对采集到的脉搏波信号进行降噪处理,还需要通过计算才能得出最终的血氧饱和度数值。
采集心电信号时产生噪声来源主要包括电极接触噪声、肌电干扰以及呼吸引起的基线漂移[6-8]。
(1)电极接触噪声。属于一种瞬时干扰,其原因是手环式监测终端与监护人员的接触不良,此种连接问题可能为瞬时:①被监护人员的活动导致装置的松动;②可以将这种噪声近似地认为是随机快速变化的阶跃信号,其特征值包括初始瞬态振幅和频率的振幅分量和衰减时间常数;③持续时间为1 s,幅值可以达到信号记录仪的最大振幅。
(2)肌电干扰。由于人体肌肉振动而产生的毫伏级的电压,会在心电图上显示为细小的波纹,将会导致心电图的失真,因此在测试的过程当中,应尽量避免不必要的运动。
(3)呼吸引起的基线漂移。由于呼吸所导致的基线随时间缓慢而有规律的变化,即为基线漂移,基线漂移的频率分布在0 Hz附近。
(4)去除干扰的滤波方法。常用的滤波方法有简单整系数滤波、平滑滤波及小波变换。小波变换降噪方法在时变信号分析方面有其优越性,核心思想是将信号分解到不同的尺度上进行处理,而且在不同的尺度上,各小波分量的带通滤波的带宽有所不同,其实质就是带通滤波[9-10]。小波变换的特点是多分辨率分析,在时域和频域都可以对信号的局部信息进行表征,在生物医学信号处理领域应用非常广泛。
对于时间连续的信号,小波序列的计算为公式1:
式中a为伸缩因子;b为平移因子。
对于任意函数f(t)∈L2(R)的连续小波变换的计算为公式2:
式中Ψ为小波母函数,为了在数学上使用方便,其计算定义为公式3:
在进行数字信号处理时,必须对连续小波进行离散化,令s=2j,即得到常用的离散二进制变换W2jf(x)。称数序列Wf=[W2jf(x)]j∈z为二进制的小波变换,这里的W是二进制小波变换算子。对于数字信号而言,其二进制小波变换也是离散型,计算为公式4:
虽然小波变换的理论看起来较复杂,但在LabVIEW中有相应封装的小波降噪的控件,即WA Denoise.VI。在此控件中,可以对阈值进行设定,同时还能对小波的类型以及小波的分解层数进行设置。由于Daubechies小波中的dB06小波与心电信号最为接近,故本研究选择该小波作为基础小波,并进行4层的小波分解。程序框图及处理效果对比分别如图4、图5所示。
图4 心电信号处理程序框图
图5 心电信号处理对比示图
(1)脉搏信号的处理与分析。与心电信号类似,采集到的脉搏波信号当中也存在复杂的噪声成分,主要为:①基线漂移,呼吸波动、元件的温漂以及放大电路的不稳定等原因,都会造成基线的漂移。其频率一般为0.15~0.3 Hz,并叠加于脉搏信号的低频段,形状与正弦波类似;②运动伪差,由于监护人员的运动所导致的血液过于充盈,从而导致光程的变化,会直接影响血氧饱和度监测的精度;③肌电干扰,其产生原因是肌肉收缩所产生的微伏级高频噪声,可将其看做是均值为零的带限高斯噪声的瞬发状态;④传感器接触噪声,其产生原因是传感器和皮肤之间的不稳定接触,这会造成阶跃性的信号下降;⑤电磁设备干扰,由于电子仪器本身存在噪声,因此存在的一种噪声频带范围很宽,且其幅值随着环境的变化而变化。由于上述原因,本研究同样使用小波变换进行处理。不同于心电信号的是,此次使用Daubechies2(dB02)小波,其与实际的脉搏波信号有更高的相似度。此外,通过设定不同的趋势级别并进行比较,最终将趋势的级别定为8。由于来自下位机的数据被分成2个通道,且初始的采样频率为100 Hz,因此每个通道的采样频率变为50 Hz,故dt的输入时间间隔为0.02 s。对于低频段的基线干扰,采用线性拟合的方法进行降噪处理,其原理是采用拟合的方法估计出基线漂移的曲线,然后用原始信号减去漂移曲线,最终得到消除极限漂移的信号。
(2)脉搏波信号的特征提取。脉搏波是以低频信号为主的体征信号,在其测量的过程中,容易受到诸如基线漂移等噪声的影响,受个体差异等因素的影响也比较大。经小波变换和线性拟合处理后,波形变得比较平滑且其变化规律体现着一定的周期性,在对这样的脉搏波形进行特征提取之前,需要识别出每一个单周期的波形。由于采集的脉搏波是由连续不断的单周期波组成,因此如果能识别出每个单周期波的起点,就能分别识别出每个周期波。然后,再在单个周期波内提取脉搏波的最大值与最小值来计算血氧饱和度,而本研究采用阈值法提取最值信息。
LabVIEW所提供的阈值检测控件,可以直接实现对超过阈值的有效波峰进行定位,并给出索引的功能。为了保险起见,阈值选取为波形数据中最大值的一半。索引的定位结果就是求导后波形的最大值的位置信息,对应着每个单周期脉搏波形的起始点,这也就实现了对脉搏波的单周期分割,接下来只要在每个单周期波形内检测出最大值和最小值就可以进行血氧饱和度的计算了。
(3)血氧饱和度的计算及降噪。光电检测法是目前主流的无创血氧饱和度检测法,但此法如果直接应用到测量中,会造成很大的误差,这是因为其忽略了静脉、骨骼等人体结构对入射光的吸收和散射作用的影响[11-12]。因此,本研究结合基于Lambert-Beer定律的光电检测原理和光电容积脉搏波描记法原理进行无创血氧饱和度监测[13-14]。
因反射和透射光强随着心脏搏动会发生周期性变化,故将透射光的最强值记为Imax,最小值记为Imin,通过记录透射光强的最大值与最小值,就可以消除如皮肤组织等具有恒定吸收及散射特点的成分的影响。这里忽略人体组织对入射光散射及反射的影响,忽略动脉的搏动,由Lambert-Beer定律可知,给定波长的光强为I0的入射光垂直照射时,得到的透射光强为公式5:
当考虑动脉搏动时,动脉血液的光程变化了ΔL,而其他组织的吸光率(F)保持不变,I01=FI0也不变,由光程变化所引起的动脉血液的吸光度变化为公式6:
选择另一波长的单色光同时对传输部位透射可得公式7:
式中Q=ΔW1/ΔW。
当动脉搏动时,透射光强由最大值Imax减少了ΔImax,达到最小值Imin,即Imin=Imax-ΔImax,由此动脉血液对波长为λ和λ1的两束光的吸光度和变化量分别为公式8和公式9:
将上式带入得到Q值,即为公式10:
将公式10代入公式7就可得到计算血氧的线性公式。因此,只要测得2个波长透射光强的最大、最小值Imax、Imin、 Imax1、Imin1代入公式10,然后代入公式7就可得到人体脉搏血氧饱和度。
本研究使用DS18B20作为体温采集的传感器,该传感器的突出特点是输出为数字信号且无需计算,所以对体温信号的处理相对而言比较简单。因此,同样采用移动平均法即可达到对体温信号降噪的效果。对于体温的降噪处理,由于只采用一种降噪的方式,所以采用八点平均的方式进行降噪。
实行远程监护时,大量监护人员的体征信号会传递到生命信息管理系统,为了对所接收到的信息进行更好的管理,需要一个专门的数据库来管理监护人员的生命体征信息。
Access是Microsoft office办公套装软件中重要的组成部分。该数据库以其功能强大、易学易用、界面友好等特点备受青睐,中文版Access具有Office中Excel、Word等相同的操作界面以及与其有直接的连接功能,并且提供了更为方便快捷的操作方式。
Access数据库包含了更强大的工具,可以帮助用户在可管理的环境中快速跟踪、报告和共享信息,了解有关新功能和改进功能的详细信息。Access的导入、导出和处理XML数据文件的功能,为用户提供了一个数据库应用系统开发的理想环境,此外,Access数据库所提供的工具既实用又方便,同时还能够获得高效的数据处理能力。Access的最大特点就是易于使用且功能强大,如今Access已成为被广泛使用的桌面数据库管理系统[13]。
在很多应用开发中都要使用到数据库的访问,但是,本研究所使用的LabVIEW本身不具有数据库访问的功能,其解决方法如下。
(1)购买NI公司的LabVIEW AddOns中的数据库接口工具包LabVIEW SQLToolkit进行数据库访问。该工具包不需要使用SQL语言就能快速实现本地和远程数据库的连接,其支持当前流行的数据库,包括Microsoft Access,Microsoft SQL Sever以及Oracle等。优点是操作简单,且用户不需要学习SQL语法;缺点是工具包过于昂贵。
(2)通过其他文本编程语言编写DLL程序,然后通过LabVIEW的DLL接口访问该程序,实现数据库的间接访问。
(3)通过中间文件存取数据,也就是先将数据存储于文件当中,日后再将数据导入数据库。
上述方式虽然都能在LabVIEW中访问数据库,但其问题也同样突出[14]。由LabVIEW用户所开发的LabSQL工具包,能提供一种免费且高效的数据库访问方式,LabSQL支持Windows操作系统中任何基于OBDC的数据库,包括Access、SQL Server、Oracle等。
LabSQL作为一系列封装的VI,通过Microsoft ADO以及SQL语言访问数据库,即使不熟悉SQL语言的用户也可以很方便的使用该系列VI进行数据库的连接,不需要太复杂的编程就能通过LabSQL在LabVIEW中访问数据库。虽然LabSQL具有上述优点,但也存在不足。由于LabSQL不是NI公司官方提供的控件,因此当数据量过大时,使用LabSQL进行数据库连接会经常出现莫名的错误,导致程序无法运行,故当数据量较小时,选择LabSQL进行编程非常方便,这就是在1.1登录系统的设计中读取用户子VI中使用LabSQL的原因。而本研究主程序所采集到的数据量较大的情况,需使用NI公司提供的DB(Data Base)工具包进行数据库连接。使用DB工具包进行数据库连接的程序如图6所示。
图6 数据库连接示图
本研究设计的生命信息管理系统,通过TCP/IP协议搭建了体征信号接收模块,通过LabVIEW实现了对体温、心电以及血氧饱和度信号的处理。其中对心电信号的处理使用了小波变换的方法进行降噪处理,达到了预期的效果。本研究还对血氧饱和度的无创检测方法做了探究,通过LabVIEW对采集到的脉搏波信号作进一步的计算处理,最终通过计算得出血氧饱和度。在计算的过程当中,使用了小波变换对采集到的脉搏波信号进行了处理,在最终的结果中,使用了移动平均法对血氧饱和度数值进行了处理,使得到的结果更加精准。通过LabVIEW中的DB控件实现了与Access数据库的连接,并实现了体征信号的存储与读取。
[1]田家利,公冶慧娟,刘宇.慢性病患者延续性护理的研究现状[J].中国护理管理,2017,17(1):108-111.
[2]覃喜香,彭铁立,刘均英,等.结构—过程—结果三维质量评价模式在食管静脉曲张破裂出血行内镜套扎术后患者延续护理中的应用[J].现代临床护理,2017,16(4):44-49.
[3]温川雪,周洪建,张俊飞.基于智能手机与移动网络的远程生命体征监测系统的设计[J].生物医学工程学杂志,2015,32(1):86-92.
[4]宁文双,梁婷,YUAN Yong J.基于无线通信的心电生理信号远程监护系统[J].西南交通大学学报,2016,51(1):193-200.
[5]郑敏敏,高小榕,谢海鹤.心电信号小波去噪的改进算法研究[J].中国生物医学工程学报,2017,36(1):114-118.
[6]张涛,章伟睿,杨永青,等.正常心电信号及室性心动过速和室颤快速识别方法的初步研究[J].中国医学装备,2017,14(7):37-40.
[7]张艳,牛明,王卫东,等.基于LabVIEW的心电信号采集系统[J].中国医学装备,2005,2(12):50-52.
[8]王美茜,刘振泽,尹苍穹.基于小波变换改进的上肢肌电信号降噪分析[J].控制工程,2015(s1):8-12.
[9]Zhang X,Zhang M,Zheng S.A new method for noninvasive venous blood oxygen detection[J].Biomed Eng Online,2016,15(1):84.
[10]石龙飞.无创血氧饱和度测量系统设计[D].江西:南昌航空大学,2015.
[11]薛俊伟,黄岳山,杜欣.蓝牙低功耗可穿戴血氧监测设备的设计[J].中国生物医学工程学报,2015,34(6):701-707.
[12]张根迭,石波,曹阳.一种计算脉搏血氧饱和度的新方法[J].生物医学工程学杂志,2017(1):62-65.
[13]刘凌波.Access数据库应用基础[M].北京:科学出版社,2015.
[14]胡平,胡域.基于Labview的数据库程序设计方法[J].计量与测试技术,2016,43(5):81-83.