- 1、本文档共65页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第五章 时域分、零极点分析和根轨迹法
第五章 时域分析、零极点分析和根轨迹法 获得控制系统的瞬态响应和稳态响应 对系统的瞬态和稳态性能分析 根轨迹绘制和分析 产生信号gensig() [u,t]=gensig(type,Ta) [u,t]=gensig(type,Ta,Tf,T) Type:信号序列.sin正弦;square方波;pulse脉冲 Ta:信号周期 Tf:信号的持续时间 T:采样时间 例子: 产生一个周期为5秒,持续时间为30秒,采样为0.1秒的方波. [u,t]=gensig(square,5,30,0.1); plot(t,u) Axis([0,30,-0.5,1.5]) 产生正弦波: [u,t]=gensig(sin,5,30,0.1); plot(t,u) Axis([0,30,-1.5,1.5]) 5.1 系统的时域分析 时域分析法是研究系统对典型输入的时间响应曲线,常用的输入信号有: 阶跃信号step 脉冲信号impulse 任一信号lsim 1. step(): 计算系统对单位阶跃输入的响应 y=step(num,den) step(num,den) [y,t,x]=step(num,den,t) step的其他调用形式 无左边参数调用,绘制仿真计算图形。 step(sys);step(sys,t);step(sys1,sys2,…,t) 有左边参数调用,返回仿真计算结果。 y=step(sys,t) [y,t]=step(sys) [y,t,x]=step(sys) 使用help step命令,了解函数的调用方法。 例子: a1=[-0.5572 -0.7814;0.7814 0]; b1=[1 -1;0 2]; c1=[1.9691 6.4493]; sys1=ss(a1,b1,c1,0); a2=[-0.8572 -0.7814;0.7814 0]; b2=[3 -1;0 2]; c2=[6.9691 6.4493]; sys2=ss(a2,b2,c2,0); step(sys1,sys2) 例5-1 例5-1 2. impulse() 计算系统对单位脉冲输入的响应 调用方法与step()函数类似,用help impulse命令例了解其调用规则 y=impulse(num,den) impulse(num,den) [y,t,x]=impulse(num,den,t) 例5-2 分析系统的脉冲响应 例5-2 3. 其他输入下的时域响应 initial() 零输入响应 [y,t,x]=initial(sys,x(0)) help initial命令了解命令的使用方法。 lsim()计算系统对任意输入的响应 [y,t,x]=lsim(sys,u,t,x0) y=lsim(sys,u,t) lsim(sys,u,t) Lsim(num,den,u,t) u为给定输入序列构成的矩阵,它的每列对应一个输入,每行对应一个时间点,其行数与时间t的长度相等。 例子:对离散系统G(z)=0.632/(z^2-1.368z+0.568),输入信号为幅值正负1的方波信号,求输出信号。 num=0.632; den=[1 -1.368 0.568]; u1=[ones(1,50),-1*ones(1,50)]; u=[u1 u1 u1]; figure(1) dlsim(num,den,u) 例5-3 系统对斜坡输入的响应 5.2 系统动态及稳态性能的时域分析 1. 稳定性分析MATLAB实现的方法 MATLAB提供了直接求取系统所有零极点的函数,因此可以直接根据零极点的分布情况对系统的稳定性及是否为最小相位系统进行判断。 roots()、 pzmap() 已知开环传函 2. 稳态值 3. 稳态误差目标值与稳态响应之差,称为稳态误差。 4. 峰值时间Tp和超调量 二阶系统的超调量的计算 5. 调节时间Ts t1=t(i);j=cs+1;n=0;while n==0,j=j-1; if j==1,n=1; elseif y(j)0.95*yssn=1; endendt2=t(j);if t2tp if t1t2 ts=t1 endelseif t2tp if t2t1 ts=t2 else ts=t1 endend 定义函数,求超调量sigma,峰值时间tp和调节时间ts function[sigma,tp,ts]=ste(y,t)%函数定义 [mp,tf]=max(y); cs=length(t); yss=y(cs); sigma=100*(mp-yss
文档评论(0)