心率变异性HRV信号提取及时频域分析包含程序_第1页
心率变异性HRV信号提取及时频域分析包含程序_第2页
心率变异性HRV信号提取及时频域分析包含程序_第3页
心率变异性HRV信号提取及时频域分析包含程序_第4页
心率变异性HRV信号提取及时频域分析包含程序_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 课程设计报告 心率变异性(HRV)信号的提取及时频域分析题 目: 生物医学工程专 业: XXXXXXX 级:班 号: XXXXXXX 学姓 名: XXXXXXX 指导教师: XXXXXXX XXXXXX大学 XXXXX学院 2016年 9月 29日 一、 开题背景 (一)HRV简介 传统的医学观点认为,正常的心率为规则的窦性节律;后来发现在健康状态下,许多生理系统中存在自然的变异性,人的心率正常情况下也是呈不规则性变化的,而心率变异就是指窦性心率的这种波动变化的程度。心率变异性(Heart Rate Variability,HRV)是指逐次心搏间期之间的微小变异特性。在生理条件下,HRV的产

2、生主要是由于心脏窦房结自律活动通过交感和迷走神经,神经中枢,压力反射和呼吸活动等因素的调节作用,使得心脏每搏间期一般存在几十毫秒的差异。 (二)HRV的研究现状 心率变异性(HRV)是近年来比较受关注的无创性心电监测指标之一,对HRV的生理和病理意义进行了广泛和深入的研究,其结果表明心率变异信号中蕴含着有关心血管调节的重要信息,对HRV进行分析可以间接地定量评价心肌交感、迷走神经的紧张性和均衡性,而且还能分析自主神经系统的活动情况。心率变异性还可以作为一个独立的心源性猝死危险性的预测指标。同时心率变异性分析对多种恶性心律失常的预后判断和药物治疗效果分析有指导作用。所以,对HRV的研究能够极大的

3、促进人类对于心血管疾病的了解,从而在预防、治疗心血管疾病等领域取得成果。 (三)HRV的研究方法 随着对HRV研究的不断深入,其蕴含的生理病理信息将进一步被揭示,使得HRV有更多的应用空间和应用价值。目前,心率变异性分析方法主要有时域分析法、频域分1。析法、时频分析法以及非线性分析法 (四)HRV的临床应用 (1)心脏性猝死(SCD)预测:由于HRV是反映自主神经张力的最敏感的指标,因此HRV降低是预测心脏性猝死最有价值的独立指标。 (2)急性心肌梗塞后患者危险性评估: HRV的降低是预测急性心肌梗塞后患者发生心脏性猝死和恶性心律失常危险的重要独立指标。一般建议在梗塞后一周开始进行HRV的检测

