# Rappresentazione in spazio di stato

Nella teoria dei sistemi dinamici, una rappresentazione in spazio di stato, nota anche come rappresentazione in spazio di fase, è una descrizione di un sistema dinamico in cui si fa particolare riferimento alle variabili di stato del sistema, le quali formano uno spazio vettoriale in cui esso viene rappresentato. La dimensione del suddetto spazio vettoriale è pari al doppio del numero di gradi di libertà del sistema; viceversa, uno spazio vettoriale che abbia dimensione pari al numero di gradi di libertà riuscirà a tener conto soltanto dello stato del sistema in un singolo istante.

## Sistema dinamico

Un generico sistema dinamico può essere scritto come:
    ${\begin{aligned}&\mathbf {\dot {x}} (t)=\mathbf {f} (t,\mathbf {x} (t),\mathbf {z} (t))\\&\mathbf {y} (t)=\mathbf {g} (t,\mathbf {x} (t),\mathbf {z} (t))\end{aligned}}$
dove $\mathbf {x} (t)$ sono le variabili di stato e il termine $\mathbf {z} (t)$ è l'ingresso, che viene omesso nel caso si voglia analizzare la risposta libera del sistema.
La prima equazione è detta equazione di stato, mentre la seconda è detta trasformazione di uscita, dove l'uscita è denotata con $\mathbf {y} (t)$.
Se $\mathbf {f}$ è una combinazione lineare degli stati di ingresso, cioè è lineare e finito-dimensionale, l'equazione differenziale che lo definisce viene frequentemente scritta in forma matriciale, e le sue caratteristiche possono essere analizzate dalla funzione di trasferimento.
Affiancando i diversi metodi nel dominio della frequenza (rappresentazione spettrale dei segnali, metodo simbolico) e del tempo, il formalismo fornito dalla rappresentazione di stato è una delle tecniche più diffuse per l'analisi dei sistemi dinamici, specialmente di quelli lineari.
Nei circuiti elettrici, ad esempio, il numero di variabili di stato è spesso pensato essere lo stesso del numero di elementi in grado di immagazzinare energia, come ad esempio condensatori e induttori.

## Sistemi dinamici lineari

Nei sistemi lineari stazionari il minimo numero di variabili di stato è uguale al grado del denominatore della funzione di trasferimento dopo che questa sia stata ridotta ad essere una frazione propria. In particolare, per il teorema fondamentale dell'algebra il denominatore ha un numero di zeri pari al suo grado (i poli della frazione). I poli della funzione di trasferimento sono generalmente utilizzati per analizzare la stabilità del sistema.
Una generica rappresentazione nel dominio del tempo di un sistema dinamico lineare con $p$ ingressi e $q$ uscite e $n$ variabili di stato viene scritta nella seguente forma:
    ${\begin{aligned}&{\dot {\mathbf {x} }}(t)=A(t)\mathbf {x} (t)+B(t)\mathbf {z} (t)\\&\mathbf {y} (t)=C(t)\mathbf {x} (t)+D(t)\mathbf {z} (t)\end{aligned}}$
dove $\mathbf {x} \in \mathbb {R} ^{n}$ è il vettore di stato, $\mathbf {y} \in \mathbb {R} ^{q}$ è il vettore di uscita mentre $\mathbf {z} \in \mathbb {R} ^{p}$ è il vettore di ingresso.
La matrice $A(\cdot )$ è la "matrice dinamica", con $\operatorname {dim} [A(\cdot )]=n\times n$, la matrice $B(\cdot )$ è la "matrice di ingresso", con $\operatorname {dim} [B(\cdot )]=n\times p$, la matrice $C(\cdot )$ è la "matrice di uscita", con $\operatorname {dim} [C(\cdot )]=q\times n$, e $D(\cdot )$ è la "matrice di legame diretto ingresso-uscita" (nei casi in cui il sistema non abbia tale legame, $D(\cdot )$ è una matrice nulla), con $\operatorname {dim} [D(\cdot )]=q\times p$.
La variabile temporale $t$ può essere continua (cioè $t\in \mathbb {R}$) o "discreta" ($t\in \mathbb {Z}$), e in tal caso è spesso indicata con $k$. La rappresentazione in spazio di stato può quindi assumere anche le forme:
* Continuo tempo-invariante:
    ${\begin{aligned}&{\dot {\mathbf {x} }}(t)=A\mathbf {x} (t)+B\mathbf {z} (t)\\&\mathbf {y} (t)=C\mathbf {x} (t)+D\mathbf {z} (t)\end{aligned}}$
