基于SoC FPGA的心电信号检测系统设计*

2016-06-13 09:09江培海黄启俊
传感器与微系统 2016年2期
关键词:陷波工频电信号

江培海, 黄启俊, 常 胜, 王 豪, 何 进

(武汉大学 物理科学与技术学院,湖北 武汉 430072)



基于SoC FPGA的心电信号检测系统设计*

江培海, 黄启俊, 常胜, 王豪, 何进

(武汉大学 物理科学与技术学院,湖北 武汉 430072)

摘要:设计实现了一种基于片上系统现场可编程门阵列(SoC FPGA)的心电信号(ECG)检测系统。系统通过具有高输入阻抗、高共模抑制比和低噪声的前置采集放大电路,实现心电信号的拾取和预处理。通过基于SoC FPGA的硬件平台和移植的嵌入式Linux开发环境的软硬协同设计方式,完成了心电信号的A/D转换、VGA显示、Micro SD卡数据存储和心电信号算法处理,能够对心电信号进行小波分析和QRS波检测,实现了对心电信号的采集、显示、存储和处理。

关键词:片上系统现场可编程门阵列; 心电信号; Linux; 小波分析; QRS波检测

0引言

心电信号(electrocardiogram,ECG) 能够客观反映心脏各部分的生理状况,也是用来诊断心脏疾病的主要依据,由于其具有易于检测和有较好直观性等特点,在临床医学中得到较为广泛的研究与应用[1,2]。自1906年,第一台心电图仪用于临床以来,各种形式的心电监护仪相继出现。传统的心电图检测仪器多以单片机、PC为核心设计,系统笨重、检测手段单一,不利于系统集成度的提高和小型化实现,或造成系统的使用不便[3]。由于可穿戴设备和移动医疗的兴起,心电监护仪正向小型化、便携式、智能化方向发展[4]。

本文设计了一种基于片上系统现场可编程门阵列(SoC FPGA)心电信号检测处理系统,通过A/D混合设计和软硬协同设计的方法,实现了心电信号检测系统。信号采集由模拟前端电路完成,利用SoC FPGA可重配置和软硬协同设计等优势,通过软件编程对信号进行A/D转换、VGA显示、数据存储和算法处理,从而实现信号采集、显示、存储和处理等多功能集于一体的心电检测处理系统。

1心电信号检测系统设计

心电信号检测监护系统是一个模拟和数字的混合系统,主要分为体表心电信号采集电路和以SoC FPGA为核心的心电信号数字处理系统。采集电路接入医用导联线通过贴片电极拾取心电信号,心电信号经过采集电路放大和模拟滤波处理后进入SoC FPGA,先由HPS端ARM嵌入式硬核上基于Linux的应用程序控制进行A/D转换,转换为数字信号在FPGA端进行VGA显示,同时将数字信号传输到HPS端,可以对数字信号进行算法处理和存储到Micro SD卡上。SoC FPGA软硬协同的开发方式对硬件设计和心电信号后续算法处理的软件开发都极为方便。按功能模块划分系统整体架构如图1所示。

图1 系统框图Fig 1 System block diagram

1.1体表心电信号采集电路

正常心电信号幅值范围在10 μV~5 mV,典型值为1 mV,频率范围在0.05~100 Hz,同时心电信号对噪声非常敏感。因此,心电信号采集电路需要具备高输入阻抗、高共模抑制比、低噪声和低漂移等方面性能。体表心电采集电路由前置放大电路和后级放大电路组成。

1.1.1前置放大电路

前置放大电路主要是对拾取到的心电信号进行初步放大和去噪,以利于后级放大和处理。心电信号中的噪声主要有工频干扰、肌电干扰、基线漂移和高频噪声。

1)前置放大电路设计

前置放大电路由前级放大电路、带通滤波电路和50 Hz工频陷波电路组成,其中,前级放大电路又包括输入保护电路、右腿驱动电路和仪表运放放大电路组成,如图2所示。

