JOVANA
Library Glossary Getting Started Three Levels Fields How it works Mission
Join the mission
All guides

為系統建模:方塊圖與轉移函數

在第 1 級你為控制迴路的零件命了名——受控體、感測器、控制器、迴授。現在每一個方塊都需要一個*數字*。這份指南會給每個方塊一個唯一的代數指紋,也就是[[ee-transfer-function|轉移函數]] G(s) = Y(s)/X(s),並帶你看一條糾結的微分方程如何塌縮成它。讀完之後,你能把 RC 濾波器、汽車懸吊、加熱烤箱寫成*同一個*符號——這正是同一門數學能同時操控無人機、熔爐與自駕車的祕密。

為何要建模——又為何是個比值?

想像你正在調校汽車的定速巡航。你把油門踏板踩深一點;幾秒後車速緩緩爬升。再踩深一些,它爬得更快。那輛車裡某處藏著一個*關係*——一條把踏板位置(輸入)轉換成車速(輸出)的規則。你無法操控你無法預測的東西,所以在設計任何控制器之前,這個關係都得先寫下來。寫下來的這條規則,工程師稱之為模型

那輛車誠實的物理是一條微分方程:力、慣性、阻力,全與導數糾纏在一起。微分方程威力強大卻難以擺弄——要把兩條合併,你得求解、代入、再祈禱。控制工程的絕招,是讓每個訊號都通過拉普拉斯轉換,它把 d/dt 變成乾淨俐落地乘上 s。在那個轉換後的世界裡,一整條微分方程化為一條*代數*方程,而輸入對輸出的規則就成了兩個多項式相除的簡單比值。

那個比值就是轉移函數,寫作 G(s) = Y(s) / X(s)——輸出的拉普拉斯轉換除以輸入的拉普拉斯轉換(假設系統從靜止狀態啟動)。它是整條學習軌道中最重要的物件。你之後會遇到的每一個工具——極點與零點、根軌跡、波德圖——都不過是*讀取* G(s) 的不同方式。學會寫出它,你就一口氣解鎖了它們全部。

範例一:RC 電路化為 G(s)

讓我們用電子學中最樸實的電路把公式掙到手:一個電阻 R 與一個電容 C 串聯,輸出取自電容兩端。以電壓 v_in(t) 驅動輸入;在 C 兩端讀出輸出 v_out(t)。這對小小的 RC 就是一個低通濾波器,是每個音訊音調控制與感測器平滑電路的心跳——也是拿來建模的完美第一個受控體。

        R
  v_in o──[ /\/\/ ]──┬──────o v_out
                      │
                     ─┴─  C        (current i flows through both)
                     ───
                      │
  GND  o──────────────┴──────o GND

  Same current i in R and C  ->  one differential equation links v_in and v_out.
RC 低通濾波器。電阻決定電荷能多快流動;電容把它儲存起來。兩者的拉鋸就是整個模型。

我們只需要兩個物理事實。第一,同一個電流 i 流過兩個元件(這是串聯迴路)。第二,克希荷夫電壓定律告訴我們輸入電壓被分配給電阻與電容:v_in = i·R + v_out。流入電容的電流是 i = C · dv_out/dt——這個導數正是系統的*動態*、延遲與性格的全部來源。把它代回去,你就得到一條乾淨的微分方程。

  Time domain:     v_in(t) = R·C · dv_out/dt + v_out(t)

  Apply Laplace ( d/dt -> s , zero initial charge ):

                   V_in(s) = R·C·s·V_out(s) + V_out(s)
                           = (R·C·s + 1) · V_out(s)

  Transfer function:

        V_out(s)          1
  G(s) = ──────── = ─────────────        ( let  tau = R·C )
        V_in(s)       R·C·s + 1

                          1
               = ───────────────
                     tau·s + 1
三行代數把 RC 電路變成它的轉移函數。唯一的極點落在 s = -1/RC——RC 乘積越小(越快),響應越靈敏。

看看剛剛發生了什麼。一個電路、一塊實體硬體,被壓縮成符號 1/(τs + 1)。乘積 τ = RC 就是時間常數——當 R = 10 kΩ、C = 1 µF 時,τ = 10 ms,所以濾波器在被擾動後約需 50 ms(五個時間常數)才能完全穩定下來。這一個數字就嵌在 G(s) 裡,在你畫出任何圖之前,就已經告訴你系統有多快。

範例二:質量-彈簧-阻尼系統——以及控制為何普世通用

