Vereinfachen von Modellen höherer Ordnung
Befehle für die Vereinfachung von Modellen höherer Ordnung
Mit den Befehlen in der folgenden Tabelle können Sie SISO- und MIMO-Modelle niedrigerer Ordnung ableiten.
Befehle für die Vereinfachung von Modellen höherer Ordnung | |
|---|---|
hsvd | Hankel-Einzelwerte eines LTI-Modells berechnen |
balred | Approximation eines Modells niedrigerer Ordnung |
minreal | Minimalrealisierung (Pol-/Nullstellen-Kompensation) |
balreal | Realisierung mit Ausgleich zwischen Eingang/Ausgang berechnen |
modred | Zustandslöschung in Realisierung mit E/A-Ausgleich |
sminreal | Strukturelle Minimalrealisierung |
Techniken für das Vereinfachen von Modellen höherer Ordnung
Zum Verringern der Ordnung eines Modells können Sie eine der folgenden Aktionen ausführen:
Mit
sminrealdie Zustände eliminieren, die strukturell von den Eingängen oder Ausgängen getrennt sind.Das Eliminieren der strukturell getrennten Zustände ist ein guter erster Schritt bei der Modellreduktion, da dies ein preiswerter Prozess ist, der ohne numerische Berechnung auskommt.
Mit
balredeine Approximation niedriger Ordnung Ihres Modells berechnen.Eliminieren Sie sich aufhebende Pol-/Nullstellenpaare mit
minreal.
Beispiel: Vergaser-Modell
In diesem Beispiel wird mit einem Modell eines Vergasers gearbeitet. Dies ist ein Gerät, das Feststoffe in Gase umwandelt. Das ursprüngliche Modell ist nichtlinear.
Laden des Modells
Um eine linearisierte Version des Modells zu laden, geben Sie
load ltiexamples
an der MATLAB®-Eingabeaufforderung ein. Das Vergaser-Beispiel ist in der Variable gasf gespeichert. Wenn Sie Folgendes eingeben:
size(gasf)
wird Folgendes zurückgegeben:
Zustandsraummodell mit 4 Ausgängen, 6 Eingängen und 25 Zuständen.
Vereinfachung von SISO-Modellen höherer Ordnung
Sie können die Ordnung eines E/A-Paares verringern, um zu verstehen, wie die Tools für die Modellreduktion funktionieren, bevor Sie versuchen, das vollständige MIMO-Modell zu vereinfachen, wie in Vereinfachung von MIMO-Modellen höherer Ordnung beschrieben.
Dieses Beispiel konzentriert sich auf das Paar aus Eingang 5 und Ausgang 3 des Vergasers.
sys35 = gasf(3,5);
Bevor Sie mit der Reduktion der Modellordnung beginnen, sollten Sie die Positionen der Polstellen/Nullstellen überprüfen, indem Sie Folgendes eingeben:
pzmap(sys35)
Vergrößern Sie einen Bereich in der Nähe des Ursprungs im resultierenden Diagramm. Dazu können Sie die Zoom-Funktion verwenden oder Folgendes eingeben:
axis([-0.2 0.05 -0.2 0.2])
Die folgende Abbildung zeigt die Ergebnisse.
Pol-Nullstellen-Zuordnung des Vergaser-Modells (vergrößert)

Da im Modell nahe gelegene Pol-Nullstellen-Kompensationen angezeigt werden, ist es ein guter Kandidat für die Modellreduktion.
Um für dieses SISO-Modell eine Vereinfachung niedriger Ordnung zu finden, führen Sie die folgenden Schritte aus:
Wählen Sie eine geeignete Ordnung für Ihr vereinfachtes System aus, indem Sie mit einem Hankel-Singular-Value(HSV)-Diagramm (Hankel-Einzelwert-Diagramm) den relativen Energiebeitrag pro Zustand untersuchen. Geben Sie den folgenden Befehl ein:
um das HSV-Diagramm zu erstellen.hsvd(sys35)
Wenn Sie das Kontextmenü verwenden, um zur logarithmischen Skala zu wechseln, wird das folgende Diagramm angezeigt.