图2 前置放大电路Fig 2 pre-amplifier circuit

由于系统要接到体表采集信号,需要考虑信号采集过程中人体保护的问题,系统中在采集电路的输入级前端选择加入耐压值很高的瞬态电压抑制(transient voltage suppressors,TVS)二极管来保护人体和电路。右腿驱动电路是在采集心电信号中用于接参考电极,可以有效地消除采集到信号中的共模干扰[5]。仪表运算放大电路完成心电信号的初级放大,同时还要具有高输入阻抗、高共模抑制比、低噪声和低漂移的特性。综合考虑,选择ADI公司的精密仪表运放AD8220芯片,为了防止出现饱和失真,前级增益设置为20倍[6]。

2)工频干扰和基线漂移的消除

采集电路拾取的心电信号中有低频的基线漂移和高频干扰,还有在心电信号频率范围内的50 Hz工频干扰,这些噪声对心电信号提取的影响非常大。设计了基于通用有源滤波模块UAF42的带通滤波器和50 Hz工频陷波器。带通滤波器电路的通频带为0.05~100 Hz,滤除了基线漂移等低频干扰和高频噪声,工频陷波器能有效滤除工频噪声。通过UAF42可以方便地设计出各种类型和频率特性的滤波器,只需要计算出合适阻值的外接电阻器, 经过简单的连接就能很好地满足设计要求,免去了在有源滤波器的设计当中对电容器、电阻器的选型和匹配的工作[7]。工频陷波器电路图如图3所示。

图3 工频陷波电路Fig 3 Power frequency notch circuit

使用两片UAF42芯片构成4阶陷波器增加陷波深度,设计工频陷波电路Q值为50,50 Hz陷波深度为-110 dB。相比于传统的双T陷波器,此陷波器中心频率在设计时就可设置好,免去了陷波中心频率的调试。此外,只需要连接设计时计算好电阻值的电阻器即可,免去了电容器的选型和匹配。

1.1.2后级放大电路

后级放大电路由二级放大电路、光电隔离电路和低通滤波器电路组成。由于在前置放大电路中,仪表运放的增益值和带通滤波器的增益值都不能设得太高,避免噪声窜入后幅值放大过大和产生振荡而对有效信号干扰严重,所以,总体增益幅度为1 000~3 500,放大系统的增益将由多级增益电路实现。二级放大电路能够将系统的增益达到设定值,由运放接成电压负反馈的形式,控制整体电路的增益。光电隔离电路选用了一种低成本的精密电容线性光耦芯片ISO124,实现前后电路的电气隔离而避免反馈噪声的影响。低通滤波器主要是为了对由光电耦合引入的高频噪声进行消除,避免前级电路的高频噪声进入数字电路板。后级放大电路实现了模拟电路板和数字电路板的电气隔离。

1.2心电信号SoC FPGA数字处理系统设计

1.2.1SoC FPGA的结构和特点

本文设计使用Altera公司推出的基于28 nm工艺的Cyclone V SoC FPGA作为硬件设计平台,这种新型的 SoC FPGA 将两个分立的不同类型的芯片结合在一起,将基于ARM的硬核处理器系统(hard processor system,HPS)集成在 FPGA架构中[8]。

使用Altera公司的嵌入式系统设计套装(embedded design suite,EDS)SoC进行软硬件的设计开发。用集成Quartus II中的新一代SOPC工具Qsys进行硬件模块的设计,它能自动生成互联逻辑,连接知识产权(IP)功能和子系统,SoC EDS还提供了由Qsys 硬件系统信息转换为软件开发所需的工具,使得软硬件设计衔接起来,支持 Linux应用开发,借助于DS—5可完成从启动代码、内核移植到Linux应用程序的软件设计[9]。

1.2.2心电信号数字处理系统

数字系统包括A/D转换模块、VGA显示模块、数据存储模块和算法处理模块。SoC FPGA中的HPS和其它的硬件模块可以通过Qsys进行配置,用Quartus II进行硬件设计,Qsys和Quartus II编译可以产生软件设计所需的信息文件。移植嵌入式Linux系统,下载sof文件,用DS—5进行基于Linux的系统软件工程开发[10]。

