基于MATLAB的心电信号分析系统的设计与仿真

合集下载

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

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

课题二基于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的信号仿真分析的设计---课设说明书 精品

MATLAB的信号仿真分析的设计---课设说明书 精品

信号仿真分析实践题目基于MATLAB的信号仿真分析的设计信号仿真分析实践任务书课程实践成绩评定表1引言MATLAB是一种面向科学与工程计算的高级语言,由于其集成了许多领域的工具箱,因此又被称之为“巨人肩上的工具”。

本文以该软件的MATLAB7.0为例,在简单介绍MATLAB的基础上,详细阐述了其仿真功能在信号处理中的应用。

1.1MATLAB的发展历史MATLAB语言是由美国的Clever Moler博士于1980年开发的;设计者的初衷是为解决“线性代数”课程的矩阵运算问题;取名MATLAB即Matrix Laboratory 矩阵实验室的意思;1984年,MathWorks公司成立,MATLAB以商品形式出现,随着市场的推广,以其良好的开放性和运行的可靠性,成功地应用于各工程学科的研究领域。

1.2MATLAB的系统结构MATLAB系统结构有三个层次、八个部分构成,每一个部分完成不同的功能,主要包括:(1)MATLAB主包(2)工具箱(Toolboxes)(3)编译器(piler)(4)建模仿真(Simulink)(5)模块集(Blockset)(6)实时仿真(Real-Time Worksho)(7)状态流程(Stateflow)(8)状态代码生成(Stateflow Coder)1.3MATLAB的主要特点(1)简单易学:与C语言几乎一致。

(2)编程简洁、效率高;语言规则不强,无需编译。

(3)强大而简单的绘图功能;二、三维绘图,直观展示结果。

(4)扩展性强——丰富的工具箱:MATLAB主工具箱、符号数学工具箱、SIMULINK仿真工具箱、控制系统工具箱、信号处理工具箱、图象处理工具箱、通信工具箱、系统辨识工具箱、神经元网络工具箱、金融工具箱等。

1.4MATLAB的影响(1)matlab在教学中的应用在大学里,诸如应用代数、数理统计、自动控制、数字信号处理、动态系统仿真等课程的教科书都把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的信号与系统仿真实验毕业设计信号与系统是电子信息类专业的一门重要课程,它是其他课程的基础和前提。

为了更好地理解信号与系统的理论知识,掌握信号的分析和处理方法,实验仿真是非常重要的手段之一、MATLAB作为一款强大的数学软件,被广泛应用于信号与系统的实验仿真中。

本文将基于MATLAB,介绍一个基于信号与系统的仿真实验的毕业设计。

该设计主要包括以下几个方面的内容:实验目的、实验原理、实验步骤和实验结果及分析。

实验目的:本次实验的主要目的是通过MATLAB软件,实现信号与系统的仿真分析,掌握信号与系统的基本概念和分析方法,培养学生对信号与系统的实际应用能力。

实验原理:本实验主要涉及信号的生成与采样、信号的查表和存储、信号的线性时不变系统等方面的内容。

通过对不同种类的信号进行分析,可以更好地理解信号的特性,并通过系统的分析,了解线性时不变系统对信号的作用及特性。

实验步骤:1.信号的生成与采样:在MATLAB中,通过给定信号的频率、振幅及采样率等参数,利用正弦函数或方波函数生成模拟信号,并对信号进行采样。

2.信号的查表和存储:将生成的信号通过查表和存储的方式保存为数据文件,并通过MATLAB读取这些数据文件,进行后续的处理和分析。

3.信号的线性时不变系统:通过设计不同的线性时不变系统,如低通滤波器或高通滤波器等,对信号进行滤波处理。

可以分析系统的频率响应、幅频响应等参数,并观察滤波后信号的变化。

实验结果及分析:通过对生成的信号进行采样、查表和存储,并对信号进行线性时不变系统的处理,在MATLAB中可以得到相应的结果。

根据实验结果,可以对信号的特性进行分析,比较不同信号和系统对信号的影响,进一步了解信号与系统的相关知识。

综上所述,本次基于MATLAB的信号与系统仿真实验毕业设计主要是通过对信号的生成、采样、查表和存储以及对信号进行线性时不变系统的处理,来掌握信号与系统的分析方法和应用能力。

