《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計(jì) > 設(shè)計(jì)應(yīng)用 > 基于SOPC的多導(dǎo)聯(lián)ECG實(shí)時(shí)監(jiān)測系統(tǒng)
基于SOPC的多導(dǎo)聯(lián)ECG實(shí)時(shí)監(jiān)測系統(tǒng)
2018年電子技術(shù)應(yīng)用第8期
張夢新,廖 遠(yuǎn),,劉文涵,,黃啟俊
武漢大學(xué) 物理科學(xué)與技術(shù)學(xué)院,,湖北 武漢430072
摘要: 針對家用心電監(jiān)護(hù)系統(tǒng)的需求,,設(shè)計(jì)了一種基于SOPC的多導(dǎo)聯(lián)ECG實(shí)時(shí)監(jiān)測系統(tǒng),。系統(tǒng)以ADS1298為心電信號(hào)采集前端,,通過ZigBee將多個(gè)導(dǎo)聯(lián)的心電數(shù)據(jù)發(fā)送到后端處理,。系統(tǒng)后端采用內(nèi)嵌了ARM Cortex A9雙核處理器的FPGA,,并在ARM上搭建了Linux開發(fā)環(huán)境,。在FPGA中通過并行處理、流水線設(shè)計(jì)和自定義IP核實(shí)現(xiàn)對心電數(shù)據(jù)的接收,、格式轉(zhuǎn)換,、FIR濾波、LMS自適應(yīng)陷波和數(shù)據(jù)緩存,;在ARM上實(shí)現(xiàn)了QRS檢測算法,、心率變異性分析和心梗檢測算法,并通過SD卡和LCD屏實(shí)現(xiàn)心電數(shù)據(jù)的長時(shí)間存儲(chǔ)及心電波形與診斷結(jié)果的實(shí)時(shí)顯示,。
中圖分類號(hào): TP274.2
文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.180064
中文引用格式: 張夢新,,廖遠(yuǎn),劉文涵,,等. 基于SOPC的多導(dǎo)聯(lián)ECG實(shí)時(shí)監(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.
Multi-lead real-time ECG monitoring system based on SOPC
Zhang Mengxin,Liao Yuan,,Liu Wenhan,,Huang Qijun
School of Physics and Technology,Wuhan University,,Wuhan 430072,,China
Abstract: Aiming at the demand for household ECG monitoring, a multi-lead real-time ECG monitor system based on SOPC is designed. The system uses ADS1298 as the ECG signal acquisition front-end, and the data of multi-lead are sent to the back-end by ZigBee to be processed. The back end of the system is FPGA embedded with ARM Cortex A9 dual core processor. The Linux operating system is transplanted on ARM. The ECG data receiving, format conversion, FIR filtering, LMS adaptive notch filter and data cache are realized by parallel processing, pipeline design and custom IP core in FPGA. QRS detection algorithm, analysis of heart rate variability and myocardial infarction detection algorithm are implemented on ARM. ECG data are received, filtered, and stored in SD card and analyzed in real time, and the ECG waveform and analysis results are displayed on the LCD.
Key words : SOPC;multi-lead,;real-time,;monitor

0 引言

    目前,,心血管疾病的發(fā)病率迅速上升,已經(jīng)成為威脅人類身體健康的主要因素之一,。常規(guī)的心電監(jiān)護(hù)儀需要患者在有限時(shí)間內(nèi),,到固定的醫(yī)療場所進(jìn)行監(jiān)護(hù)診斷,無法滿足患者長期實(shí)時(shí)監(jiān)護(hù)的需求,,因此家用心電監(jiān)護(hù)儀在人們的生活中發(fā)揮著越來越重要的作用[1]?,F(xiàn)今,絕大多數(shù)的家用心電監(jiān)護(hù)儀或是通過采集電路,,將心電數(shù)據(jù)經(jīng)互聯(lián)網(wǎng)發(fā)送到醫(yī)院監(jiān)護(hù)中心進(jìn)行遠(yuǎn)程監(jiān)護(hù)[2-3],,或是實(shí)現(xiàn)多體征參數(shù)的監(jiān)護(hù),計(jì)算心率,,畫出波形等[4],。這些都沒有對復(fù)雜的心血管疾病進(jìn)行實(shí)時(shí)分析診斷。因此本文提出了一種針對家用的,、可對心血管疾病實(shí)時(shí)分析診斷的心電監(jiān)測系統(tǒng),。

    本文使用內(nèi)嵌了ARM Cortex A9雙核處理器的FPGA,其運(yùn)算處理能力強(qiáng),,可實(shí)時(shí)分析處理心電數(shù)據(jù),。通過軟硬件協(xié)同設(shè)計(jì),在ARM上實(shí)現(xiàn)了難以硬件化的QRS檢測算法,,心率變異性分析和基于卷積神經(jīng)網(wǎng)絡(luò)的心梗檢測算法,;在FPGA中實(shí)現(xiàn)FIR濾波器和LMS自適應(yīng)陷波及數(shù)據(jù)緩存,減輕ARM處理負(fù)擔(dān),,提高數(shù)據(jù)處理效率,。

1 系統(tǒng)設(shè)計(jì)

    基于SOPC多導(dǎo)聯(lián)ECG監(jiān)測系統(tǒng)框架如圖1所示,系統(tǒng)包括心電信號(hào)采集前端和心電數(shù)據(jù)處理后端兩部分,,兩者之間通過ZigBee進(jìn)行數(shù)據(jù)傳輸與控制,。

qrs2-t1.gif

2 系統(tǒng)各模塊原理及設(shè)計(jì)

2.1 心電信號(hào)采集前端

    為了達(dá)到心電信號(hào)采集前端便攜化的目的,使用了TI公司推出的專門針對ECG信號(hào)采集的ADS1298芯片,。ADS1298內(nèi)部集成了8通道24位帶符號(hào)的模數(shù)轉(zhuǎn)換模塊,,分別用來測量I、Ⅱ?qū)?lián)及V1~V6的6個(gè)胸導(dǎo)聯(lián)信號(hào)[5],。根據(jù)這8個(gè)導(dǎo)聯(lián)的信號(hào)經(jīng)過一定的運(yùn)算處理可得到十二導(dǎo)聯(lián)心電信號(hào)[6],。其采樣頻率可在250 S/s~32 kS/s之間。

    系統(tǒng)通過AgCl電極片拾取心電信號(hào),,ADS1298每完成一次采樣轉(zhuǎn)換,STM32控制ZigBee模塊將所用到的導(dǎo)聯(lián)的心電數(shù)據(jù)發(fā)送到心電數(shù)據(jù)處理后端,。其軟件控制流程如圖2所示,。

