Osservabilità

Un sistema è detto osservabile se si può conoscere lo stato osservandone l'uscita.

Lo stato è dato da:

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

L'uscita è data da:

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

l'evoluzione forzata dello stato non è osservabile dall'uscita, ma il segnale di controllo è sicuramente visibile dall'esterno. Le incognite da trovare sono $x(t)$ e $x(0^-)$. Si può osservare (o misurare) $y(t)$ e si conoscono le quantità $A$, $B$ e $u(t)$. Quindi si può calcolare $x_f(t)$ e, sapendo $C$ e $D$, anche $y_f(t)$. L'incognita che resta nella seconda equazione è lo stato iniziale $x(0^-)$, conoscendo il quale si potrebbe ricavare completamente lo stato.

Definizione

Si dice che un sistema è completamente osservabile se, dall'osservazione dell'andamento delle funzioni dell'uscita $y(\tau)$ e del controllo $u(\tau)$ per $0 <\ \tau <\ t$ e conoscendo la struttura del sistema (ovvero le matrici $A$, $B$, $C$, $D$) si può ricavare $x(0^-)$, ovvero la condizione iniziale dello stato

Definizione

Si dice che un sistema è completamente ricostruibile se, note $A$, $B$, $C$, $D$ e osservando $y(\tau)$ e $u(\tau)$ per $0 <\ \tau <\ t$ si può ricavare lo stato $x(t)$.

Dalla prima equazione (1)

(3)
\begin{equation} x(t) = e^{At} x(0^-) + x_f (t) \end{equation}

se un sistema è completamente osservabile allora si può ottenere $x(0^-)$ e quindi si conosce $x(t)$. Dall'osservabilità si ottiene la ricostruibilità. L'implicazione vale anche per i sistemi a tempo discreto. Invece, solo per i sistemi a tempo continuo, essendo

(4)
\begin{equation} x(t) = x_l (t) + x_f (t) \end{equation}
(5)
\begin{equation} x_l(t) = x(t) - x_f(t) = e^{At} x(0^-) \end{equation}

essendo la matrice $e^{At}$ sempre invertibile ($[e^{At}]^{-1} = e^{-At}$) allora, premoltiplicando l'espressione per $e^{-At}$ si ottiene $x(0^-)$. Quindi, per i sistemi a tempo continuo vale anche l'implicazione inversa: dalla ricostruibilità si ottiene l'osservabilità.

Sia $v \in \mathbb{R}^n$ uno stato iniziale del sistema, tale che, se $x(0^-) = v$, allora l'uscita libera $y_f$ sia identicamente nulla. Allora

(6)
\begin{align} y_l (t) = \left[C e^{At} \right] v \end{align}

Il kernel di una matrice è l'insieme dei vettori tali che il prodotto tra la matrice e uno di questi vettori sia nullo.
Si considera un generico stato $\bar x$. Ponendo il sistema in quello stato come condizione iniziale, ovvero $x(0^-) = \bar x$, l'evoluzione corrispondente dell'uscita sarà:

(7)
\begin{align} \bar y(t) = \bar y_l(t) + \bar y_f (t) \end{align}

applicando un certo controllo $\bar u(t)$. Se lo stato iniziale fosse $x(0^-) = \bar x +v$, allora applicando $\bar u(t)$, si avrebbe la seguente uscita:

(8)
\begin{equation} y(t) = y_l(t) + y_f(t) \end{equation}

con $y_f(t) = \bar y_f(t)$. In base alla sovrapposizione degli effetti su $y_l (t)$, si ottiene

(9)
\begin{align} y_l(t) = \bar y_l(t) + 0 = \bar y_l(t) \end{align}

dove il primo termine è la risposta libera $y_l$ relativa a $\bar x$, mentre $0$ è la risposta libera relativa a $v$. La risposta libera $y_l(t)$ è uguale se lo stato è $\bar x$, poiché la risposta libera $y_l(t)$ relativa a $v$ è nulla. Il sistema è quindi completamente osservabile.

Definizione

Se $x(0^-) = \hat x$ e $y_l (t) = 0$, $\forall t \> 0$ allora si dice che $\hat x$ è uno stato indistinguibile dallo stato zero.

L'insieme degli stati indistinguibili dallo stato zero è detto insieme degli stati non osservabili. Il sottospazio di non osservabilità è indicato con $X_{NO}$.

Dati due stati indistinguibili, una qualunque loro combinazione è ancora indistinguibile: se $x',\:x'' \in X_{NO}$ allora

