实验三滤波器的结构.docx

上传人:b****4 文档编号:12077507 上传时间:2023-04-16 格式:DOCX 页数:25 大小:535.02KB
下载 相关 举报
实验三滤波器的结构.docx_第1页
第1页 / 共25页
实验三滤波器的结构.docx_第2页
第2页 / 共25页
实验三滤波器的结构.docx_第3页
第3页 / 共25页
实验三滤波器的结构.docx_第4页
第4页 / 共25页
实验三滤波器的结构.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

实验三滤波器的结构.docx

《实验三滤波器的结构.docx》由会员分享,可在线阅读,更多相关《实验三滤波器的结构.docx(25页珍藏版)》请在冰豆网上搜索。

实验三滤波器的结构.docx

实验三滤波器的结构

HUNANUNIVERSITY

数字信号

课程实验报告

 

专业班级:

通信工程一班

完成日期:

 2014\05\04

 

实验三滤波器的结构

1、实验目的

认真复习数字滤波器的表示方法,信号流图的基本概念和画法;IIR数字滤波器的基本

特性和FIR数字滤波器的基本特性。

掌握IIR数字滤波器的直接I型、II型、级联型、并联型结构的特点和表示方法;FIR

数字滤波器的直接型、级联型、频率抽样型以及快速卷积的结构特点和表示方法;线性相位

FIR滤波器的结构和特点;全通滤波器、梳状滤波器的特点和表示方法。

2、实验内容

a.设IIR系统的四阶差分方程为:

画出该滤波器的直接I和直接II型结构图。

(1)当

时,求系统的单位冲激响应,并绘制响应的波形

(2)当

时,求系统的单位冲激响应,并绘制响应的波形

代码:

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);%求系统单位冲激响应1

y2=impz(b2,a2,N);%求系统单位冲激响应2

subplot(211);

stem(n,abs(y1));

title('系统函数1');

subplot(212);

stem(n,abs(y2));

title('系统函数2');

结果:

(1)直接型Ⅰ

 

直接型Ⅱ

 

(2)直接型Ⅰ

直接型Ⅱ

b.三个IIR滤波器的方程和系统函数分别为

(1)编制MATLAB程序,求出各滤波器的级联型网络的系数,并画出级联结构。

(2)编制MATLAB程序,求出各滤波器的并联型网络的系数,并画出并联结构。

代码:

clc;

b1=[1-311-2718];%输入信号系数向量

a1=[16122-4-1];%输出信号系数向量

b2=[381272-2];%输入信号系数向量

a2=[1624241451];%输出信号系数向量

b3=[210233431164];%输入信号系数向量

a3=[367887592671];%输出信号系数向量

%级联型网络的系数

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

tf2par(b,a)函数:

function[C,B,A]=tf2par(b,a)%直接型向并联型转换

M=length(b);

N=length(a);

[r1,p1,C]=residuez(b,a);

p=cplxpair(p1,0.000000001);

I=cplxcomp(p1,p);

r=r1(I);

K=floor(N/2);

B=zeros(K,2);

A=zeros(K,3);

ifK*2==N

fori=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

fori=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

结果

sos1=

1.0000-3.00002.00001.0000-0.2500-0.1250

1.00000.00009.00001.00001.00000.5000

G1=

0.0625

sos2=

1.0000-0.333301.00000.50000

1.00002.00002.00001.00000.50000.2500

1.00001.00001.00001.00000.50000.5000

G2=

0.1875

sos3=

1.00003.00002.00001.00000.50000.2500

1.00001.00002.00001.00001.00000.3333

1.00001.00000.50001.00000.66670.3333

G3=

0.0556

C1=

-18

B1=

-10.0500-3.9500

28.1125-13.3625

A1=

1.00001.00000.5000

1.0000-0.2500-0.1250

C2=

-2

B2=

-0.8438-1.0313

0.68752.3438

2.34370

A2=

1.00000.50000.5000

1.00000.50000.2500

1.00000.50000

C3=

4