系统的A/D转换器采用的是ADI公司的8通道12位高精度低功耗A/D转换芯片AD7928,转换速率为1MSPS。美国心脏学会推荐的采样率为500 Hz,但实际中不同应用有不同的采样率,一般为125~1 000 Hz,监护时多采用200 Hz或250 Hz,辅助分析时多用400~500 Hz,而心电HOLTER一般取125~200 Hz,本系统采用200 Hz。编写程序控制A/D转换和数据缓存,产生控制VGA需要的行同步信号与列同步信号,消隐信号、时钟信号、RGB信号使屏幕正常工作。嵌入式Linux文件系统支持Micro SD卡数据的写入和读取,将数字信号通过AXI桥传输到HPS端,软件工程实现心电信号的算法处理和Micro SD卡数据存储。系统数字部分结构简图如图4所示。

图4 系统数字部分架构Fig 4 System digital part architecture

2系统测试

系统设计完成后对前端采集电路和整体系统进行调试和测试。采用三导联方式安放医用贴片式Ag/AgCl心电电极, 通过医用导联线连接到心电信号采集系统进行测试。

2.1模拟前端采集电路测试

受测者佩戴心电电极,用医用导联线接入到模拟前端采集电路,后端接入示波器,待信号稳定后就可以在示波器上观测到心电信号波形,图5即为模拟前端电路实际测试波形图。

图5 模拟前端电路实际测试波形图Fig 5 AFE circuit test waveform

2.2系统整体测试

接入整体系统,运行软件工程,系统存储一段时间的心电信号,取出Micro SD卡,读取存储的数据还原后心电信号波形如图6所示。

图6 系统测试心电信号波形Fig 6 System test ECG waveform

3心电信号算法处理

心电信号算法处理随着智能医疗的应用变得越来越广泛。在健康监护和疾病诊断等具体应用环境中,传统的算法处理都是基于硬件实现的,基于硬件的实现方法一般难度比较大而且耗费资源,嵌入式Linux系统的移植大大方便了心电信号算法处理的软件实现。在软件工程中实现了心电信号的小波去噪和QRS波检测。

3.1基于小波分析的心电信号去噪

采用小波分析的方法进行心电信号去噪。小波分析由于能同时在时域和频域中对信号进行分析,具有多分辨分析的功能,所以,在不同的分解层上有效地区分信号的突变部分和噪声。对含有噪声的原始心电信号进行小波分解后,噪声部分主要集中在高频小波系数中,包含有用信号的小波系数幅值较大,但数目少;而噪声对应的小波系数幅值小,数目较多。基于上述特点,选取无偏似然估计阈值对小波系数进行处理,然后对信号重构即可达到消噪的目的。图7为心电信号小波去噪前后对比,信噪比可以达到121 dB。

图7 心电信号小波去噪Fig 7 ECG wavelet denoise

3.2基于小波分析的QRS波检测

根据小波变换的理论, 信号的奇异点对应于其小波变换的一个正模极大值和一个负模极大值对,其位置对应于正、负模极大值的过零点,具体算法是寻找小波变换的模最大值,当计算的信号模大于一定阈值时, 就判定为QRS波群。同时, 这个阈值也是随着计算结果自适应更新,在判定为QRS波群后, 再检测过零点则可判定具体的R波位置。图8即为心电信号QRS波群检测和R波峰定位。

图8 心电信号QRS波群和R波峰检测Fig 8 QRS wave group and R peak detcction of ECG signal

对心电信号进行小波分析检测出R波波峰等特征点之后可以用提取到的特征值进行模式识别和分类,例如:利用BP神经网络对心电图ST段波形进行形态分类[11]。

4结论

