2014年7月8日 星期二

[線性系統] 實現定理 與 非奇異轉換

這次要介紹 線性系統理論 中的一個重要結果:稱作實現理論 ( Realization Theory )

考慮一個轉移函數 $H(s)$ 可以將其由 狀態空間表示,我們記做 $\Sigma$。
其中
\[\Sigma : = \left\{ \begin{array}{l}
\dot x = Ax + Bu\\
y = Cx + Du
\end{array} \right.
\] 則我們有以下定義:
==============
Definition: Realization
令 $H(s)$ 為給定轉移函數,則我們說 其狀態空間 $\Sigma $  為 $H(s)$ 的實現 (Realization) 若下列條件成立:
\[
C(sI-A)^{-1}B + D = H(s)
\]
=============
Comments:
1. 上述 實現(Realization) 意指可以透過 實體電路 (e.g., OP放大器等) "實現" 狀態方程。
2. 設 $\sum = (A,B,C,D) $ 為 $H(s)$ 的實現,現在定義 $T$ 為任意 $n \times n$ 的非奇異矩陣 (non-singular matrix),則我們可以定義下列 新系統 以狀態空間表示:
\[
\tilde {\sum} = (\tilde A, \tilde B, \tilde C, \tilde D)
\]
其中 $\tilde A = TAT^{-1}$, $\tilde B = TB$, $\tilde C = CT^{-1}$, $\tilde D = D$。

那麼現在我們來看看此新系統的轉移函數為何?

\[\begin{array}{l}
\tilde C{(sI - \tilde A)^{ - 1}}\tilde B + \tilde D = C{T^{ - 1}}{(sI - TA{T^{ - 1}})^{ - 1}}TB + D\\
 \ \ \ \ \ \ \ \ = C{T^{ - 1}}{(sT{T^{ - 1}} - TA{T^{ - 1}})^{ - 1}}TB + D\\
  \ \ \ \ \ \ \ \ = C{T^{ - 1}}{\left( {T\left( {sI - A} \right){T^{ - 1}}} \right)^{ - 1}}TB + D\\
 \ \ \ \ \ \ \ \  = C{T^{ - 1}}\left( {T{{\left( {sI - A} \right)}^{ - 1}}{T^{ - 1}}} \right)TB + D\\
  \ \ \ \ \ \ \ \ = C{\left( {sI - A} \right)^{ - 1}}B + D \\
  \ \ \ \ \ \ \ \ = H(s)
\end{array}\]

上述結果告訴我們

1. 狀態空間表示 若透過 非奇異轉換 (Non-singular transformation),其轉移函數不變 (invariant)

2. 上式non-singular transformation 等價於 將系統以新的狀態變數 $z := T x$ 改寫。
由於 $z = Tx \Rightarrow \dot z = T\dot x \Rightarrow \dot x = {T^{ - 1}}\dot z$,故原系統狀態表示可改寫為
\[\begin{array}{l}
\left\{ \begin{array}{l}
\dot x = Ax + Bu\\
y = Cx + Du
\end{array} \right. \Rightarrow \left\{ \begin{array}{l}
{T^{ - 1}}\dot z = A{T^{ - 1}}z + Bu\\
y = C{T^{ - 1}}z + Du
\end{array} \right.\\
 \Rightarrow \left\{ \begin{array}{l}
\dot z = \underbrace {TA{T^{ - 1}}}_{\tilde A}z + \underbrace {TB}_{\tilde B}u\\
y = \underbrace {C{T^{ - 1}}}_{\tilde C}z + \underbrace D_{\tilde D}u
\end{array} \right.
\end{array}\]

有了上述結果之後,我們知道同一系統的 任意狀態空間實現 都可透過 非奇異轉換 求得相同的轉移函數,那麼現在問題變成怎樣的轉移函數才可以被實現??

以下我們給出一個重要且簡潔的定理來回答這個問題:

=======================
Theorem: Realization Theorem
任意 proper (分母階數大於或者等於分子階數) 轉移函數皆為可實現 (realizable)。 
=======================

那麼問題變成已知 proper 轉移函數可以實現 (有狀態空間表示),那麼該如何實現呢? 我們用下面這個例子來說明:

現在考慮 轉移函數
\[
H(s) = \frac{b_m s^m + b_{m-1}s^{m-1} + ... + b_1 s^1 + b_0}{s^n + a_{n-1}s^{n-1} + a_{n-2}s^{n-2} + ... + a_1 s^1 + a_0} + r
\] 其中 $m < n$ (properness)

在不失一般性的情況,我們設 $m = n-1$,則我們由 Realization Theorem 可知 此轉移函數存在 狀態空間表示 (可以實現),故我們可寫成
\[\begin{array}{l}
A = \left[ {\begin{array}{*{20}{c}}
0&1&0&0& \cdots &0\\
0&0&1&0& \cdots &0\\
0&0&0&1&{0 \cdots }&0\\
 \vdots & \vdots &{}&\begin{array}{l}
0\\
 \vdots
\end{array}& \ddots & \vdots \\
0&0& \cdots & \cdots &0&1\\
{ - {a_0}}&{ - {a_1}}&{ - {a_2}}& \cdots &{ - {a_{n - 2}}}&{ - {a_{n - 1}}}
\end{array}} \right],B = \left[ {\begin{array}{*{20}{c}}
0\\
0\\
0\\
 \vdots \\
0\\
1
\end{array}} \right]\\
C = \left[ {\begin{array}{*{20}{c}}
{{b_0}}&{{b_1}}&{{b_2}}& \cdots &{{b_{m - 1}}}&{{b_m}}
\end{array}} \right]\\
D = r
\end{array}\]
上式實現 稱為 可控典型式 (Controllable Canonical form)。

Comments:
1. 為何上述實現被稱為可控典型式?

觀察上式
\[\begin{array}{l}
\dot x = Ax + Bu = A\\
 \Rightarrow \dot x = \left[ {\begin{array}{*{20}{c}}
0&1&0&0& \cdots &0\\
0&0&1&0& \cdots &0\\
0&0&0&1&{0 \cdots }&0\\
 \vdots & \vdots &{}&{\begin{array}{*{20}{l}}
0\\
 \vdots
\end{array}}& \ddots & \vdots \\
0&0& \cdots & \cdots &0&1\\
{ - {a_0}}&{ - {a_1}}&{ - {a_2}}& \cdots &{ - {a_{n - 2}}}&{ - {a_{n - 1}}}
\end{array}} \right]x + B = \left[ {\begin{array}{*{20}{c}}
0\\
0\\
0\\
 \vdots \\
0\\
1
\end{array}} \right]u
\end{array}
\] 現在計算對應的特徵方程式 $\det( sI - A)$,我們可得
\[
\det(sI-A) = s^n + a_{n-1}s^{n-1} + ... + a_0
\] 現在如果我們讓控制力 $ u = Kx$亦即
\[u = \left[ {\begin{array}{*{20}{c}}
{{k_1}}&{{k_2}}& \cdots &{{k_n}}
\end{array}} \right]\left[ {\begin{array}{*{20}{c}}
{{x_1}}\\
{{x_2}}\\
 \vdots \\
{{x_n}}
\end{array}} \right]
\]則 受控制的動態系統可以改寫為
\[
\dot x = Ax + Bu = Ax + B(Kx ) = (A+BK)x
\]此時
\[\begin{array}{l}
 \Rightarrow A + BK = \left[ {\begin{array}{*{20}{c}}
0&1&0& \cdots &0\\
0&0&1&{0 \cdots }& \vdots \\
0&0&0& \ddots &0\\
 \vdots & \vdots &{}&0&1\\
{ - {a_0}}&{ - {a_1}}& \cdots & \cdots &{ - {a_{n - 1}}}
\end{array}} \right] + \left[ {\begin{array}{*{20}{c}}
0\\
0\\
 \vdots \\
0\\
1
\end{array}} \right]\left[ {\begin{array}{*{20}{c}}
{{k_1}}&{{k_2}}& \cdots &{{k_n}}
\end{array}} \right]\\
\begin{array}{*{20}{c}}
{}
\end{array}\begin{array}{*{20}{c}}
{}
\end{array}\begin{array}{*{20}{c}}
{}
\end{array}\begin{array}{*{20}{c}}
{}
\end{array} = \left[ {\begin{array}{*{20}{c}}
0&1&0& \cdots &0\\
0&0&1&{0 \cdots }& \vdots \\
0&0&0& \ddots &0\\
 \vdots & \vdots &{}&0&1\\
{{k_1} - {a_0}}&{{k_2} - {a_1}}& \cdots & \cdots &{{k_n} - {a_{n - 1}}}
\end{array}} \right]
\end{array}\]上式可以發對每一個參數 $a_i, \forall i =0, ...,n$ 都有一個對應的控制力參數 $k_j, j=1,...,n$來與之調整,故對應的特徵方程 $\det(sI-(A+BK))$ 的特性根根 (亦即 poles)亦會被 $K$ 直接。此poles 的位置將直接影響到系統性能,故如果某動態系統可寫為可控典型式,則我們可透過上述的控制力 $u=Kx $ 直接改變每一個系統的特性根位置。

2.
在 MATLAB 中 由轉移函數轉成狀態空間實現,可以透過指令 tf2ss.m 來達成。在此不贅述

以下我們看個例子:

Example
考慮轉移函數
\[G(s) = \frac{Y(s)}{U(s)}= \frac{{{b_2}{s^2} + {b_1}{s^1} + {b_0}}}{{a_3^{}{s^3} + {a_2}{s^2} + {a_1}{s^1} + {a_0}}} + r
\]其中 $r$ 為常數。試求出 controllable canonical form:
Solution
注意到我們有額外的常數 $r$ 故可知 $D =r$ (此額外的項,表示輸入可直接影響輸出)

故我們只需專心在 strictly proper 的轉移函數部分即可。另外此例由於階數較低,我們可以用推導的方式求得 controllable canonical form。現在我們觀察轉移函數,並將其繪製成方塊圖

其中我們引入中繼函數 $X(s)$,則透過上圖我們可將轉移函數改寫回微分方程如下
\[\left\{ \begin{array}{l}
\frac{{X(s)}}{{U(s)}} = \frac{1}{{{s^3} + {a_2}{s^2} + {a_1}{s^1} + {a_0}}}\\
\frac{{Y(s)}}{{X(s)}} = {b_2}{s^2} + {b_1}{s^1} + {b_0}
\end{array} \right. \Rightarrow \left\{ \begin{array}{l}
{x^{\left( 3 \right)}} + {a_2}\ddot x + {a_1}\dot x + {a_0}x = u\\
{b_2}\ddot x + {b_1}\dot x + {b_0}x = y
\end{array} \right.\]現在我們定義狀態 $x: = {x_1},\dot x: = {x_2},\ddot x: = {x_3}$ 則上式改寫如下
\[\left\{ \begin{array}{l}
a_3^{}{x^{\left( 3 \right)}} + {a_2}\ddot x + {a_1}\dot x + {a_0}x = u\\
{b_2}\ddot x + {b_1}\dot x + {b_0}x = y
\end{array} \right. \Rightarrow \left\{ \begin{array}{l}
{{\dot x}_3} + {a_2}{x_3} + {a_1}{x_2} + {a_0}{x_1} = u\\
{b_2}{x_3} + {b_1}{x_2} + {b_0}{x_1} = y
\end{array} \right.\]且我們有 ${{\dot x}_1} = {x_2},\;{{\dot x}_2} = {x_3}$ 故我們可寫成
\[\begin{array}{l}
\dot x = Ax + Bu\\
y = Cx + Du
\end{array}\]如下
\[\left\{ \begin{array}{l}
\left[ {\begin{array}{*{20}{c}}
{{{\dot x}_1}}\\
{{{\dot x}_2}}\\
{{{\dot x}_3}}
\end{array}} \right] = \left[ {\begin{array}{*{20}{c}}
0&1&0\\
0&0&1\\
{ - {a_0}}&{ - {a_1}}&{ - {a_2}}
\end{array}} \right]\left[ {\begin{array}{*{20}{c}}
{{x_1}}\\
{{x_2}}\\
{{x_3}}
\end{array}} \right] + \left[ {\begin{array}{*{20}{c}}
0\\
0\\
1
\end{array}} \right]u\\
y = \left[ {\begin{array}{*{20}{c}}
{{b_0}}&{{b_1}}&{{b_2}}
\end{array}} \right]\left[ {\begin{array}{*{20}{c}}
{{x_1}}\\
{{x_2}}\\
{{x_3}}
\end{array}} \right]
\end{array} \right.\]上式即為 controllable canonical form。

現在合併先前我們的 $D=r$ 故可得最終表示為
\[\left\{ \begin{array}{l}
\left[ {\begin{array}{*{20}{c}}
{{{\dot x}_1}}\\
{{{\dot x}_2}}\\
{{{\dot x}_3}}
\end{array}} \right] = \left[ {\begin{array}{*{20}{c}}
0&1&0\\
0&0&1\\
{ - {a_0}}&{ - {a_1}}&{ - {a_2}}
\end{array}} \right]\left[ {\begin{array}{*{20}{c}}
{{x_1}}\\
{{x_2}}\\
{{x_3}}
\end{array}} \right] + \left[ {\begin{array}{*{20}{c}}
0\\
0\\
1
\end{array}} \right]u\\
y = \left[ {\begin{array}{*{20}{c}}
{{b_0}}&{{b_1}}&{{b_2}}
\end{array}} \right]\left[ {\begin{array}{*{20}{c}}
{{x_1}}\\
{{x_2}}\\
{{x_3}}
\end{array}} \right] + ru \ \ \ \ \ \ \ \square
\end{array} \right.\]

上述可控典型式 與 實現定裡之間關係 我們會留待下一篇文章在做介紹。
[線性系統] Controllability Matrix

另外亦會對非奇異轉換矩陣 $T$ 的求得?? 也就是是否可以找到一個非奇異轉換矩陣 來幫助我們從一個狀態空間的實現 變成 另一個呢?? 做額外補充。