Luenberger狀態觀測器
**狀態觀測器**（英語：）是控制理論中配合受控體的系統，在已知受控體架構的情形下，可以根據受控體的輸入及輸出而估測其內部的狀態，是許多實務應用的基礎。

許多的控制理論都會假設可以知道系統的狀態，例如利用全狀態回授來穩定線性系統的例子。不過許多系統都無法直接量測到實際的狀態，只能用狀態對輸出的影響來間接估計狀態。像隧道中的車輛就是一個例子。車輛在隧道中的速度不易直接量測，只可以用隧道中的實際狀態來估計。假如系統可觀測，可以從輸出配合狀態觀測器來完全估測系統的狀態。

典型的觀測器模型
--------

針對線性系統的狀態觀測器，最常用的是線性觀測器、滑動模式觀測器，也有在線性觀測器中加入立方項的觀測器。以下會說明線性觀測器的結構。

### 離散系統

線性非時變離散系統的狀態方程式如下：

{\displaystyle x(k+1)=Ax(k)+Bu(k)}
{\displaystyle y(k)=Cx(k)+Du(k)}
在時間k時，{\displaystyle x(k)}是系統狀態，{\displaystyle u(k)}是輸入，{\displaystyle y(k)}是輸出。狀態方程式提到系統目前的輸出以及未來的狀態是由目前狀態以及目前輸入所決定。若系統有可觀測性，可以用系統輸出{\displaystyle y(k)}來調整狀態觀測器的狀態。

受控體的觀測器模型可以用上式來推導，也可以加入額外的項，確保觀測器在持續收到系統的輸入及輸出時，其狀態可以收斂到受控體的狀態。可以將系統的輸出減去觀測器的輸出，再乘以矩陣L，再加到狀態觀測器的方程式中，以產生如下式定義的Luenberger觀測器。其中的狀態觀測器的變數會加上hat: {\displaystyle {\hat {x}}(k)}和 {\displaystyle {\hat {y}}(k)}，以區隔實際系統的變數。

{\displaystyle {\hat {x}}(k+1)=A{\hat {x}}(k)+L\left[y(k)-{\hat {y}}(k)\right]+Bu(k)}
{\displaystyle {\hat {y}}(k)=C{\hat {x}}(k)+Du(k)}
觀測器漸近收斂的條件是觀測器誤差{\displaystyle e(k)={\hat {x}}(k)-x(k)}在{\displaystyle k\rightarrow \infty }時，可以收斂到0。此離散系統的Luenberger觀測器漸近收斂的條件是矩陣{\displaystyle A-LC}的特徵值都在單位圓內。

因為控制的需求，觀測器的輸出除了作為觀測器的輸入，也會透過增益矩陣K，成為受控體的輸入。

{\displaystyle u(k)=-K{\hat {x}}(k)}
觀測器的方程式會變成：

{\displaystyle {\hat {x}}(k+1)=A{\hat {x}}(k)+L\left(y(k)-{\hat {y}}(k)\right)-BK{\hat {x}}(k)}
{\displaystyle {\hat {y}}(k)=C{\hat {x}}(k)-DK{\hat {x}}(k)}
或是

{\displaystyle {\hat {x}}(k+1)=\left(A-BK\right){\hat {x}}(k)+L\left(y(k)-{\hat {y}}(k)\right)}
{\displaystyle {\hat {y}}(k)=\left(C-DK\right){\hat {x}}(k)}
因為控制理論中的分離原理，可將估測器以及控制器分開設計, 因此可以選擇K和L，以達到系統的整體穩定性。根據經驗法則，會選擇觀測器{\displaystyle A-LC} 的極點，使其比系統{\displaystyle A-BK}極點快十倍以上。

### 連續系統

連續系統中的觀測器和離散系統中的類似。會選擇觀測器增益L使連續系統誤差可以漸近收斂到0（當{\displaystyle A-LC}為赫維茲矩陣時會成立）

針對連續時間線性系統

{\displaystyle {\dot {x}}=Ax+Bu,}
{\displaystyle y=Cx+Du,}
其中{\displaystyle x\in \mathbb {R} ^{n},u\in \mathbb {R} ^{m},y\in \mathbb {R} ^{r}}，觀測器類似以上離散系統的例子：

{\displaystyle {\dot {\hat {x}}}=A{\hat {x}}+Bu+L\left(y-{\hat {y}}\right)}.
{\displaystyle {\hat {y}}=C{\hat {x}}+Du,}
觀測器誤差{\displaystyle e=x-{\hat {x}}}會滿足下式

{\displaystyle {\dot {e}}=(A-LC)e}.
若{\displaystyle [A,C]}有可觀測性，可以適當選擇觀測器增益L，以調整矩陣{\displaystyle A-LC}的特徵值。另外，也可以使矩陣{\displaystyle A-LC}為赫維茲矩陣，讓觀測器誤差e(t)可以漸近收斂到0。

### 峰值現象以及其他的觀測器技術

若觀測器增益L很高，線性的Luenberger觀測器會很快收斂，但大增益會造成峰值現象（peaking phenomenon），初始的觀測器誤差會非常大，在實際使用上不安全。因此，會用非線性高增益觀測技術，可以快速收斂，又沒有峰值現象。例如可以在觀測器中使用滑動模式控制技術（滑動模式觀測器），使觀測器在有量測誤差的情形下，在有限時間內使觀測器狀態誤差變成零，其他有誤差的狀態，其行為會類似峰值減弱後的Luenberger觀測器。滑動模式觀測器類似卡尔曼滤波，有較理想的抗雜訊能力。

另一種作法是用多觀測器（multi observer），可以顯著的改善暫態，抑制觀測器的過沖。多觀測器可以適用在所有適用高增益的系統。

非線性系統的狀態觀測器
-----------

針對非線性系統，最常用的是高增益狀態觀測器、滑動模式觀測器以及擴展觀測器。

為了說明非線性系統中的狀態觀測器，先考慮以下的無輸入非線性系統：

{\displaystyle {\dot {x}}=f(x)}
其中x \in \mathbb{R}^n，也假設有量測輸出{\displaystyle y\in \mathbb {R} }如下

{\displaystyle y=h(x).}
有許多設計觀測器的非近似式作法。以下提到的觀測器也可以適用於有輸入的系統

{\displaystyle {\dot {x}}=f(x)+B(x)u,}
{\displaystyle y=h(x),} .
### 線性化誤差動態系統

Krener和Isidori，以及Krener和Respondek有針對狀態觀測器的研究，若存在可線性化的轉換（微分同胚，類似回授線性化）{\displaystyle z=\Phi (x)}，使新變數的系統方程如下

{\displaystyle {\dot {z}}=Az+\phi (y),}
{\displaystyle y=Cz.}
Luenberger觀測器可以設計為

{\displaystyle {\dot {\hat {z}}}=A{\hat {z}}+\phi (y)-L\left(C{\hat {z}}-y\right)}.
轉換後變數{\displaystyle e={\hat {z}}-z}的觀測器誤差可以滿足同一個方程式

{\displaystyle {\dot {e}}=(A-LC)e}.
Gauthier、Hammouri和Othman
and Hammouri and Kinnaert已證明，若存在變換{\displaystyle z=\Phi (x)}，使系統可以轉換為以下的型式

{\displaystyle {\dot {z}}=A(u(t))z+\phi (y,u(t)),}
{\displaystyle y=Cz,}
則觀測器可以設計如下

{\displaystyle {\dot {\hat {z}}}=A(u(t)){\hat {z}}+\phi (y,u(t))-L(t)\left(C{\hat {z}}-y\right)},
其中{\displaystyle L(t)}是時變的觀測器增益。

Ciccarella、Dalla Mora和Germani有提供更進階以及一般性的結果，只需要簡單的規律性（regularity）假設，不需要非線性的轉換，證明觀測狀態可以全域收斂到實際狀態。

多觀測器
----

多觀測器（Multi observer）是高增益觀測器的擴展，由一個觀測器到多個觀測器一起使用，可以讓多個模型同時作用。多觀測器會分為二層：一層包括了多個高增益觀測器，有相關同一組狀態旳不同的估測量，第二層決定第一層各估測量的權重。此演算法很容易實現，其中也沒有微分等有危險性的運算。多觀測器的概念最早曾應用在適應控制中，用來取得資訊。

* Multi Observer SchemaMulti Observer Schema

假設高增益觀測器有n+1個

{\displaystyle {\dot {\hat {x\_{k}}}}(t)=A{\hat {x\_{k}}}(t)+B\phi \_{0}({\hat {x}}(t),u(t))-L({\hat {y\_{k}}}(t)-y(t))}
{\displaystyle {\hat {y\_{k}}}(t)=C{\hat {x\_{k}}}(t)}

其中{\displaystyle k=1...n+1}是觀測器的編號。第一層的觀測器包括了相同的增益L，但其啟始狀態{\displaystyle x\_{k}(0)}不同。在第二層中會將所有{\displaystyle x\_{k}(t)}（{\displaystyle k=1...n+1}）觀測器的結果合併為一個，以得到單一狀態向量的估測值

{\displaystyle {\hat {y\_{k}}}(t)=\sum \limits \_{k=1}^{n+1}\alpha \_{k}(t){\hat {x\_{k}}}(t)}

其中{\displaystyle \alpha \_{k}\in \mathbb {R} }是加權因子。這些因子會改變，以提供第二層的估測用，並且提昇觀測器的效果。

假設

{\displaystyle \sum \limits \_{k=1}^{n+1}\alpha \_{k}(t)\xi \_{k}(t)=0}

且

{\displaystyle \sum \limits \_{k=1}^{n+1}\alpha \_{k}(t)=1}

其中{\displaystyle \xi \_{k}\in \mathbb {R} ^{n\times 1}}是某向量，會和第 k 個估測器的誤差{\displaystyle e\_{k}(t)}有關。

經過轉換，可以得到以下的線性回歸問題

{\displaystyle [-\xi \_{n+1}(t)]=[\xi \_{1}(t)-\xi \_{n+1}(t)\dots \xi \_{k}(t)-\xi \_{n+1}(t)\dots \xi \_{n}(t)-\xi \_{n+1}(t)]^{T}{\begin{bmatrix}\alpha \_{1}(t)\\\vdots \\\alpha \_{k}(t)\\\vdots \\\alpha \_{n}(t)\end{bmatrix}}}

根據上式，有可能估算{\displaystyle \alpha \_{k}(t)}。為了要建構流形，需要映射{\displaystyle m:\mathbb {R} ^{n}\rightarrow \mathbb {R} ^{n}}在{\displaystyle \xi \_{k}(t)=m(e\_{k}(t))}之間，並且保證可以用可量測的訊號來計算{\displaystyle \xi \_{k}(t)}。
首先要從觀測器誤差中消除{\displaystyle \alpha \_{k}(t)}的峰值現象

{\displaystyle e\_{\sigma }(t)=\sum \limits \_{k=1}^{n+1}\alpha \_{k}(t)e\_{k}(t)}.

將{\displaystyle \eta \_{k}(t)={\hat {y}}\_{k}(t)-y(t)}針算n的微分,可以找到以下的值{\displaystyle \xi \_{k}(t)}

{\displaystyle \xi \_{k}(t)={\begin{bmatrix}1&0&0&\cdots &0\\CL&1&0&\cdots &0\\CAL&CL&1&\cdots &0\\CA^{2}L&CAL&CL&\cdots &0\\\vdots &\vdots &\vdots &\ddots \\CA^{n-2}L&CA^{n-3}L&CA^{n-4}L&\cdots &1\end{bmatrix}}{\begin{bmatrix}\int \limits \_{t-t\_{d}}^{t}{{n-1} \atop \cdots }\int \limits \_{t-t\_{d}}^{t}\eta \_{k}(\tau )d\tau \\\vdots \\\eta (t)-\eta (t-(n-1)t\_{d})\end{bmatrix}}}

其中{\displaystyle t\_{d}>0}是某時間常數。{\displaystyle \xi \_{k}(t)}和{\displaystyle \eta \_{k}(t)}和其積分有關，因此可以應用在控制系統上。
而且{\displaystyle \alpha \_{k}(t)}是在估測律中指定，因此此流形可以量測。第二層{\displaystyle {\hat {\alpha }}\_{k}(t)}，其中{\displaystyle k=1\dots n+1}是用來估測{\displaystyle \alpha \_{k}(t)}係數。其映射誤差定義為

{\displaystyle e\_{\xi }(t)=\sum \limits \_{k=1}^{n+1}{\hat {\alpha }}\_{k}(t)\xi \_{k}(t)}

其中{\displaystyle e\_{\xi }(t)\in \mathbb {R} ^{n\times 1},{\hat {\alpha }}\_{k}(t)\in \mathbb {R} }。若係數{\displaystyle {\hat {\alpha }}(t)}等於{\displaystyle \alpha \_{k}(t)}，映射誤差{\displaystyle e\_{\xi }(t)=0}。因此可用上式來計算{\displaystyle {\hat {x}}}，因為流形的特形，可以減少峰值現象。所創建的映射提供估測過程中許多的彈性。甚至可以在第二層估計x(t)的值，以計算狀態{\displaystyle x}

邊界觀測器
-----

邊界觀測器（Bounding observers）或區間觀測器（Interval observers） 是一組特殊的觀測器，會同時提供一個狀態的二個估測值，分別是真實值的上限和下限。真實值會在上下限估測範圍內。

邊界範圍在實際應用上非常重要，可以知道每一個估測的精準度。

在數學上，若適當的選擇L，可以用二種Luenberger觀測器來達到正向系統特性：一個是上限{\displaystyle {\hat {x}}\_{U}(k)}（在沒有雜訊及不確定性的情形下，確保在{\displaystyle k\rightarrow \infty }時，{\displaystyle e(k)={\hat {x}}\_{U}(k)-x(k)}在零以上收斂到零），另一個是下限{\displaystyle {\hat {x}}\_{L}(k)}（確保在{\displaystyle k\rightarrow \infty }時，{\displaystyle e(k)={\hat {x}}\_{L}(k)-x(k)}在零以下收斂到零）。因此{\displaystyle {\hat {x}}\_{U}(k)\geq x(k)\geq {\hat {x}}\_{L}(k)}恆成立。

參考資料
----

1. ↑  Khalil, H.K.  3rd, Upper Saddle River, NJ: Prentice Hall, 2002  [2021-02-19], ISBN 978-0-13-067389-3, （原始内容存档于2017-07-25）
2. ↑  Utkin, Vadim; Guldner, Jürgen; Shi, Jingxin, Philadelphia, PA: Taylor & Francis, Inc. 1999, ISBN 978-0-7484-0116-1
3. ↑  Drakunov, S.V. Automation and Remote Control, 1983, **44** (9): 1167–1175
4. 1 2 3  Bernat, J.; Stepien, S. International Journal of Control, 2015, **88** (6): 1209–1222, Bibcode:2015IJC....88.1209B, S2CID 8599596, doi:10.1080/00207179.2014.1000380
5. ↑  Krener, A.J.; Isidori, Alberto, System and Control Letters, 1983, **3**: 47–52, doi:10.1016/0167-6911(83)90037-3
6. ↑  Krener, A.J.; Respondek, W. SIAM Journal on Control and Optimization, 1985, **23** (2): 197–216, doi:10.1137/0323016
7. ↑  Gauthier, J.P.; Hammouri, H.; Othman, S. IEEE Transactions on Automatic Control, 1992, **37** (6): 875–880, doi:10.1109/9.256352
8. ↑  Hammouri, H.; Kinnaert, M. System and Control Letters, 1996, **28** (3): 151–157, doi:10.1016/0167-6911(96)00022-9
9. ↑  Ciccarella, G.; Dalla Mora, M.; Germani, A. International Journal of Control, 1993, **57** (3): 537–556, doi:10.1080/00207179308934406
10. ↑  Narendra, K.S.; Han, Z.. International Journal of Adaptive Control and Signal Processing. August 2012, **26** (8): 778–799. ISSN 1099-1115. doi:10.1002/acs.2269.
11. ↑   (PDF).  [2021-02-19]. （原始内容存档 (PDF)于2015-05-06）.
12. ↑   (PDF).  [2021-02-19]. （原始内容存档 (PDF)于2016-03-04）.
13. ↑ .  [2021-02-19]. （原始内容存档于2020-03-19）.
14. ↑   (PDF).  [2021-02-19]. （原始内容存档 (PDF)于2020-05-18）.
15. ↑  Hadj-Sadok, M.Z.; Gouzé, J.L.. Journal of Process Control. 2001, **11** (3): 299–310. doi:10.1016/S0959-1524(99)00074-8.
16. ↑  Ait Rami, M. Tadeo, F. Helmke, U. (2011),
"Positive observers for linear positive systems, and their implications",
International Journal of Control 84

* Sontag, Eduardo, Springer, 1998, ISBN 0-387-98489-5

相關條目
----

* 滾動時域估計
* 卡尔曼滤波
* 扩展卡尔曼滤波器（英语：）
* 正向系統
* 軟感測器

|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| 

| * 
* 论
* 编
控制理论 |
| --- |
|  |
| 領域分支 | 
* 自适应控制
* 控制理论
* 數位控制
* 能量成型控制
* 模糊控制
* 混合（英语：）控制
* 智能控制
* 模型預測控制
* 神经系统控制
* 非線性控制
* 最优控制
* 实时计算
* 鲁棒控制
* 隨機控制

 |
|  |
| 系統特性 | 
* 時域
* 頻域
* 波德圖
* 奈奎斯特图
* 尼柯尔斯图
* 方塊圖
* 閉迴路傳遞函數
* 可控制性
* 傅里叶变换
* 频率响应
* 拉普拉斯变换
* 负反馈
* 可觀測性
* 性能
* 正回饋
* 根軌跡圖法
* 伺服機構
* 信号流图
* 状态空间
* 穩定性理論
* 穩態分析及設計
* 系统动力学
* 传递函数

 |
|  |
| 數位控制 | 
* 離散時間信號
* 数字信号处理
* 量化
* 實時軟體
* 取樣資料
* 系統識別
* Z轉換

 |
|  |
| 進階理論 | 
* 人工神经网络
* 係數圖法（英语：）
* 控制重構
* 分佈式參數系統
* 分數階控制
* 模糊逻辑
* H-infinity迴路成形
* 漢克爾奇異值
* 卡尔曼滤波
* Krener's theorem（英语：）
* 最小二乘法
* 李雅普诺夫稳定性
* 小迴路回授
* 知覺控制理論
* 狀態觀測器
* 向量控制
* 描述函數

 |
|  |
| 控制器 | 
* 嵌入式控制器
* 超前-滞后补偿器
* 数控机床
* PID控制器
* 可编程逻辑控制器

 |
|  |
| 控制應用 | 
* 分散式控制系統
* 电动机
* 工業控制系統
* 机械电子学
* 運動控制
* 过程控制
* 机器人学
* 数据采集与监控系统（SCADA）

 |

 |