1987 - H∞ 狀態空間解法#
案件摘要#
1987 年,John Doyle、Keith Glover、Pramod Khargonekar、Bruce Francis 發表 〈State-space solutions to standard \(H_2\) and \(H_\infty\) control problems〉, 用兩個 Riccati 方程解出 \(H_\infty\) 控制的狀態空間形式。 Zames 的 \(H_\infty\) 理論(1981,見 1981-H∞魯棒控制.md) 原本只有算子理論/插值法的解法——抽象、難算、工程師用不上; DGKF 的解法把它變成標準的矩陣運算(解兩個 Riccati 方程 + 檢查一個條件)—— ** \(H_\infty\) 從數學變成工具**,魯棒控制正式進入工程實務。
前因#
- Zames 的 \(H_\infty\) (1981):理論正確,但解法是Nevanlinna–Pick 插值與算子理論——抽象到工程師看不懂、算不動(見 1981-H∞魯棒控制.md)。
- Kalman 的狀態空間傳統:LQR 的 Riccati 方程(1960)已是工程師熟悉的工具——「解 Riccati」是現代控制的日常(見 1960-Kalman狀態空間與濾波.md)。
- LQG 的狀態空間解法:分離原理 + 兩個 Riccati 方程(濾波與控制各一)——「兩個 Riccati」的模式已存在。
- 計算機的進步:1980 年代數值線性代數(QR 分解、Schur 分解)成熟——Riccati 方程可以可靠地數值求解。
線索與推理#
第 1 步:標準問題的表述#
DGKF 的偵探手法:把所有控制問題統一成一個「標準問題」。廣義受控體:
其中: \(w\) 是外部輸入(擾動、參考)、 \(u\) 是控制、 \(z\) 是性能輸出(要壓小的量)、 \(y\) 是量測。控制器 \(u = K(s)y\) 。
目標:設計 \(K\) 使從 \(w\) 到 \(z\) 的閉環增益最小:
所有控制問題(靈敏度、魯棒穩定、跟蹤、濾波)都可以寫成這個形式—— 一個標準問題、一個解法。
第 2 步:兩個 Riccati 方程#
DGKF 的解答:存在次最佳控制器( \(\|T_{zw}\|_\infty < \gamma\) )若且唯若 兩個代數 Riccati 方程有正定解 \(X_\infty, Y_\infty\) :
控制 Riccati(狀態反饋半):
濾波 Riccati(估計半):
耦合條件:
( \(\rho\) 是譜半徑。)結構與 LQG 完全平行:兩個 Riccati + 一個耦合條件—— 但 \(H_\infty\) 的兩個方程互相耦合(不能分開解),因為 minmax 破壞了分離原理。
第 3 步:為什麼這是突破?#
| 面向 | Zames 的插值解法 | DGKF 的狀態空間解法 |
|---|---|---|
| 數學語言 | Nevanlinna–Pick 插值、算子理論 | Riccati 方程、矩陣 |
| 可計算性 | 困難(手工插值) | 標準數值演算法(Schur 分解) |
| 可理解性 | 抽象 | 與 LQG 平行(工程師熟悉) |
| 軟體實現 | 無 | MATLAB Robust Toolbox(1988+) |
關鍵:「解兩個 Riccati」是現代控制工程師的母語—— DGKF 把 \(H_\infty\) 翻譯成母語,抽象理論瞬間變成可用的工具。
第 4 步: \(\gamma\) 迭代——設計流程#
DGKF 解法是「次最佳」:給定 \(\gamma\) ,檢查條件是否成立。設計流程:
- 選性能加權 \(W_i\) (依第 1 步的標準問題)。
- 二分法迭代 \(\gamma\) :太大就降低、不成立就升高。
- 得到最小可行的 \(\gamma\) 與控制器 \(K(s)\) (狀態空間矩陣)。
** \(\|T_{zw}\|_\infty = \gamma_{\min}\) 就是「最壞增益的理論下界」**—— Bode 水床效應(見 1945-Bode回饋放大器設計.md)的定量答案。
後果#
- \(H_\infty\) 控制成為工程工具:MATLAB Robust Control Toolbox(1988)、飛行控制律設計。
- 魯棒控制成熟:「加權 + 標準問題 + Riccati」成為魯棒設計的標準流程。
- 與 LQG 的合流:LQG 是 \(H_2\) 最佳化的特例——兩者統一在 DGKF 的標準問題下。
- 後續發展: \(H_\infty\) 濾波、LM(線性矩陣不等式,1990s)、非線性 \(H_\infty\) ——魯棒控制的版圖擴張。
結案陳詞#
DGKF 的偵探手法是「統一標準問題」:所有控制問題寫成同一個形式, 再用工程師熟悉的母語(Riccati 方程)給出解答。抽象理論的工程化—— \(H_\infty\) 從數學論文走進 MATLAB,魯棒控制成為日常工具。