课题二基于MATLAB平台的心电信号分析系统设计与仿真

合集下载

基于MATLAB的心电信号的分析与处理设计

基于MATLAB的心电信号的分析与处理设计

基于MATLAB的心电信号的分析与处理设计心电信号是一种重要的生物信号,可以通过分析和处理心电信号来诊断心脏病和其他心血管疾病。

在本文中,我将介绍基于MATLAB的心电信号分析与处理的设计方案。

首先,我们需要明确任务的目标和需求。

心电信号的分析与处理主要包括以下几个方面:心率分析、心律失常检测、心电特征提取和心电图绘制。

下面将详细介绍每个方面的设计方案。

1. 心率分析:心率是心电信号中最基本的参数之一,可以通过计算心电信号的RR间期来得到。

RR间期是相邻两个R波之间的时间间隔,R波是心电信号中最明显的波峰。

我们可以使用MATLAB中的信号处理工具箱来计算RR间期。

首先,我们需要对心电信号进行预处理,包括滤波和去除噪声。

常用的滤波方法有低通滤波和高通滤波。

低通滤波可以去除高频噪声,高通滤波可以去除低频噪声。

MATLAB中的fir1函数可以用于设计滤波器。

然后,我们可以使用MATLAB中的findpeaks函数来检测R波的位置。

findpeaks函数可以找到信号中的峰值,并返回峰值的位置和幅值。

通过计算相邻两个R波的时间间隔,就可以得到心率。

2. 心律失常检测:心律失常是心脏节律异常的一种表现,可以通过心电信号的特征来检测。

常见的心律失常包括心房颤动、心室颤动等。

我们可以使用MATLAB中的自动检测算法来检测心律失常。

首先,我们需要对心电信号进行预处理,包括滤波和去除噪声,同心率分析中的方法相同。

然后,我们可以使用MATLAB中的心律失常检测工具箱来进行心律失常检测。

心律失常检测工具箱提供了多种自动检测算法,包括基于模板匹配的方法、基于时间域特征的方法和基于频域特征的方法。

根据具体的需求和数据特点,选择合适的算法进行心律失常检测。

3. 心电特征提取:心电信号中包含丰富的信息,可以通过提取心电特征来辅助心脏疾病的诊断。

常见的心电特征包括QRS波群宽度、ST段变化和T波形态等。

我们可以使用MATLAB中的特征提取工具箱来提取心电特征。

报告

报告

信号与线性系统课程设计报告(课题二心电信号分析系统的设计与仿真)成绩:指导教师:刘翠响日期:2016年1月7日心电信号分析系统的设计与仿真摘要:心脏病发病率呈日渐上升趋势,是威胁全人类健康的首要疾病之一。

心电信号分析是判断心脏疾病最直接最有效的手段,研究心电信号的处理和分析系统是非常有意义的。

本文针对心电信号特征,采用MATLAB和LabVIEW两种软件实现心电信号分析系统的设计与仿真,主要实现对心电信号进行去噪和预处理。

MATLAB的设计包括对心电信号进行提取、线性插值、滤波和分析,实现simulink仿真,并且利用GUI做出系统的图形用户界面设计。

LabVIEW的设计包括在完成上述要求的基础上使用选项卡等控件做出简洁友好的人机交互界面。

关键词:心电信号,预处理,MATLAB,LabVIEW,人机交互界面1课程设计的目的及意义1.1 课程设计的目的1.了解MATLAB软件的特点和使用方法,熟悉基于Simulink的动态建模和仿真的步骤和过程;2.了解LabVIEW虚拟仪器软件的特点和使用方法,熟悉采用LabVIEW进行信号分析、系统设计及仿真的方法。

3.了解人体心电信号的时域特征和频谱特征;4.通过设计具体的滤波器进一步加深对滤波器性能的理解;5.掌握数字心电信号的分析方法,学会系统设计与软件仿真方法;6.通过本课题的训练,培养学生运用所学知识分析和解决实际问题的能力。

1.2 课程设计的意义心电信号是组成人体心脏的肌细胞电活动在体表的综合表现,在一定程度上客观反映了心脏各部位的生理状况,因此,对心电信号的研究处理具有实用价值和重要意义。

但由于心电信号自身特征的复杂性,在对其研究处理中仍存在一些有待于进一步深入和解决的问题。

本课题通过使用Matlab和LabVIEW软件,实现简单的心电信号分析系统的设计及仿真,完成对心电信号的预处理及简单分析。

2 课程设计任务及要求2.1基于Matlab的简单心电信号分析系统设计设计一个简单的心电信号分析系统。

基于MATLAB的心电信号的分析与处理设计

基于MATLAB的心电信号的分析与处理设计

河南科技大学课程设计说明书课程名称医学信号处理题目基于MATLAB的心电信号的分析与处理设计(2)院系医学技术与工程学院班级医疗器械工程111班学生姓名指导教师侯海燕宋卫东_日期2014年9月11号课程设计任务书(指导教师填写)课程设计名称医学信号处理学生姓名专业班级医疗器械工程111班设计题目基于MATLAB的心电信号的分析与处理设计(2)一、课程设计目的1.熟练掌握使用MATLAB程序设计方法2.掌握数字信号处理的基本概念、理论、方法3.掌握序列离散傅里叶变换的MATLAB实现,并进行频谱分析4.熟练掌握使用MATLAB设计IIR或FIR数字滤波器5.学会用MATLAB对信号进行分析和处理二、设计内容、技术条件和要求一)设计内容与技术条件1.根据给定的一段MIT-BIH心电信号(101号),画出心电信号的时域波形和频谱图(幅频和相频);2.根据心电信号频率范围及其噪声的频率范围设计2个滤波器(一个IIR,一个FIR)实现对心电信号滤波。

滤波器的种类(高通,低通,带通,带阻),滤波器性能指标(通阻带截止频率,衰减系数),滤波器的设计方法(IIR有冲击响应不变法和双线性变换法,FIR有窗函数法及频率抽样法)等自行设计。

要求输出所设计的滤波器的系统函数,画出滤波器的频率响应(幅频响应和相频响应)曲线;3.用该滤波器对心电信号进行滤波,画出滤波以后心电信号的时域波形和频谱(幅频);分析信号滤波前后心电信号的时域和频域的变化;4.两个滤波器滤波效果异同分析;5.运用GUI设计一个心电信号处理系统界面。

(选作)二)设计要求1.根据滤波器的性能指标要求,设计数字滤波器;2.程序中按照IIR滤波器的步骤一步步完成设计;尽可能的少调用MATLAB自带的函数文件;3.设计程序要通用性好,整齐易懂,并要求主要语句有注释;4.设计结果中的图示要美观,整齐,有标题,有纵横坐标标示;5.课程设计报告要有理论依据、设计过程,结果分析。

基于MATLAB的心电信号的分析与处理设计

基于MATLAB的心电信号的分析与处理设计

河南科技大学课程设计说明书课程名称医学信号处理题目基于MATLAB的心电信号的分析与处理设计(2)院系医学技术与工程学院班级医疗器械工程111班学生姓名指导教师侯海燕宋卫东_日期 2014年9月11号课程设计任务书(指导教师填写)课程设计名称医学信号处理学生姓名专业班级医疗器械工程111班设计题目基于MATLAB的心电信号的分析与处理设计(2)一、课程设计目的1.熟练掌握使用MATLAB程序设计方法2.掌握数字信号处理的基本概念、理论、方法3.掌握序列离散傅里叶变换的MATLAB实现,并进行频谱分析4.熟练掌握使用MATLAB设计IIR或FIR数字滤波器5.学会用MATLAB对信号进行分析和处理二、设计内容、技术条件和要求一)设计内容与技术条件1.根据给定的一段MIT-BIH心电信号(101号),画出心电信号的时域波形和频谱图(幅频和相频);2.根据心电信号频率范围及其噪声的频率范围设计2个滤波器(一个IIR,一个FIR)实现对心电信号滤波。

滤波器的种类(高通,低通,带通,带阻),滤波器性能指标(通阻带截止频率,衰减系数),滤波器的设计方法(IIR有冲击响应不变法和双线性变换法,FIR有窗函数法及频率抽样法)等自行设计。

