实验四 滤波器的结构
一.实验内容
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(b1,a1,N); y2=impz(b2,a2,N); subplot(211); stem(n,abs(y1));
- 1 -
title('系统一单位冲激响应幅度谱'); subplot(212); stem(n,abs(y2));
title('系统二单位冲激响应幅度谱');
生成图像如下:
(1)直接I型
- 2 -
直接II型
(2)直接I型
直接II型
- 3 -
在matlab中新建函数tf2par,代码如下:
function [C,B,A]=tf2par(b,a) %直接型向并联型转换
M=length(b);N=length(a);
[r1,p1,C]=residuez(b,a);%先求系统的单根p1,对应的留数r1及直接项C
p=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); 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(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;
- 4 -
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.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.0000 2.0000 1.0000 -0.2500 -0.1250 1.0000 0.0000 9.0000 1.0000 1.0000 0.5000 G1 = 0.0625 sos2 =
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.5000 G2 = 0.1875
- 5 -
百度搜索“70edu”或“70教育网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,70教育网,提供经典综合文库数字信号处理实验四滤波器的结构在线全文阅读。
相关推荐: