最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

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

来源:动视网 责编:小OO 时间:2025-09-27 21:12:37
文档

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

实验四滤波器的结构一.实验内容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
推荐度:
导读实验四滤波器的结构一.实验内容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
实验四 滤波器的结构

一.实验内容

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));

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及直接项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;

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

sos3 =

    1.0000    3.0000    2.0000    1.0000    0.5000    0.2500

    1.0000    1.0000    2.0000    1.0000    1.0000    0.3333

    1.0000    1.0000    0.5000    1.0000    0.6667    0.3333

G3 =

    0.0556

C1 =

   -18

B1 =

  -10.0500   -3.9500

   28.1125  -13.3625

A1 =

    1.0000    1.0000    0.5000

    1.0000   -0.2500   -0.1250

C2 =

    -2

B2 =

   -0.8437   -1.0312

    0.6875    2.3437

    2.3437         0

A2 =

    1.0000    0.5000    0.5000

    1.0000    0.5000    0.2500

    1.0000    0.5000         0

C3 =

     4

B3 =

   -1.1905   -0.1587

   -1.1111    1.7778

   -1.29   -4.2143

A3 =

    1.0000    1.0000    0.3333

    1.0000    0.6667    0.3333

1.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,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         0

G1 =

     1

sos2 =

    1.0000    3.0000    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         0

G2 =

     2

sos3 =

    1.0000    3.1113         0    1.0000         0         0

    1.0000    3.2317    7.4758    1.0000         0         0

    1.0000   -1.1763    2.23    1.0000         0         0

G3 =

     6

级联结构:

系统一:

系统二:

系统三:

在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为偶数

    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);%初始化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.5818

    0.0849

    1.0000

   -0.2353

    0.0131

    0.0131

   -0.2353

B =

         0    0.8090

         0   -0.3090

A =

    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);

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);%初始化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.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

         0

B =

         0   -0.9239

         0   -0.7071

         0   -0.3827

         0   -0.0000

         0    0.3827

         0    0.7071

         0    0.9239

A =

    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型、级联型、并联型结构的理解,对它们的结构图形也有了进一步的了解。

文档

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

实验四滤波器的结构一.实验内容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
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top