You are on page 1of 64

第十一章 控制系統的狀態空間分析法

Analysis of Control Systems in State Space

11.1 簡介

11.2 狀態空間表示法

11.3 狀態空間表示法的方塊圖與狀態空間典型式

11.4 相似轉換

11.5 模態典型式

11.6 狀態方程式的動態響應

11.7 控制性與觀察性

11.1 簡介(introduction)

除了根軌跡法(root locus)與頻率響應法(frequency response)等兩種方法之外,

研究回授控制系統還有一種重要的方法:狀態空間法(state space method)。所謂狀

態空間法的研究就是所謂的現代控制學(modern control),其數學基礎是建立在矩

陣原理與線性代數之上,而傳統上以拉氏轉換為基礎的轉移函數研究如根軌跡法

與頻率響應法則稱為古典控制學(classical control)。

狀態空間的想法來自於描述微分方程的狀態變數法(state-variable method),

狀態變數法將動態系統的高階微分方程描述成一組關於系統狀態向量的一階微

分方程。該方程的解可以看成該狀態向量在空間中的一條以時間為其參數的軌跡。

本章節將側重於了解對控制系統的狀態空間分析法,並分別對轉移函數與

狀態空間關係、狀態方程式的動態響應、控制性與觀察性進行一系列討論。

1
11.2 狀態空間表示法(State Space Representation)

定義(狀態變數, State variable)

一個動態系統的狀態變數 x ( t ) 是系統的一組最小變數集合,若在初始時刻 t = t0

這組狀態變數的初值已知,且給定各時刻 t  t0 時輸入訊號 u ( t ),則動態系統在任

何時刻 t  t0 的行為可以被完全確定。

定義(狀態空間, State space)

一個 n 維空間的座標軸可由 n 個基底(basis)組成(即狀態變數),例如

x1 ( t ) , x2 ( t ) , , xn ( t ) ,則我們稱這樣的 n 維空間為一個狀態空間。因此狀態變

數 x ( t ) 的選擇並非唯一。

我們以一個 RLC 電路作為例子

假設此電路所有初始值為 0,則從 Kirchhoff’s voltage law 可得


di 1
v=L + Ri +  idt (11.1)
dt C
Question: 何種最小可能的變數集合可以使上述的積分-微分方程能被完整描述?

2
Observation:

從電路的觀點而言,一旦電流 i ( t ) , t  t0 已知,則電路的動態行為便可以被解出。

但是,若從空間的觀點而言或者 phasor 的觀點而言(針對某一特定時間)


v ( t1 ) = vR ( t1 ) + vL ( t1 ) + vC ( t1 )
1
= Rx1 ( t1 ) + Lx2 ( t1 ) + x3 ( t1 ) , t1  t0
C

x1 , x2 , x3 為能滿足系統特性的三個向量。

Question: 若需完整描述上述的積分-微分方程是 x1 , x2 , x3 三個向量全部都須使

用到嗎?

Answer: 從線性代數(linear algebra)觀點而言,基底(basis)的定義是用來描述一

個空間:任何一組向量在該空間中不能被其他組向量做線性組合(linear

combination)者我們稱之為基底(即基底必須線性獨立),因此 x1 , x2 , x3 三個向量

中中任兩項可當狀態變數。

故現在回到原本的問題,
1
v = Rx1 + Lx2 + x3
C
其中

x1 = i, current
di
x2 = , rate change of current
dt
x3 =  idt , charge

上述式子暗示了至少有一個向量(或者一個變數)無法形成一個基底。

這更進一步暗示了我們能從 x1 , x2 , x3 中任意從中選擇兩個向量做為基底形成一

個狀態空間。

3
現在讓我們選擇下列兩個狀態變數

x1 = i
x2 =  idt

則(11.1)可以被改寫為

di 1
v=L + Ri +  idt
dt C
dx1 1
L + Rx1 + x2 = v
dt C

或者

dx1 1 1 1 1
= − Rx1 − x2 + v
dt L LC L
(11.2)
dx2
= i = x1
dt

現在我們可以將上式(11.2)寫成狀態空間形式

 R 1  1
d  x1   − −   x1   
= LC   + L v
dt  x2  
L
 x  
 1 0  2 0
x 
y = 1 0  1 
 x2 

其中 x1 , x2 為狀態變數而  x1 x2  稱作狀態向量(state vector)。輸出 y 狀態向量


T

的線性組合,在此為電流 x1 .

同樣地,在此例電路分析中,我們也能去直接求解電容的跨壓 vc ,亦即由(11.1)

di 1
v=L + Ri +  idt
dt C
 1 dvc
vc = C  idt  C dt = i

 dvc
 Ri = RC
 dt
 di d 2 vc
 L = LC
 dt dt 2

4
或者直接將(11.1)改寫成下式

d 2vc dv
v = LC 2
+ RC c + vc
dt dt
現在重複先前選擇狀態變數步驟,我們重選對上述二階微分方程選擇兩個基底
x1 = vc
dvc
x2 =
dt
則可知

dvc
x1 = = x2
dt
d 2v 1 1 1
x2 = 2c = − Rx2 − x1 + v
dt L LC LC

現在將上式建構狀態空間形式

 0 1   0 
d  x1     x1  
= + 1  v
dt  x2   −
1 R  
−   x2  
 LC L  LC 
x 
y = 1 0  1 
 x2 

y is voltage across the capacitor. Describe [A, B, C, D] expression.

Observation:

1. 狀態空間表示法並不唯一。

2. 當選擇不同的狀態變數並不會改變原本動態系統的特性,此結果將會於後

續章節進行討論。

5
11.3 狀態空間表示法的方塊圖與狀態空間典型式

(State space representation in block diagrams and canonical forms)

給定一個系統的轉移函數如何得到其狀態空間表示?這類問題便是所謂的狀

態空間實現(realization)。我們先以一個簡單的轉移函數來說明如何透過狀態空

間典型式將轉移函數轉換為狀態空間表示以及其對應的方塊圖。

Example 11.1

現在考慮

b(s) s+2 Y (s)


G (s) = = =
a (s) s + 7 s + 12 U ( s )
2

其中 b ( s ) 表示為分子多項式, a ( s ) 為分母多項式。我們可將上式改寫為

s+2 1 s + 2 X (s) Y (s)


G (s) = = 2  = 
s + 7 s + 12 s + 7 s + 12 1
2
U (s) X (s)

X (s) 1 Y (s) s + 2
= and =
U (s) s + 7 s + 12
2
X (s) 1

由上式可推得

 X (s) 1
 = 2
 U ( s ) s + 7 s + 12 u = x + 7 x + 12 x
  (11.3)
 Y (s) = s + 2  y = x + 2x
 X (s) 1

現在選兩個狀態變數
x1 = x
x2 = x

6
則(11.3)可得

 x1 = x = −7 x1 − 12 x2 + u

 x2 = x = x1
 y = x + 2x
 1 2

上述三個方程式可以改寫成狀態空間表示式如下

d  x1   −7 −12   x1  1 
= +
dt  x2   1 0   x2  0 
u

Ac Bc

x 
y = 1 2  1 
Cc  x2 

其對應上式的方塊圖如下

圖 11.1 控制典型式的方塊圖

我們稱上圖 11.1 為可控典型式( controllable canonical form),此架構的特色在於

每一個狀態變數都藉著回授路徑與控制力聯繫。

Note: 動態系統若用控制典型式表示,則系統的狀態永遠可控制(controllable)

現在我們檢驗此例推出的可控典型式

7
x = Ac x + Bcu
y = Cc x + Dcu
其中
 −7 −12 1 
Ac =   , Bc =   , Cc = 1 2 , Dc = 0
1 0  0 

可以發現此例中轉移函數的分子多項式 b ( s ) = s + 2 的係數 1 與 2 出現在矩陣 C c

中;另一個是(除了首項)的分母多項式 a ( s ) = s 2 + 7 s + 12 的係數 7 與 12(取負號後)

出現在上述狀態空間矩陣 Ac 的第一行中。有了這一個結果,我們可以通過觀察法

建立任何系統的可控典型式:

Q: How about if the definition of state variables is in reverse order, i.e., x1 = x2, and

x2 = x1, ?

d  x2   0 1   x2  0 
= +
 
dt  x1   −12 −7   x1  1 
u

Ac Bc

x 
y =  2 1  2 
Cc  x1 

由轉移函數建立可控典型式

b (s)
G (s) =
a (s)

其中

a ( s ) = s n + a1s n −1 + a2 s n −2 + + an
b ( s ) = b1s n −1 + b2 s n −2 + + bn

則如同先前例子 Example 11.1 所述,我們可將其拆解成

8
b1s n −1 + b2 s n − 2 + + bn
G (s) =
s n + a1s n −1 + a2 s n − 2 + + an
1 b1s n −1 + b2 s n − 2 + + bn
= 
n n −1
s + a1s + a2 s n − 2 + + an 1
X (s) Y (s) Y (s)
=  =
U (s) X (s) U (s)

其中

X (s) 1 dnx d n −1 x d n−2 x


=  + a + a + + an x = u
U (s) n −1
s + a1s + a2 s n − 2 + + an dt n −1 dt n − 2
n 1 2
dt n
Y (s) b1s n −1 + b2 s n − 2 + + bn d n −1 x d n−2 x
=  b1 + b + + bn x = y
X (s) dt n −1 dt n − 2
2
1

現在選擇狀態為

d n −1 x d n−2 x
x1 = n −1 , x2 = n −2 ,..., xn = x
dt dt
則我們可得

 x1 = u − a1 x1 − a2 x2 − − an xn
x = x
 2 1

 x3 = x2


 xn = xn −1

 y = b1 x1 + b2 x2 + + bn xn

則其狀態空間描述可表為

 −a1 −a2 −an 


 x1    x1  1 
  1 0 0     
d  x2   x2 0
= 0 1 0 0    +  u
dt       
   0   x  0
 xn    n  
 0 0 1 0 
Bc
Ac

 x1 
x 
y = b1 b2 bn   2 
 
Cc  
 xn 

MATLAB 中我們可以使用”tf2ss”指令來直接達成將轉移函數轉換為狀態空間的
9
目的:

其指令用法如下

>> b=[b1, b2, …, bn] %建立轉移函數的分子 b ( s ) 部分

>> a=[1, a1, a2, …, an] %建立轉移函數的分母 a ( s ) 部分

>>[Ac, Bc, Cc, Dc]=tf2ss(b,a) %將轉移函數 b ( s ) a ( s ) 轉換為狀態空間表示法

MATLAB 計算完後會回傳狀態空間形式如下
 −a1 −a2 −an 
 1 1 
 0 0  0 
Ac =  0 1 0 0  , Bc =   , Cc = b1 b2 bn  , Dc = 0
   
 0   
 0 0 
0 1 0 

Note:注意到因為對於動態系統的狀態空間表示法並非唯一表示,故仍存在其他

形式的狀態空間表示法:

Example 11.2

回憶 Example 11.1 的轉移函數

s+2 Y (s)
G (s) = =
s + 7 s + 12 U ( s )
2

則我們可以直接獲得其對應的微分方程如下

y + 7 y + 12 y = u + 2u

重新改寫上式

y + 7 y = u + ( 2u − 12 y )

令 x2 = −12 y + 2u ,則我們可得

10
y + 7 y = u + x2

現在對上式兩邊同積分可得

 ( y + 7 y ) =  (u + x ) 2

 y + 7 y = u + x2
 y = −7 y + u + x2

選擇 y = x1 ,則我們可得

 x1 = y = −7 x1 + x2 + u

 x2 = −12 x1 + 2u
y = x
 1

其狀態空間表示式如下

d  x1   −7 1   x1  1 
= +
dt  x2   −12 0   x2   2 
u

x 
y = 1 0  1 
 x2 

其對應上式的方塊圖如下

圖 11.2 觀測器典型式方塊圖

我們稱上圖為觀測器典型式(observer canonical form),此架構的特色在於所有回

授訊號都是從來自輸出 Y 至狀態變數。
11

Note: 動態系統若用可觀典型式表示則永遠可觀測(observable)。

可觀典型式的建立

b (s)
G (s) =
a (s)

其中

a ( s ) = s n + a1s n −1 + a2 s n −2 + + an
b ( s ) = b1s n −1 + b2 s n −2 + + bn

則如同先前例子 Example 11.2 所述,我們可以直接獲得其對應的微分方程如下

dny d n −1 y d n −1u d n − 2u
+ a + + an y = b1 + b + + bnu
dt n −1 dt n −1 dt n −2
1 2
dt n
重新改寫上式

dny d n −1 y dy d n −1u d n − 2u du
+ a + + an −1 = b1 n −1 + b2 n −2 + + bn −1 + ( bnu − an y )
dt n −1
1
dt n dt dt dt dt

令 xn = bnu − an y ,則可得

dny d n −1 y dy d n −1u d n − 2u du
+ a + + an −1 = b1 n −1 + b2 n − 2 + + bn −1 + xn
dt n −1
1
dt n dt dt dt dt
現在對上式兩邊同積分可得

 dny d n −1 y dy   d n −1u d n − 2u du 
  dt n 1 dt n−1
+ a + + an −1    1 n −1
dt 
= b
 dt
+ b 2
dt n−2
+ + bn −1
dt
+ xn 

n −1 n−2 n−2 n −3
d y d y d u d u
 n −1 + a1 n − 2 + + an −1 y = b1 n − 2 + b2 n −3 + + bn −1u + xn
dt dt dt dt
n −1 n−2 n−2
d y d y dy d u d n −3u
 n −1 + a1 n − 2 + + an − 2 = b1 n − 2 + b2 n −3 + + xn + bn −1u − an −1 y
dt dt dt dt dt

現在,再令 xn −1 = bn −1u − an −1 y + xn ,則可得

12
d n −1 y d n−2 y dy d n − 2u d n −3u
+ a + + an −2 = b1 n − 2 + b2 n −3 + + xn −1
dt n −1 dt n − 2
1
dt dt dt
現在對上式兩邊同積分可得
 d n −1 y d n−2 y dy   d n − 2u d n −3u 
  dt n−1 1 dt n−2 +
+ a + an − 2
dt    dt n − 2
 =  1
b + b2
dt n −3
+ + xn −1 

d n−2 y d n −3 y d n − 3u d n − 4u
 n − 2 + a1 n −3 + + an − 2 y = b1 + b + + xn −1
dt n −3 dt n − 4
2
dt dt

重複上述步驟逐步建立 xn − 2 , , x1 ,最後選擇 y = x1 ,則我們可得

 xn = bnu − an x1
x = b u − a x + x


n −1 n −1 n −1 1 n


x = b u − a x + x
 1 1 1 1 2

 y = x1

則其狀態空間可表為

 x1   −a1 1 0 0 0   x1   b1 
 x   −a 0 1 0 0   x2   b2 
 2   2
d    0 0    
 =   +  u
dt    1 0    
 xn −1   −an −1 0 0 1   xn −1  bn −1 
      
 xn   −an 0 0   xn   bn 
Ao Bo

 x1 
x 
 2 
 
y = 1 0 0 0  
Co  
 xn −1 
 
 xn 

亦即
 − a1 1 0 0 0  b1 
 −a  b 
 2 0 1 0 0  2 
 0 0   
Ao =   , Bo =   u , Co = 1 0 0 0 , Do = 0
 1 0  
 −an −1 0 0 1  bn −1 
   
 −an 0 0   bn 

13
Question: 如何使用 MATLAB 建立可觀典型式呢?

Answer: 給定轉移函數後,我們可由 tf2ss 指令來獲得的此轉移函數的可控典型

式表示 Ac , Bc , Cc , Dc ,若我們欲將其表示成可觀典型式則只需作如下的矩陣轉

置替換即可

 Ao = AcT

 Bo = Cc
T


Co = Bc
T

Note: 可控與可觀表達式的對偶性(Duality)。

模態典型式 Modal Canonical form

Example 11.3

現在考慮一個轉移函數如下

b (s) s+2 2 1
G (s) = = = − (11.4)
a (s) s + 7 s + 12 s + 4 s + 3
2

則我們可以畫出上式(11.4)對應的方塊圖(Block diagram)

Note that

14
故可知(11.4)可化為如下方塊圖

狀態空間表示

現在選兩個狀態 z1 , z2 且 y = 2 z1 − z2 ,則

z1 = −4 z1 + u
z2 = −3z2 + u
Note: 上 式 中 的 -4, -3 稱 為 原 系 統 的 normal modes, 或 者 原 系 統 的 特 徵 值

eigenvalues, 或者原系統的特性根(characteristic roots)。

其狀態空間表示式如下

d  z1   −4 0   z1  1
= +
dt  z2   0 3   z2  1
u

z 
y =  2 −1  1 
 z2 

其中

15
 −4 0 1
Am =   , Bm =   , Cm =  2 −1 , Dm = 0
 0 3 1
上式下標 m 表示為模態典型式(modal canonical form)。

討論 : 上式中的模態典型式(modal canonical form)為有時候可稱為對角化形式

(diagonal form),亦即 Am 矩陣中除了對角線元素外其餘皆為 0。然而並非所有的

Am 矩陣都可以被對角化(diagonalization)而只能近似對角化,這種無法完全對角

化的情況都發生在有重根(repeated roots)或者有共軛複根(complex conjugate roots)

的情況。

Example 11.4

現在考慮一個有重根與共軛複根的轉移函數如下

b(s) 2s + 4 1 1
G (s) = = = 2− 2 (11.5)
a (s) s ( s + 2s + 4 ) s
2 2
s + 2s + 4

則上述則我們可以畫出上式(11.5)對應的方塊圖(Block diagram)

上圖可再轉化為如下的等效方塊圖

16
選擇狀態與輸出方程式如下
 x1 = u
x = x


2 1

 3
x = − 2 x3 − 4 x4 + u
x = x
 4 3


 y = x2 − x4
則其對應的狀態空間表示法可寫成

 x1  0 0 0 0   x1  1 
   0 0   x2  0 
d  x2  1 0
= + u
dt  x3  0 0 −2 −4   x3  1 
      
 x4  0 0 1 0   x4  0 
 x1 
x 
y = 0 1 0 −1  2 
 x3 
 
 x4 

其中
0 0 0
0 1 
1 0 0 0  0 
Am =  , Bm =   , Cm =  0 1 0 −1 , Dm = 0
0 0 −2 −4  1 
   
0 0 1 0 0 

由上式隱含了帶有共軛複根的 2 階項次部分可由可控典型實現,即 Am 矩陣中的

 −2 −4
 1 0  部分,但該部分亦可使用其他方法替代來表示之。
 

17

Note: 狀態空間表示法並不唯一。

Question: 這些不同的狀態空間表示法之間的關係是什麼?

同一動態系統可以用不同的狀態空間描述,且這些各自不同的狀態空間描述之

間有一定的關係,這種關係我們稱為相似轉換(Similarity transformation)。

11.4 相似轉換(Similarity transformation)

現在考慮一個系統由狀態空間描述如下
x = Fx + Gu
(11.6)
y = Hx + Ju

若我們希望改變狀態表示從 x 轉至 z ,則這裡將存在一個非奇異轉換矩陣 T

(nonsingular transformation matrix, i.e., det (T )  0 or T −1 存在)使得

x = Tz (11.7)

x = Tz (11.8)

將(11.7)與(11.8)代入(11.6)可得

Tz = F (Tz ) + Gu
 z = T −1 FTz + T −1Gu
y = HTz + Ju

或者我們將上式重新改寫為
z = Az + Bu
y = Cz + Du

其中新的動態方程式與舊的動態方程式關係如下

18
 A = T −1 FT

 B = T −1G

C = HT
D = J

則此兩組動態方程式
 x = Fx + Gu  z = Az + Bu
 , 
 y = Hx + Ju  y = Cz + Du
稱為等效動態方程式(equivalent equation)。

由上述討論啟發我們一個想法,若給定一般動態系統的狀態空間表示式如
 x = Fx + Gu

 y = Hx + Ju
現在若欲找出轉換矩陣 T ,使得轉換後的動態系統狀態空間表示
 z = Az + Bu

 y = Cz + Du
為一個特殊形式如可控典型式。則我們該如何求得轉換矩陣 T ?

現在我們以三階系統為例,並於後續將此分析結果推至更廣義的情形:

首先將 A = T −1 FT 改寫為 AT −1 = T −1 F ,若希望矩陣 A 為可控典型式,則我們可

將 T −1 描述為一個行(row)向量為 t1 , t2 , t3 的矩陣如下

AT −1 = T −1 F
 − a1 − a2 − a3   t1   t1 F 
  1 0 0  t2  = t2 F 
 0 1 0   t3   t3 F 

現在將上式的第三行與第二行展開可得如下方程組

t2 = t3 F

t1 = t2 F = t3 F
2

現在由於在式 B = T −1G 中我們也需 B 為可控典型式型態,則有如下關係式

19
1   t1 
B = T G  0  = t2  G
−1

0   t3 
1 = t1G

 0 = t 2 G
0 = t G
 3

1 = t1G
t2 = t3 F 
將 與 0 = t2G 結果聯立可得
t1 = t2 F = t3 F
2
0 = t G
 3

t1G = t3 F 2G = 1

t2G = t3 FG = 0
t G = 0
3

將上式方程寫成矩陣形式如下

t3G t3 FG t3 F 2G  =  0 0 1
 t3 G FG F 2G  =  0 0 1

或者

t3 =  0 0 1 −1

其中 = G FG F 2G  我們稱之為控制性矩陣(non-singular)。上式可知若 t3 決

定則其餘 t1 , t2 即可隨之決定,亦即 T −1 所有行向量皆能決定。

現在我們將上述討論結果擴展至 n 維度;亦即將 n 維度一般動態系統的狀態空

間描述轉為可控典型式:

現在給定一個狀態空間表示
x = Fx + Gu
y = Hx

我們希望求得非奇異轉換矩陣 T : x = Tz ,使得 A = T −1 FT (或者 A = PFP −1 ) 為

一個可控典型式(controllable canonical form),亦即

20
 −a1 −a2 −an 
 1 1 
 0 0  0
A= 0 1 0 0  , B =   , C = b1 b2 bn  , D = 0
   
 0   
 0 0
0 1 0 

我們將 T −1 表示為

 t1 
t 
T =  2
−1
 
 
t n 

其中 ti , for i = 1,..., n 為行向量(row vector),且改寫 A = T −1 FT 成

AT −1 = T −1 F

可得

AT −1 = T −1 F
 − a1 − a2 − an 
 1  t1   t1 F 
 0 0     
t2 t2 F
 0 1 0 0   =  
    
 0  t  t F 
 0  n  n 
0 1 0 
tn −1 = tn F

tn − 2 = tn −1 F = tn F
2


 tn −3 = tn − 2 F = tn F 3


t1 = t2 F = tn F n −1

從上式可知,若 t n 可被決定,則其餘 t1 ,..., tn −1 皆可被決定。且

B = T −1G

亦可隨之決定。亦即

21
 t1G  1 
t G   0 
B = T −1G   2  =  
   
   
t n G   0 
tnG = 0
t G = 0 = t FG
 n −1

n


t G = 1 = t F n −1G
1 n

或者可改寫上式如下

tnG tn FG tn F n −1G  =  0 0 1
 tn G FG F n −1G  =  0 0 1

tn =  0 0 1 −1

其 中 = G FG F n −1G  。若 控 制性 矩陣 (controllability matrix) 為可逆

(invertible)矩陣(或者非奇異(nonsingular)矩陣 or rank n (滿秩數)),則我們稱系統

可控制,另外  F , G  矩陣稱為可控制對(controllable pair)或者  F , G  可控制。

Question: 為什麼一個動態系統的”可控”典型式表示其(狀態)永遠為可控制?

Answer: 此問題將會於後續章節給予證明。

22
11.5 模態典型式(Modal form)

特徵值與特徵向量 (Eignevalues and eigenevector)

特徵值與特徵向量 (Eignevalues and eigenevector)

對一個 n  n 的矩陣 A ,若其存在一個非零的向量 x 使得

Ax =  x

則稱  為矩陣 A 的特徵值,其中  為 det (  I − A) = 0 的根。並稱此非零的向量 x

為矩陣 A 的特徵向量。

特徵值的不變性(Invariance of eigenvalues)

若 P 為一個非奇異矩陣(non-singular matrix),則矩陣 A 的特徵值  與做相似轉換

後的矩陣 P −1 AP 相同。

亦即

 I − P −1 AP = P −1 P − P −1 AP
= P −1 (  I − A ) P
= P −1  I − A P
= I − A

For certain  = i

方陣的對角化(Diagonization of a square matrix)

基於特徵值在做相似轉換後的不變性特質,我們可以找到一個非奇異矩陣 P 使

1 0 0
0 2 
P −1 AP =  =  
 0
 
0 0 n 

23
或者 AP = P 。

將上式改寫如下

A  P1 P2 Pn  =  P1 P2 Pn   =  P11 P2 2 Pn n 
 APi = i Pi
 ( i I − A ) Pi = 0

亦即 Pi 為對應特徵值 i 的特徵向量。

Case 1:特徵值為相異實根的情況

若矩陣 A 的特徵值 i 為相異實根(即對 i  j 時, i   j ),且矩陣 A 表為可控典型

式。則其用於對角化的非奇異矩陣 P 可得

 i 0 0   −a1 −a2 −an    Pi ,1 


   1  
0 i 0 0    Pi ,2 
( i I − A) Pi =   −
 
=0
0 
     
0 0 i   0 1 0    Pi ,n 
 i + a1 a2 an  
   Pi ,1 
  −1 i 0 0    
P
=  0 −1 i    i ,2  = 0
  
 0  
Pi ,n
 0
 0 −1 i    

Note: Pi is a vector and Pi , j is a scalar

From the first raw relation, Pi , j are linear dependent.

則我們可得

− Pi ,n −1 + i Pi ,n = 0

− Pi ,n − 2 + i Pi ,n −1 = 0


− Pi ,1 + i Pi ,2 = 0

若選 Pi ,n = 1 可推得

24
 Pi ,n = 1

 Pi ,n −1 = i


 P =  n −1
 i ,1 i

或者
 1n −1 2 n −1 n n −1 
 Pi ,1   n−2 
P  1 2 n −2 n n −2 
P=  i ,2 
= 
   
   1 2 n 
 Pi ,n  i =1,n 
 1 1 1 

對 i  j 時, i   j , P 為非奇異矩陣。

Note: The rest of this section 11.6 is neglected in the lecture.

Case 2:特徵值有重根出現的情況