Kleine Hankel-Einzelwerte zeigen an, dass die zugehörigen Zustände nur wenig zum E/A-Verhalten beitragen. Dieses Diagramm zeigt, dass das Löschen der letzten 10 Zustände (denen die 10 kleinsten Hankel-Einzelwerte zugeordnet sind) nur wenig Auswirkung auf den Approximationsfehler hat.
Um die letzten 10 Zustände zu entfernen und eine Approximation 15. Ordnung zu erstellen, geben Sie Folgendes ein:
Wenn Siersys35 = balred(sys35,15);
size(rsys35)eingeben, sehen Sie, dass Ihr vereinfachtes System nur 15 Zustände enthält.Vergleichen Sie die Bode-Antwort des Modells der Ordnung vor der Modellreduktion und des Modells niedrigerer Ordnung mit dem folgenden „bode“-Befehl:
Die folgende Abbildung zeigt das Ergebnis.bode(sys35,'b',rsys35,'r--')

Wie die Überschneidung der Kurven in der Abbildung zeigt, liefert das vereinfachte Modell eine gute Näherung des ursprünglichen Systems.
Sie können versuchen, die Modellordnung weiter zu verringern, indem Sie diesen Prozess wiederholen und weitere Zustände entfernen. Sie können das Modell gasf gleichzeitig auf die 5., die 10. und die 15. Ordnung vereinfachen, indem Sie den folgenden Befehl eingeben:
rsys35 = balred(sys35,[5 10 15]);
bode(sys35,'b',rsys35,'r--')

Beobachten Sie, wie mit abnehmender Ordnung der Fehler zunimmt.
Vereinfachung von MIMO-Modellen höherer Ordnung
Für MIMO-Modelle können Sie Näherungen mit denselben Schritten berechnen wie für SISO-Modelle. Gehen Sie also wie folgt vor:
Wählen Sie eine geeignete Ordnung für Ihr vereinfachtes System aus, indem Sie mit einem Hankel-Singular-Value(HSV)-Diagramm (Hankel-Einzelwert-Diagramm) den relativen Energiebeitrag pro Zustand untersuchen.
Geben Sie Folgendes ein:
um das HSV-Diagramm zu erstellen.hsvd(gasf)

Das Löschen der letzten 8 Zustände (denen die 8 kleinsten Hankel-Einzelwerte zugeordnet sind) sollte nur wenig Auswirkung auf den Fehler im resultierenden System 17. Ordnung haben.
Um die letzten 8 Zustände zu entfernen und ein MIMO-System 17. Ordnung zu erstellen, geben Sie Folgendes ein:
Wenn Siersys=balred(gasf,17);
size(gasf)eingeben, sehen Sie, dass Ihr vereinfachtes System nur 17 Zustände enthält.Um die visuelle Überprüfung des Approximationsfehlers zu erleichtern, sollten Sie statt eines MIMO-Bode-Diagramms ein Einzelwert-Diagramm verwenden. Geben Sie Folgendes ein:
um ein Einzelwert-Diagramm zum Vergleichen des ursprünglichen Systems mit dem Reduktionsfehler zu erstellen.sigma(gasf,'b',gasf-rsys,'r')

Im Vergleich zum ursprünglichen System ist der Reduktionsfehler klein. Dies zeigt, dass das vereinfachte Modell eine gute Näherung des ursprünglichen Modells liefert.
Quellenangaben
MathWorks® bedankt sich bei ALSTOM® Power UK für die Erlaubnis, ihr Vergaser-Modell für dieses Beispiel verwenden zu dürfen. Dieses Modell wurde im Rahmen der ALSTOM Benchmark Challenge on Gasifier Control ausgegeben. Weitere Informationen finden Sie in Dixon, R., (1999), „Advanced Gasifier Control“, Computing & Control Engineering Journal, IEE, Bd. 10, Nr. 3, S. 92–96.