通过实验结果的分析,可以进一步理解信号与系统的概念和特性,提高对信号与系统的理解和应用能力。

大学毕业设计基于matlab的医学信号频谱分析系统的分析与设计[管理资料]

大学毕业设计基于matlab的医学信号频谱分析系统的分析与设计[管理资料]

医学信号频谱分析系统的分析与设计摘要随着信号处理技术的发展,每一种新的信号处理技术都将很快应用到医学信号处理,并促使医学信号处理技术的革新。

通过对信号的频域分析可以得到时域上观察不到的信息,便于信息的处理。

本设计主要涉及对医电信号的预处理,对医电信号的频谱分析以及对医电信号的典型波形的检测。

在医电信号的预处理模块中,运用filter design工具箱来设计50Hz滤波器来消除医电信号所受到的工频干扰;运用小波滤波来平滑曲线;运用巴特沃斯滤波设计带通滤波器,来消除医电信号自身主要频率以外的干扰。

在医电信号的频谱分析模块中,主要运用了傅里叶变换和小波变换两种方法。

傅里叶变换可以得到医电信号本身及各种滤波后的信号的频谱图;小波变换可以对信号进行不同尺度的分解,由各个尺度上的小波系数来进行频率分析。

在医电信号的波形检测模块中,主要运用小波分析的方法,得到医学信号在各个尺度上的小波系数,再运用差分阈值的方法得到小波系数的模极值,并由此来确定医学信号的特征点。

本设计以心电信号为例,来进行医电信号频谱分析系统的设计,能够很好地实现对心电信号的滤波及频谱分析,也能准确地检测出R波峰与QRS 波的起止位置。

关键词:医电信号,预处理,频谱分析,小波变换,波形检测THE FOURIER SPECTRUM ANALYSISAND DESIGN SYSTEM OF THEMEDICAL SIGNALABSTRACTWith the signal processing technology development, each kind of new signal processing techniques apply to process the medical signal very quickly and make the technology of medical signal processing to innovate. According to the spectrum analysis of signal, we can get access to the extra information which can’t obtain from the time axis.This design mainly relates to the pretreatment of medical signal, the spectrum analysis of signal and the detection of representative signal.In the pretreatment module, we use the filter design toolbox of MATLAB to devise 50Hz filter which can clear up the molest. And we use the wavelet filter to smooth the curve. And we use the butter filter to design the bandpass filter which can eliminate the extra frequencies.In the spectrum analysis part, we mainly use the fourier transformation and the wavelet transformation. Using the fourier transformation, we can get the spectrum chart both of the signal itself and of the signal after filter. We use the wavelet transformation to decompose the signal in different scales. And we take use of wavelet coefficients to analyse the signal.In the wave detection part, we mainly use the wavelet analyse measure to obtain the wavelet coefficients of each scale. Then we use the difference-threshold method to get hold of the mould extremum of the wavelet coefficients, which can help us to fix on the characteristic points of the medical signal.In this study, we take the ECG signal for example, which is the representivesignal of the medical signal to design the spectrum analysis system of the medical signals. And it can primely achieve the goal of the design. That is: it can efficiently eliminate the molest and the spectrum analysis of the medical signals. what’s more, it can detect the R wave crest and can locate the QRS start-end points.KEY WORDS: ECG, preprocessing, Fourier spectrum analysis, wavelettransformation, detection of the wave目录第一章绪论 (1)§研究背景和国内外研究现状 (1)§研究背景 (1)§研究现状 (1)§课题研究的目的和意义 (2)§医学信号的简介 (3)§ 生物医学信号的特点 (3)§ 生物医学信号的分类 (3)§系统结构框图 (4)§论文的结构安排 (4)第二章信号预处理 (5)§医学信号的读取 (5)§医学信号的主要干扰 (5)§ 医电信号的特征介绍 (6)§ 医电信号噪声的类型 (6)§ 常用的滤波方法 (7)§ 50 hz工频干扰的滤除 (7)§ 小波消噪 (10)§ 巴特沃斯滤波器滤波 (12)第三章信号频谱分析 (16)§傅里叶变换 (16)§ 离散傅立叶变换(DFT) (16)§ 主程序框图 (17)§ 算法仿真结果 (18)§ 结果分析 (20)§小波变换 (20)§小波变换的理论基础 (20)§小波变换的原理 (21)§ 医电信号的小波分解 (21)§ 结果分析 (23)第四章医学信号检测 (24)§生物医学信号的检测方法介绍 (24)§心电信号波形组成及其意义 (24)§ 正常心电信号的波形 (25)§心电信号各个波形的诊断意义 (26)§心电信号波形检测算法研究 (27)§ QRS波形检测 (27)§ S、T及QRS波起止点的检测 (31)参考文献 (35)致谢 (37)附录 (38)第一章绪论§研究背景和国内外研究现状§研究背景生物医学信号形形色色,种类繁多。

