自動控制理論這門課是不好學。很重要的一個原因是沒有特別優秀的教材,並且很可能老師在講課的時候也不太註重解釋「我們到底要幹什麽」,所以很容易學得雲裏霧裏。
而且,相信我,即使現在感覺學懂了題目都會做了考試也透過了,等到將來學完狀態空間描述,學完線性系統理論,甚至再學一些非線性系統的知識之後,你還是會發現以前的好多理解太膚淺,甚至不正確。
要知道零點和極點的物理意義,首先要知道它們是怎麽來的。
——這個很簡單,從傳遞函數裏來的。
那傳遞函數是怎麽來的呢?
——拉普拉斯變換。
為什麽要做拉普拉斯變換?
這個問題就不是那麽好回答了。
(拉普拉斯變化有很多種物理意義的解釋,我這裏只提供其中一種。)要想回答這個問題,我們需要看看所謂的「控制」到底是在幹什麽。翻開任何一本控制工程基礎的教材,引言部份必然會舉一系列物理系統的例子,可能羅哩羅嗦一大堆。其實核心只想說明一句話:這個世界裏很多現象,是可以(也是必須要)用 常微分方程式 來描述的。
輸入u(t),輸出y(t),還有它們各自對時間t的導數、二階導數……,一起組成了一個(目前我們只考慮線性的)方程式:f(y,dy/dt,....) = g(u, du/dt,...)。線性的意思是,在f()中,y, dy/dt, d2y/dt2(能看懂吧,二階導數)是不會有平方啊,互相乘之類的事情,只會是 k1*y + k2*dy/dt + k3*d2y/dt2.... 這種形式,k1、k2、k3是常數。
我們不妨認為y是未知的,u是已知的,那麽這就是一個關於y(t)的線性常微分方程式,而且方程式右邊是已知的,於是我們可以把它簡化寫成f(y,dy/dt,....) = g(t)。方程式的解y(t)是一個關於時間t的函數。
如果你有一點數學強迫癥,那麽看到方程式的第一反應應該是想求解它。沒錯。雖然以「自動控制原理」的角度看,求解這個方程式似乎沒有什麽價值,甚至可以說整個「自動控制原理」壓根就沒想過要求解它,也(似乎)不關心它的解是什麽樣子的,但是如果學完了線性系統理論(國內很多地方把這門課叫「現代控制理論」,這實在是一個不能再差勁兒的名字了。同理「自動控制原理」聽起來也是略奇怪的,不過至少還能忍。「現代控制理論」這名字要吐槽的地方太多,這裏暫且不表),你就會發現學習研究一下這個常微分方程式的解是很有必要的。
只有知道了方程式的解y(t)到底長什麽樣,才能理解極點的物理意義。
這裏就需要補補課了。線性常微分方程式怎麽解?一個更基礎的問題是,它的解長啥樣?想了解清楚的話我強烈建議找本相關的教材看一看,其實原理很簡單的,不過學習數學的東西還是嚴謹一些的好。我在這只能試著大概作個介紹。
通常來講,一個形如 f(y,dy/dt,....) = g(t) 的線性常微分方程式,它的解可以分為兩個部份:通解加特解。通解就是方程式 f(y,dy/dt,....)=0 的解,通解裏會有待定的系數,無論系數取多少,通解都滿足 f(y,dy/dt,....)=0 。特解呢,就是 f(y,dy/dt,....) = g(t) 的「一個」解。很明顯,在沒有其它諸如y(0)=a, y'(0)=b的初值條件的情況下,一個特解加上一個「待定系數取任意值」的通解,結果仍然該方程式的一個解。
OK,關於線性常微分方程式就說到這兒。那它和拉普拉斯變換有什麽關系嗎?
——拉普拉斯變換可以幫助我們求 f(y,dy/dt,....)=0 的解,也就是求線性常微分方程式的通解。
How?
書上說,拉普拉斯變換是一種線性變換,它可以把線性常微分方程式變成代數方程式。什麽意思呢?拉普拉斯變換會把y(t)變成Y(s)(那個公式就不列了,都懂的)。而這個變換是一一對應的,也就是說,一個y(t)對應一個Y(s),可以變過去,還可以變回來。
好,那現在,比如,我有一個關於y(t)的微分方程式,不會解,怎麽辦?
拉普拉斯變換可以變y(t),也就可以變f(y,dy/dt,....)。 f(y,dy/dt,....)=0 會變成 F[Y(s),...]=0。我們不知道y(t)的運算式,於是也就不知道Y(s)的運算式。註意變換是線性的是一一對應的,也就是說如果我們把 F[Y(s),...]=0 看成一個新方程式,解出 Y(s),再反變換變回去,就能得到我們原本想求解的y(t)。
這折騰來折騰去的什麽好處呢?很簡單:對dy/dt 進行拉普拉斯變換,結果是sY(s)-y(0),微分不見了!(千萬別忘了-y(0))F[Y(s),...]=0 不再是一個微分方程式,而是一個代數方程式。 k1*Y(s) + k2*s*Y(s) + ... = c(s)。方程式右邊通常不是零,而是一個關於s的式子,因為y(0)、y'(0)等等都不一定等於零。接下來可能小學生都能蒙出Y(s)怎麽解了吧,用c(s)除以k1+k2*s+k3*s^2+...就行。
最後一步,用拉普拉斯反變換,把求出來的Y(s)變成y(t),就得到 f(y,dy/dt,....)=0 的解了。很簡單吧。
關於微分方程式,還有最後一點需要說明。我們已經知道了怎麽求通解(用拉普拉斯變換),可是,這個通解又究竟長什麽樣子呢?
我們看看剛才求解過程的最後一步,也就是拉普拉斯反變換。要被反變換的物件是一個分子分母均為多項式的分式。如果你已經熟練掌握了反變換的技巧,你應該知道為了方便查表,可以把這個分式 c(s)/[k1+k2*s+k3*s^2+...],寫成一系列簡單分式的相加,比如1/(s+a),比如1/[(s+a)^2+w^2],然後就可以查表變回去了。
1/(s+a)的拉普拉斯反變換是什麽?exp(-at)。那w^2/[(s+a)^2+w^2]呢?exp(-at)sin(wt)。所以呢,通解最終也就是由一些形如exp(-a1*t)、exp(-a2*t)sin(wt)之類的項相加起來。這就是我們在輸入u=0情況下,即 f(y,dy/dt,....) =0 時求得的解y(t)!如果輸入u不等於零呢?剛才講過了,通解加一個特解就是全部的解,也就是說這些項還是會存在於任何一個解中。
OK,知道這麽多,夠了!下面講講零點極點的物理意義是什麽。
傳遞函數是怎麽來的?對 f(y,dy/dt,....) = g(u, du/dt,...) 進行拉普拉斯變換,假設初值均為零,然後寫出Y(s)/F(s)就行了。那麽,極點就是對 f(y,dy/dt,....) 進行拉普拉斯變換提取出Y(s)之後剩下的關於s的多項式(即傳遞函數分母)的根。
現在,我們再回頭看一看常微分方程式 f(y,dy/dt,....) =0 的解。 記得30秒前求出的的解的樣子嗎?那些用拉普拉斯反變換的來的exp(-a1*t)、exp(-a2*t)sin(wt)......,a1、a2是什麽?好像,是對某個分子分母都是多項式的分式分解成1/(s+a)之類的時候得到的項。這麽說來,-a1、-a2應該是那個分母多項式的根(或者,複數平面上根的實部,因為(s+a)^2+w^2的根就是-a+-wi)吧。可是剛才那個分母多項式是什麽呢?k1+k2*s+k3*s^2+...,是 f(y,dy/dt,....) 的拉普拉斯變換後,提出公因子Y(s)後留下的多項式。它 和傳遞函數的分母是一樣的!
也就是說,傳遞函數的極點,和方程式 f(y,dy/dt,....) =0 的解,也就是和方程式 f(y,dy/dt,....) =g(t) 的解密切相關。
極點有什麽物理意義?我隨便指定一個輸入u(t),u(t) 可以是零(註意這裏沒有用反饋),那麽最終的輸出y(t)就是方程式 f(y,dy/dt,....) = g(u, du/dt,...) 的解。方程式的解是通解加上特解,而通解就是一堆形如exp(-a1*t)、exp(-a2*t)sin(wt)之類的項相加起來,其中-a1、-a2就是傳遞函數的極點實部!也就是說, 在系統的輸出y(t)=blablabla裏頭,極點(或極點的實部)是位於其數學運算式中指數的冪的位置,與時間t相乘(即exp(p*t)裏的p) 。
如果所有極點都在左半平面,-a1、-a2都是負數,那麽隨著t趨向於無窮,所有exp(-a1*t)、exp(-a2*t)sin(wt)這些項都趨向於零,於是如果u(t)也為零的話y(t)就等於通解,y(t)趨向於零,所以我們就說系統是穩定的。如果有那麽一個極點位於右半平面,即那麽有一個-an是大於零的。結果就是隨著t趨向於無窮,y(t)裏會有那麽一個exp(-an*t)趨向無窮大,而其它項都趨向於零,於是y(t)就會趨向於無窮大你的系統就沒法穩定了!這就是極點的物理意義。
極點是系統本身的內容,(在沒有反饋的情況下),與你怎麽調整輸入無關。即使你改變了物理系統輸入,調整了 g(u, du/dt,...) 這個函數,極點也不會改變。
而零點,則表示輸入如何影響系統。因為零點就是 g(u, du/dt,...) 拉普拉斯變換blablabla之後blablabla多項式的根。要說它們有什麽直接的物理意義,似乎不太好解釋。不過,我們剛才討論的都是開環的情景,如果系統用上了反饋,開環變成閉環之後, 零點就會參與影響閉環系統的極點了 !關於這時零點是如何發揮作用的,呼,你就慢慢看書慢慢學習吧……