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

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

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

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

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

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

..实验三用双线性变换法设计IIR数字滤波器实验工程名称:用双线性变换法设计IIR数字滤波器实验工程性质:验证性实验所属课程名称:数字信号处理实验方案学时:2一.实验目的(1)熟悉用双线性变换法设计IIR数字滤波器的原理与方法。(2)掌握数字滤波器的计算机仿真方法。(3)通过观察对实际心电图信号的滤波作用,获得数字滤波的感性知识。二.实验内容和要求(1)用双线性变换法设计一个巴特沃斯低通IIR数字滤波器。设计指标参数为:在通带内频率低于0.2π时,最大衰减小于1dB;在阻带内[0.3π,π]频率区间上,最小衰减大与15dB。(2)以0.02π为采样间隔,打印出数字滤波器在频率区间[0,π/2]的幅频响应特性曲线。(3)用所设计的滤波器对实际心电图信号采样序列〔在本实验后面给出〕进展仿真滤波处理,并打印出滤波前后的心电图信号波形图,观察总结滤波作用与效果。.v...三.实验主要仪器设备和材料计算机,MATLAB6.5或以上版本四.实验方法、步骤及结果测试(1)复习有关巴特沃斯模拟滤波器设计和用双线性变换法设计IIR数字滤波器的内容,用双线性变换法设计数字滤波器系统函数Hz。其中满足本实验要求的数字滤波器系统函数为:3Hz〔3.1〕kk1A12z1z2式中:Hz,k1,2,3〔3.2〕k1Bz1Cz2kk根据设计指标,调用MATLAB信号处理工具箱buttord和butter,也可以得到Hz。由公式〔3.1〕和〔3.2〕可见,滤波器Hz由三个二阶滤波器Hz、Hz12和Hz级联而成,如图3-1所示。3(2)编写滤波器仿真程序,计算Hz对心电图采样序列x(n)的响应序列y(n)。xnynynynyn123HzHzHz设y(n)为第1k级二阶滤波器H2(z)的输出序列,y3(n)为输入序列,如图3-1kkk-1所示。由〔3.2〕式可得到差分方程为:图3-1滤波器Hz的组成ynAyn2Ayn1Ayn2Byn1Cyn2〔3.3〕kk1k1k1kkkk当k=1时,y(n)=x(n)。所以H(z)对x(n)的总响应序列y(n)可以用顺序迭代k-1算法得到。即依次对k=1,2,3,求解差分方程〔3.3〕,最后得到y(n)=y(n)。3.v...仿真程序就是实现上述求解差分方程和顺序迭代算法的通用程序。也可以直接调用MATLABfilter函数实现仿真。(3)在通用计算机上运行仿真滤波程序,并调用通用绘图子程序,完成实验内容〔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,0,0,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)');.v...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