鄧海濤 張桂珊 鄒秋云 熊江豐 盧杰威 余澤峰 陳耀文
(汕頭大學(xué)工學(xué)院電子信息工程系 汕頭 515063)
基于 STM32 處理器的手機(jī)監(jiān)控心電的設(shè)計(jì)
鄧海濤 張桂珊 鄒秋云 熊江豐 盧杰威 余澤峰 陳耀文
(汕頭大學(xué)工學(xué)院電子信息工程系 汕頭 515063)
傳統(tǒng)的心電采集系統(tǒng)操作平臺(tái)基于有線裝置,與現(xiàn)有的個(gè)人通信終端(如移動(dòng)電話、便捷式電腦)不兼容,且存在不靈活、價(jià)格昂貴、操作復(fù)雜、連續(xù)運(yùn)行不穩(wěn)定等缺點(diǎn)。針對(duì)上述問題,本作品擬設(shè)計(jì)以可穿戴式心電采集系統(tǒng)為設(shè)計(jì)主題,通過 STM32 對(duì)心電數(shù)據(jù)進(jìn)行采集與處理,實(shí)現(xiàn)遠(yuǎn)程監(jiān)控心電信號(hào),并允許多戶同時(shí)鏈接。同時(shí),通過聯(lián)合使用互聯(lián)網(wǎng),可實(shí)現(xiàn)在醫(yī)院等場所進(jìn)行長期穩(wěn)定的心電數(shù)據(jù)監(jiān)控,為醫(yī)療監(jiān)護(hù)提供有利的幫助。
心電信號(hào)采集;STM32;遠(yuǎn)程監(jiān)控
隨著計(jì)算機(jī)技術(shù)及通信技術(shù)的發(fā)展,遠(yuǎn)程醫(yī)療逐漸成為一種新的醫(yī)療服務(wù)模式,提高了醫(yī)療機(jī)構(gòu)的知名度,取得了良好的社會(huì)效益[1,2]。生理信號(hào)監(jiān)測系統(tǒng)及采集系統(tǒng)是遠(yuǎn)程醫(yī)療的重要環(huán)節(jié),日漸成為研究機(jī)構(gòu)及高校的研究熱點(diǎn)[3]。
目前,BIOPAC 公司生產(chǎn)的 MP150 采集系統(tǒng)是國內(nèi)外醫(yī)學(xué)生理信號(hào)采集系統(tǒng)典型的產(chǎn)品,該產(chǎn)品采用采集主機(jī)與前端處理卡分離的模式,可自由組合采集信號(hào)[4]。采集卡與上位機(jī)通過以太網(wǎng)方式連接,進(jìn)而提高數(shù)據(jù)傳輸?shù)乃俾?。然而,MP150 存在一些不足,如使用時(shí)間超過 3 h 時(shí),采集主機(jī)會(huì)發(fā)熱,并造成系統(tǒng)內(nèi)部產(chǎn)生噪聲,從而導(dǎo)致信號(hào)采集受干擾。
本文利用 Android 端進(jìn)行數(shù)據(jù)的接收和發(fā)送,結(jié)合 Android 手機(jī)實(shí)現(xiàn)遠(yuǎn)程監(jiān)控心電信號(hào),允許多用戶連接,易于推廣,且穩(wěn)定連續(xù)運(yùn)行,有利于長時(shí)間使用[5-7]。
圖1 系統(tǒng)框圖Fig. 1 System diagram
2.1 材 料
本設(shè)計(jì)采用 7.5 鋰電池電源,將 7.5 V 電壓轉(zhuǎn)換為一組正負(fù)對(duì)稱 5 V 電壓和一正 3.3 V 的電壓。使用 Cortex-M3 內(nèi)核的 STM32F103RBT6 作為采集卡的主控芯片。該芯片具有 ARM 32-bit Cortex-M3 CPU,片上 128K 閃存,20K RAM,12 bit 精度片內(nèi)模數(shù)轉(zhuǎn)換器(Analog-to-Digital Converter,ADC),以及 I2C 接口等外設(shè),可以在簡單的電路上完成信號(hào)采集與數(shù)據(jù)濾波等運(yùn)算。心電信號(hào)傳感器輸出信號(hào)經(jīng)調(diào)理后由 STM32 單片機(jī)的 ADC 進(jìn)行采集。硬件采集卡通過藍(lán)牙發(fā)送數(shù)據(jù)到 Android上位機(jī)。由 Android 上位機(jī)進(jìn)行波形顯示,并把數(shù)據(jù)發(fā)送到 PC 上位機(jī)。最后,PC 上位機(jī)進(jìn)行心電信號(hào)的顯示以及數(shù)據(jù)的接收與分析(圖 1)。
2.2 方 法
2.2.1 整體硬件系統(tǒng)方案
圖2 硬件框圖Fig. 2 Hardware diagram
硬件系統(tǒng)分為電源卡、采集卡和前端處理卡(見圖 2)。其中,電源卡的主要作用是將鋰電池 7.5 V 輸出電壓轉(zhuǎn)換為正負(fù)電壓供模擬部分電路使用及 3.3 V 單電源供數(shù)字部分電路使用[8];采集卡包含 STM32 最小系統(tǒng)和藍(lán)牙模塊,負(fù)責(zé)將模擬信號(hào)進(jìn)行數(shù)字化處理,經(jīng)藍(lán)牙發(fā)送數(shù)據(jù)至Android 上位機(jī);前端處理卡主要獲取傳感器的原始數(shù)據(jù)進(jìn)行濾波和放大處理,再將輸出電平注入采集卡的模擬通道。
硬件部分的電路板如圖 3 所示。
圖3 硬件部分電路板Fig. 3 The circuit board of hardware
2.2.2 整體軟件系統(tǒng)方案
軟件系統(tǒng)主要分成四個(gè)部分:(1)單片機(jī)軟件的設(shè)計(jì);(2)Android 上位機(jī)設(shè)計(jì);(3)PC 上位機(jī)設(shè)計(jì);(4)信號(hào)濾波及檢測算法的實(shí)現(xiàn)。原始信號(hào)經(jīng)模擬的高通和低通濾波器后給STM32F103RBT6 采樣,由處理器進(jìn)行數(shù)字濾波。濾波主要針對(duì) 50 Hz 和 100 Hz 的工頻及基線漂移。濾波后的數(shù)據(jù)進(jìn)入藍(lán)牙緩沖區(qū),由藍(lán)牙模塊將數(shù)據(jù)傳至 Android 手機(jī)端。Android 手機(jī)端接收數(shù)據(jù)并進(jìn)行心電波形的顯示,再將心電數(shù)據(jù)發(fā)送至 PC 上位機(jī)。PC 上位機(jī)監(jiān)聽 UDP 端口,接收數(shù)據(jù)包并通過繪圖控件實(shí)時(shí)顯示波形并記錄數(shù)據(jù)(圖 4)。
圖4 信號(hào)流程圖Fig. 4 Signal flow diagram
(1)單片機(jī)程序設(shè)計(jì)
采用意法半導(dǎo)體公司的 STM32F103RBT6 做為數(shù)據(jù)采集與濾波電路的主控芯片。該芯片可實(shí)現(xiàn)簡單電路上信號(hào)采集與數(shù)據(jù)濾波等運(yùn)算。模擬信號(hào)的采樣使用 ADC1 第 10 通道,兩次采樣時(shí)間間隔為 14 個(gè)時(shí)鐘周期,轉(zhuǎn)換精度為 12 bit,ADC 的觸發(fā)時(shí)鐘配置為 TIM2 輸出,通過 DMA方式進(jìn)行外設(shè)到內(nèi)存數(shù)據(jù)傳輸,采用 DMA 乒乓結(jié)構(gòu)進(jìn)行數(shù)據(jù)存儲(chǔ)和處理(圖 5)。
圖5 單片機(jī)程序的主要流程圖Fig.5The flow-chart of main programs of MCU
定時(shí)器配置 PWM 輸出關(guān)鍵代碼如下:
配置 DMA 外設(shè)到內(nèi)存?zhèn)鬏數(shù)拇a如下:
(2)Android 上位機(jī)設(shè)計(jì)
Android 客戶端的作用相當(dāng)于一個(gè)網(wǎng)關(guān),一是通過藍(lán)牙發(fā)送請(qǐng)求數(shù)據(jù)的命令至 STM32 核心控制系統(tǒng)并接收數(shù)據(jù),同時(shí)在界面上繪制心電圖;二是通過 WiFi 在后臺(tái)將心電數(shù)據(jù)發(fā)送至服務(wù)器(圖 6)。
Android 客戶端主要包含以下組件:
①藍(lán)牙服務(wù):負(fù)責(zé)與 STM32 系統(tǒng)建立藍(lán)牙連接的串口信道,收發(fā)數(shù)據(jù);
②繪圖模塊:實(shí)現(xiàn)與用戶的交互功能,對(duì)采集數(shù)據(jù)進(jìn)行實(shí)時(shí)畫圖,以供觀察;
③網(wǎng)絡(luò)服務(wù):負(fù)責(zé)向服務(wù)器發(fā)出連接請(qǐng)求,將接收的數(shù)據(jù)通過 WiFi 發(fā)送至服務(wù)器;
④其他服務(wù):包括短信提醒和保存數(shù)據(jù)的功能,可以通過對(duì)網(wǎng)絡(luò)返回的數(shù)據(jù)進(jìn)行判斷,給用戶預(yù)先設(shè)置的聯(lián)系人發(fā)送短信提醒,并且對(duì)數(shù)據(jù)進(jìn)行保存,方便讓專業(yè)學(xué)者進(jìn)行診斷。
(3) PC 端上位機(jī)程序設(shè)計(jì)
采用 VC++6.0 編寫 PC 端上位機(jī),上位機(jī)與手機(jī)通過 WiFi 進(jìn)行通信(圖 7)。上位機(jī)具有以下功能:
①波形顯示,實(shí)時(shí)顯示用戶心電圖;
②與手機(jī)通過 WiFi 進(jìn)行數(shù)據(jù)傳輸;
③在服務(wù)器端顯示用戶心率,姓名等信息;
圖6 Android 上位機(jī)部分主要軟件流程Fig. 6 The main software processes of the part of PC of Android
圖7 PC 上位機(jī)的主要流程圖Fig. 7 The main flow chart of upper PC processor
④心率分析,通過檢測 QRS 波中的 R 波,運(yùn)用閾值檢測得到心率數(shù)據(jù);
⑤將心電圖的數(shù)據(jù)記錄并保存到文件,同時(shí)可從文件中讀取并顯示心電數(shù)據(jù);
⑥上位機(jī)支持多用戶連接,服務(wù)器端可根據(jù)用戶的姓名進(jìn)行選擇查看;
⑦采用 FFT 計(jì)算出頻譜心電圖(FCG),對(duì)研究心電圖具有重要意義。運(yùn)用蝶形算法計(jì)算 FFT求得心電信號(hào)的頻譜。
(4) 信號(hào)濾波及檢測算法的實(shí)現(xiàn)
濾波器對(duì)工頻干擾進(jìn)行處理,過濾 50 Hz 信號(hào),基線漂移則通過高通濾波器消除 0.5 Hz 以下的頻率[9]。常用固定頻率的設(shè)計(jì)有 IIR 濾波器和FIR 濾波器兩種,其中 FIR 濾波器具有良好的線性相位,但是在同等性能條件下階數(shù)比 IIR 濾波器高,運(yùn)算量大[10]。故本設(shè)計(jì)的工頻陷波和高通濾波均采用 IIR 濾波器來設(shè)計(jì)。
IIR 濾波器的設(shè)計(jì)方法有脈沖響應(yīng)不變法和雙線性變換法,但過程比較復(fù)雜,借助 Matlab 的 fdatool 工具包可以直接生成相關(guān)參數(shù),設(shè)計(jì)界面的參數(shù)設(shè)定如圖 8 所示。再通過直接 II 型翻譯成 C 語言形式應(yīng)用于 STM32 平臺(tái)。
圖8 50 Hz 高通濾波器設(shè)計(jì)界面Fig. 8 The design interface of 50 Hz high-pass filter
圖9 IIR 濾波器實(shí)現(xiàn)框圖Fig. 9 The implementation block diagram of IIR filter
圖10 50 Hz 陷波器去噪效果圖Fig. 10 The result of 50 Hz notch filter
導(dǎo)出濾波系數(shù)得到轉(zhuǎn)移函數(shù)如下:
再根據(jù)濾波器直接 II 型實(shí)現(xiàn)框圖(圖 9),翻譯成 C 語言代碼并燒錄到主控芯片中運(yùn)行。一段實(shí)際的 ECG 信號(hào)進(jìn)行 50 Hz 數(shù)字陷波器的濾波效果,如圖 10 所示。
C 語言響應(yīng)代碼:
采集到的信號(hào)
數(shù)字高通濾波器能有效抑制呼吸作用導(dǎo)致的基線漂移,使得信號(hào)更加穩(wěn)定[11]。同樣采用Matlab Fdatool 工具箱設(shè)計(jì) 0.5 Hz 二階 IIR 高通濾波器,導(dǎo)出濾波系數(shù),設(shè)計(jì)界面如圖 11 所示。
得到響應(yīng)函數(shù):
翻譯成 C 語言代碼:
對(duì) IIR 濾波后的數(shù)據(jù)進(jìn)行 SG 平滑處理,先在 Matlab 平臺(tái)上面進(jìn)行實(shí)時(shí)仿真,通過提取MIT-BIH 數(shù)據(jù)庫的文件,對(duì)其進(jìn)行 SG 平滑濾波以驗(yàn)證算法的效果,再將其翻譯成 C 語言,并在 Matlab 上進(jìn)行測試,結(jié)果圖 12 所示。可以看出,基線漂移得到明顯改善。
圖11 0.5 Hz 高通濾波器設(shè)計(jì)界面Fig. 11 The design interface of 0.5 Hz high-pass filter
圖12 基線漂移濾除效果圖Fig. 12 The results of after being baseline drift filtering
Android 端測試結(jié)果如圖 13 和圖 14 所示。
圖13 安卓上位機(jī)顯示圖Fig. 13 The results of upper Android processor
圖14 PC 上位機(jī)顯示圖Fig. 14 The results of upper PC processor
傳統(tǒng)的生理信號(hào)檢測系統(tǒng)是基于 51 系列單片機(jī)、模擬放大器、ADC 以及 USB 控制芯片組成。該系統(tǒng)的傳輸速率可以達(dá)到 2 Mbps,完全滿足信號(hào)的高速采集。但系統(tǒng)總體比較復(fù)雜,編寫上位機(jī)必須了解 USB 通信協(xié)議。后來一些學(xué)者設(shè)計(jì)出了便攜式的 ECG 測量系統(tǒng)。其中采集系統(tǒng)比較典型的產(chǎn)品為 BIOPAC 公司生產(chǎn)的 MP150采集系統(tǒng),該產(chǎn)品使用采集主機(jī)與前端處理卡分離的模式,可以自由組合采集的信號(hào)類型[6]。系統(tǒng)使用 12 V 單電源供電,可在必要時(shí)候采用電池。采集卡與上位機(jī)采用以太網(wǎng)方式進(jìn)行連接,能以極高的速率進(jìn)行數(shù)據(jù)傳輸,最高采用指標(biāo)可以達(dá)到 16 路,16 bit 精度,400 kHz 采樣率。但MP150 也存在一定缺陷,如使用時(shí)間超過 3 小時(shí)采集主機(jī)會(huì)發(fā)熱,使系統(tǒng)內(nèi)部產(chǎn)生噪聲,干擾信號(hào)的采集,而且價(jià)格昂貴,體積較大,不方便移動(dòng);其次是沒有液晶屏進(jìn)行顯示,只有一兩個(gè)指示燈,當(dāng)發(fā)生故障上位機(jī)無法正常連接時(shí)較難處理。
本系統(tǒng)可實(shí)現(xiàn)對(duì)人體心電信號(hào)的長期監(jiān)控和分析,并且對(duì)心電數(shù)據(jù)保存。本設(shè)計(jì)系統(tǒng)優(yōu)點(diǎn)如下:
(1) 與現(xiàn)有的一些生理信號(hào)采集設(shè)備相比(圖 15),本電路設(shè)計(jì)簡單、系統(tǒng)整體功耗低(可使用電池供電)、發(fā)熱量低、可以穩(wěn)定連續(xù)運(yùn)行;同時(shí)使用新型、主頻高的控制芯片(STM32F103RBT6),能在芯片上實(shí)現(xiàn)數(shù)據(jù)濾波(圖 16)。
圖15 BIOPAC 采集系統(tǒng)Fig. 15 BIOPAC system
圖16 STM32 采集系統(tǒng)Fig. 16 STM32 system
(2)系統(tǒng)導(dǎo)出的波形圖網(wǎng)格與一般的心電圖坐標(biāo)圖紙相同:y 軸方向?yàn)槊啃「?0.1 mV,每大格為0.5 mV;x 軸方向?yàn)槊啃「?0.04 s,每大格 0.2 s。從日本光電心電圖機(jī)的波形圖上來看,ECG 的RR 間距為 23 個(gè)小格(0.92 s),R 點(diǎn)峰值離基線為 5 小格(0.5 mV)(圖 17)。而本文設(shè)計(jì)的采集系統(tǒng)在同個(gè)時(shí)間段采集的波形 RR 間距 23 小格(0.92 s),R 點(diǎn)峰值離基線為 6 小格(0.6 mV)(圖18)。表明本系統(tǒng)采集的波形時(shí)間基準(zhǔn)與現(xiàn)有心電圖機(jī)一致,僅峰值有差別;兩者相比,本文設(shè)計(jì)價(jià)格更加便宜,整個(gè)系統(tǒng)設(shè)計(jì)簡單,且能達(dá)到一定的精度,可供醫(yī)務(wù)人員進(jìn)一步研究。
圖17 日本光電心電圖機(jī) ECG 圖紙(男,50)Fig. 17 The ECG signal from an electrocardiograph made by NIHON KOHDEN CORPORATION (man, fifty)
圖18 本文設(shè)計(jì)的采集系統(tǒng) ECG 波形圖(男,50)Fig. 18 The ECG signal from this designed system(man, fifty)
(3)傳統(tǒng)的心電檢測系統(tǒng)相比,本作品結(jié)合現(xiàn)在流行的 Android 手機(jī),利用手機(jī)進(jìn)行數(shù)據(jù)接收和發(fā)送,使整個(gè)系統(tǒng)的實(shí)現(xiàn)更加簡單和實(shí)用,且容易操作(如圖 13)。同時(shí),PC 端上位機(jī)功能多樣:顯示信號(hào)波形,將采集的數(shù)據(jù)以文件格式儲(chǔ)存,并對(duì)數(shù)據(jù)進(jìn)行分析,供科研人員進(jìn)一步研究;可以進(jìn)行 FFT 分析,有利于對(duì)數(shù)據(jù)進(jìn)行正確的分析;可以實(shí)現(xiàn)多用戶連接,可保存和分析不同用戶的心電數(shù)據(jù),并且可以選擇某個(gè)用戶的心電波形進(jìn)行顯示(如圖 14)。
本作品通過 STM32 對(duì)心電數(shù)據(jù)進(jìn)行采集,利用 PC 端上位機(jī)顯示信號(hào)波形,將采集的數(shù)據(jù)以文件格式儲(chǔ)存,并對(duì)數(shù)據(jù)進(jìn)行分析,實(shí)現(xiàn)遠(yuǎn)程監(jiān)控心電信號(hào),同時(shí)允許多戶鏈接。且實(shí)用性強(qiáng)、造價(jià)成本低廉,操作簡單,可穩(wěn)定連續(xù)運(yùn)行。聯(lián)合使用互聯(lián)網(wǎng),可實(shí)現(xiàn)在醫(yī)院等場所進(jìn)行長期穩(wěn)定的心電數(shù)據(jù)監(jiān)控,為醫(yī)療監(jiān)護(hù)提供有利的幫助。
[1] 牟嵐, 金新政. 遠(yuǎn)程醫(yī)療發(fā)展現(xiàn)狀綜述 [J]. 衛(wèi)生軟科學(xué), 2012(6): 506-509.
[2] Bui AL, Fonarow GC. Home monitoring for heart failure management [J]. Journal of the American College of Cardiology, 2012, 59(2): 97-104.
[3] 余澤峰, 王軍, 范衠, 等. 基于 Cortex-M4 處理器的多通道生物醫(yī)學(xué)信號(hào)采集系統(tǒng)設(shè)計(jì) [C] // 廣東省生物物理學(xué)會(huì) 2013 年學(xué)術(shù)研討會(huì)論文集, 2013.
[4] MP System Hardware Guide [OL]. [2013-09-10]. http:// www.biopac.com.
[5] 陳欣. 基于智能手機(jī) Android 平臺(tái)的遠(yuǎn)程醫(yī)療監(jiān)護(hù)系統(tǒng)的設(shè)計(jì) [D]. 成都: 成都理工大學(xué), 2013.
[6] 范晨燦. 基于藍(lán)牙 4.0 傳輸?shù)?Android 手機(jī)心電監(jiān)護(hù)系統(tǒng) [D]. 杭州: 浙江大學(xué), 2013.
[7] Guo XQ, Duan XH, Gao HQ, et al. An ECG monitoring and alarming system based on android smart phone [J]. Communications and Network, 2013, 5(3): 584-589.
[8] 劉杰, 王波, 劉文. 多生理信號(hào)參數(shù)檢測電路設(shè)計(jì) [J].生物醫(yī)學(xué)學(xué)工程學(xué)雜志, 2009, 26(6): 1230-1233.
[9] Singh N, Ayub S, Saini JP. Design of digital IIR filter for noise reduction in ECG signal [C] // 2013 5th International Conference on Computational Intelligence and Communication Networks, 2013: 171-176.
[10] 胡廣書. 數(shù)字信號(hào)處理——理論、算法與實(shí)現(xiàn) [M]. 北京: 清華大學(xué)出版社, 2003.
[11] 牛傳莉. 心電信號(hào)預(yù)處理和波形檢測算法的研究 [D].北京: 北京交通大學(xué), 2009.
A Design of Electrocardiogram Signal Acquisition System Based on STM32 Processor
DENG Haitao ZHANG Guishan ZOU Qiuyun XIONG Jiangfeng LU JieweiYU Zefeng CHEN Yaowen
( Engineering College, Shantou Universtity, Shantou 515063, China )
Traditional operating platform of electrocardiogram (ECG) acquisition system was based on a wired device, which was not compatible with existing personal communication terminals like mobile phones,and portable computers. Moreover, it had many disadvantages such as poor maneuverability, high price,complexity and instability for continuous service. To solve those problems, this work took the wearable ECG acquisition system as the design theme. STM32 was provided for collecting and processing ECG signal for remote monitoring to access different users simultaneously. Long-term stability of ECG data real-time acquisition and monitoring were realized in some place like hospital based on the Internet, which could provide assistance and support for health care system.
electrocardiogram signal acquisition; STM32; remote monitoring
TN 85
A
2015-04-01
2015-07-10
汕頭大學(xué)學(xué)術(shù)創(chuàng)新團(tuán)隊(duì)項(xiàng)目(ITC12002)
鄧海濤,碩士研究生,研究方向?yàn)樾盘?hào)與信息處理;張桂珊,碩士研究生,研究方向?yàn)閴嚎s感知在磁共振成像上的應(yīng)用;鄒秋云,本科生,研究方向?yàn)樾盘?hào)與信息處理;熊江豐,本科生,研究方向?yàn)樾盘?hào)與信息處理;盧杰威,本科生,研究方向?yàn)樾盘?hào)與信息處理;余澤峰,碩士,研究方向?yàn)閱纹瑱C(jī)軟硬件開發(fā);陳耀文(通訊作者),教授,研究方向?yàn)楝F(xiàn)代醫(yī)學(xué)信號(hào)處理,E-mail:ywchen@stu.edu.cn。