(10)
\begin{align} x(0^-) = x' \Rightarrow y_l(t) = 0 = y_l' \end{align}
(11)
\begin{align} x(0^-) = x'' \Rightarrow y_l(t) = 0 = y_l'' \end{align}
(12)
\begin{align} x(0^-) = \alpha x' + \beta x'' \Rightarrow y_l(t) = \alpha y_l' + \beta y_l'' = 0 \end{align}

Il sottospazio $X_{NO}$ comprende l'origine.

Teorema di Kallman di osservabilità

Si definisce la matrice Q seguente:

(13)
\begin{align} Q \triangleq \left[ \begin{array}{c} C \\ CA \\ CA^2 \\ \dots \\ CA^{n-1} \end{array} \right] \end{align}

dove $C \in M_{qxn}$ e $A \in M_{nxn}$. Il kernel della matrice $Q$ è uguale al sottospazio $X_{NO}$:

(14)
\begin{align} Ker\:Q = X_{NO} \end{align}

Un sistema può essere completamente osservabile, se l'unico stato indistinguibile dallo stato zero è solo l'origine, oppure non osservabile.

(15)
\begin{align} X_{NO} = 0 \mbox{ sistema completamente osservabile } \end{align}
(16)
\begin{align} dim\:X_{NO} >\ 0 \mbox{ sistema non osservabile } \end{align}

Condizione necessarie e sufficiente per la completa osservabilità è che

(17)
\begin{align} ker\:Q = 0 \end{align}
(18)
\begin{align} dim\:ker\:Q = 0 \end{align}

si verifica quando $\rho(Q) = n$, infatti $ker\:Q + \rho(Q) = n$.

Esempio

Si considera il sistema seguente:

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

Mentre l'analisi di controllabilità impiega le matrici $A$ e $B$, l'osservabilità richiede le matrici $A$ e $C$.

Matrice P di controllabilità:

(21)
\begin{align} P = \left[ B \vert AB \vert A^2 B \right] = \left[ \begin{array}{ccc} 1 & 1 & 1 \\ 0 & 1 & 0 \\ 1 & 0 & 0 \end{array} \right] \end{align}

si ha: $\rho(P) = n_R = 3$. Poiché il rango è massimo, si ha completa controllabilità: $\varphi_C(s) = \varphi(s)$.

Matrice Q di osservabilità:

(22)
\begin{align} Q = \left[ \begin{array}{c} C \\ CA \\ CA^2 \end{array} \right] = \left[ \begin{array}{ccc} 0 & 1 & 0 \\ 0 & 0 & 1 \\ 0 & 0 & 0 \end{array} \right] \end{align}

si ha: $\rho(Q) = 2$. Poiché il rango non è massimo, allora $dim\:X_O = 2$, $dim\:ker\:Q = 1$, $X_{NO} = ker\:Q$.

Calcolo del kernel

Dato un vettore generico

(23)
\begin{align} x = \left[ \begin{array}{c} \alpha \\ \beta \\ \gamma \end{array} \right] \end{align}

esso appartiene al kernel di una matrice Q se $Qx = 0$. Data la seguente matrice $Q$ si procede con il calcolo:

(24)
\begin{align} Q = \left[ \begin{array}{ccc} 0 & 1 & 0 \\ 0 & 0 & 1 \\ 0 & 0 & 0 \end{array} \right] \end{align}
(25)
\begin{align} Qx = \alpha \left[ 0,0,0 \right] + \beta \left[ 1,0,0 \right] + \gamma \left[ 0,1,0 \right] = \left[\beta, \gamma, 0 \right] = \left[0,0,0\right] \end{align}

se $\beta = 0$ e $\gamma = 0$ allora

(26)
\begin{align} ker Q = \left[ \begin{array}{c} \alpha \\ 0 \\ 0 \end{array} \right] \end{align}

$\forall \alpha \in R$.

Proprietà di osservabilità

L'uscita di un generico sistema è:

(27)
\begin{equation} y(t) = y_l(t) + y_f(t) \end{equation}

essendo

(28)
\begin{align} y_f(t) = C \int_0^t e^{A(t - \tau)} Bu(\tau) d\tau + Du(\tau) \end{align}

il valore di $y_f$ è noto, oppure è calcolabile conoscendo il controllo. Esso non dipende dal valore iniziale. L'osservabilità dipende solo dalla risposta libera $y_l(t)$. Essa si può calcolare in questo modo:

(29)
\begin{equation} y_l(t) = y(t) - y_f(t) \end{equation}

dove $y(t)$ è misurabile e $y_f(t)$ è calcolabile utilizzando un simulatore. Un simulatore è un sistema identico a quello studiato, dove viene inserito lo stato iniziale $x(0^-) = 0$:

simulazione.pdf

Fig 7.1 Impiego di un simulatore per misurare la risposta forzata

