《实验三用双线性变换法设计IIR数字滤波器.pdf》由会员分享,可在线阅读,更多相关《实验三用双线性变换法设计IIR数字滤波器.pdf(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、.实验三 用双线性变换法设计 IIR 数字滤波器实验工程名称:用双线性变换法设计实验工程名称:用双线性变换法设计 IIRIIR 数字滤波器数字滤波器实验工程性质:验证性实验实验工程性质:验证性实验所属课程名称:数字信号处理所属课程名称:数字信号处理实验方案学时:实验方案学时:2 2一一. . 实验目的实验目的(1) 熟悉用双线性变换法设计 IIR 数字滤波器的原理与方法。(2) 掌握数字滤波器的计算机仿真方法。(3) 通过观察对实际心电图信号的滤波作用,获得数字滤波的感性知识。二二. . 实验内容和要求实验内容和要求(1) 用双线性变换法设计一个巴特沃斯低通 IIR 数字滤波器。设计指标参数为
2、:在通带内频率低于 0.2时,最大衰减小于 1dB;在阻带内0.3,频率区间上,最小衰减大与 15dB。(2) 以 0.02为采样间隔,打印出数字滤波器在频率区间0,/2的幅频响应特性曲线。(3) 用所设计的滤波器对实际心电图信号采样序列在本实验后面给出进展仿真滤波处理,并打印出滤波前后的心电图信号波形图,观察总结滤波作用与效果。.v.三三. . 实验主要仪器设备和材料实验主要仪器设备和材料计算机,MATLAB6.5 或以上版本四四. . 实验方法、步骤及结果测试实验方法、步骤及结果测试(1) 复习有关巴特沃斯模拟滤波器设计和用双线性变换法设计 IIR 数字滤波器的内容,用双线性变换法设计数字
3、滤波器系统函数Hz。其中满足本实验要求的数字滤波器系统函数为:Hkzk133.1A1 2z1 z2式中:Hkz,k1,2,31 Bkz1Ckz23.2根据设计指标,调用 MATLAB 信号处理工具箱 buttord 和 butter,也可以得到Hz。由公式3.1和3.2可见,滤波器Hz由三个二阶滤波器H1z、H2z和H3z级联而成,如图 3-1 所示。(2) 编写滤波器仿真程序, 计算Hz对心电图采样序列x(n)的响应序列y(n)。321设yk(n)为第 k 级二阶滤波器Hk(z)的输出序列,yk-1(n)为输入序列,如图 3-1xnHzy1nHzy2nHzy3n yn所示。由3.2式可得到差
4、分方程为:图 3-1 滤波器Hz的组成ykn Ayk1n 2Ayk1n 1 Ayk1n 2 Bkykn 1Ckykn 23.3当 k=1 时,yk-1(n)=x(n)。所以H(z)对x(n)的总响应序列y(n)可以用顺序迭代算法得到。即依次对k=1,2,3,求解差分方程3.3 ,最后得到y3(n)=y(n)。.v.仿真程序就是实现上述求解差分方程和顺序迭代算法的通用程序。 也可以直接调用 MATLAB filter 函数实现仿真。(3) 在通用计算机上运行仿真滤波程序,并调用通用绘图子程序,完成实验内容2和3 。(4) 本实验中用到的心电图信号采用序列x(n)人体心电图信号在测量过程往往受到工
5、业高频干扰, 所以必须经过低通滤波处理后, 才能作为判断心脏功能的有用信息。下面给出一实际心电图信号采样序列样本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,0T=1;Fs=1/T;wpz=
6、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);grid on;xlabel(omega/pi);ylabel(幅度(dB);.v.axis(0,1,-100,5);title(b);N,wc=buttord(wpz,wsz,rp,rs);Bz,Az=butter(N,
7、wc);wk=0:pi/512:pi;Hz=freqz(Bz,Az,wk);subplot(2,2,4);plot(wk/pi,20*log10(abs(Hz);grid on;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,
8、-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,100);b3=A,2*A,A;a3=1,-0.9044,0.2155;h3=filter(b3,a3,h2);H3,w=freqz(b3,a3
9、,100);subplot(2,2,2);stem(n,h3,.);xlabel(n);ylabel(y(n);title(通过滤波器 H1(z),H2(z),H3(z)后的 y3(n)函数);subplot(2,2,3);H4=H1.*(H2);H=H4.*(H3);mag=abs(H);db=20*log10(mag+eps)/max(mag);plot(w/pi,db);xlabel(/);ylabel(20logHa3(ejw);.v.title(通过滤波器 H1(z),H2(z),H3(z)后的对数频率响应 20logHa3(ejw)函数);grid;figure(2);N=1024
10、;n=0:N/2-1;Xk=fft(x,N);AXk=abs(Xk(1:N/2);f=(0:N/2-1)*Fs/N;f=f/Fs;subplot(211);plot(f,AXk);title(x(n)的频谱);xlabel(f);ylabel(| X(k) |);axis(0,0.5,0,400);Yk=fft(y,N);AYk=abs(Yk(1:N/2);subplot(212);plot(f,AYk);title(y(n)的频谱);xlabel(f);ylabel(| Y(k) |);axis(0,0.5,0,400)%x(n)的心电脉冲函数x=-4,-2,0,-4,-6,-4,-2,-4
11、,-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,0subplot(2,2,1);n=0:55;stem(n,x,.);xlabel(n);ylabel(x(n);title(x(n)的心电脉冲函数);%通过滤波器 H1(z)后的 y1(n)函数A=0.09036;b1=A,2*A,A;a1=1,-1.2686,0.7051;h1=filter(b1,a1,x);H1,w=freqz(
12、b1,a1,100);%通过滤波器 H1(z),H2(Z)后的 y2(n)函数b2=A,2*A,A;a2=1,-1.0106,0.3583;h2=filter(b2,a2,h1);H2,w=freqz(b2,a2,100);%通过滤波器 H1(z),H2(Z),H3(Z)后的 y3(n)函数b3=A,2*A,A;a3=1,-0.9044,0.2155;h3=filter(b3,a3,h2);H3,w=freqz(b3,a3,100);subplot(2,2,2);stem(n,h3,.);xlabel(n);ylabel(y(n);title(通过滤波器 H1(Z),H2(Z),H3(Z)后的
13、 y3(n)函数);subplot(2,2,3);H4=H1.*(H2);.v.H=H4.*(H3);mag=abs(H);db=20*log10(mag+eps)/max(mag);plot(w/pi,db);xlabel(w/pi);ylabel(20logHa3(ejw);title(通过滤波器 H1(z)、H2(z)、H3(z)后的对数频率响应 20logHa3(ejw)函数);grid;MATLABMATLAB 程序清单:程序清单:%实验三,用双线性变换法设计 IIR 数字滤波器x=-4,-2,0,-4,-6,-4,-2,-4,-6,-6,-4,-4,-6,-6,-2,6,12,8,
14、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;k=1;close all;figure(1);subplot(2,2,1);n=0:55;%更正stem(n,x,.);axis(0,56,-100,50);%更正hold on;n=0:60;m=zeros(61);plot(n,m);.v.xlabel(n);ylabel(x(n);title(心电图信号采集序列 x(n);B=0.09036,2*0.09036,0.09036;A=
15、1.2686,-0.7051;A1=1.0106,-0.3583;A2=0.9044,-0.2155;while(k=3)y=filter(B,A,x);x=y;if k=2A=A1;endif k=3A=A2;endk=k+1;endsubplot(2,2,3).%The function is to filte the singal xv.n=0:55;%更正stem(n,y,.);axis(0,56,-15,5);hold on;n=0:60;m=zeros(61);plot(n,m);xlabel(n);ylabel(y(n);title(三级滤波后的心电图信号);%求数字滤波器的幅频
16、特性A=0.09036,0.1872,0.09036;B1=1,-1.2686,0.7051;B2=1,-1.0106,0.3583;B3=1,-0.9044,0.2155;H1,w=freqz(A,B1,100);H2,w=freqz(A,B2,100);H3,w=freqz(A,B3,100);H4=H1.*(H2);.v.H=H4.*(H3);mag=abs(H);db=20*log10(mag+eps)/max(mag);subplot(2,2,2)plot(w/pi,db);axis(0,0.5,-50,10);grid on;%更正title(滤波器的幅频响应曲线);程序运行结果:程序运行结果:直接运行程序, 结果输出滤波器幅频特性曲线图,有噪声的心电图采集信号波形图和经过三级二阶滤波器滤波后的心电图信号波形图,见图 3-2,比照分析就可以看出低通滤波器滤除信号中高频噪声的滤波效果。五五. . 实验报告要求实验报告要求(1) 简述实验原理及目的。(2) 由所打印的| H(ejw) |特性曲线及设计过程简述双线性变换法的特点。(3) 比照滤波前后的心电图信号波形, 说明数字滤波器的滤波过程与滤波作用。(4) 简要答复思考题。六六. . 思考题思考题.v.