数字信号处理实验四滤波器的结构

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

-1-实验四滤波器的结构一.实验内容1)认真复习数字滤波器的表示方法,信号流图的基本概念和画法;IIR数字滤波器的基本特性和FIR数字滤波器的基本特性。2)掌握IIR数字滤波器的直接I型、II型、级联型、并联型结构的特点和表示方法;FIR数字滤波器的直接型、级联型、频率抽样型以及快速卷积的结构特点和表示方法;线性相位,FIR滤波器的结构和特点;全通滤波器、梳状滤波器的特点和表示方法。二.实验内容新建函数a,代码如下:Clc;N=10;n=0:N-1;b1=[1-26-13];a1=[1-2-43-5];b2=[2-14-3-2];a2=[14-1-46];y1=impz(b1,a1,N);y2=impz(b2,a2,N);subplot(211);stem(n,abs(y1));-2-title('系统一单位冲激响应幅度谱');subplot(212);stem(n,abs(y2));title('系统二单位冲激响应幅度谱');生成图像如下:(1)直接I型-3-直接II型(2)直接I型直接II型-4-在matlab中新建函数tf2par,代码如下:function[C,B,A]=tf2par(b,a)%直接型向并联型转换M=length(b);N=length(a);[r1,p1,C]=residuez(b,a);%先求系统的单根p1,对应的留数r1及直接项Cp=cplxpair(p1,0.000000001);%先配对函数cplxpair由p1找共轭复根p,le-9的误差I=cplxcomp(p1,p);%找p1变为p的排序变化r=r1(I);%变为2阶子系统K=floor(N/2);B=zeros(K,2);A=zeros(K,3);ifK*2==N;fori=1:2:N-2pi=p(i:i+1,:);%取出一对极点ri=r(i:i+1,:);%取出一对对应留数[Bi,Ai]=residuez(ri,pi,[]);B(fix((i+1)/2),:)=real(Bi);A(fix((i+1)/2),:)=real(Ai);end;[Bi,Ai]=residuez(r(N-1),p(N-1),[]);%处理单根B(K,:)=[real(Bi)0];A(K,:)=[real(Ai)0];elsefori=1:2:N-1pi=p(i:i+1,:);ri=r(i:i+1,:);[Bi,Ai]=residuez(ri,pi,[]);B(fix((i+1)/2),:)=real(Bi);A(fix((i+1)/2),:)=real(Ai);end;-5-end;在matlab中新建函数cplxcomp,代码如下:functionI=cplxcomp(p1,p2)I=[];forj=1:length(p2)fori=1:length(p1)if(abs(p1(i)-p2(j))0.0001)I=[I,i];end;end;end;I=I';在matlab中新建函数b,代码如下:Clc;b1=[1,-3,11,-27,18];a1=[16,12,2,-4,-1];b2=[3,8,12,7,2,-2];a2=[16,24,24,14,5,1];b3=[2,10,23,34,31,16,4];a3=[36,78,87,59,26,7,1];%级联型网格系数[sos1,G1]=tf2sos(b1,a1)[sos2,G2]=tf2sos(b2,a2)[sos3,G3]=tf2sos(b3,a3)%并联型网格系数[C1,B1,A1]=tf2par(b1,a1)[C2,B2,A2]=tf2par(b2,a2)[C3,B3,A3]=tf2par(b3,a3)实验结果如下:sos1=1.0000-3.00002.00001.0000-0.2500-0.12501.00000.00009.00001.00001.00000.5000G1=0.0625sos2=1.0000-0.333301.00000.500001.00002.00002.00001.00000.50000.25001.00001.00001.00001.00000.50000.5000G2=0.1875-6-sos3=1.00003.00002.00001.00000.50000.25001.00001.00002.00001.00001.00000.33331.00001.00000.50001.00000.66670.3333G3=0.0556C1=-18B1=-10.0500-3.950028.1125-13.3625A1=1.00001.00000.50001.0000-0.2500-0.1250C2=-2B2=-0.8437-1.03120.68752.34372.34370A2=1.00000.50000.50001.00000.50000.25001.00000.50000C3=4B3=-1.1905-0.1587-1.11111.7778-1.6429-4.2143A3=1.00001.00000.33331.00000.66670.33331.00000.50000.2500(1)系统一:-7--8-系统二:-9-系统三:(2)直接II型系统一:-10-系统二:系统三:在matlab中新建函数c,代码如下:-11-Clc;b1=[1,-2,6-1,3];a=1;b2=[2,-1,4,-3,-2];b2=1;subplot(211)dimpulse(b1,a1,20);title('系统一单位脉冲响应');subplot(212)dimpulse(b2,a2,20);title('系统二单位脉冲响应');生成图像如下:-12-在matlab中新建函数d,代码如下:b1=[1,6,-3,2,-5,1];b2=[2,10,23,34,31,16,4];b3=[6,31,74,102,74,316];[sos1,G1]=tf2sos(b1,1)[sos2,G2]=tf2sos(b2,1)[sos3,G3]=tf2sos(b3,1)生成结果如下:sos1=1.00006.525301.0000001.0000-1.07280.18461.0000001.00000.54750.83031.000000G1=1sos2=1.00003.00002.00001.0000001.00001.00002.00001.0000001.00001.00000.50001.000000G2=2sos3=1.00003.111301.0000001.00003.23177.47581.0000001.0000-1.17632.26431.000000G3=6-13-级联结构:系统一:-14-系统二:-15-系统三:在matlab中新建函数tf2f2,代码如下:%频率采样型function[C,B,A]=tf2fs(h)N=length(h);H=fft(h,N);%求各频率样本值MagH=abs(H);phaH=angle(H)';if(N==2*floor(N/2))%N为偶数-16-L=N/2-1;A1=[1,-1,0;1,1,0];%设置z=+1/-1处两个实极点C1=[real(H),real(H(L+2))];%相应的系数elseL=(N-1)/2;A1=[1,-1,0];C1=[real(H)];end;k=[1:L]';B=zeros(L,2);A=ones(L,3);%初始化BA数组A(1:L,2)=-2*cos(2*pi*k/N);A=[A;A1];%计算分母系数,加上实极点系数B(1:L,2)=cos(phaH(2:L+1));%计算分子系数B(1:L,2)=-cos(phaH(2:L+1)-(2*pi*k/N));C=[2*MagH(2:L+1),C1]';%计算增益系数在matlab中新建函数e,代码如下:clc;h=[1,2,3,2,1]/9;[C,B,A]=tf2fs(h)实验结果如下:C=0.58180.08491.0000-0.23530.01310.0131-0.2353B=00.80900-0.3090A=1.0000-0.61801.00001.00001.61801.00001.0000-1.00000-17-在matlab中新建函数tf2fs2:,代码如下:%频率采样型function[C,B,A]=tf2fs2(H,N)MagH=abs(H);phaH=angle(H)';if(N==2*floor(N/2))%N为偶数L=N/2-1;A1=[1,-1,0;1,1,0];%设置z=+1/-1处两个实极点C1=[real(H),real(H(L+2))];%相应的系数elseL=(N-1)/2;A1=[1,-1,0];C1=[real(H)];end;-18-k=[1:L]';B=zeros(L,2);A=ones(L,3);%初始化BA数组A(1:L,2)=-2*cos(2*pi*k/N);A=[A;A1];%计算分母系数,加上实极点系数B(1:L,2)=cos(phaH(2:L+1));%计算分子系数B(1:L,2)=-cos(phaH(2:L+1)-(2*pi*k/N));C=[2*MagH(2:L+1),C1]';%计算增益系数在matlab中新建函数f:,代码如下:clc;H=[1,1,1,0.5,zeros(1,12)];[C,B,A]=tf2fs2(H,16)实验结果如下:C=2.00002.00001.000000001.00001.00001.00000.50000000000000000B=0-0.92390-0.70710-0.38270-0.000000.3827-19-00.707100.9239A=1.0000-1.84781.00001.0000-1.41421.00001.0000-0.76541.00001.0000-0.00001.00001.00000.76541.00001.00001.41421.00001.00001.84781.00001.0000-1.000001.00001.00000三.实验心得通过本次实验,我进一步了解了信号流图的作图方法,IIR数字滤波器和FIR数字滤波器的基本特征,强化了对IIR数字滤波器直接I型、直接II型、级联型、并联型结构的理解,对它们的结构图形也有了进一步的了解。

1 / 19
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功