心电信号(精选8篇)
心电信号 篇1
0 前言
心电监护仪是临床上常用的设备之一。现在的心电监护仪的功能十分强大,通常都带有心律不齐自动诊断功能。但是用户对于监护仪的心电自动诊断功能的优劣却没有一个标准的评定方法,也无法在使用中进行质量监控。现在有很多用来对心电QRS波的自动检测方法做测试的心电信号,都是通过心电模拟发生设备产生的模拟信号[1、2],使用这种信号的缺陷是:心电模拟发生设备所产生的心电信号相比于真实的心电信号,波形过于工整,每一个QRS波的重复性太强,不能代表临床真实情况。利用经过专家严格分类的心电数据库,对心电分类算法进行评估是很多研究机构公认的判断算法优劣的方法,因此用心电数据库作为信号源开发成信号发生器,用于心电监护仪的自动诊断软件算法的评估则是一种较好的方法。
早在2004年王亦郑就在这个方面做了简单的尝试,利用MIT-BIH心律失常数据库以及Lab VIEW软件,初步实现了心电数据波形在Lab VIEW中的显示和转换成模拟信号输出[3]。2007年沈宇飞等人把MIT-BIH心律失常数据库的数据下载到单片机上做成了一个心电数据库的波形发生装置[4],为MIT-BIH心律失常数据库的使用提供了方便。
考虑到电脑软件为核心构成的系统便于人机交互和数据库的更新,而将测试系统建立在手提电脑中也能实现便于携带到现场进行测试的目的。为此,本文介绍的基于心电数据库的虚拟仪器信号发生器延续了王亦郑的方法,即在PC机上用Lab VIEW8.5开发虚拟仪器,但在数据库文件的选择、波形显示、信号输出等方面做了改进,形成了一个实用系统并用实际监护仪记录显示输出的心电信号,并做了验证。
1 实现方法
1.1 心电数据库及其数据的使用
从第一个心电数据库产生到现在,世界上已经有40多个各式各样的心电数据库。MIT-BIH心律失常数据库是世界上受到公认并广泛使用的标准心电数据库,已成为评估心律不齐检测算法的标准信号源[5、6]。该数据库共有48组信号,每组时长30min,两个导联的数据记录,每个QRS波都有权威专家加以注释。
MIT-BIH心电数据库的每个数据由三个文件组成[6、7]。如编号100,就由100.ATR、100.HEA、100.DAT三个不同后缀名的文件来表达。.ATR文件为心电图的注解文件,包括MIT研究小组对每次心跳的注解。.HEA文件以列表的形式显示出相关记录的一些属性,可以用文本编辑器直接打开。.DAT文件则同时存储一个记录的两道心电数据。
本设计使用Lab VIEW进行开发,但Lab VIEW不能直接读取.DAT文件,所以需要对该文件格式进行转换:通过数据库自带的软件WAVE以及DOS系统重定位命令,将心电数据库的数据文件转存为txt文件,再用Lab VIEW程序将txt文件转存为一维数组的形式的两个二进制文件,即以*fir.brt和*sec.brt文件名分别记录同一个心电数据文件的两个不同导联数据。
1.2 系统构成与设计
MIT-BIH心率变异数据库数据,经上述转存步骤,以将每一导联的心电信号转变成了以二进制格式存储的一维数组数据,接下来要做的是如何选择需要的心电波形,并转换成合适的幅度和时间间隔的模拟信号输出。
根据上述设计,系统构成如图1所示。主要设计思路是通过Lab VIEW来实现便捷的人机交互,再通过简单的外电路将心电数据库中的信号以相当于人体真实水平的心电信号输出。用Lab VIEW程序写成的虚拟系统可以分成A、B、C、D共4个模块:模块A用于对心电数据文件进行定位;模块B用于人机交互,选择符合要求的心电波性;模块C的功能是实现将输出的心电信号在计算机显示屏上同步显示;模块D是归一化输出模块。这里C和D主要解决数据库中信号的采样与该信号在虚拟仪器上的显示和输出采样之间的一致性问题。
1.3 输出信号的一致性
输出信号要尽可能在幅度和时间尺度上还原数据库中所记录的信号。MIT-BIH心率失常数据库中的心电信号的采样率为360Hz,本系统使用NI公司的DAQ硬件PCI-6024E来进行输出(在手提电脑中使用DAQCard-6024E),该硬件的输出最高采样频率远远大于360Hz,只需在Lab VIEW程序中配置一下通道就可以按照360Hz实现信号的输出,D/A实际输出的信号是不失真的。由于采样率为360Hz,点与点显示输出的间隔约为2.778ms,但在Lab VIEW软件中的采样间隔必须是1ms的整倍数,即送到显示器上去的数据序列的间隔必须是1ms的整倍数,所以通过循环每次送出一个采样点的间隔只能定义成3ms,这使得每个采样点的输出都比正常延时时间晚了0.222ms。当显示大量的采样点时,累积误差会很大。为了做到两者相一致,采用显示一部分点后舍弃一点显示的办法来弥补。由于这样做只是为了显示,并不影响实际输出的准确性。
将提取出的心电信号送到A/D卡输出之前还要对信号幅度作归一化处理(模块D)。这是因为MIT-BIH心电数据库中的信号是用11位的ADC进行采样的,即11位的二进制数覆盖正负5m V的范围,对应的采样值是0~2047(用1024对应0电位),根据本设计所使用的A/D卡特点,将上述范围内采样值归一化到+1~-1,然后在A/D卡中将对应的信号扩宽到了-5V~+5V之间,这样,在输出电路中作等比例缩小后可以做到原来的信号幅度。
1.4 输出电路设计
输出电路必须具有以下几个功能:①信号平滑处理:将离散的心电信号,转化成光滑连续的心电信号;②单端输出转换成双端输出:心电监护仪的前置放大器是以双端输入的方式从体表采集心电信号的;③信号衰减:将DAQ输出的±5V信号衰减到±5mV,与数据库中记录的实际体表心电相一致。
根据以上要求设计电路如图2所示:由DAQ送出的离散信号Vd先通过一个截止频率为100Hz的一阶RC低通滤波电路,在起到了平滑效果的同时,又保留了信号中几乎全部的频率成分。最终输出的信号幅度为V2-V3=V1/1000,为一个衰减了1000倍的双端信号。对于II导联输出,则V2端接LL,V3端接RA。
2 结果与验证
根据以上设计制作完成的虚拟仪器系统能够实现以下功能:通过计算机窗口上的人机交互界面,可以选择所需要的心电信号文件和文件中的某一时间段的心电信号进行输出,同时输出的信号在窗口中实时显示;在窗口中还设置了信号的注解区域,可以显示数据库中的医生对该信号文件的注释说明和该心电信号的统计结果,如有多少个心律失常波形,是哪一类心律失常等。我们将所建立的基于心电数据库的这种虚拟信号发生器输出的心电信号送入到PM-8000床边监护仪,证实信号可被监护仪正常接收和分析。
为了检验心电数字信号经过D/A和外围输出电路转换成连续的模拟信号后的失真情况,将生成的模拟心电重新采样,比较与数据库中的原始数字信号之间的差异。以100号信号为例,随机抽取了10段,每段时长5s,长度为1800个点的采样信号数据数组,并将这些数据段与对应的原始信号的数据段计算相关,得相关系数为0.934±0.01。这在一定程度上说明了信号没有较大的失真。在此基础上,进一步通过计数一段时间内原始信号与采样信号的R波个数是否一致。检验结果验证两者的波形基本相同(如图3所示)。图3(a)中的纵坐标是每个采样点在心电数据中对应的数值,而图3(b)中的纵坐标是对采样的数值进行了归一化。产生这种情况的原因是由于采样返回电脑时所用的心电前级放大器的增益是自动的。因为计算两条信号的相关性与其信号本身的幅度没有关系,所以对采样返回的信号进行归一化即可。图3(b)中的横坐标显示的是采样时间(s),因为采样频率为360Hz,相当于图3(a)横坐标显示的1800个点。根据以上几个方面的验证,可以说明本系统输出的信号与心电数据库提供的信号是一致的。
3 结论
通过测试和验证,所设计的虚拟仪器系统还原了心电数据库的心电波形,并可以被床边监护仪准确地检测和记录,并由内置的分析软件分析和诊断。该系统还可以通过人机交互的方式选择已知的具有特定心律不齐的标准心电对监护仪进行测试,这样就为监护仪的自动分析功能的评估和质量监控提供了手段。我们进一步的工作将是抽查部分监护仪对其心率不齐自动诊断的功能做评估。
摘要:本文以标准心电数据库作为信号源,运用LabVIEW软件构成虚拟仪器,实现相当于人体真实心电信号的无失真输出。该系统的输出能被心电监护仪采集、分析和诊断,可作为心电监护仪的心律不齐自动诊断功能的客观评估标准信号源。
关键词:心电数据库,虚拟仪器,心电监护仪,信号发生器
参考文献
[1]王矞辉,刘智青,付平.医用虚拟波形发生器的设计[J].中国医疗设备,2008,23(5):21-22.
[2]郑峰,刘曼芳,许明强.标准心电模拟波形发生器制作[J].医疗卫生装备,2003,24(9):45-46.
[3]王亦郑.心电数据库的读取和基于心电数据库的模拟心电发生器[D].上海第二医科大学2000级生物医学工程专业毕业论文,2004.
[4]沈宇飞,赵燕,方祖祥.采用MIT-BIH心律失常数据库的信号源[J].中国医疗器械杂志,2007,31(6):415-418.
[5]Moody GB,Mark RG.The Impact of the MIT-BIH Arrhythmia Database[J].IEEE ENGINEERING IN MEDICINE AND BIOLOGY MAGAZINE,2001,20(3):45-50.
[6]Massachusetts Institute of Technology.MIT-BIH Arrhythmia Database Directory.Third Edition[M].Massachusetts:MIT.1992.
[7]宋喜国,邓亲恺.MIT-BIH心率失常数据库的识读及应用[J].中国医学物理学杂志,2004,21(4):230-232.
心电信号 篇2
基于小波变换的心电信号R波及ST段的提取
摘要:本文主要研究基于小波变换的心电信号R波及ST段等特征点的提取.首先利用二次样条小波对心电信号按多孔算法进行分解,分析信号奇异点与其小波变换模极大值的对应关系;然后利用小波变换多分辨率特性,提出了在不同尺度下分别进行R峰值点以及ST段特征点提取的策略;最后采用MIT/BIH标准心电数据库和Holter采集的动态心电数据进行检验.实验结果说明所提出的提取方法具有特征点的正确提取率高、适用面广等优点. 作者: 师黎[1]杨岑玉[2]费敏锐[3] Author: Shi Li[1]Yang Cenyu[2]Fei Minrui[3] 作者单位: 郑州大学电气工程学院,郑州,450002;上海大学机械与自动化学院,上海,23郑州大学电气工程学院,郑州,450002上海大学机械与自动化学院,上海,200023 期 刊: 仪器仪表学报 ISTICEIPKU Journal: CHINESE JOURNAL OF SCIENTIFIC INSTRUMENT 年,卷(期): ,29(4) 分类号: B318.04 关键词: 小波变换 心电信号 特征点提取 二次样条小波 机标分类号: R54 R31 机标关键词: 小波变换心电信号特征点提取心电数据库信号奇异点提取方法模极大值二次样条多孔算法多分辨率对应关系小波对提取率适用面峰值点特性实验尺度策略采集 基金项目: 河南省科技攻关项目 基于小波变换的`心电信号R波及ST段的提取[期刊论文]仪器仪表学报 --2008,29(4)师黎杨岑玉费敏锐本文主要研究基于小波变换的心电信号R波及ST段等特征点的提取.首先利用二次样条小波对心电信号按多孔算法进行分解,分析信号奇异点与其小波变换模极大值的对应关系;然后利用小波变换多分辨率特性,提出了在不同尺度下分...
心电信号压缩方法的比较 篇3
1 心电信号压缩常用方法
现有的心电数据压缩算法大致可分为两类:针对ECG信号时域波形特点的压缩算法和变换域压缩算法。时域算法有多项式拟合算法,预测编码等;变换域压缩算法有Fourier变换,KLT变换,小波变换,小波包变换等。
1.1 多项式拟合算法。
是根据过去时刻的数据或根据当前时刻的数据作为当前的估计值,然后将它与当前时刻的实际值比较,其差值若小于某预置容限,认为多余不予保留,反之差值若大于某预置容限,则属于非多余采样值予以保留。如AZTEC算法。AZTEC把原始ECG数据处理成短的直线和斜线。AZTEC算法可以由水平线产生,斜线产生,用抛物线拟合的曲线平滑化几个部分组成。
1.2 预测编码算法。
是利用信号本身局部区域高度相关的特点,用当前信号采样值对下一个采样值进行预测,并把该预测值与下一个采样的实际值相减,然后用差值量化编码。所传的数据为量化后的差值。常用的预测编码方法有D M,D P C M等。
1.3 变换域压缩算法。
其主要目的在于把统计相依的采样值变换成“某种程度上统计独立”的系数。变换后信号在特定域中能量相对集中,或者系数矩阵分布具有某些规律,随后通过比特分配的量化过程和熵编码,把变换后的采样值进行压缩。其中,由A.Said和W.A.Pearlman提出的SPIHT编码算法被认为是目前国际上图像变换编码领域最先进的方法之一,该算法以零树集合及其分类为基础,不仅结果简单、无需任何训练、支持多码率,而且具有较高的压缩比和较好的图像复原质量。然而,理论分析和实验结果表明,该算法也存在一些不足,具体表现为:由于比特分配不尽合理,故算法需使用三个集合列表来存储待编码量化的小波系数,内存空间利用率不高。算法所采纳的集合分类策略过于复杂,严重降低了编码速度。一种新的嵌入零树小波ECG信号编码算法,能够通过合理分配比特、改进零树集合、完善分类策略等措施进一步提高SPIHT算法的工作效率。实验结果表明:改进的SPIHT算法是一种高效的ECG信号编码算法,其压缩速度、信号复原质量等关键技术指标均明显优于SPIHT算法。
2 SPIHT算法简介
小波变换作为近年来兴起的一种崭新的时(空)频域分析理论,已被不少学者用于图像压缩领域并取得了良好的效果。其中,由A.Said和W.A.Pearlman提出的SPIHT编码算法被认为是目前国际上图像变换编码领域最先进的方法之一,它把待编码的小波系数分成3个队列:不显著性集合队列LIS(待编码集),不显著性系数队列LIP和显著性系数队列LSP。通过初始化、分类、细化和量化步长更新四个子过程完成嵌入编码。SPIHT算法在静止图像编码领域已取得了良好的效果,并且把它用于一维的ECG信号压缩中也有很好的压缩效果。
分析SPIHT编码算法工作原理可知,其输出的编码信息主要包含3个集合:重要位信息、符号位信息和排序信息。其中,重要位信息和符号位信息是编码所必需的有效信息,而排序信息则是表征集合结构的辅助信息。由于SPIHT算法的比特分配不尽合理,需要3个集合列表(LIS、LIP和LSP)来存储待编码量化的小波系数,故内存需求量较大;又因为S P I H T算法采用了较为复杂的集合分类策略,故虽然能获得较高信噪比,却大大增加了计算量,严重降低了编码速度。
3 改进的SPIHT算法
为了进一步提高SPIHT算法的工作效率,以下通过合理分配比特、改进零树集合、完善分类策略等措施,给出一种新的嵌入零树小波E C G编码算法。
基于合理分配比待、改进零树集合与完善分类策略的新嵌入零树小波ECG信号编码算法可具体描述如下:
1)初始化
输出;将LSP设置为空队列,将所有最高层节点C(i)放入LIS队列中,将有后继节点的标以A类,将无后继节点的标以B类。
2)分类过程
对于LIS队列中的所有节点C(i):
(1)如果该节点C(i)属于A类,则输出Sn(W(i))。
如果Sn(W(i))=1,则将节点C(i)移LIS队列的尾部,并以B类标之;
否则添加节点C(i)到LIS队列的尾部,并以C类标之。
(2)如果该节点C(i)属于B类,则输出Sn(i)。
如果Sn(i)=1,则将节点C(i)移到LSP队列中并输出C(i)的符号位。
(3)如果该节点C(i)属于C类,则输出Sn(D(i))。
如果Sn(D(i))=1,则
如果L(i)为空,则将O(i)中所有节点加到LIS队列的尾部,并以B类标之;否则,以A类标之;
将节点C(i)移出LIS队列。
3)细化过程。
对于LSP队列中所有节点C(i),输出的第n-1个最重要位。
4)量化步长更新。
将n减少1,转移至第2步重复过程。
4 ECG信号压缩的发展趋势
综上所述,基于新的S P I H T算法的ECG信号压缩方法,是现阶段研究的主要方向和热点,其主要解决的问题即以后研究的热点就是如何找到一种很好的方法可以尽可能地利用小波系数的所有统计特征,选择最优小波基的问题。
利用自适应的方法把ECG分段信号进行最优小波基选择,结合不同量化编码和熵编码,应能够找到一种性能优越组合的小波编码器,来实现E C G信号的高效压缩。
摘要:目前心电(ECG)信号压缩是生物医学信号压缩的一个热门研究领域,本文通过对众多压缩方法进行比较研究,总结了目前心电数据压缩中的一些常用方法和先进技术,提出了基于新的SPIHT算法的ECG信号压缩方法的一个探索思路。
关键词:心电信号,数据压缩,SPIHT算法
参考文献
[1]吴乐南.数据压缩[M].北京:电子工业出版社.2000:136~148.
[2]SAIDA,PEARLMAN W A.A New fast and efficient image codec based on set partitioning in hierarchical processing[J].IEEE trans on Circuits and Systems for Video Technology,1996,6(3):243~250.
[3]王兴元,孟娟.基于小波变换和矢量量化的二维ECG数据压缩算法[J].中国生物医学工程学报.2007:26(3)339-240.
[4]J.M.Shapiro.Embedded image coding using zerotrees of wavelet coefficients[J].IEEE Trans.Signal Processing,1993,41:3445-3462.
[5]黄贤武,王加俊,李家华.数字图像处理与压缩编码技术.电子科技大学出版社
[6]吴丽华.一种新的嵌入零树小波ECG信号编码算法[J].曲靖师范学院学报.2003,22(6):68-70.
新型心电信号前置放大电路设计 篇4
心电信号是在心脏有规律地收缩和舒张过程中,心肌细胞产生的动作电位综合而成的电信号。心电由电极从体表测得,经放大后显示或描记下来的波形即为心电图。心电图是反映心脏兴奋的电活动过程,它对心脏基本功能及其病理研究方面,具有重要的参考价值。
在医学上采集标准的心电信号时,一般采用威尔逊多导联结构,需要在人体上放置很多电极,同时在金属电极上打上电极膏,一般需要在专业人员的指导下进行。在运动检测中,通过测量运动过程中的心率变化,了解身体的运动状态。采用传统的心电检测方法,不仅测量方法不方便,而且每次测量的成本很高。同时测量的心电信号效果很差,精度达不到要求。目前市场上也有高端的心电采集系统,设备价格往往很高,影响其大范围推广。
本文设计一种三导联采集心电信号的方法,即左右手各握两金属电极和右腿接驱动电路,通过差分放大器采集左右手上的两点电压差值,进而采集心电信号。采用这种方法设计的心电信号采集系统,在测量方法上有很大的改进,心电测量将更加方便和快捷。
2 心电信号特征及其对设计电路的要求
2.1 心电信号特征
人体的心电信号是一种低频率的微弱电信号,常规心电信号是m V级信号,幅度为10μV~5m V,其频率范围0.05~150Hz,心电信号的主要能量成分集中在0.05~150Hz。心电信号属医学生物信号,噪声背景强,即要测的有用信号往往淹没在干扰信号中。由于心电信号直接取自人体,人体电阻很大,所以在心电采集的过程中不可避免会混入各种干扰信号。对于心电信号测量中,干扰主要有以下几类:(1)工频干扰,它是由市电频率产生的电磁干扰信号,分布在测量环境中,我国工频为50HZ;(2)人体的静电干扰,它易使放大器饱和,导致不能正常工作;(3)射频电磁干扰;(4)肌电和呼吸干扰,导致基线漂移,即零点电位飘移。采用本文设计方法,由于双手的皮肤表面比胸部皮肤粗糟,导电效果差;如果手和金属电极接触不良,容易导致较大极化电压产生,在电路中会产生尖锋脉冲,干扰将更加严重。
2.2 设计电路要求
综合心电信号特点和心电信号的干扰,设计出的心电信号前置放大电路必须具有高输入阻抗、高共模抑制比、低噪声、非线性度小、抗干扰能力强以及合适的频带和动态范围放大等性能。心电信号采集系统的电路设计整体框架如图1:
3 设计电路步骤
设计电路时,主要有三个步骤:前置级、反馈级和后级设计。前置级设计主要包括射频信号滤波器、人体保护电路和仪表放大器组成;反馈级主要介绍右腿驱动电路和高通滤波器组成;后级包括主放大电路、低通滤波和增益可调放大电路等,实现系统的具体设计电路如下面描述。
3.1 射频信号干扰(RFI)滤波器
在现实的测量环境中,存在射频信号干扰,可能会导致后级的仪表放大器内部的射频整流,将导致仪表放大器不能正常工作。特别当信号传输线路较长并且信号强度低的情况,此时射频干扰的影响就更加严重,结果得不到有用的心电信号,必须处理不断增加的RFI,降低仪表放大器电路中的RFI整流误差。本系统解决方案是设计一个用于防止RFI整流误差的差分低通滤波器电路,其电路如图2:
该滤波器除了提供对RFI抑制,还提供附加的输入过载保护,因为电阻器R1a和R1b帮助把仪表放大器的输入电路与外部信号源隔离。C2跨接电桥输出端以便C2有效地与C1a和C1b的串联组合并联。C2非常有效地减小了由于不匹配造成的任何AC-CMR误差。RFI滤波器差分带宽定义为当差分输入信号施加到电路的两个输入端时滤波器的频率响应。该滤波器的-3d B差分带宽(BW)为:
3.2 人体保护电路
对人体的测量设备,一定要保证人体的绝对安全。给每一个输入端引入两个正反极性的二极管,此方法不仅可以解决静电干扰等问题,还可以保障人体安全。在干燥的天气里,人体身上带有大量的静电,瞬时电流很大,在采集的信号的开始阶段容易导致后级的放大器达到饱和状态。本设计电路可以使瞬时电流通过二极管引入到外部电路中,避免这种情况发生。同时,设计电路万一发生意外时,高压可以使二极管导通,电流引入到地,人体将不会有大电流流过。在正常的工作状态,人体上的电压不能使二极管导通,二极管不会产生负面影响。
3.3 仪表放大器
在心电信号的采集和处理过程中,前置级放大电路设计是整个电路设计的最关键部分,因为它不仅能够提取有用的心电信号,同时将干扰信号降低到最低水平。目前前置级放大电路一般都采用三运算放大器结构实现,即首先由A1和A2等组成并联交叉负反馈型差动放大器,再由运算放大器A3将双端输入转变为单端输出。其共模抑制比取决于第一级放大电路中2个运放共模抑制比的对称程度、差动放大器的闭环增益以及电阻的匹配精度等。一般自己搭建的三运算放大器电路,由于电子元件精度不对称,很难达到设计所需的精度,所以本系统的设计采用高精度、低噪声和低功率的仪表放大器INA128,可以解决上述问题。
INA128的8个引脚功能分别为:1脚和8脚之间接电阻Rg,该电阻用来设置电路的增益,电路增益由公式2计算得到:
电路增益设置范围可以由1到10000,即外接不同的Rg可以设置不同的电路增益。但由于极化电压和共模信号干扰的存在,前级放大器增益不易过大,这里Rg取5.8K,电路增益G1=10。2脚和3脚为放大器的输入端。4脚和7脚为电源输入端,7脚为电源正极,4脚为电源负极,这里使用典型的双电源±5V供电。5脚为输出参考端,一般5脚接地,本电路设计中5脚接后面的高通滤波器的负反馈端。6脚为输出引脚。INA128具有很高的共模抑制比(CMRR),最高可达120d B。CMRR是指差分放大器对同时加到两个输入端上的共模信号的抑制能力,它等于放大器开环共模增益与开环差模增益的比值。CMRR以分贝表示时,为:
心电信号采集前置放大电路需要很高的CMRR。INA118是高性能仪表放大器,测量两个输入端的交流电压的差值。一般在测量心电信号时,把一个输入端电极放到左手上,另外一端放到右手上,由于这两输入端的共模信号是几乎相等的,两者相减时,近似可以认为消除共模信号;但对两个输入端的差模信号来说,却大范围的放大。
3.4 右腿驱动电路设计
实际测量环境中,工频干扰处处存在,对标准的心电信号造成很大的干扰。如果不对工频信号进行消除,心电信号将埋没在工频信号里面。在多数心电信号采集电路中,一般采用把一个电极放在右腿上,即右腿驱动电路,可以减少工频信号干扰。实验表明右腿驱动电极代替了大地电极,大大抑制了50Hz工频共模信号干扰,可以削弱交流干扰100倍。设计电路如图3:
在本文设计的心电信号测量系统中,采用内有三芯导线和外有屏蔽网的屏蔽线。三个导线分别和三个电极连接起来,外部的屏蔽网连接到电阻R5的右端。首先由共模取样驱动电路取出的两电极共模电压一方面经过U1A(电压跟随器)和U1B(反相放大)后反馈到人体上,跟原来的共模电压相加,形成共模电压负反馈,即构成人体地共模反馈电路,可以减小共模电压的输入值,从而提高了电路对工频干扰的能力。一般心电采集时,从人体身上的电极到测量设备之间有一定距离,导线越长越容易受干扰信号影响。此时将U1A的输出端接至输入电极的屏蔽层,即构成屏蔽驱动电路,可减少引线分布电容的分流效应,使其对放大器的输入阻抗影响尽可能的减少,从而使CMRR不下降,提高了前置级的共模抑制能力。
3.5 高通负反馈滤波器设计
由于呼吸、肌电以及测量人轻微的运动等引起的干扰信号的存在,往往使基线偏离零电势线,这种情况称为基线漂移。基线就是参考零电势线。在心电信号中,各波的起始点和幅度测定必须以基线为参考,因此,确保基线处于零电势线是准确测量的前提。在硬件上实现消除基线漂移,即设计一个高通滤波器,如图4:
高通负反馈滤波器的5和6输入端口分别和前面的仪表放大器的输出端口5和6脚相连,此滤波器实现高通滤波器功能,同时具有降低极化电压干扰等性质,因为此电路5脚的信号通过负反馈放大器引入到仪表放大器中。由电路图得本电路的-3d B的带宽为:
前面的电路设计可以提取到微弱的心电信号,信号幅度很小,还需进一步放大信号,同时还需对信号作相关处理。后面的电路设计使用1片高精度和低噪声的运放芯片OPA4227,其内部包含运算放大器,使用第一个运放为前面的高通滤波器设计,第二个运放为主放大器,第三个运放为低通滤波器,最后一个运放为后级增益可调放大电路。
4 实验结果数据分析
采集到的心电信号经过上述几个部分处理后,能够滤除原始心电信号中存在的干扰,达到了抑制噪声放大信号的目的。本文将放大的信号经过USB接口的高速光电隔离型数据采集卡后,在计算机屏幕上在线显示心电信号,并将其储存在计算机硬盘上。采集的某一段心电数据通过matlab软件在屏幕上显示为图5:
5 结束语
结果表明,本设计通过对电路结构的精心设计和选用新器件,使心电放大电路具有较高的共模抑制比,克服了心电信号提取中常遇到的一些困难,从而能较好地检测出所需的心电信号。将设计好的电路用protel99se软件画成原理图后制成PCB电路板,在此基础上已经制作出人体心电信号测量系统,满足心率检测等功能,系统运行状态稳定可靠。如果选用贴片的电子元器件,可以将系统做的微型化,可应用于很多ECG监护仪当中,扩大采集系统的应用范围。
参考文献
[1]余学飞.医学电子仪器原理与设计[M].广州:华南理工大学出版社,2000.
[2]聂能,尧德中,等.生物医学信号数字处理技术及应用[M].北京:科学出版社,2005.
[3]张唯真.生物医学电子学[M].北京:清华大学出版社,1990.
[4]Bruce B,Winter John G,Webster.Driven-Right-Leg Circuit Design[C].IEEE Trans,1983.
心电信号采集和调理电路的设计 篇5
1 设计思想
1.1 系统设计
基于体积、重量、电池供电等因素考虑,选取的单片机必须是低功耗的[1]。MSP430FG43X单片机是TI专门设计用于人体医学监护(心电、血压、血糖)的单片机。系统采用MSP430FG439微处理器为核心控制芯片,不仅具有MSP430的超低功耗特性,还能大大简化系统设计。心电图(Electrocardiogram,ECG)信号是通过心电电极探测到生物电流,并通过导联线与心电信号采集器连接,将采集到的模拟电信号转化为数字信号进行计算机分析[2]。系统的主要功能框图如图1所示。
1.2 设计要求
心电信号属于强噪声背景下的低频微弱生物电信号[3],常规心电信号是mV量级信号,幅度约为10μV~5mV,频率范围为0.05~150Hz,其主要能量成分集中在0.05~100Hz。结合人体心电信号微弱、低频、易受干扰、不稳定、随机等特点,在系统设计时必须充分考虑相关因素,合理规划,选取合适芯片,力求为A/D端传送高质量的心电信号。在设计心电放大器时应选用低漂移、高输入阻抗并具有高共模抑制比的集成运放电路[4]。
2 信号调理电路
信号调理电路是整个系统的基础,这个部分电路设计的好坏与否直接关系到信号提取的质量。信号调理电路主要包含放大电路及滤波电路,主要用来放大和消除或减少原始ECG信号中的噪声。信号调理电路框图如图2所示。
2.1 放大器的设计
由于心电信号十分微弱,只有0.05—5mv,而且因人而异,从电极采集到的心电信号的峰峰值一般为1mv。为了便于观察和A/D转换,心电信号应尽量不失真地放大到V量级。要想获得用如此高增益的放大器来放大强噪声背景下的低频微弱ECG信号并不是一件容易的事情,考虑到初级放大增益太大会影响电路的直流稳定性,前置放大器将出现饱和现象,因此采用两级放大。
2.1.1 前端放大电路
在心电信号的采集和处理过程中,前置级放大电路设计是整个电路设计的最关键部分[5],因为它不仅要求在心电信号频率范围内不失真地放大所采集的微弱心电信号,同时要将干扰信号降低到最低水平。任何放大器都会同时放大夹杂在所需ECG信号中的各种干扰[6],在某些情况下ECG信号往往淹没在干扰信号中,使放大的信号毫无价值。
前置级放大电路一般都采用三运算放大器结构实现,但自己搭建的三运算放大器电路,由于电子元件精度不对称,很难达到设计所需的精度[7]。由于从电极采集到的ECG信号夹杂着各种共模干扰,为了防止ECG信号的输出被淹没在50Hz工频干扰、电极极化电压或其他共模干扰之下,一个更好的方法是使用一个差分放大器。这些共模干扰通过理想匹配的差分放大器自动地滤除掉了。本设计中采用已经和相应的平稳增益电阻匹配的INA321差分放大器[8]。
INA321是美国Texas Instruments公司设计的一款微功耗、单电源的CMOS仪表放大器,它提供固定的5倍增益,可根据需要外接增益电阻任意设置增益;线性误差最大值为2ppm,失调电压最大值为200μV;共模抑制比为94dB,可扩展到3KHZ,有效消除了线路噪声及线路谐波等共模干扰;工作电压范围:2.7V—5.5V。INA321还具有低成本,低输入偏置电流和小封装等特点,所以它非常适合应用于医疗仪器。基于系统选择的单片机而言,INA321仪表放大器在单片机的工作电压(1.8V—3.6V)下工作更稳定,偏移电压、偏移电流更小,更适合用于心电信号的前置放大。
2.1.2 主级放大电路
经过INA321放大后的心电信号的幅值仍较低,为了提高采集精度,将进一步被MSP430FG439中三个综合运算放大器之一的OA0放大,如图3所示。结合FG439中集成的A/D转换器的测量范围0~2.5V,将主放大电路的放大倍数设定为100倍左右,经两级放大后ECG信号总共被放大500倍,使输入A/D转换端口的心电信号幅值落在测量范围内。
2.2 滤波电路设计
滤波器主要作用是:让有用信号尽可能无衰减的通过,对无用信号尽可能大的衰减。按所通过信号的频段,滤波器分为低通、高通、带通和带阻滤波器四种。由于心电信号受到各种噪声的干扰,噪声来源通常有下面几种:工频干扰、电极接触噪声、肌电干扰、基线漂移等,可以设计合适的滤波电路很好地消除各种干扰。结合ECG信号特征采用有源滤波器,这类滤波器的优点是:通带内的信号不仅没有能量损耗,而且还可以放大,并且滤波器的体积小、重量轻、不需要磁屏蔽,适应便携式医疗设备。
2.2.1 高通滤波电路
高通滤波器是允许信号中的高频分量通过,抑制低频或直流分量。为了抑制直流漂移和放大器通带外的低频噪声,设计了一个简单的RC高通滤波器,如图3所示,其中C2和R9构成高通滤波器,其下限截止频率计算公式如下:
由式(1)可知,当C=2μf,R=1MΩ,下限频率为0.08Hz,即可较好隔除直流及基带漂移干扰等。
2.2.2 低通滤波电路
低通滤波器是允许信号中的低频或者直流分量通过,抑制高频分量或干扰和噪声。心电信号频率范围为0.05~150Hz,其主要能量成分集中在0.05~100Hz,为了消除高频信号的干扰,必须进行低通滤波。基于功耗和体积的考虑,使低通滤波器和心电后级放大器合用一个运放OA0。在OA0模块的1MΩ反馈电阻并上1.6nf电容,如图3所示,构成截止频率大约为100Hz低通滤波器。
2.3 右腿驱动电路
50Hz工频干扰是心电测量中最重要的干扰,仅靠前置差分放大器的高模抑制比还不能将其完全抑制,可以利用FG439内部的一个运算放大器OA1设计右腿驱动电路。
图4电路图为ECG信号采集及调理电路图。由于巨大放大因素使输出信号对电极和皮肤间接触电阻的变化非常敏感,将导致增大心电信号放大器基线漂移。为了解决这一问题,我们可以用FG439内部的一个运算放大器OA2设计一个模拟积分器来处理。积分器对被主级放大5倍的直流量积分,然后反馈给INA321。不管皮肤和电极间接触阻抗怎样变化,这个反馈可以使INA321输出一个恒定的直流量。
3 结束语
针对便携式监护仪器自身固有的特点:硬件结构简单、体积便于携带,提出了以MSP430FG439超低功耗微处理器为核心控制芯片、采用高精度的仪表放大器INA321为前置放大的设计思想,着重介绍了抗干扰的硬件解决方案,对其余系统的设计将在进一步的研究工作中去实现和完善。
参考文献
[1]杨琦.基于MSP430超低功耗MCU的便携式心电监护仪及其系统的研究[D].福建:福州大学,2003.
[2]廖云朋,孔令锋.12导联同步心电信号自动分析系统[J].生理信号检测与监护,2009(15):1-4.
[3]蔡建新,张唯真.生物医学电子学[M].北京:北京大学出版社,1997.
[4]叶一初.基于ARM的心电信号采集与远程传输系统的研究与设计[D].西安:西安电子科技大学,2009.
[5]周洪建,吴小玲,李桂英.心电监护系统的设计[J].医疗卫生装备,2000(6):3-5.
[6]陈正伟.心电监测系统的设计[J].仪器仪表用户,2011,18(2):60-61.
[7]孙上鹏.心电信号采集及无线传输系统的设计[D].北京:北京交通大学,2009.
心电信号 篇6
心脏病是危害人民生命健康的常见病, 是农村地区的第一死亡原因[1]。心电信号是人体心脏生物电活动信息的表征, 通过心电信号可以判断心脏的健康状况。传统的心电记录方法主要靠心电图机来完成, 其信号采集、处理和显示主要由硬件电路完成, 电路生产技术要求较高, 设备价格较贵, 且维护和更新不便。且对于在偏远地区的病人, 存在着数据采集、传输困难的问题。LabVIEW虚拟仪器技术的发展为改造传统的心电记录设备提供了很好的技术支持, 它利用计算机强大的软件处理功能和丰富的硬件资源, 组成插卡式虚拟仪器系统, 利用丰富的软件系统实现通常由硬件完成的功能, 并且通过网络能够自由传输, 使医疗相对落后地区的人们也能够得到优质的医疗服务。
2 设计系统构成
心电信号采集、记录系统[2,3,4,5]如图1所示, 主要由硬件和软件两大部分组成。因为电极检测到的是微弱的振动信号, 要经过外接电路放大和处理才能被识别[6]。所以硬件主要包括多路心电放大器、数据采集卡和计算机组成。其主要功能是实现心电信号的采集、放大处理和A/D转换, 将信号通过DAQ板引入计算机进行处理。软件采用LabVIEW对采集到的心电信号进行显示、分析和处理。
2.1 硬件设计
多路心电放大器组成框图2所示, 主要包括前置放大器、带通滤波器、工频陷波器、主放大器和光电耦合电路组成。为满足心电前置放大器高输入阻抗、高增益、低噪声、低漂移等技术指标, 前置放大器可选用AD公司的高性能精密仪表放大器件组成, 带通滤波器由一阶有源高通滤波器和4阶Butterworth低通滤波器组成, 实现对干扰信号的滤除和让0.05~100Hz的心电信号无失真地通过;工频干扰的滤除由采用双T有源滤波器形式的50Hz陷波器完成;主放大器用来对处理过的心电信号进行调理, 以满足数据采集卡对输入信号的电平要求;光电耦合器用来实现人体与电器上的隔离, 保证人体电气安全。
2.2 软件设计
采用美国国家仪器 (NI) 公司研发的LabVIEW软件系统。它是用于虚拟仪器开发的一种图形化编程语言[7], 与其他高级语言编程系统类似, LabVIEW 也有一个用于完成编程任务的函数库, 本设计采用其函数库里的数据采集、信号滤波、数据分析、数据显示及数据存储等模块。各模块都包括3个部分:前面板程序、框图程序和图标/连接器。前面板程序的功能是实现信号采集的控制、处理和直观表达;框图程序程序是系统程序的图形化源代码, 主要包括函数、结构和代表前面板上各控制对象, 用于实现对信号的采集处理和分析等操作;图标/连接器显示对象的端子以及连线。由于 LabVIEW 中有调用动态链接库的函数, 即调用库函数节点 VI, 利用此 VI 从硬件中进行数据的读取显得尤为方便。调用之后的数据就是采集的心电数据, 分析数据。调用的步骤分为7步, 其具体框图如图3所示。
2.2.1 前面板设计:
LabVIEW 前面板主要由输入控件和显示控件组成。控件的种类包括:数值控件、图形、图表字符串、路径、数组、簇等。利用LabVIEW设计的心电信号管理系统的前面板如图4所示。虚拟仪器的前面板是仪器与用户交互的可视化操作界面, 用户通过操作前面板的各种开关和按钮, 可以实现心电信号的实时采集、滤波、心率计算、报警、波形存储和回放等各项功能。本设计中心电信号的显示可以有波形、采样点、直方图等多种方式可选择;EKG MODE 可分为连续和静止两种模式, 显示长度在250采样点内可自由选择;心率是由系统自动计算得出显示, 心率报警的范围可自由选择, 一般正常心率为60-100之间;采样和滤波在这个系统里是可选功能, 保存模块在系统显示时才能产生作用, 并且可设定保存的路径、文件名等。
2.2.2 程序设计:
LabVIEW 有2 种节点类型:函数节点和子VI (程序模块) 节点, 用户通过对函数或子VI 节点部分的访问和修改来实现程序功能[8,9]。本文系统设计过程分为信号收集、滤波、分析、报警、保存。从卡上采集到的心电信号中的干扰成分主要为高频干扰、低频干扰和工频干扰, 对R波检测和R-R间期计算会产生很大的误差[10], 因此需对信号进行有效的滤波处理、计算、分析程序才能得出正确的结果。LabVIEW具有较强的信号处理能力, 其中有多种形式的数字滤波器可供选择并且可以自由选择滤波的范围, 本设计高通率滤波器采用截止频率为0.5HZ的切比雪夫滤波器, 低通滤波器采用截止频率为400HZ的巴特沃斯滤波器, 50HZ陷波滤波器采用椭圆滤波器。本文设计的心律计算程序代替了传统心电图机硬件电路中的微分, 整形和计数器电路, 而采用软件方法完成心电信号频率检测、分析、显示。将采集到的实时心电信号接入频率测量程序实现R波的检测, 根据采样周期, 得出心率计算公式:心率= R波的频率/实际时间×采样时间×60, 同时可把心率的范围设定, 若超出范围自动启动报警系统如图5所示。本系统还能将每个病人的心电图的详细情况包括病人的:姓名、检查时间、心电图数据等都存入数据库。通过打开保存的文件能观察心电图的异常情况来对病人的病况作出判断。
3 讨论
在农村偏远地区医疗资源会相对缺乏, 需要医疗实力强的地区能够进行不断的援助, 以计算机为载体的医疗智能软件就能够在两者间搭起桥梁。NI公司的LabVIEW为研制开发智能化医学仪器提供了很好的开发环境, 利用LabVIEW开发虚拟医学仪器具有结果显示直观、程序设计简单和开发周期短等优点[11]。现在通过LabVIEW的动态数据子VI 方便地得到了动态数据信号, 在循环采样中添加停止按钮, 使用户能更方便地中断采集, 细查数据信息。仪器不但能采集心电波形, 还能采集其他生理信号, 实现功能扩展, LabVIEW 与DAQ 数据采集卡的相互兼容配套, 使系统稳定度和可靠性得到保障。其输出波形的幅值、采样率等参数可调, 使以往复杂的心电数据采集、信号调理工作变得异常简便, 方便将时间和精力用于数据的分析及结论的总结上, 实现了虚拟仪器中信号的处理分析任务。此系统能够完成实现把病人的数据进行完整的记录, 并且发送到医疗资源相对优质的地区, 对病情能够做出更为精确的诊断, 更好的能够服务于农村地区的病人, 同时为以后的其他生理检查仪器向虚拟仪器转变提供了一个基础。
摘要:目的:开发一种心电信号的管理系统, 能够实现农村地区心电异常病人的远程诊断。方法:利用虚拟仪器编程语言LabVIEW为开发平台, 选用信号采集、滤波、频率检测、数据保存等模块研制出集心电数据采集、分析、储存的医疗系统。结果:该系统具有心电波形实时显示、心率显示及报警, 波形存储及回放等功能。结论:该系统能够实现心电诊断的远程医疗。
关键词:心电,数据采集,LabVIEW,虚拟仪器
参考文献
[1]高成兵, 程德云.农村慢性肺源性心脏病患者189例并发症的分析[J].现代预防医学, 2008, 32 (16) :32-33.
[2]申焱华, 王汝杰, 雷振山.LabVIEW入门与提高范例教程[M].
[3]杨乐平.LabVIEW程序设计与应用[M].北京:电子工业出版社, 2005.
[4]李涛, 刘延武.基于LabVIEW的心电信号采集和分析[J].医疗设备信息, 2007, 22 (6) :15-17.
[5]张艳, 牛明, 王卫东.基于LabVIEW的心电信号采集系统[J].中国医学装备, 2005, 2 (12) :50-52.
[6]BUECHLEY Leah, EISENBERG Michael.FabricPCBs, e-lectronic sequins, and socket buttons:techniques for e–textile craft[J].Personal and Ubiquitous Computing, 2009, 13 (2) :133-150.
[7]王磊, 陶梅.精通LabVIEW8.x[M].北京:电子工业出版社, 2008.
[8]马草原, 郭双强, 李国欣.基于LabVIEW的串口调试与数据分析[J].工矿自动化, 2005 (4) :74-76.
[9]刘彬, 许金林, 王泽林, 等.基于LabVIEW的虚拟多功能信号发生器的实现[J].科技博览, 2009 (2) :182-183.
[10]黄进文, 王威廉.基于LabVIEW的心电信号QRS波群离散极值点识别法[J].云南大学学报 (自然科学版) , 2008, 30 (2) :129-134.
基于Qt设计心电信号管理系统 篇7
近年来心脏疾病已成为威胁人类生命安全的头号疾病。由于其无先兆、发展迅速、危险性高,对患者的危害极大,因此心脏病的预防和诊断已成为目前国内外医学界的重要课题。近年来随着室速/室颤的识别、LOWNS分类、HRV、QT、QTd、TWA等理论检测算法的完善,为心电监护系统的研制打下了基础。由于研制心电检测仪需要心电样本信号,而临床的实验数据很难采集,所以在理论研究阶段,一般采用国际公认的标准心电数据库作为样本信号。目前标准的心电数据库主要有美国麻省理工学院提供的MIT-BIH数据库,美国心脏学会的AHA数据库以及欧洲心电数据库[1,2,3]。本文采用Qt设计语言,实现心电信号管理系统,读取MIT-BIH数据库中的心电信号,经过D/A转换,可直接输出到心电监护设备中,用于心电检测算法的验证。同时可在上PC机实现心电信号的实时回放、波形检索浏览以及截取保存重要数据片段。
1 心电数据格式
目前MIT-BIH数据库数据可免费获得,应用最为广泛。该数据库的数据是临床中采集的模拟信号转换后的数字信号。临床信号选取的样本很丰富,基本涵盖了各种心脏病人的信息。
以MIT-BIH Arrhythmia Database为例介绍数据格式。由48个记录组成,每个记录时间是30分钟,每个记录由三个文件组成:头文件(扩展名为.hea),数据文件(扩展名为.dat),注释文件(扩展名为.atr),
如图1所示:
头文件标示出与它相关联的数据文件的名字及其属性,以ASCII码方式存储;数据文件以二进制格式存储心电信号原始数据;注释文件记录了心电诊断专家对信号分析的结果。其中包括心跳节律、信号质量等,格式一般有MIT和AHA两种[4]。
2 基于Qt的关键技术实现
本文以C++为软件编程语言,采用Qt为基础类库,实现软件的设计。Qt是一种跨平台C++图形用户界面程序开发框架,也可用于开发非GUI程序,比如控制台工具和服务器。Qt具有良好的跨平台特性,支持所有的UNIX系统,和windows平台,在嵌入式移动设备中应用也比较广泛。Qt是一种面向对象的语言,具有良好的封装机制,具有丰富的API,如Qt提供的图形视图框架、模型视图框架、动画框架等。本文设计的心电管理系统具有很好的扩展性,不仅可以应用与PC机中用于心电算法仿真的信号管理、查询和输入等,还可以移植到linux系统应用与便携式心电监护仪,为心电监护设备提供信号源[5]。
2.1 Qt的MVC框架
MVC全称是Model View Controller,是模型(model)-视图(view)-控制器(controler)的简称,是一种将业务逻辑和数据显示分离的方法。针对Qt有类似MVC模型的model-view架构,其中model是MVC中的model,view是MVC中的view,而MVC中的controler在Qt中抽象出delegate来代替,delegate被用来提供对item渲染和编辑的控制。具体类关系如下:
在本文中绘制心电波形需要使用QGraphics View、QGraphics Scene和QGraphics Item等类来实现,提供一种类似于Qt model-view的编程。多个views可以监视同一个Scene,而场景包含多个具有多种几何外形的items。QGraphics Scene表示QGraphics View中的场景,为管理大量的2D图形item提供了一个管理界面,作为items的容器,它配合使用QGraphics View使用来观察items。具有如下的功能:为管理大量的items提供一个快速的接口;传播事件到每个item;
管理item的状态。通过调用add Item函数来将Items加入到场景中。可以使用众多的查找函数来获取特定的items。所有的item查找函数都以出栈序列返回。QGraphics View提供了视图部件,它可视化场景中的内容。可以连接多个视图到同一个场景,对这个相同的场景数据提供几个视口。视口部件是一个滚动区域,它提供了滚动条以对大场景进行浏览。如果 使用Open GL, 可以调用QGraphicsView::set Viewport()来把一个QGLWidget设为视口。视图从键盘,鼠标接收输入事件,在发送这些事件到场景之前,会对这些事件进行适当的翻译(把事件坐标转换成对应的场景坐标)。QGraphics Item是场景中图形items的基类。QGraphics View提供了一些标准的、用于典型形状的items。像矩形(QGraphics Rect Item),椭圆( QGraphics Ellipse Item),文本(QGraphics Text Item)等,本文绘制的心电波形图主要是自定义的曲线。
2.2 双缓冲技术绘制心电波形
双缓冲技术是GUI编程中常用的技术。所谓的双缓冲就是把需要绘制的控件保存到一个图像中,然后在把图像拷贝到需要绘制的控件上。从Qt4版本开始,所有的窗口部件默认都使用双缓冲进行绘图。使用双缓冲,QWidget能够自动处理闪烁[6,7]。
首先要想 把闪烁减 弱 , 需要set Background Mode(No Background);设置widget的背景模式为No Background.
本系统在心电波形实时回放模块中应用了Qt的双缓冲技术,实现了无闪烁的波形回放,可以实时查看波形的动画情况,如图3所示:
图3心率失常心电数据波形回放(参见下页)
2.3 多线程技术
作为基于C++的跨平台GUI系统,Qt提供了丰富的多线程编程支持。主要从三个方面对多线程编程提供支持:一、构造了一些基本的与平台无关的线程类;二、提交用户自定义事件的Thread-safe方式;三、多种线程间同步机制,如信号量,互斥锁。Qt中最重要的线程类是QThread,要开始一个新的线程,需要重新实现QThread::run(),如果两个线程同时希望访问同一个数据时,对数据进行保护是很必要的。QMutex类提供了一个互斥锁,一个线程锁定互斥量,并且在它锁定之后,其它线程就不能访问锁定的数据,必须等到解锁后再访问[8]。
本系统在作为信号源将心电波形输出到心电监护设备,或者输出到心电算法仿真系统中时,需要实时监测心电波形,由此需要两个线程分别来实现波形输出和波形监测功能,并通过线程间通信实现输出的波形和监测显示的波形同步。
3 心电管理系统的实现
心电数据管理系统主要为心电监护设备提供信号输入,将心电信号输出到心电监护设备中用于算法仿真实验,并同时对心电信号进行动画回放显示,系统可以截取保存一段数据用于针对性研究,可以对数据进行检索查看。系统主要包括软件平台设计和PC机与硬件的连接输出。根据各模块问相互独立、视图数据相互分离的设计思想,将软件划分为以下几个部分:数据服务层、连接传输层和人机交互层。如图4所示:
图4软件结构图(参见右栏)
数据服务层为整个系统提供了数据操作的基础支持,从心电数据文件中识读心电数据,并调整格式,为其他模块提供基础数据,包括心电数据与硬件IO及人机视图之间的交互等;连接传输层为外接的心电监护设备提供信号源输出,通过D/A转换将心电数据库中的数字信号转为临床应用的模拟信号,应用与心电算法的仿真研究;人机交互层实现静态的心电波形检索,对波形进行整体浏览,实现特殊波形的截取和保存,同时实现动态波形的回放,实时监测输出到心电监护设备中的波形状态。
系统人机界面包括文件、实时回放、波形检索、I/O输出、帮助等菜单。如图5所示:
文件菜单用于管理心电数据,具有打开、关闭、另存为、打印等子菜单,通过文件菜单可以选择心电数据文件,解析心电数据时遵循hea文件、dat文件、atr文件的顺序,因此对打开的文件做扩展名的筛选,选择对话框中只显示hea文件,避免只选择了dat或者atr文件造成数据解析错误。实时回放菜单具有:D/A回放、重新回放和回放暂停等子菜单。在心电信号输出到心电监护设备时,可以通过实时回放来监测信号,与心电监护设备中的算法仿真结果进行比对校核。波形检索菜单实现波形屏幕检索、数据保存和幅度改变。当打开一个心电信号后,即可通过检索菜单通过调用心电数据在屏幕中静态绘制心电波形,可通过滑动条拖动显示不同时间的数据。鼠标左键可取得数据的起点,右键取得数据的结束点,通过起始和结束时间点截取心电数据中的片段数据用于重点研究。I/O输出菜单实现向D/A转换板卡输出心电数据,经过转换后再输出到心电监护设备中,下设开始传送、暂停传送和终止传送等子菜单。
4 结论
本文基于Qt类库,实现跨平台的MIT-BIH心电数据管理系统,实现了标准数据库文件的读取、检索、数据断面的截取保存。同时经过D/A转换后,心电数据作为信号源输出到心电监护设备,用于计算机仿真和心电算法的验证,弥补了临床实验数据不足的缺陷,在医学研究中将有广阔的应用前景。
摘要:针对目前心电信号研究缺少临床试验数据的情况,本文提出了使用国际公认的可作为标准的心电数据库作为心电算法的输入,并为心电监护类系统和便携式心电监护仪等提供测试信号源。本文采用跨平台的C++应用程序开发框架Qt来实现系统,本系统不仅应用于PC机,还可应用于便携式心电监护仪,识读的心电信号经过D/A转换,模拟实际临床采集到的信号,提供给心电监护系统进行仿真实验。
高精度心电信号识别算法的研究 篇8
关键词:高精度心电信号,R波,RRI,相关系数
1 医学现状
心电图是反映心脏兴奋的电活动过程, 它对心脏基本功能及其病理研究方面具有重要的参考价值。心电图可以分析与鉴别各种心律失常, 也可以反映心肌受损的程度和发展过程以及心房、心室的功能结构情况。在指导心脏手术进行及指示必要的药物处理上有一定的参考价值。
然而, 有时正常的心电图不一定证明心功能正常, 例如, 心肌的损伤和功能的缺陷并不总显在心电图中, 所以心电图检查必须结合多种指标并掌握大量临床资料, 进行全面综合的分析, 才能对心脏的功能结构做出正确的判断。而心电图中的R波是RRI (R-Wave interval) 测定的关键技术[1]。
目前医学上在实际测量心电图中, 杂音的干扰比较明显, 所以难以测试出R波 (简称RRI) 的间隔时间, 而精确的R波识别是HRV (心率波动信号) 评价的制约因素, 目前还没有100%的R波识别的方法。所以R波的精确认识与HRV检测成为学术界关注的课题, 很多学者提出了行之有效的算法[2]来抑制噪声, 使得R波的检测率提高[2,3], 而本文提出的算法也在传统检测算法的精度基础上有所提高。
2 研究内容
通过查阅各类已有的算法资料, 我们对其进行了充分的分析和整合, 通过整理得出优缺点, 在进一步加以研究开发之后得到了更为准确有效的算法, 该算法测量出了精确的R波间隔时间, 弥补了HRV在心率波动信号上采集的不完整性和不精确性。在研究的过程中, 最核心的部分则是测量R波间期的算法, 下面我们详细介绍此试验研究出来的算法, 具体流程如下:
2.1 制作一台硬件设备, 采集人体的心电信号
我们通过2K Hz 采样频率的ECG采集人体的心电信号, 将人体的心电信号转化成数字信号传入仪器中, 最后将数字信号转化成模拟信号通过显示器体现出来, 这种采集心电图的硬件设备采样频率高, 采集得到的模拟信号很接近人体的心电信号。
2.2 在采集到心电图的基础上精确测量R波
由于外界环境的干扰, 得到的心电信号无法避免杂音的干扰, 而用平均模板的优越性正体现在这里, 它计算得到的相关系数V稳定, 从而使得到的RRI的变异性减小, 精确度提高;
注:红色的是平均模板, 蓝色是取到的所有的R波。
我们在研究计算的问题时, 是在核心算法“计算相关系数”的公式上进行了改进, 使它更能精确检测找到R波, 并确定R波位置。
最原始的计算相关系数的公式是:
undefined
它是由undefined演变而来的。原始的公式存在的弊端是, 对信号幅度差异敏感性差, 致使采集到的R波不精确。但是我们所使用的算法公式就可以避免这样的情况出现。
具体的做法是:在采集的信号中任意选取一个R波模板, 用最大的相关系数匹配方法找到R波, 然后将这些R波相加取平均, 建立得到一个平均模板, 然后再令其它的心电波形与这个平均模板进行匹配一次, 根据平均模板与其他心电波形之间的最大相关系数精确检测R波的位置 (Rp) , 并计算其相隔间期 (RRI) 。
计算相关系数的公式:
v:相关系数 x:模板信号 y:任意被检心电波形信号
计算相关系数的关键代码:
x=norm_of_a+norm_of_temp;
if v>0 v=4*v/ (x*x) ;
else v=0; end
norm_of_a:模板信号的标准差; norm_of_temp:心电信号的标准差; v:相关系数;
求相关系数的方法是让模板信号和心电信号在扫描区间内逐点相对移位计算彼此的相关系数。根据求得的相关系数, 设置一个阈值, 在阈值范围内找最大的相关系数值, 它对应的横坐标即R波的起点 (Rp) 。由于测量所得R波的长度相同, 因此每个相邻的R波的起点 (Rp) 之差即RRI。
结果如图所示:
注:红色数据的是一般的相关系数匹配方法得出的RRI, 而蓝色的数据是改进后得出的RRI。
从图中可以看出, 与一般相关系数匹配方法比较, 该方法具有定位精度高、稳健性强等优点。
3 实施过程
在研究算法开始时我们做了具体的项目的实施方案, 并严格按照以下方案执行完成:
前期准备:心电图硬件设计已经完成, 可以在2K Hz 采样率下获得稳定的数字ECG。为弥补心电图在R波采集不精确这方面的不足, 团队已经完成心电图精确采集R波的设备, 能进行初步的心电图采集。现阶段采样的数据在实际的测定环境下可见明显杂音的干扰, 而我们的设备却仍然能分辨出精确的R波。
组织实施:前期:分配一组组员了解信号的积分变化、小波变化等识。另一组对现有的仪器进行测试以及改进。
中期:两组成员进行知识的对接, 将信号的积分变化、小波变化结合到计算机里去。达到去除R波内杂音的效果。
后期:对现有算法进行复杂度的降低化, 寻找精简的算法。达到实时采集心电信号。这需要精炼的算法达到效果。
技术过程管理:熟悉积分变换、小波变换, 解决杂音干扰的问题。在杂音问题解决的基础上实行对算法的精炼化, 从而达到实时进行心电信号的采集。
4 项目使用软件
此项目是借用MATLAB软件完成, 而我们知道, MATLAB是三大数学软件之一[4,5]。它在数学类科技应用软件中在数值计算精度方面首屈一指。它可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等, 主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测等领域。因此我们在计算R波间期时运用MATLAB软件可以保证其精确度。
5 结语
算法研究虽然已经完成, 但是还存在着一定的不足之处, 在实际使用过程中还没有完全达到要求。
在计算平均模板时, R波的起点位置是人工确定的, 还不能实现计算机自动识别R波的起点, 仍有待研究。而且每次所取的R波长度固定不变, 虽然对R波的精确测量不会产生大的影响, 但是人体的每次跳动的心电信号总存在微小的差异, 因此如何让计算机识别最合适的R波长度将是一个研究的难点以及重点。
科技不断进步的现代社会, 网络环境也有着不断的变化, 为了能更好的完善此项目, 我们组成员在现有技术的基础上还不断的进行着更新和创新研究, 继续进行着项目的修改和优化;在功能上, 由于使用过程中的需求不断的变化, 我们还要不断的进行各种不同功能的增加和提升, 在项目需求和功能双方面进行进一步的研究和完善, 进一步将课题更好的完善。
参考文献
[1]唐晓初.小波分析及其应用[M].重庆大学出版社, 2005:78-79.
[2]陈文利.基于小波变换的心电信号检测与分析算法研究[J].四川大学, 2008:12.
[3]李向军.基于多尺度时频分析的心电R波检测以及心率变异性 (HRV) 分析方法研究[J].浙江大学, 2005:78.
[4]余永纪, 张亚君, 洪明.基于Matlab心电信号实时处理的研究[J].杭州电子科技大学, 2009:89.