qrs2-t2.gif

2.2 無線傳輸模塊

    本系統(tǒng)使用UART接口的ZigBee模塊,。雖然ZigBee傳輸距離較短,速率慢,,但由于系統(tǒng)AD采樣速率較低,,并且針對家用,傳輸距離限于幾十米范圍,,再加上ZigBee功耗低,,因此ZigBee滿足設(shè)計(jì)要求[7]。首先系統(tǒng)上電后要檢測前端與后端是否建立連接,。圖3所示為判斷是否建立連接流程,。

qrs2-t3.gif

2.3 心電數(shù)據(jù)處理后端

    心電數(shù)據(jù)處理后端的主要任務(wù)是通過FPGA與ARM完成對心電數(shù)據(jù)的預(yù)處理與算法處理。

    FPGA中設(shè)計(jì)結(jié)構(gòu)如圖4所示,。用多路并行處理的方式處理心電數(shù)據(jù),,且每一路的設(shè)計(jì)遵從流水線的設(shè)計(jì)思路,提高系統(tǒng)處理速度,,實(shí)現(xiàn)實(shí)時(shí)處理,。

qrs2-t4.gif

2.3.1 UART模塊

    為靈活接收ZigBee的數(shù)據(jù)并將數(shù)據(jù)傳送到后端處理,本系統(tǒng)在FPGA中用Verilog采用有限狀態(tài)機(jī)的方式實(shí)現(xiàn)了UART接口,。

