1实验八数字滤波器实现实验室名称:信息学院2204实验时间:2015年11月26日姓名一、实验目的1、通过逼近给定的频率响应指标而得到数字传输函数G(z),并通过软件实现。2、利用MATLAB来研究冲激响应或有限冲激响应数字滤波器结构的软件实现。3、并联Ⅰ型实现、并联II型实现、直接II型仿真滤波器的验证仿真。二、实验内容Q8.1程序P8.1设计了什么类型的滤波器?其指标是什么?滤波器的阶数是多少?为了检验仿真,需要计算多少个冲激响应样本?仿真是正确的吗?Q8.2用转置的直接II型仿真滤波器,修改程序P8.1并运行修改后的程序。仿真是正确的吗?Q8.3生成Q8.1中产生的传输函数的一个级联实现,并编写一个程序来仿真它。其中每个单独的部分用一个直接Ⅱ型实现。验证仿真。Q8.5生成Q8.1中传输函数的一个并联Ⅰ型实现,并编写一个程序来仿真它。每一个单独的部分用直接Ⅱ型实现。验证仿真。Q8.6生成Q8.1中传输函数的一个并联II型实现,并编写一个程序来仿真它。每一个单独的部分用直接Ⅱ型实现。验证仿真。Q8.7运行程序P8.2并产生被仿真的级联格型结构的传输函数。该传输函数与式(8.35)中的相同吗?Q8.9程序设计了什么类型的滤波器?其指标是什么?滤波器的阶数是多少?形成输入的正弦序列的频率是多少?Q8.10运行P8.3并产生两个图形。哪种输入成分会在滤波器输出出现?为什么输出序列的开始部分不是一种理想的正弦曲线?修改P8.3,以便纸过滤序列X2[n]。产生的输出序列和预料的是一样的吗?证明你的答案。Q8.14程序P8.4设计了什么类型的滤波器?其指标是什么?滤波器的阶数是多少?为了验证仿真,需要多少个冲激响应样本?仿真是正确的吗?Q8.15修改程序P8.4,用直接II型仿真该滤波器,运行修改后的程序。仿真是正确的吗?Q8.16使用程序P8.4生成在习题Q8.4中产生的传输函数的一个级联实现,写出对其仿真的一个程序。其中每一个部分以直接II型实现。验证仿真。三、实验器材及软件1.微型计算机1台2.MATLAB7.0软件2四、实验原理1、可调数字滤波器的设计基础是复变量的z谱变换,通过z替换为F(z),将具有给定截止频率的数字滤波器的实现调整为具有不同截止频率的另一个实现。2、利用全通结构代替每一个延时块,可能会导致实现Gnew(z)时具有不能被实现的无延时环结构。3、设计可调有限冲激响应滤波器的一种简单方法是基于加窗的傅里叶级数方法。4、通常情况下,复数乘法和复数加法总数量是N(log2N),通使用Wn的对称性质,可进一步简化计算得复杂性。五、实验步骤1、打开计算机中的MATLAB2、在MATLAB中新建一个M-file,在其中输入实验要求的相关代码3、输入代码后调试代码,代码无误后可以得到相应的实验结果4、观察实验结果回答相关问题5、记录实验结果,将图形等截图粘贴,完成实验报告六、实验记录(数据、图表、波形、程序等)Q8.1%ProgramP8_1clearall;clc;Wp=[0.40.5];Ws=[0.10.8];Rp=1;Rs=30;[N1,Wn1]=buttord(Wp,Ws,Rp,Rs)[num,den]=butter(N1,Wn1);disp('分子系数是');disp(num);disp('分母系数是');disp(den);impres=direct2(num,den,[1zeros(1,4*N1)]);[p,d]=strucver(impres,2*N1);disp('实际分子系数是');disp(p');disp('实际分母系数是');disp(d');运行结果:N1=2Wn1=0.36080.5421分子系数是0.05710-0.114300.0571分母系数是1.0000-0.50991.2862-0.33500.4479实际分子系数是0.0571-0.0000-0.11430.00000.0571实际分母系数是31.0000-0.50991.2862-0.33500.4479Q8.2%ProgramP8_1clearall;clc;Wp=[0.40.5];Ws=[0.10.8];Rp=1;Rs=30;[N1,Wn1]=buttord(Wp,Ws,Rp,Rs)[num,den]=butter(N1,Wn1);disp('分子系数是');disp(num);disp('分母系数是');disp(den);impres=filter(num,den,[1zeros(1,4*N1)]);[p,d]=strucver(impres,2*N1);disp('实际分子系数是');disp(p');disp('实际分母系数是');disp(d');运行结果N1=2Wn1=0.36080.5421分子系数是0.05710-0.114300.0571分母系数是1.0000-0.50991.2862-0.33500.4479实际分子系数是0.05710.0000-0.114300.0571实际分母系数是1.0000-0.50991.2862-0.33500.4479Q8.3%ProgramP8clearall;clc;Wp=[0.40.5];Ws=[0.10.8];Rp=1;Rs=30;[N,Wn]=buttord(Wp,Ws,Rp,Rs)[num,den]=butter(N,Wn);[z,p,k]=tf2zp(num,den)sos=zp2sos(z,p,k)num1=[sos(1,1)sos(1,2)sos(1,3)];den1=[sos(1,4)sos(1,5)sos(1,6)];disp('第一级的分子系数是');disp(num1);disp('第一级的分母系数是');disp(den1);num2=[sos(2,1)sos(2,2)sos(2,3)];den2=[sos(2,4)sos(2,5)sos(2,6)];disp('第二级的分子系数是');disp(num2);disp('第二级的分母系数是');disp(den2);4impres1=direct2(num1,den1,[1zeros(1,2*N)]);[p1,d1]=strucver(impres1,N);disp('第一级的实际分子系数是');disp(p1');disp('第一级的实际分母系数是');disp(d1');impres2=direct2(num2,den2,[1zeros(1,2*N)]);[p2,d2]=strucver(impres2,N);disp('第二级的实际分子系数是');disp(p2');disp('第二级的实际分母系数是');disp(d2');运行结果N=2Wn=0.36080.5421sos=0.05710.11430.05711.00000.08770.66011.0000-2.00001.00001.0000-0.59760.6785第一级的分子系数是0.05710.11430.0571第一级的分母系数是1.00000.08770.6601第二级的分子系数是1.0000-2.00001.0000第二级的分母系数是1.0000-0.59760.6785第一级的实际分子系数是0.05710.11430.0571第一级的实际分母系数是1.00000.08770.6601第二级的实际分子系数是1.0000-2.00001.0000第二级的实际分母系数是1.0000-0.59760.6785Q8.5clearall;clc;Wp=[0.40.5];Ws=[0.10.8];Rp=1;Rs=30;[N,Wn]=buttord(Wp,Ws,Rp,Rs)[num,den]=butter(N,Wn);[r1,p1,k1]=residuez(num,den);disp('并联I型')5disp('留数是');disp(r1);disp('极点是');disp(p1);disp('常数');disp(k1);numI1=[2*real(r1(1))-2*(real(r1(1))*real(p1(1))+imag(r1(1))*imag(p1(1)))];denI1=[1-2*real(p1(1))real(p1(1))^2+imag(p1(1))^2];numI2=[2*real(r1(3))-2*(real(r1(3))*real(p1(3))+imag(r1(3))*imag(p1(3)))];denI2=[1-2*real(p1(3))real(p1(3))^2+imag(p1(3))^2];disp('并联I型的常数是');disp(k1);disp('并联I型的第一级的分子系数是');disp(numI1);disp('并联I型的第一级的分母系数是');disp(denI1);disp('并联I型的第二级的分子系数是');disp(numI2);disp('并联I型的第二级的分母系数是');disp(denI2);impresI1=direct2(numI1,denI1,[1zeros(1,2*N)]);[pI1,dI1]=strucver(impresI1,N);disp('并联I型的第一级的实际分子系数是');disp(pI1');disp('并联I型的第一级的实际分母系数是');disp(dI1');impresI2=direct2(numI2,denI2,[1zeros(1,2*N)]);[pI2,dI2]=strucver(impresI2,N);disp('并联I型的第二级的实际分子系数是');disp(pI2');disp('并联I型的第二级的实际分母系数是');disp(dI2');运行结果如下N=2Wn=0.36080.5421并联I型留数是-0.0235+0.1978i-0.0235-0.1978i-0.0117-0.2132i-0.0117+0.2132i极点是0.2988+0.7676i0.2988-0.7676i-0.0438+0.8113i-0.0438-0.8113i常数0.1276并联I型的常数是0.1276并联I型的第一级的分子系数是-0.0470-0.2897并联I型的第一级的分母系数是61.0000-0.59760.6785并联I型的第二级的分子系数是-0.02340.3448并联I型的第二级的分母系数是1.00000.08770.6601并联I型的第一级的实际分子系数是-0.0470-0.2897-0.0000并联I型的第一级的实际分母系数是1.0000-0.59760.6785并联I型的第二级的实际分子系数是-0.02340.34480.0000并联I型的第二级的实际分母系数是1.00000.08770.6601Q8.6%ProgramP8clearall;clc;Wp=[0.40.5];Ws=[0.10.8];Rp=1;Rs=30;[N,Wn]=buttord(Wp,Ws,Rp,Rs)[num,den]=butter(N,Wn);[r2,p2,k2]=residue(num,den);disp('并联II型')disp('留数是');disp(r2);disp('极点是');disp(p2);disp('常数是');disp(k2);numII1=[02*real(r2(1))-2*(real(r2(1))*real(p2(1))+imag(r2(1))*imag(p2(1)))];denII1=[1-2*real(p2(1))real(p2(1))^2+imag(p2(1))^2];numII2=[02*real(r2(3))-2*(real(r2(3))*real(p2(3))+imag(r2(3))*imag(p2(3)))];denII2=[1-2*real(p2(3))real(p2(3))^2+imag(p2(3))^2];disp('并联II型的常数是');disp(k2);disp('并联II型的第一级的分子系数是');disp(numII1)