《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于安卓手機(jī)的血氧與脈搏測(cè)量系統(tǒng)的設(shè)計(jì)
基于安卓手機(jī)的血氧與脈搏測(cè)量系統(tǒng)的設(shè)計(jì)
來(lái)源:電子技術(shù)應(yīng)用2014年第5期
劉 一1, 任占兵2
(1. 廣東技術(shù)師范學(xué)院 電信學(xué)院, 廣東 廣州 510665; 2. 廣州體育學(xué)院, 廣東 廣州5
摘要: 為了能實(shí)現(xiàn)對(duì)運(yùn)動(dòng)員的血氧飽和度和脈搏的快速測(cè)量并遠(yuǎn)程發(fā)送給教練和醫(yī)生,設(shè)計(jì)了一種遠(yuǎn)程血氧飽和度與脈搏測(cè)量系統(tǒng)。檢測(cè)模塊檢測(cè)血氧脈搏信號(hào),通過(guò)藍(lán)牙發(fā)送給運(yùn)動(dòng)員手機(jī),手機(jī)端軟件對(duì)信號(hào)數(shù)據(jù)進(jìn)行處理計(jì)算并顯示血氧飽和度、脈搏和脈搏波形。運(yùn)動(dòng)員手機(jī)端的軟件同時(shí)通過(guò)網(wǎng)絡(luò)將上述信號(hào)數(shù)據(jù)發(fā)送給遠(yuǎn)端服務(wù)器,經(jīng)過(guò)服務(wù)器轉(zhuǎn)發(fā)給教練與醫(yī)生的手機(jī)。經(jīng)測(cè)試,測(cè)量數(shù)據(jù)精度較高,系統(tǒng)工作穩(wěn)定。
中圖分類號(hào): TN307
文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2014)05-0129-03
Design of oxygen and pulse measurement system based on Android mobile phone
Liu Yi1, Ren Zhanbing2
1. Department of Electronic Information Engineering, Guangdong Polytechnic Normal University, Guangzhou 510665, China;2. Guangzhou Sport University, Guangzhou 510500, China
Abstract: In order to measure the oxygen saturation and pulse and send data to coaches and doctors, a design of remote oxygen content and pulse measurement system is designed. The signal of pulse and oxygen that detected with detection module is sent to the players′ mobile phones through Bluetooth. After processing the signal data, the pulse waveform of human body, calculated blood oxygen content and pulse are displayed on the mobile phone. In the same time, the data is send remotely to the coach and the doctor′s mobile phone. The test results show that the accuracy of measurement is high and the system is stable.
Key words : oxygen saturation;pulse;telemedicine;Android

    按照運(yùn)動(dòng)員身體生理指標(biāo)合理安排訓(xùn)練計(jì)劃是教練員、運(yùn)動(dòng)員、隊(duì)醫(yī)們非常關(guān)注的問(wèn)題[1-3],而血氧飽和度脈搏參數(shù)是反映運(yùn)動(dòng)員的生理機(jī)能的重要生理學(xué)指標(biāo)之一[4-6]。為了能實(shí)現(xiàn)血氧與脈博的快速測(cè)量,同時(shí)將檢測(cè)數(shù)據(jù)快速發(fā)送給教練和醫(yī)生,研制出一種遠(yuǎn)程血氧含量與脈搏測(cè)量系統(tǒng)。
    此血氧含量與脈搏測(cè)量系統(tǒng)由血氧脈搏檢測(cè)模塊、安裝有終端軟件的運(yùn)動(dòng)員手機(jī)、服務(wù)器、安裝有終端軟件的教練手機(jī)和醫(yī)生手機(jī)組成。血氧脈搏檢測(cè)模塊檢測(cè)血氧脈搏信號(hào)并通過(guò)藍(lán)牙發(fā)送給運(yùn)動(dòng)員手機(jī),手機(jī)端軟件對(duì)信號(hào)數(shù)據(jù)進(jìn)行處理計(jì)算并顯示血氧飽和度、脈搏和脈搏波形。運(yùn)動(dòng)員手機(jī)端的軟件通過(guò)網(wǎng)絡(luò)將上述信號(hào)數(shù)據(jù)發(fā)送給遠(yuǎn)端服務(wù)器,經(jīng)過(guò)服務(wù)器轉(zhuǎn)發(fā)給教練與醫(yī)生的手機(jī),從而實(shí)現(xiàn)血氧飽和度、脈搏和脈搏波形在教練和醫(yī)生手機(jī)上的顯示。
