基于J2ME的脈搏波測量系統(tǒng)設計原理
在我國傳統(tǒng)醫(yī)學中,脈診在中醫(yī)診斷中占有重要地位,脈診就是從脈搏信號中感知人體的病理信息。隨著現(xiàn)代科技的發(fā)展,特別是信號檢測處理技術及計算機技術等信息技術的發(fā)展,人們對脈搏信號的檢測分析進行了很多有意義的研究。脈搏波可看成主要是由心臟的收縮與舒張以及血液在沿血管的流動過程中所遇到的各種阻力相互作用而形成的,其中包含了豐富的人體內(nèi)各器官的生理和病理信息,具有干擾強、頻率低、采集困難等特點。準確地檢測脈搏信號對于預防心血管系統(tǒng)疾病的發(fā)生以及對診治過程給予科學合理的指導、提高人們身心健康水平、提高人民生活質量均具有重要的科學和社會意義。
傳統(tǒng)檢測血氧脈搏信號普遍采用大型醫(yī)療設備,這類設備一般由傳感器有創(chuàng)采集信號,有線傳輸顯示在儀器面板上,受測者感覺痛苦并且儀器成本昂貴且攜帶不方便,無法做到隨時隨地進行監(jiān)測。該系統(tǒng)采用無創(chuàng)光電容積脈搏波描記法配合J2ME開發(fā)檢測程序,不僅成本低廉、便于攜帶,而且還開發(fā)了數(shù)據(jù)庫存儲功能,將血氧脈搏信號通過藍牙技術無線傳輸,手機端接收并記錄每次檢測的脈搏數(shù)據(jù)便于用戶對比判斷自身一段時間內(nèi)的健康狀況,同時在手機端實時顯示數(shù)據(jù)。其通用性和實用性以及便攜性都有很大的提高。
1 系統(tǒng)基本原理
光電容積脈搏波描記法(Photo Plethyamo Graphy,PPG)是借光電手段在活體組織中檢測血液容積變化的一種無創(chuàng)檢測方法。當一定波長的光束照射到指端皮膚表面時,光束將通過透射或反射方式傳送到光電接收器。在此過程中由于受到指端皮膚肌肉和血液的吸收衰減作用檢測器檢測到的光強度將減弱。其中皮膚肌肉組織等對光的吸收在整個血液循環(huán)中是保持恒定不變的,面皮膚內(nèi)的血液容積在心臟作用下星搏動性變化,當心臟收縮時外周血容量最多,光吸收量也最大,檢測到的光強度量小,而在心臟舒張時正好相反,檢測到的光強度量大,使光接收器接收到的光強度隨之呈脈動性變化。在恒定波長的光源的照射下,通過檢測透過手指的光強將可以間接測量判人體的脈搏信號。
2 系統(tǒng)硬件設計
系統(tǒng)由指端采集器和具有藍牙傳輸數(shù)據(jù)功能的手機構成。指端采集器由Silcon Labs公司的C8051F330作為主控芯片,采集端使用940 nm紅外發(fā)射管和光敏電阻,傳輸模塊采用廣州匯承信息科技有限公司生產(chǎn)的HC-05藍牙串口通訊模塊,顯示與存儲設備為含有藍牙模塊的手機。
整體設計結構圖如圖1所示。
圖1 整體設計結構
2.1 采集與放大電路設計
人體血液中的氧合血紅蛋白(HbO2)和沒被氧合還原血紅蛋白(Hb)對于不同波長光的吸收系數(shù)是不同的。在波長600~700nm的紅光范圍內(nèi),Hb的吸收系數(shù)比HbO2的大,而在波長800~1 000 nm的紅外光范圍內(nèi),Hb的吸收系數(shù)比HbO2的小,在805 nm處兩者相同,在紅光660nm和紅外光940nm處吸收系數(shù)差異較大,目前,均采用該波長附近的紅光和紅外光進行雙譜定量分析檢測,并且在紅光660 nm和紅外光940nm附近,Hb和HbO2的吸收系數(shù)變化曲線都比較平坦,受二極管發(fā)光波長誤差影響也較小,所以系統(tǒng)采用940 nm光源進行脈搏波的檢測。采集及放大電路如圖2所示。
圖2 采集及放大電路
光電傳感器拾取的脈搏信號十分徽弱,僅為毫伏量級,所以要求前置放大電路滿足下述要求:1)高輸入阻抗。光電信號是不穩(wěn)定的內(nèi)阻變化的微弱信號,為了減少信號源內(nèi)阻的影響,必須提高放大器輸入阻抗,所以要求放大器具有高的輸入阻抗;2)低噪聲、低漂移??梢詼p小信號源的影響,增強信號的拾取能力,使輸出穩(wěn)定。R6為光敏電阻,用于接收來自紅外管發(fā)射的脈搏信號。正常人體脈搏信號頻率約在0.3~3.33Hz之間,電路中C4與R8、C3與R9分別構成RC高通濾波器,高通截止頻率為約為0.33Hz,C2與R2構成低通濾波器截止頻率約為3.4Hz,將有效頻率范圍外的工頻干擾和其他高頻干擾濾除。放大器采用LM358,其內(nèi)部包括有兩個獨立的、高增益、內(nèi)部頻率補償?shù)碾p運算放大器,適合于電源電壓范圍很寬的單電源使用,也適用于雙電源工作模式,在推薦的工作條件下,電源電流與電源電壓無關。它的使用范圍包括傳感放大器、直流增益模塊和其他所有可用單電源供電的使用運算放大器的場合。第一級運算放大器從LM358的第5腳輸入微弱脈搏信號,在其第7腳獲取放大信號,根據(jù)運算放大器公式計算可知一級放大8.5倍,然后通過0.3 Hz的高通濾波器,消除第一級放大產(chǎn)生的噪聲,進入二級放大,可以計算出二緩放大100倍,因此獲取850倍的放大能力,獲取到3 V之內(nèi)的脈搏波信號,且其處于放大而不是截止狀態(tài)。
2.2 主控電路和藍牙模塊電路設計
主控芯片采用PDIP-20封裝的C8051F330單片機,易于焊接,其使用Silicon Labs的專利CIP-51微控制器內(nèi)核。CIP-51與MCS-51TM指令集完全兼容,可以使用標準803x/805x的匯編器和編譯器進行軟件開發(fā)。CIP-51內(nèi)核具有標準8052的所有外設部件,包括4個16位計數(shù)器/定時器、一個具有增強波特率配置的全雙工UART、一個增強型SPI端口、768字節(jié)內(nèi)部RAM、128字節(jié)特殊功能寄存器(SFR)地址空間,僅使用簡單的外部電路便可以搭建系統(tǒng)。
HC-05模塊采用的是CSR BC417143B藍牙芯片,同時內(nèi)置8 M Flash.具有兩種工作模式:命令響應工作模式和自動連接工作模式,在自動連接工作模式下模塊又可分為主(MASTER)、從(Slave)和回環(huán)(Loopback)3種工作角色。當模塊處于自動連接工作模式時,將自動根據(jù)事先設定的方式連接的數(shù)據(jù)傳輸;當模塊處于命令響應工作模式時能執(zhí)行AT命令。通過控制模塊外部引腳(PIO11)輸入電平,可以實現(xiàn)模塊工作狀態(tài)的動態(tài)轉換。
這里使用其P0.4與P0.5口作為UART傳輸口,與藍牙模塊的UART口通信。
Sout為經(jīng)過采集和放大電路輸出的脈搏信號,輸入到C8051F330的P1.7進行A/D轉換,C8051F330與HC05的UART口對接,將采樣和濾波以后的信號傳輸給藍牙模塊。開關S1用于藍牙模塊復位,二極管D2用于顯示藍牙模塊狀態(tài)。當沒有數(shù)據(jù)傳輸時D2熄滅,當有數(shù)據(jù)傳輸時D2閃爍。電路如圖3所示。
圖3 控制與通信電路
3 系統(tǒng)軟件設計
整體系統(tǒng)軟件設計包括單片機端的輸入信號采樣濾波和藍牙程序、手機端的J2ME藍牙客戶端程序設計兩大部分。
3.1 單片機端濾波設計
由于人體呼吸、電極移動會產(chǎn)生脈搏信號中的基線漂移干擾,頻率較低,一般在0.7 Hz以下,屬于低頻干擾,為了獲取較好的效果必須盡量消除其影響。人體脈搏波信號為準周期的時間序列,在不同周期的同一相位,其脈搏波的幅值近似不變。如果局部脈搏波在某一時刻發(fā)生突變,則這一時刻其幅度必不等于其臨近脈搏波同一相位幅度,根據(jù)這一思路,中值濾波的方法處理效果比較好。中值濾波法能有效克服因偶然因素引起的波動干擾,對溫度、液位變化緩慢的被測參數(shù)有良好的濾波效果,因此首先采用中值濾波法盡量消除突發(fā)擾動。其基本方法是連續(xù)采樣N次(N取奇數(shù)),把N次采樣值按大小排列然后取中間值為本次有效值。
移動平均濾波對快速周期性運動干擾有較強的抵御能力,是對模擬濾波補充的低通濾波器,用于實時檢測,只要采樣率足夠高,就能得翻較為理想的測量結果。因此系統(tǒng)在中值濾波后再加一級移動平均濾波對數(shù)據(jù)進行二次濾波。
具體算法是:
y(i)=c1y(k)+c2y(k-1)+…+ciy(k-m+1) (1)
式中,y(k)表示第k次采樣時刻的濾波輸出,各y(i)表示第i次采樣時刻的信號輸入,括號中的數(shù)字i代表第i次采樣時刻,c1、c2、…、cm是加權系數(shù)。
上式意義是將本次輸入數(shù)據(jù)連同以前共m次的數(shù)據(jù)進行加權平均。如果各ci值相同且等于1/m時,就成為m項算術平均運算。
3.2 藍牙設計
藍牙協(xié)議棧提供了一組高層協(xié)議和API以完成發(fā)現(xiàn)服務和模擬串行I/O,還有一個關于包分割和重組的低層協(xié)議以及多路技術協(xié)議和質量服務。藍牙協(xié)議棧如圖4所示。
圖4 藍牙協(xié)議棧
應用層(Application):這一層運行的是藍牙通信的J2ME通信程序,通過調(diào)用藍牙無線層的API,就可以直接書寫相應的通信功能的程序。
藍牙無線層(JSR-082):所有開發(fā)的API均在該層調(diào)用,與下層交互。
服務發(fā)現(xiàn)協(xié)議層(SDP):用于在遠程藍牙設備上尋找服務。服務器維護一張服務記錄列表,每個服務記錄都包含服務器上一個服務的信息,每個服務對應一個服務記錄??蛻舳嗽L問服務器時,首先要獲得服務器的訪問記錄,然后通過服務記錄建立連接。
邏輯鏈接控制器適配層協(xié)議(1.2CAP):為上層協(xié)議提供面向連接和無連接的數(shù)據(jù)服務,并提供多協(xié)議功能和分割重組操作,可傳輸和接收最大長度64 KB的L2CAP數(shù)據(jù)包。
虛擬串口協(xié)議(RFCOMM):基于L2CAP協(xié)議的虛擬串口協(xié)議,因為它允許藍牙設備模擬串口的功能,所以采用它進行數(shù)據(jù)傳輸。
對象交換(OBEX):可以用來傳輸文件或者交換對象數(shù)據(jù),OBEX協(xié)議是基于RFCOMM實現(xiàn)的。
主機控制器接口(HCI)層:這一層是主機和控制器之間的接口,其他所有的層都要經(jīng)過HCI。
3.2.1 單片機藍牙設計
單片機使用UART接口和藍牙模塊進行通信。HC-05為藍牙透明傳輸模塊,專為具有異步串口的用戶提供快捷藍牙點對點通訊。用戶不需任何協(xié)議,就像有線電纜連接一樣,只需對串口寫入數(shù)據(jù),就可以將數(shù)據(jù)傳輸?shù)竭h端用戶設備。上電后藍牙主機模塊復位、讀藍牙模塊地址、設置狀態(tài)參數(shù)和初始化模塊,與遠端的手機連接成功后,可以通過UART異步串口與從機通信。這里將HC-05設置為主機模式,經(jīng)過初始化后提供藍牙服務,等待手機端藍牙客戶端連接。
3. 2.2 手機端J2ME設計
J2ME(Java2 Platform,Micro Edition)是Sun專門為小型的資源受限的消費性電子設備的應用程序開發(fā)所提供新的Java版本,它廣泛的使用于移動電話、PDA(個人數(shù)字助理以及電視機頂盒等眾多小型資源受限設備中。對于J2ME來說,由于其得天獨厚的跨平臺性與良好的可移植性,使得其在設備繁多、平臺異?;靵y的手機與PDA市場更顯得如魚得水。
J2ME平臺是由配置(Configurations)和簡表(Profile)構成的。配置是提供給量大范圍設備使用的最小類庫集合,在配置中同時包含Java虛擬機(JVM)。簡表是針對一系列設備提供的開發(fā)包集合。在J2ME中還有一個重要的概念:可選包(Optioual Package),它是針對特定設備提供的類庫,比如某些設備是支持藍牙的,針對此功能,J2ME中制定了JSR82(Bluetooth API)提供了對藍牙的支持。程序流程圖如圖5所示。
圖5 程序流程圖
設計過程如下:
1)構建基于MIDLet的Mobile主類,實現(xiàn)按鈕監(jiān)聽,在其監(jiān)聽消息中響應手機左控制鍵退出(Cmd_Exit)和右控制鍵顯示脈搏波(Cmd_Show)的命令。部分代碼如下:
2)建立派生于GameCanvas實現(xiàn)按鈕監(jiān)聽的Show類,畫脈搏的函數(shù)名為DrawPulse用于將接收到的脈搏數(shù)據(jù)動態(tài)顯示在屏幕上。部分代碼如下:
3)建立Record類,通過RecordStore的方法addRecord,deleteRecord,getRecord存儲,刪除和顯示收到的脈搏數(shù)據(jù)。至此整個J2ME的界面搭建完成。部分代碼如下:
4)建立新類使其實現(xiàn)Punnable(多線程)。由于需要發(fā)送連接請求和接收數(shù)據(jù),必須要將發(fā)送和接收過程使用多線程實現(xiàn)。導人輸入輸出數(shù)據(jù)流包循環(huán)接收數(shù)據(jù)。部分代碼如下:
4 數(shù)據(jù)昱示與結果分析
考慮到自然光對測量的影響,將整個電路放置在不透光的小型圓柱形密封容器內(nèi)(直徑約5cm,高度約5 cm),中間打1.5 cm直徑的孔,用于固定受測者手指姿態(tài),頂部打0.5 cm的孔用于反向放置光敏電阻。分別將采集電路板、藍牙傳輸電路板疊放并用泡沫固定。測試時用手指的指尖按住光敏電阻的表面,受測者可以較長時間保持穩(wěn)定的姿態(tài)。受測過程中有時出現(xiàn)部分毛刺和基線漂移現(xiàn)象,但是不影響整體測量效果。測量結果為:脈搏波形平滑,噪聲抑制良好,長時間觀測達到穩(wěn)定后能提供使用者健康狀態(tài)評價參數(shù),如圖6所示。
圖6 數(shù)據(jù)顯示
5 結論
系統(tǒng)采用C8051F330單片機和J2ME藍牙研制便攜式脈搏波測量儀,相比傳統(tǒng)的檢測設備,采取了光電容積脈搏波描計法,結果誤差控制在10%以內(nèi)、成本降低了50%以上、體積減少50%以上,配合J2ME可方便地進行二次開發(fā)。同時系統(tǒng)在部分細節(jié)還有待提高,比如采用更加有效的濾波方法濾除脈搏波中的基線漂移等噪聲、構建更加人性化的手機界面等等。在系統(tǒng)基礎上使用J2ME二次開發(fā)郵件系統(tǒng)或者CPRS,構建遠程社區(qū)醫(yī)療保健系統(tǒng),將人體生理信號使用手機發(fā)送給醫(yī)生進行遠程診斷,會給用戶帶來極大的便利,顯示出良好的使用前景。