要求输出所设计的滤波器的系统函数,画出滤波器的频率响应(幅频响应和相频响应)曲线;3.用该滤波器对心电信号进行滤波,画出滤波以后心电信号的时域波形和频谱(幅频);分析信号滤波前后心电信号的时域和频域的变化;4.两个滤波器滤波效果异同分析;5.运用GUI设计一个心电信号处理系统界面。

(选作)二)设计要求1.根据滤波器的性能指标要求,设计数字滤波器;2.程序中按照IIR滤波器的步骤一步步完成设计;尽可能的少调用MATLAB 自带的函数文件;3.设计程序要通用性好,整齐易懂,并要求主要语句有注释;4.设计结果中的图示要美观,整齐,有标题,有纵横坐标标示;5.课程设计报告要有理论依据、设计过程,结果分析。

基于MATLAB的心电信号的分析与处理设计

基于MATLAB的心电信号的分析与处理设计

河南科技大学课程设计说明书课程名称医学信号处理题目基于MATLAB的心电信号的分析与处理设计(2)院系医学技术与工程学院班级医疗器械工程111班学生姓名指导教师侯海燕宋卫东_日期 2014年9月11号课程设计任务书(指导教师填写)课程设计名称医学信号处理学生姓名专业班级医疗器械工程111班设计题目基于MATLAB的心电信号的分析与处理设计(2)一、课程设计目的1.熟练掌握使用MATLAB程序设计方法2.掌握数字信号处理的基本概念、理论、方法3.掌握序列离散傅里叶变换的MATLAB实现,并进行频谱分析4.熟练掌握使用MATLAB设计IIR或FIR数字滤波器5.学会用MATLAB对信号进行分析和处理二、设计内容、技术条件和要求一)设计内容与技术条件1.根据给定的一段MIT-BIH心电信号(101号),画出心电信号的时域波形和频谱图(幅频和相频);2.根据心电信号频率范围及其噪声的频率范围设计2个滤波器(一个IIR,一个FIR)实现对心电信号滤波。

滤波器的种类(高通,低通,带通,带阻),滤波器性能指标(通阻带截止频率,衰减系数),滤波器的设计方法(IIR有冲击响应不变法和双线性变换法,FIR有窗函数法及频率抽样法)等自行设计。

要求输出所设计的滤波器的系统函数,画出滤波器的频率响应(幅频响应和相频响应)曲线;3.用该滤波器对心电信号进行滤波,画出滤波以后心电信号的时域波形和频谱(幅频);分析信号滤波前后心电信号的时域和频域的变化;4.两个滤波器滤波效果异同分析;5.运用GUI设计一个心电信号处理系统界面。

(选作)二)设计要求1.根据滤波器的性能指标要求,设计数字滤波器;2.程序中按照IIR滤波器的步骤一步步完成设计;尽可能的少调用MATLAB 自带的函数文件;3.设计程序要通用性好,整齐易懂,并要求主要语句有注释;4.设计结果中的图示要美观,整齐,有标题,有纵横坐标标示;5.课程设计报告要有理论依据、设计过程,结果分析。

根据MATLAB的心电信号分析

根据MATLAB的心电信号分析

计算机信息处理课程设计说明书题目:基于MATLAB的心电信号分析学院(系):年级专业:学号:学生姓名:指导教师:燕山大学课程设计(论文)任务书院(系):基层教学单位:说明:此表一式四份,学生、指导教师、基层教学单位、系部各一份。

2014年12月 01日摘要心电信号是人们认识最早、研究最早的人体生理电信号之一。

目前心电检测已经成为重要的医疗检测手段,但是心电信号的相关试验及研究依然是医学工作者和生物医学工程人员的重要议题。

信号处理的基本概念和分析方法已应用于许多不同领域和学科中,尤其是数字计算机的出现和大规模集成技术的高度发展,有力地推动了数字信号处理技术的发展和应用。

心电信号是人类最早研究并应用于医学临床的生物电信号之一,它比其他生物电信号便易于检测,并具有较直观的规律性,对某些疾病尤其是心血管疾病的诊断具有重要意义。

它属于随机信号的一种,用数字信号处理的方法和Matlab软件对其进行分析后,可以得到许多有用的信息,对于诊断疾病有非常重要的参考价值。

