版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、信号与系统课程设计报告课题二 心电信号分析系统的设计与仿真班级:姓名:学号:组号及同组人:指导教师:日期:2015年1月5日心电信号分析系统的设计与仿真摘要:本文利用matlab对mit-bih数据库中的心电信号进行分析,利用matlab软件、simulink平台、gui图形用户界面、labview软件对心电信号进行读取、插值、高通低通滤波等处理。并画出时域、频域波形进行比较分析。同时将滤波器的系统函数进行读取,分析,画出滤波的信号流程图,并画出系统的冲击响应、幅频响应、相位响应和零极点图来判断系统的稳定性。关键词:matlab,simulink,心电信号,数字滤波器,gui,labviewa
2、bstract:thisarticle makes use of matlab to analyze ecg signal of mit-bih ecg database.to ecg signal .we collect it first.then we makelinear interpolation.finally we carry a variable of filter including lowpass andhigh pass.we will compare differences after painting the time domain and frequency doma
3、in waveform .at the same time we read and analyze the system function of filter with painting its the flow chart of the signal.fanally we paint system shock response along with amplitude-frequency response and phase response.we judge system stability by zero pole figure.key words:matlab, simulink, e
4、cg signal, digitalfilter, gui, labview1、 课程设计目的、意义本设计课题主要研究数字心电信号的初步分析方法及滤波器的设计与应用。通过完成本课题的任务,拟主要达到以下几个目的:1了解matlab软件的特点和使用方法,熟悉基于simulink的动态建模和仿真的步骤和过程;2. 了解labview虚拟仪器软件的特点和使用方法,熟悉采用labview进行信号分析、系统设计及仿真的方法。3了解人体心电信号的时域特征和频谱特征;4通过设计具体的滤波器进一步加深对滤波器性能的理解;5掌握数字心电信号的分析方法,学会系统设计与软件仿真方法;6通过本课题的训练,培养学生运用
5、所学知识分析和解决实际问题的能力。二、课程设计任务及要求(一)基于matlab的简单心电信号分析系统设计1.对原始数字心电信号进行读取,由数字信号数据绘制出其时域波形并加以分析。2.对数字信号数据做一次线性插值,使其成为均匀数字信号,以便后面的信号分析。3.根据心电信号的频域特征(自己查阅相关资料),设计相应的滤波器去除噪声。4.绘制进行信号处理前后的频谱,做频谱分析,得出相关结论。5.使用gui进行系统的图形用户界面设计,(包含以上功能)。(二)基于labview虚拟仪器的简单心电信号分析系统设计1.进行心电信号的频谱分析,根据心电信号的频域特征(自己查阅相关资料),设计相应的滤波器去除噪声
6、。要求给出系统的前面板和框图,并记录仿真结果。 2.根据心电信号的特征,针对系统进行功能拓展,记录仿真结果,并进行相应的分析。三、设计方案过程及论证(一)matlab部分 1.设计流程:开始采集原始心电信号线性插值带通滤波器低通滤波器带阻滤波器高通滤波器带阻滤波器绘图结束2.程序(1)m文件%读取心电信号并转化为数组形式function t,xn=duqushuju(w)fid=fopen(w)c=textscan(fid,%8c %f %*f,headerlines,2)%去除前两行fclose(fid);a=c2;b=c1;k=length(b);for i=1:k c(i)=strrea
7、d(b(i,:),%*s %f,delimiter,:);endc=c;d=c,a;t=d(:,1); %时间xn=d(:,2); %幅度%线性插值function t3,xn3=xianxingchazhi(t,xn)m=max(t);t3=0:0.001:m;t3=t3;xn3=interp1(t,xn,t3);%低通滤波器function h,f=ditonglvboqi(wp,ws,rp,as,xn1)t=0.001;f=1./t;n,wc=buttord(wp,ws,rp,as,s);b,a=butter(n,wc,s);f=(0:length(xn1)-1)*f/length(xn
8、1);w=f*2*pi;h=freqs(b,a,w);%高通滤波器function h,f=gaotonglvboqi(wp,ws,rp,as,xn1)t=0.001;fs=1/t;n,wc=buttord(wp,ws,rp,as,s);b,a=butter(n,wc,high,s);f=(0:length(xn1)-1)*fs/length(xn1);w=f*2*pi;h=freqs(b,a,w);%带通滤波器function h,f=ditonglvboqi(wp,ws,rp,as,xn1)t=0.001;f=1./t;n,wc=buttord(wp,ws,rp,as,s);b,a=but
9、ter(n,wc,s);f=(0:length(xn1)-1)*f/length(xn1);w=f*2*pi;h=freqs(b,a,w);%带阻滤波器function h,f=daizulvboqi(wp,ws,p,s,xn1)t=0.001;f=1./t;n,wc=buttord(wp,ws,p,s,s)b,a=butter(n,wc,stop,s);f=(0:length(xn1)-1)*f/length(xn1);w=f*2*pi;h=freqs(b,a,w);%滤波器的幅值响应、相位响应及群延迟响应function db,mag,pha,w=freqz_m(b,a);h,w=freq
10、z(b,a,1000,whole); %在0-2*pi之间选取n个点计算频率响应h=(h(1:501); %频率响应 w=(w(1:501); %频率mag=abs(h); %响应幅度db=20*log10(mag+eps)/max(mag); %增益pha=angle(h); %变直接形式为级联形式 function b0,b,a=dir2cas(b,a)b0=b(1);b=b/b0;a0=a(1);a=a/a0;b0=b0/a0; %以上步骤求出系数b0m=length(b); n=length(a);if nm b=b zeros(1,n-m);elseif mn a=a zeros(1
11、,m-n);else nm=0;endk=floor(n/2); b=zeros(k,3); a=zeros(k,3);if k*2=n b=b 0; a=a 0;end broots=cplxpair(roots(b); %以下程序将每两个极点和两个零点组合成二阶因子aroots=cplxpair(roots(a); % roots:求多项式的根for i=1:2:2*k brow=broots(i:1:i+1,:); brow=real(poly(brow); b(fix(i+1)/2,:)=brow; arow=aroots(i:1:i+1,:); arow=real(poly(arow
12、); a(fix(i+1)/2,:)=arow;end%读取2.5s心电信号并转化为数组形式function t,xn=duqushuju1(w)fid=fopen(w)c=textscan(fid,%8c %f %*f,headerlines,2)%去除前两行fclose(fid);a=c2;b=c1;k=length(b);for i=1:k c(i)=strread(b(i,:),%*s %f,delimiter,:);endc=c;d=c,a;for i=1:k if c(i)=2.5; %读取2.5秒 e(i,:)=d(i,:); else break; endendt=e(:,1)
13、; %时间xn=e(:,2); %幅度(2)(3) 主程序%主函数 %将信号通过低通、高通、带阻滤波器程序t,xn=duqushuju(117.txt); %读取原心电信号fid=fopen(xn.txt,wt); %保存原信号fprintf(fid,%gn,xn);fclose(fid);t1,xn1=xianxingchazhi(t,xn); %线性插值fid=fopen(xn1.txt,wt); %保存插值后信号 fprintf(fid,%gn,xn1);fclose(fid);shuru=t1,xn1 figure(1)subplot(2,2,1)plot(t,xn)title(初始信
14、号时域波形) %原心电信号时域波形subplot(2,2,2)y=fft(xn);plot(abs(y)title(初始信号频谱) %原时域信号频谱subplot(2,2,3)plot(t1,xn1)title(插值信号时域波形)y1=fft(xn1);subplot(2,2,4)plot(abs(y1)title(插值信号频谱)wp=90*2*pi; %低通滤波器滤波ws=99*2*pi;p=1;s=30;h1,f=ditonglvboqi(wp,ws,p,s,xn1);wp=1*2*pi; %高通滤波器滤波ws=0.25*2*pi;p=1;s=80;h2,f=gaotonglvboqi(w
15、p,ws,p,s,xn1);wp=48,53*2*pi; %带阻滤波器ws=49,51*2*pi;p=1;s=35;h3,f=daizulvboqi(wp,ws,p,s,xn1);h=abs(h1).*abs(h2).*abs(h3); %低通和高通和带阻组合的滤波网络y=h.*abs(fft(xn1); f1=ifft(y); %滤波后心电信号时域波形figure(2)subplot(2,2,1)plot(f,abs(h1)axis(0,150,0,1.5)title(低通滤波器)subplot(2,2,2)plot(f,abs(h2)axis(0,50,0,1.5)title(高通滤波器)
16、subplot(2,2,3)plot(f,abs(h3)axis(0,150,0,1.5)title(带阻滤波器)subplot(2,2,4)plot(f,abs(h)axis(0,100,0,1.5)title(混合滤波器)figure(3)plot(f,abs(y)axis(0,100,0,80)title(滤波后心电信号频谱)figure(4)subplot(2,1,1)plot(t1,xn1)title(滤波前信号)subplot(2,1,2)plot(t1,abs(f1)title(滤波后信号)axis(0,10,0,0.5)图 1图 2 图 3图 4图 5%直接通过带通滤波器程序后
17、通过50hz工频陷波器t,xn=duqushuju(117.txt);fid=fopen(xn.txt,wt);fprintf(fid,%gn,xn);fclose(fid);t1,xn1=xianxingchazhi(t,xn);fid=fopen(xn1.txt,wt);fprintf(fid,%gn,xn1);fclose(fid); wp=1,86*2*pi;ws=0.25,99*2*pi;p=1; %带通s=30;h1,f=daitonglvboqi(wp,ws,p,s,xn1); wp=48,53*2*pi;ws=49,51*2*pi;h2,f=daizulvboqi(wp,ws,
18、p,s,xn1); %50hz工频陷波器设计h=h1.*h2 y=h1.*h2.*abs(fft(xn1); %经过滤波后心电信号频谱y=ifft(y); %滤波后心电信号时域波形figure(1)subplot(1,2,1)plot(f,abs(h1)axis(0,200,0,1.5)title(带通滤波器)subplot(1,2,2)plot(f,abs(h2)axis(0,150,0,1.5)title(50hz工频陷波器设计)figure(2)plot(f,abs(y)axis(0,100,0,80)title(滤波后心电信号频谱)figure(3)subplot(2,1,1)plot
19、(t1,xn1)title(滤波前信号)subplot(2,1,2) %6阶带阻滤波器plot(t1,y)title(滤波后信号) axis(0,10,0,0.5) 图 6 图 7图 8 图 9%直接通过带通滤波器滤波程序t,xn=duqushuju(117.txt);fid=fopen(xn.txt,wt);fprintf(fid,%gn,xn); fclose(fid);t1,xn1=xianxingchazhi(t,xn);fid=fopen(xn1.txt,wt);fprintf(fid,%gn,xn1);fclose(fid);shuru=t1,xn1 ;figure(1)subpl
20、ot(2,2,1)plot(t,xn)title(初始信号时域波形)subplot(2,2,2)y=fft(xn);plot(abs(y)title(初始信号频谱)subplot(2,2,3)plot(t1,xn1)title(插值信号时域波形)y1=fft(xn1);subplot(2,2,4)plot(abs(y1)title(插值信号频谱)wp=1,86*2*pi;ws=0.25,99*2*pi;p=1;s=30;h1,f=daitonglvboqi(wp,ws,p,s,xn1);h=abs(h1); %29阶带通滤波器y=h.*abs(fft(xn1); %经过滤波后心电信号频谱y=i
21、fft(y); %滤波后心电信号时域波形figure(2)subplot(1,2,1)plot(f,abs(h1)axis(0,200,0,1.5)title(带通滤波器)subplot(1,2,2)plot(f,abs(y)axis(0,100,0,80)title(滤波后心电信号频谱)figure(3)subplot(2,2,1)plot(t1,xn1)title(滤波前信号)subplot(2,2,2)plot(t1,abs(y)axis(0,10,0,0.5)title(滤波后信号)subplot(2,2,3)plot(t1,xn1)axis(0,1.5,-1.5,1.5)title(
22、滤波前截取的一部分信号)subplot(2,2,4)plot(t1,abs(y)axis(0,1.5,-1.5,1.5)title(滤波后截取一部分信号) 图 10图 11%将信号通过低通、高通组合成的带通滤波器程序t,xn=duqushuju(117.txt);fid=fopen(xn.txt,wt);fprintf(fid,%gn,xn);fclose(fid);t1,xn1=xianxingchazhi(t,xn);fid=fopen(xn1.txt,wt);fprintf(fid,%gn,xn1);fclose(fid); %画原始信号和插值后信号波形和频谱 xy=t1,xn1; wp
23、=90*2*pi; %低通滤波器滤波 ws=99*2*pi; p=1; s=30; h1,f=ditonglvboqi(wp,ws,p,s,xn1); wp=1*2*pi; %高通滤波器滤波 ws=0.25*2*pi; p=1; s=80; h2,f=gaotonglvboqi(wp,ws,p,s,xn1); h=abs(h1).*abs(h2); %低通和高通组合的带通 y=h.*abs(fft(xn1); %经过滤波后心电信号频谱 y=ifft(y); %滤波后心电信号时域波形 figure(1) subplot(2,2,1) plot(f,abs(h1) axis(0,100,0,1.5
24、) title(低通滤波器) subplot(2,2,2) plot(f,abs(h2) axis(0,100,0,1.5) title(高通滤波器) subplot(2,2,3) plot(f,abs(h) axis(0,100,0,3) title(组合 带通滤波器) subplot(2,2,4) plot(f,abs(y) axis(0,100,0,260) title(滤波后心电信号频谱) figure(2) subplot(2,1,1) plot(t1,xn1) title(滤波前信号) subplot(2,1,2) plot(t1,y) title(滤波后信号) axis(0,10
25、,0,0.5)图 12图 13图 14wp=1,90*2*pi;ws=0.25,99*2*pi;p=1; %带通s=30;n,wc=ellipord(wp./1000,ws./1000,p,s);b,a=ellip(n,p,s,wc) h1=impz(b,a); figure(1)subplot(1,2,1)plot(h1)axis(0,10,-0.3,0.5)title(带通h(n)subplot(1,2,2)dstep(b,a,200)title(带通阶跃响应)figure(2)db,mag,pha,w=freqz_m(b,a);subplot(1,2,1)plot(mag)axis(0,
26、500,0,2)title(带通幅频特性)subplot(1,2,2)b1=roots(b) %求出系统的零点a1=roots(a) %求出系统的极点zplane(b,a) %zplane函数画出零极点图title(带通幅零极点图) b0,b,a=dir2cas(b,a) p=roots(a1) %求h(z)的极点 pm=abs(p); %求h(z)的极点的模 if max(pm)1 disp(系统因果稳定), else disp(系统不因果稳定), end b0 = 0.1672b = 1.0000 1.0560 1.0000 1.0000 0.6125 1.0000 1.0000 -1.9
27、997 1.0000 1.0000 -1.9998 1.0000 1.0000 0.0000 -1.0000a = 1.0000 0.3973 0.9370 1.0000 0.0433 0.6182 1.0000 -1.9883 0.9889 1.0000 -1.9983 0.9987 1.0000 -1.2649 0.2960 运行结果:系统不因果稳定 图 15图 16(4) 扩展题%主函数 %将信号通过低通、高通、带阻滤波器程序t,xn=duqushuju1(117.txt); %读取2.5s原心电信号fid=fopen(xn.txt,wt); %保存原信号fprintf(fid,%gn,
28、xn);fclose(fid);t1,xn1=xianxingchazhi(t,xn); %线性插值fid=fopen(xn1.txt,wt); %保存插值后信号 fprintf(fid,%gn,xn1);fclose(fid);shuru=t1,xn1 wp=90*2*pi; %低通滤波器滤波ws=99*2*pi;p=1;s=30;h1,f=ditonglvboqi(wp,ws,p,s,xn1);wp=1*2*pi; %高通滤波器滤波ws=0.25*2*pi;p=1;s=80;h2,f=gaotonglvboqi(wp,ws,p,s,xn1);wp=48,53*2*pi; %带阻滤波器ws=
29、49,51*2*pi;p=1;s=35;h3,f=daizulvboqi(wp,ws,p,s,xn1);h=abs(h1).*abs(h2).*abs(h3); %低通和高通和带阻组合的滤波网络y=h.*abs(fft(xn1); f1=ifft(y); %滤波后心电信号时域波形figure(1)subplot(2,2,1)plot(f,abs(h1)axis(0,150,0,1.5)title(低通滤波器)subplot(2,2,2)plot(f,abs(h2)axis(0,50,0,1.5)title(高通滤波器)subplot(2,2,3)plot(f,abs(h3)axis(0,150
30、,0,1.5)title(带阻滤波器)subplot(2,2,4)plot(f,abs(h)axis(0,100,0,1.5)title(混合滤波器)figure(2)plot(f,abs(y)axis(0,100,0,80)title(滤波后心电信号频谱)figure(3)subplot(2,1,1)plot(t1,xn1)title(滤波前信号)subplot(2,1,2)plot(t1,abs(f1)title(滤波后信号) 图17 图18图 19(4)simulink部分图 20图 21图 22图 23(5)gui部分图 24图 25(2) labview部分1.设计流程 设计一个简单
31、的心电信号分析系统。其基本功能包括:输入原始心电信号,对其做一定的数字信号处理,进行时域显示、分析及频谱分析。其具体流程如下:读取原始心电信号对原始信号进行线性插值开始对插值后的信号进行滤波观察及分析各阶段信号时域波形及频谱波形结束 2.整体设计框图及整体前面板展示图 26前面板:图 273.各部分设计原理及程序框图,滤波器参数设计 (一)信号读取 a.设计原理 麻省理工学院提供的mit-bih数据库,采用txt格式的数据文件作为我们的原心电信号数据。利用labview提供的文件i/o函数,读取txt数据文件中的信号,并且还原实际波形。此数据库的数据文件的前两行为解释说明文字,不是真正的信号数
32、据,读取信号程序需要自动忽略前两行文字,只读取真正的数字信号数据。另外labview默认的从文本文件中读取的数据都是字符串,因此在使用心电信号数据前需要将其转换为数值才可以。第一列时间数据均为0:00.001这种格式,因此需要将字符串0:00.001先转化为字符串0.001,即去除字符串中冒号以前的部分,然后再将其转为数值。最后利用已经转为数值的分别代表心电信号时间和幅值的两个一维数组,图形化还原原始心电信号波形,图形化时可使用控件xy图。 b.程序框图图 28读取信号子vi展开:图 29(二)线性插值 a.设计原理 由于原始心电信号数据不是通过等间隔采样得到的,也就是说原始的心电数据并不是均匀的,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 便民市场摊贩工作总结
- 幼儿园中班教案《秋风》含反思
- 2024年度贷款购买房产纠纷调解合同3篇
- 内科护理工作总结
- 房地产业员工培训方案
- 建筑行业装修设计经验分享
- 委托清收处置协议
- 2024年度高科技研发项目单方保密协议书3篇
- 托育大班游戏课程设计
- 游泳课程设计原理
- 车辆灭失承诺书
- 唐诗宋词鉴赏(第二版)PPT完整全套教学课件
- 微机保护装置改造施工方案
- 门诊病历书写模板全
- 煤油(火油)的理化性质及危险特性表MSDS
- 锅炉延期检验申请书
- 液压与气压传动中职PPT完整全套教学课件
- 国开大学2023年01月11067《知识产权法》期末考试答案
- 直接打印800字作文纸
- (完整word版)人教版高中数学大纲
- 货物供货总体服务方案
评论
0/150
提交评论