王玲,魏芳波,陈妮婷
(汉江师范学院 物理与电子工程学院,湖北十堰, 442000)
随着科技推动时代更迭,人民对美好生活的需求日益增长,带来全新的市场需求,新型市场需求引领各类新兴技术不断更替。另一方面,每年溺亡事件时有发生,官方不完全统计溺亡数据更是骇人听闻,防溺水问题迫在眉睫地需要被解决。本设计基于第三次科技浪潮的爆发,以现市场所存在的智能手环为基础,设计一款具有防溺水功能的智能防溺水手环,使佩戴智能防溺水手环的游泳人员可在发生溺亡危险时得到一定保护。
本智能防溺水手环能够迅速判断危险信号并将其自动定位的危险信号传出,与此同时自动报警系统发出报警,警报声能引起周围人的注意从而获得救助。除此之外,GPRS或者GSM的网络可以快速将游泳者溺水的信息发送至与手环连接的监控端,与手环连接的监控端就会收到来自无线发射器发出的报警求救信号,提示游泳者发生了危险,进而实施必要措施进行营救,有效地实现了远程报警和无线网络传播的功能,在一定程度上减少了因溺水死亡的概率。
第一个功能是远程报警功能。在手环正常运行的状态下,可以实时监测游泳人员的心率,利用手环的无线通信功能把游泳者的信息传送给予手环监测端的工作人员。如果发生溺水,手环会迅速识别并发出远程报警,向监控手环的人员发出求救信号的同时通过警报声引起周围路人的注意。第二个功能是GPRS/GSM网络,可以利用GSM模块发送短信或拨打电话至手环连接另一端,让救援人员知道游泳者溺水的信息并立即采取救援。
报警监测系统的工作流程图如图1所示,图中主控制器模块AT89C51是整个手环的中心,电源供电,利用按键板块设置报警阈值的调节[1,2],游泳者的心率作为待测对象,检测到的心率值可以通过显示模块进行显示,报警模块是在预设的心率值外时发出警报声。
图1 报警系统工作流程图
通过心率传感器监测游泳者的心率变化,心率值过低或者过高时,都会有信号产生,这种情况下游泳者很有可能处于溺水状态。在GPRS模块与接收装置端接收信号[3],通过GPRS模块第一时间将游泳者的信息传达到手环监测终端,救援人员可以及时采取有效措施对溺水者进行施救。
本设计防溺水手环报警系统,分为控制功能消耗部分、波形产生部分和信号采集与分析部分报警系统。其中,控制功能消耗的脉冲波形产生、波形产生和报警信号分析三部分共同构成主控制模块。主要结构图如图2所示。
图2 报警系统主要结构图
控制功能消耗部分,由控制功能消耗的脉冲产生和脉冲驱动电路两部分组成。在一定程度上可以用于减少报警系统的功能损耗。主控制模块产生的用于控制功能消耗的脉冲信号,通过脉冲驱动电路到达音频放大电路并控制音频放大电路的工作[4]。当报警系统不发出警报声的时候,可以通过关闭音频放大电路来减少报警系统的功能损耗。
波形产生部分分为波形产生、波形驱动电路和音频放大电路三部分。发生溺水时,报警系统接收到异常信号发出警报声,主控制模块控制波形产生,使产生的波形经过驱动电路和音频放大电路,驱动扬声器发出警报声。
报警信号采集与分析部分,用来监测报警系统的工作状态和发出的警报声,在报警系统正常运行时,扬声器接收的警报声经报警信号采集电路采集后,通过主控制模块对采集到的警报声进行识别和分析,当发出异常的警报声时,手环信息接收端就会收到紧急报警的信号,同时将定位游泳者的位置采取必要的措施进行救援。
扬声器模块用于将产生的脉冲信号转换成手环报警声音信号。
通信模块是用于接收报警系统发出的异常信息,通过定位对游泳者实施救援,同时定时向监测端发送报警系统的工作状态。
选用AT89C51为主控制器、ST188心率传感器监测心率,蜂鸣器作为报警模块中的发声元件,显示模块用于显示采集到的心率、时间等。主控电路部分电路图如图3所示,微处理器主控芯片AT89C51作为核心元件,MCU最小控制系统为主控电路,控制整个电路系统。晶振电路一般接在反相放大器的两端,晶振两端并联两个电容,每一个电容的一端与晶振连接,另一端接地,形成一个正弦波振荡电路,晶振电路的存在有利于各部分保持同步,维持电路中所需要的时钟频率运行。低通滤波电路如图4所示,由于人体脉搏信号极其微弱,脉搏信号采集成功后,输出的脉搏信号中夹杂着高频信号和噪音,采用UA741通用运算放大器,与电阻和电容共同组成低通滤波电路,过滤掉高频干扰信号。
图3 主控电路部分电路图
图4 低通滤波电路
本系统软件设计包括信息采集终端和信息接收终端,这两个程序均需要经过初始化后再传输,以及接收。系统通上电后,每个模块都需要先经过初始化操作,再把数据传输到传输模块,接收端接收数据并对数据信息进行终端处理。系统接收到的信号经GPRS通信模块传送给智能监测终端,与此同时手环发出警报声。信息采集端流程图和信息接收端流程图如图5、图6所示。
图5 信息采集端流程图
图6 信息接收端流程图
采集信息系统启动后,需初始化硬件设备,经过通信通道将采集到的数据传输到采集终端。系统处于准备阶段,如果游泳者的心率发生较大波动,底层信号收集端将开始采集心率信号,从底层收集的心率信号经转化传输给心率信号接收端,若同意接收心率信号后,经初始化采集传输,采集传输完毕则此次采集信息结束,若采集传输失败则再次采集传输,直到信号采集传输完毕。若接收的信号没有得到同意,也需返回准备接受心率信号的阶段重新接收信号,重复操作直至采集信息成功。
信息接收系统启动后,同样需要初始化硬件设备,经通信通道将接收到的信息传输到接收终端。进入准备接收信号端,若信号接收失败,则重新准备接收信号,若成功接收信号,则通过GPRS通信模块将接收到的信号传输到终端并结束信息接收。
自动报警系统数据处理使用了BP神经网络算法。计算心率的报警阈值采用的是反向传播算法,实际输出依照输入到输出的顺序进行计算,相反修正权值和阈值依照输出到输入的顺序进行[6]。在BP神经网络算法中,有输入层、隐藏层和输出层三层结构[7]。输入层得到采集的心率信号值后,会把这个值传给隐藏层,隐藏层会判断这个值并依据规则把这个值传输给输出层。BP神经网络在输入层与输出层间增添的一层或者多层神经元,每一层之间的连接方式是一对多的形式被称为隐单元神经元在同层之间互不相连[8]。为达到输出函数须连续且可微的要求,把Sigmoid函数作为输出层的激活函数。BP神经网络结构图如图7所示。
图7 BP神经网络结构图
设输入层中的某一个神经元信号用ix表示,隐藏层神经元的输出用yj表示,输出层神经元信号用zh表示,目标信号用kT表示,输入层与隐藏层间神经元的权值为wij,实际输出与预期输出的误差用Δ表示,n、m、r分别表示输入层、隐藏层和输出层神经元的个数,输入层到隐藏层的阈值为jθ,隐藏层到输出层的阈值为 iγ,步长用η表示,惯性系数用α表示式。其中,式(1)、式(2)为隐藏层神经元的输出,式(3)、式(4)为输出层神经元输出,式(5)为误差函数,式(6)为局部梯度,式(7)误差对连续权值的偏微分。
权值与阈值的修正量:
令Sigmoid函数:
成立:
为了加快网络收敛的速度,用式(10)来表示式(8)中的权值修正量:
本设计主要通过采集游泳者的心率数据作为自动报警系统识别的数据来源,分别在安静状态下和游泳对游泳者心率变化进行分析,报警系统在接收到异常心率值时会发出报警,各选取100组在不同强度下的实验数据[9]。通过在不同强度下进行测试来验证报警系统的准确性与灵敏性[10]。其中表1为安静状态下的部分实验数据,表2为游泳时的部分实验数据。
表1 安静状态下实验数据测试
表2 游泳时实验数据测试
经测验可知,安静状态下人的正常心率在60~100次/分钟之间,小于60或大于100时手环的报警系统会自动报警,游泳时人的正常心率在120~130之间,小于120或130时手环的报警系统会识别异常心率值触发报警。
目前在防溺水智能手环的设计上仍在不断地改造升级阶段,本文以智能手环监测报警功能为核心,通过心率值来判断游泳者是否溺水,当游泳者的心率值不在正常阈值范围内时,报警系统发出警报信号,并向手环监控端传达求救信息。本设计为突出优势在于可运用于室外场所,在没有救援人员的情况提供一种求救措施,以避免因溺水死亡事件发生。