戴初舉 楊炎祥 林玉霓
【摘要】 由于近來(lái)電子技術(shù)的迅速發(fā)展,便攜性醫(yī)療電子需求逐漸增大,促進(jìn)了移動(dòng)醫(yī)療系統(tǒng)的發(fā)展?;贏ndroid系統(tǒng)移動(dòng)終端因其靈活的自定功能、較強(qiáng)的運(yùn)算處理能力,推動(dòng)了醫(yī)療電子的便攜化和智能化,而智能終端的迅速普及更是為移動(dòng)健康醫(yī)療系統(tǒng)帶來(lái)了很大的發(fā)展想象空間。我們項(xiàng)目小組在心電(ECG)數(shù)據(jù)采集前端的基礎(chǔ)上設(shè)計(jì)添加BLE藍(lán)牙模塊CC2451,移動(dòng)智能端采用自身藍(lán)牙,通過(guò)BLE協(xié)議通信,實(shí)現(xiàn)在 Android手持端顯示心電圖和數(shù)據(jù)儲(chǔ)存。
【關(guān)鍵詞】 Android 醫(yī)療電子 BLE 心電(ECG)
引言
中國(guó)經(jīng)濟(jì)的驚人增長(zhǎng)速度,使中國(guó)國(guó)民更加關(guān)注自身健康狀況,現(xiàn)代信息技術(shù)用來(lái)改善健康監(jiān)測(cè)系統(tǒng)已是必然。與此同時(shí),基于手機(jī)等移動(dòng)智能設(shè)備的移動(dòng)醫(yī)療健康系統(tǒng),因其靈活、便攜帶原因,更是加速了醫(yī)療和移動(dòng)通信產(chǎn)業(yè)的有效結(jié)合,將使得移動(dòng)醫(yī)療設(shè)備不斷增多。
而心電的檢測(cè)有助于在急救中及時(shí)對(duì)突發(fā)的病癥進(jìn)行治療。并且生理數(shù)據(jù)的長(zhǎng)期監(jiān)測(cè)可以為用戶(hù)提供寶貴的護(hù)理信息,不僅有一定的臨床參考價(jià)值,還為未來(lái)的遠(yuǎn)程醫(yī)療的實(shí)現(xiàn)提供可能。
一、系統(tǒng)結(jié)構(gòu)
本文提出的ECG采集系統(tǒng)可分為Android設(shè)備終端和采集模塊。
心電檢測(cè)采集模塊由前置放大、四階低通、一階高通和主放大四部分組成。采集到的數(shù)據(jù)通過(guò)藍(lán)牙BLE 4.0傳輸給Android設(shè)備,并在Android智能端藍(lán)牙Socket接口得到數(shù)據(jù)并進(jìn)行處理。再經(jīng)過(guò)應(yīng)用軟件開(kāi)發(fā)完成信號(hào)波形的顯示。如圖1。
1.1數(shù)據(jù)采集處理
心電信號(hào)有波形小、噪聲干擾大等特點(diǎn),因此采集的心電信號(hào)須經(jīng)放大和多次過(guò)濾處理[1]。本文采用ADS1298R芯片,是TI公司專(zhuān)門(mén)為生理信號(hào)采集而設(shè)計(jì)的芯片,其集成了8個(gè)獨(dú)立的模數(shù)轉(zhuǎn)換模塊,同時(shí)還集成了8個(gè)程控差分輸入放大器、右腿驅(qū)動(dòng)、Wilson電阻網(wǎng)絡(luò)等,通過(guò)結(jié)合高精度的模數(shù)轉(zhuǎn)換和將基線漂移、工頻干擾等噪聲處理放到模數(shù)轉(zhuǎn)換后的數(shù)字處理部分,可以簡(jiǎn)化數(shù)據(jù)采集前端的設(shè)計(jì)。一般心電信號(hào)的幅值在10μV-4mV,若放大倍數(shù)不夠,就要求系統(tǒng)的電壓分辨率較高。
倘若分辨率不夠,則通常要對(duì)信號(hào)進(jìn)行20000倍左右放大;正常的心電信號(hào)頻率范圍為 0.05-100Hz,采集心電時(shí),高頻干擾有很大影響,那么需要放大器具有較高共模抑制比(CMRR),前置放大電路將傳感器采集到的心電信號(hào)低失真放大,得到高共模抑制比、低漂移的電信號(hào),即可滿(mǎn)足設(shè)計(jì)要求;四階低通濾波電路消除50Hz頻率的工頻信號(hào);另外從抑制基線漂移和帶外噪聲以及保護(hù)器件考慮,需要對(duì)輸入信號(hào)進(jìn)行限幅與濾波,高通濾波電路消除頻帶意外的肌電等信號(hào)。
再經(jīng)A/D轉(zhuǎn)換,得到心電數(shù)字信號(hào),再通過(guò)藍(lán)牙BLE協(xié)議傳輸給Android移動(dòng)端,并對(duì)接收到的心電數(shù)據(jù)進(jìn)行分析處理、存儲(chǔ)。心最后對(duì)通過(guò)開(kāi)發(fā)的APP對(duì)心電的波形進(jìn)行顯示。
1.2 藍(lán)牙4.0協(xié)議棧介紹與開(kāi)發(fā)
本系統(tǒng)使用的是TI的BLE4.0 CC2541藍(lán)牙芯片,其使用高性能,低功耗的8051內(nèi)核,剛好解決了便攜式設(shè)備的低功耗問(wèn)題要求。BLE協(xié)議棧結(jié)構(gòu)如圖2。
1)物理層(PHL):即射頻和電路部分,進(jìn)行IEEE地址分配。
2)鏈路層(LL):可以通過(guò)對(duì)寄存器的設(shè)置控制物理層,并控制設(shè)備協(xié)議棧的狀態(tài)。設(shè)置主機(jī)或從機(jī)角色。
3)主/控接口層(HCI):提供標(biāo)準(zhǔn)藍(lán)牙的事件和命令接口以及上下層通信。
4)邏輯鏈路控制和適配層(L2CAP):負(fù)責(zé)邏輯鏈路連接和數(shù)據(jù)分發(fā)。
5)安全管理層(SM):負(fù)責(zé)配對(duì)及加密等安全性工作。
6)GAP層:用于設(shè)備查找、連接建立、廣播發(fā)送接收的一些控制。
7)ATT層:將數(shù)據(jù)暴露給其他設(shè)備,所有數(shù)據(jù)傳輸都是通過(guò)它實(shí)現(xiàn)。
8)GATT層:基于ATT層的Profile,用來(lái)具體實(shí)現(xiàn)數(shù)據(jù)傳輸。
連接過(guò)程為:Peripheral開(kāi)啟廣播—>Central掃描從機(jī)廣播—>Peripheral接收到Central的掃描請(qǐng)求,Peripheral向Central發(fā)送掃描回應(yīng)數(shù)據(jù)—>Central向Peripheral發(fā)起連接-->開(kāi)始通信。
藍(lán)牙作為低功耗、低成本的無(wú)線標(biāo)準(zhǔn),Android提供了大量可以管理藍(lán)牙通信的API,通過(guò)這些API可以實(shí)現(xiàn)藍(lán)牙設(shè)備間的無(wú)線連接,建立點(diǎn)到點(diǎn)、點(diǎn)到多點(diǎn)通信模式。
二、軟件設(shè)計(jì)
Android操作系統(tǒng)在4.3以上版本中添加BLE4.0的功能,本方案采用5.0版本智能設(shè)備作為開(kāi)發(fā)平臺(tái)。Android系統(tǒng)的結(jié)構(gòu)主要分為四層[2],從低到高分別為L(zhǎng)inux內(nèi)核層、系統(tǒng)運(yùn)行庫(kù)層、應(yīng)用框架層和應(yīng)用層。
本文采用的是window7系統(tǒng),系統(tǒng)開(kāi)發(fā)所需要的軟件為:JDK , Eclipse, Android SDK, ADT。Android應(yīng)用程序由四個(gè)模塊組成:Activity 、Intent 、Content 和Service[3]。軟件流程如圖3。
Android智能端通過(guò)藍(lán)牙接收到心電數(shù)據(jù)后,就可以對(duì)數(shù)據(jù)進(jìn)行初步處理,首先利用File文件存儲(chǔ)心電數(shù)據(jù),之后進(jìn)行波形繪制和心率計(jì)算,本研究使用選擇定時(shí)器TimeTask、多線程的技術(shù)來(lái)實(shí)現(xiàn)波形的繪制,波形繪制和心率計(jì)算分別在不同的線程中實(shí)現(xiàn)。TimeTask屬于Java自帶的定時(shí)器類(lèi),需用的兩個(gè)包是:Java.uti.Timer;Java.uti. TimerTask,本文就用Java.uti.Timer來(lái)實(shí)現(xiàn)接收心電數(shù)據(jù)流,再分給不同的線程來(lái)進(jìn)行數(shù)據(jù)處理。
2.1 智能端通信實(shí)現(xiàn)
Android平臺(tái)通過(guò)三種網(wǎng)絡(luò)接口進(jìn)行通信,本研究選擇標(biāo)準(zhǔn)的Java接口來(lái)實(shí)現(xiàn)Socket通信和HTTP通信,標(biāo)準(zhǔn)的Java接口中Java.net*提供與聯(lián)網(wǎng)有關(guān)的類(lèi),包括流和數(shù)據(jù)包套接字、Internet協(xié)議、常見(jiàn)HTTP處理。
本文采用面向連接的Socket通信,這種方式Socket可以是一個(gè)流接口進(jìn)行開(kāi)關(guān)和讀寫(xiě)操作,所有發(fā)送的數(shù)據(jù)在另一端同步被接收。Java在Java.net包中提供了兩個(gè)Socket和ServerSocket,前者為雙向鏈接中的客戶(hù)端,后者為服務(wù)器。在建立連接后,利用Socket提供的getInputStream()和getOutputStream()得到對(duì)應(yīng)的輸入和輸出流,就可以進(jìn)行讀寫(xiě)數(shù)據(jù)操作:
OutputStreamoutStream=socket.get.getOutputStream();
RandomAccessFile fileOutStream=new RandomAccessFile(u ploadFile.”r”);
While((len=fileOutStream.read(buffer)) !=-1)
outStream.write(buffer,0,len); fileOutStream.close(); outStream.close();
上面程序中設(shè)置采集到的生理參數(shù)數(shù)據(jù)文件為uploadFile。通過(guò)Socket類(lèi)中的getOutputStream()得到輸出流。
三、研究結(jié)果
以上詳細(xì)介紹了基于Android平臺(tái)心電監(jiān)測(cè)系統(tǒng)的設(shè)計(jì),經(jīng)過(guò)實(shí)際測(cè)試,可以成功采集心電信號(hào),下圖4,圖5為心電采集系統(tǒng)采集到的心電信號(hào)在Android平板電腦諾基亞N1上顯示的實(shí)際波形。
從檢測(cè)結(jié)果可以看出,顯示的心電圖包含歷史記錄,便于用戶(hù)對(duì)比查詢(xún),圖形較為準(zhǔn)確,有一定的臨床參考價(jià)值。
四、總結(jié)與展望
本系統(tǒng)設(shè)計(jì)采用TI公司的藍(lán)牙4.0超低功耗CC2541作為控制芯片,配合Android操作系統(tǒng)的智能移動(dòng)設(shè)備來(lái)處理、顯示和存儲(chǔ)數(shù)據(jù),測(cè)量數(shù)據(jù)準(zhǔn)確可靠能實(shí)現(xiàn)對(duì)病人的長(zhǎng)期監(jiān)測(cè)和有效治療。隨著智能移動(dòng)醫(yī)療產(chǎn)業(yè)的發(fā)展,將來(lái)會(huì)有更多的智能監(jiān)測(cè)系統(tǒng)誕生,在未來(lái)的云計(jì)算和云存儲(chǔ)的技術(shù)背景下,各種醫(yī)療設(shè)備將借助大數(shù)據(jù)來(lái)實(shí)現(xiàn)長(zhǎng)期監(jiān)測(cè)以分析各
種病癥的變化趨勢(shì)[4-5]。
參 考 文 獻(xiàn)
[1] Chin-Teng Lin, Fellow, IEEE, Kuan-Cheng.An Intelligent Telec –ardiology System Using a Wearable and Wireless ECG to Detect Atrial Fibrillation[C].IEEE TRANS ACTIO -NS ON INTOFMATION TECHNLOGY IN BIOMEDICINE. 2010:726-733
[2] Ed Burnette.Hello, Android:intro-ducing Google`s mobile development platform [M].北京:人民郵電大學(xué)出版社;2009:1-4
[3] 楊豐盛. Android應(yīng)用開(kāi)發(fā)揭秘[M].北京:機(jī)械工業(yè)出版社;2010:7
[4] Jun S J,Myllya R, Chung WY. Wireless machine-to-machine healthcare solution using Android in global network [J].Sensors Journal , IEEE, 2013, 13(5): 1419-1424.
[5] Chung WY , Yau C, Shin KS. A cell phone based health monitoring system with self-analysis processor using wirless sensor network technology[A]. Engineering in Medicine and Biology Society[C]. Lyon,F(xiàn)rance .2007:3705-3708