B3=

-1.1905-0.1587

-1.11111.7778

-1.6429-4.2143

A3=

1.00001.00000.3333

1.00000.66670.3333

1.00000.50000.2500

级联型:

系统一

 

系统二

 

系统三

 

并联型:

系统一

系统二

 

系统三

 

c.FIR滤波器的方程和系统函数分别为

画出该滤波器的直接II型结构图。

(1)当

时,求系统的单位冲激响应,并绘制响应的波形。

(2)当

时,求系统的单位冲激响应,并绘制响应的波形。

代码:

clc;

b1=[1,-2,6,-1,3];

a=1;

b2=[2,-1,4,-3,-2];

b2=1;

subplot(2,1,1);

dimpulse(b1,a1,20);

title('系统一的单位冲击响应')

subplot(2,1,2);

dimpulse(b2,a2,10);

title('系统二的单位冲击响应')

结果

系统一

 

系统二

d.三个FIR滤波器的方程和系统函数分别为

编制MATLAB程序,求出各滤波器的级联型网络的系数,并画出级联结构。

代码:

%级联型网格系数

clc;

b1=[16-32-51];%输入信号系数向量

b2=[210233431164];%输入信号系数向量

b3=[6317410274316];%输入信号系数向量

 

[sos1,G1]=tf2sos(b1,1)

[sos2,G2]=tf2sos(b2,1)

[sos3,G3]=tf2sos(b3,1)

结果

sos1=

1.00006.525301.000000

1.0000-1.07280.18461.000000

1.00000.54750.83031.000000

G1=

1

sos2=

1.00003.00002.00001.000000

1.00001.00002.00001.000000

1.00001.00000.50001.000000

G2=

2

sos3=

1.00003.111301.000000

1.00003.23177.47581.000000

1.0000-1.17632.26431.000000

G3=

6

 

系统一

 

系统二

 

系统三

 

e.FIR滤波器的单位抽样相应为

编制MATLAB程序求系统的频率采样型结构的系数,并画出频率抽样型结构。

主程序:

clc;

h=[1,2,3,2,1]/9;

[C,B,A]=tf2fs(h)

tf2fs(h)函数

%频率抽样型

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]';

A=ones(L,3);%初始化数组A

B=zeros(L,2);%初始化数组B

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]'%计算增益系数

结果

H=

1.0000-0.2353-0.1710i0.0131+0.0404i0.0131-0.0404i-0.2353+0.1710i

C=

0.5818

0.0849

1.0000

-0.2353

0.0131

0.0131

-0.2353

C=

0.5818

0.0849

1.0000

-0.2353

0.0131

0.0131

-0.2353

B=

00.8090

0-0.3090

A=

1.0000-0.61801.0000

1.00001.61801.0000

1.0000-1.00000

结构图

 

 

f.一个32点的线性相位FIR滤波器的频率样本为:

编制MATLAB程序求该系统的频率采样型结构的系数,并画出频率采样型结构。

主程序:

clc;

H=[1,1,1,0.5,zeros(1,12)];

[C,B,A]=tf2fs2(H,16)

tf2fs2(H,N)函数:

%频率抽样型

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]';

A=ones(L,3);%初始化数组A

B=zeros(L,2);%初始化数组B

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]'%计算增益系数

结果

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

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

00.3827

00.7071

00.9239

A=

1.0000-1.84781.0000

1.0000-1.41421.0000

1.0000-0.76541.0000

1.0000-0.00001.0000

1.00000.76541.0000

1.00001.41421.0000

1.00001.84781.0000

1.0000-1.00000

1.00001.00000

结构图

 

 

实验结论:

通过这次实验,我对滤波器的结构有了更深的了解,对系统函数的求法更多认识;在该实验中,运用了网格系数进行求解,加深了对滤波器的了解。

该实验要编写一些功能函数,功能函数比较难,自己还是不太理解,需要跟多学习滤波器的功能函数。

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

当前位置:首页 > PPT模板 > 简洁抽象

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1