论文网
首页 理科毕业设计毕业正文

基于云架构的睡眠监测系统设计与实现

  • 投稿文风
  • 更新时间2015-09-23
  • 阅读量977次
  • 评分4
  • 70
  • 0

基于云架构的睡眠监测系统设计与实现

李忠海于忠清

(青岛大学信息工程学院,山东 青岛 266071)

【摘要】使用PVDF传感器采集人体生理信号,提出了基于CSI的生理信号处理算法,通过算法处理得到心率、呼吸率、体动以及呼吸暂停等参数。本文还设计了云服务器端对人体生理参数进行接收、存储和处理,根据采集到的生理参数本文选用了PNQ量表对睡眠质量进行分析,同时本文还设计了手机端软件将睡眠者的睡眠质量显示给用户。系统测试结果显示算法处理得到的心率/呼吸率与受试者实际的心率/呼吸率基本吻合,并且与穿戴式设备相比,该系统表现出较高性能。

教育期刊网 http://www.jyqkw.com
关键词 云架构;PVDF;睡眠监测;CSI

【Abstract】The article uses PVDF sensors to collect physiological signals and proposes the physiological signal processing algorithm based on CSI to get the heart rate, the respiration rate, the body movement and the sleep apnea. The paper also designs a cloud server for receiving, storing and processing the parameters, and selects PNQ questionnaire to evaluate the sleep quality of the sleepers. The design of the app is used to show user’s sleep quality. System test shows that the heart rate and the respiration rate which are monitored by the system are consistent with the actual ones. And the system shows excellent performance comparing with the wearable device.

【Key words】Cloud Architecture;PVDF; Sleep Monitoring;CSI

0引言

睡眠是高等动物中普遍存在的一种重要的自然休息状态,是生命必需的过程。而随着社会的快速发展,城市化进程步伐逐渐加快,国民的睡眠质量因此受到影响。相关调查显示中国有38%的人存在睡眠问题[1],并且有睡眠问题的病人中还有相当多的人没有得到合理的诊断和治疗。因此开发一套实时的睡眠监测系统来监测人们的睡眠过程,然后对睡眠质量进行分析具有重要意义。传统的睡眠监测系统大都使用穿戴式设备,需要将感应器直接与人体皮肤接触,给睡眠者带来心理压力,影响其睡眠质量[2]。

为了更好的监测人们的睡眠过程,本文设计并实现了基于云架构的睡眠监测系统。系统采用PVDF压电薄膜传感器[3]采集人体生理信号,同时根据三次样条插值函数(Cubic Spline Interpolation,简称CSI)[4]提出了基于CSI的人体生理信号处理算法来获得睡眠者的心率、呼吸率等参数。本文还设计了云服务器端对人体生理参数进行接收、存储,并对睡眠者的睡眠质量进行评估,睡眠者的睡眠质量展示在用户手机端软件上。最后对于算法的准确性和系统性能做了测试工作。

1系统架构和详细设计

系统整体架构如图1所示。本系统包括数据采集端、云服务器端和手机客户端三部分,各部分之间用Wi-Fi通信。传感器采集到睡眠者的生理信号主要包括心跳、呼吸、体动和呼吸暂停等,生理信号经过A/D转换后在树莓派处理器(Raspberry Pi)上做预处理,获得心率、呼吸率、体动次数和呼吸暂停次数,然后将数据打包并发送到服务器端,服务器端再根据睡眠者的生理参数评估其睡眠质量,最终将评估结果反馈到用户的手机端软件显示。

1.1数据采集端

1.1.1信号采集模块和A/D转换模块

通过厂家定制的传感器是一款长条状、易携带的PVDF压电薄膜传感器,睡眠者将传感器放在床单下面靠近心脏的位置,以便能更好的监测到人体的生理信号。信号采集模块的主要任务是用传感器监测人体微弱的振动信号,然后经过传感器上的前端调理电路对其进行放大、滤波处理,得到人体的心跳信号和呼吸信号。A/D转换模块的任务是使用AD7895-3芯片对心跳、呼吸模拟信号进行模数转换,然后将转换后的数字信号传至树莓派上做算法处理。其中AD芯片与树莓派的管脚电路如图2所示。

