舒澤芳,王 娟,彭曉珊,嚴(yán)生梅
(1.貴陽學(xué)院 機(jī)械工程學(xué)院,貴陽 550005;2.貴陽學(xué)院 電子與通信工程學(xué)院,貴陽 550005)
心電圖ECG信號是診斷心臟疾病的重要依據(jù),其信號的采集分析和處理對于醫(yī)務(wù)工作者和科研人員尤為重要。傳統(tǒng)的心電圖機(jī)無法將心電信號轉(zhuǎn)換成易于相關(guān)軟件處理的數(shù)據(jù)格式,新型的光電心電圖機(jī)雖本身具備數(shù)據(jù)采集和存儲(chǔ)功能,但是不易于利用相關(guān)軟件進(jìn)行數(shù)據(jù)二次對比分析和處理,無法有效發(fā)揮心電信號的潛在價(jià)值。
文中利用MatLab強(qiáng)大的數(shù)據(jù)處理能力和STM32F103豐富軟硬件資源,提出了基于MatLab和STM32F103的12導(dǎo)聯(lián)ECG信號采集系統(tǒng)。該采集系統(tǒng)整體由采集前端和上位機(jī)軟件構(gòu)成。采集前端以STM32F103微控制器為核心,完成電極信號的濾波放大、A/D轉(zhuǎn)換和串行數(shù)據(jù)上傳;上位機(jī)采集軟件基于MatLab平臺(tái)設(shè)計(jì),進(jìn)行心電數(shù)據(jù)的接收顯示以及存儲(chǔ)。同時(shí)將串行數(shù)據(jù)轉(zhuǎn)換成Matlab兼容的數(shù)據(jù)格式。該系統(tǒng)的設(shè)計(jì)為科研及醫(yī)務(wù)工作者利用MatLab強(qiáng)大數(shù)據(jù)處理能力對ECG信號進(jìn)行各類分析創(chuàng)造了條件。
心電信號屬于生物電信號,是心房心室極化和復(fù)極化過程在電信號上的表象,其幅值微弱,為10 μV~4 mV;頻率范圍較低,為 0.05~100 Hz,大部分能量集中在0.05~40 Hz。其信噪比低,隨機(jī)性強(qiáng),直流成分多。為了使采集信號能較全面反映心臟運(yùn)行狀態(tài)[1],該采集系統(tǒng)針對醫(yī)學(xué)上標(biāo)準(zhǔn)12導(dǎo)聯(lián)系統(tǒng),即采集并顯示標(biāo)準(zhǔn)導(dǎo)聯(lián)Ⅰ,導(dǎo)聯(lián)Ⅱ,導(dǎo)聯(lián)Ⅲ;加壓單極肢體導(dǎo)聯(lián) aVR,aVL,aVF;胸前導(dǎo)聯(lián)V1~V6;等12個(gè)心電信號。各導(dǎo)聯(lián)和電極信號之間的數(shù)學(xué)關(guān)系為
依據(jù)各導(dǎo)聯(lián)之間的數(shù)學(xué)關(guān)系,式(2)表明加壓單極肢體導(dǎo)聯(lián)aVR,aVL,aVF可由標(biāo)準(zhǔn)導(dǎo)聯(lián)Ⅰ,導(dǎo)聯(lián)Ⅱ,導(dǎo)聯(lián)Ⅲ計(jì)算獲取。采集系統(tǒng)可定義實(shí)際輸入心電信號為 LA(左上肢)、RA(右上肢)、LL(左下肢)、胸導(dǎo)聯(lián)信號V1~V6。胸導(dǎo)聯(lián)信號V1~V6反映心臟水平情況,等于各自電位和威爾遜中心參考電位WCT之間的電位差,WCT為3個(gè)肢體電位的平均值;標(biāo)準(zhǔn)導(dǎo)聯(lián)Ⅰ,導(dǎo)聯(lián)Ⅱ,導(dǎo)聯(lián)Ⅲ和加壓單極肢體導(dǎo)聯(lián)aVR,aVL,aVF則反映心臟額面狀況。據(jù)此,將采集系統(tǒng)定義為采集前端和上位機(jī)采集軟件2個(gè)部分。系統(tǒng)結(jié)構(gòu)如圖1所示。
濾波電路完成對原始心電信號的二階低通濾波,利用ADS1298R芯片完成心電信號的EMI濾波放大和A/D轉(zhuǎn)換,A/D轉(zhuǎn)換數(shù)據(jù)通過SPI接口傳送至STM32F103微控制器。上位機(jī)軟件基于MatLab平臺(tái)設(shè)計(jì),通過串行UART接口從STM32F103獲取各路心電數(shù)據(jù)。ADS1298R芯片提供RLD(右下肢)驅(qū)動(dòng),作為參考接地點(diǎn),同時(shí)提供威爾遜終端(WCT)作為胸導(dǎo)聯(lián)的參考點(diǎn)。
圖1 采集系統(tǒng)結(jié)構(gòu)Fig.1 Sampling system structure
采集系統(tǒng)設(shè)計(jì)9通道濾波電路,針對LA,RA,LL和V1~V6等導(dǎo)聯(lián)信號,根據(jù)心電信號低頻(頻率范圍 0.05~100 Hz)、帶 50 Hz工頻干擾的特點(diǎn),濾波電路由二階有源帶通濾波電路和50 Hz陷波電路構(gòu)成,如圖2所示。
圖2 二階有源帶通和陷波電路Fig.2 Secondary active bandpass and the trap circuit
圖中,R1和C1構(gòu)成低通濾波電路,取R1=4.7 kΩ,C1=0.33 μF,轉(zhuǎn)折頻率 fH=(2πR1C1)-1≈100 Hz;R2和C2構(gòu)成高通濾波電路,取 R2=6.8 kΩ,C2=0.47 μF,則其轉(zhuǎn)折頻率 fL=(2πR2C2)-1≈0.05 Hz。 考慮后續(xù)的ADS1298R分辨率為24 b,在參考電壓為2.4 V時(shí),其分辨率為0.0238 μV,大于心電信號典型值。對于心電信號的幅值而言,采集前端無需過高放大倍數(shù),故 Rb,Ra可設(shè)定為 10 kΩ,U1 級放大倍數(shù)為(1+Rb/Ra)。 陷波電路由非對稱阻容網(wǎng)絡(luò)構(gòu)成,R4~R6設(shè)定為 10 kΩ,C3~C5設(shè)定為 10 μF, 利用單一調(diào)節(jié)阻值為30 kΩ電位器RP1設(shè)定陷波器的中心頻率為50 Hz。利用U3運(yùn)放的正反饋輸出連接陷波回路的縱臂,實(shí)現(xiàn)頻率增強(qiáng)阻帶變窄效果。同時(shí)通過調(diào)節(jié)電位器RP2提高Q值以提高有效信號幅值[2]。
ADS1298R是用于生理信號測量的低功耗、8通道、24 b模擬前端專用芯片,可專用于醫(yī)療儀器(心電圖ECG、肌電圖EMG和腦電圖EEG)等。其主要模塊如圖3所示。
圖3 ADS1298R主要模塊Fig.3 ADS1298R main module
ADS1298R的每個(gè)通道都有1個(gè)輸入復(fù)用器MUX,復(fù)用器除將輸入信號傳送給可編程放大器以外,還能夠獨(dú)立連接至內(nèi)部生成的信號以進(jìn)行測試、溫度、導(dǎo)聯(lián)斷開等檢測,可選擇輸入通道的任一配置生成右下肢驅(qū)動(dòng)RLD輸出信號。
3個(gè)集成放大器和調(diào)節(jié)電阻用于生成標(biāo)準(zhǔn)12導(dǎo)聯(lián)ECG所需的威爾遜中心終端(WCT)。9路實(shí)際輸入信號LA,RA,LL和V1~V6通過二階濾波電路進(jìn)入多路選擇器MUX,MUX將輸入信號送入可編程增益放大器PGA,PGA的放大倍數(shù)可設(shè)定為1,2,3,4,6,8 和 12,在此設(shè)定 PGA 的放大倍數(shù)為1。
采集前端中的STM32F103微控制器通過SPI接口控制ADS1298R進(jìn)行導(dǎo)聯(lián)心電數(shù)據(jù)的傳輸,然后利用UART接口將接收的心電數(shù)據(jù)上傳至上位機(jī)軟件[3]。STM32F103微控制器及其外圍電路均采用典型設(shè)計(jì),根據(jù)ADS1298R的SPI接口的訪問時(shí)序,STM32F103與ADS1298R的SPI接口及與上位PC的UART接口原理如圖4所示。
START引腳和DRDY引腳為ADS1298R的SPI接口特定引腳,設(shè)計(jì)中STM32F103設(shè)定為SPI通信主機(jī),ADS1298R為通信從機(jī),STRAT信號由主機(jī)發(fā)出,控制從機(jī)在設(shè)置和轉(zhuǎn)換模式之間切換,DRDY作為SPI從機(jī)數(shù)據(jù)轉(zhuǎn)換完成信號。
圖4 STM32F103與ADS1298R及PC的UART接口Fig.4 STM32F103 and ADS1298R and PC UART interface
采集系統(tǒng)的軟件部分為前端軟件和上位機(jī)軟件,前端軟件針對STM32F103微控制器設(shè)計(jì),實(shí)現(xiàn)SPI,GPIO,UART 的初始化,SPI接口主從數(shù)據(jù)傳輸,UART數(shù)據(jù)傳輸?shù)裙δ躘4]。對于ADS1298R的SPI采用命令讀取數(shù)據(jù)模式RDATC。采集系統(tǒng)整體大約以300 Hz頻率對心電信號采樣,STM32F103以間隔3 ms將9組導(dǎo)聯(lián)心電數(shù)據(jù)上傳至上位機(jī)軟件,上位機(jī)軟件不斷刷新其顯示狀態(tài)。前端軟件流程如5所示。
圖5 采集前端軟件流程Fig.5 Sampling front end software flow chart
上位機(jī)軟件采用MatLab平臺(tái)GUI設(shè)計(jì),其主界面設(shè)計(jì)如圖6所示,包括了用戶信息區(qū)、導(dǎo)聯(lián)設(shè)定區(qū)、使用者操作區(qū)3個(gè)部分[5]。
圖6 上位機(jī)主界面Fig.6 Upper computer interface
在創(chuàng)建串口對象后,完成串口屬性配置,同時(shí)利用相關(guān)串口回調(diào)函數(shù)接收、顯示和保存數(shù)據(jù),保存數(shù)據(jù)可選擇TXT格式和XLS格式,其核心代碼設(shè)計(jì)如下:
采集系統(tǒng)對12導(dǎo)聯(lián)的心電信號進(jìn)行了相關(guān)功能測試,包括數(shù)據(jù)采集顯示和保存等方面。部分采集心電數(shù)據(jù)保存為TXT文本文件,其內(nèi)容如下:
在波形顯示測試方面,被測試者A標(biāo)準(zhǔn)導(dǎo)聯(lián)Ⅱ和胸導(dǎo)聯(lián)V5的波形如圖7所示,被測試者B的胸導(dǎo)聯(lián)V5和V2的波形如圖8所示,被測試者C的胸導(dǎo)聯(lián)V4和V1的波形如圖9所示。
圖7 導(dǎo)聯(lián)Ⅱ和V5的測試波形Fig.7 Waveforms of leadⅡand V5
圖8 導(dǎo)聯(lián)V5和V2的測試波形Fig.8 Waveforms of lead V5 and V2
圖9 導(dǎo)聯(lián)V4和V1的測試波形Fig.9 Waveforms of lead V4 and V1
所設(shè)計(jì)ECG信號采集系統(tǒng)的測試結(jié)果表明,采集系統(tǒng)能有效實(shí)現(xiàn)12導(dǎo)聯(lián)ECG信號的采集顯示和存儲(chǔ)。鑒于心電圖信號是分析診斷心臟疾病的重要依據(jù),采集系統(tǒng)將心電數(shù)據(jù)存儲(chǔ)為TXT和XLS的數(shù)據(jù)格式,便于采用MatLab平臺(tái)進(jìn)行分析研究。該系統(tǒng)的設(shè)計(jì)為科研及醫(yī)務(wù)工作者,利用MatLab強(qiáng)大數(shù)據(jù)處理能力,對ECG信號進(jìn)行各類分析研究,奠定了條件。
參考文獻(xiàn):
[1] 宋勐翔,陳蘭嵐.基于ADS1298和STM32F407的心電采集與顯示系統(tǒng)設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2015,38(13):141-142.
[2] 李遠(yuǎn),蔣稼歡,章毅,等.基于JAVA手機(jī)便攜式心電監(jiān)護(hù)分析儀的ECG 信號采集模塊設(shè)計(jì)[J].醫(yī)療衛(wèi)生裝備,2011,32(1):19-20.
[3] 勾慧蘭,劉光超.基于STM32的最小系統(tǒng)及串口通信的實(shí)現(xiàn)[J].工業(yè)控制計(jì)算機(jī),2012,25(9):30-32.
[4] 劉軍,張洋,嚴(yán)漢宇.例說STM32[M].北京:北京航空航天大學(xué)出版社,2014:260-269.
[5] 余勝威,吳婷,羅建橋.MatLabGUI設(shè)計(jì)入門與實(shí)踐[M].北京:清華大學(xué)出版社,2016:351-368.
[6] 溫正.MatLab科學(xué)計(jì)算[M].北京:清華大學(xué)出版社,2017:71-79.