* Discreto tempo variante:
    ${\begin{aligned}&\mathbf {x} (k+1)=\mathbf {A} (k)\mathbf {x} (k)+\mathbf {B} (k)\mathbf {z} (k)\\&\mathbf {y} (k)=\mathbf {C} (k)\mathbf {x} (k)+\mathbf {D} (k)\mathbf {z} (k)\end{aligned}}$
* Discreto tempo-invariante:
    ${\begin{aligned}&\mathbf {x} (k+1)=A\mathbf {x} (k)+B\mathbf {z} (k)\\&\mathbf {y} (k)=C\mathbf {x} (k)+D\mathbf {z} (k)\end{aligned}}$

### Funzione di trasferimento

La funzione di trasferimento di un sistema continuo LTI può essere ricavata calcolando la trasformata di Laplace di:
    ${\dot {\mathbf {x} }}(t)=A\mathbf {x} (t)+B\mathbf {z} (t)$
che è:
    $s\mathbf {X} (s)-x(0)=A\mathbf {X} (s)+B\mathbf {Z} (s)$
Risolvendo rispetto a $\mathbf {X} (s)$:
    $(s\mathbf {I} -A)\mathbf {X} (s)=B\mathbf {Z} (s)+x(0)$
da cui:
    $\mathbf {X} (s)=(s\mathbf {I} -A)^{-1}B\mathbf {Z} (s)+(s\mathbf {I} -A)^{-1}x(0)$
Sostituendo $\mathbf {X} (s)$ nell'equazione di uscita $\mathbf {Y} (s)=C\mathbf {X} (s)+D\mathbf {Z} (s)$ si ottiene:
    $\mathbf {Y} (s)=C((s\mathbf {I} -A)^{-1}B\mathbf {Z} (s)+(s\mathbf {I} -A)^{-1}x(0))+D\mathbf {Z} (s)$
Dal momento che la funzione di trasferimento $\mathbf {G} (s)$ è definita come il rapporto tra l'uscita e l'ingresso del sistema, si ha:
    $\mathbf {G} (s)=\mathbf {Y} (s)/\mathbf {Z} (s)$
e sostituendo la precedente espressione di $\mathbf {Y} (s)$, considerando il sistema a condizioni iniziali nulle ($x(0)=0$):
    $\mathbf {G} (s)=C(s\mathbf {I} -A)^{-1}B+D$
La matrice $\mathbf {G} (s)$ ha dimensione $q$ per $p$. Quindi per ogni ingresso ci sono dunque $q$ funzioni di trasferimento, ovvero una per ogni uscita.

### Stabilità

Studiare la stabilità e le caratteristiche della risposta di un sistema lineare continuo tempo-invariante, cioè lineare con matrici che sono costanti nel tempo, a partire dagli autovalori della matrice $A$ è equivalente ad analizzare, nel dominio della frequenza, la sua funzione di trasferimento. Questa può essere come una frazione e apparire, ad esempio, nella forma:
    ${\textbf {G}}(s)=k{\frac {(s-z_{1})(s-z_{2})(s-z_{3})}{(s-p_{1})(s-p_{2})(s-p_{3})(s-p_{4})}}$
Il denominatore della funzione è uguale al polinomio caratteristico trovato calcolando il determinante della matrice $sI-A$:
    $\mathbf {\lambda } (s)=|sI-A|$
