文献标识码: A
文章编号: 0258-7998(2014)05-0129-03
按照运动员身体生理指标合理安排训练计划是教练员、运动员、队医们非常关注的问题[1-3],而血氧饱和度与脉搏参数是反映运动员的生理机能的重要生理学指标之一[4-6]。为了能实现血氧与脉博的快速测量,同时将检测数据快速发送给教练和医生,研制出一种远程血氧含量与脉搏测量系统。
此血氧含量与脉搏测量系统由血氧脉搏检测模块、安装有终端软件的运动员手机、服务器、安装有终端软件的教练手机和医生手机组成。血氧脉搏检测模块检测血氧脉搏信号并通过蓝牙发送给运动员手机,手机端软件对信号数据进行处理计算并显示血氧饱和度、脉搏和脉搏波形。运动员手机端的软件通过网络将上述信号数据发送给远端服务器,经过服务器转发给教练与医生的手机,从而实现血氧饱和度、脉搏和脉搏波形在教练和医生手机上的显示。
1 血氧脉搏检测模块
1.1 电路设计
采用MSP430FG437作为主控制器,由蓝牙模块、电源模块、脉搏血氧检测模块组成,如图1所示。
采用MSP430自带的运算放大器实现硬件滤波,自带的A/D转换模块采集脉搏血氧模块的信号。以两路光线(红光vs、红外光ir)高频交替照射被测部位,两路透射光经光电转换得到两路变化的光电流信号[7-8]。通过A/D转换模块采集这两路电流信号,经串口传输到蓝牙模块,从而发送到手机端。
与血氧探头连接电路如图2所示,探头接口管脚:1为地线,6、7分别为外屏蔽和内屏蔽线,2为红外光输入正极/红光输入负极,3为红光输入正极/红外光输入负极,9为光电管输出正极,5为光电管输出负极。血氧探头的光电二级管输出端(管脚9)与MSP430内部的运放1的输入管脚P6.0相连;P6.1是MSP430内部的运放1的输出端,它与内部ADC0输入端相连,同时与电阻R19串联后与内部的运放2的输入端(P6.4)相连;P6.3是MSP430内部的运放2的输出端,它与内部ADC1输入端相连。两个三极管的基极分别与P6.6和Veref+管脚相连,这两个管脚均是MSP430内部的DAC输出管脚,分别用来控制红外光LED和红光LED的发光亮度。三极管Q1和Q2的基极与MSP430的管脚P2.2和管脚P2.3相连,用以控制两个LED的开关。
1.2 软件设计
利用200 Hz定时器中断,两路LED交替通断,即1 s内两路光各有100次采样。如图3所示,以红外光这一路为例:每次定时器开始2 ms定时,首先,启动DAC0、DAC1转换,DAC0的输出控制LED发光的强度,DAC1的输出作为去直流电路的直流参考电压;然后,开红外光LED;随后启动ADC1、ADC2转换,根据得到的值计算更新DAC0、DAC1数据;最后把ADC2数据通过串口发送到蓝牙模块直到2 ms定时结束。
2 安卓手机客户端的设计
2.1 功能介绍
客户端程序分为两种:(1)勾选“数据转发”选项,即为运动员使用的终端软件,通过蓝牙接收检测模块发来的数据,同时在后台把接收到的数据发送到服务端,将蓝牙接收到的数据经过处理后,显示血氧含量、脉搏和波形在屏幕上。(2)不勾选“数据转发”选项,即为教练员和医生使用的终端软件,可以登录到服务器端接收数据,并把接收到的数据处理后显示血氧含量、脉搏和波形在屏幕上。手机客户端程序流程图如图4所示。
手机端的应用程序功能包括:蓝牙功能、网络功能、网络适配器功能和界面功能。蓝牙功能实现与MSP430控制器建立连接,接收数据;网络功能把数据发送到远程服务器;网络适配器功能检测网络,并向服务器发出HTTP请求,建立连接;界面功能实现功能设置和数据显示。“蓝牙”按钮被绑定到跳转函数,被点击时,系统会跳转到搜索设备的Activity之中,搜索蓝牙设备,同时存储在ListView中,并为其设置监听按钮。当连接到蓝牙设备上并开始接收数据后,会跳转至绘制脉搏图的Activity中。Android界面通过自己的UI线程来操作,数据转发到服务器,并不需要单个Activity来执行。手机客户端界面如图5所示。
2.2 数据处理
首先对接收到的两路光电流信号进行去直流、去工频干扰,得到两路信号的交流部分;然后计算交流部分的平均功率之比即为动脉血的含氧量,通过线性拟合得到脉搏血氧饱和度;最后计算其中任何一路信号交流部分即为脉搏波的周期,由此可换算出脉率。
去直流采用的是一个IIR滤波器,如图6所示。这个滤波器会在上次输出值的基础上加上输入值与上次输出值差的一小部分来组成新的输出值。数字信号直流跟随可表达为:
跟随系数K×(输入信号-直流分量)+直流分量=更新的直流分量
变化率由跟随系数K来控制,K通过实验得到,这里取1/27。如果输入有一个阶跃变化,经过一段时间后,输出将与输入相同。因此,如果输入的信号包含交流部分和直流部分,通过一段时间后,交流部分会在累加过程中被取消,输出只会跟踪输入的直流部分。输入的信号减去这个直流部分就得到了信号的交流部分。
滤波采用中位值平均滤波法,连续采样N个数据,去掉一个最大值和一个最小值,然后计算N-2个数据的算术平均值。这里N值的选取为8,图7、图8展示了滤波前后的波形变化,从图中可以清楚地看到滤波的效果很好。
为了判断脉搏周期,可以从两路信号中选择任意一路信号数据作为检测对象,这里选择的是红外光电流信号。从信号数据中连续提取M个数据作为一个队列,每次把队列中最先的一个数据去掉,再提取一个新的数据放入队列的最后。这样就像是在脉搏波信号上一个滑动的具有固定宽度的窗口,窗口的宽度应该大于噪声时间,但需小于脉搏周期,这里设置的宽度是10个数据。判断过程如下:当最小值位置处于窗口中部位置时判定为一个波谷,检测到波谷以后窗口继续滑过10个数据点,但不再检查最小值,确保上一个波谷已经离开窗口中心,然后继续检查最小值位置确定下一个波谷。脉搏周期的判断过程如图9所示,a为确定波谷,b为离开波谷,c为寻找波谷。确定波谷,确定周期,清空计数;离开波谷,开始计数;寻找波谷,保持计数,确定窗口中最小值位置。
3 服务器设计
服务器利用Java EE中的servlet来提供服务,并将其部署在Tomcat下。服务器端程序采用MVC框架模式开发,主要包括如下部分:org.seven.pulse.dbc是MVC模式中的底层,数据库层,包中的类用来连接数据库和操作数据库;org.seven.pulse.dao是MVC模式中的Dao层,为service提供服务,封装对数据库的操作方法。org.seven.pulse.servlet包则存放服务器程序,通过覆写doPost()和doGet()方法来响应客户端的请求。
4 测试
用此系统与迈瑞监护仪PM-8000同时对同一个运动员的血氧饱和度含量和脉搏进行检测,监护仪和本系统的血氧探头分别戴在左、右手的中指上,待测试数据稳定后记录。选择了10位学生做实验对象,年龄19岁~22岁,体重47 kg~70 kg,身高160 cm~182 cm。所测实验数据如表1所示。可以看到所设计的测试系统的测量精度很高,完全可以满足系统设计需要。
本文设计的远程血氧含量与脉搏测量系统电路结构简单,可靠性好,测量精度较高,并能实时把测量数据发送给教练和医生。制作的样机提供多名运动员试用,在试用过程中得到普遍的好评。
参考文献
[1] 王敬茹,高炳宏. 赛艇运动高原和低氧训练研究进展[J].体育科研,2009,30(1):65-69.
[2] 李胜利,凌晨,徐敏.激光无创脑血氧传感系统研究[J].传感器技术,2005,24(9):10-12.
[3] 袁扬,吴军.战时生命体征实时监测系统设计[J]. 医疗装备,2005,18(9):15-16.
[4] 马永利,王培勇.运动心率检测系统的研制及心率与肌氧含量同步实验研究[J]. 北京生物医学工程,2005(4):299-301.
[5] 李红燕,张立,沈红飞.近红外光谱测定术检测肌氧的原理及其在运动医学中的应用[J]. 中国运动医学杂志,2005(3):354-356.
[6] 钱风雷,王晨.高原训练对游泳运动员血液成分、血乳酸和运动能力的影响[J]. 体育与科学, 2004(6):69-71.
[7] 乔月印,蔡克家,乔峰,等.多功能激光血流血氧检测系统的研制[J]. 南开大学学报(自然科学版),2004(3):1-7.
[8] 张宁,陈亚明,邓亲恺.基于MSP430F149的血氧饱和度检测仪[J]. 中国医学物理学杂志,2004(3):165-168.