2.3.2 數(shù)據(jù)格式轉(zhuǎn)換模塊

    由于FIR濾波與LMS自適應(yīng)濾波均為浮點(diǎn)數(shù)運(yùn)算,,因此該模塊的主要功能是將心電采集前端發(fā)送的24位整型數(shù)據(jù)轉(zhuǎn)換成對應(yīng)的32位浮點(diǎn)型數(shù)據(jù)。其結(jié)構(gòu)如圖5所示,。

qrs2-t5.gif

2.3.3 FIR濾波模塊

    從心電采集前端發(fā)送的心電數(shù)據(jù)中有由呼吸引起的基線漂移,,其頻率在0.5 Hz左右[8],因此設(shè)計(jì)了截止頻率為0.5 Hz的FIR高通濾波器,。經(jīng)測試,,1 000階濾波器效果較好。

    FIR濾波器本質(zhì)上是卷積運(yùn)算,,僅涉及移位,、相乘、累加運(yùn)算,。在MATLAB中設(shè)計(jì)得到的濾波器系數(shù)均為浮點(diǎn)數(shù),,因此采用Altera自帶的浮點(diǎn)乘法器與浮點(diǎn)加法器IP核??紤]到濾波器的階數(shù)為1 000階,,因此采用串行結(jié)構(gòu)且只用一個(gè)浮點(diǎn)乘法器與浮點(diǎn)加法器。經(jīng)計(jì)算,,完成移位,、1 001次乘法、1 000次加法需占用9 000個(gè)時(shí)鐘周期左右。而系統(tǒng)時(shí)鐘為50 MHz,,可得該模塊吞吐率可達(dá)160 kb/s,。心電信號(hào)的采樣率為250 Hz,所以該FIR濾波器可實(shí)時(shí)處理心電數(shù)據(jù),。圖6所示為FIR濾波器的具體結(jié)構(gòu),。該模塊對FPGA資源占用率為2%。

qrs2-t6.gif

2.3.4 LMS自適應(yīng)濾波器

    前端心電采集系統(tǒng)發(fā)送的心電數(shù)據(jù)中有較嚴(yán)重的50 Hz工頻干擾,,所以設(shè)計(jì)了基于LMS算法的自適應(yīng)陷波器[9],,抑制輸入信號(hào)中的工頻干擾。

    基于LMS算法的自適應(yīng)陷波器結(jié)構(gòu)如圖7所示,。其中X(t)是含有干擾信號(hào)的輸入信號(hào),,干擾信號(hào)頻率為ω,由于干擾信號(hào)的幅值與相位未知,,因此提供兩個(gè)相互正交的單頻信號(hào)sin(ωt)與cos(ωt),,通過調(diào)整權(quán)值來合成與干擾信號(hào)相同的信號(hào),將輸入信號(hào)與合成的干擾信號(hào)作差就可得到有用信號(hào),。

qrs2-t7.gif

    LMS自適應(yīng)陷波器所涉及的運(yùn)算僅為乘法和加法,,且都為浮點(diǎn)運(yùn)算,為節(jié)省FPGA資源,,使用一個(gè)浮點(diǎn)乘法器和加法器,。經(jīng)計(jì)算,按照此種方法,,該模塊的吞吐率可達(dá)16 Mb/s,,可實(shí)時(shí)處理心電數(shù)據(jù)。該模塊對所用FPGA資源占用率為2%,。