Le radici del polinomio caratteristico corrispondono agli autovalori di $A$, e sono i poli della frazione, le singolarità dove il modulo della funzione di trasferimento è illimitato. I poli possono essere ad esempio utilizzati per vedere se il sistema è internamente o esternamente stabile.
La stabilità esterna (stabilità BIBO) consiste nella limitatezza dell'uscita se l'ingresso è limitato. Questo accade se i poli instabili sono cancellati dagli zeri durante il calcolo della funzione di trasferimento, cioè le sue singolarità sono rimovibili.
Gli zeri del numeratore di ${\textbf {G}}(s)$, invece, possono essere similmente utilizzati per determinare se il sistema è o meno a fase minima.

### Controllabilità

La controllabilità di un sistema implica la possibilità, attraverso l'uso di un ingresso ammissibile, di portarne lo stato in qualsiasi valore finale, a partire da qualsiasi valore iniziale, ed entro un tempo finito. La controllabilità di un sistema a tempo continuo LTI può essere verificata tramite la condizione di raggiungibilità, visto che in tali condizioni le due proprietà corrispondono:
    $\operatorname {rg} {\begin{bmatrix}B&AB&A^{2}B&...&A^{n-1}B\end{bmatrix}}=n$
dove il rango di una matrice $A$ è il numero massimo di righe o colonne di una matrice linearmente indipendenti.

### Osservabilità

L'osservabilità quantifica in che misura è possibile ricavare lo stato del sistema a partire dalla sua uscita. L'osservabilità e la controllabilità di un sistema sono matematicamente duali, la seconda ci dice che da un qualsiasi stato iniziale si va in un qualsiasi stato finale e la prima che dalla conoscenza dell'uscita si può risalire allo stato iniziale del sistema.
Un sistema continuo, e in questo caso anche discreto, LTI è osservabile se e solo se
    $\operatorname {rg} {\begin{bmatrix}C\\CA\\...\\CA^{n-1}\end{bmatrix}}=n$

### Retroazione

Un metodo comune per descrivere la retroazione, in inglese feedback, è moltiplicare l'uscita del sistema per una matrice $K$ e porre in ingresso al sistema:
    $\mathbf {z} (t)=K\mathbf {y} (t)$
Se il valore di $K$ è negativo si ha una retroazione negativa.
Il sistema:
    ${\begin{aligned}&{\dot {\mathbf {x} }}(t)=A\mathbf {x} (t)+B\mathbf {z} (t)\\&\mathbf {y} (t)=C\mathbf {x} (t)+D\mathbf {z} (t)\end{aligned}}$
diventa:
    ${\begin{aligned}&{\dot {\mathbf {x} }}(t)=A\mathbf {x} (t)+BK\mathbf {y} (t)\\&\mathbf {y} (t)=C\mathbf {x} (t)+DK\mathbf {y} (t)\end{aligned}}$
risolvendo l'equazione di uscita per $\mathbf {y} (t)$ e inserendo $\mathbf {y} (t)$ nell'equazione di stato si ha:
    ${\begin{aligned}&{\dot {\mathbf {x} }}(t)=\left(A+BK\left(I-DK\right)^{-1}C\right)\mathbf {x} (t)\\&\mathbf {y} (t)=\left(I-DK\right)^{-1}C\mathbf {x} (t)\end{aligned}}$
Il vantaggio di questo approccio è che gli autovalori di $A$ possono essere controllati settando $K$ appropriatamente attraverso la decomposizione di $\left(A+BK\left(I-DK\right)^{-1}C\right)$. Questo è possibile se il sistema in open-loop è controllabile o se tutti gli autovalori di $A$ possono essere resi stabili.
Una semplificazione comune di questo sistema assume $D$ nulla e $C$ uguale all'identità. In questo modo l'equazione si riduce a:
    ${\begin{aligned}&{\dot {\mathbf {x} }}(t)=\left(A+BK\right)\mathbf {x} (t)\\&\mathbf {y} (t)=\mathbf {x} (t)\end{aligned}}$

