Loading [MathJax]/jax/output/CommonHTML/jax.js

7/08/2014

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

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

考慮一個轉移函數 H(s) 可以將其由 狀態空間表示,我們記做 Σ
其中
Σ:={˙x=Ax+Buy=Cx+Du 則我們有以下定義:
==============
Definition: Realization
H(s) 為給定轉移函數,則我們說 其狀態空間 Σ  為 H(s)實現 (Realization) 若下列條件成立:
C(sIA)1B+D=H(s)
=============
Comments:
1. 上述 實現(Realization) 意指可以透過 實體電路 (e.g., OP放大器等) "實現" 狀態方程。
2. 設 =(A,B,C,D)H(s) 的實現,現在定義 T 為任意 n×n 的非奇異矩陣 (non-singular matrix),則我們可以定義下列 新系統 以狀態空間表示:
˜=(˜A,˜B,˜C,˜D)
其中 ˜A=TAT1, ˜B=TB, ˜C=CT1, ˜D=D

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

˜C(sI˜A)1˜B+˜D=CT1(sITAT1)1TB+D        =CT1(sTT1TAT1)1TB+D        =CT1(T(sIA)T1)1TB+D        =CT1(T(sIA)1T1)TB+D        =C(sIA)1B+D        =H(s)

上述結果告訴我們

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

2. 上式non-singular transformation 等價於 將系統以新的狀態變數 z:=Tx 改寫。
由於 z=Tx˙z=T˙x˙x=T1˙z,故原系統狀態表示可改寫為
{˙x=Ax+Buy=Cx+Du{T1˙z=AT1z+Buy=CT1z+Du{˙z=TAT1˜Az+TB˜Buy=CT1˜Cz+D˜Du

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

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

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

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

現在考慮 轉移函數
H(s)=bmsm+bm1sm1+...+b1s1+b0sn+an1sn1+an2sn2+...+a1s1+a0+r 其中 m<n (properness)

在不失一般性的情況,我們設 m=n1,則我們由 Realization Theorem 可知 此轉移函數存在 狀態空間表示 (可以實現),故我們可寫成
A=[010000010000010000001a0a1a2an2an1],B=[00001]C=[b0b1b2bm1bm]D=r
上式實現 稱為 可控典型式 (Controllable Canonical form)。

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

觀察上式
˙x=Ax+Bu=A˙x=[010000010000010000001a0a1a2an2an1]x+B=[00001]u 現在計算對應的特徵方程式 det(sIA),我們可得
det(sIA)=sn+an1sn1+...+a0 現在如果我們讓控制力 u=Kx亦即
u=[k1k2kn][x1x2xn]則 受控制的動態系統可以改寫為
˙x=Ax+Bu=Ax+B(Kx)=(A+BK)x此時
A+BK=[01000010000001a0a1an1]+[0001][k1k2kn]=[01000010000001k1a0k2a1knan1]上式可以發對每一個參數 ai,i=0,...,n 都有一個對應的控制力參數 kj,j=1,...,n來與之調整,故對應的特徵方程 det(sI(A+BK)) 的特性根根 (亦即 poles)亦會被 K 直接。此poles 的位置將直接影響到系統性能,故如果某動態系統可寫為可控典型式,則我們可透過上述的控制力 u=Kx 直接改變每一個系統的特性根位置。

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

以下我們看個例子:

Example
考慮轉移函數
G(s)=Y(s)U(s)=b2s2+b1s1+b0a3s3+a2s2+a1s1+a0+r其中 r 為常數。試求出 controllable canonical form:
Solution
注意到我們有額外的常數 r 故可知 D=r (此額外的項,表示輸入可直接影響輸出)

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

其中我們引入中繼函數 X(s),則透過上圖我們可將轉移函數改寫回微分方程如下
{X(s)U(s)=1s3+a2s2+a1s1+a0Y(s)X(s)=b2s2+b1s1+b0{x(3)+a2¨x+a1˙x+a0x=ub2¨x+b1˙x+b0x=y現在我們定義狀態 x:=x1,˙x:=x2,¨x:=x3 則上式改寫如下
{a3x(3)+a2¨x+a1˙x+a0x=ub2¨x+b1˙x+b0x=y{˙x3+a2x3+a1x2+a0x1=ub2x3+b1x2+b0x1=y且我們有 ˙x1=x2,˙x2=x3 故我們可寫成
˙x=Ax+Buy=Cx+Du如下
{[˙x1˙x2˙x3]=[010001a0a1a2][x1x2x3]+[001]uy=[b0b1b2][x1x2x3]上式即為 controllable canonical form。

現在合併先前我們的 D=r 故可得最終表示為
{[˙x1˙x2˙x3]=[010001a0a1a2][x1x2x3]+[001]uy=[b0b1b2][x1x2x3]+ru       

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

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

沒有留言:

張貼留言

[人工智慧] 本地端 DeepSeek R1 快速安裝:以 Macbook Pro M4 Chip為例

最近火熱的 DeepSeek R1 模型由於採用了 distill 技術,可以大幅降低計算成本,使得一般人有機會在自家筆電上跑性能逼近 Open AI ChatGPT o1的大語言模型。本文簡單介紹一步安裝在 Macbook Pro 的方法以及使用方法,以下測試採用 Macboo...