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

上传人:李医生 文档编号:7225949 上传时间:2020-11-07 格式:DOC 页数:19 大小:652.50KB
返回 下载 相关 举报
数字信号处理实验四滤波器的结构.doc_第1页
第1页 / 共19页
数字信号处理实验四滤波器的结构.doc_第2页
第2页 / 共19页
数字信号处理实验四滤波器的结构.doc_第3页
第3页 / 共19页
数字信号处理实验四滤波器的结构.doc_第4页
第4页 / 共19页
数字信号处理实验四滤波器的结构.doc_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《数字信号处理实验四滤波器的结构.doc》由会员分享,可在线阅读,更多相关《数字信号处理实验四滤波器的结构.doc(19页珍藏版)》请在三一文库上搜索。

1、实验四 滤波器的结构一实验内容1)认真复习数字滤波器的表示方法,信号流图的基本概念和画法;IIR 数字滤波器的基本特性和FIR 数字滤波器的基本特性。2)掌握IIR 数字滤波器的直接I 型、II 型、级联型、并联型结构的特点和表示方法;FIR数字滤波器的直接型、级联型、频率抽样型以及快速卷积的结构特点和表示方法;线性相位,FIR 滤波器的结构和特点;全通滤波器、梳状滤波器的特点和表示方法。二实验内容新建函数a,代码如下:Clc;N=10;n=0:N-1;b1=1 -2 6 -1 3;a1=1 -2 -4 3 -5;b2=2 -1 4 -3 -2;a2=1 4 -1 -4 6;y1=impz(b

2、1,a1,N);y2=impz(b2,a2,N);subplot(211);stem(n,abs(y1);title(系统一单位冲激响应幅度谱);subplot(212);stem(n,abs(y2);title(系统二单位冲激响应幅度谱);生成图像如下:(1)直接I型直接II型(2)直接I型直接II型在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.000

3、000001);%先配对函数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);if K*2=N; for i=1:2:N-2 pi=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(

4、N-1),);%处理单根 B(K,:)=real(Bi) 0;A(K,:)=real(Ai) 0;else for i=1:2:N-1 pi=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;end;在matlab中新建函数cplxcomp,代码如下:function I=cplxcomp(p1,p2)I=;for j=1:length(p2) for i=1:length(p1) if (abs(p1(i)-p2(j)0.00

5、01) 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=tf

6、2par(b3,a3)实验结果如下:sos1 = 1.0000 -3.0000 2.0000 1.0000 -0.2500 -0.1250 1.0000 0.0000 9.0000 1.0000 1.0000 0.5000G1 = 0.0625sos2 = 1.0000 -0.3333 0 1.0000 0.5000 0 1.0000 2.0000 2.0000 1.0000 0.5000 0.2500 1.0000 1.0000 1.0000 1.0000 0.5000 0.5000G2 = 0.1875sos3 = 1.0000 3.0000 2.0000 1.0000 0.5000 0.

7、2500 1.0000 1.0000 2.0000 1.0000 1.0000 0.3333 1.0000 1.0000 0.5000 1.0000 0.6667 0.3333G3 = 0.0556C1 = -18B1 = -10.0500 -3.9500 28.1125 -13.3625A1 = 1.0000 1.0000 0.5000 1.0000 -0.2500 -0.1250C2 = -2B2 = -0.8437 -1.0312 0.6875 2.3437 2.3437 0A2 = 1.0000 0.5000 0.5000 1.0000 0.5000 0.2500 1.0000 0.5

8、000 0C3 = 4B3 = -1.1905 -0.1587 -1.1111 1.7778 -1.6429 -4.2143A3 = 1.0000 1.0000 0.3333 1.0000 0.6667 0.33331.0000 0.5000 0.2500(1)系统一:系统二:系统三:(2)直接II型系统一:系统二:系统三:在matlab中新建函数c,代码如下: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,

9、20);title(系统二单位脉冲响应);生成图像如下:在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.0000 6.5253 0 1.0000 0 0 1.0000 -1.0728 0.1846 1.0000 0 0 1.0000 0.5475 0.8303 1.0000 0 0G1 = 1sos2 = 1.0000 3.0000

10、2.0000 1.0000 0 0 1.0000 1.0000 2.0000 1.0000 0 0 1.0000 1.0000 0.5000 1.0000 0 0G2 = 2sos3 = 1.0000 3.1113 0 1.0000 0 0 1.0000 3.2317 7.4758 1.0000 0 0 1.0000 -1.1763 2.2643 1.0000 0 0G3 = 6级联结构:系统一:系统二:系统三:在matlab中新建函数tf2f2,代码如下:%频率采样型function C,B,A=tf2fs(h)N=length(h);H=fft(h,N);%求各频率样本值MagH=abs(

11、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);%相应的系数else L=(N-1)/2;A1=1,-1,0; C1=real(H);end;k=1:L;B=zeros(L,2); A=ones(L,3);%初始化数组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

12、*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.5818 0.0849 1.0000 -0.2353 0.0131 0.0131 -0.2353B = 0 0.8090 0 -0.3090A = 1.0000 -0.6180 1.0000 1.0000 1.6180 1.0000 1.0000 -1.0000 0在matlab中新建函数tf2fs2:,代码如下:%频率采样型function C,B,A=tf2fs2(H,N)MagH=abs(H

13、);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);%相应的系数else L=(N-1)/2;A1=1,-1,0; C1=real(H);end;k=1:L;B=zeros(L,2); A=ones(L,3);%初始化数组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*

14、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.0000 2.0000 1.0000 0 0 0 0 1.0000 1.0000 1.0000 0.5000 0 0 0 0 0 0 0 0 0 0 0 0 0B = 0 -0.9239 0 -0.7071 0 -0.3827 0 -0.0000 0 0.3827 0 0.7071 0 0.9239A = 1.0000 -1.8478 1.0000 1.0000 -1.4142 1.0000 1.0000 -0.7654 1.0000 1.0000 -0.0000 1.0000 1.0000 0.7654 1.0000 1.0000 1.4142 1.0000 1.0000 1.8478 1.0000 1.0000 -1.0000 0 1.0000 1.0000 0三实验心得通过本次实验,我进一步了解了信号流图的作图方法,IIR数字滤波器和FIR数字滤波器的基本特征,强化了对IIR数字滤波器直接I型、直接II型、级联型、并联型结构的理解,对它们的结构图形也有了进一步的了解。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1