#### Retroazione con segnale di riferimento in ingresso

Se alla retroazione viene sommato un segnale aggiuntivo:
    $\mathbf {z} (t)=-K\mathbf {y} (t)+\mathbf {r} (t)$
il sistema:
    ${\begin{aligned}&{\dot {\mathbf {x} }}(t)=A\mathbf {x} (t)+B\mathbf {z} (t)\\&\mathbf {y} (t)=C\mathbf {x} (t)+D\mathbf {z} (t)\end{aligned}}$
diventa:
    ${\begin{aligned}&{\dot {\mathbf {x} }}(t)=A\mathbf {x} (t)-BK\mathbf {y} (t)+B\mathbf {r} (t)\\&\mathbf {y} (t)=C\mathbf {x} (t)-DK\mathbf {y} (t)+D\mathbf {r} (t)\end{aligned}}$
risolvendo l'equazione di uscita per $\mathbf {y} (t)$ e sostituendoci l'equazione dello stato si ha:
    ${\begin{aligned}&{\dot {\mathbf {x} }}(t)=\left(A-BK\left(I+DK\right)^{-1}C\right)\mathbf {x} (t)+B\left(I-K\left(I+DK\right)^{-1}D\right)\mathbf {r} (t)\\&\mathbf {y} (t)=\left(I+DK\right)^{-1}C\mathbf {x} (t)+\left(I+DK\right)^{-1}D\mathbf {r} (t)\end{aligned}}$
Una semplificazione comune è la rimozione del termine $D$, che riduce le equazioni a:
    ${\begin{aligned}&{\dot {\mathbf {x} }}(t)=\left(A-BKC\right)\mathbf {x} (t)+B\mathbf {r} (t)\\&\mathbf {y} (t)=C\mathbf {x} (t)\end{aligned}}$

### Sistemi causali

Un sistema causale è descritto da una funzione di trasferimento propria, cioè il grado del numeratore è minore o uguale al grado del denominatore, e stabile. Viene detta strettamente propria se il grado del numeratore è minore al grado del denominatore, e può essere rappresentata come frazione complessa:
    ${\textbf {G}}(s)={\frac {n_{1}s^{3}+n_{2}s^{2}+n_{3}s+n_{4}}{s^{4}+d_{1}s^{3}+d_{2}s^{2}+d_{3}s+d_{4}}}$.
Risulta spesso possibile scrivere il sistema nella forma:
    ${\begin{aligned}{\dot {\textbf {x}}}(t)=&{\begin{bmatrix}-d_{1}&-d_{2}&-d_{3}&-d_{4}\\1&0&0&0\\0&1&0&0\\0&0&1&0\end{bmatrix}}{\textbf {x}}(t)+{\begin{bmatrix}1\\0\\0\\0\\\end{bmatrix}}{\textbf {z}}(t)\\{\textbf {y}}(t)=&\ {\begin{bmatrix}\quad \!\!n_{1}&\quad \!\!n_{2}&\quad \!\!n_{3}&\quad \!\!n_{4}\ \ \end{bmatrix}}\,{\textbf {x}}(t)\end{aligned}}$.
detta forma canonica di controllore perché per il sistema risultante è garantita la controllabilità.
La scrittura (duale):
    ${\begin{aligned}{\dot {\textbf {x}}}(t)=&{\begin{bmatrix}-d_{1}&1&0&0\\-d_{2}&0&1&0\\-d_{3}&0&0&1\\-d_{4}&0&0&0\end{bmatrix}}{\textbf {x}}(t)+{\begin{bmatrix}n_{1}\\n_{2}\\n_{3}\\n_{4}\end{bmatrix}}{\textbf {z}}(t)\\{\textbf {y}}(t)=&\ {\begin{bmatrix}\quad \!\!1&\quad \!\!0&0&0\,\,\end{bmatrix}}\,{\textbf {x}}(t)\end{aligned}}$.
è invece chiamata forma canonica di osservatore.