电子科大软件实验离散系统的转移函数零极点分布和模拟.docx

上传人:b****6 文档编号:5025913 上传时间:2022-12-12 格式:DOCX 页数:9 大小:371.18KB
下载 相关 举报
电子科大软件实验离散系统的转移函数零极点分布和模拟.docx_第1页
第1页 / 共9页
电子科大软件实验离散系统的转移函数零极点分布和模拟.docx_第2页
第2页 / 共9页
电子科大软件实验离散系统的转移函数零极点分布和模拟.docx_第3页
第3页 / 共9页
电子科大软件实验离散系统的转移函数零极点分布和模拟.docx_第4页
第4页 / 共9页
电子科大软件实验离散系统的转移函数零极点分布和模拟.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

电子科大软件实验离散系统的转移函数零极点分布和模拟.docx

《电子科大软件实验离散系统的转移函数零极点分布和模拟.docx》由会员分享,可在线阅读,更多相关《电子科大软件实验离散系统的转移函数零极点分布和模拟.docx(9页珍藏版)》请在冰豆网上搜索。

电子科大软件实验离散系统的转移函数零极点分布和模拟.docx

电子科大软件实验离散系统的转移函数零极点分布和模拟

电子科大软件实验:

离散系统的转移函数-零、极点分布和模拟

 

 

————————————————————————————————作者:

————————————————————————————————日期:

 

电子科技大学

实验报告

学生姓名:

学号:

指导教师:

一、实验室名称:

信号与系统实验室

二、实验项目名称:

离散系统的转移函数,零、极点分布和模拟

三、实验原理:

离散系统的时域方程为

其变换域分析方法如下:

系统的频率响应为

Z域

系统的转移函数为

分解因式

,其中

称为零、极点。

在MATLAB中,可以用函数[z,p,K]=tf2zp(num,den)求得有理分式形式的系统转移函数的零、极点,用函数zplane(z,p)绘出零、极点分布图;也可以用函数zplane(num,den)直接绘出有理分式形式的系统转移函数的零、极点分布图。

四、实验目的:

目的:

1、加深对离散系统转移函数、零极点概念的理解;

2、根据系统转移函数求系统零极点分布。

任务:

利用MATLAB函数tf2zp、zplane求系统零极点及绘制零极点图;根据系统零极点图求系统的频率响应。

5、实验内容:

实验内容

(一)、使用实验仿真系统

实验内容

(二)、MATLAB仿真

六、实验器材(设备、元器件):

计算机、MATLAB软件。

七、实验步骤:

内容一:

1、启动工具箱主界面,选中“实验三离散信号的转移函数、零极点分布和模拟(综合性)”,点击按钮“进入实验”,启动实验三的启动界面,如图4.3-1所示。

 

2、仔细阅读实验目的和实验内容,点击按钮“进入实验”,打开实验三主界面,如图4.3-2。

3、由离散信号系统的转移函数绘制系统的零极点图。

根据线性常系数差分方程:

来确定系统的转移函数。

给定向量b和向量a的值来设定系统转移函数的分子、分母向量。

4、点击“绘制系统零极点图”按钮,就可以得到系统的零极点图。

 

内容二:

对系统系统

1、编程实现系统的参数输入,绘出幅度频率响应曲线和零、极点分布图。

2、根据系统的零极点计算系统频率响应的幅值和相位。

定义omega=[0:

511]*pi/256和unitcirc=exp(j*omega)得到在单位圆上512个等分点,在这些点上将要对频率响应

求值。

(a)定义polevectors1是一个2×512的矩阵,其中每一行包含这样一些复数,这些复数是由unitcirc的相应列减去一个极点位置得到的。

如果ps1是一个列向量,它包含了极点的位置,可以用下列命令来完成

》polevectors1=ones(2,1)*unitcirc–ps1*ones(1,512)

用abs和astan2定义polelength1和poleangle1作为polevectors1中每一元素的幅值和相位。

(b)类似与polevectors1定义zerovectors1,使得它是2×512的矩阵,其中包含从零点位置到unitcirc元素的向量。

定义zerolength1和zeroangle1分别是这些向量的幅值和相位。

(c)画出polelength1和zerolength1对于omega的图。

根据这些图,预计

在哪里有最大值和最小值?

(d)利用MATLAB命令H=freqz(b,a,512,’whole’)导出幅值和相位,与(c)中的结果相比较。

8、实验数据及结果分析:

实验程序:

b=[1];

a=[1,-0.9,0.81];

[b,a]=eqtflength(b,a);

[z,p,k]=tf2zp(b,a)

figure

(1);

freqz(b,a,'whole')

title('原图像')

figure

(2);

zplane(z,p)

title('零极点图')

omega=[0:

511]*pi/256;

unitcirc=exp(i*omega);

X=real(unitcirc);Y=imag(unitcirc);

ps1=p;

polevectors1=ones(2,1)*unitcirc-ps1*ones(1,512);

P=polevectors1;

pabs=abs(P);

pastan2=angle(P);

zs1=z;

zerpvectors1=ones(2,1)*unitcirc-zs1*ones(1,512);

Z=zerpvectors1;

zabs=abs(Z);

zastan2=angle(Z);

figure(3)

X1=omega;

Y1=pabs;

plot(X1,Y1,'rx')

holdonfigure(3)

Y2=zabs;

plot(X1,Y2,'bo')

holdoff

title('polelength1和zerolength1对于omega的图')

p1=pabs(1,:

);

p2=pabs(2,:

);

z1=zabs(1,:

);

z2=zabs(2,:

);

P1=pastan2(1,:

);

P2=pastan2(2,:

);

Z1=zastan2(1,:

);

Z2=zastan2(2,:

);

H1abs=z1.*z2./(p1.*p2);

H1astan2=Z1+Z2-P1-P2;

H=freqz(b,a,512,'whole');

Habs=rot90(abs(H));

Hastan2=rot90(angle(H));

HF=fix(H1astan2./pi);

fork=1:

512

ifHF(k)>0

ifrem(HF(k),2)==0

H1Rastan2(k)=H1astan2(k)-HF(k)*pi;

else

H1Rastan2(k)=H1astan2(k)-HF(k)*pi-pi;

end

elseifrem(HF(k),2)==0

H1Rastan2(k)=H1astan2(k)-HF(k)*pi;

else

H1Rastan2(k)=pi-HF(k)*pi+H1astan2(k);

end

end

figure(4)

F=X1/(pi);

dB=20*log10(Habs);

subplot(2,1,1);plot(F,dB);gridon;

theta=deg2rad(H1Rastan2);

subplot(2,1,2);plot(F,theta);gridon;

title('模拟之后的图像')

图像:

九、实验结论:

思考题:

根据得到的系统零极点分布,试大致画出系统的频率响应曲线。

十、总结及心得体会:

matlab使用过程中存在一些程序使用习惯的错误,这些东西,花费了很长时间才改好。

十一、对本实验过程及方法、手段的改进建议:

在上仿真之前,最好先上两节matlab教学课,让大多数人能快速掌握。

 

报告评分:

指导教师签字:

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

当前位置:首页 > 总结汇报 > 学习总结

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

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