本文设计的基于SoC FPGA的心电信号检测系统能够很好地采集到心电信号,实现了对心电信号的提取、显示、存储和处理。测试表明:系统的模拟前端电路可以采集到比较清晰地放大到合适倍数的心电信号,系统整体的测试证明了设计的可行性。SoC FPGA软硬结合的开发方式能够实现心电信号的算法处理,使设计更为灵活,为心电信号的处理和分析提供了便利,也为智能医疗的实现提供了可能性。

参考文献:

[1]张大伟,王海科,张斌.新型三导联无线ECG 设计与其处理算法研究[J].传感器与微系统,2013,32(5):35-37.

[2]侯思羽.基于SOPC便携式心电监护系统的研究与设计[D].济南:济南大学,2011.

[3]贾延江,李振波,张大伟,等.低功耗无线心电图检测系统与QRS复波检测算法研究[J].传感器与微系统,2013,32(7):32-38.

[4]Lee S Y,Wang L H,Fang Q.A low-power RFID integrated circuits for intelligent healthcare system[J].IEEE Transactions on Information Technology in Biomedicine,2010,14(6):1387-1396.

[5]王明,李在军,钟维,等.基于FPGA的多功能生物电信号检测系统[J].电子技术应用,2013,39(6):34-39.

[6]钟维,黄启俊,常胜,等.基于SOPC的复合式生理信号检测系统设计[J].传感技术学报,2014,27(4):446-451.

[7]颜良,陈儒军,刘石,等.基于UAF42通用滤波芯片的50Hz陷波器设计[J].仪器仪表学报,2006,27(8):927.

[8]白月明.基于SoC FPGA的视频播放器设计[D].西安:西安电子科技大学,2014.

[9]刘杰.基于模型的设计——Qsys篇[M].北京:机械工业出版社,2012.

[10] 任爱锋,罗丰,宋士权,等.基于FPGA的嵌入式系统设计——Altera SoC FPGA[M].西安:西安电子科技大学出版社,2014.

[11] 李在军,王明,钟维,等.基于SOPC的心电信号QRS波和ST段检测与识别[J].武汉大学学报:理学版,2014,60(2):122-128.

Design of ECG detecting system based on SoC FPGA*

JIANG Pei-hai, HUANG Qi-jun, CHANG Sheng, WANG Hao, HE Jin

(School of Physics Science and Technology,Wuhan University,Wuhan 430072,China)

Abstract:Design and implement an electrocardiogram signal(ECG)detecting system based on system on chip field programmable gate array(SoC FPGA).ECG can be acquired and preprocessed by pre-acquisition amplifier circuit with high input impedance,high co-mode restrain ratio and low noise.Through design approach which combined hardware and software based on SoC FPGA hardware platform and embedded Linux development environment,complete analog to digital conversion of ECG,VGA display,data storage in Micro SD card and ECG process with algorithms,wavelet analysis and QRS wave detection on ECG can be completed,realize acquisition,display,storage and processing of ECG.

Key words:system on chip field programmable gate array(SoC FPGA); electrocardiogram (ECG); Linux; wavelet analysis; QRS wave detection

DOI:10.13873/J.1000—9787(2016)02—0074—04

收稿日期:2015—04—20

*基金项目:公益性行业科技专项项目(GYHY20106049—5)

中图分类号:TN 710

文献标识码:A

文章编号:1000—9787(2016)02—0074—04

作者简介:

江培海(1990-),湖北黄冈人,硕士研究生,主要研究方向为心电信号检测处理与嵌入式系统开发。

猜你喜欢
陷波工频电信号
基于联合聚类分析的单通道腹部心电信号的胎心率提取
基于Code Composer Studio3.3完成对心电信号的去噪
基于随机森林的航天器电信号多分类识别方法
浅析工频过电压故障研究
浅议交流工频耐压试验
可穿戴式工频电场测量仪的研制
温度对陷波网络阻抗的影响
220kV变电站工频电场的仿真分析
遗传算法在UWB陷波天线设计中的应用
卫星导航接收机基于IIR陷波器的单频干扰抑制性能分析