4、。HRV在梗塞后立即降低,并在几周内开始恢复(2周后逐渐回升),大约6-12个月恢复正常。因此,多次测定HRV可能比单次测定价值更大。梗塞后HRV恢复的快慢对以后死亡的危险性也有预测价值。 (3)对糖尿病患者自主神经系统损伤的评估:糖尿病患者不论病情轻重,均存在不同程度的自主神经功能紊乱。HRV是判断糖尿病患者是否伴有自主神经系统损害最准确,最敏感的指标。 )患者危险性评估。CHF)心力衰竭(4( (5)心率变异性生物反馈疗法:对于不孕人群受孕几率提高、怀孕人群孕期焦虑症改善、产后人群产后抑郁症情况缓解,起到很好的作用。 (6)其它临床应用范围:心绞痛、高血压、心肌病、非缺心脏病所致的慢性严重

5、二尖瓣返流、二尖瓣脱垂、心律失常、血管迷走性晕厥等心血管疾病。 二、 课题目的 (一) 基本掌握心电信号(ECG)的测量、数据采集的方法。 (二) 学会使用MATLAB对ECG信号进行相关处理分析。主要包括从ECG信号中提取出 所需的HRV信号,并分别对其进行时域、频域、功率谱上的分析。 (三) 掌握HRV信号的时频域参数的意义,以及对其进行分析的基本方法。 三、 课题研究的主要内容 (一)从网上下载正常人的心电信号以及各种病人的心电信号(ECG)数据。 (二)首先HRV信号的提取,主要包括去除干扰、准确确定R波波峰位置、剔除异搏、确定R-R间期、线性内插,并且绘出HRV信号曲线。 信号的频谱

6、图和功率谱图分析。信号的时域分析,对HRV(三)对HRV四、 原理和方法 (一) ECG信号的采集 本文主要使用100.hea、100dat、100.atr, 101.hea、101.dat、101.atr, 102.hea、 进行研究。HRV、102.dat102.atr这三组数据来对实验数据来源于PhysioNet。PhysioNet是一个基于Web的复杂生理和生物医学信号的研究资源网站,其网址为http: /www.physionet. org。 PhysioNet由PhysioNet, PhysioBank和PhysioToolkit三个相互关联的部分组成。数据库中数据来源于正常人、各

7、种病人(如心脏猝死、心力衰竭、心律失常、癫痫、睡眠呼吸暂停综合症等)及运动、休息等不同状态下的数据,样本选取范围广泛,其中大部分数据都进行详细的注释,并将数据被划分为3类,即Class l:专家已经作出了标注;Class 2:原始数据;Class3:处于研究进展之中。因此,PhysioBank数据库中的数据足已满足生物医学各领域研究者的需要。PhysioBank数据库中的每一条数据记录包括至少三类文件,头文件(.hea)、数据文件(.dat)和注释文件(.atr,.al,.aiM等)。头文件是描述数据属性的文本文件,其内容包括记录名、信号数目、贮存格式、信号数量和类型、采样频率、数字化特征、记

8、录的持续时间和起始时间等信息。一般可由PhysioToolkit软件库的WFDB库函数的getinfo、putinfo函数读和写的字符。数据文件是定义了相应存贮格式的数字化采样点的二进制存储文件。数据存贮格式在头文件中说明,一个数据组有相同的数据存2。 位和16位格式。注释文件是记录了对信号特征的注释信息8贮格式,常用的是 信号的特征CGE (二) (1) 典型心电信号波形 心脏搏动及其节律性是人体生命和生理状态的重要标志之一。心电生理学的研究表明,心电信号来源于心肌细胞的生物电变化。心肌细胞的电激动称为除极,心肌细胞恢复为静息状态称为复极,心电信号的产生与心肌细胞的除极和复极过程密切相关。心

9、脏电激动起源于窦房结,沿特化的心脏传导系统下传,其传播方向、途径、次序及时间存在一定的规律。若心脏不能及时发出电激动,则心脏陷于停博。人体体液中充满电解质,具有导电性能,心脏电激动过程产生的有序生物电变化通过体液传至身体表面使身体各部位出现有规律而各向异性的电位变化,通过测量电极采集体表特定点电位变化,并放3。 大、显示及记录,即为体表心电信号,也即是通常的 ECG 信号一个心动周期正常心电信号波形如图 4.1 所示。它是由特征波及其特征间期组成, 每个心动周期包含一个 P 波,一个 QRS 波群和一个 T 波,有时还会出现一个小的 U 波。特征波及特征间期的含义如下: 典型的心电信号波形图

10、4.1 ,波幅不波:由左右心房的除极过程引起,其波形小而圆钝,时宽为 0.08s-0.11sP 0.25mV超过。 P 波之后出现,为心电信号中最高QRS 波:反映左右心室除极产生的电位变化,在 波,紧波群包括三个相连的波,第一个向下的波为 Q 大和最快速的波形。典型的 QRS (使用不同在体表不同位置最后是一个向下的 S 波。接着为高而尖峭的向上的 R 波, 导联记录)时,三个波不一定都有,大小方向也会不同。 ,波波方向相同,时宽为 0.05s-0.25sT 波:代表心室复极时的电位变化,方向与 R 0.lmV-0.8mV。幅一般为 波方向一致,其机理不十分清楚,T 波:波之后可能出现的一个

11、低而宽的波,与 T U 可能反映普顷野纤维复极的电位变化。 间波结束之间的时程,反映心室除极时间。正常 Q 波开始至 S QRS 间期:从QRS ,反映室内传导阻滞。0.12s间期 QRS ,若 0.04s-0.1s期为 PR 间期:从 P 波开始到 QRS 波开始之间的时程,反映激动由窦房结产生经由结间 束、房室交界和左右束支抵达心室,并引起心室兴奋所需要的时间,又称为房室传导时 间。正常为 0.12s-0.2s。当发生房室传导阻滞时,PR 间期增长。如当 PR 间期0.21s。则为度房室传导阻滞。 QT 间期:从 QRS 波开始到 T 波终点的时程,反映心室除极和复极时间的总和。许多因素可

12、影响 QT 间期,如心肌缺血、低血钾、低血钙等可使 QT 间期延长,QT 间期延长使心室肌复极不均一,易诱发折返激动,导致严重室性心率失常。QT 间期随受心率变化的影响,心率越慢,QT 间期越长;心率越快,QT 间期越短。通常用 QTc间期修正心率对 QT 间期影响,正常 QTc间期小于 0.430.44s。 ST 段:指从 QRS 波群终止点到 T 波起点之间的波形线段,反映心室部分己完全进 入去极化状态,正常时与基线平齐。 PP 间期:相邻 P 波之间的间距称为 PP 间期,反映心房率。正常情况下,PP 间期 与 RR 间期一致。在度或度以上房室传导阻滞和某些心率失常,两者可不一致。 RR

13、 间期:相邻 QRS 波群之间的间距称为 RR 间期,反映心室率。正常情况下,RR 2。间期一致 间期与 PP 在心电信号的测试中,对电极的放置部位和导联的连接方式临床有明确的规定。目 前,国际公认的是标准 12 导联,包括心电标准导联(I、II、III)、加压单极肢体导联(aVR、aVL、aVF)及胸导联(VlV6),共有 12 个导联,具体可参考文献4。 (三)典型心电信号的能量(频谱图)分布 2所示,可以明显看出心电典型的心电信号的整个心动周期的频谱估计图如图4.2信号各波的能量主要集中在低频区域,且随着频率的增高,相应的能量逐渐降低。心电信号的整体频谱范围在0.05Hz100Hz,但能

14、量主要集中在0.545Hz,能量的最高点在815Hz附近;QRS 波群的频谱带宽为340 Hz,积聚了将近99%的能量,波峰能量集中在618Hz附近, P波的频谱带宽为018Hz,波峰能量集中在512Hz;T波的频5 。区间8Hz0,波峰能量集中在8Hz0谱带宽为 典型的心电信号频谱能量分布图 4.2 信号的噪声分析四)ECG( 在采集、放大及传输心电信号的过程中,由于受人体、采集仪器、电磁环境、操作 水平等的影响,不可避免会有许多干扰耦合到心电信号,主要干扰表现形式如下: )电源工频干扰(1产生的原因主要由于电源磁场作用于心电图仪的导联与人体之间的环形电路所致,工频及其谐波表现为心电信号上有

15、明显的正弦波或正弦波的叠加信号,其频率为60Hz 构成,幅度较低。 2)基线漂移(产生的原因主要由于人体呼吸运动、电极接触不良等因素所导致。表现为心电信号 。-峰的15%ECG上叠加缓慢变化的信号,其频率一般小于1Hz,幅度为峰 )肌电干扰(3产生的原因主要由于人体活动,肌肉紧张所引起的干扰。表现为不规则的快速变化 之间,幅度为毫伏级。2kHz波形,其频率范围较宽,一般在5 4)运动伪迹(表现为信号基线产生的原因主要由于电极与人体间轻微移动或抖动而引入的干扰,以下,7Hz500ms,频率一般在的短暂变化,但不是基线的跃变,其持续时间为100 幅度较大。 5)其他随机噪声(如加性白噪声、极化噪声

16、、仪,心电信号还受到其他的随机噪声和环境干扰的影响 器内部噪声等。及其60Hz由此可见,噪声信号基本覆盖了有用的心电信号的全频率范围。而其中以下的基线漂移以及肌电干扰噪声是最主要的干扰源,在心1Hz倍频附近的工频干扰、 2。 ,以提高心电信号的信噪比电信号预处理中必须消除或抑制(五)ECG信号去噪声方法 对于心电信号预处理一般要从硬件电路优化设计和软件数字滤波器的设计两个方面考虑。根据心电信号的频谱分布特点,在硬件方面来看,消除基线漂移的干扰应考虑分别设计下限频率为0.5Hz的高通滤波器;消除肌电等高频干扰应考虑设计上限频率为100Hz的低通滤波器,同时还应考虑设计60Hz的陷波器来滤除工频干

17、扰。由于硬件滤波器的元器件精度、稳定性要求以及难以实现严格线性相位等问题,使得仅采用硬件滤波不能满足滤波性能的要求。随着数字信号处理技术的发展,设计高精度、高可靠性、简洁灵活的数字滤波器成为可能。目前,滤除心电信号干扰更多采用的是具有线性相位的数字滤波方法,并已逐渐显示出取代硬件滤波器的趋势。 (1)工频干扰 对于工频干扰,主要的消除方法有平均滤波器、梳状滤波器、Levkov 滤波器、自适应工频陷波器等方法。平均滤波器法是较早被应用的数字滤波方法,其特点是算法简单,处理速度快,滤波效果较好。由于平均滤波算法的实时性好,被广泛应用于实时心电监护设备中或基于单片机心电数据采集系统中。从实际滤波效果

18、看,滤波器能较好地滤除了60Hz 工频,但对 ECG 中的 QRS 波有较大削峰,信号衰减较大。因此,在实际应用中受到一定的限制。梳状滤波器的名称源于该滤波器的传递函数的幅频特性形如梳状。其特点是运算量小、形式灵活简单,是一种快速的数字滤波器。梳状滤波器被广泛应用去除工频及其高次谐波的干扰。选择合适的梳状滤波参数,可保证滤波器对有用信6。改进的梳状滤波器可用于消除 ECG 号基本无衰减和滤波后基本不产生相移的工频干扰且能有效地防止信号的失真。Levkov 滤波器是 Levkov 在 1984 年提出一种对 ECG 信号的线性段和非线性段采用不同处理方式的数字滤波方法。其基本原理是从原始 7。改

19、进的 Levkov ECG 信号中直接减去在该线性段中确定的干扰信号的幅值滤波方法中引入了判定线性段和非线性段的指标 M。算法的滤波效果与选择合适的 M 值有关。改进 Levkov 滤波法算法简单,参数可调,运算量小,可实现实时心电信号滤波处理,8。自适应波群的削峰现象,滤波效果不能令人满意但在噪声较强时,将会造成 QRS 工频陷波技术特点是只需要很少或根本不需要任何有关信号和噪声的先验知识的情况下,直接利用观测数据不断递归更新自身的参数,以逐步逼近某一最优值,能自动跟踪9。自适应的数字陷波器的权值调节主要有最小均信号频率漂移,具有非常好的适应性10。一般来说,RLS 自适应算法与(RLS)算

20、法 LMS 自适LMS方误差()、最小递推二乘法应算法相比,权值有更快的收敛速度。缺点是每次迭代计算量较大,由于在生物医学应用中数据的计算量不是太大, RLS 自适应算法可获得更好性能。 (2)基线漂移的消除 基线漂移可严重影响心电信号的分析与处理。滤波法和拟合基漂法是去除心电基线小波变换、滤波、FIR线性相位中值滤波、具体而言有形态滤波、漂移的两类主要算法。 形态和小波相结合、中值滤波和小波相结合等去除基漂的滤波方法,以及导数法与坐标法这两类基漂拟合方法。研究表明滤波法实现简单,但精度较低,分段拟合法去除基漂的效果更好,有自适应的特性而且失真较小。无论是实时性还是准确性,基漂拟合法都比11。

21、 ,此时只能使用滤波法,滤波法更有优势但某些场合下基漂拟合点的提取十分困难对于基线拟合法,通常多采用简洁、快速的分段拟合法。其基本原理是通过对采样的心电数据分段进行三次多项式或抛物线拟合,获取基线漂移曲线,然后用原始心电曲线减去拟合曲线来消除基线漂移。算法的关键是插值点选择,插值点应该是心电信号的零电位点,通常采用 TP 段。对于FIR 滤波器只有零点,不易获得较好的通带与阻带衰减特性。要取得好的衰减特性,一般要求 H(z)的阶次要高。对于小波变换,由于其提供了一个在时频平面上可调的分析窗口。信号的时、频分辨率可以随分析任务的需要作出相应调整。在低频时小波变换的时间分辨率较差,而频率分辨率较高

22、;在高频时小波变换的时间分辨率较高,而频率分辨率较低,自动满足了信号分析。信号x(t)在不同尺度分解的逼近信号和细节信号具有不同频带,而在不同的尺度上一定包含有x(t)的不同频率信息。所以若对包含有不同频率信息的细节信号进行阈值的取舍,丢弃其中的干扰成分后,再对信号进行重构,则重构信号的干扰得到了非常好的抑制,即为小波2。通过对集中方法的实验效果来选择合适的消除基线漂移的方变换消噪的基本原理法。 (六)R波峰位置、剔除异搏、确定RR间期 (1)波峰位置 找出波峰位置的基本想法是寻找一个采样点,其电压值既大于前一个采样点的值也大于后一个采样点的值。之后再将P波与T波中的伪峰值去除,剩下的就是QR

23、S波的峰值,即R波峰。可以通过先屏蔽掉小于某一电压的所有采样点,这样就将P波和T波中的伪峰值提前去除,之后再寻找峰值。以此保证得到的峰值处于QRS波中,该峰值即为R波峰值。 (2) 剔除异搏 对得到R波的位置,检查其中的异常点,去掉异搏。 (3) 确定RR间期 用后一个峰值的采样时间减去前一个峰值的采样时间就可以得到RR间期的值。将信号以RR值为纵坐标,R-Ri值为横坐标,得到HRV的图像。 (七)HRV信号的时域分析 通常使用的HRV时域检测指标有5项:NNVGR、SDNN、RMSSD、SDSD和pNN50。 上述5个指标的定义分别为: N1?RRNNVGR 。即msNNNNVGR:全部正常

24、窦性心博间期()的平均值,单位为。? N1?i N1 。即。SDNN:标准差,即全部NN间期的标准差,单位为ms?2RRRRSDNN)?(iNi1?N1?1。:全程相邻NN间期之差的均方根值,单位为ms 。即RNSSD ?RRRNSSDRR)?(ii1?N1?1?iN?11 :全程相邻NN间期长度之差的标准差,单位为ms。即SDSD?2RRSDSDRR)?(iN?1i?1?2 RRRRRR? 其中,。RRRRRR?iii1?i1?pNN50:在全部NN间期的记录中,相邻的NN间期之差大于50ms的个数与总的NN间期 的个数的比,以百分比表示。 其中NNVGR用于评估心率总体变化水平,;SDNN

25、用于评估心率总体变化的大小,即交感及迷走神经张力大小,;SDANN用于评估心率变化中的长期慢变化成分,即交感神经张力大小。RMSSD及pNN50反映心率快变化成分的大小,即副交感神经张力的敏感指标。 (八) HRV信号的频域分析: HRV时域分析的指标大多用于描述HRV整体的大小,不能仔细地分析交感神经和迷走神经各自的活动的情况。而HRV频谱分析则可以弥补这个缺点另一角度,即频谱分。析的角度来分析心率变化的规律。它与时域分析既有相关性,又能揭示出心率的更复杂的变化规律。FFT是经典谱估计方法,算法简单。输入和输出信号能量有线性关系,但对信号要作周期延拓假定,短数据谱分辨率较低,并有能量泄露现象

26、。 最近更仔细的研究发现,正常人基础状态下心率谱曲线在0-0.4Hz之间, 0.003-0.04Hz为极低频段(VLF),0.04-0.15Hz为低频段(LF),0.15-0.4Hz高频段(HF),0-0.40Hz为总功率谱(TP)。研究表明,VLF反映心率变化受热调节(体温),血管舒缩张力和肾血管紧张素系统的影响;LF反映交感和迷走神经的双重调节;HF只反映迷走神经的调节;TP反映HRV大小,LF/HF比值反映自主神经系统的平衡状态,基本上代表经张交感神力的高低。 五、 步骤(包括计算程序流程框图) 总程序流程图。详细程序间附件1。 (一) 去除工频干扰和基线确定波峰位置确定 进行时域计算分

27、析信号HRVNNVGR SDNN RMSSD SDSD pNN50 求出进行功率谱分析 获取心电信号 漂移 剔除异搏 间R-R信HRV 进行线性内插 进行频域计算分 频谱图TP 结HF LF LF/H 获取心电信号 (二)将下载得到三组心电信号:100、101、102,通过Klaus Rheinberger编写的读取心电的MATLAB程序ecg.load.m,加载原始心电信号,从而准确提取相应的心电信号。 去除工频噪声干扰 (三)对信号进行频域分析,发现信号主要集中在低频端,并且在60Hz处有微弱信号,通过判断可得出该频率信号为工频噪声。本文使用FIR滤波器将噪声滤去。 去基线漂移 (四)对比

28、两大类型发现:滤波法实现简单,但精度较低;分段拟合法去除基漂的效果更好,有自适应的特性而且失真较小。无论是实时性还是准确性,基漂拟合法都比滤波法更有优势;但某些场合下,基漂拟合点的提取十分困难,此时只能使用滤波法。通过进行初步实验中比较各种方法的实际效果,发现使用中值滤波法的效果最好,故本文主要采用 其进行去基线漂移处理。 (五) 找出波峰、剔除异搏、确定RR间期 (六) 对HRV信号进行时域分析 对前面得到的HRV信号进行时域分析,其中的技术指标有NNVGR、SDNN、RNSSD、SDSD、pNN50等。 (七) 线性内插 对提取出来的HRV信号经线性内插获得等间隔(R-R间期均值)R-R间

29、期时间序列,dRRdRR。式中然后再进行频谱分析。线性内插的公式为X(n)为11i2?i?X(n?) d?dd?d2211d分别为X(和n)所在位分别为插值前、后的插值,和R-R间期序列值,dRRRR211?ii置与和所在位置的时间间距。 RRRR1ii?(八)根据快速傅里叶变换(FFT)得到HRV信号的频谱信号和功率谱信号。主要有TP、HF、LF、LF/HF、频谱图、功率谱图等。 六、 结果 通过MATLAB程序分别得到100、101和102三组ECG信号数据,然后对其进行相关分析,具体结果以及图像如下所述。 (一)ECG信号的提取 通过MATLAB程序分别得到100、101和102三组EC

30、G信号数据。其时序图像具体如图6.1所示。 图 6.1 三组原始心电信号 号数据的对应图像102号、101号、100由上至下分别为来自 图示 (二)原始心电频谱图 对三组信号通过皮谱图进行频域分析。从图6.2中可以看出,信号主要集中在20Hz以下的低频端,并且在60Hz附近有一个明显的幅度值上升,可以判断其为工频干扰。 图 6.2 三组心电信号的频谱图 号数据的对应图像102101图示 由上至下分别为来自100号、号、 去除工频干扰(三) 所示使用FIR滤波器法将工频噪声去除。去除工频干扰之后频谱图如图6.3 三组心电信号去除工频干扰后的频谱图图 6.3 由上至下分别为来自图示 100号、10

31、1号、102号数据的对应图像 (四) 去除基线漂移 从图6.1中可以看出这些心电信号均有明显的基线漂移。使用中值滤波法去除基线漂移。消除基线漂移后的ECG信号时序图如图6.4所示。 消除基线后三组心电信号的频谱图图 6.4 号数据的对应图像102号、图示 由上至下分别为来自100101号、 确定波峰 (五) 所示。其中红色点表示波峰。确定波峰结果如图6.5 波峰确定三组心电信号的R 6.5图 号数据的对应图像102号、101号、100由上至下分别为来自 图示 (六) 确定R-R间期 R-R间期与R-Ri的关系,亦即HRV的图像如图6.6所示。 图像图 6.6 三组心电信号的HRV 号数据的对应

32、图像102101号、由上至下分别为来自图示 100号、 (七)时域分析6.1pNN50计算结果如表RMSSD、SDSD、NN50和、的时域分析指标HRVNNVGR、SDNN 所示。 三组数据的时域指标值表6.1 NNVGR(ms) SDNN(ms) RMSSD(ms) SDSD(ms) NN50 pNN50 数据组 100. 811.4 34.2 47.5 39.9 7 6.93% 101. 859.3 48.8 28.6 17.5 8 8.42% 102. 818.4 143.7 199.2 187.5 11 11.34% (八)频域分析 信号的频谱信号和功率谱信号。根据快速傅里叶变换(FF

33、T)得到HRV 信号的频谱图如图频谱图。三组心电数据对应的)(1 HRV6.7所示。 消除基线后三组心电信号的频谱图图 6.7 号数据的对应图像102101号、由上至下分别为来自图示 100号、 ) 功率谱图(2 信号的功率谱图 6.8 HRV图 号数据的对应图像图示 由上至下分别为来自100号、102号、101 所示。6.1,结果如下表LF/HF、LF、HF、TP根据频谱计算 )3( 表6.1 三组数据的时域指标值 LF/HF ms) TP(msms) HF(msms) LF(ms数据组 100.dat 19000 1400 571 0.4150 101.dat 20600 871 1100

34、 1.2063 102.dat 28300 6400 3700 0.5812 七、 结论 本文通过使用MATLAB软件,实现了心电信号的读取、采样及频谱分析,并且分离出心率变异性HRV信号,通过时域分析和频域分析的方法进行分析,对比资料发现:第101号数据组应该来自正常人,第100号数据组应该来自具有轻微患心血管疾病的患者,第102号数据组则最可能来自患有较为严重的心血管疾病的患者 八、 讨论 心率变异信号中蕴含着有关心血管调节的重要信息,对HRV进行分析可以间接地定量评价心肌交感、迷走神经的紧张性和均衡性,而且还能分析自主神经系统的活动情况。同时心率变异性分析对多种恶性心律失常的预后判断和药

35、物治疗效果分析有指导作用。所以,对HRV的研究能够极大的促进人类对于心血管疾病的了解,从而在预防、治疗心血管疾病等领域取得成果。 本文从获取的心电信号中,提取出有效的心电信号,进而提取出我们所研究的HRV信号,然后对其进行相关分析。在获取心电信号的过程中,直接使用了来自美国PhysioNet的心电信号资源,在提取出有效心电信号的过程中,首先进行的是对原始心电信号,即三组每组三个相关文件进行相关处理,得出心电信号;其次是观察得到的初步心电信号进行时序图的观察,再进行去工频干扰和去基线漂移;再其次,对前面得到的信号确定波峰位置,并且剔除异搏,确定出R-R间期;最后,得到我们所需要的HRV信号。对于

36、HRV信号的分析主要分为时域和频域两大部分,时域分析中,本文主要对HRV信号的五个时域指标NNVGR、SDNN、RMSSD、SDSD、pNN50进行了计算;对于频域部分,对HRV信号的频域四大指标TP、HF、LF、LF/HF进行了计算,然后作出了HRV信号的频谱图和功率谱图。在研究中使用多种方法进行对信号的处理,经过对比各种方法得到的数据对比,本文选取了效果相对而言比较好,算法相对而言比较简单的一些方法,比如心电数据的去工频干扰中使用的是60Hz陷波器滤波法,在心电信号的去基线漂移中使用的是中值滤波法,之后为了保证能对HRV信号进行正确的频域分析,对HRV信号进行了线性内插。以上种种方法都是为

37、了使数据具有更高的准确性,基本确保研究没有在研究对象的处理上的重大失误。 在前人的基础之上,由于水平、能力有限,本文对心电信号的HRV进行了粗浅的研究。在心电数据的处理上和认识上都还有很多的东西都需要学习,希望以后能对此做进 一步的研究。 参考文献 1 钟运健. 心率变异性(HRV)在运动性疲劳诊断中应用的实验研究:硕士论文.江西南昌:江西师范大学体育学院,2004年. 2 董红生.心电波形检测与心率异变性分析研究:博士论文.兰州理工大学,2012年 3吴学勤.动态心电图技术与应用.合肥:中国科学技术出版社,1998,22-25. 4胡大一,郭成军,李瑞杰.心率变异性一测量标准,生理释义与临床

38、应用续一:心率 变异性的生理研究.中国医疗器械信息,1998, 4(1):29-32. 5 曹细武,邓亲恺.心电图各波的频率分析.中国医学物理学杂志,2001,18(1):46-48. 6 万相奎.心电信号分析与虚拟式心电自动分析仪的开发:重庆大学博士学位论文.重庆:重庆大学机械电子工程,2005,16-17. 7 Levkov C,Michov G, Ivanov Ret al. Subtraction of 50Hz interference from the electrocardiogram.Med. clear all; %- SPECIFY DATA - PATH= C:Users

39、asus你Desktop心率变异性(HRV)信号的提取及时频域分析ecg; % path, where data are saved HEADERFILE= 100.hea; % header-file in text format ATRFILE= 100.atr; % attributes-file in binary format DATAFILE=100.dat; % data-file SAMPLES2READ=30000; % number of samples to be read % in case of more than one signal: % 2*SAMPLES2RE

40、AD samples are read %- LOAD HEADER DATA - fprintf(1,n$ WORKING ON %s .n, HEADERFILE); signalh= fullfile(PATH, HEADERFILE); fid1=fopen(signalh,r); z= fgetl(fid1); A= sscanf(z, %*s %d %d %d,1,3); nosig= A(1); % number of signals sfreq=A(2); % sample rate of data clear A; for k=1:nosig z= fgetl(fid1);

41、A= sscanf(z, %*s %d %d %d %d %d,1,5); dformat(k)= A(1); % format; here only 212 is allowed gain(k)= A(2); % number of integers per mV bitres(k)= A(3); % bitresolution zerovalue(k)= A(4); % integer value of ECG zero point firstvalue(k)= A(5); % first integer value of signal (to test for errors) end;

42、fclose(fid1); clear A; %- LOAD BINARY DATA - if dformat= 212,212, error(this script does not apply binary formats different to 212.); end; signald= fullfile(PATH, DATAFILE); % data in format 212 fid2=fopen(signald,r); A= fread(fid2, 3, SAMPLES2READ, uint8); % matrix with 3 rows, each 8 bits long, =

43、2*12bit fclose(fid2); M2H= bitshift(A(:,2), -4); M1H= bitand(A(:,2), 15); PRL=bitshift(bitand(A(:,2),8),9); % sign-bit PRR=bitshift(bitand(A(:,2),128),5); % sign-bit M( : , 1)= bitshift(M1H,8)+ A(:,1)-PRL; M( : , 2)= bitshift(M2H,8)+ A(:,3)-PRR; if M(1,:) = firstvalue, error(inconsistency in the fir

44、st bit values); end; switch nosig case 2 M( : , 1)= (M( : , 1)- zerovalue(1)/gain(1); M( : , 2)= (M( : , 2)- zerovalue(2)/gain(2); TIME=(0:(SAMPLES2READ-1)/sfreq; case 1 M( : , 1)= (M( : , 1)- zerovalue(1); M( : , 2)= (M( : , 2)- zerovalue(1); M=M; M(1)=; sM=size(M); sM=sM(2)+1; M(sM)=0; M=M; M=M/ga

45、in(1); TIME=(0:2*(SAMPLES2READ)-1)/sfreq; otherwise % this case did not appear up to now! % here M has to be sorted! disp(Sorting algorithm for more than 2 signals not programmed yet!); end; clear A M1H M2H PRR PRL; fprintf(1,n$ LOADING DATA FINISHED n); %- LOAD ATTRIBUTES DATA - atrd= fullfile(PATH

46、, ATRFILE); % attribute file with annotation data fid3=fopen(atrd,r); A= fread(fid3, 2, inf, uint8); fclose(fid3); ATRTIME=; ANNOT=; sa=size(A); saa=sa(1); i=1; while i=saa annoth=bitshift(A(i,2),-2); if annoth=59 ANNOT=ANNOT;bitshift(A(i+3,2),-2); ATRTIME=ATRTIME;A(i+2,1)+bitshift(A(i+2,2),8)+. bit

47、shift(A(i+1,1),16)+bitshift(A(i+1,2),24); i=i+3; elseif annoth=60 % nothing to do! elseif annoth=61 % nothing to do! elseif annoth=62 % nothing to do! elseif annoth=63 hilfe=bitshift(bitand(A(i,2),3),8)+A(i,1); hilfe=hilfe+mod(hilfe,2); i=i+hilfe/2; else ATRTIME=ATRTIME;bitshift(bitand(A(i,2),3),8)+

48、A(i,1); ANNOT=ANNOT;bitshift(A(i,2),-2); end; i=i+1; end; ANNOT(length(ANNOT)=; % last line = EOF (=0) ATRTIME(length(ATRTIME)=; % last line = EOF clear A; ATRTIME= (cumsum(ATRTIME)/sfreq; ind= find(ATRTIME DISPLAYING DATA FINISHED n); % - fprintf(1,n$ ALL FINISHED n); %- ecg频域分析 - fs=length(TIME)/T

49、IME(end); f1,y1=fft_simple(DATA1,fs,0,180); figure(2); plot(f1,y1,r,LineWidth,2); xlabel(Frequency / Hz); ylabel(Amplitude); title(ecg频谱图); %- 去除工频噪声 - f_p=40 80; f_s=59 61; R_p=3; R_s=20; Ws=f_s/(fs/2); Wp=f_p/(fs/2); n,Wn=buttord(Wp,Ws,R_p,R_s); b,a=butter(n,Wn,stop); DATA=filter(b,a,DATA1); f2,y2=fft_simple(DATA,fs,0,180); figure(3); plot(f2,y2,r,LineWidth,2); xlabel(Frequency / Hz); ylabel(Amplitude); title(去除工频干扰后频谱图); %- 多项式拟合 - % p=polyfit(TIME,DATA,100); % z=polyval(p,TIME); %figure(4);plot(TIME,e); %- 消除基线漂移 - z=medfilt1(DATA

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论