張楓沛, 肖世德, 陶 濤, 趙梓辛
(西南交通大學 機械工程學院,四川 成都 610031)
當今社會人口老齡化日趨嚴重,而老年人屬于心血管疾病高發(fā)人群。在心率監(jiān)測領域,文獻[1]提出了一種基于藍牙和全球移動通信系統(tǒng)(global system for mobile commumication,GSM)的心率監(jiān)測系統(tǒng),可通過GSM查詢信息和報警;文獻[2,3]提出了以藍牙為通信方式、平臺為數(shù)據(jù)處理中心和顯示器的心率檢測系統(tǒng);文獻[4]設計了一種腕式心率監(jiān)測裝置,通過無線收發(fā)模塊進行遠程監(jiān)測;文獻[5]設計了一種人體健康監(jiān)測系統(tǒng),實時監(jiān)測人體體溫和心率。以上系統(tǒng)主要針對青壯年,但對老年人群體所需求的預警功能、遠程傳輸?shù)确矫娌荒芡耆珴M足監(jiān)測要求。
本文設計了一種穿戴式老年人心率監(jiān)測系統(tǒng),上位機為Android端,考慮到老年人自我預警能力有限,預警接收方為子女或醫(yī)護人員,且考慮及時性和遠程傳輸能力,通信方式選用通用分組天線業(yè)務(general packet radio service,GPRS)結合云平臺的通信方式。系統(tǒng)體積小、數(shù)據(jù)傳輸精準、預警及時準確,滿足老年人遠程心率監(jiān)測的要求。
選用接觸式光電容積法采集腕部脈搏波,光檢測器選用波長515 nm綠色光發(fā)光管??紤]穿戴式檢測裝置測量位置的影響,使用反射式信號采集方式,即發(fā)光源和光電探測器在人體組織同側。對采集的初始信號進行有限脈沖響應(finite impulse response,FIR)低通濾波后采用基于時域—峰值的RR期間(脈搏波兩次波峰期間)算法提取心率。
系統(tǒng)分為監(jiān)測終端、通信傳輸部分以及Android終端。其中信號采集、決策控制和有機發(fā)光二極管(organic light emitting diode,OLED)屏幕顯示同屬于監(jiān)測終端。信號采集模塊采集到脈搏波信號后,經(jīng)信號調理后傳輸至決策控制部分決策處理后將心率信號通過GPRS上傳至云平臺,Android端實時訪問云平臺獲取數(shù)據(jù),同時穿戴裝置上設計有OLED屏幕可同步顯示數(shù)據(jù)。若決策判斷時發(fā)現(xiàn)心率信號超出設定閾值范圍,則通過GPRS上傳報警信號至云平臺,Android端收到數(shù)據(jù)后以彈窗形式顯示,同時下位機OLED屏幕顯示報警信息。Android端APP設計有心率閾值修改界面,方便用戶根據(jù)實際情況酌情修改閾值。系統(tǒng)總體設計如圖1所示。
圖1 系統(tǒng)總體設計
人體血液中的血紅蛋白在有入射光照射時遵循朗伯—比爾定律,心臟跳動時血管中的血流量呈現(xiàn)出周期性波動變化,進而使其對入射光的透射和反射產(chǎn)生周期性變化,光電探測器接收經(jīng)衰減后的光信號引起電信號變化,從而計算心率信息[6]。
測得初始信號后,采用FIR低通濾波,為使信號處理后不發(fā)生失真,使用速度較高的逐次逼近型A/D轉換器處理原始模擬信號,經(jīng)濾波處理后,形成一串數(shù)據(jù)序列[7]。
利用濾波后的心率信號進行時域—峰值的RR間期算法,首先檢測波峰位置并進行標記,通過計算前后相鄰兩個波峰的時間差來得到相鄰心跳時間,為了避免突發(fā)干擾影響,將連續(xù)獲得的N次心跳間隔時間進行平均,利用平均值來獲得心率值,為了增強心率檢測的準確度,在選用有效極值點時對相鄰3個極值點各自相較前一極值點的間隔時間進行計算,判斷中間極值點的間隔時間大于兩端極值點間隔時間的3/5,則保留;否則,舍去,直至出現(xiàn)連續(xù)N個極值點,RR期間算法流程如圖2。
圖2 RR期間算法流程
系統(tǒng)硬件分為信號采集模塊、處理器模塊、電源模塊、OLED顯示模塊、GPRS通信模塊。硬件架構如圖3。心率信號采集電路將心率信號轉換為毫伏(mV)程度的電壓模擬量,經(jīng)調理電路處理放大后,被單片機A/D采集并轉換,得到可識別并能夠反映心率變化的數(shù)字信號。考慮到穿戴設備的低功耗、高效率體積小等要求,處理器模塊選用飛思卡爾FRDM-KL25Z128VLK5[8]。OLED模塊采用控制器為SSD12864的OLED屏幕,耗電小,顯示清晰。直接通過串行外設接口(serial peripheral interface,SPI)總線方式控制屏幕,耗電小、顯示清晰、方便快捷。
圖3 硬件架構
光電轉換電路在進行光電轉換過程中容易受到各種外界因素影響,考慮到采集電路的響應速度、抗干擾能力、靈敏度、轉換能力以及腕帶設備的體積、低功耗要求,設計如圖4所示心率采集調理電路。利用反射式光電容積原理對人體心率信號進行監(jiān)測,光源采用型號為AM2520ZGC09的綠色光發(fā)光二極管,其綠色光峰值波長為515 nm,工作電壓3.3~4.1 V。光接收器采用型號為APDS—9008的光電轉換器件,可檢測到峰值波長為565 nm的光線[9],與光源波長相近,滿足靈敏度要求。
圖4 心率采集調理電路
由于人體心率信號強度在毫伏程度,易受外界因素影響,故在電路中加入400 Hz的巴特沃斯低通濾波電路及由MCP6001運算放大器組成的放大電路,經(jīng)計算電壓增益幅值約為331倍。
設計如圖5所示電源電路,充電芯片選用BQ24232,其輸出電壓為4.4 V。系統(tǒng)工作電壓為3.3 V,需穩(wěn)壓降壓保護,選用TPS63031正常工作電流為50 μA對電壓進行穩(wěn)壓降壓,滿足低功耗要求,并在低于3.3 V時,輸出電壓仍為3.3 V,續(xù)航能力強[10]。圖中LED1為充電指示燈,J1部分為MINIUSB接口,為充電接口。
圖5 電源電路
GPRS通信模塊選用西門子的GSM/GPRS雙模模塊MC35i,該芯片只要激活GPRS數(shù)據(jù)后,將會永遠在線不存在掉線問題。模塊與微處理器模塊通過串口連接,模塊的RXDO和TXD0管腳用于接收和發(fā)送數(shù)據(jù),同時IGT和PD管腳與微處理器I/O口相連方便控制MC35i的開關和復位操作。MC35i自帶網(wǎng)絡狀態(tài)指示接口,以脈沖信號控制發(fā)光二極管(light-emitting diode,LED)燈,作為當前網(wǎng)絡狀態(tài)指示[11]。以GPRS通信存在的問題是同一GPRS模塊每次上線獲得的IP地址是動態(tài)變化的,數(shù)據(jù)采集服務器無法準確定位GPRS。由此引入智能云服務平臺,下位機采集處理完數(shù)據(jù)后通過GPRS模塊實時上傳云平臺,Android端通過訪問云平臺獲取數(shù)據(jù),同理,Android端發(fā)出指令也由云平臺傳輸,為遠程測量和監(jiān)控提供了一個理想方案。
下位機程序在CodeWarrior10.6軟件下使用C語言實現(xiàn),系統(tǒng)選用的MCU為MKL25Z123VLK4芯片有多種低功耗工作模式,為保持設備實時監(jiān)測,設備報警及時準確,選用超低功耗(VLPRMode)模式。系統(tǒng)上電,成功初始化,進入VLPRMode模式,讀取AD數(shù)據(jù),QS用于判斷是否發(fā)現(xiàn)心率信號,當QS為TRUE時為真,開始進行心率計算,將計算結果與設定閾值比較,超出閾值范圍,發(fā)送警報信息。心率數(shù)值正常,將數(shù)值同時發(fā)送至OLED屏顯示和云平臺儲存,若設備異常,則根據(jù)實際情況在發(fā)送報警信息至OLED屏顯示和云平臺儲存。流程如圖6。
圖6 監(jiān)測終端程序流程
上位機終端為Android設備(平板或手機等)。以JAVA程序語言開發(fā)系統(tǒng)APP,交互界面采用Android平臺自帶用戶界面(user interface,UI)組件設計,服務器采用SQL+SOCKET實現(xiàn),利用SQLite數(shù)據(jù)庫實現(xiàn)數(shù)據(jù)儲存,結合SOCKET完成網(wǎng)絡通信[12,13]。利用Eclipse軟件中Bin目錄中編譯生成的APK文件可直接安裝在Android手機或平板上,相比Z-Wave、藍牙、ZigBee等無線通信方式,系統(tǒng)應用GPRS+云平臺通信技術,減少了時間、空間、環(huán)境的限制,且具備大量數(shù)據(jù)傳輸和儲存能力等優(yōu)點,用戶直接通過APP交互界面監(jiān)測,方便快捷。
應用Android平臺自帶UI組件設計交互界面,包括登陸界面和監(jiān)測界面,監(jiān)測界面顯示當前心率數(shù)值,心率異常時會通過彈窗模式提醒用戶查看數(shù)據(jù),用戶可通過查看歷史按鈕查詢歷史數(shù)據(jù),歷史數(shù)據(jù)以固定時鐘周期記錄現(xiàn)場心率數(shù)值并在云平臺儲存,同時異常數(shù)據(jù)單獨顯示,方便用戶查詢。當設備故障時仍會以彈窗形式提醒用戶并顯示故障原因,故障原因包括通信異常、賬號異常、下位機電量異常等,方便用戶及時處理。監(jiān)測界面設有設置按鈕,可根據(jù)實際情況更改報警閾值,Android端監(jiān)測界面如圖7所示。
圖7 Android端監(jiān)測界面
APP開啟并登陸后,實時訪問云平臺獲取心率數(shù)據(jù),當有報警信號時以彈窗模式提醒用戶查看數(shù)據(jù),當數(shù)據(jù)正常時在APP監(jiān)測界面顯示當前心率數(shù)值,若有閾值改變操作,則發(fā)送指令到云平臺,方便下位機獲取。
系統(tǒng)設計完成后,監(jiān)測終端部分硬件實際尺寸為21 mm×17 mm×6 mm,采用M3500A型六位半數(shù)字萬用表實測平均功耗約16 mA。并分別對監(jiān)測終端和Android端進行測試。
1)信號獲取和Android終端按鍵測試:由于心率傳感器輸出為模擬信號,可準確反映心率情況,實驗時將該模擬信號引出接到示波器,示波器能準確反應心率信號。Android端APP登陸賬號后,能正常顯示心率值,閾值設置按鈕和歷史心率按鈕均能正常工作。
2)耗電測試:監(jiān)測終端充滿電后保持正常工作,能保證正常運行36 h以上,同時在低電量時,監(jiān)測終端OLED屏幕電量格會顯示為紅色,Android端會以彈窗模式提醒監(jiān)測終端電量不足。
3)通信故障測試:以關閉監(jiān)測終端電源和關閉手機數(shù)據(jù)流量2種方式分別模擬Android端獲取數(shù)據(jù)為空和無法訪問云平臺2種通信故障,Android端APP會一彈窗模式提醒通信故障。
4)賬號異常測試:用兩部手機重復登陸同一賬號,前一部手機APP會彈窗顯示賬號異地登陸,并主動退出監(jiān)測界面。
5)心率異常測試:為實驗方便,設定心率高閾值為110次/min,選取成年實驗人員穿戴實驗設備做劇烈運動,當心率超過閾值時,監(jiān)測終端OLED屏幕上指示燈報警,Android終端彈窗報警。
6)數(shù)據(jù)傳輸測試:選取實驗人員,分別對其靜息狀態(tài)、慢走狀態(tài)和慢跑狀態(tài)平均心率進行測試,均能正常顯示數(shù)據(jù);為進行不同器件對比試驗,選取已上市產(chǎn)品SOLGO監(jiān)護手表進行同步對比試驗,每隔30 s采集1次,期間實驗人員在靜息、慢走和慢跑狀態(tài)隨意切換,實驗結果表明,同一時間檢測出的心率值基本一致,心率誤差范圍±2次/min,心率改變時間誤差范圍2 s,這是由于當心率發(fā)生變化時,要經(jīng)過2~6個脈搏周期才能準確測到,是信號檢測和濾波方式的延時導致,并不影響系統(tǒng)正常工作。