若 i = 1, 2,..., k , i 為重根(multiple eigenvalues) k  2 ,但其他特徵值仍為相異實

根,則矩陣 A 可以被轉換成接近對角化的形式,稱為 Jordan canonical form。亦

即若 g = n − k 則存在一個非奇異轉換矩陣 P 使得

 Dg 0
P −1 AP =  =J
0 J k 

其中
n 1 0 0
1 0 0 0 
0   n 1 
2
Dg =   , J = 0 0
 0 k
 
   1
0 0 n  g  g
 0 0 n  k k

i , i = 1,..., g 為相異。或者

AP = PJ

25
現在我們令非奇異矩陣 P =  Pg Pk  ,則

PJ = AP
 Dg 0
  Pg Pk   = A  Pg Pk 
0 J k 

  Pg Dg Pk J k  =  APg APk 

將上式改寫

 Pg Dg = APg

 Pk J k = APk

因此我們可得

 1n −1 2 n −1 g n −1 
 n−2 
1 2 n −2 g n − 2 
Pg =  
 
 1 2 g 
 1 1  n g
 1

那麼如何獲得 Pk 呢?

由 ( n I − A ) Pk = 0 ,我們需要獲得對於重根 n 情況下, k 條線性獨立的 Pk

這時可能有兩種情況

1. rank ( n I − A) = n − 1
2. rank ( n I − A)  n − 2

1. Rank ( n I − A ) = n − 1 :

設矩陣 A 為可控典型式,則
Pk J k = APk
n 1 0 0
0 n 1 
 
  Pk1 Pk2 Pkk   0 0  =  APk1 APk2 APkk 
 
 1
 0 0 n  k k
26
由上式可得

n Pk1 = APk1 ( n I − A ) Pk1 = 0


 
+  = ( n I − A ) Pk2 = − Pk1  ( n I − A ) Pk2 = 0
2
 k1
P P AP

n k2 k2

 
 P +  P = AP 
( n I − A ) Pkk = − Pkk −1  ( n I − A ) Pkk = 0
k
 kk −1 n kk kk

T
對於 Pk1 : 可得 Pk1 = nk −1 nk − 2 n 1

對於 Pk2 : 由 ( n I − A ) Pk = − Pk 可知
2 1

( n I − A) Pk 2
= − Pk1

n + a1 a2 an   Pk2 ,1   nk −1 


 −1    k −2 
 n 0 0   Pk2 ,2  n 
 0 −1 n    = − 
    
 0    n 
 0 0 −1 n   Pk ,k   1 
 
 2 

或者

− Pk2 ,k −1 + n Pk2 ,k = −1

− Pk2 ,k − 2 + n Pk2 ,k −1 = −n


 − P +  P = − k − 2
 k2 ,1 n k2 ,2 n

令 Pk2 , k = 0 ,則

 Pk2 ,k −1 = 1

 Pk2 ,k − 2 = 2n

 Pk2 ,k −3 = 3n
2



 P = ( k − 1)  k − 2
 k2 ,1 n

由上述結果可知
d
Pk2 = Pk
d n 1

同樣地,其餘 Pki , i = 3, 4,..., k 極重複上述步驟求得。故非奇異矩陣 Pk 可得

27
 d d2 d k −1 
Pk =  Pk1 Pk Pk k −1 k1 
P
 d n 1 d n2 1 d n 

Note:上述的推導只適用於矩陣 A 為可控典型式(controllable canonical form, or

phase-variable canonical form)。

Question: 若矩陣 A 並非可控典型式該如何處理呢?

從 n Pki = APki , i = 1, 2,...., k 可知

( n I − A) Pk i
=0

在 Case1 中,我們只考慮 Rank ( n I − A ) = n − 1 的情形,亦即,只能找到一個特

徵向量。換句話說,若 Rank ( n I − A ) = n − s, s  2 時,暗示能直接決定的特徵向

量個數超過一個。(後續會進行討論)

現在,我們只能找到一個特徵向量,那麼如何決定剩餘的 k − 1 個特徵向量呢?

Answer: Generalized eigenvector for multiple eigenvalues

定義:廣義特徵向量(Generalized eigenvector)

考慮一個矩陣 A ,若存在一個非零向量 Pk 使得

(  I − A) (  I − A)
i −1
Pk  0 但 Pk = 0
i

我們稱 Pk 為矩陣 A 相對於特徵值  的 rank i 廣義特徵向量。

Note: 若上述定義中 i = 1 ,我們可得

(  I − A)
i −1
Pk = Pk  0

28
但 (  I − A) Pk = 0 ,故 Pk 稱為矩陣 A 的特徵向量。

廣義特徵向量鍊(A Chain of Generalized eigenvecotrs)

如前所述,對重根特徵值的情況而言,我們並無法直接對其對角化(或求得

modal canonical form)但可獲得一個接近對角化的結果,亦即 Jordan canonical

form。

n Pk1 = APk1 ( n I − A ) Pk1 = 0


 
 Pk1 + n Pk2 = APk2 ( n I − A ) Pk2 = − Pk1
 
 
 P +  P = AP 
 kk −1 n kk kk ( n I − A ) Pkk = − Pkk −1

或者

( n I − A ) Pk1 = 0

( n I − A ) Pk2 = 0
2




( n I − A ) Pkk = 0
k

k −2

( n I − A) Pkk = ( n I − A ) ( n I − A )( n I − A ) Pk
k −1
k

= ( n I − A ) ( n I − A )( −1) Pk k −1

=
= ( −1)
k −1
Pk1  0

同樣地,

( n I − A) Pkk = ( −1)
k −2 k −2
Pk2  0

( n I − A) Pk k
= ( −1) Pkk −1  0

因此, Pki , i = 1, 2,..., k 為一個廣義特徵向量鍊(a chain of generalized eigenvectors)

Example
29
現在考慮一個 3  3 矩陣如下

1 1 2 
A =  0 1 3 
 0 0 2 

由 det (  I − A) = 0 可得 1 = 1, 2 = 1, 3 = 2 。由於 1 , 2 為重根,故無法求得對角

化形式(diagonized form or modal form),但我們仍可對其求得 Jordan form。

現在先求對應 1 , 2 的特徵向量:

 0 −1 −2  
 
首先檢驗 Rank ( 1 I − A ) = Rank  0 0 −3  = 2 ,亦即需要兩條線性獨立的特
 0 0 −1 
 

徵向量,但我們現在只能先決定一個特徵向量。亦即

0 −1 −2   P11  1 
   
( 1I − A) P1 = 0 0 −3  P12  = 0, P1 = 0
0 0 −1  P13  0 

另一個特徵向量則可由廣義特徵向量定義,藉由 P1 求得 P2 :

( 1I − A) P2 = − P1
0 −1 −2   P21   −1 0 
     
 0 0 −3  P22  =  0  , P2 = 1 
0 0 −1  P23   0  0 

或者由

0 0 5  P21  0
( 1I − A) P2 = 0 0 3  P22  = 0, P2 = 1 
   
2

0 0 1  P23  0 

接著,我們再決定對應 3 的特徵向量

30
1 −1 −2   P31  5 
   
( 3 I − A) P3 = 0 1 −3  P32  = 0, P1 = 3
0 0 0   P33  1

因此綜上所述,可得非奇異矩陣 P

1 0 5
P =  P1 P2 P3  = 0 1 3
0 0 1

且 Jordan form 可得

1 1 0 
−1  
P AP = J = 0 1 0 
0 0 2 
 

2. Rank ( n I − A )  n − 2

Example

考慮一個 3  3 矩陣如下

2 0 0
A =  0 2 0 
 0 3 1 

由 det (  I − A) = 0 可得 1 = 2, 2 = 2, 3 = 1 。

現在先求對應 1 = 2 = 2 的特徵向量:

 0 0 0 
 
Rank ( 1 I − A ) = Rank  0 0 0   = 1
 0 −3 1  
 

亦即我們能找到兩個線性獨立的特徵向量 P1 , P2 。由

31
0 0 0
( 1I − A) P = 0 0 0 P = 0
0 −3 1 

可得

1  0
 
P1 = 0  , P2 =  1 
0   −3

接著尋找對應 3 = 1 的特徵向量,由

 −1 0 0  0
 
( 3 I − A) P3 =  0 −1 0 P3 = 0  P3 = 0
 0 −3 0  1 

因此,非奇異矩陣 P 可得

1 0 0 
P =  P1 P2 P3  = 0 1 0 
0 3 1 

其對應的對角化形式如下

2 0 0
−1 
P AP =  0 2 0 
0 0 1 
 

Example

考慮一個 3  3 矩陣如下

2 0 0
A =  0 2 0 
 0 3 2 

其 det (  I − A ) = 0  1,2,3 = 2 ,現在檢驗 Rank

32
0 0 0 
Rank (  I − A ) = 0 0 0  = 1
0 −3 0 

亦即需要 3 個線性獨立的特徵向量但是只能直接決定的特徵向量個數僅有 2

個。