本课题基于matlab对心电信号做了简单的初步分析。

直接采用Matlab 语言编程的静态仿真方式、对输入的原始心电信号,进行线性插值处理,并通过matlab语言编程设计对其进行时域和频域的波形频谱分析,根据具体设计要求完成程序编写、调试及功能测试,得出一定的结论。

关键词: matlab 心电信号线性插值频谱分析目录一:课题的目的及意义 (1)二:设计内容与步骤 (1)1.心电信号的读取 (1)2.对原始心电信号做线形插值 (3)3.设计滤波器 (5)4.对心电信号做频谱分析 (6)三:总结 (7)四:附录 (8)五:参考文献 (12)一:课题目的及意义心电信号是人类最早研究并应用于医学临床的生物信号之一,它比其它生物电信号更易于检测,并且具有较直观的规律性,因而心电图分析技术促进了医学的发展。

然而,心电图自动诊断还未广泛应用于临床,从国内外的心电图机检测分析来看,自动分析精度还达不到可以替代医生的水平,仅可以为临床医生提供辅助信息。

利用MATLAB进行心电图信号处理与分析

利用MATLAB进行心电图信号处理与分析

利用MATLAB进行心电图信号处理与分析心电图(Electrocardiogram,简称ECG)是一种记录心脏电活动的重要手段,通过对心电图信号的处理与分析可以帮助医生判断患者的心脏健康状况。

MATLAB作为一种功能强大的科学计算软件,被广泛运用于心电图信号处理与分析领域。

本文将介绍如何利用MATLAB进行心电图信号处理与分析,包括信号预处理、特征提取、心率检测等内容。

1. 信号预处理在进行心电图信号处理之前,首先需要对原始信号进行预处理,以提高后续分析的准确性和可靠性。

常见的信号预处理方法包括滤波、去噪和基线漂移校正等。

1.1 滤波滤波是信号处理中常用的技术,可以去除信号中的噪声和干扰,保留有用的信息。

在心电图信号处理中,常用的滤波方法包括低通滤波、高通滤波和带通滤波等。

MATLAB提供了丰富的滤波函数和工具箱,可以方便地实现各种滤波操作。

1.2 去噪心电图信号往往受到各种干扰和噪声的影响,如肌肉运动、呼吸运动等。

去噪是信号预处理中至关重要的一步,可以有效提取出心电活动的真实信息。

MATLAB中有多种去噪算法可供选择,如小波去噪、均值滤波等。

1.3 基线漂移校正基线漂移是指心电图信号中由于各种原因引起的直流成分变化,会影响后续特征提取和分析的准确性。

在预处理阶段需要对基线漂移进行校正,以保证后续分析结果的可靠性。

MATLAB提供了多种基线漂移校正方法,如多项式拟合、小波变换等。

2. 特征提取特征提取是对经过预处理的心电图信号进行进一步分析和抽取有意义的特征信息。

常见的特征包括R峰位置、QRS波群宽度、ST段变化等,这些特征可以反映心脏活动的规律和异常情况。

2.1 R峰检测R峰是心电图中QRS波群中最高点对应的峰值,通常用于计算心率和分析心脏节律。

MATLAB提供了多种R峰检测算法,如基于阈值法、基于波形相似性比较法等。

通过R峰检测可以准确计算心率,并进一步分析心脏节律是否规律。

2.2 QRS波群特征提取除了R峰位置外,QRS波群中的形态和宽度也包含了丰富的信息。

如何使用Matlab进行心电信号处理与分析

如何使用Matlab进行心电信号处理与分析

如何使用Matlab进行心电信号处理与分析1. 引言心电信号是一种重要的生理信号,对心脏病的诊断和监测起着至关重要的作用。

Matlab是一种功能强大的工具,用于信号处理和数据分析,特别适用于心电信号处理。

本文将介绍如何使用Matlab进行心电信号处理与分析的方法和技巧。

2. 数据读取和预处理首先,需要将采集到的心电信号从数据文件中读取到Matlab中进行后续处理和分析。

可以使用Matlab提供的函数(如load、importdata等)来读取常见的数据格式(如txt、csv等)。

在读取完成后,进行数据预处理以去除可能存在的噪声和干扰。

