首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Matlab-闭环传递函数频率跟踪

Matlab-闭环传递函数频率跟踪
EN

Stack Overflow用户
提问于 2016-04-15 05:06:27
回答 1查看 304关注 0票数 1

我希望我能很好地解释我的问题,

假设我有一个闭环控制系统,并且我知道给定的物理对象Gp (补偿器和反馈传递函数是1)。问题是检查系统是否可以完美地跟踪2 rad/sec的频率。查看'Gp'(s=jw)|w=2并在T(s)=1/(s^2+5)中进行替换,我们可以看到它是1,并且可以很好地跟踪它,但T(s)本身并不稳定。假设我可以在Matlab中检查它,并看到(T(s)的)输出图没有跟踪w=2的输入(输出和输入图在同一张图上)。

我该如何编写代码来重现这种情况呢?(有人建议使用lsim,但我不能完全理解它)谢谢!

EN

回答 1

Stack Overflow用户

发布于 2016-05-09 08:33:04

从你的问题中不太清楚T(s)是什么,但我将从上下文中假设它是闭环传递函数,即T = Gp / (1 + Gp)

T的极点是纯虚构的(+-j*sqrt(5)),因此T是“边缘稳定的”,或者更直观地说,你可以把它想象成弹簧上的质量-振荡器。

要回答这个闭环系统是否能完美地跟踪给定的输入正弦信号的问题,这取决于你对“完美”的标准是什么。

您提到在w = 2的稳态增益(T(jw)的幅度)是1,但是它的相位是什么?在MatLab中,尝试:

T = tf([1], [1, 0, 5]); % numerator = 1, denominator = 1s^2+0s+5 bode(T);

查看某一w范围内的幅值和相位图。https://www.wolframalpha.com/input/?i=bode+1%2F(s%5E2%2B5)

相位延迟对于除零以外的每个频率都是非零的(即,恒定输入)。这总是“弹簧上的质量”的情况;惯性导致它总是滞后于力函数。

有一个非零相位延迟意味着你的输出将不会“完美”跟踪你的输入。要查看这是什么样子,请尝试:

t = [0:0.001:10]; % array of times to compute simulation r = sin(2*t); % input to the closed loop system lsim(T, r, t); % simulate system T with input r for t seconds

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36634006

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档