心电信号分析系统的设计与仿真_第1页
心电信号分析系统的设计与仿真_第2页
心电信号分析系统的设计与仿真_第3页
心电信号分析系统的设计与仿真_第4页
心电信号分析系统的设计与仿真_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

1、信号与线性系统课程设计报告课题二心电信号分析系统的设计与仿真班级:通信c122班姓名:张怡学号:125949成绩:指导教师:刘翠响日期:摘要:美国麻省理工学院提供的MIT-BIH数据库是一个权威性的国际心电图检测标准库,近年来应用广泛,为我国的医学工程界所重视。MIT-BIH数据库共有48个病例,每个病例数据长30min,总计约有116000个心拍,包含有正常的心拍和异常的心拍内容丰富完整,本报告意在对103.txt文件里的心电信号作为我们的原心电信号数据。利用matlab提供的文件textread或textscan函数,读取103.txt数据文件中的信号,并且还原实际波形。因为在信号获取时可

2、能会有其他声音的录入,所以本报告采取滤波器来获取比较纯正的心电信号,并对此分析。借助matlab和sinmlink来分析。最终通过GUIJIE界面的形式来展现。关键词:MATLAB,心电信号,滤波器课程设计的目的和意义本设计课题主要研究数字心电信号的初步分析及滤波器的应用。通过完成本课题的设计,拟主要达到以下几个目的:(1)了解MATLAB软件的特点和使用方法,熟悉基于Simulink的动态建模和仿真的步骤和过程;(2)了解LabView虚拟仪器软件的特点和使用方法,熟悉采用LabView进行信号分析,系统设计方法即仿真过程。(3)了解人体心电信号的时域特征和频谱特征;(4)进一步了解数字信号

3、的分析方法;(5)通过应用具体的滤波器进一步加深对滤波器理解;(6)通过本课题的设计,培养学生运用所学知识分析和解决实际问题的能力。2 设计任务及技术指标及要求设计一个简单的心电信号分析系统。对输入的原始心电信号,进行一定的数字信号处理,进行频谱分析。采用Matlab语言设计,要求分别采用两种方式进行仿真,即直接采用Matlab语言编程的静态仿真方式、采用Simulink进行动态建模和仿真的方式。根据具体设计要求完成系统的程序编写、调试及功能测试。3设计方案及论证(1)心电信号的读取 txt格式的数据文件内容及格式:(2)利用读取和插值函数对信号分析 利用老师提供的函数对103.txt数据分析

4、t,Xn=duquexinhao1('103.txt'); baocun1(t,Xn);t2,Xn2=chazhi1(t,Xn); baocun2(t2,Xn2); subplot(2,1,1),plot(t,Xn),title('原信号时域波形') subplot(2,1,2),plot(t2,Xn2),title('插值后的时域波形')生成两个数据文件:n.txt(原信号有用的数据)n2,txt(插值后的数据)(3)对信号进行采样分析 注:为了后面能够快速方面调用Xn2,t2数据,首先要生成Xn2.m,t2.m文件 程序如下:save Xn2

