熊强强,曾美琳,严林波
(1.南昌理工学院 电子与信息学院,南昌 330044;2.江西工业贸易职业技术学院 图文信息中心,南昌 330038;3.南昌蛋讯电子科技有限公司,南昌 330029)
社会公益机构如敬老院和养老院等机构面临的主要问题就是老年人健康问题频发、看护难度大以及老年人偏多等,对于老年人来说大部分疾病都在睡眠中突发,导致救护不及时。因此建立实时睡眠监测系统,对老年人睡眠过程的状态进行监控是非常有意义的。由于传统睡眠监测仪[1-3]都需要在特定的医疗机构由专业的医疗技师进行操作,并且使用过程相对比较复杂,从而会使用户紧张焦虑或者心理压力增大,睡眠监测质量会受到一定程度的影响,由此研发一款非侵入式睡眠呼吸监测系统。该系统运行过程中,首先由监控节点的三大数据采集模块对相应的数据进行采集,暨呼吸频次由呼吸频率采集模块负责,翻身频次由翻身次数采集模块负责,心率由心率采集模块负责,然后由监控节点进行初步的去趋势与降噪等处理,然后将其进行数据压缩,并且利用无线传感网络通过网关及其交换机向后台服务器传送。当服务器成功接收数据后会再进行二次修正处理,并且最终向用户和监控终端反馈,由此检测应用者睡眠质量。
系统组成部分主要有4 个,分别是监控端、服务器、汇聚节点和监测节点[4-5]。监测节点的主要作用是对用户的翻身、呼吸以及心率等数据进行获取,并向汇聚节点发送,汇聚节点的原理大致相同,不过增加了交换机与网关,起到汇总、压缩和优化监测节点发送的数据的作用,再向服务器发送的目的。服务器主要实现完成分析、储存和处理数据的作用,最终向用户和后台监控端发送,为相应的决策、预警以及查询提供依据的功能。系统工作原理框图如图1 所示。
图1 系统工作原理框图Fig.1 System working principle block diagram
考虑到系统基本上都在室内环境中使用,所以供电方式为电池,选用9 V 方块电池6LR61,不过系统元器件包括单片机的供电电压都是5 V,所以9 V电压还要降到5 V,由降压模块来实现,降压模块选择150 kHz 固定频率的PWMDC 开关稳压电源换器LM2596S-5.0[6-8]。输出电流为3 A,输入电压最低为4.5 V,最高可达40 V。主要优势在于低纹波、较低的负载调整率、高线性调整率以及效率高等。除此以外芯片具有过温过流保护等多种功能。
终端节点的作用是采集数据,包括翻身频次、呼吸频率以及心率等,例如采集心率电路是由心率信号采集电路、低通滤波电路以及放大电路构成,最开始用户将手指置于心率检测模块上,光电二极管接收信号的强度会受到人脉搏强度的影响。心率检测电路原理如图2 所示。考虑到红外接收管感应红外光灵敏度,电阻R4的阻值确定为330 Ω,如果该阻值太大,经过二极管电流太小,就会导致红外接收管不能对脉搏信号的形成进行有效识别。相反如果阻值偏小,则经过二极管电流过大,脉搏信号也无法精准的区分。上拉电阻R5的阻值大小为22 kΩ;红外接收管导通与非导通状态下分别接地和连接电源。由于输出的脉搏信号只能达到μV 级别,同时还有噪声存在,所以要进行放大和滤波处理,电容C4的大小为10 μf,起到隔直流作用,同时还能够避免环境中光线与高频波的影响;下拉电阻R11连接LM358 输入端的引脚5,信号输入接通,反之接地;滤波器由C5、R11与R5构成,作用是对高频信号进行滤掉,与线性放大输入端连接;低通滤波器由C6与R6构成,作用是将残留的高频干扰信号滤掉,信号放大由LM358 负责,R12与R13两个电阻确定放大倍数;并经LM358 同相输入端输入来完成信号的放大。
图2 心率检测电路Fig.2 Heart rate detection circuit
以扩频调制技术[9-10]为基础的远距离无线传输技术LoRa 是低功率广域网络LPWAN 通信技术的一种。系统选用芯片SX1278,配合STM32 传输数据,配置寄存器可实现FSK 和LoRa 模式的选择。LoRa主要特点在于可实现长距离传输,空旷环境中能够实现最长5 km 距离的数据传输。发送端与接收端配置的信号带宽(BW)、编码率(CR)以及扩频因子(SF)都要保持一致。具体设置要结合实际应用场景。
LoRa 通信电路原理[11-13]如图3 所示,SX1280 芯片所需时钟是由52 MHz 无源晶振负责提供的;射频电路由1 个椭圆滤波器和LC 匹配电路构成,同时与2.4 GHz 天线连接;L1 连接是为了降压,向射频模块提供电源;与主芯片通信方式为SP1。
图3 LoRa 通信电路Fig.3 LoRa communication circuit
系统无线传感器网络是通过LoRa 网关来实现的,LoRa 网关的构成部分包括GPRS 模块与LoRa模块。其中,接收模块是对LoRa 无线传感器传输的差分校正量进行接收,LoRa 模块与GPRS 模块转换通信格式是通过树莓派4B 实现的,树莓派4B 是网关核心处理器,然后监测数据由GPRS 模块利用GPRS网络通过服务器和交换机向监测中心发送。
心率采集与处理子程序流程如图4 所示,通过自适应滤波算法来实现。算法中第n 次采样使用队列窗口的大小是Wn,对应的调整步长是m,如果n%m=0,需要对Wn的大小进行调节。因为通常来说临近2 次采样值间偏差幅度非常小,如果样本队列临近2 次采样值偏差绝对值比预设偏差最大值要高,就代表心率信号波动不正常。如果异常波动频次偏高,就需要增大队列窗口以通过信号平滑效果的优化来更好地实现对干扰信号的抑制;如果异常波动频次很少,就需要减小队列窗口以通过内存耗用的减少实现运算速率的加快。心率数据获取后利用限幅滤波算法进行处理,向样本队列加入后利用递推中位值平均滤波完成相应处理。全新心率数据获取成功加到队列最后,同时将队首心率数据进行删除。
图4 心率采集与处理子程序流程Fig.4 Flow chart of heart rate collection and processing subprogram
再将最小和最大心率数据进行删除,这样其余Wn-2 个心率数据的算术平均值就能够计算出来,为递推中位值平均滤波的输出数据,即最后测量获取的实时心率数据,由此历史测量心率数据均值就能够更新。
无线通信子程序流程如图5 所示,接通电源后系统首先进行初始化[14-15]操作,同时也会驱动看门狗运行,再向网关发送启动数据包。若网关数据存在于节点监听信道中,则接收并处理,完成数据包解析、校验数据与匹配地址等,对数据包发送对象进行确定并将有价值的内容获取,同时完成相应处理;如果数据包或者地址匹配存在问题则不接收数据包也无需回复。节点运行与休眠呈周期性变换,节点在运行向网关发送数据,成功接收后向节点回复确认消息ACK,若并未成功接收ACK,数据包会再次传送,符合预设发送频次后才会停止,网关向节点发送控制指令,节点成功接收也将ACK 消息回复,否则网关同样将数据包再次发送,这样网关和节点能够精准可靠地完成通信。
图5 无线通信子程序流程Fig.5 Wireless communication subroutine flow chart
网关子程序流程如图6 所示,有关参数成功设定之后,连接云平台,对云平台发出的用户命令进行读取,若存在则以地址为依据判定转发目的节点还是发送给网关,若发送给目的节点则数据信息应封装后加载到发送队列,并且确定射频模块并未进行数据包的发送或者数据重传后才能发送数据,否则需要等待发送或重传完毕后再进行发送。网关完成数据发送以后等待回复,接收回复信息之后发送数据任务才彻底结束,如果没有接收到回复信息就会依据预设重传频次反复发送,重传频次达到最高后才会停止,将数据包舍弃,发送队列中的数据包也同时清除掉。若节点发送数据被网关成功接收,以事件类别为依据对解析函数调取以完成数据包解析、校验数据和地址匹配,有效数据获取之后将对应的SNR 和RSSI 等进行计算,完成封装并载入发送队列,等待向UART 发送。再利用RS485 向云平台发送。用户就能够通过后台对SNR、RSSI、发射功率以及传输速率等数据进行查看。
图6 网关子程序流程Fig.6 Gateway subroutine flow chart
采集多个测试者睡眠过程中的信息以完成算法检验。测试者总计10 人,对睡眠过程中的翻身、呼吸以及心跳频次进行采集,如表1 所示,手机APP与核心电路示意图如图7 和图8 所示。
表1 心率、呼吸和翻身次数测试数据Tab.1 Heart rate,breathing and number of turns test data
图7 手机APPFig.7 Mobile APP
图8 核心电路Fig.8 Core circuit
经过测试证实,在使用本仪器之后,心率次数、呼吸次数以及翻身次数的准确率可以分别达到95.1%、96.4%及95.7%。用户睡眠时只需要分别将心率检测模块戴在手指上即可,而在腹部放置呼吸检测模块,手臂上戴好翻身检测模块即可,佩戴非常舒适,能够检测翻身、呼吸和心率频次,检测到的数据会发送到用户APP 和后台,从而能够实现用户和医生及时、准确地了解睡眠质量并作出相应的诊断的目的。