王玲,魏芳波,陳妮婷
(漢江師范學院 物理與電子工程學院,湖北十堰, 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時手環的報警系統會識別異常心率值觸發報警。
目前在防溺水智能手環的設計上仍在不斷地改造升級階段,本文以智能手環監測報警功能為核心,通過心率值來判斷游泳者是否溺水,當游泳者的心率值不在正常閾值范圍內時,報警系統發出警報信號,并向手環監控端傳達求救信息。本設計為突出優勢在于可運用于室外場所,在沒有救援人員的情況提供一種求救措施,以避免因溺水死亡事件發生。