资源描述:
《实验八由系统函数零、极点分布决定时域、频域特性》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实验八由系统函数零、极点分布决定时域、频域特性实验目的用MATLAB模拟系统函数零、极点分布决定时域、频域特性的过程实验原理计算零、极点可以用roots函数,若参数为传统函数H(s)的分了多项式系数b,则得到零点;若为分母多项式系数a,则得到极点。MATLAB还提供了刁ero(sys)和pole(sys)函数直接计算零、极点,其中sys表示系统传递函数。另外,[p,z]=pzmap(sys)函数也具有计算极点p和零点z的功能。不带返回值的pzmap(sys)则绘制出系统的零、极点分布图。零极点和传递两数的多项式系数一样,可以作为LTI系统的描
2、述方法。MATLAB提供了(b,a)=zp2tf(z,p,k)和[z,p,k]=tf2zp(b,a)两个函数用于在上述两种描述方法之间进行转换,其中k为用零、极点表示传函数时的系统增益。实验过程1.当F(s)极点(一阶)落于图所示s屏幕图中的各方框所处位置时,画出对应的F(t)波形填入方框屮。解:clearall,closeall,clc;t二[0:.1:40]';figure,id=1;foromega=.5:-.25:0forsigma=06:.03:.06p=sigma+j^omega;ifomega~二0P=[p;P‘];end[ba
3、]=zp2tf([],p,1);subplot(3,5,id);impulse(b,a,t);set(gca,'YLim',[-20,20]);endend输出结果如下图所示,可见随着极点从虚轴左侧移动到右侧,其冲激响应有衰减变为发散;随着极点由实轴向上、下两侧移动,冲激响应由单调变化转为振荡变化,且振荡周期逐渐减小。MFigure1I回FileEditViewInsertToolsDesktopWindowHelpTime(sec).ime(sec)Time(sec)Time(sec)Time(sec)ImpulseResponseImpu
4、lseResponseImpulseResponseImpulseResponseImpulseResponseTime(sec)ImpulseResponseImpulseResponseImpulseResponseImpulseResponseImpulseResponse20Time(sec).ime(sec)Time(sec)Time(sec)02040Time(sec)□日恰
5、毀3巴⑥晏凰
6、□目
7、■口MATLAB知识点(9)-虚数单位i,j以及常量恢复和数学公式中经常以i、j作为下标一样,包括Fortran和C语言在内的打部分机辭
8、语言教科帖都习惯的把这两个字符作为循环变虽使用,但在MATLAB中i和j被默认为定义为表示虚数单位的常虽:。虽然用户还可以将其口定义成任意类型变屋或者数据结构,但这样的很容易带來混乱。请看下面的命令和输出:Clearal1a二l+2*ia=1.0000+2.0000ii二1;b二l+2*ib=3Sqrt(-1)ans二OM.OOOOiC=l+2iC二1.0000+2.0000i可见MATLAB除了把i定义为表示虚数单位的数值,在解释表达式时还将其理解为表示虚数单位的符号,所以把i和j被用户定义使用并不影响复数的表达。但为了避免混淆,还是建议调
9、整口己的编程习惯,不再使用i和j作为循坏变量。MATLAB提供了freqs(b,a)函数用来绘制系统的频率响应,包扌舌幅度响应和札I位响应,其中b和a分别对应传递函数的分了和分母多项式系数。如果将调用方式改为H=frcqs(b,a,omega),则不绘图输出,而是计算抽样点omega处得频响并传递到H中。2.若H(s)的零极点分布如图,试讨论它们分別是哪种滤波网络(低通、高通、带通、带阻)。解:clearall,closeall,clc;data=struct('title',{'(a)','(b)','(c)','(d)',…'(e):(f
10、):(g):(h)},zeros,,{[],[0],[0;0],…L-0.5],[0],[1.2j;-1.2j],[0;0],[1.2j;-1.2j]},...'poles,,{[-2;-1],[-2;T],[-2;T],[-2;T],...[T+j;T-j],[T+j;T-j],[T+j;T-j],[j;-j]});omega=[0.01:0.01:6]';figure;forid=1:8[b,a]=zp2tf(data(id).刁eros,data(id).poles,1);II=freqs(b,a,omega);subplot(4,2,
11、id);p1ot(omega,abs(H));set(gca,'YScale,,'log','FontSize",16);title(data(id).title)