2012年7月29日 星期日

[數學分析] Volterra integral 與 Contraction Principle

首先回憶 Contraction Principle。

Theorem: Contraction Principle
若 $(X,d)$ 為 complete metric space 且 $\Phi$ 為 contraction on $X$,則
$\Phi$ 有 唯一 不動點 $x^*$ (unique fixed point);亦即 存在 $x^* \in X$ 使得 $\Phi(x^*) = x^*$


考慮 $K$ 為在 $[a,b]\times[a,b]$上 連續函數
現在我們定義 Volterra Integral $\cal K$ 如下
若 $\phi \in C([a,b])$,$\cal K: C([a,b]) \to C([a,b])$ 且滿足
\[
\mathcal{K}f(x):= \phi(x) + \lambda \int_a^x K(x,y)f(y)dy
\]

利用 Contraction Principle 我們可以證明下面命題:

Proposition: 對任意 $\lambda>0$,Volterra Integral $\cal K$ 有 fixed point on $C([a,b])$ with sup metric。

Proof:
我們要證明 Volterra Integral $\cal K$ 有 fixed point on $C([a,b])$,由於 $C([a,b])$ with sup metric 為 complete metric space,故若我們可以證明  $\cal K$ 為 contraction 則由 Contraction Principle 可知必有唯一不動點。

回憶 一個函數 $\Phi$ 為 metric space $(X,d)$ 上的 contraction 定義為:$\Phi:X \to X$ 且 存在 $c$ 滿足 $0 \le c <1$ 使得 $d(\Phi(x),\Phi(y)) \le c \cdot d(x,y)$。

故我們觀察
\[\begin{array}{l}
d(K{f_1},K{f_2}) = \left\| {K{f_1} - K{f_2}} \right\|\\
\begin{array}{*{20}{c}}
{}&{}&{}&{}&{}&{}
\end{array} = \mathop {\sup }\limits_x \left| {\lambda \int_a^x K (x,y)\left[ {{f_1}(y) - {f_2}\left( y \right)} \right]dy} \right|\\
\begin{array}{*{20}{c}}
{}&{}&{}&{}&{}&{}
\end{array} \le \mathop {\sup }\limits_x \lambda \int_a^x {\left| {K(x,y)\left[ {{f_1}(y) - {f_2}\left( y \right)} \right]} \right|} dy
\end{array}\]由於 $K(x,y)$ 為 compact domain $ [a,b]\times [a,b]$上的連續函數故必有極值,我們可說 存在$M>0$使得對所有的 $x,y \in [a,b]\times [a,b]$$|K(x,y)| \le M$ ,故我們有
\[\begin{array}{l}
\left\| {K{f_1} - K{f_2}} \right\| \le \mathop {\sup }\limits_x \lambda \int_a^x {\left| {K(x,y)\left[ {{f_1}(y) - {f_2}\left( y \right)} \right]} \right|} dy\\
\begin{array}{*{20}{c}}
{}&{}&{}&{}
\end{array} \le \lambda M\mathop {\sup }\limits_x \int_a^x {\left| {{f_1}(y) - {f_2}\left( y \right)} \right|} dy\\
\begin{array}{*{20}{c}}
{}&{}&{}&{}
\end{array} \le \lambda M\left( {b - a} \right)\left\| {{f_1} - {f_2}} \right\|
\end{array}\]注意到上式儘管有 contraction 的樣子但並非為 contraction (why? 因為 前方係數 $c:=\lambda M (b-a)$ 不一定 小於 $1$)

那麼我們該怎麼做? 回憶我們可以對函數做 n-th iteration 在檢驗其是否為 contraction:首先做 2次 iteration 並
\[\begin{array}{l}
 \Rightarrow {K^2}f = \phi (x) + \lambda \int_a^x K (x,y)\left[ {\phi (y) + \lambda \int_a^y K (y,z)f(z)dz} \right]dy\\
\begin{array}{*{20}{c}}
{}&{}&{}&{}
\end{array} = \phi (x) + \lambda \int_a^x {K(x,y)\phi (y)} dy + {\lambda ^2}\int_a^x {K(x,y)\int_a^y K (y,z)f(z)dz} dy
\end{array}\]現在再度檢驗 contraction property
\[\begin{array}{l}
{K^2}{f_1} - {K^2}{f_2} = {\lambda ^2}\int_a^x {K(x,y)\int_a^y K (y,z)\left[ {{f_1}(z) - {f_2}(z)} \right]dz} dy\\
 \Rightarrow \left| {{K^2}{f_1} - {K^2}{f_2}} \right| \le {\lambda ^2}{M^2}\left\| {{f_1} - {f_2}} \right\|\int_a^b {\int_a^b {dzdy} } \\
 \Rightarrow \left\| {{K^2}{f_1} - {K^2}{f_2}} \right\| \le \frac{{{\lambda ^2}{M^2}{{\left( {b - a} \right)}^2}}}{2}\left\| {{f_1} - {f_2}} \right\|
\end{array}\]重複上述步驟 到 $n-th$ iteration 可得
\[\left\| {{K^n}{f_1} - {K^n}{f_2}} \right\| \le \frac{{{\lambda ^n}{M^n}{{\left( {b - a} \right)}^n}}}{{n!}}\left\| {{f_1} - {f_2}} \right\|\]故若取足夠大的 $N$ 使得 $n \ge N$ 我們可得到 contraction。

則由 contraction principle 可推知 Volterra integral 存在 unique fixed point。

[線性系統] 動態方程式的求解(3) - LTV state equation- Total Solution

延續前篇文章 [線性系統] 動態方程式的求解(2) - LTV state equation- Homogeneous solution,這次要介紹線性時變 (Linear Time Varying, LTV ) 系統的狀態方程的全解。