2.3.5 基于自定義IP核的數(shù)據(jù)緩存模塊

    為提高ARM的處理效率,,以自定義IP核形式設(shè)計(jì)了數(shù)據(jù)緩存模塊將心電數(shù)據(jù)存儲(chǔ)到片外的SDRAM中,之后由ARM讀取SDRAM中的數(shù)據(jù)作算法處理,。本系統(tǒng)ARM與FPGA之間通過AXI總線進(jìn)行數(shù)據(jù)交換,。

    數(shù)據(jù)緩存模塊的實(shí)現(xiàn)是基于Altera的Qsys硬件平臺(tái)。在Qsys中添加SDRAM Controller,,通過FPGA和ARM分別對SDRAM Controller的控制,,來完成對片外SDRAM的讀寫。SDRAM Controller是基于Avalon總線實(shí)現(xiàn)的Avalon從端口,。因此在FPGA中實(shí)現(xiàn)對SDRAM Controller的控制是通過遵循Avalon總線傳輸協(xié)議編寫一個(gè)Avalon主端口,。然后將該Avalon主端口模塊例化為自定義IP核添加到Qsys中,便可實(shí)現(xiàn)在FPGA中對SDRAM Controller的控制,。ARM則通過AXI總線完成控制,。

2.3.6 ARM處理平臺(tái)

    嵌入式ARM硬核為雙核,且主頻可達(dá)925 MHz,運(yùn)算能力強(qiáng),,可實(shí)時(shí)處理心電數(shù)據(jù),。在ARM上構(gòu)建了Linux操作系統(tǒng),編程方式采用多任務(wù)編程,,通過創(chuàng)建多個(gè)進(jìn)程分別完成心電數(shù)據(jù)的讀取,實(shí)現(xiàn)難以硬件化的心電檢測算法,,控制各模塊之間協(xié)調(diào)工作,,將心電數(shù)據(jù)以txt文件格式存儲(chǔ)到SD卡當(dāng)中,以及在LCD屏上顯示心電波形和診斷結(jié)果,。各進(jìn)程之間通過共享內(nèi)存的方式實(shí)現(xiàn)數(shù)據(jù)交互,。圖8所示為軟件設(shè)計(jì)流程。

qrs2-t8.gif

3 驗(yàn)證和評價(jià)

3.1 占用資源情況

    系統(tǒng)總導(dǎo)聯(lián)數(shù)為5導(dǎo)聯(lián),,采樣率為250 Hz,。在友晶DE1-SoC開發(fā)板上運(yùn)行,F(xiàn)PGA總資源占用情況如表1所示,,占用資源在系統(tǒng)限度內(nèi),。

qrs2-b1.gif 

3.2 ECG信號(hào)提取測試

    圖9(a)是心電前端采集系統(tǒng)采集的原始心電信號(hào)波形,有明顯的基線漂移和較大的工頻干擾,。圖9(b)為從系統(tǒng)SD卡中得到的經(jīng)過FPGA濾波處理的心電圖,,可看到基線漂移被明顯濾除,且50 Hz工頻得到有效抑制,。

qrs2-t9.gif

3.3 系統(tǒng)測試

    被測者身心狀況良好,。圖10為液晶屏的顯示,可實(shí)時(shí)顯示心電波形及診斷結(jié)果,。圖中下方左邊Heart Rate顯示心率為69,,正常;下方中間status顯示正常心電信號(hào)(Norm)或是有心肌梗死前兆,,圖中顯示的為Norm即正常心電信號(hào),;SDNN和NN50顯示心率變異性結(jié)果,其中SDNN為0.133在正常范圍(0.141±0.039 s)內(nèi),,NN50顯示30 s內(nèi)相鄰心跳間期的差值超過50 ms的心跳個(gè)數(shù),,為11個(gè)。

qrs2-t10.gif