1.1.2数据预处理模块

数据预处理模块的功能是在树莓派上使用基于CSI的人体生理信号处理算法计算心率、呼吸率、体动次数和睡眠呼吸暂停次数,然后将处理后的数据打包发送到服务器端进行存储和分析。

传感器采集到的是心跳/呼吸的模拟信号,并且信号强度在-2.5V~2.5V的量程范围,当信号强度超过2.5V电压值时即表示有体动发生,此时代表体动次数的参数M-Count加1。模拟信号经AD采样后再用算法处理得到心率、呼吸率和呼吸暂停次数。算法详细步骤如下:

(1)对于给定的心跳信号x1(t)/x2(t)呼吸信号,求出其所有的极大值点和极小值点;

(2)分别对极大值点和极小值点用三次样条差值函数进行插值,拟合出信号的上包络U(t)和L(t)下包络;

(3)计算上包络和下包络的平均值,M(t)=(U(t)+L(t))/2;

(4)计算出M(t)的波峰值(即最大值)。

对于心跳信号,波峰数即为心跳次数。对于呼吸信号,如果该波峰值和下一个波峰值在设定的阈值内时,则可以认为该波峰值是有效波峰。对呼吸信号设定阈值的目的主要是考虑到干扰信号对呼吸波的影响较大。由于正常人或患有慢性呼吸疾病的人在睡眠过程中的呼吸率一般不会超过每分钟25次,也就是说连续两次呼吸之间的时间间隔不会少于2.4秒。因此当一个正常呼吸波的波峰和下一个呼吸波峰之间时间间隔低于2.4秒时,则认为该波形是干扰波形,不计入呼吸率的计算中。根据睡眠呼吸暂停的定义[5],睡眠呼吸暂停的表现之一是呼吸气流的停止时间大于10秒(含10秒),也就是两个呼吸波峰之间的时间间隔超过10秒。因此一个正常呼吸波的波峰和下一个呼吸波的波峰之间的时间间隔超过10秒,则判定为发生一次睡眠呼吸暂停情况。

本算法是每20秒钟对正常的心跳信号和呼吸信号处理一次,每分钟心率/呼吸率的计算方法是:

每分钟心率=3×20秒钟心跳次数

每分钟呼吸率=3×20秒钟呼吸次数

1.2云服务器端

云服务器端是基于Netty实现的,主要完成了对人体生理参数的接收、存储及分析处理等工作。数据接收模块负责接收数据采集端发送的数据,数据经解码后存入数据库中。为保证数据的准确性和可靠性,数据采集端与云服务器之间进行网络通信的协议使用TCP/IP协议,编程方式为Socket套接字编程。数据存储模块用于存放用户的数据信息,包括USER表(用户表)、USER-PAR表(用户生理参数表)以及RECORD表(睡眠状况记录表)。而数据处理模块是云服务器端的核心部分,它的主要任务是对数据采集端发送来的生理参数进行分析处理,判断睡眠者整晚的睡眠质量。主要方法是数据处理模块调用数据库中用户的生理参数,通过对心率、呼吸率、体动次数和睡眠呼吸暂停次数进行分析,评估睡眠者的睡眠质量,并得出睡眠者整晚的平均心率、平均呼吸率、总睡眠时间以及睡眠呼吸暂停次数,然后将处理结果存入用户对应的RECORD表中。

本系统使用清华大学一位学者设计的一种用于评估睡眠者每晚睡眠质量的调查问卷量表[6],我们称之为PNQ(Per-Night Questionnaire)。PNQ包括9个大问题,问题6又包括8个小问题,总共16个问题。问题1~5的答案可以根据传感器采集到的睡眠者的生理参数分析得出,而问题6~9需要用户早上从手机客户端查看自己睡眠质量时填写,用户填写完之后数据发回服务器端,数据处理模块会根据PNQ量表评定方案对用户的睡眠质量进行打分,然后发回到用户的手机端显示。

1.3手机客户端

手机客户端软件是在android4.2.2环境下开发,支持安卓2.2以上系统,软件名称叫做SleepMonitor,包括用户登录验证模块、消息发送模块和睡眠质量结果显示模块,与服务器端使用HTTP协议通信。手机端设计的总体操作流程是:

(1)用户打开客户端,输入用户名、密码(由服务器为用户分配)进行登录;

(2)登录成功后进入主页面,主页面显示的是一个日历表;

(3)点击日历表中当天的日期进入调查问卷填写界面,界面显示的是PNQ量表中的问题6~9,用户根据晚上睡眠情况填写并点击提交按钮;

(4)提交后的数据发送给服务器,服务器将用户填写的问题6~9的答案与RECORD表中数据结合,并根据PNQ量表评定方案进行打分,得出用户睡眠质量;

(5)将睡眠质量评估结果发送回手机客户端显示给用户。

2系统实现与测试

本系统在开发初期主要实现了以上模块的功能。数据采集端的实物图如图3所示,PVDF传感器放在床单下面用于监测人体微弱的振动信号,信号经前端调理电路放大滤波后用AD7895-3芯片进行A/D转换,然后将数字信号传至树莓派做预处理,预处理后的数据打包后发送至服务器端。

最终用户的睡眠质量结果界面的效果图示例如图4所示,用户睡眠质量使用星级评分条显示。其中该睡眠者的睡眠质量是三星级,整晚的平均心率是62次/分钟,平均呼吸率是17次/分钟,总睡眠时间是7.8小时,整晚的睡眠呼吸暂停次数是5次。用户还可以将自己的睡眠质量分享到新浪微博、微信等平台,分享功能使用shareSDK组件实现。

图3数据采集端实物图

图4手机端睡眠质量界面

为了验证系统的准确性以及是否达到预期的性能,对系统进行了整体测试。对于算法的准确性的测试方法是选取三个测试者分别躺在放有数据采集传感器的床上,当测试者的心率/呼吸率相对稳定之后通过串口读取测试者的心率/呼吸率,与此同时进行的是通过脉搏数出测试者的心率,并通过观察测试者的呼吸情况数出他们的呼吸率。然后传感器输出的三次心率、呼吸率与测试者实际的心率、呼吸率对比。对比结果显示用该算法计算的心率、呼吸率与实际心率、呼吸率基本吻合,如表1所示。

表1心率、呼吸率计算方法准确性测试结果

对于数据传输的一致性,测试方法是通过串口读取数据采集端打包后的数据,通过观察数据连续性的标志位发现偶尔会有丢包的情况,因为通信方式采用TCP连接,考虑到是因为网络连接不稳定等其他因素导致。

3总结

本文设计的基于云架构的睡眠监测系统是面向普通家庭用户的居家式的医疗监测系统。系统利用PVDF传感器采集人体生理信号,提出了基于CSI的人体生理信号处理算法,通过算法处理得到睡眠者的心率、呼吸率、体动和呼吸暂停等参数,同时在云服务器端实现了对生理参数的接收、存储以及睡眠质量的分析等工作。系统测试结果显示算法处理后得到的心率、呼吸率与实际的基本吻合,同时与穿戴式设备相比,该系统表现出较高的性能。未来将对系统做进一步完善与改进,比如增加光照、噪声等参数的测量,为睡眠质量评估提供依据,同时完善手机端软件的功能,增加闹钟提醒等功能。

教育期刊网 http://www.jyqkw.com
参考文献

[1]飞利浦医疗保健事业部.世界睡眠日:关注睡眠健康,发展睡眠学科[J].中国医院院长,2014,(5).

[2]李津,金捷.睡眠呼吸监测技术的研究进展[J].国际生物医学工程杂志,2008, 31(6):352-354.

[3]CK. Lee. Theory of Laminated Piezoelectric Plates for the Design of Distributed Sensors /Actuators[J]. J.Acoust.Soc.Am. 1990(3):1144-1158.

[4]马雪.三次样条插值的构造[J].科技致富向导,2014,(15):236-237.

[5]叶志前,郑涛,裘利坚.睡眠监护技术的发展[J].外国医学生物医学工程分册,2003(6):244-248.

[6]Yin Bai, Bin Xu, Yuanchao Ma, Guodong Sun and Yu Zhao, Will you have a good sleep tonight Sleep quality prediction with mobile[J].BodyNets. 2012: 124-130.

[责任编辑:刘展]