常见的预处理方法包括滤波和去噪。

滤波可以通过设计数字滤波器(如低通滤波器、带通滤波器等)或应用现有的滤波器函数(如butter、cheby1等)来实现。

去噪可以通过信号处理技术(如小波变换、小波阈值去噪等)来实现。

3. 心电信号特征提取在预处理完成后,需要从心电信号中提取出有用的特征。

这些特征可以用于心脏异常的诊断和疾病监测。

常见的特征包括心率、QRS波群宽度、ST段和T波等。

心率可以通过计算RR间期的倒数来获得,即心率=60/RR间期。

QRS波群宽度可以通过计算QRS波群的起始点和结束点之间的时间差来获得。

ST段和T波的特征可以通过计算它们的幅值、持续时间和斜率来获得。

Matlab提供了许多函数和工具箱,可以方便地实现这些特征的提取。

例如,可以使用Matlab中的QRS检测函数(如ecgQRSdetect)来检测QRS波群,并计算起始点和结束点的时间差。

类似地,可以使用Matlab中的函数(如ecgwaveform)来计算ST段和T波的特征。

4. 心电信号分析心电信号分析常用于心脏病的诊断和疾病监测。

Matlab提供了许多工具和函数,可用于心电信号的分类和模式识别。

以下是一些常见的心电信号分析方法和技术:4.1 心律失常检测心律失常是一种常见的心脏问题,对人体健康产生重大影响。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课题二基于MATLABDE的心电信号分析系统的设计与仿真一、本课题的目的本设计课题主要研究数字心电信号的初步分析及滤波器的应用。

通过完成本课题的设计,拟主要达到以下几个目的:(1)了解MATLAB软件的特点和使用方法,熟悉基于Simulink的动态建模和仿真的步骤和过程;(2)了解人体心电信号的时域特征和频谱特征;(3)进一步了解数字信号的分析方法;(4)通过应用具体的滤波器进一步加深对滤波器理解;(5)通过本课题的设计,培养学生运用所学知识分析和解决实际问题的能力。

二、课题任务设计一个简单的心电信号分析系统。

对输入的原始心电信号,进行一定的数字信号处理,进行频谱分析。

采用Matlab语言设计,要求分别采用两种方式进行仿真,即直接采用Matlab 语言编程的静态仿真方式、采用Simulink进行动态建模和仿真的方式。

根据具体设计要求完成系统的程序编写、调试及功能测试。

(1)对原始数字心电信号进行读取,由数字信号数据绘制出其时域波形。

(2)对数字信号数据做一次线性插值,使其成为均匀数字信号,以便后面的信号分析。

(3)根据心电信号的频域特征(自己查阅相关资料),设计相应的低通和高通滤波器。

(4)编程绘制实现信号处理前后的频谱,做频谱分析,得出相关结论。

(5)对系统进行综合测试,整理数据,撰写设计报告。

三、主要设备和软件(1)PC机一台。

(2) MATLAB6.5以上版本软件,一套。

四、设计内容、步骤和要求4.1必做部分4.1.1利用Matlab对MIT-BIH数据库提供的数字心电信号进行读取,并还原实际波形美国麻省理工学院提供的MIT-BIH数据库是一个权威性的国际心电图检测标准库,近年来应用广泛,为我国的医学工程界所重视。

MIT-BIH数据库共有48个病例,每个病例数据长30min,总计约有116000多个心拍,包含有正常心拍和各种异常心拍,内容丰富完整。

为了读取简单方便,采用其txt 格式的数据文件作为我们的原心电信号数据。

利用Matlab 提供的文件textread 或textscan 函数,读取txt 数据文件中的信号,并且还原实际波形。

4.1.2对原始心电信号做线性插值由于原始心电信号数据不是通过等间隔采样得到的,也就是说原始的心电数据并不是均匀的,而用Matlab 中提供的数字滤波器处理数据时,要求数据是等间隔的。

因此设计的系统首先应对原始心电信号做线性插值处理,使其变为等间隔的数字信号,否则直接处理后会出现偏差,根据心电信号的特点, 把时间分隔成0.001s 。

添加的幅值点采用一次线性插值。

