王玲,魏芳波,陳妮婷
(漢江師范學(xué)院 物理與電子工程學(xué)院,湖北十堰, 442000)
隨著科技推動(dòng)時(shí)代更迭,人民對(duì)美好生活的需求日益增長(zhǎng),帶來全新的市場(chǎng)需求,新型市場(chǎng)需求引領(lǐng)各類新興技術(shù)不斷更替。另一方面,每年溺亡事件時(shí)有發(fā)生,官方不完全統(tǒng)計(jì)溺亡數(shù)據(jù)更是駭人聽聞,防溺水問題迫在眉睫地需要被解決。本設(shè)計(jì)基于第三次科技浪潮的爆發(fā),以現(xiàn)市場(chǎng)所存在的智能手環(huán)為基礎(chǔ),設(shè)計(jì)一款具有防溺水功能的智能防溺水手環(huán),使佩戴智能防溺水手環(huán)的游泳人員可在發(fā)生溺亡危險(xiǎn)時(shí)得到一定保護(hù)。
本智能防溺水手環(huán)能夠迅速判斷危險(xiǎn)信號(hào)并將其自動(dòng)定位的危險(xiǎn)信號(hào)傳出,與此同時(shí)自動(dòng)報(bào)警系統(tǒng)發(fā)出報(bào)警,警報(bào)聲能引起周圍人的注意從而獲得救助。除此之外,GPRS或者GSM的網(wǎng)絡(luò)可以快速將游泳者溺水的信息發(fā)送至與手環(huán)連接的監(jiān)控端,與手環(huán)連接的監(jiān)控端就會(huì)收到來自無線發(fā)射器發(fā)出的報(bào)警求救信號(hào),提示游泳者發(fā)生了危險(xiǎn),進(jìn)而實(shí)施必要措施進(jìn)行營(yíng)救,有效地實(shí)現(xiàn)了遠(yuǎn)程報(bào)警和無線網(wǎng)絡(luò)傳播的功能,在一定程度上減少了因溺水死亡的概率。
第一個(gè)功能是遠(yuǎn)程報(bào)警功能。在手環(huán)正常運(yùn)行的狀態(tài)下,可以實(shí)時(shí)監(jiān)測(cè)游泳人員的心率,利用手環(huán)的無線通信功能把游泳者的信息傳送給予手環(huán)監(jiān)測(cè)端的工作人員。如果發(fā)生溺水,手環(huán)會(huì)迅速識(shí)別并發(fā)出遠(yuǎn)程報(bào)警,向監(jiān)控手環(huán)的人員發(fā)出求救信號(hào)的同時(shí)通過警報(bào)聲引起周圍路人的注意。第二個(gè)功能是GPRS/GSM網(wǎng)絡(luò),可以利用GSM模塊發(fā)送短信或撥打電話至手環(huán)連接另一端,讓救援人員知道游泳者溺水的信息并立即采取救援。
報(bào)警監(jiān)測(cè)系統(tǒng)的工作流程圖如圖1所示,圖中主控制器模塊AT89C51是整個(gè)手環(huán)的中心,電源供電,利用按鍵板塊設(shè)置報(bào)警閾值的調(diào)節(jié)[1,2],游泳者的心率作為待測(cè)對(duì)象,檢測(cè)到的心率值可以通過顯示模塊進(jìn)行顯示,報(bào)警模塊是在預(yù)設(shè)的心率值外時(shí)發(fā)出警報(bào)聲。
圖1 報(bào)警系統(tǒng)工作流程圖
通過心率傳感器監(jiān)測(cè)游泳者的心率變化,心率值過低或者過高時(shí),都會(huì)有信號(hào)產(chǎn)生,這種情況下游泳者很有可能處于溺水狀態(tài)。在GPRS模塊與接收裝置端接收信號(hào)[3],通過GPRS模塊第一時(shí)間將游泳者的信息傳達(dá)到手環(huán)監(jiān)測(cè)終端,救援人員可以及時(shí)采取有效措施對(duì)溺水者進(jìn)行施救。
本設(shè)計(jì)防溺水手環(huán)報(bào)警系統(tǒng),分為控制功能消耗部分、波形產(chǎn)生部分和信號(hào)采集與分析部分報(bào)警系統(tǒng)。其中,控制功能消耗的脈沖波形產(chǎn)生、波形產(chǎn)生和報(bào)警信號(hào)分析三部分共同構(gòu)成主控制模塊。主要結(jié)構(gòu)圖如圖2所示。
圖2 報(bào)警系統(tǒng)主要結(jié)構(gòu)圖
控制功能消耗部分,由控制功能消耗的脈沖產(chǎn)生和脈沖驅(qū)動(dòng)電路兩部分組成。在一定程度上可以用于減少報(bào)警系統(tǒng)的功能損耗。主控制模塊產(chǎn)生的用于控制功能消耗的脈沖信號(hào),通過脈沖驅(qū)動(dòng)電路到達(dá)音頻放大電路并控制音頻放大電路的工作[4]。當(dāng)報(bào)警系統(tǒng)不發(fā)出警報(bào)聲的時(shí)候,可以通過關(guān)閉音頻放大電路來減少報(bào)警系統(tǒng)的功能損耗。
波形產(chǎn)生部分分為波形產(chǎn)生、波形驅(qū)動(dòng)電路和音頻放大電路三部分。發(fā)生溺水時(shí),報(bào)警系統(tǒng)接收到異常信號(hào)發(fā)出警報(bào)聲,主控制模塊控制波形產(chǎn)生,使產(chǎn)生的波形經(jīng)過驅(qū)動(dòng)電路和音頻放大電路,驅(qū)動(dòng)揚(yáng)聲器發(fā)出警報(bào)聲。
報(bào)警信號(hào)采集與分析部分,用來監(jiān)測(cè)報(bào)警系統(tǒng)的工作狀態(tài)和發(fā)出的警報(bào)聲,在報(bào)警系統(tǒng)正常運(yùn)行時(shí),揚(yáng)聲器接收的警報(bào)聲經(jīng)報(bào)警信號(hào)采集電路采集后,通過主控制模塊對(duì)采集到的警報(bào)聲進(jìn)行識(shí)別和分析,當(dāng)發(fā)出異常的警報(bào)聲時(shí),手環(huán)信息接收端就會(huì)收到緊急報(bào)警的信號(hào),同時(shí)將定位游泳者的位置采取必要的措施進(jìn)行救援。
揚(yáng)聲器模塊用于將產(chǎn)生的脈沖信號(hào)轉(zhuǎn)換成手環(huán)報(bào)警聲音信號(hào)。
通信模塊是用于接收?qǐng)?bào)警系統(tǒng)發(fā)出的異常信息,通過定位對(duì)游泳者實(shí)施救援,同時(shí)定時(shí)向監(jiān)測(cè)端發(fā)送報(bào)警系統(tǒng)的工作狀態(tài)。
選用AT89C51為主控制器、ST188心率傳感器監(jiān)測(cè)心率,蜂鳴器作為報(bào)警模塊中的發(fā)聲元件,顯示模塊用于顯示采集到的心率、時(shí)間等。主控電路部分電路圖如圖3所示,微處理器主控芯片AT89C51作為核心元件,MCU最小控制系統(tǒng)為主控電路,控制整個(gè)電路系統(tǒng)。晶振電路一般接在反相放大器的兩端,晶振兩端并聯(lián)兩個(gè)電容,每一個(gè)電容的一端與晶振連接,另一端接地,形成一個(gè)正弦波振蕩電路,晶振電路的存在有利于各部分保持同步,維持電路中所需要的時(shí)鐘頻率運(yùn)行。低通濾波電路如圖4所示,由于人體脈搏信號(hào)極其微弱,脈搏信號(hào)采集成功后,輸出的脈搏信號(hào)中夾雜著高頻信號(hào)和噪音,采用UA741通用運(yùn)算放大器,與電阻和電容共同組成低通濾波電路,過濾掉高頻干擾信號(hào)。
圖3 主控電路部分電路圖
圖4 低通濾波電路
本系統(tǒng)軟件設(shè)計(jì)包括信息采集終端和信息接收終端,這兩個(gè)程序均需要經(jīng)過初始化后再傳輸,以及接收。系統(tǒng)通上電后,每個(gè)模塊都需要先經(jīng)過初始化操作,再把數(shù)據(jù)傳輸?shù)絺鬏斈K,接收端接收數(shù)據(jù)并對(duì)數(shù)據(jù)信息進(jìn)行終端處理。系統(tǒng)接收到的信號(hào)經(jīng)GPRS通信模塊傳送給智能監(jiān)測(cè)終端,與此同時(shí)手環(huán)發(fā)出警報(bào)聲。信息采集端流程圖和信息接收端流程圖如圖5、圖6所示。
圖5 信息采集端流程圖
圖6 信息接收端流程圖
采集信息系統(tǒng)啟動(dòng)后,需初始化硬件設(shè)備,經(jīng)過通信通道將采集到的數(shù)據(jù)傳輸?shù)讲杉K端。系統(tǒng)處于準(zhǔn)備階段,如果游泳者的心率發(fā)生較大波動(dòng),底層信號(hào)收集端將開始采集心率信號(hào),從底層收集的心率信號(hào)經(jīng)轉(zhuǎn)化傳輸給心率信號(hào)接收端,若同意接收心率信號(hào)后,經(jīng)初始化采集傳輸,采集傳輸完畢則此次采集信息結(jié)束,若采集傳輸失敗則再次采集傳輸,直到信號(hào)采集傳輸完畢。若接收的信號(hào)沒有得到同意,也需返回準(zhǔn)備接受心率信號(hào)的階段重新接收信號(hào),重復(fù)操作直至采集信息成功。
信息接收系統(tǒng)啟動(dòng)后,同樣需要初始化硬件設(shè)備,經(jīng)通信通道將接收到的信息傳輸?shù)浇邮战K端。進(jìn)入準(zhǔn)備接收信號(hào)端,若信號(hào)接收失敗,則重新準(zhǔn)備接收信號(hào),若成功接收信號(hào),則通過GPRS通信模塊將接收到的信號(hào)傳輸?shù)浇K端并結(jié)束信息接收。
自動(dòng)報(bào)警系統(tǒng)數(shù)據(jù)處理使用了BP神經(jīng)網(wǎng)絡(luò)算法。計(jì)算心率的報(bào)警閾值采用的是反向傳播算法,實(shí)際輸出依照輸入到輸出的順序進(jìn)行計(jì)算,相反修正權(quán)值和閾值依照輸出到輸入的順序進(jìn)行[6]。在BP神經(jīng)網(wǎng)絡(luò)算法中,有輸入層、隱藏層和輸出層三層結(jié)構(gòu)[7]。輸入層得到采集的心率信號(hào)值后,會(huì)把這個(gè)值傳給隱藏層,隱藏層會(huì)判斷這個(gè)值并依據(jù)規(guī)則把這個(gè)值傳輸給輸出層。BP神經(jīng)網(wǎng)絡(luò)在輸入層與輸出層間增添的一層或者多層神經(jīng)元,每一層之間的連接方式是一對(duì)多的形式被稱為隱單元神經(jīng)元在同層之間互不相連[8]。為達(dá)到輸出函數(shù)須連續(xù)且可微的要求,把Sigmoid函數(shù)作為輸出層的激活函數(shù)。BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖如圖7所示。
圖7 BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖
設(shè)輸入層中的某一個(gè)神經(jīng)元信號(hào)用ix表示,隱藏層神經(jīng)元的輸出用yj表示,輸出層神經(jīng)元信號(hào)用zh表示,目標(biāo)信號(hào)用kT表示,輸入層與隱藏層間神經(jīng)元的權(quán)值為wij,實(shí)際輸出與預(yù)期輸出的誤差用Δ表示,n、m、r分別表示輸入層、隱藏層和輸出層神經(jīng)元的個(gè)數(shù),輸入層到隱藏層的閾值為jθ,隱藏層到輸出層的閾值為 iγ,步長(zhǎng)用η表示,慣性系數(shù)用α表示式。其中,式(1)、式(2)為隱藏層神經(jīng)元的輸出,式(3)、式(4)為輸出層神經(jīng)元輸出,式(5)為誤差函數(shù),式(6)為局部梯度,式(7)誤差對(duì)連續(xù)權(quán)值的偏微分。
權(quán)值與閾值的修正量:
令Sigmoid函數(shù):
成立:
為了加快網(wǎng)絡(luò)收斂的速度,用式(10)來表示式(8)中的權(quán)值修正量:
本設(shè)計(jì)主要通過采集游泳者的心率數(shù)據(jù)作為自動(dòng)報(bào)警系統(tǒng)識(shí)別的數(shù)據(jù)來源,分別在安靜狀態(tài)下和游泳對(duì)游泳者心率變化進(jìn)行分析,報(bào)警系統(tǒng)在接收到異常心率值時(shí)會(huì)發(fā)出報(bào)警,各選取100組在不同強(qiáng)度下的實(shí)驗(yàn)數(shù)據(jù)[9]。通過在不同強(qiáng)度下進(jìn)行測(cè)試來驗(yàn)證報(bào)警系統(tǒng)的準(zhǔn)確性與靈敏性[10]。其中表1為安靜狀態(tài)下的部分實(shí)驗(yàn)數(shù)據(jù),表2為游泳時(shí)的部分實(shí)驗(yàn)數(shù)據(jù)。
表1 安靜狀態(tài)下實(shí)驗(yàn)數(shù)據(jù)測(cè)試
表2 游泳時(shí)實(shí)驗(yàn)數(shù)據(jù)測(cè)試
經(jīng)測(cè)驗(yàn)可知,安靜狀態(tài)下人的正常心率在60~100次/分鐘之間,小于60或大于100時(shí)手環(huán)的報(bào)警系統(tǒng)會(huì)自動(dòng)報(bào)警,游泳時(shí)人的正常心率在120~130之間,小于120或130時(shí)手環(huán)的報(bào)警系統(tǒng)會(huì)識(shí)別異常心率值觸發(fā)報(bào)警。
目前在防溺水智能手環(huán)的設(shè)計(jì)上仍在不斷地改造升級(jí)階段,本文以智能手環(huán)監(jiān)測(cè)報(bào)警功能為核心,通過心率值來判斷游泳者是否溺水,當(dāng)游泳者的心率值不在正常閾值范圍內(nèi)時(shí),報(bào)警系統(tǒng)發(fā)出警報(bào)信號(hào),并向手環(huán)監(jiān)控端傳達(dá)求救信息。本設(shè)計(jì)為突出優(yōu)勢(shì)在于可運(yùn)用于室外場(chǎng)所,在沒有救援人員的情況提供一種求救措施,以避免因溺水死亡事件發(fā)生。