3.4 心電算法的實(shí)現(xiàn)

    本系統(tǒng)實(shí)現(xiàn)了課題組前期QRS檢測算法[10],,通過計(jì)算RR間期,,可計(jì)算心率值。在此基礎(chǔ)上本文進(jìn)行了額外的心率變異性分析,,從而輔助心血管疾病的預(yù)防,。包含兩個(gè)方面:(1)SDNN:全部心跳間期的的標(biāo)準(zhǔn)差,正常情況下該值一般在0.141±0.039 s的范圍內(nèi)[11]。(2)NN50:心電信號(hào)中所有每對相鄰心跳間期的差值超過50 ms的心跳個(gè)數(shù),,數(shù)值越大表明心率變異性也越大[12],。

    本系統(tǒng)也實(shí)現(xiàn)了課題組前期的基于V2、V3,、V5,、aVL導(dǎo)聯(lián)和卷積神經(jīng)網(wǎng)絡(luò)的心梗檢測算法[13],該算法可達(dá)到總體96%的準(zhǔn)確率,。通過將在PC上離線訓(xùn)練好的卷積神經(jīng)網(wǎng)絡(luò)移植到SOPC平臺(tái),,實(shí)現(xiàn)對心梗疾病的診斷。

4 結(jié)論

    本文提出了一種基于SOPC的多導(dǎo)聯(lián)ECG實(shí)時(shí)監(jiān)測系統(tǒng),,可以實(shí)現(xiàn)對心電信號(hào)的采集和無線傳輸,,并在SOPC平臺(tái)上進(jìn)行實(shí)時(shí)數(shù)字濾波、算法分析診斷以及診斷結(jié)果和心電波形的顯示,。實(shí)驗(yàn)表明,,本系統(tǒng)可以很好地采集人體心電信號(hào),經(jīng)處理后可得到良好的心電波形,,并借助ARM處理器對心電數(shù)據(jù)實(shí)時(shí)算法分析,,實(shí)現(xiàn)心電疾病的診斷。

參考文獻(xiàn)

[1] 丁慎平,,王應(yīng)海,,吳衛(wèi)榮,等.便攜式心電監(jiān)護(hù)儀設(shè)計(jì)進(jìn)展[J].生物醫(yī)學(xué)工程學(xué)雜志,,2014(3):708-713.

[2] 姜倩,,唐鴻儒.基于物聯(lián)網(wǎng)的家用心電監(jiān)護(hù)儀[J].自動(dòng)化與儀器儀表,2013(3):100-101.

[3] 姬金虎,,夏文文,,張?zhí)眨?互聯(lián)網(wǎng)+穿戴式心電監(jiān)護(hù)設(shè)備的研發(fā)[J].中國數(shù)字醫(yī)學(xué),,2017,,12(2):78-79.

[4] 戴明,王琪,,吳萬慶,,等.一種便攜式多體征參數(shù)監(jiān)護(hù)系統(tǒng)的設(shè)計(jì)及實(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ì)[J].醫(yī)療裝備,,2016,29(18):34-35.

[7] 張晶晶,,王亮,,雷明.基于ZigBee技術(shù)的家庭遠(yuǎn)程心電監(jiān)護(hù)系統(tǒng)[J].智能建筑,,2010(2):38-39.

[8] 郭巧惠,楊永明,,韋建敏,,等.心電信號(hào)處理濾波器的設(shè)計(jì)[J].自動(dòng)化技術(shù)與應(yīng)用,2006,,25(3):60-62.

[9] 杜勇.數(shù)字濾波器的MATLAB與FPGA實(shí)現(xiàn)[M].北京:電子工業(yè)出版社,,2015.

[10] 李在軍,王明,,鐘維,,等.基于SOPC的心電信號(hào)QRS波和ST段檢測與識(shí)別[J].武漢大學(xué)學(xué)報(bào)(理學(xué)版),2014,,60(2):122-128.

[11] 邱天爽.統(tǒng)計(jì)信號(hào)處理:醫(yī)學(xué)信號(hào)分析與處理[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.



作者信息:

張夢新,廖  遠(yuǎn),,劉文涵,,黃啟俊

(武漢大學(xué) 物理科學(xué)與技術(shù)學(xué)院,湖北 武漢430072)

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