对二维数据进行插值,相连幅值间数据的插值根据时间进行,运算公式如下:1--=∆i i t t t ,001.0/t N ∆=,1--=∆i i A A A ,001.01+=-j j t t ,N A A A j j /1∆+=- 其中i t 是第i 个数据时间点,A i 是与之对应的数据,N 是两数据之间需要的插值数,A ∆是需要插值的两点数据差,,,,,,,,,1321321-==N j arraysize i 1111----==i j i j A A t t ,, 1=j i ,时数组j j A t ,依次排列,即得到了插值后等间隔的新数据。

将插值后的幅值数据另存为txt 文件,以供后续程序调用。

4.1.3根据心电信号的频域特征,设计相应的低通和带通滤波器一般正常人的心电信号频率在0.7~100HZ 范围内,幅度为V 10μ(胎儿)~5mV (成人)。

人体心电信号微弱,信噪比小,因此,在采集心电信号时,易受到仪器、人体活动等因素的影响,而且所采集的心电信号常伴有干扰。

采集心电数据时,由于人的说话呼吸,常常会混有约为0.1Hz 到0.25Hz 频段的干扰,对于这些低频干扰,可以让信号通过一个高频滤波器,低截止频率设置为0.25,来滤除低频信号,对于高频信号干扰,可以让信号再通过一个低频滤波器,其中截止频率设置为99Hz 。

也可以直接应用带通滤波器设计。

(1)根据以上指标,设计模拟巴特沃斯(切比雪夫)低通、高通或带通滤波器,画出幅频特性(模拟滤波器幅频特性freqs )。

(2)根据心电信号频谱范围设计一个3阶以上模拟滤波器对心电信号进行预滤波;(3)采用直接、级联或并联方式,实现该系统,并画出系统的信号流图;(4)分析系统的时域特性(阶跃响应、冲击响应等),并用Matlab 绘出相关波形;(5)用Matlab 分析幅频特性,并绘出相关波形;(6)分析系统函数零极点与幅频特性的关系。

4.1.4对处理前后的心电信号分别做频谱分析利用Matlab 软件对处理前后的心电信号编程显示其频谱,分析比较滤波前后的频谱,得出结论。

如果分析频谱,滤波效果不明显,则需变动滤波器参数指标,重新设计滤波器。

通过频谱分析,多次试验确定最合适的滤波器。

4.1.5 Simulink仿真根据前面的设计,进行基于Simulink的动态仿真设计。

实现心电信号的分析和处理。

给出系统的基于Simulink的动态建模和仿真的系统方框图,同时记录系统的各个输出点的波形和频谱图。

4.2 选作部分4.2.1减少分析数据的工作量试验(1)只截取大约2.5s,三个周期左右,大约800个采样数据进行分析;(2)利用Matlab编程实现对10s原始心电信号数据二次采样并进行结果分析。

4.2.2 simulink仿真设计(1)将Matlab语言编程进行线性插值后的心电信号结果,直接输入到simulink模块中进行滤波处理及系统仿真;(2)在仿真环境下,自己设计simulink的线性插值模块,直接输入原始心电信号,进行插值处理再进行系统的功能仿真。

4.2.3 50Hz工频陷波器设计由于电子设备采集到的信号经常会混有电源线干扰。

电源线干扰是以50 Hz为中心的窄带噪声,带宽小于1Hz。

设计相应的带阻滤波器滤除电源线干扰,并对处理后的信号做频谱分析。

五、课程设计报告要求(1)设计报告书包括内容:课程设计题目,课程设计目的和意义,设计方案,详细设计步骤,设计结果(原理图等),测试和仿真结果(图形或数据)及其分析,其它有明确要求的设计内容,结论,参考文献等。

(2)提交课程设计报告时应同时提交相关设计和仿真分析材料(程序、结果等)的电子版。

六、参考文献[1] 北京迪阳正泰科技发展公司.综合通信实验系统——信号与系统指导书(第二版). 2006,6[2] 丁玉美.数字信号处理(第二版).西安电子科技大学出版社,2001[3] 吴大正. 信号与线性系统分析(第四版). 高等教育出版社,2005,8[4] 谢嘉奎. 电子线路--线性部分(第四版). 高等教育出版社,2003,2[5] 陈后金. 信号分析与处理实验. 高等教育出版社,2006,8七、附录——设计原理1.心电信号的读取txt格式的数据文件内容及格式如图1-1所示(以100.txt为例)。