先求對於  = 2 的兩個特徵向量,由

0 0 0 
(  I − A) P = 0 0 0 P = 0
0 −3 0 

可得

1  0
P1 = 0  , P2 = 0 
 
0  1 

第三個特徵向量 P3 可以由廣義特徵向量鍊(chain of generalized eigenvector)求

得,亦即

(  I − A) P3 = − P2
0 0 0  0
 0 0 0  P3 =  0 
 
0 −3 0   −1
0
1 
 P3 =  
3
0
 

故非奇異矩陣 P 可得

1 0 0 
P =  P1 P2 P3  = 0 0 1 3
0 1 0 

33
其對應的對角化矩陣如下

2 0 0
P AP =  0 2 1 
−1

 0 0 2 

Conclusions:

1. 矩陣 A 若存在重根特徵值,則有可能無法被完全對角化。

2. 若 Rank ( n I − A )  n − s 且有 n 個重根 2  s  n ,則存在 s 個對應於特徵值 n

且線性獨立的特徵向量。

34
11.6 狀態方程式的動態響應、狀態方程式的極零點

(Dynamic response from the state equations, and pole and zero from the state

equations)
(補) General Solution of the Linear Time-invariant State Equation
Solution of Homogeneous State Equations.
Consider a scalar differential equation
x = ax
Assume

x(t ) = b0 + b1t + b2t 2 + ... + bk t k ... (Note: x(0) = b0 )

= b1 + 2b2t + 3b3t 2 + ... + kbk t k −1 + ...


= a[b0 + b1t + b2t 2 + ... + bk t k ...]
 b1 = ab0
1 1
 b2 = ab1 = a 2b0
2 2
1 1 3
 b3 = ab2 = a b0
3 3 2

1 k
 bk = a b0
k!
Hence,
1 22 1
x(t ) = (1 + at + a t + ... + a k t k + ...) x(0)
2! k!
= e at x(0)

Vector-matrix differential equation


x = Ax
where x = n-vector
where A = n  n constant matrix
By analogy with the scalar case, assume the solution is in the form of a vector power
series of t,

x(t ) = b 0 + b1t + b 2t 2 + ... + b k t k ...

Same as before,
1 22 1
x(t ) = (I + At + A t + ... + A k t k + ...)x(0)
2! k!

35
1 22 1
I + At + A t + ... + A k t k + ... = e At
2! k!

 x(t ) = e At x(0)

Matrix Exponential.

Akt k
e At = 
k =0 k !

d At
e = Ae At = e At A
dt
e A( t + s ) = e At e As
e At e-At = I


e
( A+B ) t
= e At eBt , if AB = BA
 ( A+B )t

e  e At eBt , if AB  BA

Laplace Transform Approach to the Solution of Homogeneous State Equation.


Scalar case:
x = ax
L : sX ( s ) − X (0) = aX ( s )
X (0)
L : X (s) = = ( s − a) −1 X (0)
s−a
−1
L : x(t ) = eat x(0)
For homogeneous state equation,
x(t ) = Ax(t )
L : sX( s ) − X(0) = AX( s)
L : ( sI − A) X( s) = X(0)
L : X( s ) = ( sI − A) −1 X(0)
−1
L : x(t ) = L −1{( sI − A) −1}x(0)
I A A2
( sI − A) −1 = + 2 + 3 + ...
s s s
1 1
L −1{( sI − A) −1} = I + At + A 2t 2 + A 3t 3 + ...
2! 3!
−1 −1
L {( sI − A) } = e At

 x(t ) = e At x(0)
−1 I A A2
Hint: ( sI − A) = + 2 + 3 + ... Lawrence series expansion around the singularity.
s s s
−1
( I − C ) = I + C + C + C + ... (if the series converges)
2 3

A I A A2
( sI − A)−1 = (1/ s)( I − ) = + 2 + 3 + ...
s s s s

36
Solution of Nonhomogeneous State Equations.
Consider a scalar case:
x = ax + bu
x − ax = bu
d − at
e− at [ x(t ) − ax(t )] = [e x(t )] = e− at bu (t )
dt
Integrating the equation from 0 to t,
t
e− at x(t ) − x(0) =  e− a bu ( )d
0

or,
t t
x(t ) = eat x(0) + e at  e− a bu ( )d = e at x(0) +  e a ( t − )bu ( )d
0 0

For the Nonhomogeneous state equation, give the same manipulation as scalar case:
x = Ax + Bu
x(t ) − Ax(t ) = Bu(t )
d − At
e− At [x(t ) − Ax(t )] = [e x(t )] = e− At Bu(t )
dt
t
e− At x(t ) − x(0) =  e− A Bu( )d
0

or,
t
x(t ) = e At x(0) +  e A (t − ) Bu( )d
0

Laplace Transform Approach to the Solution of Nonhomogeneous State


Equations.
x = Ax + Bu
L : sX( s ) − X(0) = AX( s ) + BU( s )
L : ( sI − A) X( s ) = X(0) + BU( s)
L : X( s ) = ( sI − A) −1 X(0) + ( sI − A) −1 BU( s )
X( s ) = L {e At }X(0) + L {e At }BU( s )
t
L −1
: x(t ) = e At x(0) +  e A (t − ) Bu( )d
0

(Laplace domain: multiplication,<==> Time domain: convolution)


*If initial time is t0,
t
x(t ) = e A (t −t0 ) x(t0 ) +  e A (t − ) Bu( )d
t0

Cayley-Hamilton Theorem
Consider an n  n matrix A and its characteristic equation:

 I − A =  n + a1 n −1 + ... + an −1 + an = 0


37
Then the matrix A satisfies its own characteristic equation, or that

A n + a1A n −1 + ... + an −1A + an I = 0

Proof: set

adj( I − A) = B1 n −1 + B 2  n − 2 + ... + B n −1 + B n

where B1 = I .

adj( I − A)
( I − A)−1 =
I − A

( I − A)adj( I − A) = [adj( I − A)]( I − A) =  I − A I

( I − A)I = I n + a1I n−1 + ... + an −1I + an I


= ( I − A)(B1 n−1 + B 2 n−2 + ... + B n −1 + B n )

A is substituted for  , and we obtain

A n + a1A n −1 + ... + an −1A + an I = 0

Computation of e At
Method 1
If P is a diagonalizing matrix for A

e At = PeDt P −1
e1t 0 
 2t 
e
= P  P −1
 
 
0 ent 

Ak t k 
 kt k
Hint: P −1e At P = e Dt and e At =  , et = 
k =0 k ! k =0 k !

1 0 0
0  
P AP =  = 
−1 2  then P −1 A2 P = P −1 APP −1 AP =  2
 0
 
0 0 n 

Method 2

e At = L −1{( sI − A) −1}

38
Example: compute e At with the two methods and the matrix A is
0 1 
A= 
0 −2 
Method 1

 I − A = 0  1 = 0, 2 = −2

A transformation matrix P
1 1 
P= 
0 −2
So,
 1 
 1  1 
1 1   e 0  2  1 (1 − e−2t ) 
0
e At =    = 2
0 −2   0 e−2t   1  
0 −  0 e−2t 
 2 
Method 2
 s 0 0 1   s −1 
sI − A =  − = 
0 s  0 −2 0 s + 2
1 1 
 s s ( s + 2) 
( sI − A ) −1 =  
 1 
 0 s + 2 
 1 
1 (1 − e −2t ) 
e At
= L {( sI − A) } = 
−1 −1
2
 
0 e −2t 

先前章節中我們已經討論了狀態方程的各種典型式的結構,現在我們將把注

意力轉向從狀態描述求解系統的動態響應。考慮一個動態系統如下
x = Fx + Gu
y = Hx + Ju

對上式取拉式轉換(Laplace transform)可得

 x = Fx + Gu
 sX ( s ) − x ( 0 ) = FX ( s ) + GU ( s )
 ( sI − F ) X ( s ) = x ( 0 ) + GU ( s )

可解得

39
X ( s ) = ( sI − F ) x ( 0 ) + ( sI − F ) GU ( s )
−1 −1

 y = Hx + Ju
 Y ( s ) = HX ( s ) + JU ( s )
 Y ( s ) = H ( sI − F ) x ( 0 ) +  H ( sI − F ) G + J  U ( s )
−1 −1
 

亦即,給定控制力 U ( s ) 與初值 x ( 0 ) ,則輸出響應 Y ( s ) 便可被決定。

若現在忽略初值 x ( 0 ) 效應,則我們可獲得一個輸入與輸出之間的關係如下

Y ( s ) =  H ( sI − F ) G + J  U ( s )
−1
 

對一個單輸入單輸出(SISO)系統而言

Y (s)
= H ( sI − F ) G + J
−1

U (s)
Transfer function

亦即 H ( sI − F ) G + J 為我們所熟知的轉移函數。
−1

另外若對多輸入多輸出(MIMO)系統而言,我們將 H ( sI − F ) G + J 稱做轉移矩
−1

陣(transfer matrix)

