chen_ww1993的个人空间 https://blog.eetop.cn/helloanalog [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

标准二阶系统的Matlab分析

已有 176 次阅读| 2023-7-8 15:50 |个人分类:matlab|系统分类:芯片设计

当我们已知一个系统的闭环传递函数时候,我们通常有两种方法来判断系统的稳定性。第一种是时域分析方法,可以观察闭环传递函数的阶跃响应;第二种是频域分析法,可以观察闭环传递函数的频率响应。频域分析方法中,伯德图一般被广泛使用。这两种分析方法都可以借助Matlab工具得到直观的曲线,非常有助于我们对问题的分析。

Note1:时域分析时,除了常用的阶跃信号作为输入激励外,还常使用脉冲信号和斜坡信号作为激励。
Note2:频域分析法,我们既可以选择环路增益的伯德图,也可以选择闭环传递函数的伯德图。

更多文章内容,可关注“模拟小笨蛋”微信公众号,定期分享模拟IC设计相关的知识,小技巧。


以一个非常有代表性的标准二阶系统为例,可以通过Matlab研究该系统的特性。其闭环传递函数如下(公号不支持公式编辑也真是个亮点,直接上图吧):
图片
下面针对公式2进行分析。
01  时域

当ζ取不同的值时,该系统的阶跃响应会是怎样的呢?设计如下所示的Matlab代码。仿真波形如图1所示,三维波形如图2所示。

% G(s)=ωn^2/(s^2+2ζωn s+ωn^2 ).whenωn=1,research unit-step response

% with different ζvalues.

%------------------------------------------------------------------------

t=0:0.2:10;

zt=[0.1 0.2 0.4 0.6 0.8 1.0];

for n=1:6

    num=[1];

    den=[1 2*zt(n) 1];

    [y(1:51,n),x,t]=step(num,den,t);

    [y(1:51,n),x,t]=impulse(num,den,t);

end

plot(t,y)

grid

title('plot of unit_step response curves with \omega_n=1 and \zeta=0.1,0.2,0.4,0.6.0.8,1.0')

xlabel('t secs')

ylabel('response')

text(3.7,1.7,'\zeta=0.1')

text(3.5,0.8,'\zeta=1.0')

% to plot a three-dimensional diagram,enter the command mesh(t,zeta,y')

figure(2)

mesh(t,zt,y')

title('three-dimensional plot of unit-step response curves')

xlabel('t secs')

ylabel('\zeta')

zlabel('response')

图片

图 1  ζ取不同值时的闭环阶跃响应曲线


图片

图 2 ζ取不同值时的三维图形

当ζ从0不断增大时,系统将逐渐从欠阻尼状态(0<ζ<1)过渡到临界阻尼状态(ζ=1)再过渡到过阻尼状态(ζ>1)。

观察闭环阶跃响应曲线,当ζ<0.6时,系统表现出很大的减幅振荡;当ζ≥0.6时,系统趋于稳定,可以看到ζ=1.0时已非常稳定。也可以发现,当系统的稳定性有保障之后,响应速度随着ζ越大而越来越慢。在工程控制中,为了平衡系统稳定性和响应速度,ζ一般取0.707。


02  频域

其实也可以在频域上观察系统的稳定性,设计如下的Matlab代码,仿真结果如图3所示。

% G(s)=ωn^2/(s^2+2ζωn s+ωn^2 ).whenωn=1,the plot of bode digram

% with different ζvalues.

%------------------------------------------------------------------------

zt=[0.1 0.2 0.4 0.6 0.8 1];

%zt=[0.1:0.1:1];

for n=1:6;

    num=[1];

    den=[1 2*zt(n) 1];

    G=tf(num,den);

    hold on;

    bode(G)

end

grid

title('plot of bode diagram with \omega_n=1 and \zeta=0.1,0.2,0.4,0.6.0.8,1.0')

  • 图片

  • 图 3 ζ取不同值时的闭环频率响应曲线


观察闭环频率响应曲线,因为ωn=1,发现1rad/s附近有好几条曲线具有正的增益,这其实是系统不稳定的表现。重点观察ζ=0.1时的曲线,因为ωn=1时,所以曲线在大约1rad/s处出现尖峰(意味着极大增益),实际会表现为振荡。同理,如果ωn=2,ζ=0.1时曲线会在2rad/s附近出现尖峰。(注:如果ζ=0,会发现在ωn处有无穷大增益)。
工程控制中一般取ζ=0.707是非常有道理的,此时系统在稳定性和响应速度方面可以说达到了最好平衡。此时,闭环系统的频响平坦区范围基本上是0~ωn。


03 总结

ζ=0.707时,系统的稳定性和响应速度之间达到最好的折衷,此时闭环频率响应的平坦区范围可到ωn;

ζ=0.707不一定是所有二阶系统的最优选择 ,在稳定性得到保障之后,ζ具体取多大还要看实际系统的具体需求;

一个不稳定的二阶系统,很可能会在ωn附近出现振荡行为;

使用Matlab可以对任意已知传递函数的系统进行阶跃响应、脉冲响应、斜坡响应的分析。脉冲响应可直接使用impulse(num,den,t)命令。斜坡响应较为复杂,没有直接的命令可用。这时就需要进行公式转换,斜坡响应的拉普拉斯表示为1/s2,将其乘以G(s)得到G(s)/s2,因此G(s)的斜坡响应可通过G(s)/s的阶跃响应得到。


参考:
[1] 现代控制工程,Katsuhiko Ogata,P123~P149
[2] 控制系统计算机辅助设计,薛定宇,P170~P190

更多文章内容,可关注“模拟小笨蛋”微信公众号,定期分享模拟IC设计相关的知识,小技巧。



点赞

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 1

    关注
  • 23

    粉丝
  • 0

    好友
  • 46

    获赞
  • 8

    评论
  • 147

    访问数
关闭

站长推荐 上一条 /1 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-6-8 06:48 , Processed in 0.027919 second(s), 16 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部