2016-04-14 26 views
1

我希望我可以解釋我的問題不夠好,Matlab-閉環傳遞函數頻率跟蹤

比方說,我有一個閉環控制系統,我知道給定物理設備Gp(補償器和反饋傳遞func是1)。問題是要檢查系統是否可以完美跟蹤2 rad/sec的頻率。看看'Gp'(s=jw)|w=2並代之以T(s)=1/(s^2+5),我們看到它是1並完美追蹤它,但T(s)本身並不穩定。假設我可以在Matlab中檢查它,看到輸出圖(T(s))沒有跟蹤w=2的輸入(輸出和輸入圖在同一圖中)。

我該如何編寫一個代碼來重新創建這種情況?(有人建議使用lsim,但我完全無法理解它)謝謝!

回答

0

從你的問題來看,T(s)是什麼並不太清楚,但我從上下文中可以看出它是閉環傳遞函數,即T = Gp/(1 + Gp)

T的極點純粹是虛構的(+-j*sqrt(5)),所以T是「勉強穩定」的,或者更直觀的,你可以把它想象成一個彈簧上的質量振盪器。

要回答這個閉環系統是否可以完美跟蹤給定輸入正弦曲線的問題,那麼這取決於您的標準是「完美」的。

您提到穩態增益(T(jw)的幅度)爲1時爲w = 2,但其相位是什麼?在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