Question: 先前介紹的相似轉換(非奇異轉換)是否會改變轉移函數?

亦即

 x = Fx + Gu  z = Az + Bu
  x = Tz  
 y = Hx + Ju  y = Cz + Du

其中

40
A = T −1 FT
B = T −1G
C = HT
D=J
現在我們來檢驗相似轉換後是否會改變原本轉移函數(or 轉移矩陣)

Q ( s ) = C ( sI − A ) B + D
−1

= HT ( sI − T −1 FT ) T −1G + J
−1

= HT (T −1 ( sI − F ) T ) T −1G + J
−1

(
= HT T −1 ( sI − F ) T T −1G + J
−1
)
= H ( sI − F ) G + J
−1

由上式可知,相似轉換並不會改變原本轉移函數(or 轉移矩陣)。

用狀態方程式描述的極點 (poles from state equations)

從轉移函數 G ( s ) ,若 s = pi 為 G ( s ) 的 pole,在無外力函數的情況下,系統對初

值響應存 在形 式如 e pi t 。 在這意義 上我 們稱 pi 為 該系統的 自然 頻率 (natural

frequency)。

現在考慮狀態空間方程式且將外力函數設置為 0 ( u = 0 ),則可得

0
x = Fx + Gu

若假設某一初始狀態為 x ( 0 ) = x0 ,那麼狀態可以表示為

x ( t ) = e pit x0
 x ( t ) = pi e pit x0 = Fx = Fe pit x0

或者
pi x0 = Fx0
 ( pi I − F ) x0 = 0

上式構成先前討論的特徵值/特徵向量問題,在此處特徵值為 pi 其對應的矩陣 F

的特徵向量為 x0 ,對任何非零的初值 x ( 0 ) = x0 可寫出

41
det ( pi I − F ) = 0

此方程即為特性方程式(characteristic equation)。

亦即,特性方程式的根=轉移函數的 pole

或者 F 矩陣的特徵值=轉移函數的 pole

用狀態方程式描述的零點(Zeros from state equations)

從系統理論觀點可知,我們也可以從狀態空間描述中求系統的 zeros。由於

系統的 zero 是廣義頻率 s = zi 的值,此值可使得系統在非零輸入和非零狀態時能

得到零輸出。亦即若輸入為下式形式

u ( t ) = u0 e zi t 但 y ( t ) = 0

上式狀態空間描述為

u ( t ) = u0 e zi t , x ( t ) = x ( 0 ) e zi t , y ( t ) = 0

因此

x = zi e zit x ( 0 ) = Fx + Gu
= Fx ( 0 ) e zit + Gu0e zit

或者

zi x ( 0 ) = Fx ( 0 ) + Gu0
 ( zi I − F ) x ( 0 ) = Gu0
 x ( 0)
  zi I − F −G   =0
 u0 

且輸出方程

y = Hx + Ju = Hx ( 0 ) e zit + Ju0e zit = 0


 x ( 0)
 H J  =0
 u0 

現在將上述結果建立成擴增矩陣(augmented matrix)

42
 zi I − F −G   x ( 0 ) 
 H  =0
 J   u0 

那麼對於非零的初值 x ( 0 ) 與非零的輸入 u 0 ,上式擴增矩陣的解等效成下式

z I − F −G 
det  i =0
 H J 
因此我們獲得一個結論:轉移函數可以用狀態矩陣來描述如下
 sI − F −G 
det 
 H J 
G (s) =
det ( sI − F )

Example

考慮一個動態系統

 −7 −12  1 
x=  x +  u
1 0  0 
y = 1 2 x

其轉移函數可由前述方法求得

Y (s)
a. 解法 1: G ( s ) = = H ( sI − F ) G + J
−1

U (s)

Y (s)
G (s) = = H ( sI − F ) G + J
−1

U (s)
 s −12  1 
1 2   
= 1 s + 7  0  = s+2
s ( s + 7 ) + 12 s + 7 s + 12
2

43
 sI − F −G 
det 
b. 解法 2:  H J 
G (s) =
det ( sI − F )

det ( sI − F ) = s ( s + 7 ) + 12 = s 2 + 7 s + 12
  s + 7 12 −1 
  sI − F −G    
det     = det   −1 s 0   = 2 − ( −s ) = s + 2
 H J   1 2 0  
 

(s+7)*0-12*0+(-1)*(-2-s)=s+2

Hint:


 sI − F −G 
det 
 H J  s+2
G (s) = = 2
det ( sI − F ) s + 7 s + 12

44
11.7 控制性與觀察性(Controllability and observability)

控制性與觀察性是由 Kalman 所提出的系統觀念,在現代控制理論上扮演十分

重要的角色。以下會先就控制性與觀察性的定義加以討論,並對於其測試方法

與性質進行後續討論。

控制性(Controllability)

定義 (狀態可控制)

對任意的初始時間 t = t0 ,初始狀態 x ( t0 ) 的動態系統。若存在一個(分段連續

piecewise continuous)的無限制(unconstrained)的控制力 u ( t ) 使得初始狀態 x ( t0 ) 能

在任何有限時間間隔 t0 , t f  內,轉換到任意終止狀態 x ( t f ) 則系統稱為完全狀態

可控制(completely state controllable)或簡稱狀態可控制(state controllable)。

Example

現在考慮如下 RC 電路

假設此電路所有初始值為 0,由 Kirchhoff’s voltage law 可推得其微分方程式如


dvc
RC + vc = v ( t ) = u ( t )
dt

45
其微分方程的解 vc ( t ) 為

t t −
vc ( t ) = vc ( 0+ ) e
− −
u ( ) d
t
RC
+ e RC (11.9)
0

對時刻 t  0 ,任意 t 0 時刻 vc ( t0 ) 存在一未限制(unconstrained)的控制力 u ( t ) 獲

得。

1
對於上述 RC 電路的例子,令 a = ,則(11.9)可改寫為
RC

vc ( t ) = vc ( 0+ ) e− at +  e − a(t − )u ( ) d
t

若我們希望獲得在 t = t f 時刻的狀態 vc ( t f ) ,且限制控制力 u ( t ) 為一固定常數

(constant)。則對時刻 0  t  t f 且 u ( t ) = u1 該狀態 vc ( t f ) 可得

( )
vc ( t f ) = vc ( 0+ ) e
tf − a t f −
+ e
− at f
u1d
0
 =t
1 − a(t − ) f
= vc ( 0 ) e + − at f
+ u1 e f
a  =0

− a(t )
= vc ( 0+ ) e
u1 
1− e f 
− at f
+
a 
 

其對應的控制力如下

u1 =
(
a vc ( t f ) − vc ( 0+ ) e
− at f
)
− a(t )
1− e f

完全狀態可控制的條件如下:

一個動態系統描述成 x = Ax + Bu 為全狀態可控制,則若且唯若(if and only if)向量

B, AB, , An −1 B 為線性獨立,或者 n  n 矩陣

 B AB An −1 B 

為 rank n 。上式 n  n 矩陣稱為控制性矩陣(controllability matrix)

46
Proof (Ogata)

以下我們將推導動態系統的狀態可控制條件,在不失一般性的情況下我們假

設終止狀態為狀態空間的原點( x ( t f ) = 0 ),且我們亦假設初始時間為零,亦即

t0 = 0 。

現在考慮一個動態系統描述如下

x = Ax + Bu

其中

x = state vector ( n-vector )


u = control signal ( scalar )
A = n  n matrix
B = n  1 matrix

上式的解為

x ( t ) = e At x ( 0 ) +  e A(t − ) Bu ( ) d
t

當 t = t f 時,可得

( ) ( )
x (t f ) = 0 = e x ( 0) +  e Bu ( ) d
A tf tf A t f −
0
(11.10)
 x ( 0) = − e Bu ( ) d
tf
− A
0

由 Caley Hamiliton theorem 可知 ,上式的 e − A 可寫為


 n −1
e− A =  t k Ak / k ! =   k ( ) Ak (11.11)
k =0 k =0

其中  k ( ) , k = 1, 2,...n − 1 為純量時間函數(scalar time functions)。現在將上

式(11.11)代入(11.10)可得
t f n −1
x ( 0) = −
0
  ( ) A Bu ( ) d
k =0
k
k

n −1
(11.12)
 x ( 0 ) = − A B   k ( ) u ( ) d
tf
k
0
k =0

47
 k ( ) u ( ) d =  k
tf
0

則(11.12)變成
n −1
x ( 0 ) = −  Ak B  k
k =0

 0 
   (11.13)
A B  
1 
= −  B AB n −1
 
 
  n −1 
故由定義可知若此系統為完全狀態可控制的充分必要條件為給定任意初始狀態

x ( 0 ) 的條件下皆必須滿足上式(11.13)。而(11.13)對任何初始狀態 x ( 0 ) 均成立的條

件即要求上式中的 n  n 矩陣  B AB An −1 B  必須為 rank n 。

Hint: 狀態 x 亦可透過狀態轉移矩陣(state transition matrix,

 (t ) = −1
( sI − A)  )來獲得。
−1

