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

时间:2016-04-14 21:06:27

标签: matlab stability control-theory transfer-function

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

我们说我有一个闭环控制系统,我知道给定的物理工厂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,但我无法完全理解它)谢谢!

1 个答案:

答案 0 :(得分:0)

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

T的极点纯粹是虚构的(+-j*sqrt(5)),因此T“略微稳定”或更直观地将它视为弹簧上的质量振荡器。

回答这个闭环系统是否可以完美跟踪给定输入正弦曲线的问题,这取决于你的“完美”标准。

您提到稳态增益(T(jw)的幅度)在w = 2处为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