河北工业大学信息工程学院 信号与线性系统课程设计 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);
主函数如下
(1)、将信号通过低通、高通、带阻滤波器程序
[t,Xn]=duquexinhao1('117.txt'); baocun1(t,Xn) %保存读取信号
[t1,Xn1]=xianxingchazhi(t,Xn);
baocun2(t1,Xn1)%保存插值后信号
xy=[t1,Xn1]; %仿真输入二维数组 figure(1)
keshehuatu(t,Xn,t1,Xn1) %画原始信号和插值后信号波形和频谱wp=90*2*pi; %低通滤波器滤波 ws=99*2*pi; p=1; s=35;
[H1,f]=kesheditonglvboqi(wp,ws,p,s,Xn1); wp=4*2*pi; %高通滤波器滤波 ws=0.25*2*pi; p=1; s=35;
[H2,f]=keshegaotonglvboqi(wp,ws,p,s,Xn1); wp=[58,62]*2*pi; %带阻滤波器 ws=[59.9,60.1]*2*pi;
[H3,f]=keshedaizulvboqi(wp,ws,p,s,Xn1);
H=abs(H1).*abs(H2).*abs(H3); %低通和高通和带阻组合的滤波器 Y=H'.*abs(fft(Xn1)); %经过滤波后心电信号频谱 y=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('高通滤波器') subplot(2,2,3) plot(f,abs(H3))
axis([0,150,0,1.5]) title('带阻滤波器')
5
河北工业大学信息工程学院 信号与线性系统课程设计 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,y)
title('滤波后信号')
所出图形如下
6
河北工业大学信息工程学院 信号与线性系统课程设计
7
河北工业大学信息工程学院 信号与线性系统课程设计 结果分析:
(2)、直接通过带通滤波器程序
[t,Xn]=duquexinhao1('117.txt'); baocun1(t,Xn) %保存读取信号
[t1,Xn1]=xianxingchazhi(t,Xn); baocun2(t1,Xn1)%保存插值后信号 figure(1)
keshehuatu(t,Xn,t1,Xn1) %画原始信号和插值后信号波形和频谱 wp=[2,80]*2*pi; ws=[0.25,99]*2*pi; p=1; s=35;
[H1,f]=kesheditonglvboqi(wp,ws,p,s,Xn1); H=abs(H1) ; %带通
Y=H'.*abs(fft(Xn1));%经过滤波后心电信号频谱 y=ifft(Y); %滤波后心电信号时域波形 figure(2)
subplot(1,2,1) plot(f,abs(H1))
axis([0,200,0,1.5]) title('带通滤波器')
8
相关推荐: