卡爾曼分解

卡爾曼分解（Kalman decomposition）是控制理论中的數學工具，可以將线性时不变（LTI）控制系統轉變為可以清楚區分系統可觀測及可控制成份的系統。分解後的系統會有更清楚的結構，更容易可以對系統可到達（英语：Reachability problem）及可觀測子空間的特性下結論。 推導方式在離散時間系統及連續時間系統都是一様的。連續時間線性系統可以表示如下： x ˙ ( t ) = A x ( t ) + B u ( t ) {\displaystyle {\dot {x}}(t)=Ax(t)+Bu(t)} y ( t ) = C x ( t ) + D u ( t ) {\displaystyle \,y(t)=Cx(t)+Du(t)} 其中 x {\displaystyle \,x} 為狀態向量 y {\displaystyle \,y} 為輸出向量 u {\displaystyle \,u} 為輸入（或控制）向量 A {\displaystyle \,A} 為狀態矩陣 B {\displaystyle \,B} 為輸入矩陣 C {\displaystyle \,C} 為輸出矩陣 D {\displaystyle \,D} 為前饋矩陣 而離散時間線性系統可以表示如下： x ( k + 1 ) = A x ( k ) + B u ( k ) {\displaystyle \,x(k+1)=Ax(k)+Bu(k)} y ( k ) = C x ( k ) + D u ( k ) {\displaystyle \,y(k)=Cx(k)+Du(k)} 各向量及矩陣的意思如上。因此，系統可以表示為包括四個矩陣的數組 ( A , B , C , D ) {\displaystyle \,(A,B,C,D)} 。 令系統的階數為 n {\displaystyle \,n} 。 卡爾曼分解定義為將矩陣數組 ( A , B , C , D ) {\displaystyle \,(A,B,C,D)} 轉換為矩陣數組 ( A ^ , B ^ , C ^ , D ^ ) {\displaystyle \,({\hat {A}},{\hat {B}},{\hat {C}},{\hat {D}})} ，且後者有以下的特性： A ^ = T − 1 A T {\displaystyle \,{\hat {A}}={T^{-1}}AT} B ^ = T − 1 B {\displaystyle \,{\hat {B}}={T^{-1}}B} C ^ = C T {\displaystyle \,{\hat {C}}=CT} D ^ = D {\displaystyle \,{\hat {D}}=D} T {\displaystyle \,T} 為 n × n {\displaystyle \,n\times n} 的可逆矩陣，可以定義為 T = [ T r o ¯ T r o T r o ¯ T r ¯ o ] {\displaystyle \,T={\begin{bmatrix}T_{r{\overline {o}}}&T_{ro}&T_{\overline {ro}}&T_{{\overline {r}}o}\end{bmatrix}}} 其中 T r o ¯ {\displaystyle \,T_{r{\overline {o}}}} 的各列（column）會生成可到達，不可觀察的狀態子空間。 選擇 T r o {\displaystyle \,T_{ro}} ，使得 [ T r o ¯ T r o ] {\displaystyle \,{\begin{bmatrix}T_{r{\overline {o}}}&T_{ro}\end{bmatrix}}} 的各列（column）是可到達子空間的基底。 選擇 T r o ¯ {\displaystyle \,T_{\overline {ro}}} ，使得 [ T r o ¯ T r o ¯ ] {\displaystyle \,{\begin{bmatrix}T_{r{\overline {o}}}&T_{\overline {ro}}\end{bmatrix}}} 的各列（column）是不可觀察子空間的基底。 選擇 T r ¯ o {\displaystyle \,T_{{\overline {r}}o}} ，使得 [ T r o ¯ T r o T r o ¯ T r ¯ o ] {\displaystyle \,{\begin{bmatrix}T_{r{\overline {o}}}&T_{ro}&T_{\overline {ro}}&T_{{\overline {r}}o}\end{bmatrix}}} 可逆。 依上述的建構方式，矩陣 T {\displaystyle \,T} 可逆。可以觀察到其中有些矩陣可能會是零維度。例如，若系統有時有可觀察性及可控制性，則 T = T r o {\displaystyle \,T=T_{ro}} ，其他的矩陣都是零維。 利用可控制性及可觀察性的結果，可以證明轉換後的系統 ( A ^ , B ^ , C ^ , D ^ ) {\displaystyle \,({\hat {A}},{\hat {B}},{\hat {C}},{\hat {D}})} 有以下形式的矩陣： A ^ = [ A r o ¯ A 12 A 13 A 14 0 A r o 0 A 24 0 0 A r o ¯ A 34 0 0 0 A r ¯ o ] {\displaystyle \,{\hat {A}}={\begin{bmatrix}A_{r{\overline {o}}}&A_{12}&A_{13}&A_{14}\\0&A_{ro}&0&A_{24}\\0&0&A_{\overline {ro}}&A_{34}\\0&0&0&A_{{\overline {r}}o}\end{bmatrix}}} B ^ = [ B r o ¯ B r o 0 0 ] {\displaystyle \,{\hat {B}}={\begin{bmatrix}B_{r{\overline {o}}}\\B_{ro}\\0\\0\end{bmatrix}}} C ^ = [ 0 C r o 0 C r ¯ o ] {\displaystyle \,{\hat {C}}={\begin{bmatrix}0&C_{ro}&0&C_{{\overline {r}}o}\end{bmatrix}}} D ^ = D {\displaystyle \,{\hat {D}}=D} 因此可得以下結論 子系統 ( A r o , B r o , C r o , D ) {\displaystyle \,(A_{ro},B_{ro},C_{ro},D)} 具有可到達性及可觀察性。 子系統 ( [ A r o ¯ A 12 0 A r o ] , [ B r o ¯ B r o ] , [ 0 C r o ] , D ) {\displaystyle \,\left({\begin{bmatrix}A_{r{\overline {o}}}&A_{12}\\0&A_{ro}\end{bmatrix}},{\begin{bmatrix}B_{r{\overline {o}}}\\B_{ro}\end{bmatrix}},{\begin{bmatrix}0&C_{ro}\end{bmatrix}},D\right)} 有可到達性。 子系統 ( [ A r o A 24 0 A r ¯ o ] , [ B r o 0 ] , [ C r o C r ¯ o ] , D ) {\displaystyle \,\left({\begin{bmatrix}A_{ro}&A_{24}\\0&A_{{\overline {r}}o}\end{bmatrix}},{\begin{bmatrix}B_{ro}\\0\end{bmatrix}},{\begin{bmatrix}C_{ro}&C_{{\overline {r}}o}\end{bmatrix}},D\right)} 有可觀察性。 可觀測性 可控制性 Lectures on Dynamic Systems and Control, Lecture 25（页面存档备份，存于互联网档案馆） - Mohammed Dahleh, Munther Dahleh, George Verghese — MIT OpenCourseWare