現在完全離開電子學。想像桌上有一塊質量為 m 的滑塊,用彈簧(剛度 k)與避震器(阻尼 b)繫在牆上。你以力 f(t) 推它;它以位移 x(t) 回應。這就是汽車懸吊、是隨風搖晃的大樓、是機械臂落定到目標——它本該與上面的 RC 電路*毫無關係*。看看同一套食譜對它做了什麼。

  wall ║                                    Newton's second law:
  ║ /\/\/\  spring k  ┌──────┐
  ║─────────────────┤  m   │ ── f(t) push   m·x'' + b·x' + k·x = f(t)
  ║ ===[ damper b ]==┤      │ -> x(t)
  ║                  └──────┘              (x'' = acceleration, x' = velocity)

  Laplace (rest start):  (m·s^2 + b·s + k) · X(s) = F(s)

          X(s)            1
  G(s) = ───── = ───────────────────
          F(s)     m·s^2 + b·s + k
一個純機械系統——質量與彈簧——產生的轉移函數,形狀竟與電路的一模一樣。這正是控制理論能成為一門學科、而非十幾門的深層原因。

重點來了——這正是整個級別的妙處所在。RC 電路給出*一階* G(s)(s 的一次方);質量-彈簧-阻尼給出*二階* G(s)(含 s² 項,因為加速度是二階導數)。但兩者都不過是 1 /(s 的多項式)。一個熱學受控體——溫度落後於加熱器的烤箱——產生的代數一模一樣。電的、機械的、熱的:一旦它們穿上轉移函數的戲服,數學就再也分不出彼此。

方塊圖代數:把方塊拼接起來

真實系統從來不是單一方塊。定速巡航有放大器、再來是馬達、再來是車體——三個轉移函數首尾相接。方塊圖把每一個畫成一個標了名的方塊,一支箭頭進、一支箭頭出,而在 s 域裡工作的妙處在於:把它們組合起來,就是純粹的課本代數。你需要的規則只有三條,而第三條正是控制之所以存在的全部理由。

  (1) SERIES (cascade) — outputs feed inputs, gains multiply:

      X ──►[ G1 ]──►[ G2 ]──► Y          G_total = G1 · G2

  (2) PARALLEL — same input, outputs add:

          ┌►[ G1 ]┐
      X ──┤       (+)──► Y                G_total = G1 + G2
          └►[ G2 ]┘

  (3) FEEDBACK (closed loop) — the big one:

      X ─►(+)──►[ G ]──┬──► Y                       G
            ▲          │            G_total = ───────────
            │          │                       1 + G·H
            └──[ H ]◄──┘   (negative feedback)
方塊圖代數的三招。串聯相乘、並聯相加,而迴授把一個方塊包進著名的公式 G/(1+GH)。

前兩條規則一看就懂:串接的方塊把增益相乘(10 倍放大器接 3 倍級就是 30 倍),並聯的路徑相加。第三條才是寶石。取前向路徑 G,把輸出經量測方塊 H 回授,再從輸入中減去它——這正是第 1 級的迴授迴路。一小段代數推導,就把整團糾結塌縮成單一的閉迴路轉移函數

  Derivation of the closed-loop formula (negative feedback):

    error  E = X - H·Y          (input minus measured output)
    output Y = G·E              (forward path acts on the error)

  Substitute E:   Y = G·(X - H·Y)
                  Y = G·X - G·H·Y
          Y + G·H·Y = G·X
          Y·(1 + G·H) = G·X

                  Y         G
           ─────  ───  =  ───────       <- closed-loop transfer function
                  X       1 + G·H
四行代數給出這條主公式。記住它的形狀:前向增益在分子,一加上迴路增益在分母。

組合起來:一個符號裝下整條迴路

讓我們化簡一條完整的控制迴路,感受機件喀嗒就位的瞬間。假設一個控制器 K(目前先當作純增益)驅動我們的 RC 受控體 G(s) = 1/(τs+1),且我們完美地量測輸出,所以 H = 1。把零件代入「先串聯、再迴授」,看著閉迴路浮現成一個單一、可讀的轉移函數。

  Forward path:   K · G(s) = K / (tau·s + 1)
  Feedback:       H = 1   (unity feedback)

  Closed loop:
                  K·G            K/(tau·s+1)
        T(s) = ─────────  =  ────────────────────
                1 + K·G       1 + K/(tau·s+1)

  Multiply top & bottom by (tau·s + 1):

                        K                  K/(1+K)
        T(s) = ─────────────────  =  ──────────────────────
                tau·s + 1 + K          [tau/(1+K)]·s + 1

  New time constant:  tau' = tau / (1 + K)   <- feedback made it FASTER
用增益 K 閉合迴路,把時間常數從 τ 縮成 τ/(1+K)。增益越大 → 系統越快、越乾脆俐落。整條迴路如今是一個一階轉移函數。

讀一下結果。閉合迴路一次做了兩件事:它讓系統變快了(時間常數縮小為 1/(1+K) 倍),也改變了極點的位置(從 s = -1/τ 移到 s = -(1+K)/τ,更深地滑入穩定的左半平面)。把 K 調得越高,系統反應越快——一時間看起來像是免費的效能。接下來幾個級別會揭露陷阱:在更高階的受控體上,太大的增益會把極點拖向失穩,而控制的全部藝術,就在於聰明地選擇 K。但你所調校的*物件*始終是這一個——你用三步代數建出來的轉移函數。

  1. 從各方塊的物理寫出它的轉移函數(RC、質量-彈簧、馬達、控制器 K)。
  2. 把串聯的方塊相乘,將前向路徑塌縮成單一的 G(s)。
  3. 套用迴授公式 G/(1+GH),把迴路摺成單一的閉迴路 T(s)。
  4. 讀它的分母:那些根就是決定穩定性與速度的極點——也就是下一級的主題。