Professional Documents
Culture Documents
11.1 簡介
11.2 狀態空間表示法
11.3 狀態空間表示法的方塊圖與狀態空間典型式
11.4 相似轉換
11.5 模態典型式
11.6 狀態方程式的動態響應
11.7 控制性與觀察性
11.1 簡介(introduction)
態空間法的研究就是所謂的現代控制學(modern control),其數學基礎是建立在矩
陣原理與線性代數之上,而傳統上以拉氏轉換為基礎的轉移函數研究如根軌跡法
與頻率響應法則稱為古典控制學(classical control)。
狀態空間的想法來自於描述微分方程的狀態變數法(state-variable method),
狀態變數法將動態系統的高階微分方程描述成一組關於系統狀態向量的一階微
分方程。該方程的解可以看成該狀態向量在空間中的一條以時間為其參數的軌跡。
本章節將側重於了解對控制系統的狀態空間分析法,並分別對轉移函數與
狀態空間關係、狀態方程式的動態響應、控制性與觀察性進行一系列討論。
1
11.2 狀態空間表示法(State Space Representation)
一個動態系統的狀態變數 x ( t ) 是系統的一組最小變數集合,若在初始時刻 t = t0
何時刻 t t0 的行為可以被完全確定。
一個 n 維空間的座標軸可由 n 個基底(basis)組成(即狀態變數),例如
x1 ( t ) , x2 ( t ) , , xn ( t ) ,則我們稱這樣的 n 維空間為一個狀態空間。因此狀態變
數 x ( t ) 的選擇並非唯一。
2
Observation:
從電路的觀點而言,一旦電流 i ( t ) , t t0 已知,則電路的動態行為便可以被解出。
x1 , x2 , x3 為能滿足系統特性的三個向量。
用到嗎?
個空間:任何一組向量在該空間中不能被其他組向量做線性組合(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 .
同樣地,在此例電路分析中,我們也能去直接求解電容的跨壓 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
▪
Observation:
1. 狀態空間表示法並不唯一。
2. 當選擇不同的狀態變數並不會改變原本動態系統的特性,此結果將會於後
續章節進行討論。
5
11.3 狀態空間表示法的方塊圖與狀態空間典型式
給定一個系統的轉移函數如何得到其狀態空間表示?這類問題便是所謂的狀
態空間實現(realization)。我們先以一個簡單的轉移函數來說明如何透過狀態空
間典型式將轉移函數轉換為狀態空間表示以及其對應的方塊圖。
Example 11.1
現在考慮
其中 b ( s ) 表示為分子多項式, a ( 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 控制典型式的方塊圖
每一個狀態變數都藉著回授路徑與控制力聯繫。
Note: 動態系統若用控制典型式表示,則系統的狀態永遠可控制(controllable)
現在我們檢驗此例推出的可控典型式
7
x = Ac x + Bcu
y = Cc x + Dcu
其中
−7 −12 1
Ac = , Bc = , Cc = 1 2 , Dc = 0
1 0 0
出現在上述狀態空間矩陣 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
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)
其中
現在選擇狀態為
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
則其狀態空間描述可表為
x1
x
y = b1 b2 bn 2
Cc
xn
MATLAB 中我們可以使用”tf2ss”指令來直接達成將轉移函數轉換為狀態空間的
9
目的:
其指令用法如下
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
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 觀測器典型式方塊圖
授訊號都是從來自輸出 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
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
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 = 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 建立可觀典型式呢?
式表示 Ac , Bc , Cc , Dc ,若我們欲將其表示成可觀典型式則只需作如下的矩陣轉
置替換即可
Ao = AcT
Bo = Cc
T
Co = Bc
T
Note: 可控與可觀表達式的對偶性(Duality)。
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, 或 者 原 系 統 的 特 徵 值
其狀態空間表示式如下
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)。
Am 矩陣都可以被對角化(diagonalization)而只能近似對角化,這種無法完全對角
的情況。
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 −4
1 0 部分,但該部分亦可使用其他方法替代來表示之。
17
▪
Note: 狀態空間表示法並不唯一。
Question: 這些不同的狀態空間表示法之間的關係是什麼?
同一動態系統可以用不同的狀態空間描述,且這些各自不同的狀態空間描述之
間有一定的關係,這種關係我們稱為相似轉換(Similarity transformation)。
現在考慮一個系統由狀態空間描述如下
x = Fx + Gu
(11.6)
y = Hx + Ju
若我們希望改變狀態表示從 x 轉至 z ,則這裡將存在一個非奇異轉換矩陣 T
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 ?
現在我們以三階系統為例,並於後續將此分析結果推至更廣義的情形:
將 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
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 決
間描述轉為可控典型式:
現在給定一個狀態空間表示
x = Fx + Gu
y = Hx
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
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
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
Question: 為什麼一個動態系統的”可控”典型式表示其(狀態)永遠為可控制?
Answer: 此問題將會於後續章節給予證明。
22
11.5 模態典型式(Modal form)
Ax = x
為矩陣 A 的特徵向量。
特徵值的不變性(Invariance of eigenvalues)
後的矩陣 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
基於特徵值在做相似轉換後的不變性特質,我們可以找到一個非奇異矩陣 P 使
1 0 0
0 2
P −1 AP = =
0
0 0 n
23
或者 AP = P 。
將上式改寫如下
A P1 P2 Pn = P1 P2 Pn = P11 P2 2 Pn n
APi = i Pi
( i I − A ) Pi = 0
亦即 Pi 為對應特徵值 i 的特徵向量。
Case 1:特徵值為相異實根的情況
式。則其用於對角化的非奇異矩陣 P 可得
則我們可得
− 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 為非奇異矩陣。
Case 2:特徵值有重根出現的情況
即若 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 呢?
這時可能有兩種情況
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
由上式可得
T
對於 Pk1 : 可得 Pk1 = nk −1 nk − 2 n 1
對於 Pk2 : 由 ( n I − A ) Pk = − Pk 可知
2 1
( n I − A) Pk 2
= − Pk1
或者
− 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 = 2n
Pk2 ,k −3 = 3n
2
P = ( k − 1) k − 2
k2 ,1 n
由上述結果可知
d
Pk2 = Pk
d n 1
27
d d2 d k −1
Pk = Pk1 Pk Pk k −1 k1
P
d n 1 d n2 1 d n
( n I − A) Pk i
=0
量個數超過一個。(後續會進行討論)
現在,我們只能找到一個特徵向量,那麼如何決定剩餘的 k − 1 個特徵向量呢?
定義:廣義特徵向量(Generalized eigenvector)
考慮一個矩陣 A ,若存在一個非零向量 Pk 使得
( I − A) ( I − A)
i −1
Pk 0 但 Pk = 0
i
( I − A)
i −1
Pk = Pk 0
28
但 ( I − A) Pk = 0 ,故 Pk 稱為矩陣 A 的特徵向量。
如前所述,對重根特徵值的情況而言,我們並無法直接對其對角化(或求得
form。
或者
( 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
Example
29
現在考慮一個 3 3 矩陣如下
1 1 2
A = 0 1 3
0 0 2
現在先求對應 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
接著,我們再決定對應 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
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
得,亦即
( 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 若存在重根特徵值,則有可能無法被完全對角化。
且線性獨立的特徵向量。
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
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
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
Cayley-Hamilton Theorem
Consider an n n matrix A and its characteristic equation:
Proof: set
where B1 = I .
adj( I − A)
( I − A)−1 =
I − A
Computation of e At
Method 1
If P is a diagonalizing matrix for A
e At = PeDt P −1
e1t 0
2t
e
= P P −1
0 ent
Ak t k
kt k
Hint: P −1e At P = e Dt and e At = , et =
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
若現在忽略初值 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 轉移矩陣)。
從轉移函數 G ( s ) ,若 s = pi 為 G ( s ) 的 pole,在無外力函數的情況下,系統對初
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
41
det ( pi I − F ) = 0
此方程即為特性方程式(characteristic equation)。
亦即,特性方程式的根=轉移函數的 pole
或者 F 矩陣的特徵值=轉移函數的 pole
從系統理論觀點可知,我們也可以從狀態空間描述中求系統的 zeros。由於
得到零輸出。亦即若輸入為下式形式
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
且輸出方程
現在將上述結果建立成擴增矩陣(augmented matrix)
42
zi I − F −G x ( 0 )
H =0
J u0
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)
重要的角色。以下會先就控制性與觀察性的定義加以討論,並對於其測試方法
與性質進行後續討論。
控制性(Controllability)
定義 (狀態可控制)
Example
現在考慮如下 RC 電路
下
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
得。
1
對於上述 RC 電路的例子,令 a = ,則(11.9)可改寫為
RC
vc ( t ) = vc ( 0+ ) e− at + e − a(t − )u ( ) d
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
完全狀態可控制的條件如下:
B, AB, , An −1 B 為線性獨立,或者 n n 矩陣
B AB An −1 B
46
Proof (Ogata)
以下我們將推導動態系統的狀態可控制條件,在不失一般性的情況下我們假
設終止狀態為狀態空間的原點( x ( t f ) = 0 ),且我們亦假設初始時間為零,亦即
t0 = 0 。
現在考慮一個動態系統描述如下
x = Ax + Bu
其中
上式的解為
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
式(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 ) 均成立的條
(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
制的控制力 u ( t ) 即可獲得 x ( t f ) 。
若選擇一個三階系統作為例子來檢驗其控制性
B = 1 0 0
T
AB = − a1 1 0
T
故控制性矩陣可建立如下
= 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
換後並不會影響動態系統的控制性。
回顧先前的例子
s+2 Y (s)
G (s) = =
s + 7 s + 12 U ( s )
2
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 ( ) = 12 − z0 ( −7 − z0 ) 0
z + 7 z0 + 12 0
2
0
Conclusion:
2. 動態系統做狀態轉換不會影響控制性。
3. 動態系統從轉移函數觀點無法決定控制性。
MATLAB 中我們可以使用”ctrb”指令來計算控制性矩陣:
其指令用法如下
%亦即計算 = B AB A2 B An −1B
51
觀察性(Observability)
定義:狀態觀察性(State observability)
間隔 t T 內,使用唯一一個有限的輸出 y ( ) 來決定任意(初始)狀態 x ( t ) = x1
Example
考慮如下電路
vo ( t ) 獲得。
Example
現在考慮一個純量的例子
x = ax, y = cx
其解為
x ( t ) = x0eat
y ( t ) = Cx0eat
52
▪
Example
現在考慮一個三階系統,其可觀典型式可寫成如下
x1 − a1 1 0 x1
d
x2 = − a2 0 1 x2
dt
x3 − a3 0 0 x3
y = x1
由上式可知, x1 = − a1 x1 + x2 ,
Conclusion: 動態系統如表示成可觀典型式則其狀態變數永遠可觀測。
Question: 那麼,如同控制系矩陣用來檢驗動態系統的控制性,當我們需要檢
驗動態系統的觀察性質時,是否也存在一個觀察性矩陣呢?
Answer: 是的!
假設初始時間 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
知。因此可以直接從輸出 y ( t ) 中直接扣除,因此討論觀察性的充分必要條件只
需要考慮如下動態系統便足夠
x = Ax
y = Cx
其中
此時輸出 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 t f 的時間間隔內,給定輸
矩陣
C
CA
=
n −1
CA
的 rank= n 。亦即如不是 full rank,則可轉換 矩陣可轉至有一 column 為 0,則
數。
Simple interpretation:
x = A3 x 3 x
y = Cx
y (t ) = C x(t ) = CAx(t )
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
另外由 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
0
−1
qn =
0
1
其中
H
HF
=
n −1
HF
稱為觀察性矩陣(observability matrix)。
對於控制性與觀察性的更進一步觀點:
年中期提出,此概念用來解釋為何對一個不穩定系統,設計一個右半面極零點對
消(即使此右半面極零點是完美對消)的控制器仍會失效的現象。這個原因是因為
被消掉的不穩定模態(unstable modes)是無法被輸入影響或無法被由輸出觀察。
57
1. 全部可控制且可觀測(both controllable and observable)
Example
其可觀典型式的狀態空間表示如下
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 )
亦即
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
Remark 1: 從上述例子可知,我們能推論出並非所有的狀態空間表示式都能被
轉換成可控典型式。
察性。
如果一個系統的輸入-輸出之間的轉移函數有極零點對消,則其某狀態空間表示
可推論為
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 0T , 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
稱為可穩定化(stabilizable)系統。
為可偵測(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 )
現在考慮如下雙臺車物理系統(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
現在考慮如下 RC 電路
64