現在考慮狀態不可控制的例子

Example

考慮如下電路問題

令 vc ( t ) = x 為一狀態變數,則很明顯的 vc 為不可控制(uncontrollable)。

48
現在回到先前討論的可控典型式

 − a1 − a2 − an 
 x1    x1  1 
  1 0 0     
d  x2   x2 0
= 0 1 0 0    +  u
dt       
   0   x  0
 xn    n  
 0 0 1 0 
 x1 = x ( ) = − a1 x (
n −1)
− a2 x (
n − 2)
− − a0 x + u
n

若 x ( 0 ) , x ( 0 ) , ..., x( ) ( 0 ) 或者 xn ( 0 ) , ..., x1 ( 0 ) 給定,則對任意 t f  0 ,透過未限


n −1

制的控制力 u ( t ) 即可獲得 x ( t f ) 。

若選擇一個三階系統作為例子來檢驗其控制性

 −a1 −a2 −a3   x1  1 


x =  1 0 0   x2  + 0  u
 0 1 0   x3  0 

其控制性矩陣(controllability matrix), =  B AB A2 B  ,其中

B = 1 0 0
T

AB =  − a1 1 0
T

 a12 − a2 a1a2 − a3 a1a3  1 


 
− a3  0  =  a12 − a2
T
A2 B =  − a1 − a2 − a1 1
 1 0 0  0 

故控制性矩陣可建立如下

=  B AB A2 B 
1 − a1 a12 − a2 
 
= 0 1 − a1 
0 0 1 

就算 a1 = a2 = a3 = 0 ,其控制性矩陣仍為可逆(或者非奇異(nonsingular)矩陣,滿秩

(full rank))。亦即此系統仍狀態可控制。

49
我們可將上述討論擴展至 n-th 階系統,其控制性矩陣可建立成

=  B AB A2 B An −1B 

由先前相似轉換可知

 A = T −1 FT
 −1
 B = T G

亦即

=  B AB A2 B An −1 B 
= T −1G T −1 FG T −1 F 2G T −1F n −1G 
= T −1 G FG F 2G F n −1G 
= T −1 x

由此可見,若 x 為非奇異矩陣則 才為非奇異矩陣,反之亦然。

故此我們得到一個結論,若 x 為可控制,則 亦為可控制。這暗示了藉由相似轉

換後並不會影響動態系統的控制性。

回顧先前的例子

s+2 Y (s)
G (s) = =
s + 7 s + 12 U ( s )
2

現在來討論一下如果改變轉移函數的 zero 會對系統的控制性有甚麼影響。因此

我們現在將原本的 zero = −2 換成 z 0 ,亦即

s − z0
G (s) =
s + 7 s + 12
2

其可觀典型式表示如下

d  x1   −7 1   x1   1 
= +
dt  x2   −12 0   x2   − z0 
u

Ao Bo

x 
y = 1 0  1 
Co  x2 
50
則其控制性矩陣為 =  Bo Ao Bo  ,其中

Bo = 1 − z0 
T

Ao Bo =  −7 − z0 −12
T

亦即控制性矩陣 為
 1 −7 − z0 
= (11.14)
 − z0 −12 

檢驗控制性(亦即控制性矩陣須為非奇異矩陣,可由 det ( )  0 檢驗)

det ( ) = 12 − z0 ( −7 − z0 )  0
 z + 7 z0 + 12  0
2
0

上式可知當 z0 = −3 或者 z0 = −4 時 det ( ) = 0 ,亦即(11.14)為奇異矩陣 (或者不可

逆)。也就是說當 zero 選成 z0 = −3 或者 z0 = −4 時系統(狀態變數)控制性會損失(因

為極零點對消 pole-zero cancellation)。

Conclusion:

1. 動態系統(state space rep.)如表示成可控典型式則永遠可控制。

2. 動態系統做狀態轉換不會影響控制性。

3. 動態系統從轉移函數觀點無法決定控制性。

MATLAB 中我們可以使用”ctrb”指令來計算控制性矩陣:

其指令用法如下

Co=ctrb(A,B) %給定任一系統狀態空間的 A 矩陣與 B 矩陣計算控制性矩陣

%亦即計算 =  B AB A2 B An −1B 

51
觀察性(Observability)

定義:狀態觀察性(State observability)

一個無外力系統若被稱為可觀測,即若且唯若(if and only if)此系統能藉由對時間

間隔 t    T 內,使用唯一一個有限的輸出 y ( ) 來決定任意(初始)狀態 x ( t ) = x1

Example

考慮如下電路

對於時刻 t  0 ,輸出 vo ( t ) = 0 ,不會被 vc ( t ) 影響。且 vc ( t ) 亦無法藉由觀測

vo ( t ) 獲得。

Example

現在考慮一個純量的例子

x = ax, y = cx

其解為

x ( t ) = x0eat
y ( t ) = Cx0eat

因此只要 C  0 ,則 x0 可以被觀測到。亦即對時刻 t  0 , x ( t ) 能夠被觀測到。

52

Example

可觀典型式 Observable canonical form (無外力的例子 unforced case)

現在考慮一個三階系統,其可觀典型式可寫成如下

 x1   − a1 1 0   x1 
d   
x2 = − a2 0 1   x2 
dt   
 x3   − a3 0 0   x3 
y = x1

由上式可知, x1 = − a1 x1 + x2 ,

因為 y ( ) = x1 ( ), t    T 已知,故 x1 資訊已知,則 x2 = x1 + a1 x1 便可以被觀測

到,故 x2 資訊亦會已知。同樣地, x3 = −a3 x1 也能被觀測到。

Conclusion: 動態系統如表示成可觀典型式則其狀態變數永遠可觀測。

Question: 那麼,如同控制系矩陣用來檢驗動態系統的控制性,當我們需要檢

驗動態系統的觀察性質時,是否也存在一個觀察性矩陣呢?

Answer: 是的!

Proof (ref: Ogata)

假設初始時間 t0 = 0 ,現在考慮一個動態系統描述如下

x = Ax + Bu
y = Cx + Du
則可解得

53
x ( t ) = e At x ( 0 ) +  e A(t − ) Bu ( ) d
t

則 y ( t ) 即為

y ( t ) = Ce At x ( 0 ) + C  e Bu ( ) d + Du ( t )
t A( t − )
0
known

由於矩陣 A, B, C , D 均為已知,且 u ( t ) 也已知,所以上式等號右方的最後兩項已

知。因此可以直接從輸出 y ( t ) 中直接扣除,因此討論觀察性的充分必要條件只

需要考慮如下動態系統便足夠
x = Ax
y = Cx
其中

x = state vector ( n-vector )


y = output signal
A = n  n matrix
C = m  n matrix

此時輸出 y ( t ) 可描述為

y ( t ) = Ce At x ( 0 )

由 Caley-Hamiltan 定理可知
n −1
e At =   k ( t ) Ak
k =0

將上式結果代入 y ( t ) 可得

y ( t ) = Ce At x ( 0 )
n −1
 y ( t ) = C   k ( t ) Ak x ( 0 )
k =0
n −1
 y ( t ) =   k ( t ) CAk x ( 0 )
k =0

或者將上式展開

54
n −1
y ( t ) =   k ( t ) CAk x ( 0 )
k =0

=  0 ( t ) CA0  x ( 0 ) + 1 ( t ) CA1  x ( 0 ) + +  n −1 ( t ) CAn −1  x ( 0 )


 C 
 CA1 
=  0 ( t ) 1 ( t )  n −1 ( t )    x ( 0)
 
 n −1 
CA 

系統為完全狀態可觀測的充分必要條件是在任何 0  t  t f 的時間間隔內,給定輸

出 y ( t ) 即可確定 x ( 0 ) ,這意指上式中的 x ( 0 ) 可由 y ( t ) 唯一決定,亦即要求 n  n

矩陣
 C 
 CA 
= 
 
 n −1 
CA 
的 rank= n 。亦即如不是 full rank,則可轉換 矩陣可轉至有一 column 為 0,則

所對應的狀態變數不會影響到輸出 y ( t ) ,亦即輸出 y ( t ) 觀察不出那個狀態變

數。

Simple interpretation:
x = A3 x 3 x
y = Cx

y (t ) = C x(t ) = CAx(t )

y (t ) = C x(t ) = CA x(t ) = CA2 x(t )


 y (t )  
  C   x1 (t ) 
 y (t )  = CA   x2 (t ) 
   2 

 y (t )  CA   3 
x (t )
 
The 矩陣 must be full rank to obtain state variables.

(See Problem A-11-19 page 823)

55
現在考慮一個動態系統如下
x = Fx + Gu
y = Hx + Ju

我們希望獲得一個非奇異轉換矩陣 Q : x = Qz 使得 A = Q −1 FQ 為可觀典型式且

C = 1 0 0 = HQ 。

令 Q =  q1 q2 qn  ,帶入 A = Q −1 FQ  QA = FQ 可得