图1-1txt格式的心电数据文件其中文件的第一列为采样时间,第二列是在以MLII这种导联方式所得到的采样数据,第三列是以V5这种导联方式所得到的采样数据,全文件记录了约为10s的心电数据,3600个采样数据,每一行数据之间用Tab符分隔。

由于数据文件中后两列数据是对同一种心电信号进行不同的导联方式所得到的采样数据,所以可以只采用其中的一种采样数据,摒弃另外一种,即可完成对此心电信号的分析。

全部的心电文件记录时间约为10s,共计12个左右周期的心电信号。

实际设计心电信号数据文件时应注意:(1)数据文件的前两行为解释说明文字,不是真正的信号数据,读取信号程序要能够自动忽略前两行文字,只读取真正的数字信号数据(严禁自己手动删除原心电数据文件中的前两行数据,必须通过程序来实现忽略前两行文字的目的)。

(2)利用数组函数分别将文件的前两个列分别读入一个一维数组。

(3)最后利用已经转为数值的分别代表心电信号时间和幅值的两个一维数组,图形化还原原始心电信号波形,在此推荐利用plot(x,y)函数对数据做图形化显示。

2.心电信号的线性插值处理根据上文中提到的插值公式,以此为原理,设计Matlab程序,对心电信号数据做线性插值处理。

插值完以后的数据应该是时间均匀的、以0.001秒为间隔的。

此步骤的实现主要是基于Matlab 中的数组操作函数来实现,建议一定首先熟悉并掌握Matlab 中的所有数组操作函数的作用和操作方法。

其中一种插值方法的思路是:将第一步中读取的心电信号数据的时间数据和幅值数据分别存放在一个一维数组中。

然后利用for 循环结构把所有数据依次读取进来。

判断时间数据数组中前后两个相邻的数据间隔是否为0.001s ,如果是则判断下一对相邻两个数据;如果间隔大于0.001s 则进行一维插值处理。

注意对时间数据做插值的同时一定不要忘记对幅值数据同样做插值处理,时间数据和幅值数据一定是相互对应的。

3. 滤波器设计3.1 模拟滤波器设计原理(1)模拟巴特沃思滤波器原理巴特沃斯滤波器具有单调下降的幅频特性:在小于截止频率c Ω的范围内,具有最平幅度的响应,而在c Ω>Ω后,幅频响应迅速下降。

巴特沃思低通滤波器幅度平方函数为: 221()1()a NcH j Ω=Ω+Ω (3-1) 式中N 为滤波器阶数,c Ω为3dB 截止角频率。

将幅度平方函数写成s 的函数形式:21()()1()a a N cH s H s s j -=+Ω (3-2) 该幅度平方函数有2N 个等间隔分布在半径为c Ω的圆上的极点121()22 k j N k c s e π++=Ω,0,1,...21k N =- 为了形成稳定的滤波器,取左半平面的N 个极点构成()a H s ,即:10()()N Na c kk H s s s -==Ω-∏ (3-3) 为使设计统一,将频率归一化,得到归一化极点121()22k j N k p eπ++=,相应的归一化系统函数为: 10()1()N a kk H p p p -==-∏ (3-4)多项式形式为: 01()1(...)N a H p b b p p =+++ (3-5)(2)模拟切比雪夫滤波器原理切比雪夫滤波器的幅频特性具有等波纹特性,有两种形式,在通带内等波纹、阻带单调的是I 型滤波器,在通带内单调、在阻带内等波纹的是Ⅱ滤波器。

以I 型滤波器为例。

切比雪夫滤波器的幅度平方函数为:22221()()1()a N p A H j C εΩ=Ω=Ω+Ω (3-6)ε为小于1的正数,表示通带内幅度波动的程度。

Ωp 称为通带截止频率。

令λ=Ω/Ωp ,称为对Ωp 的归一化频率。

C N (x)为N 阶切比雪夫多项式。

幅度平方函数的极点是分布在b Ωp 为长半轴,a Ωp 为短半轴的椭圆上的点。

相关文档
最新文档