Contenuto principale

obsv

Osservabilità del modello stato-spazio

    Descrizione

    Un sistema dinamico è detto osservabile se tutti i suoi stati possono essere conosciuti dall'output del sistema. obsv calcola una matrice di osservabilità dalle matrici di stato o da un modello stato-spazio. È possibile utilizzare questa matrice per determinare l'osservabilità.

    Ad esempio, si consideri un modello stato-spazio a tempo continuo con Nx stati, Ny output e Nu input:

    x˙=Ax+Buy=Cx+Du

    In questo caso, x, u e y rappresentano rispettivamente gli stati, gli input e gli output, mentre A, B, C e D sono le matrici stato-spazio con le seguenti grandezze:

    • A è una matrice Nx x Nx a valore reale o a valore complesso.

    • B è una matrice Nx x Nu a valore reale o a valore complesso.

    • C è una matrice Ny x Nx a valore reale o a valore complesso.

    • D è una matrice Ny x Nu a valore reale o a valore complesso.

    Il sistema è osservabile se la matrice di osservabilità generata da obsv Ob=[CCACA2  :CAn1] ha un rank completo, ossia il rank è uguale al numero di stati del modello stato-spazio. La matrice di osservabilità Ob ha Nx righe e Nxy colonne. Per un esempio, vedere Osservabilità del modello stato-spazio SISO.

    Ob = obsv(A,C) restituisce la matrice di osservabilità Ob utilizzando la matrice di stato A e la matrice stato-output C. Il sistema è osservabile se Ob ha un rank completo, ossia se il rank di Ob è uguale al numero di stati.

    esempio

    Ob = obsv(sys) restituisce la matrice di osservabilità del modello stato-spazio sys. Questa sintassi equivale a:

    Ob = obsv(sys.A,sys.C);

    esempio

    Esempi

    comprimi tutto

    Definire le matrici A e C.

    A = [1  1;
         4 -2];
    C = [-1 1;
         1 -1];

    Calcolare la matrice di osservabilità.

    Ob = obsv(A,C);

    Determinare il numero di stati non osservabili.

    unobsv = length(A) - rank(Ob)
    unobsv = 
    1
    

    Lo stato non osservabile indica che Ob non ha il rank 2 completo. Pertanto, il sistema non è osservabile.

    Per questo esempio, si consideri il seguente modello stato-spazio SISO con 2 stati:

    A=[-1.5-210]B=[0.50]C=[01]D=1SISO State-Space Model

    Creare il modello stato-spazio SISO definito dalle seguenti matrici stato-spazio:

    A = [-1.5,-2;1,0];
    B = [0.5;0];
    C = [0,1];
    D = 1;
    sys = ss(A,B,C,D);

    Calcolare la matrice di osservabilità e trovare il rank.

    Ob = obsv(sys)
    Ob = 2×2
    
         0     1
         1     0
    
    

    La grandezza della matrice di osservabilità dipende dalla grandezza delle matrici A e C. Ad esempio, se la matrice A è una matrice Nx x Nx e la matrice C è una matrice Nx x Ny, la matrice risultante Ob presenta Nx righe e Nxy colonne. In questo caso, Nx è il numero di stati e Ny è il numero di output.

    rank(Ob)
    ans = 
    2
    

    Poiché il rank della matrice di osservabilità Ob è uguale al numero di stati, il sistema sys è osservabile.

    In alternativa, è anche possibile utilizzare solo le matrici A e C per trovare la matrice di osservabilità.

    Ob = obsv(sys.A,sys.C);
    rank(Ob)
    ans = 
    2
    

    Argomenti di input

    comprimi tutto

    Matrice di stato, specificata come matrice Nx x Nx, dove Nx è il numero degli stati.

    Matrice stato-output, specificata come una matrice Ny x Nx, dove Nx è il numero di stati e Ny è il numero di output.

    Modello stato-spazio o array di modelli, specificati come:

    • Un oggetto del modello stato-spazio (ss), quando gli input A, B, C e D sono matrici numeriche o quando si converte da un altro tipo di oggetto del modello.

    • Un oggetto del modello stato-spazio generalizzato (genss), quando una o più delle matrici A, B, C e D includono parametri sincronizzabili, come i parametri realp o le matrici generalizzate (genmat). La funzione utilizza i valori correnti dei parametri sincronizzabili.

    • Un oggetto del modello stato-spazio incerto (uss), quando uno o più input A, B, C e D includono matrici incerte. La funzione utilizza i valori nominali per i parametri incerti. Per utilizzare i modelli incerti è necessario disporre del software Robust Control Toolbox™.

    Argomenti di output

    comprimi tutto

    Matrice di osservabilità, restituita come array. Quando sys è:

    • Un singolo modello stato-spazio con Nx stati e Ny output, quindi l'array risultante Ob presenta Nx righe e Nxy colonne.

    • Un array di modelli stato-spazio sys(:,:,j1,...,jN), Ob è un array con N+2 dimensioni, ossia Ob(:,:,j1,...,jN).

    Limiti

    • obsv non è consigliato per la progettazione di controllo poiché il calcolo del rank della matrice di osservabilità non è consigliato per il test di osservabilità. Ob sarà numericamente singolare per la maggior parte dei sistemi con più di pochi stati. Questo aspetto è ben documentato nella sezione III di [1].

    Riferimenti

    [1] Paige, C. C. "Properties of Numerical Algorithms Related to Computing Controllability." IEEE Transactions on Automatic Control. Vol. 26, Number 1, 1981, pp. 130-138.

    Cronologia versioni

    Introduzione prima di R2006a