5、,Xn2; save t2,t2; (一)对Xn2点的采样load Xn2N=9998;n=0:N-1x=Xn2plot(n,abs(x);title('信号图'); (二)对Xn2点的频谱分析load Xn2N=9998;n=0:N-1x=Xn2y=fft(x,N)plot(n,abs(y);title('信号的频谱');(3) 根据频谱图分析,设计高通滤波器和高通滤波器的参数低通滤波器的数字指标:wp=0.375*pi;ws=0.625*pi;Rp=1;As=15;T=1;高通滤波器的数字指标: wp=0.8*2*pi;ws=0.25*2*pi;Rp=0.1

6、;As=40; 3.1利用巴特沃斯响应不变法设计低通滤波器 wp=0.375*pi;ws=0.625*pi;Rp=1;As=15;T=1;%数字指标 OmegaP=wp/T;OmegaS=ws/T;%模拟指标 cs,ds=afd_butt(OmegaP,OmegaS,Rp,As)%butterworth低通滤波器原型设计函数; b,a=imp_invr(cs,ds,T)%利用脉冲响应不变法从模拟到数字滤波器变换函数db,mag,pha,w=freqz_m(b,a);subplot(2,1,1);plot(w/pi,mag); title('响应幅度') axis(0,1,0,1

7、.1) subplot(2,1,2);plot(w/pi,db); title('增益') axis(0,1,-40,5);3.2利用巴特沃斯双线性变换法设计高通滤波wp=0.8*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(B0,A0,wph); h,w=freqs(BH,AH); plot(w,20*log10(abs(h);

8、 axis(0,1,-80,5);(四)对所设计滤波器的分析:低通系统函数冲击响应和高通系统函数冲击响应wp=0.375*pi;ws=0.625*pi;Rp=1;As=15;T=1;%数字指标OmegaP=wp/T;OmegaS=ws/T;%模拟指标cs,ds=afd_butt(OmegaP,OmegaS,Rp,As)%butterworth低通滤波器原型设计函数;b,a=imp_invr(cs,ds,T)%利用脉冲响应不变法从模拟到数字滤波器变换函数H1=impz(b,a);subplot(2,1,1)plot(H1);title('低通系统函数冲击响应曲线'); wp=0.

9、8*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(B0,A0,wph);h,w=freqs(BH,AH);H2=impz(BH,AH);subplot(2,1,2);plot(H2);title('高通系统函数冲击响应曲线'); (五)信号通过滤波器的分析load Xn2wp=0.375*pi;ws=0.625*pi;Rp=1;As=15

10、;T=1;%数字指标 OmegaP=wp/T;OmegaS=ws/T;%模拟指标 cs,ds=afd_butt(OmegaP,OmegaS,Rp,As)%butterworth低通滤波器原型设计函数; b,a=imp_invr(cs,ds,T)%利用脉冲响应不变法从模拟到数字滤波器变换函数 y1=filter(b,a,Xn2);subplot(2,1,1)plot(y1);title('低通滤波后') wp=0.8*2*pi;ws=0.25*2*pi;Rp=0.1;As=40;T=1;N,wc=buttord(wp,ws,Rp,As,'s')B0,A0=butt

11、er(N,wc,'s');wph=2*pi*0.25;hk=freqs(B0,A0,wph);BH,AH=lp2hp(B0,A0,wph);h,w=freqs(BH,AH); b1,a1=imp_invr(BH,AH,T)db1,mag1,pha1,w1=freqz_m(b1,a1);y2=filter(b1,a1,y1);subplot(2,1,2);plot(y2);title('高通滤波后')(六)滤波前后频谱分析load Xn2wp=0.375*pi;ws=0.625*pi;Rp=1;As=15;T=1;%数字指标OmegaP=wp/T;OmegaS=w

12、s/T;%模拟指标cs,ds=afd_butt(OmegaP,OmegaS,Rp,As)%butterworth低通滤波器原型设计函数;b,a=imp_invr(cs,ds,T)%利用脉冲响应不变法从模拟到数字滤波器变换函数y1=filter(b,a,Xn2);wp=0.8*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(B0,A0,wph);h,w=fr

13、eqs(BH,AH);b1,a1=imp_invr(BH,AH,T)db1,mag1,pha1,w1=freqz_m(b1,a1);y2=filter(b1,a1,y1);N=9998;n=0:N-1x=Xn2y=fft(x,N)subplot(3,1,1)plot(n,abs(y);title('原信号的频谱');Y1=fft(y1,N)subplot(3,1,2),plot(n,abs(Y1)title('低通后信号的频谱');Y2=fft(y2,N)subplot(3,1,3),plot(n,abs(Y2)title('高通后信号的频谱')

14、;(七)高通和低通滤波器的零极点分析wp=0.8*2*pi;ws=0.25*2*pi;Rp=0.1;As=40;T=1;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(B0,A0,wph);h,w=freqs(BH,AH);subplot(2,1,1)zr=roots(BH) pk=roots(AH) zplane(BH,AH);title('高通零极点图') wp=0.375*pi;ws=0.625

15、*pi;Rp=1;As=15;T=1;%数字指标OmegaP=wp/T;OmegaS=ws/T;%模拟指标cs,ds=afd_butt(OmegaP,OmegaS,Rp,As)%butterworth低通滤波器原型设计函数;b,a=imp_invr(cs,ds,T)%利用脉冲响应不变法从模拟到数字滤波器变换函数db,mag,pha,w=freqz_m(b,a);subplot(2,1,2)zr=roots(b) pk=roots(a) zplane(b,a);title('低通零极点图')4 仿真调试步骤、结果及分析 利用simulink进行仿真调试 (一)导入:将原始数据导入

16、from workspace load Xn2 load t2 y=t2'Xn2''(二)对滤波器参数的设定低通滤波器参数设定 高通滤波器参数的设定(三)运行:(四)查看运行后的波形x(n)的波形 y1(n)图即通过低通滤波器后的波形 y2(n)图即通过高通滤波器后的波形(五)分析在对原始数据的导入上出现了一些问题:不能直接导入,在t2.txt文件数据的引用上不能直接引用,因为在工作空间上一次次程序的实验,早已经将t2变量的数据冲掉了,于是借用Xn2变量的引用的同样的方法,将t2保存成t2.m的调用,于此同时还必须注意采样时间的设定!刚开始由于matlab版本的不一样,

17、在时间的设定上反复出现了问题。最终得到了解决,设定如下:在设定滤波器的参数时,低通按照数字指标设定正确,但是在设定高通时发现了问题Eee unite 默认的设置是以采样频率为准的,为此要改变输入形式。将其数字指标输入时设定不符合标准。分析发现,当初在设计高通滤波器时是大体根据频谱分析图来设定数据指标的,在前面运用matlab语言设计是符合设计标准,但是实际电路会出现实际问题。为此要不断改变找出合适的指标。最终得到设定结果如下:此时通过两个滤波器后的滤波情况最后成功设定,对比分析上面三个波形,发现已经达到最初目的,则说明设定正确。电路制作调试步骤、调试结果利用simulink来进行仿真调试()首

18、先输入simulink填出工具模块窗口()其次建立一个新的空白model文件()最后画出电路图()调试结果已达到滤波效果6 电路测试方案、测试结果及分析利用GUI模块设计界面达到方便快捷的查看分析结果1. 打开界面(在command window中输入guide )弹出窗口打开新的filer建立界面 设计一个所需界面保存后生成后缀为.fig的文件.打开保存后的.fig文件,给每个键保存.m文件举例:对按键“Xn2点的采样”进行文件保存找到对应位置来添加程序添加程序为了能在所有按键出图在一个界面上,在设计界面时添加axes图标并在添加文件时加上axes(handles.axes1)来代替画图程序subplot 保存完毕后运

温馨提示

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

评论

0/150

提交评论