QA = FQ
 − a1 1 0 0 0
 −a 0 1 0 0 
 2
 0 0 
  q1 q2 qn    =  Fq1 Fq2 Fqn 
 1 0
 − an −1 0 0 1
 
 − an 0 0 

或者

 qn −1 = Fqn

 qn − 2 = Fqn −1 = F qn
2



 q = Fq = F n − 2 q
 2 3 n

 q1 = Fq2 = F qnn −1

亦即,只要 qn 決定則 q1 , q2 , , qn − 2 , qn −1 便可以決定。

另外由 C = 1 0 0 = HQ 我們可知

C = 1 0 0 = HQ
 1 0 0 =  Hq1 Hq2 Hqn 

或者將上式改寫為

56
1 0 0 =  Hq1 Hq2 Hqn 
0   Hqn   Hqn 
   Hq   HFq 
   =  n −1  =  n 

0     
     n −1 
1   Hq1   HF qn 
 H 
 HF 
=  qn
 
 n −1 
 HF 
= qn

因此,若 為可逆矩陣(或者非奇異矩陣 or 滿秩數)則 qn 便可以被決定。亦即

0
 
−1  
qn =
0
 
1 
其中
 H 
 HF 
= 
 
 n −1 
 HF 
稱為觀察性矩陣(observability matrix)。

對於控制性與觀察性的更進一步觀點:

控制性(controllability)與觀察性(observability)概念是由 R. E. Kalman 在 1950

年中期提出,此概念用來解釋為何對一個不穩定系統,設計一個右半面極零點對

消(即使此右半面極零點是完美對消)的控制器仍會失效的現象。這個原因是因為

被消掉的不穩定模態(unstable modes)是無法被輸入影響或無法被由輸出觀察。

如同 Kalman 提出的理論,考慮任何一個動態系統(state space rep.)如下式


x = Ax + Bu
y = Cx
皆可以被轉換成四個子系統(subsystem),亦即

57
1. 全部可控制且可觀測(both controllable and observable)

2. 不可控制但可觀測(uncontrollable but observable)

3. 可控制但不可觀測(controllable but unobservable)

4. 不可控制亦不可觀測(neither controllable nor observable)

Example

現在讓我們回到先前的例子(observable canonical form)


s − z0
G (s) =
s + 7 s + 12
2

其可觀典型式的狀態空間表示如下

d  x1   −7 1   x1   1 
= +
dt  x2   −12 0   x2   − z0 
u

Ao Bo

x 
y = 1 0  1 
Co  x2 

現在讓我們來檢驗此系統的控制性:

透過控制性矩陣 的非奇異性可知

 1 −7 − z0 
=  Bo Ao Bo  = =
 − z0 −12 
 det ( ) = −12 − z0 ( 7 + z0 ) = − ( z0 2 + 7 z0 + 12 )

由上式可知當 z0 = −4 or − 3 則控制性矩陣 為奇異矩陣此時系統為不可控制。

亦即
s − z0 s − z0
G (s) = =
s + 7 s + 12 ( s + 3)( s + 4 )
2

若 z0 = −4 or − 3 會發生極零點對消。此結果暗示了極零點對消會導致控制性損

失。

58
Q: Express the above example in terms of controllable canonical from, and observe

the observability matrix in terms of z 0 .

Remark 1: 從上述例子可知,我們能推論出並非所有的狀態空間表示式都能被

轉換成可控典型式。

Remark 2: 轉移函數中發生極零點對消暗示動態系統將損失 控制性 and/or 觀

察性。

如果一個系統的輸入-輸出之間的轉移函數有極零點對消,則其某狀態空間表示

可推論為

1. 不可控制

2. 不可觀測

3. 不可控制也不可觀測

反之,若系統的轉移函數沒有極零點對消則可以用完全可控制且可觀測的狀態空

間方程式來描述。

故若以轉移函數建立的系統模型且無極零點對消的情況,則無論其狀態空間表示

如何我們皆可確定其為可控制且可觀測的,現在讓我們考慮下面的例子來說明此

概念。

Example

現在考慮一個動態系統
x1 = 2 x1 + 3x2 + 2 x3 + x4 + u
x2 = −2 x1 − 3x2 − 2u
x3 = −2 x1 − 2 x2 − 4 x3 + 2u
x4 = −2 x1 − 2 x2 − 2 x3 − 5 x4 − u
y = 7 x1 + 6 x2 + 4 x3 + 2 x4
59
將其寫成矩陣形式如下
x = Fx + Gu
y = Hx + Ju
其中
2 3 2 1 1
 −2 −3 0 0   −2 
F=   , G =   , H =  7 6 4 2 , J = 0
 −2 −2 −4 0  2
   
 −2 −2 −2 −5  −1
使用 MATLAB 指令 “ss2tf” 將上述狀態空間表示轉為轉移函數表示

G (s) =
s 3 + 9s 2 + 26s + 24
=
( s + 2 )( s + 3)( s + 4 )
s + 21s + 35s + 50s + 24 ( s + 1)( s + 2 )( s + 3)( s + 4 )
4 3 2

▪ 由上式可明顯得知此系統的狀態空間表示只可以是可控典型式或者可觀典

型式,而無法同時是可控制或者可觀察。(此結論有問題! 從轉移函數是如

此。但就上式狀態空間表示法而言,因狀態變數以固定,狀態不可控就是

不可控,對觀測性而言亦然)。

現在定義一個狀態變數的相似轉換: x = Tz , 其中
4 3 2 1  1 −1 0 0 
3 3 2 1  −1 2 −1 0 
T −1 =  , T = 
2 2 2 1  0 −1 2 −1
   
1 1 1 1  0 0 −1 2 
則新的動態系統描述如下

z = T −1 FT z + T −1Gu
y = HT z

其中
 −1 0 0 0 
 0 −2 0 0 
T −1 FT =   , T −1G = 1 0 1 0T , HT = 1 1 0 0
 0 0 −3 0 
 
 0 0 0 −4 
或者可由新的狀態變數 z 表示

60
z1 = − z1 + u , ( controllable and observable )
z2 = −2 z2 , ( uncontrollable but observable )
z3 = − 3 z 3 + u , ( controllable but unobservable )
z4 = −4 z4 , ( uncontrollable and unobservable )
y = z1 + z2

Check the Rosenbrock system matrix!


 zi I − F −G 
 H J 

其對應的方塊圖如下圖所示

Remark: 若所有不可控制(uncontrollable)的 poles (or modes)為穩定,則此系統

稱為可穩定化(stabilizable)系統。

若所有不可觀測的(unobservable)的 poles (or modes)為穩定的,則我們稱此系統

為可偵測(detectable)系統。

Question: 何種情況下會產生不可控制或者不可觀測的系統?

61
1. 多餘的狀態變數(Redundant state variables)

在某些情況下,控制工程師能會想企圖寫出完整描述整個系統的微分方程式,

這時候微分方程的數目可能超出真實描述此系統所需的方程數目。例如考慮如下

動態系統

x = Ax + Bu

現在若因為某些原因,我們定義另一個狀態 z 如下

z = Qx

其中 Q 為一個 n  k 矩陣。則此時動態系統為

z = Qx = QAx + QBu

x z 並滿足 q = Fq + Gu ,其中
T
現在定義一個 metastate vector q

 A 0 B
F =  , G= 
QA 0 QB 
接著考慮一個轉換矩陣(transformation matrix)
x   Ik 0  Ik 0
 z  = q = Tq , T =  −Q I  , T =  Q
−1

   n  I n 

則我們可得轉換後的新動態方程式

q = Fq + Gu

其中
 A 0 B
F = TFT −1 =   , G = TG =  
 0 0 0
或者
x = Ax + Bu
z = 0 ( uncontrollable )

2. 不可控制的物理系統(Physically uncontrollable system)

現在考慮如下雙臺車物理系統(Two-cart system)

62
若上述系統可以被描述成

 x1 = x3
x = x
 2 4

 k f
 x3 = − ( x1 − x2 ) −
 m1 m1
 k f
 x4 = − ( x2 − x1 ) −
 m2 m2
m1 x1 + m2 x2
現在令 m = m1 + m2 ,其質心(center of mass): xc = ,兩台車間的相對
m

變形距離(relative deflection):  = x1 − x2 。

將上述定義的關係式做變數變換

 m1 x1 + m2 x2
 xc = m

 = x1 − x2

 xc = m1 x3 + m2 x4
 m m
 = x − x
 3 4

則此雙臺車系統可以被轉換為

 dxc
 dt = xc

 d =
 dt
 dx
 c =0
 dt
 d  1 1   1 1 
 = −k  +  −  + f
 dt  m1 m2   m1 m2 

上式顯示出內力(internal force , f )只能改變相對距離  但並無法改變質心(center


63
of mass , xc )。故此系統為不可控制但是為可穩定化(stabilizable)。

3. 對稱性過多(Too much symmetry)

現在考慮如下 RC 電路

狀態變數 vc (電容 C 上的跨壓)為不可控制且亦不可觀測。

64

You might also like