Teoria dei Sistemi

Equazione di stato

Definizione

Lo stato di un sistema dinamico è un vettore (o insieme) di variabili che permettono di ottenere una rappresentazione completa e perfetta del sistema in ogni istante.

Esempio

Sia $m$ una massa in moto rettilineo, spinta da una forza $F$. Si ha:

(1)
\begin{equation} F = ma = mv' \end{equation}

Considerando come ingresso la forza $u = F$ e come uscita la posizione $y$ del corpo, l'equazione differenziale che determina l'uscita è:

(2)
\begin{align} y'' = \frac{1}{m}u \end{align}

Le condizioni iniziali sono: $y(0^-)$, che rappresenta la posizione in $t = 0^-$, mentre $y'(0^-)$ rappresenta la velocità in $t = 0^-$. In questo caso le condizioni iniziali sono lo stato del sistema.

Si definisce il vettore stato nel seguente modo:

(3)
\begin{align} \bar x(t) = \left[ \begin{array}{c} x_1(t) \\ x_2(t) \\ \dots \\ x_n(t) \end{array} \right] \in \mathbb{R}^n \end{align}

Siano $\bar y \in \mathbb{R}^q$ il vettore uscita e $\bar u \in \mathbb{R}^m$ il vettore ingresso.
In un sistema LTI allora l'uscita è descritta dal seguente sistema:

(4)
\begin{align} \left\lbrace \begin{array}{ccc} x' &=& Ax + Bu \\ y &=& Cx + Du \end{array} \right. \end{align}

Le uscite sono combinazioni lineari degli stati e dei controlli. I termini $A$, $B$, $C$, $D$ sono matrici con dimensioni seguenti: $A \in \mathbb{R}^{nxn}$, $B \in \mathbb{R}^{nxm}$, $C \in \mathbb{R}^{qxn}$, $D \in \mathbb{R}^{qxm}$. In forma matriciale le equazioni diventano:

(5)
\begin{align} \left[ \begin{array}{c} x' \\ y \end{array} \right] = \left[ S \right] \left[ \begin{array}{c} x \\ y \end{array} \right] \end{align}

La matrice $[S]$ è composta dalle matrici $A$, $B$, $C$, $D$, in questo modo:

(6)
\begin{align} S = \left[ \begin{array}{cc} A & B \\ C & D \end{array} \right] \end{align}

La prima parte è:

(7)
\begin{align} \left[ \begin{array}{c} x'_1 (t) \\ x'_2 (t) \\ \dots \\ x'_n (t) \end{array} \right] = \left[ \begin{array}{ccc} a_{11} & \dots & a_{1n} \\ \dots & \dots & \dots \\ a_{n1} & \dots & a_{nn} \end{array} \right] \left[ \begin{array}{c} x_1 (t) \\ x_2 (t) \\ \dots \\ x_n (t) \end{array} \right] + \left[ \begin{array}{ccc} b_{11} & \dots & b_{1m} \\ \dots & \dots & \dots \\ b_{n1} & \dots & b_{nm} \end{array} \right] \left[ \begin{array}{c} u_1 (t) \\ u_2 (t) \\ \dots \\ u_m (t) \end{array} \right] \end{align}
(8)
\begin{align} \left\lbrace \begin{array}{ccc} x'_1 &=& a_{11} x_1 + a_{12} x_2 + \dots + a_{1n} x_n + b_{11} u_1 + \dots + b_{1m} u_m \\ \dots \\ x'_n &=& a_{n1} x_1 + a_{n2} x_2 + \dots + a_{nn} x_n + b_{n1} u_1 + \dots + b_{nm} u_m \end{array} \right. \end{align}

ovvero un sistema di equazioni lineari differenziali del primo ordine a coefficienti costanti.

L'unica soluzione dell'equazione differenziale (4) corrispondente all'evoluzione dello stato è:

(9)
\begin{align} x(t) = e^{At} x(0^-) + \int_{0^-}^t e^{A(t-\tau)} B u(\tau) d\tau \end{align}

Il primo termine corrisponde all'evoluzione libera dello stato $x_l (t)$ e il secondo termine all'evoluzione forzata dello stato $x_f (t)$. La matrice $e^{At}$ è detta matrice di transizione del sistema. Sostituendo la soluzione (9) nella seconda equazione (4) si ottiene:

(10)
\begin{align} y(t) = C e^{At} x(0^-) + C \int_{0^-}^t e^{A(t-\tau} B u(\tau) d\tau + Du(t) \end{align}

Il primo termine corrisponde alla risposta libera $y_l (t)$ e gli altri termini alla risposta forzata $y_f (t)$. Vale il principio di sovrapposizione degli effetti. Se $y'_t$ è la risposta del sistema quando si trova nello stato $x'(0^-)$ ed è sottoposto ad un ingresso $u'(t)$ e $y''_t$ è la risposta del sistema relativa allo stato $x''(0^-)$ e all'ingresso $u''(t)$, allora se le condizioni iniziali del sistema corrispondono ad una combinazione lineare di $x'$ e $x''$ e l'ingresso è una combinazione lineare di $u'$ e $u''$, allora l'uscita sarà una combinazione lineare di $y'$ e $y''$. In formule, se

(11)
\begin{eqnarray} x(0^-) = \alpha x'(0^-) + \beta x''(0^-) \\ u(t) = \alpha u'(t) + \beta u''(t) \end{eqnarray}

allora

(12)
\begin{align} y(t) = \alpha y'(t) + \beta t''(t) \end{align}

La matrice $e^{At}$, ovvero la matrice di transizione del sistema, può essere calcolata in vari modi.

Il primo metodo consiste nell'espansione in serie. Nel caso scalare si ha:

(13)
\begin{align} e^k = \sum_{i=0}^{\infty} \frac{k^i}{i!} \end{align}

analogamente, si ottiene:

(14)
\begin{align} e^{At} = \sum_{i=0}^{\infty} \frac{(At)^i}{i!} = \sum_{i=0}^{\infty} \frac{t^i}{i!} A^i = I + tA + \frac{t^2}{2}A^2 + \dots \end{align}

la sommatoria infinita può essere calcolata semplicemente quando la matrice $A$ è tale che per qualche $k$ si ottiene $A^k = 0$. Allora $A^{k+1} = A^k A = 0$ e $A^{k+h} = A^k A^h = 0$. Una matrice con tale proprietà è detta matrice nilpotente. La sommatoria è quindi limitata ai primi $k$ termini, poiché i successivi sono nulli.

Esempio

La seguente matrice $A$:

(15)
\begin{align} A = \left[ \begin{array}{cc} 0 & 1 \\ 0 & 0 \end{array} \right] \end{align}

è tale che

(16)
\begin{align} A^2 = \left[ \begin{array}{cc} 0 & 1 \\ 0 & 0 \end{array} \right] \left[ \begin{array}{cc} 0 & 1 \\ 0 & 0 \end{array} \right] = \left[ \begin{array}{cc} 0 & 0 \\ 0 & 0 \end{array} \right] \end{align}

quindi per $i \geq 2$ la matrice $A^i$ è nulla. Allora la matrice di transizione del sistema è:

(17)
\begin{align} e^{At} = I + tA = \left[ \begin{array}{cc} 1 & 0 \\ 0 & 1 \end{array} \right] + \left[ \begin{array}{cc} 0 & t \\ 0 & 0 \end{array} \right] = \left[ \begin{array}{cc} 1 & t \\ 0 & 1 \end{array} \right] \end{align}

Il secondo metodo consiste nella diagonalizzazione o nella jordanizzazione della matrice: se $A$ è una matrice diagonale, ovvero

(18)
\begin{align} A = \left[ \begin{array}{cccc} \lambda_1 & \dots & \dots & \dots \\ \dots & \lambda_2 & \dots & \dots \\ \dots \\ \dots & \dots & \dots & \lambda_n \end{array} \right] \end{align}

allora la matrice $e^{At}$ è anch'essa una matrice diagonale, i cui termini corrispondono all'esponenziale dei termini diagonali della matrice $A$:

(19)
\begin{align} A = \left[ \begin{array}{cccc} e^{\lambda_1 t} & \dots & \dots & \dots \\ \dots & e^{\lambda_2 t} & \dots & \dots \\ \dots \\ \dots & \dots & \dots & e^{\lambda_n t} \end{array} \right] \end{align}

Se la matrice $A$ non è diagonale ma diagonalizzabile (ovvero esiste una matrice di trasformazione $T$ invertibile tale che $T^{-1} A T$ è diagonale), allora sia $T \in M_{nxn}$, $A \in M_{nxn}$. Si ha:

(20)
\begin{equation} e^{At} = T e^{T^{-1} A T} T^{-1} \end{equation}

Essendo la matrice $T^{-1} A T$ diagonale, allora la matrice $e^{T^{-1} A T}$ si può calcolare come in precedenza.

Se la matrice $A$ non è diagonale e non è diagonalizzabile, si può usare la forma di Jordan della matrice, che esiste sempre. In altre parole, esiste sempre una trasformazione lineare invertibile tale che la matrice $T^{-1} A T$ è una matrice di Jordan, una matrice diagonale a blocchi.

(21)
\begin{align} T^{-1} A T = \left[ \begin{array}{cccc} B_1 & \dots & \dots & \dots \\ \dots & B_2 & \dots & \dots \\ \dots \\ \dots & \dots & \dots & B_n \end{array} \right] \end{align}

Con $B_1$, $B_2$, $\dots$, $B_n$ sono blocchi di Jordan. Allora

(22)
\begin{align} e^{T^{-1} A T} = \left[ \begin{array}{cccc} e^{B_1 t} & \dots & \dots & \dots \\ \dots & e^{B_2 t} & \dots & \dots \\ \dots \\ \dots & \dots & \dots & e^{B_n t} \end{array} \right] \end{align}

Occorre quindi calcolare l'esponenziale di ogni blocco di Jordan.

Il terzo metodo consiste nell'impiego della trasformata di Laplace. Si risolve l'equazione differenziale nel dominio di Laplace: essendo

(23)
\begin{align} \mathscr{L} \left\lbrace \frac{d}{dt} x(t) \right\rbrace = s X(s) - x(0^-) \end{align}

l'equazione {4) diventa:

(24)
\begin{eqnarray} s X(s) - x(0^-) &=& A X(s) + B U(s) \\ s X(s) - A X(s) &=& x(0^-) + B U(s) \end{eqnarray}

Si può liberamente moltiplicare un qualunque vettore per la matrice identità $I$:

(25)
\begin{eqnarray} s I X(s) - A X(s) = x(0^-) + B U(s) \\ $$(s I - A) X(s) = x(0^-) + B U(s) \end{eqnarray}

moltiplicando ambo i membri per $(s I - A)^{-1}$ si ottiene:

(26)
\begin{equation} (s I - A)^{-1}(s I - A) X(s) = (s I - A)^{-1} x(0^-) + (s I - A)^{-1} B U(s) \end{equation}
(27)
\begin{equation} X(s) = (s I - A)^{-1} x(0^-) + (s I - A)^{-1} B U(s) \end{equation}

Il primo termine rappresenta l'evoluzione libera dello stato, mentre il secondo termine l'evoluzione forzata dello stato: $X_l (s) = (s I - A)^{-1} x(0^-)$, $X_f (s) = (s I - A)^{-1} B U(s)$. Nel dominio del tempo si ha:

(28)
\begin{align} e^{At} x(0^-) + \int_{0^-}^t e^{A(t-\tau)} B u(\tau) d\tau \end{align}

essendo entrambi soluzioni, allora una equazione è la trasformata dell'altra. I termini che moltiplicano le condizioni iniziali $x(0^-)$ corrispondono alla matrice di transizione:

(29)
\begin{align} (sI - A)^{-1} = \mathscr{L} \left\lbrace e^{At} \right\rbrace \end{align}

in genere $(sI - A)^{-1}$ è una matrice. Nel caso scalare si ha: $(sI - A)^{-1} = \frac{1}{s-a}$. Antitrasformando si ottiene:

(30)
\begin{align} \mathscr{L}^{-1} \left\lbrace \frac{1}{s-a} \right\rbrace = e^{at} \end{align}

quindi l'equazione matriciale è la generalizzazione della formula precedente. L'antitrasformata di Laplace di una matrice è una matrice i cui elementi corrispondono all'antitrasformata di ogni elemento.
L'evoluzione forzata del sistema è:

(31)
\begin{equation} X_f (s) = (sI - A)^{-1} B U(s) \end{equation}

passando nel dominio del tempo, il prodotto diventa una convoluzione, quindi corrisponde esattamente alla termine

(32)
\begin{align} \int_{0^-}^t e^{A(t-\tau)} B u(\tau) d\tau \end{align}

L'uscita del sistema è data da:

(33)
\begin{equation} Y(s) = CX(s) + DU(s) \end{equation}

sostituendo l'espressione di $X(s)$ della (\ref{eqn:stato_laplace}) si ottiene:

(34)
\begin{equation} Y(s) = C (s I - A)^{-1} x(0^-) + (s I - A)^{-1} B U(s) + D U(s) \end{equation}
(35)
\begin{align} Y(s) = C (s I - A)^{-1} x(0^-) + \left[ (s I - A)^{-1} B + D \right] U(s) \end{align}

Anche in questo caso, si può paragonare questa equazione con la (10) poiché sono entrambe soluzioni. L'evoluzione libera dell'uscita, ovvero la risposta libera $Y_l (s)$ corrisponde a:

(36)
\begin{equation} Y_l (s) = C (s I - A)^{-1} x(0^-) \end{equation}

e nel tempo a:

(37)
\begin{equation} y_l(t) = C e^{At} x(0^-) \end{equation}

mentre la risposta forzata corrisponde a:

(38)
\begin{align} Y_f (s) = \left[ (s I - A)^{-1} B + D \right] U(s) \end{align}

nel tempo a:

(39)
\begin{align} y_f(t) = C \int_{0^-}^t e^{A(t-\tau)} B u(\tau) d\tau + D u(t) \end{align}

La matrice di trasferimento è:

(40)
\begin{equation} T(s) = (s I - A)^{-1} B + D \end{equation}

ed è analoga alla funzione di trasferimento.

Esempio

Si consideri un sistema che ha le seguenti equazioni:

(41)
\begin{align} x' = \left[ \begin{array}{ccc} -1 & 1 & 0 \\ 0 & -1 & 0 \\ 0 & 0 & -2 \end{array} \right] x + \left[ \begin{array}{c} 0 \\ 1 \\ 1 \end{array} \right] u \end{align}
(42)
\begin{align} y = \left[ \begin{array}{ccc} 0 & 0 & 1 \end{array} \right] x \end{align}

si calcola la matrice di trasferimento. La matrice $(s I - A)^{-1}$ è calcolata in questo modo:

(43)
\begin{align} s I - A = \left[ \begin{array}{ccc} s & 0 & 0 \\ 0 & s & 0 \\ 0 & 0 & s \end{array} \right] - \left[ \begin{array}{ccc} -1 & 1 & 0 \\ 0 & -1 & 0 \\ 0 & 0 & -2 \end{array} \right] = \left[ \begin{array}{ccc} s+1 & -1 & 0 \\ 0 & s+1 & 0 \\ 0 & 0 & s+2 \end{array} \right] \end{align}

si procede calcolando la matrice inversa, che esiste se il determinante della matrice non è nullo.

(44)
\begin{equation} det(s I - A) = (s+1)^2(s+2) \end{equation}

L'inversa di una matrice a blocchi è l'insieme dei blocchi invertiti: data una matrice $M$

(45)
\begin{align} M = \left[ \begin{array}{cc} M_1 & 0 \\ 0 & M_2 \end{array} \right] \end{align}

la sua inversa è:

(46)
\begin{align} M^{-1} = \left[ \begin{array}{cc} M_1^{-1} & 0 \\ 0 & M_2^{-1} \end{array} \right] \end{align}

in alternativa si può impiegare la seguente formula:

(47)
\begin{align} (s I - A)^{-1} = \frac{Adj (s I - A)}{det(s I - A)} \end{align}

In questo caso si ha:

(48)
\begin{align} (s I - A)^{-1} = \left[ \begin{array}{cc} M_1^{-1} & 0 \\ 0 & \frac{1}{s+2} \end{array} \right] \end{align}

dove $M_1^{-1}$ si calcola con l'equazione 47. Svolgendo i calcoli si ottiene:

(49)
\begin{align} (s I - A)^{-1} = \left[ \begin{array}{ccc} \frac{1}{s+1} & \frac{1}{(s+1)^2} & 0 \\ 0 & \frac{1}{s-1} & 0 \\ 0 & 0 & \frac{1}{s+2} \end{array} \right] \end{align}

la matrice di trasferimento è quindi:

(50)
\begin{align} e^{At} = \mathscr{L}^{-1} \left\lbrace (s I - A)^{-1} \right\rbrace \end{align}

L'antitrasformata di Laplace di una matrice è una matrice i cui elementi corrispondono all'antitrasformata di ogni elemento.

(51)
\begin{align} e^{At} = \left[ \begin{array}{ccc} e^{-t} & t e^{-t} & 0 \\ 0 & e^{-t} & 0 \\ 0 & 0 & e^{-2t} \end{array} \right] \end{align}
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License