nel dominio di Laplace, la quantità $C e^{At}$ corrisponde a $C(sI - A)^{-1}$. Le matrici notevoli da analizzare sono:

  • $(sI - A)^{-1}$ stabilità (evoluzione libera dello stato $x_l$)
  • $(sI - A)^{-1} B$ controllabilità (evoluzione forzata dello stato $x_f$)
  • $C (sI - A)^{-1}$ osservabilità (evoluzione libera dell'uscita $y_l$)

A partire dal kernel di Q si ottiene il sottospazio di non osservabilità $X_{NO}$. Si può costruire una matrice $T_{NO}$ con colonne costituite da una base per $X_{NO}$.

(30)
\begin{align} ker\:Q = n \Longleftrightarrow Q = 0 \Longleftrightarrow Qx = 0\:\forall\:x \Longleftrightarrow x \in ker(Q)\:\forall\:x \end{align}

Si considera una matrice $T_O$ lei cui colonne siano base per $X_O$, e una matrice $T$ costruita nel modo seguente:

(31)
\begin{align} T = \left[ T_O \vert T_{NO} \right] \end{align}

effettuando un cambiamento di base

(32)
\begin{eqnarray} z' &=& \tilde A z + \tilde B u \\ y &=& \tilde C z + \tilde D u \end{eqnarray}

si dimostra che:

(33)
\begin{align} z' = \left[ \begin{array}{c} z'_{O} \\ z'_{NO} \end{array} \right] = \left[ \begin{array}{cc} \tilde A_{11} & 0 \\ \tilde A_{12} & \tilde A_{22} \end{array} \right] \left[ \begin{array}{c} z_0 \\ z_{no} \end{array} \right] \end{align}

ipotizzando che $\tilde B = 0$ e $\tilde D = 0$ si ha:

(34)
\begin{align} y = \left[ \begin{array}{cc} \tilde C_1 & 0 \end{array} \right] z = \left[ \begin{array}{cc} \tilde C_1 & 0 \end{array} \right] \left[ \begin{array}{c} z_O \\ z_{NO} \end{array} \right] \end{align}

$Z_{NO}$ non influenza l'uscita $y$ direttamente a causa dello $0$ presente nell'equazione dell'uscita $y$ o indirettamente attraverso $z_O$ a causa dello $0$ presente nell'equazione di $z'$. Infatti, le equazioni sono:

(35)
\begin{eqnarray} y &=& \tilde{C}_1 z_O \\ z'_O &=& \tilde{A}_{11} z_O \end{eqnarray}

quindi l'evoluzione di $Z_{NO}$ non può influenzare l'uscita. Nel sistema esiste una parte di stato che non può influenzare l'uscita e dunque non è osservabile a partire da quest'ultima. Se esistono componenti dello stato che non influenzano l'uscita, allora il sistema non è completamente osservabile: non si può sapere lo stato iniziale. Un tale sistema permette di osservare $z_O$ ma non $z_{NO}$.

Esempio

Si considera il seguente sistema:

(36)
\begin{align} x' = \left[ \begin{array}{cc} 1 & 0 \\ 0 & 1 \end{array} \right] x \end{align}
(37)
\begin{align} y = \left[ \begin{array}{cc} 1 & 1 \end{array} \right] x \end{align}

si esegue la decomposizione di Kalmann:

(38)
\begin{align} Q = \left[ \begin{array}{c} C \\ CA \end{array} \right] = \left[ \begin{array}{cc} 1 & 1 \\ 1 & 1 \end{array} \right] \end{align}

si ha $\rho(Q) = 1$, quindi $X_{NO} = ker(Q) = \left\lbrace x\::\:Qx = 0\right\rbrace$. Svolgendo i calcoli si ottiene:

(39)
\begin{align} \left[ \begin{array}{cc} 1 & 1 \\ 1 & 1 \end{array} \right] \left[ \begin{array}{c} \alpha \\ \beta \end{array} \right] = \left[ \begin{array}{c} 0 \\ 0 \end{array} \right] \end{align}

da cui

(40)
\begin{eqnarray} \alpha + \beta &=& 0 \\ \alpha + \beta &=& 0 \end{eqnarray}

quindi $\beta = - \alpha$. Il kernel di Q è:

(41)
\begin{align} ker(Q) = \left[ \begin{array}{c} \alpha \\ -\alpha \\ 0 \end{array} \right] = \alpha \left[ \begin{array}{c} 1 \\ -1 \\ 0 \end{array} \right] \end{align}

l'uscita è data da

(42)
\begin{align} y = \left[ \begin{array}{cc} 1 & 1 \end{array} \right] x = x_1 + x_2 \end{align}

si osserva la somma di $x_1 + x_2$ ma non i singoli componenti $x_1$ e $x_2$.

L'equazione del sistema sono:

(43)
\begin{align} z' = \left[ \begin{array}{cc} \tilde{A}_{11} & 0 \\ \tilde{A}_{21} & \tilde{A}_{22} \end{array} \right] z \end{align}
(44)
\begin{align} y = \left[ \begin{array}{cc} \tilde{C}_1 & 0 \end{array} \right] \end{align}

Nella matrice $\tilde{A}_{11}$ sono presenti gli autovalori relativi all'evoluzione di $z_O$, mentre in $\tilde{A}_{22}$ sono presenti gli autovalori relativi a $z_{NO}$. Il polinomio caratteristico $\tilde{\varphi}(s)$ è uguale a $\varphi(s)$ perché il polinomio caratteristico non muta con il cambiamento di base. Il polinomio caratteristico è:

(45)
\begin{align} \varphi(s) = \tilde{\varphi}(s) = det(sI_{11} - \tilde{A}_{11})det(sI_{22} - \tilde{A}_{22}) \end{align}

il primo termine è relativo a $\varphi_O$ e il secondo termine a $\varphi_{NO}$. Quindi

(46)
\begin{align} \tilde{\varphi}_O(s) = det(sI_{11} - \tilde{A}_{11}) \end{align}

è il polinomio caratteristico della matrice $\tilde{C}(sI - \tilde{A})^{-1}$. Si ha $deg\:\tilde{\varphi}_O (s) = n-dim\:X_{NO} = dim\:X_O = n-dim\:ker\:Q = \rho(Q)$.
Si ha $\varphi(s) = \tilde{\varphi}(s)$ e $\varphi_O(s) = \tilde{\varphi_O}(s)$, quindi non è necessario cambiare base, ma è sufficiente calcolare $\rho(Q) = deg\:\varphi_O(s)$, dove $\varphi_O(s)$ è il polinomio caratteristico di $C(sI - A)^{-1}$.

Per calcolare l'osservabilità di un sistema si può:

  • usare il teorema di Kallman: ricavare $X_{NO}$, $n_O = n-dim\:N_{NO}$. Se $n_O = n$, ovvero $\rho(Q) = n$ allora il sistema è completamente osservabile.
  • usare la matrice $C(sI - A)^{-1}$: ricavare $n_O = deg\:\varphi_O(s)$ e $\varphi_O(s)$, quindi i poli della matrice $C(sI - A)^{-1}$ che influenzano l'uscita libera.

I poli osservabili sono le radici di $\varphi_O(s)$. Un polo non è osservabile se non influenza l'uscita libera $y_l = C(sI - A)^{-1} x(0^-)$.

Esempio

Si considera il seguente sistema:

(47)
\begin{align} x' = \left[ \begin{array}{cc} 1 & 0 \\ 0 & -1 \end{array} \right] x \end{align}
(48)
\begin{align} y = \left[ \begin{array}{cc} 1 & 1 \end{array} \right] x \end{align}

La matrice $Q$ è:

(49)
\begin{align} Q = \left[ \begin{array}{cc} 1 & 1 \\ 1 & -1 \end{array} \right] \end{align}

quindi $\rho(Q) = n$, quindi il sistema è completamente osservabile. Considerando $x(0^-) = \left[ 1\:1 \right]^T$, si ha:

(50)
\begin{align} C(sI - A)^{-1} = \left[ \begin{array}{cc} 1 & 1 \end{array} \right] \left[ \begin{array}{cc} \frac{1}{s-1} & 0 \\ 0 & \frac{1}{s-1} \end{array} \right] = \left[ \begin{array}{cc} \frac{1}{s-1} \frac{1}{s-1} \end{array} \right] \end{align}

L'uscita libera è:

(51)
\begin{align} \mathscr{L}^{-1} \left[ C(sI - A)^{-1} \right] \end{align}

in questo caso

(52)
\begin{align} Ce^{At} = \left[ \begin{array}{cc} e^t e^{-t} \end{array} \right] 1(t) \end{align}

considerando $x(0^-) = \left[ 1\:0 \right]$, allora $y_l(t) = Ce^{At} \left[ \begin{array}{c} 1 \\ 0 \end{array} \right] = e^t 1(t)$.
In quest'ultimo, lo stato iniziale scompare. Considerando invece $x(0^-) = \left[ 0\:1 \right]$ allora $y_l(t) = e^{-t} 1(t)$. Un polo, con la sua molteplicità, è osservabile se esistono condizioni iniziali che fanno in modo da visualizzarne il contributo (con la sua molteplicità) nell'uscita libera.

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License