Hauptinhalt

obsv

Beobachtbarkeit eines Zustandsraummodells

    Beschreibung

    Ein dynamisches System wird als beobachtbar bezeichnet, wenn alle seine Zustände anhand des Systemausgangs bekannt sind. obsv berechnet eine Beobachtbarkeitsmatrix aus Zustandsmatrizen oder aus einem Zustandsraummodell. Mit dieser Matrix können Sie die Beobachtbarkeit bestimmen.

    Betrachten Sie beispielsweise ein zeitkontinuierliches Zustandsraummodell mit Nx Zuständen, Ny Ausgängen und Nu Eingängen:

    x˙=Ax+Buy=Cx+Du

    Hier stellen x, u und y die Zustände, Eingänge und Ausgänge dar; A, B, C und D sind die Zustandsraum-Matrizen mit den folgenden Größen:

    • A ist eine Nx-mal-Nx-Matrix mit reellen oder komplexen Werten.

    • B ist eine Nx-mal-Nu-Matrix mit reellen oder komplexen Werten.

    • C ist eine Ny-mal-Nx-Matrix mit reellen oder komplexen Werten.

    • D ist eine Ny-mal-Nu-Matrix mit reellen oder komplexen Werten.

    Das System ist beobachtbar, wenn die durch obsv Ob=[CCACA2  :CAn1] erzeugte Beobachtbarkeitsmatrix vollen Rang hat, d. h. der Rang gleich der Anzahl der Zustände im Zustandsraummodell ist. Die Beobachtbarkeitsmatrix Ob hat Nx Zeilen und Nxy Spalten. Ein Beispiel hierzu finden Sie unter Beobachtbarkeit eines SISO-Zustandsraummodells.

    Ob = obsv(A,C) liefert die Beobachtbarkeitsmatrix Ob unter Verwendung der Zustandsmatrix A und der Zustand-Ausgangs-Matrix C. Das System ist beobachtbar, wenn Ob vollen Rang hat, der Rang von Ob also gleich der Anzahl der Zustände ist.

    Beispiel

    Ob = obsv(sys) liefert die Beobachtbarkeitsmatrix des Zustandsraummodells sys. Diese Syntax entspricht:

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

    Beispiel

    Beispiele

    alle reduzieren

    Definieren Sie A und C-Matrizen.

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

    Berechnen Sie die Beobachtbarkeitsmatrix.

    Ob = obsv(A,C);

    Bestimmen Sie die Anzahl der unbeobachtbaren Zustände.

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

    Der unbeobachtbare Zustand zeigt an, dass Ob nicht den vollen Rang 2 hat. Daher ist das System nicht beobachtbar.

    Betrachten Sie in diesem Beispiel das folgende SISO-Zustandsraummodell mit 2 Zuständen:

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

    Erstellen Sie das SISO-Zustandsraummodell, das durch die folgenden Zustandsraum-Matrizen definiert ist:

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

    Berechnen Sie die Beobachtbarkeitsmatrix und ermitteln Sie den Rang.

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

    Die Größe der Beobachtbarkeitsmatrix hängt von der Größe der A- und C-Matrizen ab. Wenn zum Beispiel die Matrix A eine Nx-mal-Nx-Matrix und die Matrix C eine Nx-mal-Ny-Matrix ist, dann hat die resultierende Matrix Ob Nx Zeilen und Nxy Spalten. Hier ist Nx die Anzahl der Zustände und Ny die Anzahl der Ausgänge.

    rank(Ob)
    ans = 
    2
    

    Da der Rang der Beobachtbarkeitsmatrix Ob gleich der Anzahl der Zustände ist, ist das System sys beobachtbar.

    Alternativ dazu können Sie auch nur die A- und C-Matrizen verwenden, um die Beobachtbarkeitsmatrix zu finden.

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

    Eingabeargumente

    alle reduzieren

    Zustandsmatrix, angegeben als Nx-mal-Nx-Matrix, wobei Nx die Anzahl der Zustände ist.

    Zustand-Ausgangs-Matrix, angegeben als Ny-mal-Nx-Matrix, wobei Nx der Anzahl der Zustände und Ny der Anzahl der Ausgänge entspricht.

    Zustandsraummodell oder Modellarray, angegeben als:

    • Ein Zustandsraum-Modellobjekt (ss), wenn die Eingänge A, B, C und D numerische Matrizen sind oder aus einem anderen Modellobjekt-Typ konvertiert werden.

    • Ein verallgemeinertes Zustandsraum-Modellobjekt (genss), wenn eine oder mehr der Matrizen A, B, C und D optimierbare Parameter enthalten, wie z. B. realp-Parameter oder verallgemeinerte Matrizen (genmat). Diese Funktion verwendet für optimierbare Parameter die aktuellen Werte.

    • Ein verallgemeinertes Zustandsraum-Modellobjekt (uss), wenn einer oder mehr der Eingänge A, B, C und D unsichere Matrizen enthält. Diese Funktion verwendet für unsichere Parameter die Nennwerte. Für die Verwendung unsicherer Modelle ist die Software Robust Control Toolbox™ erforderlich.

    Ausgangsargumente

    alle reduzieren

    Beobachtbarkeitsmatrix, zurückgegeben als Array. Wenn sys:

    • Ein einzelnes Zustandsraummodell mit Nx Zuständen und Ny Ausgängen ist, dann hat das resultierende Array Ob Nx Zeilen und Nxy Spalten.

    • Ein Array von Zustandsraummodellen sys(:,:,j1,...,jN) ist, ist Ob ein Array mit N+2 Dimensionen, also Ob(:,:,j1,...,jN).

    Beschränkungen

    • obsv wird für den Regelungssentwurf nicht empfohlen, da die Berechnung des Rangs der Beobachtbarkeitsmatrix nicht für die Prüfung der Beobachtbarkeit empfohlen wird. Ob ist für die meisten Systeme mit mehr als einer Handvoll Zustände numerisch singulär. Diese Tatsache ist in Abschnitt III unter [1] gut dokumentiert.

    Referenzen

    [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.

    Versionsverlauf

    Eingeführt vor R2006a