考慮下列 LTV 動態系統
\[\left\{ {\begin{array}{*{20}{l}}
{{\bf{\dot x}}\left( t \right) = {\bf{A}}\left( t \right){\bf{x}}\left( t \right) + {\bf{B}}\left( t \right){\bf{u}}\left( t \right)}\\
{{\bf{y}}\left( t \right) = {\bf{C}}\left( t \right){\bf{x}}\left( t \right) + {\bf{D}}\left( t \right){\bf{u}}\left( t \right)}
\end{array}} \right.
\] 且假設  ${\bf{A}}\left( t \right)$ 為 $n \times n$ 且矩陣中每一項元素 都為對時間 $t$ 連續函數。

Comment:
1. 上式中 ${{\bf{\dot x}}\left( t \right) = {\bf{A}}\left( t \right){\bf{x}}\left( t \right) + {\bf{B}}\left( t \right){\bf{u}}\left( t \right)}$ 稱為狀態方程 (State equation)
2. ${{\bf{y}}\left( t \right) = {\bf{C}}\left( t \right){\bf{x}}\left( t \right) + {\bf{D}}\left( t \right){\bf{u}}\left( t \right)}$ 稱為 輸出方程 (Output equation)

===================
Claim:
給定初始狀態 ${\bf{x}}\left( {{t_0}} \right)$ 與 輸入 ${{\bf{u}}\left( t \right)}$,則狀態方程 ${{\bf{\dot x}}\left( t \right) = {\bf{A}}\left( t \right){\bf{x}}\left( t \right) + {\bf{B}}\left( t \right){\bf{u}}\left( t \right)}$ 的解為
\[
{\bf{x}}\left( t \right) = {\bf{\Phi }}\left( {t,{t_0}} \right){\bf{x}}\left( {{t_0}} \right) + \int_{{t_0}}^t {{\bf{\Phi }}\left( {t,\tau } \right){\bf{B}}\left( \tau  \right){\bf{u}}\left( \tau  \right)d\tau } \ \ \ \ (*)
\]其中  ${\bf{\Phi }}\left( {t,\tau } \right): = {\bf{X}}\left( t \right){{\bf{X}}^{ - 1}}\left( \tau  \right)$ 為 ${\bf{\dot x}}\left( t \right) = {\bf{A}}\left( t \right){\bf{x}}\left( t \right)$ 的 State Transition matrix 滿足\[\frac{\partial }{{\partial t}}{\bf{\Phi }}\left( {t,{t_0}} \right) = {\bf{A}}\left( t \right){\bf{\Phi }}\left( {t,{t_0}} \right)\]且 初始條件為 ${\bf{\Phi }}\left( {{t_0},{t_0}} \right) = {\bf{I}}$。
===================

Proof:
首先證明 $(*)$ 滿足初始條件:
\[\begin{array}{l}
{\bf{x}}\left( t \right) = {\bf{\Phi }}\left( {t,{t_0}} \right){\bf{x}}\left( {{t_0}} \right) + \int_{{t_0}}^t {{\bf{\Phi }}\left( {t,\tau } \right){\bf{B}}\left( \tau  \right){\bf{u}}\left( \tau  \right)d\tau } \\
 \Rightarrow {\bf{x}}\left( {{t_0}} \right) = {\bf{\Phi }}\left( {{t_0},{t_0}} \right){\bf{x}}\left( {{t_0}} \right) + \underbrace {\int_{{t_0}}^{{t_0}} {{\bf{\Phi }}\left( {t,\tau } \right){\bf{B}}\left( \tau  \right){\bf{u}}\left( \tau  \right)d\tau } }_{ = 0}\\
\begin{array}{*{20}{c}}
{}&{}&{}&{}
\end{array} = {\bf{X}}\left( {{t_0}} \right){{\bf{X}}^{ - 1}}\left( {{t_0}} \right){\bf{x}}\left( {{t_0}} \right) = {\bf{Ix}}\left( {{t_0}} \right) = {\bf{x}}\left( {{t_0}} \right)
\end{array}\]接著我們證明 $(*)$ 確實滿足狀態方程。
\[\begin{array}{l}
{\bf{x}}\left( t \right) = {\bf{\Phi }}\left( {t,{t_0}} \right){\bf{x}}\left( {{t_0}} \right) + \int_{{t_0}}^t {{\bf{\Phi }}\left( {t,\tau } \right){\bf{B}}\left( \tau  \right){\bf{u}}\left( \tau  \right)d\tau } \\
\frac{d}{{dt}}{\bf{x}}\left( t \right) = \frac{d}{{dt}}\left[ {{\bf{\Phi }}\left( {t,{t_0}} \right){\bf{x}}\left( {{t_0}} \right) + \int_{{t_0}}^t {{\bf{\Phi }}\left( {t,\tau } \right){\bf{B}}\left( \tau  \right){\bf{u}}\left( \tau  \right)d\tau } } \right]\\
 \Rightarrow {\bf{\dot x}}\left( t \right) = \frac{\partial }{{\partial t}}{\bf{\Phi }}\left( {t,{t_0}} \right){\bf{x}}\left( {{t_0}} \right) + \frac{\partial }{{\partial t}}\left[ {\int_{{t_0}}^t {{\bf{\Phi }}\left( {t,\tau } \right){\bf{B}}\left( \tau  \right){\bf{u}}\left( \tau  \right)d\tau } } \right]
\end{array}
\] 利用 Fundamental Theorem of Calculus:
\[\frac{\partial }{{\partial t}}\int_{{t_0}}^t {f\left( {t,\tau } \right)d\tau }  = \left. {f\left( {t,\tau } \right)} \right|_{\tau  = t}^{} + \int_{{t_0}}^t {\left( {\frac{\partial }{{\partial t}}f\left( {t,\tau } \right)} \right)d\tau }
\] 我們得知
\[\begin{array}{l}
{\bf{\dot x}}\left( t \right) = \frac{\partial }{{\partial t}}{\bf{\Phi }}\left( {t,{t_0}} \right){\bf{x}}\left( {{t_0}} \right) \\
\ \ \ \ \ \ \ \ \ \ \ + \left[ {{\bf{\Phi }}\left( {t,t} \right){\bf{B}}\left( t \right){\bf{u}}\left( t \right) + \int_{{t_0}}^t {\left( {\frac{\partial }{{\partial t}}{\bf{\Phi }}\left( {t,\tau } \right){\bf{B}}\left( \tau  \right){\bf{u}}\left( \tau  \right)} \right)d\tau } } \right]\\
 \Rightarrow {\bf{\dot x}}\left( t \right) = \frac{\partial }{{\partial t}}{\bf{\Phi }}\left( {t,{t_0}} \right){\bf{x}}\left( {{t_0}} \right) + {\bf{\Phi }}\left( {t,t} \right){\bf{B}}\left( t \right){\bf{u}}\left( t \right) \\
\ \ \ \ \ \ \ \  \ \ \ \ \ \ \ \ \ \ \  \ \ \  + \int_{{t_0}}^t {\left( {\frac{\partial }{{\partial t}}{\bf{\Phi }}\left( {t,\tau } \right){\bf{B}}\left( \tau  \right){\bf{u}}\left( \tau  \right)} \right)d\tau }
\end{array}
\]再由 State Transition Matrix 定義 $\frac{\partial }{{\partial t}}{\bf{\Phi }}\left( {t,{t_0}} \right) = {\bf{A}}\left( t \right){\bf{\Phi }}\left( {t,{t_0}} \right)$我們知道
\[\begin{array}{l}
{\bf{\dot x}}\left( t \right) = {\bf{A}}\left( t \right){\bf{\Phi }}\left( {t,{t_0}} \right){\bf{x}}\left( {{t_0}} \right) + {\bf{\Phi }}\left( {t,t} \right){\bf{B}}\left( t \right){\bf{u}}\left( t \right) \\
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \  \ \ \ \ \ \ \ \ \ \ \ + \int_{{t_0}}^t {\left( {\frac{\partial }{{\partial t}}{\bf{\Phi }}\left( {t,\tau } \right)} \right){\bf{B}}\left( \tau  \right){\bf{u}}\left( \tau  \right)d\tau } \\
 \Rightarrow {\bf{\dot x}}\left( t \right) = {\bf{A}}\left( t \right){\bf{\Phi }}\left( {t,{t_0}} \right){\bf{x}}\left( {{t_0}} \right) + {\bf{\Phi }}\left( {t,t} \right){\bf{B}}\left( t \right){\bf{u}}\left( t \right)\\
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \  + \int_{{t_0}}^t {{\bf{A}}\left( t \right){\bf{\Phi }}\left( {t,\tau } \right){\bf{B}}\left( \tau  \right){\bf{u}}\left( \tau  \right)d\tau } \\
 \Rightarrow {\bf{\dot x}}\left( t \right) = {\bf{A}}\left( t \right)\underbrace {\left[ {{\bf{\Phi }}\left( {t,{t_0}} \right){\bf{x}}\left( {{t_0}} \right)  + \int_{{t_0}}^t {{\bf{\Phi }}\left( {t,\tau } \right){\bf{B}}\left( \tau  \right){\bf{u}}\left( \tau  \right)d\tau } } \right]}_{ = {\bf{x}}\left( t \right)} \\
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ + \underbrace {{\bf{X}}\left( t \right){{\bf{X}}^{ - 1}}\left( t \right)}_{ = {\bf{I}}}{\bf{B}}\left( t \right){\bf{u}}\left( t \right)\\
 \Rightarrow {\bf{\dot x}}\left( t \right) = {\bf{A}}\left( t \right){\bf{x}}\left( t \right) + {\bf{B}}\left( t \right){\bf{u}}\left( t \right)
\end{array}
\]

有了上述結果之後,我們便可以進一步求得 輸入輸出之間關係,將
\[
{\bf{x}}\left( t \right) = {\bf{\Phi }}\left( {t,{t_0}} \right){\bf{x}}\left( {{t_0}} \right) + \int_{{t_0}}^t {{\bf{\Phi }}\left( {t,\tau } \right){\bf{B}}\left( \tau  \right){\bf{u}}\left( \tau  \right)d\tau } \] 帶回輸出方程 ${{\bf{y}}\left( t \right) = {\bf{C}}\left( t \right){\bf{x}}\left( t \right) + {\bf{D}}\left( t \right){\bf{u}}\left( t \right)}$,可得
\[\begin{array}{l}
 \Rightarrow {\bf{y}}\left( t \right) = {\bf{C}}\left( t \right){\bf{\Phi }}\left( {t,{t_0}} \right){\bf{x}}\left( {{t_0}} \right)\\
\begin{array}{*{20}{c}}
{}&{}&{}&{}
\end{array} + {\bf{C}}\left( t \right)\int_{{t_0}}^t {{\bf{\Phi }}\left( {t,\tau } \right){\bf{B}}\left( \tau  \right){\bf{u}}\left( \tau  \right)d\tau }  + {\bf{D}}\left( t \right){\bf{u}}\left( t \right)
\end{array}\]


2012年7月28日 星期六

[線性系統] 動態方程式的求解(2) - LTV state equation- Homogeneous solution

這次要介紹線性時變 (Linear Time Varying, LTV ) 系統的狀態方程求解。

考慮下列 LTV 動態系統
\[\left\{ {\begin{array}{*{20}{l}}
{{\bf{\dot x}}\left( t \right) = {\bf{A}}\left( t \right){\bf{x}}\left( t \right) + {\bf{B}}\left( t \right){\bf{u}}\left( t \right)}\\
{{\bf{y}}\left( t \right) = {\bf{C}}\left( t \right){\bf{x}}\left( t \right) + {\bf{D}}\left( t \right){\bf{u}}\left( t \right)}
\end{array}} \right.
\] 且假設  ${\bf{A}}\left( t \right)$ 為 $n \times n$ 且矩陣中每一項元素 都為對時間 $t$ 連續函數。

NOTE: 若上述對 ${\bf{A}}\left( t \right)$ 時變矩陣的連續性假設成立,則對任意初始狀態 ${\bf{x}}\left( {{t_0}} \right)$ 與任意輸入 ${{\bf{u}}\left( t \right)}$, 狀態方程有唯一解。
(Proof ommitted)

在我們進行求解之前,我們首先求解
\[
{{\bf{\dot x}}\left( t \right) = {\bf{A}}\left( t \right){\bf{x}}\left( t \right)}
\] 其中 ${\bf{A}}\left( t \right)$ 為 $n \times n$ 且每一個 entry 都為 對時間 $t$ 連續的函數。故對任意初始狀態 ${\bf{x}}_i\left( {{t_0}} \right)$  狀態方程存在唯一解 $ {{\bf{x}}_i}\left( t \right),\forall i = 1,2,...,n$ 。

我們可以將這些 $n$ 個解蒐集起來寫作矩陣形式如下:
\[{\bf{X}}\left( t \right): = \left[ {\begin{array}{*{20}{c}}
{{{\bf{x}}_1}\left( t \right)}&{{{\bf{x}}_2}\left( t \right)}& \cdots &{{{\bf{x}}_n}\left( t \right)}
\end{array}} \right]
\]由於 每一個 $ {{\bf{x}}_i}\left( t \right)$ 都滿足 ${{\bf{\dot x}}\left( t \right) = {\bf{A}}\left( t \right){\bf{x}}\left( t \right)}$ 故我們有
\[{\bf{\dot X}}\left( t \right) = {\bf{A}}\left( t \right){\bf{X}}\left( t \right)
\]

現在我們給出下面的定義:
====================
Definition: (Fundamental Matrix)
若 ${\bf{X}}\left( {{t_0}} \right)$ 為 nonsingular 或者 $n$ 個初始狀態彼此之間為線性獨立,則時變矩陣 ${\bf{X}}\left( t \right)$ 稱作 ${{\bf{\dot x}}\left( t \right) = {\bf{A}}\left( t \right){\bf{x}}\left( t \right)}$ 的 Fundamental matrix 。
====================
Comment:
Fundamental matrix 並無唯一表示式 (因為初始狀態可以任選).

接著我們定義 狀態轉移矩陣 (State Transition Matrix)

====================
Definition: (State Transition Matrix)
令 ${\bf{X}}\left( {{t}} \right)$ 為 ${{\bf{\dot x}}\left( t \right) = {\bf{A}}\left( t \right){\bf{x}}\left( t \right)}$ 的 Fundamental matrix,則我們定義其對應的 狀態轉移矩陣 (State Transition Matrix) ${\bf{\Phi }}\left( {t,{t_0}} \right)$ 如下:
\[
{\bf{\Phi }}\left( {t,{t_0}} \right): = {\bf{X}}\left( t \right){{\bf{X}}^{ - 1}}\left( {{t_0}} \right)
\] 且 此狀態轉移矩陣 ${\bf{\Phi }}\left( {t,{t_0}} \right)$ 為 下列狀態方程的唯一解
\[\frac{\partial }{{\partial t}}{\bf{\Phi }}\left( {t,{t_0}} \right) = {\bf{A}}\left( t \right){\bf{\Phi }}\left( {t,{t_0}} \right)\]且 初始條件為 ${\bf{\Phi }}\left( {{t_0},{t_0}} \right) = {\bf{I}}$。
====================

====================
Theorem:
給定任意初始狀態 $t_0$,狀態方程 ${{\bf{\dot x}}\left( t \right) = {\bf{A}}\left( t \right){\bf{x}}\left( t \right)}$  的解為
\[{\bf{x}}\left( t \right) = {\bf{\Phi }}\left( {{t},{t_0}} \right){\bf{x}}\left( {{t_0}} \right)
\]====================
Proof: Omitted.

下面我們看個例子看看給定狀態方程  ${{\bf{\dot x}}\left( t \right) = {\bf{A}}\left( t \right){\bf{x}}\left( t \right)}$  如何求出對應的 Fundamental matrix。以及 State Transition Matrix。

====================
Example
考慮下列狀態方程
\[{\bf{\dot x}}\left( t \right) = \left[ {\begin{array}{*{20}{c}}
0&0\\
t&0
\end{array}} \right]{\bf{x}}\left( t \right)
\]試求對應的 Fundamental matrix,State Transition Matrix,與 ${\bf{x}}\left( t \right)$。
====================

Solution:
由於 時變矩陣 ${\bf{A}}\left( t \right)$ 符合連續性假設,故我們有對任意初始狀態 ${\bf{x}}\left( {{t_0}} \right)$,存在唯一解。

現在我們觀察
\[{\bf{\dot x}}\left( t \right) = \left[ {\begin{array}{*{20}{c}}
0&0\\
t&0
\end{array}} \right]{\bf{x}}\left( t \right) \Rightarrow \left[ {\begin{array}{*{20}{c}}
{{{\dot x}_1}\left( t \right)}\\
{{{\dot x}_2}\left( t \right)}
\end{array}} \right] = \left[ {\begin{array}{*{20}{c}}
0&0\\
t&0
\end{array}} \right]\left[ {\begin{array}{*{20}{c}}
{{x_1}\left( t \right)}\\
{{x_2}\left( t \right)}
\end{array}} \right]
\]亦即
\[\left\{ \begin{array}{l}
{{\dot x}_1}\left( t \right) = 0\\
{{\dot x}_2}\left( t \right) = t{x_1}\left( t \right)
\end{array} \right.
\]故給定初始時間 $t_0 =0$ 我們可求解 $x_1(t)$ 與 $x_2(t)$ 如下
\[\begin{array}{l}
{{\dot x}_1}\left( t \right) = 0\\
 \Rightarrow \int_0^t {d{x_1}\left( \tau  \right)}  = 0\\
 \Rightarrow {x_1}\left( t \right) = {x_1}\left( 0 \right)
\end{array}\]與
\[\begin{array}{l}
{{\dot x}_2}\left( t \right) = t{x_1}\left( t \right)\\
 \Rightarrow \int_0^t {d{x_2}\left( \tau  \right)}  = \int_0^t {\tau {x_1}\left( 0 \right)d\tau } \\
 \Rightarrow {x_2}\left( t \right) = {x_1}\left( 0 \right)\frac{{{t^2}}}{2} + {x_2}\left( 0 \right)
\end{array}
\]為了建構 Fundamental matrix,我們可任意選定 等同時變矩陣階數數目的初始狀態,在此例中由於 $\bf{A}$ 為 $2 \times 2$ 時變矩陣,故我們可任選兩個 線性獨立的 初始狀態 來建構 Fundamental matrix ${\bf{X}}\left( t \right)$,比如說選 ${\bf{x}}\left( 0 \right)=[1 \; 0]^T$ 與 ${\bf{x}}\left( 0 \right)=[0 \; 1]^T$,則我們有
\[\begin{array}{l}
{\bf{x}}\left( 0 \right) = \left[ {\begin{array}{*{20}{c}}
{{x_1}\left( 0 \right)}\\
{{x_2}\left( 0 \right)}
\end{array}} \right] = \left[ {\begin{array}{*{20}{c}}
1\\
0
\end{array}} \right]\\
 \Rightarrow {\bf{x}}\left( t \right) = \left[ {\begin{array}{*{20}{c}}
{{x_1}\left( t \right)}\\
{{x_2}\left( t \right)}
\end{array}} \right] = \left[ {\begin{array}{*{20}{c}}
{{x_1}\left( 0 \right)}\\
{{x_1}\left( 0 \right)\frac{{{t^2}}}{2} + {x_2}\left( 0 \right)}
\end{array}} \right] = \left[ {\begin{array}{*{20}{c}}
1\\
{\frac{{{t^2}}}{2}}
\end{array}} \right]
\end{array}
\]與
\[\begin{array}{l}
{\bf{x}}\left( 0 \right) = \left[ {\begin{array}{*{20}{c}}
{{x_1}\left( 0 \right)}\\
{{x_2}\left( 0 \right)}
\end{array}} \right] = \left[ {\begin{array}{*{20}{c}}
0\\
1
\end{array}} \right]\\
 \Rightarrow {\bf{x}}\left( t \right) = \left[ {\begin{array}{*{20}{c}}
{{x_1}\left( t \right)}\\
{{x_2}\left( t \right)}
\end{array}} \right] = \left[ {\begin{array}{*{20}{c}}
{{x_1}\left( 0 \right)}\\
{{x_1}\left( 0 \right)\frac{{{t^2}}}{2} + {x_2}\left( 0 \right)}
\end{array}} \right] = \left[ {\begin{array}{*{20}{c}}
0\\
1
\end{array}} \right]
\end{array}
\] 由於 $[1 \; 0]^T$ 與 $[0 \; 1]^T$ 彼此線性獨立,故由 Fundamental matrix 的定義,我們確實得到了 一組 (不唯一) Fundamental Matrix 如下:
\[{\bf{X}}\left( t \right) = \left[ {\begin{array}{*{20}{c}}
1&0\\
{\frac{{{t^2}}}{2}}&1
\end{array}} \right]
\] 故由 State Transition Matrix 定義,我們可知
\[
{\bf{\Phi }}\left( {t,{t_0}} \right): = {\bf{X}}\left( t \right){{\bf{X}}^{ - 1}}\left( {{t_0}} \right)
\]其中
\[{{\bf{X}}^{ - 1}}\left( {{t_0}} \right) = {\left. {\frac{1}{1} \cdot \left[ {\begin{array}{*{20}{c}}
1&0\\
{\frac{{ - {t^2}}}{2}}&1
\end{array}} \right]} \right|_{t = {t_0}}} = \left[ {\begin{array}{*{20}{c}}
1&0\\
{\frac{{ - {t_0}^2}}{2}}&1
\end{array}} \right]
\]故 State Transition Matrix 為
\[\begin{array}{l}
{\bf{\Phi }}\left( {{t},{t_0}} \right) = {\bf{X}}\left( t \right){{\bf{X}}^{ - 1}}\left( {{t_0}} \right)\\
\begin{array}{*{20}{c}}
{}&{}&{}&{}
\end{array} = \left[ {\begin{array}{*{20}{c}}
1&0\\
{\frac{{{t^2}}}{2}}&1
\end{array}} \right]\left[ {\begin{array}{*{20}{c}}
1&0\\
{\frac{{ - {t_0}^2}}{2}}&1
\end{array}} \right] = \left[ {\begin{array}{*{20}{c}}
1&0\\
{\frac{{{t^2} - {t_0}^2}}{2}}&1
\end{array}} \right]
\end{array}
\] 由前述 Theorem 可知,狀態方程 ${\bf{\dot x}}\left( t \right) = \left[ {\begin{array}{*{20}{c}}
0&0\\
t&0
\end{array}} \right]{\bf{x}}\left( t \right)$ 的解為
\[
{\bf{x}}\left( t \right) = {\bf{\Phi }}\left( {t,{t_0}} \right){\bf{x}}\left( {{t_0}} \right) = \left[ {\begin{array}{*{20}{c}}
1&0\\
{\frac{{{t^2} - {t_0}^2}}{2}}&1
\end{array}} \right]{\bf{x}}\left( {{t_0}} \right) = \left[ {\begin{array}{*{20}{c}}
1&0\\
{\frac{{{t^2}}}{2}}&1
\end{array}} \right]{\bf{x}}\left( 0 \right)
\]現在我們帶回驗證 上式 ${\bf{\Phi }}\left( {t,{t_0}} \right)$ 確實為 ,亦即對其微分
\[\begin{array}{l}
\frac{d}{{dt}}{\bf{x}}\left( t \right) = \frac{d}{{dt}}\left[ {\begin{array}{*{20}{c}}
1&0\\
{\frac{{{t^2}}}{2}}&1
\end{array}} \right]{\bf{x}}\left( 0 \right) = \left[ {\begin{array}{*{20}{c}}
0&0\\
t&0
\end{array}} \right]\underbrace {{{\left[ {\begin{array}{*{20}{c}}
1&0\\
{\frac{{{t^2}}}{2}}&1
\end{array}} \right]}^{ - 1}}{\bf{x}}\left( t \right)}_{{\bf{x}}\left( 0 \right)}\\
 \Rightarrow {\bf{\dot x}}\left( t \right) = \left[ {\begin{array}{*{20}{c}}
0&0\\
t&0
\end{array}} \right]\left[ {\begin{array}{*{20}{c}}
1&0\\
{ - \frac{{{t^2}}}{2}}&1
\end{array}} \right]{\bf{x}}\left( t \right) = \left[ {\begin{array}{*{20}{c}}
0&0\\
t&0
\end{array}} \right]{\bf{x}}\left( t \right)
\end{array}
\]故得證。

2012年7月22日 星期日

[機率論] 指示函數 ( Indicator function)

這次要介紹的是 指示函數( Indicator function),這個特殊函數在機率論與相關應用中佔有重要的腳色,其重要程度類似 step function, dirac function 在控制理論中的位置。 (事實上 Indicator function是更廣義的特殊函數,我們可以透過 Indicator function 來建構/逼近 各種函數)

==========================
Definition : Indicator Function of a Set A
一個 Indicator function of set A,我們用 $1_{A}(x)$表示,此函數定義如下
\[{1_A}\left( x \right): = \left\{ \begin{array}{l}
1,\begin{array}{*{20}{c}}
{}
\end{array}x \in A\\
0,\begin{array}{*{20}{c}}
{}
\end{array}x \notin A
\end{array} \right.
\]========================

以下是一些 Indicator function的例子

Example 1. : $1_{[a,b)}(x)$

Example 2. : $1_{(a,b]}(x)$
Example 3. Unit-Step Function
由單位步階函數定義:
\[
u\left( x \right): = \left\{ \begin{array}{l} 1,\begin{array}{*{20}{c}} {} \end{array}x \ge 0\\ 0,\begin{array}{*{20}{c}} {} \end{array}x < 0 \end{array} \right.
\]我們可以把上式用 Indicator function表示:亦即 $u(x) = I_{ [0,\infty)}(x)$。


接著我們看個一些結果:
Theorem 1:
對任意 $A,B \subset \Omega$,下列結果成立:
\[\left\{ \begin{array}{l}
A = B \Leftrightarrow {1_A} = {1_B}\\
A \subset B \Leftrightarrow {1_A} \le {1_B}\\
A = \emptyset  \Leftrightarrow {1_A} = 0\\
A = \Omega  \Leftrightarrow {1_A} = 1
\end{array} \right.\]
Proof: omitted

Theorem 2:
對任意 $A,B \subset \Omega$,下列結果成立:
\[\left\{ \begin{array}{l}
{1_{A \cap B}} = \min \left\{ {{1_A},{1_B}} \right\}\\
{1_{A \cup B}} = \max \left\{ {{1_A},{1_B}} \right\}\\
{1_{{A^c}}} = 1 - {1_A}\\
{1_{\mathop {\lim \inf }\limits_n {A_n}}} = \mathop {\lim \inf }\limits_n {1_{{A_n}}}\\
{1_{\mathop {\lim \sup }\limits_n {A_n}}} = \mathop {\lim \sup }\limits_n {1_{{A_n}}}
\end{array} \right.\]
Proof: omitted

上述定理的第二項,如果 $A,B$ 為 disjoint 則我們可以有一個非常好用的結果:

FACT:
如果 $A, B$ 為 disjoint 則
\[
1_{A \cup B} = 1_A + 1_B
\]
Proof: omitted

再者我們要介紹 Indicator function 一個重要的性質,就是任意機率測度都可以透過 Indicator function 用期望值表示:

現在考慮 $X$ 為在機率空間 $(\Omega, \mathcal{F}, P)$ 的隨機變數且 $A \subset \mathbb{R}$ 為實數中任意集合,則 $1_{A}(X)$ 為一個離散隨機變數且取值僅為 0 或者1。故如果我們計算其期望值則可得到
\[
E\left[ {{1_A}\left( X \right)} \right] = 1 \cdot P\left( {X \in A} \right) + 0 \cdot P\left( {X \notin A} \right) = P\left( {X \in A} \right) \ \ \ \ (*)
\]注意到上式中 機率測度 $P(X \in A):=P(\omega \in \Omega: X(\omega) \in A)$

Comments:
1. 如果我們考慮 期望值 $E[\cdot]$ 的抽象定義 (期望值用 Lebesgue integral 定義):
若 $X$ 為在機率空間 $(\Omega, \mathcal{F}, P)$ 的隨機變數,則 $X$ 的 期望值定義為Lebesgue integral
\[
E[X] := \int_{\Omega} X dP
\]若上述積分為well-defined。

上式中 $\Omega$ 為樣本空間, $\mathcal{F}$ 為 $\sigma$-algebra (可簡單視為事件的集合),$P$ 為機率測度 $P: \mathcal{F} \rightarrow [0,1]$

故之前討論的式 $(*)$ 可以被進一步改寫
\[
P\left( {X \in A} \right) = E\left[ {{1_A}\left( X \right)} \right] = \int_{\Omega} 1_{A}(X) dP = \int_{A} dP
\]
2. 對 $A, B \subset \mathbb{R}$,則 $1_{A} \cdot 1_{B} =1_{A \cap B}$


Remarks:
在實變函數論 或者 測度論中,上述 指示函數 一般被稱作 特性函數(characteristic function)。

2012年7月14日 星期六

[線性系統] 動態系統 輸入-輸出描述

這次要介紹 動態系統的 輸入與輸出描述方法 (Input-Output Description) 或稱 I-O 關係,一般而言 一個 I-O 關係 事實上便是給定對 某動態系統 輸入與輸出之間的 "數學" 關係。


在討論 輸入輸出關係 之前,我們必須要對我們感興趣的動態系統 (這邊主要討論線性系統) 做些適當的假設:

在給定輸入之前 ( 亦即輸入為 0 ),系統必須為 "靜止" at rest ,此類系統稱為 鬆弛系統 (relaxed system),且 給定輸入之後,其對應的系統輸出 必須完全 由給定輸入決定 (無其他輸入源)。我們才能有效建立合理的 I-O關係。

現在令 $y$ 為量測輸出(measurement output), $u$ 為輸入 (input)。一般對於一個 鬆弛系統的 I-O 關係可簡單表為
\[
y= H u
\]其中 系統為 $H$。

在上式中我們可以想像 系統  $H$ 為一個 黑盒子 (black-box),亦即我們不清楚系統怎麼運作,但我們能做的就是盡可能給予各種不同的輸入 $u$,來 測量 對應的輸出 $y$。並且試圖找出 輸入 與輸出的關係 以合理描述系統的特性。


那麼由於這邊我們討論的主角系統為線性系統,故我們必須先給出什麼是線性系統的嚴格定義:

====================
Definition: Linear Relaxed System
一個 鬆弛系統 被稱為 線性 Linear 若且為若 對任意輸入向量 $u_1$ 與 $u_2$ 與 任意純量 $\alpha_1$ 與 $\alpha_2$ 具有下列線性關係
\[
H(\alpha_1 u_1 + \alpha_2 u_2) = \alpha_1 Hu_1 + \alpha_2 H u_2
\]====================

comments :
1. 上述線性關係可視為 如果我們把一個輸入 $\alpha_1 u_1 + \alpha_2 u_2$ 輸入到系統 $H$ 之中,則此結果等價於各別
輸入 $\alpha_1 u_1$ 與 $ \alpha_2  u_2$ 到系統 $H$ 之中再將結果疊加起來。 此性質稱為重疊原理 (superposition principle) 或者線性關係的 加法性(additivity) 與 齊次性(homogeneity)。
2. 線性系統必為 Relaxed System。反之則否。
3.


在我們討論 鬆弛系統的 I-O關係之前,我們需要先介紹一個重要的函數: Dirac delta function 或稱 Impulse function

定義 $\delta_{\Delta}(t - t_1)$ 為 Pulse function 如下
\[{\delta _\Delta }(t - {t_1}): = \left\{ \begin{array}{l}
0,\begin{array}{*{20}{c}}
{}
\end{array}\begin{array}{*{20}{c}}
{}
\end{array}{\rm{if}}\begin{array}{*{20}{c}}
{}
\end{array}t < {t_1}\\
1/\Delta ,\begin{array}{*{20}{c}}
{}
\end{array}{\rm{if}}\begin{array}{*{20}{c}}
{}
\end{array}{t_1} \le t < {t_1} + \Delta \\
0,\begin{array}{*{20}{c}}
{}
\end{array}\begin{array}{*{20}{c}}
{}
\end{array}{\rm{if}}\begin{array}{*{20}{c}}
{}
\end{array}t \ge {t_1} + \Delta
\end{array} \right.
\]  下圖顯示了 Pulse function

注意到 $\delta_{\Delta}(t- t_1)$ 面積為1,如果我們令 $\Delta \rightarrow 0$ 則可得
\[
\mathop {\lim }\limits_{\Delta  \to 0} {\delta _\Delta }(t - {t_1}): = \delta (t - {t_1})
\] 上式稱為 單位脈沖函數 Unit-Impulse function 或稱 Dirac-delta function

Comment:
任意分段連續 (piecewise continuous) 輸入函數 $u(t)$ 可以透過一連串的 pulse function 來近似;亦即我們可以將任意分段連續輸入 $u$ 寫為
\[
 u = \sum_i u(t_i) \delta_{\Delta}(t - t_i) \Delta
\]
如下圖所示



因此我們有如下關係:
\[
\int_{-\infty}^{\infty} \delta(t- t_1) dt = 1
\] 且 對在 $t_1$ 連續的任意函數 $f$ ,我們有
\[
\int_{-\infty}^{\infty} f(t)\delta(t- t_1) dt = f(t_1)
\]

有了上述 Impulse response 的想法,我們可以開始發展對 鬆弛線性系統的數學模型

考慮一個鬆弛線性系統的 近似 輸入輸出 關係如下
\[
y = H u
\] 則其中 $u = \sum_i u(t_i) \delta_{\Delta}(t - t_i) \Delta$,故
\[y = H\left( {\sum\limits_i u ({t_i}){\delta _\Delta }(t - {t_i})\Delta } \right) \Rightarrow y = \sum\limits_i {Hu} ({t_i}){\delta _\Delta }(t - {t_i})\Delta
\] 現在令 $\Delta \rightarrow 0$,則上式中的 近似的 $y$ 會逼近真實輸出,且 summation 會逼近積分,且 pulse function $\delta_{\Delta}(t - t_i)$ 會逼近 $\delta(t - t_1)$
\[
y = \int_{ - \infty }^\infty  {Hu(\tau )\delta (t - \tau )d\tau }  \ \ \ \ (\star)
\] 注意到若 對所有 $\tau$,已知 $H \delta( t- \tau)$,則所有的輸出都可以由上式計算出來。

我們現在定義 $H \delta (t - \tau ) := g(t, \tau)$,注意到 $g$ 有雙變數,其中 第二個變數 $\tau$ 表示在 $\tau$ 時刻 delta-function,另外第一個變數 $t$ 則為在時刻 $t$ 輸出被量測到。由於 $g(t, \tau)$ 為脈衝函數的系統響應(亦即如果 $u = \delta(t-\tau)$),我們稱之為脈衝響應 ( Impulse response)。故可將 $\star$ 改寫為
\[
y(t) = \int_{ - \infty }^\infty  g (t,\tau )u(\tau )d\tau
\] 也就是說對一個 relaxed linear 系統,其輸出可完全由上式積分決定,其中 $g(t, \tau)$ 為系統脈衝響應。

現在我們問一個問題:
給定任意系統在時刻 $t_0$,如何得知此系統已經為 relaxed?
想法如下:如果沒有輸入的時候,系統必須也沒有輸出,則我們就說此系統為 relaxed。我們將此結果改寫成下面定理:

===================
Theorem (How to determine the relaxedness of a given system)
考慮一個系統由脈衝響應表示
\[
y(t) = \int_{-\infty}^{\infty} g(t,\tau) u(\tau) d \tau
\]我們稱此系統在時刻 $t_0$ 為 relaxed,若且唯若 $u_{[t_0, \infty)} =0\Rightarrow y_{[t_0, \infty)} \equiv 0$
===================


Ref:
[1] Chi-Tsong Chen, Linear System Theory and Practice 2nd.
[2] Alan V. Oppenheim, Alan S. Willsky, with S. Hamid, Signal and Systems (2nd)

2012年7月13日 星期五

[線性系統] 狀態回授控制 (0)

這次要介紹線性系統理論中的最重要也最實際的部分,稱為 狀態回授控制 (State Feedback Control)。一般而言一個動態系統在製造完畢之後,雖具有一定的性能,但對於設計者或者使用者而言,此性能可能遠遠不及需求。這時設計者可以額外設計 "控制器(Controller)" 或稱 補償器 (Compensator) (可能是透過電路實現或者軟體)來調整動態系統致所需性能目標。

上述提及的 控制器 我們用一個 控制律 $u(t)$ 描述。

基本想法是透過給定 狀態回授控制律 $u(t) = Kx(t)+ v(t)$ 並由使用者自行設計 增益矩陣 $K$ 來達成我們的控制目標。

現在 考慮動態系統以狀態空間表示如下
\[\left\{ \begin{array}{l}
\dot x = Ax + Bu\\
y = Cx + Du
\end{array} \right.
\]其中 $x$ 為 $n \times 1$ (內部)系統狀態,$u$ 為 $m \times 1$ 控制力, $y$ 為 $r \times 1$ 量測輸出。

現在定義 狀態回授控制律(state feedback control law) 如下
\[
u = K x+  v
\] 其中 $K$ 為 $m \times n$ 回授增益矩陣(gain matrix),此矩陣為設計者依需求設計。$v$ 稱為額外輸入(auxiliary input)或稱參考命令。

將上述控制律帶回動態系統可得
\[\begin{array}{l}
\left\{ \begin{array}{l}
\dot x = Ax + Bu\\
y = Cx + Du
\end{array} \right. \Rightarrow \left\{ \begin{array}{l}
\dot x = Ax + B\left( {Kx + v} \right)\\
y = Cx + D\left( {Kx + v} \right)
\end{array} \right.\\
 \Rightarrow \left\{ \begin{array}{l}
\dot x = \left( {A + BK} \right)x + Bv\\
y = \left( {C + DK} \right)x + Dv
\end{array} \right.
\end{array}
\]
Comment:
1. 若系統開迴路可控制,則經過狀態回授之後仍為可控制。

2. 狀態回授控制只改動系統 pole 並不改變系統的 zero。

3. 狀態回授之後的閉迴路系統可能不可觀察。原因為 若我們使用狀態回授移動系統 pole 使其與系統的 zero 產生極零點對消,則由於 極零點對消會損失系統控制性或者觀察性,但由於系統為可控制,故只能損失觀察性。

4. 若系統可控制,則存在一個 nonsingular transformation $X = TZ$ 將原系統轉為 可控典型式(controllable canonical form)。



現在我們看下面這個重要的結果:

==========================
Theorem: 
考慮動態系統
\[\left\{ \begin{array}{l}
\dot x = Ax + Bu\\
y = Cx + Du
\end{array} \right.
\]與狀態回授控制律 $u = Kx +v$,其中 $K$ 為 $m \times n$ 回授增益矩陣(gain matrix),若 $(A,B)$ 為一組可控制配對,則  $A+BK$ 的 特徵根 eigenvalues 可以被任意配置。
==========================


Comments
1. 狀態回授控制 只 改變系統特性根(characteristic roots, or eigenvalues)或稱極點(poles),並不改變零點 (zeros);注意! 此陳述僅在系統可控制情況之下才成立。若系統不可控制則 至少有一個 pole 無法被任意改變位置。

2. 動態系統狀態的性能特性 (含穩定性) 可由配置極點位置決定。

3. 不可控制系統表示 轉移函數發生 pole-zero cancellation。在此情況之下任何回授控制器都無法處理。

Example: Practical Approach of using State-Feedback 
考慮線性系統\[\dot x = Ax + Bu = \left[ {\begin{array}{*{20}{c}}
0&6&1\\
1&{ - 1}&0\\
0&0&{ - 1}
\end{array}} \right]x + \left[ {\begin{array}{*{20}{c}}
1\\
0\\
{ - 1}
\end{array}} \right]u\]定義 狀態回授控制律 $u = -K^T x + v$ 其中 $K^T = [k_1\;\;k_2\;\;k_3]$,試求 $u$ 使得系統閉迴路 eigenvalues 落在 $-1 \pm j1$ 與 $-1$ 。

Solution
首先由於我們希望系統閉迴路 eigenvalues 落在 $-1 \pm j1$ 與 $-1$ ,故我們可先計算希望的系統閉迴路特性方程
\[\Delta \left( s \right): = \left( {s - \left( { - 1 + j} \right)} \right)\left( {s - \left( { - 1 - j} \right)} \right)\left( {s + 1} \right) = {s^3} + 3{s^2} + 4s + 2 \ \ \ \ \ (*)
\]現在觀察加入控制器 $u=Kx+v$之後系統之狀態空間表示為
\[\begin{array}{l}
\dot x = Ax + Bu = Ax + B\left( { - {K^T}x + v} \right)\\
\begin{array}{*{20}{c}}
{}&{}&{}
\end{array} = \left( {A - B{K^T}} \right)x + Bv

\end{array}
\]故我們可計算其對應的特徵方程式
\[\begin{array}{l}
\Delta \left( s \right) = \det \left( {sI - A + B{K^T}} \right)\\
\begin{array}{*{20}{c}}
{}&{}&{}
\end{array} = \det \left( {\left[ {\begin{array}{*{20}{c}}
s&0&0\\
0&s&0\\
0&0&s
\end{array}} \right] - \left[ {\begin{array}{*{20}{c}}
0&6&1\\
1&{ - 1}&0\\
0&0&{ - 1}
\end{array}} \right] + \left[ {\begin{array}{*{20}{c}}
1\\
0\\
{ - 1}
\end{array}} \right]\left[ {\begin{array}{*{20}{c}}
{{k_1}}&{{k_2}}&{{k_3}}
\end{array}} \right]} \right)\\
\begin{array}{*{20}{c}}
{}&{}&{}
\end{array} = \det \left( {\left[ {\begin{array}{*{20}{c}}
{s + {k_1}}&{ - 6 + {k_2}}&{ - 1 + {k_3}}\\
{ - 1}&{s + 1}&0\\
{ - {k_1}}&{ - {k_2}}&{s + 1 - {k_3}}
\end{array}} \right]} \right)\\
\begin{array}{*{20}{c}}
{}&{}&{}
\end{array} = {s^3} + \left( {{k_1} - {k_3} + 2} \right){s^2} + \left( {{k_1} + {k_2} - {k_3} - 5} \right)s + \left( {6{k_3} - 6} \right)
\end{array}\]現在比較 $(*)$ 與 $(\star)$ 的係數即可求得所需的控制器參數 $k_1,k_2,k_3$
\[\left\{ \begin{array}{l}
{k_1} - {k_3} + 2 = 3\\
{k_1} + {k_2} - {k_3} - 5 = 4\\
6{k_3} - 6 = 2
\end{array} \right. \Rightarrow \left\{ \begin{array}{l}
{k_1} = 7/3\\
{k_2} = 8\\
{k_3} = 4/3
\end{array} \right.\]

事實上,狀態回授是基於系統內部狀態做回授控制,但事實上內部狀態並不容易測量,大多數動態系統只能測量到輸出 $y$ 的部分,此時該怎麼辦呢?

我們需要 狀態觀測器 (State Observer) 來幫助我們 透過量測輸出 來 估計 系統的內部狀態。這將會留待之後再作介紹。