文獻標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.180064
中文引用格式: 張夢新,,廖遠,,劉文涵,等. 基于SOPC的多導(dǎo)聯(lián)ECG實時監(jiān)測系統(tǒng)[J].電子技術(shù)應(yīng)用,,2018,,44(8):56-59.
英文引用格式: Zhang Mengxin,Liao Yuan,,Liu Wenhan,,et al. Multi-lead real-time ECG monitoring system based on SOPC[J]. Application of Electronic Technique,2018,,44(8):56-59.
0 引言
目前,,心血管疾病的發(fā)病率迅速上升,已經(jīng)成為威脅人類身體健康的主要因素之一,。常規(guī)的心電監(jiān)護儀需要患者在有限時間內(nèi),,到固定的醫(yī)療場所進行監(jiān)護診斷,無法滿足患者長期實時監(jiān)護的需求,,因此家用心電監(jiān)護儀在人們的生活中發(fā)揮著越來越重要的作用[1]?,F(xiàn)今,絕大多數(shù)的家用心電監(jiān)護儀或是通過采集電路,,將心電數(shù)據(jù)經(jīng)互聯(lián)網(wǎng)發(fā)送到醫(yī)院監(jiān)護中心進行遠程監(jiān)護[2-3],,或是實現(xiàn)多體征參數(shù)的監(jiān)護,計算心率,,畫出波形等[4]。這些都沒有對復(fù)雜的心血管疾病進行實時分析診斷,。因此本文提出了一種針對家用的,、可對心血管疾病實時分析診斷的心電監(jiān)測系統(tǒng),。
本文使用內(nèi)嵌了ARM Cortex A9雙核處理器的FPGA,其運算處理能力強,,可實時分析處理心電數(shù)據(jù),。通過軟硬件協(xié)同設(shè)計,在ARM上實現(xiàn)了難以硬件化的QRS檢測算法,,心率變異性分析和基于卷積神經(jīng)網(wǎng)絡(luò)的心梗檢測算法,;在FPGA中實現(xiàn)FIR濾波器和LMS自適應(yīng)陷波及數(shù)據(jù)緩存,減輕ARM處理負(fù)擔(dān),,提高數(shù)據(jù)處理效率,。
1 系統(tǒng)設(shè)計
基于SOPC的多導(dǎo)聯(lián)ECG監(jiān)測系統(tǒng)框架如圖1所示,系統(tǒng)包括心電信號采集前端和心電數(shù)據(jù)處理后端兩部分,,兩者之間通過ZigBee進行數(shù)據(jù)傳輸與控制,。
2 系統(tǒng)各模塊原理及設(shè)計
2.1 心電信號采集前端
為了達到心電信號采集前端便攜化的目的,使用了TI公司推出的專門針對ECG信號采集的ADS1298芯片,。ADS1298內(nèi)部集成了8通道24位帶符號的模數(shù)轉(zhuǎn)換模塊,,分別用來測量I、Ⅱ?qū)?lián)及V1~V6的6個胸導(dǎo)聯(lián)信號[5],。根據(jù)這8個導(dǎo)聯(lián)的信號經(jīng)過一定的運算處理可得到十二導(dǎo)聯(lián)心電信號[6],。其采樣頻率可在250 S/s~32 kS/s之間。
系統(tǒng)通過AgCl電極片拾取心電信號,,ADS1298每完成一次采樣轉(zhuǎn)換,,STM32控制ZigBee模塊將所用到的導(dǎo)聯(lián)的心電數(shù)據(jù)發(fā)送到心電數(shù)據(jù)處理后端。其軟件控制流程如圖2所示,。
2.2 無線傳輸模塊
本系統(tǒng)使用UART接口的ZigBee模塊,。雖然ZigBee傳輸距離較短,速率慢,,但由于系統(tǒng)AD采樣速率較低,,并且針對家用,傳輸距離限于幾十米范圍,,再加上ZigBee功耗低,,因此ZigBee滿足設(shè)計要求[7]。首先系統(tǒng)上電后要檢測前端與后端是否建立連接,。圖3所示為判斷是否建立連接流程,。
2.3 心電數(shù)據(jù)處理后端
心電數(shù)據(jù)處理后端的主要任務(wù)是通過FPGA與ARM完成對心電數(shù)據(jù)的預(yù)處理與算法處理。
FPGA中設(shè)計結(jié)構(gòu)如圖4所示,。用多路并行處理的方式處理心電數(shù)據(jù),,且每一路的設(shè)計遵從流水線的設(shè)計思路,提高系統(tǒng)處理速度,實現(xiàn)實時處理,。
2.3.1 UART模塊
為靈活接收ZigBee的數(shù)據(jù)并將數(shù)據(jù)傳送到后端處理,,本系統(tǒng)在FPGA中用Verilog采用有限狀態(tài)機的方式實現(xiàn)了UART接口。
2.3.2 數(shù)據(jù)格式轉(zhuǎn)換模塊
由于FIR濾波與LMS自適應(yīng)濾波均為浮點數(shù)運算,,因此該模塊的主要功能是將心電采集前端發(fā)送的24位整型數(shù)據(jù)轉(zhuǎn)換成對應(yīng)的32位浮點型數(shù)據(jù),。其結(jié)構(gòu)如圖5所示。
2.3.3 FIR濾波模塊
從心電采集前端發(fā)送的心電數(shù)據(jù)中有由呼吸引起的基線漂移,,其頻率在0.5 Hz左右[8],,因此設(shè)計了截止頻率為0.5 Hz的FIR高通濾波器。經(jīng)測試,,1 000階濾波器效果較好,。
FIR濾波器本質(zhì)上是卷積運算,僅涉及移位,、相乘,、累加運算。在MATLAB中設(shè)計得到的濾波器系數(shù)均為浮點數(shù),,因此采用Altera自帶的浮點乘法器與浮點加法器IP核,。考慮到濾波器的階數(shù)為1 000階,,因此采用串行結(jié)構(gòu)且只用一個浮點乘法器與浮點加法器,。經(jīng)計算,完成移位,、1 001次乘法,、1 000次加法需占用9 000個時鐘周期左右。而系統(tǒng)時鐘為50 MHz,,可得該模塊吞吐率可達160 kb/s,。心電信號的采樣率為250 Hz,所以該FIR濾波器可實時處理心電數(shù)據(jù),。圖6所示為FIR濾波器的具體結(jié)構(gòu),。該模塊對FPGA資源占用率為2%。
2.3.4 LMS自適應(yīng)濾波器
前端心電采集系統(tǒng)發(fā)送的心電數(shù)據(jù)中有較嚴(yán)重的50 Hz工頻干擾,,所以設(shè)計了基于LMS算法的自適應(yīng)陷波器[9],,抑制輸入信號中的工頻干擾。
基于LMS算法的自適應(yīng)陷波器結(jié)構(gòu)如圖7所示,。其中X(t)是含有干擾信號的輸入信號,,干擾信號頻率為ω,由于干擾信號的幅值與相位未知,,因此提供兩個相互正交的單頻信號sin(ωt)與cos(ωt),,通過調(diào)整權(quán)值來合成與干擾信號相同的信號,將輸入信號與合成的干擾信號作差就可得到有用信號。
LMS自適應(yīng)陷波器所涉及的運算僅為乘法和加法,,且都為浮點運算,,為節(jié)省FPGA資源,使用一個浮點乘法器和加法器,。經(jīng)計算,按照此種方法,,該模塊的吞吐率可達16 Mb/s,,可實時處理心電數(shù)據(jù)。該模塊對所用FPGA資源占用率為2%,。
2.3.5 基于自定義IP核的數(shù)據(jù)緩存模塊
為提高ARM的處理效率,,以自定義IP核形式設(shè)計了數(shù)據(jù)緩存模塊將心電數(shù)據(jù)存儲到片外的SDRAM中,之后由ARM讀取SDRAM中的數(shù)據(jù)作算法處理,。本系統(tǒng)ARM與FPGA之間通過AXI總線進行數(shù)據(jù)交換,。
數(shù)據(jù)緩存模塊的實現(xiàn)是基于Altera的Qsys硬件平臺。在Qsys中添加SDRAM Controller,,通過FPGA和ARM分別對SDRAM Controller的控制,,來完成對片外SDRAM的讀寫。SDRAM Controller是基于Avalon總線實現(xiàn)的Avalon從端口,。因此在FPGA中實現(xiàn)對SDRAM Controller的控制是通過遵循Avalon總線傳輸協(xié)議編寫一個Avalon主端口,。然后將該Avalon主端口模塊例化為自定義IP核添加到Qsys中,便可實現(xiàn)在FPGA中對SDRAM Controller的控制,。ARM則通過AXI總線完成控制,。
2.3.6 ARM處理平臺
嵌入式ARM硬核為雙核,且主頻可達925 MHz,,運算能力強,,可實時處理心電數(shù)據(jù)。在ARM上構(gòu)建了Linux操作系統(tǒng),,編程方式采用多任務(wù)編程,,通過創(chuàng)建多個進程分別完成心電數(shù)據(jù)的讀取,實現(xiàn)難以硬件化的心電檢測算法,,控制各模塊之間協(xié)調(diào)工作,,將心電數(shù)據(jù)以txt文件格式存儲到SD卡當(dāng)中,以及在LCD屏上顯示心電波形和診斷結(jié)果,。各進程之間通過共享內(nèi)存的方式實現(xiàn)數(shù)據(jù)交互,。圖8所示為軟件設(shè)計流程。
3 驗證和評價
3.1 占用資源情況
系統(tǒng)總導(dǎo)聯(lián)數(shù)為5導(dǎo)聯(lián),,采樣率為250 Hz,。在友晶DE1-SoC開發(fā)板上運行,F(xiàn)PGA總資源占用情況如表1所示,占用資源在系統(tǒng)限度內(nèi),。
3.2 ECG信號提取測試
圖9(a)是心電前端采集系統(tǒng)采集的原始心電信號波形,,有明顯的基線漂移和較大的工頻干擾。圖9(b)為從系統(tǒng)SD卡中得到的經(jīng)過FPGA濾波處理的心電圖,,可看到基線漂移被明顯濾除,,且50 Hz工頻得到有效抑制。
3.3 系統(tǒng)測試
被測者身心狀況良好,。圖10為液晶屏的顯示,,可實時顯示心電波形及診斷結(jié)果。圖中下方左邊Heart Rate顯示心率為69,,正常,;下方中間status顯示正常心電信號(Norm)或是有心肌梗死前兆,圖中顯示的為Norm即正常心電信號,;SDNN和NN50顯示心率變異性結(jié)果,,其中SDNN為0.133在正常范圍(0.141±0.039 s)內(nèi),NN50顯示30 s內(nèi)相鄰心跳間期的差值超過50 ms的心跳個數(shù),,為11個,。
3.4 心電算法的實現(xiàn)
本系統(tǒng)實現(xiàn)了課題組前期QRS檢測算法[10],通過計算RR間期,,可計算心率值,。在此基礎(chǔ)上本文進行了額外的心率變異性分析,從而輔助心血管疾病的預(yù)防,。包含兩個方面:(1)SDNN:全部心跳間期的的標(biāo)準(zhǔn)差,,正常情況下該值一般在0.141±0.039 s的范圍內(nèi)[11]。(2)NN50:心電信號中所有每對相鄰心跳間期的差值超過50 ms的心跳個數(shù),,數(shù)值越大表明心率變異性也越大[12],。
本系統(tǒng)也實現(xiàn)了課題組前期的基于V2、V3,、V5,、aVL導(dǎo)聯(lián)和卷積神經(jīng)網(wǎng)絡(luò)的心梗檢測算法[13],該算法可達到總體96%的準(zhǔn)確率,。通過將在PC上離線訓(xùn)練好的卷積神經(jīng)網(wǎng)絡(luò)移植到SOPC平臺,,實現(xiàn)對心梗疾病的診斷。
4 結(jié)論
本文提出了一種基于SOPC的多導(dǎo)聯(lián)ECG實時監(jiān)測系統(tǒng),,可以實現(xiàn)對心電信號的采集和無線傳輸,,并在SOPC平臺上進行實時數(shù)字濾波、算法分析診斷以及診斷結(jié)果和心電波形的顯示,。實驗表明,,本系統(tǒng)可以很好地采集人體心電信號,,經(jīng)處理后可得到良好的心電波形,并借助ARM處理器對心電數(shù)據(jù)實時算法分析,,實現(xiàn)心電疾病的診斷,。
參考文獻
[1] 丁慎平,王應(yīng)海,,吳衛(wèi)榮,,等.便攜式心電監(jiān)護儀設(shè)計進展[J].生物醫(yī)學(xué)工程學(xué)雜志,2014(3):708-713.
[2] 姜倩,,唐鴻儒.基于物聯(lián)網(wǎng)的家用心電監(jiān)護儀[J].自動化與儀器儀表,,2013(3):100-101.
[3] 姬金虎,夏文文,,張?zhí)眨?互聯(lián)網(wǎng)+穿戴式心電監(jiān)護設(shè)備的研發(fā)[J].中國數(shù)字醫(yī)學(xué),,2017,,12(2):78-79.
[4] 戴明,王琪,,吳萬慶,,等.一種便攜式多體征參數(shù)監(jiān)護系統(tǒng)的設(shè)計及實現(xiàn)[J].電子技術(shù)應(yīng)用,2015,,41(2):78-81.
[5] TI.ADS1298Datasheet[EB/OL].(2011-08-xx).http://focus.ti.com.cn/lit/ds/symlink/ads1298.pdf.
[6] 李陽青.基于ADS1298芯片的12導(dǎo)心電圖儀的設(shè)計[J].醫(yī)療裝備,,2016,29(18):34-35.
[7] 張晶晶,,王亮,,雷明.基于ZigBee技術(shù)的家庭遠程心電監(jiān)護系統(tǒng)[J].智能建筑,2010(2):38-39.
[8] 郭巧惠,,楊永明,,韋建敏,等.心電信號處理濾波器的設(shè)計[J].自動化技術(shù)與應(yīng)用,,2006,,25(3):60-62.
[9] 杜勇.數(shù)字濾波器的MATLAB與FPGA實現(xiàn)[M].北京:電子工業(yè)出版社,2015.
[10] 李在軍,,王明,,鐘維,等.基于SOPC的心電信號QRS波和ST段檢測與識別[J].武漢大學(xué)學(xué)報(理學(xué)版),,2014,,60(2):122-128.
[11] 邱天爽.統(tǒng)計信號處理:醫(yī)學(xué)信號分析與處理[M].北京:科學(xué)出版社,2012.
[12] 劉曉芳,,葉志前.心率變異性的分析方法和應(yīng)用[J].國際生物醫(yī)學(xué)工程雜志,,2001,,24(1):42-45.
[13] LIU W,ZHANG M,,ZHANG Y,,et al.Real-time multilead convolutional neural network for myocardial infarction detection[J].IEEE Journal of Boimedical & Health Informatics,2017,,PP(99):1.
作者信息:
張夢新,,廖 遠,劉文涵,,黃啟俊
(武漢大學(xué) 物理科學(xué)與技術(shù)學(xué)院,,湖北 武漢430072)