基于MATLAB的信号与系统实验仿真系统设计(互联网+)

基于MATLAB的信号与系统实验仿真系统设计(互联网+)

基于MATLAB的信号与系统实验仿真系统设计(互联网+)基于MATLAB的信号与系统实验仿真系统设计[摘要]本文概述了信号仿真系统的需求、总体结构、基本功能。

重点介绍了利用Matlab软件设计实现信号仿真系统的基本原理及功能,以及利用Matlab软件提供的图形用户界面(Graphical User Interfaces ,GUI)设计具有人机交互、界面友好的用户界面。

本文采用Matlab的图形用户界面设计功能, 开发出了各个实验界面。

在该实验软件中, 集成了信号处理中的多个实验, 应用效果良好。

本系统是一种演示型软件,用可视化的仿真工具,以图形和动态仿真的方式演示部分基本信号的传输波形和变换,使学习人员直观、感性地了解和掌握信号与系统的基本知识。

[关键词]信号处理,MATLAB,图形用户界面,实验软件Based on Matlab signaling system solidplatform designAbstract: This article has outlined the signal simulation system's demand, the gross structure, the basic function. Introduced with emphasis realizes the signal simulation system basic principle and the function using the matlab software design, as well as the graphical user interface which provides using the matlab software (Graphical User Interfaces, GUI) designs has the man-machine interaction, the contact surface friendly user interface. This article uses Matlab the graphical user interface design function, developed each experiment contact surface. In this experiment software, integrated in signal processing many experiments, the application effect has been good. This system is one kind of demonstration software, with the visualization simulation tool, by the graph and dynamic simulation's way demonstration part elementary signal's transmission profile and the transformation, causes the trainees direct-viewing,perceptually to understand and to know the correspondence principle the elementary knowledge.Key words: Signal Processing,MATLAB,Graphical user interface,Experimental Software目录第一章引言 (1)1.1概述 (1)1.2基于M ATLAB的信号与系统实验平台开发现状 (1)1.3研究意义 (2)1.4本文的主要工作 (2)第二章系统分析 (3)2.1引言 (3)2.2需求分析 (3)2.3可行性分析 (4)2.3.1技术可行性 (4)2.3.2 经济可行性 (4)2.3.3 操作可行性 (4)2.4系统主要目标及功能 (4)2.4.1 系统目标 (4)2.4.2 系统主要功能 (5)2.5小结 (5)第三章方案选取 (6)3.1引言 (6)3.2界面工具的选取 (6)3.3模拟信号实验的软件工具选择 (6)3.4设计方案选择 (7)第四章开发运行环境 (7)4.1系统开发环境和运行环境 (7)4.2开发语言和开发工具介绍 (7)4.2.1 Windows XP (7)4.2.2 Matlab 7.0 (8)4.2.3 图形用户界面(GUI) (9)第五章系统软件平台的设计 (10) 5.1引言 (10)5.2系统整体框图 (10)5.3系统设计步骤 (11)5.4系统模块 (11)5.4.1 模块划分简介 (11)5.4.2 模块具体设计 (12)5.5生成可执行文件 (27)5.6小结 (28)第六章系统测试 (28)6.1引言 (28)6.2测试背景 (28)6.3测试概要 (29)6.3.1 测试结果 (29)6.3.2 测试分析 (35)6.4小结 (35)第七章结论 (36)致谢 (38)参考文献 (39)附录:主要代码 (40)。