1 血氧脈搏檢測(cè)模塊
1.1 電路設(shè)計(jì)

    采用MSP430FG437作為主控制器,由藍(lán)牙模塊、電源模塊、脈搏血氧檢測(cè)模塊組成,如圖1所示。
    采用MSP430自帶的運(yùn)算放大器實(shí)現(xiàn)硬件濾波,自帶的A/D轉(zhuǎn)換模塊采集脈搏血氧模塊的信號(hào)。以兩路光線(紅光vs、紅外光ir)高頻交替照射被測(cè)部位,兩路透射光經(jīng)光電轉(zhuǎn)換得到兩路變化的光電流信號(hào)[7-8]。通過(guò)A/D轉(zhuǎn)換模塊采集這兩路電流信號(hào),經(jīng)串口傳輸?shù)剿{(lán)牙模塊,從而發(fā)送到手機(jī)端。

 與血氧探頭連接電路如圖2所示,探頭接口管腳:1為地線,6、7分別為外屏蔽和內(nèi)屏蔽線,2為紅外光輸入正極/紅光輸入負(fù)極,3為紅光輸入正極/紅外光輸入負(fù)極,9為光電管輸出正極,5為光電管輸出負(fù)極。血氧探頭的光電二級(jí)管輸出端(管腳9)與MSP430內(nèi)部的運(yùn)放1的輸入管腳P6.0相連;P6.1是MSP430內(nèi)部的運(yùn)放1的輸出端,它與內(nèi)部ADC0輸入端相連,同時(shí)與電阻R19串聯(lián)后與內(nèi)部的運(yùn)放2的輸入端(P6.4)相連;P6.3是MSP430內(nèi)部的運(yùn)放2的輸出端,它與內(nèi)部ADC1輸入端相連。兩個(gè)三極管的基極分別與P6.6和Veref+管腳相連,這兩個(gè)管腳均是MSP430內(nèi)部的DAC輸出管腳,分別用來(lái)控制紅外光LED和紅光LED的發(fā)光亮度。三極管Q1和Q2的基極與MSP430的管腳P2.2和管腳P2.3相連,用以控制兩個(gè)LED的開(kāi)關(guān)。

1.2 軟件設(shè)計(jì)
    利用200 Hz定時(shí)器中斷,兩路LED交替通斷,即1 s內(nèi)兩路光各有100次采樣。如圖3所示,以紅外光這一路為例:每次定時(shí)器開(kāi)始2 ms定時(shí),首先,啟動(dòng)DAC0、DAC1轉(zhuǎn)換,DAC0的輸出控制LED發(fā)光的強(qiáng)度,DAC1的輸出作為去直流電路的直流參考電壓;然后,開(kāi)紅外光LED;隨后啟動(dòng)ADC1、ADC2轉(zhuǎn)換,根據(jù)得到的值計(jì)算更新DAC0、DAC1數(shù)據(jù);最后把ADC2數(shù)據(jù)通過(guò)串口發(fā)送到藍(lán)牙模塊直到2 ms定時(shí)結(jié)束。

2 安卓手機(jī)客戶端的設(shè)計(jì)
2.1 功能介紹

    客戶端程序分為兩種:(1)勾選“數(shù)據(jù)轉(zhuǎn)發(fā)”選項(xiàng),即為運(yùn)動(dòng)員使用的終端軟件,通過(guò)藍(lán)牙接收檢測(cè)模塊發(fā)來(lái)的數(shù)據(jù),同時(shí)在后臺(tái)把接收到的數(shù)據(jù)發(fā)送到服務(wù)端,將藍(lán)牙接收到的數(shù)據(jù)經(jīng)過(guò)處理后,顯示血氧含量、脈搏和波形在屏幕上。(2)不勾選“數(shù)據(jù)轉(zhuǎn)發(fā)”選項(xiàng),即為教練員和醫(yī)生使用的終端軟件,可以登錄到服務(wù)器端接收數(shù)據(jù),并把接收到的數(shù)據(jù)處理后顯示血氧含量、脈搏和波形在屏幕上。手機(jī)客戶端程序流程圖如圖4所示。

    手機(jī)端的應(yīng)用程序功能包括:藍(lán)牙功能、網(wǎng)絡(luò)功能、網(wǎng)絡(luò)適配器功能和界面功能。藍(lán)牙功能實(shí)現(xiàn)與MSP430控制器建立連接,接收數(shù)據(jù);網(wǎng)絡(luò)功能把數(shù)據(jù)發(fā)送到遠(yuǎn)程服務(wù)器;網(wǎng)絡(luò)適配器功能檢測(cè)網(wǎng)絡(luò),并向服務(wù)器發(fā)出HTTP請(qǐng)求,建立連接;界面功能實(shí)現(xiàn)功能設(shè)置和數(shù)據(jù)顯示。“藍(lán)牙”按鈕被綁定到跳轉(zhuǎn)函數(shù),被點(diǎn)擊時(shí),系統(tǒng)會(huì)跳轉(zhuǎn)到搜索設(shè)備的Activity之中,搜索藍(lán)牙設(shè)備,同時(shí)存儲(chǔ)在ListView中,并為其設(shè)置監(jiān)聽(tīng)按鈕。當(dāng)連接到藍(lán)牙設(shè)備上并開(kāi)始接收數(shù)據(jù)后,會(huì)跳轉(zhuǎn)至繪制脈搏圖的Activity中。Android界面通過(guò)自己的UI線程來(lái)操作,數(shù)據(jù)轉(zhuǎn)發(fā)到服務(wù)器,并不需要單個(gè)Activity來(lái)執(zhí)行。手機(jī)客戶端界面如圖5所示。

 

 

2.2 數(shù)據(jù)處理
    首先對(duì)接收到的兩路光電流信號(hào)進(jìn)行去直流、去工頻干擾,得到兩路信號(hào)的交流部分;然后計(jì)算交流部分的平均功率之比即為動(dòng)脈血的含氧量,通過(guò)線性擬合得到脈搏血氧飽和度;最后計(jì)算其中任何一路信號(hào)交流部分即為脈搏波的周期,由此可換算出脈率。
    去直流采用的是一個(gè)IIR濾波器,如圖6所示。這個(gè)濾波器會(huì)在上次輸出值的基礎(chǔ)上加上輸入值與上次輸出值差的一小部分來(lái)組成新的輸出值。數(shù)字信號(hào)直流跟隨可表達(dá)為:
    跟隨系數(shù)K×(輸入信號(hào)-直流分量)+直流分量=更新的直流分量
    變化率由跟隨系數(shù)K來(lái)控制,K通過(guò)實(shí)驗(yàn)得到,這里取1/27。如果輸入有一個(gè)階躍變化,經(jīng)過(guò)一段時(shí)間后,輸出將與輸入相同。因此,如果輸入的信號(hào)包含交流部分和直流部分,通過(guò)一段時(shí)間后,交流部分會(huì)在累加過(guò)程中被取消,輸出只會(huì)跟蹤輸入的直流部分。輸入的信號(hào)減去這個(gè)直流部分就得到了信號(hào)的交流部分。
     濾波采用中位值平均濾波法,連續(xù)采樣N個(gè)數(shù)據(jù),去掉一個(gè)最大值和一個(gè)最小值,然后計(jì)算N-2個(gè)數(shù)據(jù)的算術(shù)平均值。這里N值的選取為8,圖7、圖8展示了濾波前后的波形變化,從圖中可以清楚地看到濾波的效果很好。

    為了判斷脈搏周期,可以從兩路信號(hào)中選擇任意一路信號(hào)數(shù)據(jù)作為檢測(cè)對(duì)象,這里選擇的是紅外光電流信號(hào)。從信號(hào)數(shù)據(jù)中連續(xù)提取M個(gè)數(shù)據(jù)作為一個(gè)隊(duì)列,每次把隊(duì)列中最先的一個(gè)數(shù)據(jù)去掉,再提取一個(gè)新的數(shù)據(jù)放入隊(duì)列的最后。這樣就像是在脈搏波信號(hào)上一個(gè)滑動(dòng)的具有固定寬度的窗口,窗口的寬度應(yīng)該大于噪聲時(shí)間,但需小于脈搏周期,這里設(shè)置的寬度是10個(gè)數(shù)據(jù)。判斷過(guò)程如下:當(dāng)最小值位置處于窗口中部位置時(shí)判定為一個(gè)波谷,檢測(cè)到波谷以后窗口繼續(xù)滑過(guò)10個(gè)數(shù)據(jù)點(diǎn),但不再檢查最小值,確保上一個(gè)波谷已經(jīng)離開(kāi)窗口中心,然后繼續(xù)檢查最小值位置確定下一個(gè)波谷。脈搏周期的判斷過(guò)程如圖9所示,a為確定波谷,b為離開(kāi)波谷,c為尋找波谷。確定波谷,確定周期,清空計(jì)數(shù);離開(kāi)波谷,開(kāi)始計(jì)數(shù);尋找波谷,保持計(jì)數(shù),確定窗口中最小值位置。
3 服務(wù)器設(shè)計(jì)
    服務(wù)器利用Java EE中的servlet來(lái)提供服務(wù),并將其部署在Tomcat下。服務(wù)器端程序采用MVC框架模式開(kāi)發(fā),主要包括如下部分:org.seven.pulse.dbc是MVC模式中的底層,數(shù)據(jù)庫(kù)層,包中的類用來(lái)連接數(shù)據(jù)庫(kù)和操作數(shù)據(jù)庫(kù);org.seven.pulse.dao是MVC模式中的Dao層,為service提供服務(wù),封裝對(duì)數(shù)據(jù)庫(kù)的操作方法。org.seven.pulse.servlet包則存放服務(wù)器程序,通過(guò)覆寫doPost()和doGet()方法來(lái)響應(yīng)客戶端的請(qǐng)求。
4 測(cè)試
    用此系統(tǒng)與邁瑞監(jiān)護(hù)儀PM-8000同時(shí)對(duì)同一個(gè)運(yùn)動(dòng)員的血氧飽和度含量和脈搏進(jìn)行檢測(cè),監(jiān)護(hù)儀和本系統(tǒng)的血氧探頭分別戴在左、右手的中指上,待測(cè)試數(shù)據(jù)穩(wěn)定后記錄。選擇了10位學(xué)生做實(shí)驗(yàn)對(duì)象,年齡19歲~22歲,體重47 kg~70 kg,身高160 cm~182 cm。所測(cè)實(shí)驗(yàn)數(shù)據(jù)如表1所示??梢钥吹剿O(shè)計(jì)的測(cè)試系統(tǒng)的測(cè)量精度很高,完全可以滿足系統(tǒng)設(shè)計(jì)需要。
    本文設(shè)計(jì)的遠(yuǎn)程血氧含量與脈搏測(cè)量系統(tǒng)電路結(jié)構(gòu)簡(jiǎn)單,可靠性好,測(cè)量精度較高,并能實(shí)時(shí)把測(cè)量數(shù)據(jù)發(fā)送給教練和醫(yī)生。制作的樣機(jī)提供多名運(yùn)動(dòng)員試用,在試用過(guò)程中得到普遍的好評(píng)。
參考文獻(xiàn)
[1] 王敬茹,高炳宏. 賽艇運(yùn)動(dòng)高原和低氧訓(xùn)練研究進(jìn)展[J].體育科研,2009,30(1):65-69.
[2] 李勝利,凌晨,徐敏.激光無(wú)創(chuàng)腦血氧傳感系統(tǒng)研究[J].傳感器技術(shù),2005,24(9):10-12.
[3] 袁揚(yáng),吳軍.戰(zhàn)時(shí)生命體征實(shí)時(shí)監(jiān)測(cè)系統(tǒng)設(shè)計(jì)[J]. 醫(yī)療裝備,2005,18(9):15-16.
[4] 馬永利,王培勇.運(yùn)動(dòng)心率檢測(cè)系統(tǒng)的研制及心率與肌氧含量同步實(shí)驗(yàn)研究[J]. 北京生物醫(yī)學(xué)工程,2005(4):299-301.
[5] 李紅燕,張立,沈紅飛.近紅外光譜測(cè)定術(shù)檢測(cè)肌氧的原理及其在運(yùn)動(dòng)醫(yī)學(xué)中的應(yīng)用[J]. 中國(guó)運(yùn)動(dòng)醫(yī)學(xué)雜志,2005(3):354-356.
[6] 錢風(fēng)雷,王晨.高原訓(xùn)練對(duì)游泳運(yùn)動(dòng)員血液成分、血乳酸和運(yùn)動(dòng)能力的影響[J]. 體育與科學(xué), 2004(6):69-71.
[7] 喬月印,蔡克家,喬峰,等.多功能激光血流血氧檢測(cè)系統(tǒng)的研制[J]. 南開(kāi)大學(xué)學(xué)報(bào)(自然科學(xué)版),2004(3):1-7.
[8] 張寧,陳亞明,鄧親愷.基于MSP430F149的血氧飽和度檢測(cè)儀[J]. 中國(guó)醫(yī)學(xué)物理學(xué)雜志,2004(3):165-168.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。