预览加载中,请您耐心等待几秒...
1/8
2/8
3/8
4/8
5/8
6/8
7/8
8/8

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

精品实用文档.精品实验三:用双线性变换法设计IIR数字滤波器〔设计性4学时〕:(1〕熟悉用双线性变换法设计IIR数字滤波器的原理与方法。(2〕掌握数字滤波器的计算机仿真方法。(3〕通过观察对实际心电图信号的滤波作用,获得数字滤波的感性知识。二.实验内容及步骤:(1)用双线性变换法设计一个巴特沃斯低通IIR数字滤波器,设计指标参数为:在通带内频率低于0.2pi时,最大衰减小于1dB;在阻带内[0.3pi,pi]频率区间上,,最小衰减大于15dB;(2),打印出数字滤波器在频率区间[0,0.5pi]上的幅频响应特性曲线;(3)用所设计的滤波器对实际心电图信号采样序列(在本实验后面给出)进展仿真滤波处理,并分别打印出滤波前后的心电图波形图,观察总结滤波作用与效果。〔4〕采用不同阶数的Butterworth低通滤波器,比较滤波效果。三.实验步骤:〔1〕复习有关巴特沃斯模拟滤波器设计和用双线性变换法设计IIR数字滤波器的内容,按照教材例,用双线性变换法设计数字滤波器系统函数H〔z〕。方法一:教材例种已求出满足本实验要求的数字滤波器系统函数:方法二:根据设计指标,调用MATLAB信号处理工具箱函数buttord和butter,也可得到H〔z〕。〔2〕编写滤波器仿真程序,计算H(z)对心电图信号采样序列x(n)的相应序列y(n)。〔3〕在通过计算机上运行仿真滤波程序,并调用通用绘图子程序,完成实验内容〔2〕和〔3〕。本实验要用的MATLAB绘图函数参阅教材。四.,思考题:用双线性变换法设计数字滤波器过程中,变换公式:s=中T的取值,对设计结果有无影响?为什么?五.实验报告要求〔1〕简述实验目的及原理;〔2〕由所打印的特性曲线及设计过程简述双线性变换法的特点;〔3〕比照滤波前后的心电图信号波形,说明数字滤波器的滤波过程与滤波作用;(4)简要答复思考题.六:心电图信号采样序列x(n):人体心电图信号在测量过程中往往受到工业高频干扰,所以必须经过低通滤波处理后,才能作为判断心脏功能的有用信息。下面给出一实际心电图信号采样序列样式本x(n),其中存在高频干扰,在实验中,以x(n)作为输入序列,滤除其中的干扰成分。{x(n)}={-4,-2,0,-4,-6,-4,-2,-4,-6,-6,-4,-4,-6,-6,-2,6,12,8,0,-16-38,-60,-84,-90,-66,-32,-4,-2,-4,8,12,12,10,6,6,6,4,0,0,00,0,-2,-4,0,0,0,-2,-2,0,0,-2,,-2,-2,-2,0}精品实用文档.精品参考程序:一;T=1;Fs=1/T;wpz=0.2;wsz=0.3;wp=2*tan(wpz*pi/2);ws=2*tan(wsz*pi/2);rp=1;rs=15;[N,wc]=buttord(wp,ws,rp,rs,'s');[B,A]=butter(N,wc,'s');fk=0:1/512:1;wk=2*pi*fk;Hk=freqs(B,A,wk);subplot(2,2,1);plot(fk,20*log10(abs(Hk)));gridon;xlabel('\omega/\pi');ylabel('幅度(dB)');axis([0,1,-100,5]);title('(b)');[N,wc]=buttord(wpz,wsz,rp,rs);[Bz,Az]=butter(N,wc);wk=0:pi/512:pi;Hz=freqz(Bz,Az,wk);subplot(2,2,4);plot(wk/pi,20*log10(abs(Hz)));gridon;xlabel('\omega/\pi');ylabel('幅度(dB)');axis([0,1,-100,5]);title('(b)');精品实用文档.精品二;x=[-4,-2,0,-4,-6,-4,-2,-4,-6,-6,-4,-4,-6,-6,-2,6,12,8,0,-16,-38,-60,-84,-90,-66,-32,-4,-2,-4,8,12,12,10,6,6,6,4,0,0,0,0,0,-2,-4,0,0,0,-2,-2,0,0,-2,-2,-2,-2,0];subplot(2,2,1);n=0:55;stem(n,x,'.');xlabel('n');ylabel('x(n)');title('x(n)的脉冲响应');A=0.09036;b1=[A,2*A,A];a1=[1,-1.2686,0.7051];h1=filter(b1,a1,x);[H1,w]=freqz(b1,a1,100);b2=[A,2*A,A];a2=[1,-1.0106,0.3583];h2=filter(b2,a2,h1);[H2,w]=freqz(b2,a2