利用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软件的基本操作,了解其在信号处理领域的应用;2. 学习信号的基本概念,包括信号的分类、表示方法和特性;3. 掌握信号仿真原理,能运用MATLAB进行信号仿真实验;4. 了解信号处理中的常见算法,如傅里叶变换、滤波器设计等。

技能目标:1. 能够运用MATLAB软件进行信号的生成、分析和处理;2. 能够独立设计简单的信号仿真实验,并对结果进行分析;3. 培养实际操作能力,提高解决实际信号处理问题的能力。

情感态度价值观目标:1. 培养学生对信号处理领域的兴趣,激发学习热情;2. 培养学生严谨的科学态度,注重实验数据的真实性;3. 培养学生的团队协作精神,学会与他人共同解决问题。

课程性质分析:本课程为实践性较强的课程,旨在通过MATLAB软件的运用,使学生更好地理解信号处理的基本概念和原理。

学生特点分析:学生处于高年级阶段,已具备一定的信号处理理论基础,但对于实际应用软件的操作能力有待提高。

教学要求:结合课程性质和学生特点,注重理论与实践相结合,强调实际操作能力的培养,使学生在掌握基本知识的同时,能够运用所学解决实际问题。

通过课程目标的分解,为后续教学设计和评估提供明确依据。

二、教学内容1. MATLAB软件基本操作与信号处理工具箱介绍- 软件安装与界面认识- 基本命令与数据类型- 信号处理工具箱功能简介2. 信号基本概念与分类- 连续信号与离散信号- 确定性信号与随机信号- 周期信号与非周期信号3. 信号仿真原理与实验- 信号生成方法- 信号分析与处理方法- 仿真实验设计及操作4. 常见信号处理算法- 傅里叶变换及其应用- 滤波器设计原理与方法- 信号调制与解调技术5. 教学内容安排与进度- 第一周:MATLAB软件基本操作与信号处理工具箱介绍- 第二周:信号基本概念与分类- 第三周:信号仿真原理与实验- 第四周:常见信号处理算法6. 教材章节关联- 第一章:引言,介绍信号处理的基本概念- 第二章:MATLAB基础,为后续信号处理提供操作工具- 第三章:信号与系统,讲解信号分类及特性- 第四章:信号处理算法,讲解傅里叶变换、滤波器设计等- 第五章:信号处理应用,结合实际案例进行讲解教学内容注重科学性和系统性,结合教材章节进行组织,使学生在掌握基本知识的同时,能够了解信号处理在实际应用中的重要性。

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

课题二基于MATLAB的心电信号分析系统的设计与仿真摘要:本文是利用MATLAB软件对美国麻省理工学院提供的MIT-BIH数据库的122号心电信号病例进行分析,利用MATLAB软件及simulink平台对122号心电信号的病例进行读取、插值、高通滤波、低通滤波等的处理。

将心电信号中的高频和低频的杂波进行滤除后对插值前后滤波前后的时域波形及频谱进行分析。

同时也将滤波器的系统函数进行读取,分析,画出滤波的信号流程图,也分析各个系统及级联后的系统的冲击响应、幅频响应、相位响应和零极点图来判断系统的稳定性,并用MATLAB软件将图形画出,以便于以后的对系统进行分析。

关键词:MATLAB,simulink,心电信号,滤波器1.课程设计的目的、意义:本设计课题主要研究数字心电信号的初步分析及滤波器的应用。

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

2 设计任务及技术指标:设计一个简单的心电信号分析系统。

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

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

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

2.1必做部分:2.1.1读取原始心电信号美国麻省理工学院提供的MIT-BIH数据库是一个权威性的国际心电图检测标准库,近年来应用广泛,为我国的医学工程界所重视。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 A ∆,,,,,,,,1321321-==N j arraysize i 1111----==i j i j A A t t ,1=j i ,j j A t ,V 10μ2.2选作部分:2.2.1减少分析数据的工作量试验只截取大约2.5s,三个周期左右,大约800个采样数据进行分析;2.2.2 50Hz工频陷波器设计由于电子设备采集到的信号经常会混有电源线干扰。

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

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

3 设计方案论证:4 设计内容(程序清单附带图片):4.1MATLAB程序清单及图片:4.1.1 提取txt格式心电信号:fid=fopen('122.txt');C=textscan(fid,'%8c %f %*f','headerlines',2);fclose(fid);a=C{1};y=C{2};k=length(a)for i=1:kc(i)=strread(a(i,:),'%*s %f','delimiter',':'); endx=c';plot(x,y)4.1.2 对原始心电信号进行线性插值t=0:0.001:2.5;F=interp1(x,y,t);F=F';t=t';plot(t,F)4.1.3 把数据读到txt中fid = fopen('t.txt','wt'); fprintf(fid,'%g\n',t); fclose(fid);fid = fopen('F.txt','wt'); fprintf(fid,'%g\n',F); fclose(fid);4.1.4插值前后波形比较subplot(2,2,1)plot(x,y)title('初始信号时域波形') axis([0 2.5 -2 1])subplot(2,2,2)fs=1000;N=length(y)n=1:N;f1=n*fs/N;Y1=fft(y);plot(f1,abs(Y1))title('初始信号频谱')axis([0 1000 0 200])subplot(2,2,3)plot(t,F)title('差值后信号时域波形')axis([0 2.5 -2 1])M=length(F);m=1:M;f2=m*fs/M;Y2=fft(F);subplot(2,2,4)plot(f2,abs(Y2))title('插值后信号频谱')axis([0 1000 0 200])4.1.5模拟低通滤波器:wp=60*2*pi;ws=99*2*pi;Rp=1;As=40; [N,wc]=buttord(wp,ws,Rp,As,'s')[B,A]=butter(N,wc,'s')k=0:511;fk=0:1000/512:1000;wk=2*pi*fk; Hk=freqs(B,A,wk);plot(fk,20*log10(abs(Hk)));grid onN =11wc =409.2596B =1.0e+028 *Columns 1 through 100 0 0 0 0 0 0 0 0 0 0 5.3949Columns 11 through 12A =1.0e+028 *Columns 1 through 100.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.00000.0000 0.0008Columns 11 through 120.0926 5.39494.1.6模拟高通滤波器:wp=0.7*2*pi;ws=0.25*2*pi;Rp=0.1;As=40;[N,wc]=buttord(wp,ws,Rp,As,'s')[B0,A0]=butter(N,wc,'s');wph=2*pi*0.25;hk=freqs(B0,A0,wph);[BH,AH]=lp2hp(B,A,wph);[h,w]=freqs(BH,AH);plot(w,20*log10(abs(h)));axis([0,1,-80,5]);N =7wc =3.0327B0 =1.0e+003 *0 0 0 0 0 0 0 2.3595A0 =1.0e+003 *0.0010 0.0136 0.0929 0.4070 1.2343 2.5905 3.4964 2.35954.1.7滤波前后图形对比:t=0:0.001:9.997;F=interp1(x,y,t);F=F';t=t';figure(1)subplot(3,1,1);plot(1000*t,F);wp=0.7*2*pi;ws=0.25*2*pi;Rp=0.1;As=40;T=1;[N,wc]=buttord(wp,ws,Rp,As,'s')[B,A]=butter(N,wc,'s');[b,a]=imp_invr(B,A,T)[db,mag,pha,w]=freqz_m(b,a);y1=filter(b,a,F);subplot(3,1,2);plot(y1);title('高通滤波后')wp1=2*pi*60;ws1=2*pi*99;Rp1=0.1;As1=40;T1=1000;OmegaP1=wp1/T1;OmegaS1=ws1/T1;[cs1,ds1]=afd_butt(OmegaP1,OmegaS1,Rp1,As1);[b1,a1]=imp_invr(cs1,ds1,T)[db1,mag1,pha1,w1]=freqz_m(b1,a1);y2=filter(b1,a1,y1);subplot(3,1,3);plot(y2);title('低通滤波后')M=length(F);m=1:M;fs=1000;f2=m*fs/M;F1=fft(F);Y1=fft(y1);Y2=fft(y2)figure(2)subplot(3,1,1)plot(f2,abs(F1))axis([0,1000,0,200])title('原始信号频谱_{9.997}')subplot(3,1,2)plot(f2,abs(Y1))axis([0,1000,0,200])title('高通滤波后信号频谱_{9.997}')subplot(3,1,3)plot(f2,abs(Y2))axis([0,1000,0,200])title('低通滤波后信号频谱_{9.997}')4.1.8系统函数的级联、冲击响应、幅度响应、相位响应figure(3)H1=impz(b,a);H2=impz(b1,a1);Hn=conv(H1,H2);%将系统一的系统函数与系统二的函数相级联subplot(3,1,1);plot(H1);title('高通系统函数冲击响应曲线'); %系统函数的冲击响应曲线subplot(3,1,2);plot(H2);title('低通系统函数冲击响应曲线');subplot(3,1,3);plot(Hn);title('级联后系统函数冲击响应曲线');figure(4)fs=1000;[H,f]=freqz(cs,ds,256,fs); %系统一的幅频特性曲线mag=abs(H); %幅度响应ph=angle(H); %相位响应ph=ph*180/pi;subplot(2,2,1),plot(f,mag);grid %h1的幅度响应title('h1幅度响应')%xlabel('frequency(Hz)');ylabel('magnitude');subplot(2,2,2);plot(f,ph);grid %h1的相位响应title('h1相位响应 ')fs=1000;[H,f]=freqz(BH,AH,256,fs);mag=abs(H);ph=angle(H);ph=ph*180/pi;subplot(2,2,3),plot(f,mag);gridtitle('h2幅度响应')subplot(2,2,4);plot(f,ph);gridtitle('h2相位响应')figure(6)zr=roots(B) %系统一的零点图pk=roots(A) %系统一的极点图zplane(B,A); %zplane函数画出系统一的零极点图figure(7)zr1=roots(cs1) %系统二的零点图pk1=roots(ds1) %系统二的极点图zplane(cs1,ds1); %zplane函数画出系统一的零极点图4.1.9截取到2.5s对截取的部分进行滤波及频谱分析t1=0:0.001:2.5;F0=interp1(x,y,t1);F0=F0';t1=t1';figure(8)subplot(3,1,1);plot(1000*t1,F0);wp=0.7*2*pi;ws=0.25*2*pi;Rp=0.1;As=40;T=1;[N,wc]=buttord(wp,ws,Rp,As,'s')[B,A]=butter(N,wc,'s');[b,a]=imp_invr(B,A,T)[db,mag,pha,w]=freqz_m(b,a);y11=filter(b,a,F0);subplot(3,1,2);plot(y11);title('高通滤波后_{2.5}')wp1=2*pi*60;ws1=2*pi*99;Rp1=0.1;As1=40;T1=1000; OmegaP1=wp1/T1;OmegaS1=ws1/T1;[cs1,ds1]=afd_butt(OmegaP1,OmegaS1,Rp1,As1);[b1,a1]=imp_invr(cs1,ds1,T)[db1,mag1,pha1,w1]=freqz_m(b1,a1);y21=filter(b1,a1,y11);subplot(3,1,3);plot(y21);title('低通滤波后_{2.5}')M=length(F0);m=1:M;fs=1000;f2=m*fs/M;F01=fft(F0);Y11=fft(y11);Y21=fft(y21)figure(9)subplot(3,1,1)plot(f2,abs(F01))axis([0,1000,0,200])title('原始信号频谱_{2.5}') subplot(3,1,2)plot(f2,abs(Y11))axis([0,1000,0,200])title('高通滤波后信号频谱_{2.5}') subplot(3,1,3)plot(f2,abs(Y21))axis([0,1000,0,200])title('低通滤波后信号频谱_{2.5}')4.2.Simulink仿真参数设置及波形对比:4.2.1滤波器参数设置4.2.2滤波前后的图形进行对比原始波形低通滤波后高通滤波后5 实验结果与分析:6 总结7.实验收获及心得体会参考文献:[1] 北京迪阳正泰科技发展公司.综合通信实验系统——信号与系统指导书(第二版). 2006,6信号与线性系统课程设计报告[2] 丁玉美.数字信号处理(第三版).西安电子科技大学出版社,2001[3] 吴大正. 信号与线性系统分析(第四版). 高等教育出版社,2005,8[4] 谢嘉奎. 电子线路—非线性部分(第五版). 高等教育出版社,2003,2[5] 陈后金. 信号分析与处理实验. 高等教育出版社,2006,8~ 21 ~。

相关文档
最新文档