Main Content

Die Übersetzung dieser Seite ist veraltet. Klicken Sie hier, um die neueste Version auf Englisch zu sehen.

Identifizieren von Transferfunktionen niedriger Ordnung (Prozessmodelle) mithilfe der App „System Identification“

Einführung

Ziele

Schätzen und Validieren zeitkontinuierlicher Transferfunktionen anhand von Single-Input/Single-Output-(SISO-)Daten, um herauszufinden, welche Funktion die Systemdynamiken am besten beschreibt.

Nach Abschluss dieses Tutorials können Sie die folgenden Aufgaben mithilfe der App „System Identification“ ausführen:

  • Importieren von Datenobjekten aus dem MATLAB®-Arbeitsbereich in die App.

  • Plotten und Verarbeiten der Daten.

  • Schätzen und Validieren zeitkontinuierlicher Modelle niedriger Ordnung anhand der Daten.

  • Exportieren von Modellen in den MATLAB-Arbeitsbereich.

  • Simulieren des Modells mithilfe der Software Simulink®.

Hinweis

In diesem Tutorial werden Zeitdomänendaten verwendet, um zu veranschaulichen, wie Sie lineare Modelle schätzen können. Derselbe Workflow kann auch zum Anpassen von Frequenzdomänendaten verwendet werden.

Datenbeschreibung

In diesem Tutorial wird die Datendatei proc_data.mat verwendet, die 200 Stichproben der Single-Input/Single-Output-(SISO-)Zeitdomänendaten von einem Eingang und einem Ausgang enthält. Der Eingang ist ein zufälliges binäres Signal, das zwischen -1 und 1 oszilliert. Weißes Rauschen (das einer Laststörung entspricht) wird dem Eingang mit einer Standardabweichung von 0,2 hinzugefügt, was zu einem Signal-Rausch-Verhältnis von etwa 20 dB führt. Diese Daten werden mithilfe eines Systems zweiter Ordnung mit unterdämpften Moden (komplexen Polstellen) und einer Spitzenantwort bei 1 rad/s simuliert:

G(s)=11+0.2s+s2e2s

Die Abtastzeit der Simulation beträgt 1 Sekunde.

Was ist ein zeitkontinuierliches Prozessmodell?

Zeitkontinuierliche Prozessmodelle sind Transferfunktionen niedriger Ordnung, die die Systemdynamiken mithilfe statischer Verstärkung, einer Zeitverzögerung vor der Antwort des Systemausgangs auf den Eingang und charakteristischen Zeitkonstanten, die Polstellen und Nullstellen zugeordnet sind, beschreiben. Solche Modelle sind in der Praxis weit verbreitet und werden z. B. häufig für die Abstimmung von PID-Reglern verwendet. Prozessmodellparameter haben eine physikalische Signifikanz.

Sie können verschiedene Prozessmodellstrukturen angeben, indem Sie die Anzahl der Polstellen variieren, einen Integrator hinzufügen oder eine Zeitverzögerung bzw. Nullstelle berücksichtigen. In dieser Toolbox können Sie 3 als höchste Prozessmodellordnung angeben und die Polstellen können reell oder komplex (unterdämpfte Modi) sein.

Im Allgemeinen ist ein lineares System durch eine Transferfunktion G charakterisiert, also einem Operator, mit dem der Eingang u in den Ausgang y übertragen wird:

y=Gu

Bei einem zeitkontinuierlichen System setzt G die Laplace-Transformationen des Eingangs U(s) und des Ausgangs Y(s) wie folgt in Beziehung:

Y(s)=G(s)U(s)

In diesem Tutorial schätzen Sie G mithilfe verschiedener Prozessmodellstrukturen.

Beispielsweise ist die folgende Modellstruktur ein zeitkontinuierliches Modell erster Ordnung. Dabei ist K die statische Verstärkung, Tp1 ist eine Zeitkonstante und Td ist die Verzögerung zwischen dem Eingang und dem Ausgang:

G(s)=K1+sTp1esTd

Vorbereiten von Daten für System Identification

Laden von Daten in den MATLAB-Arbeitsbereich

Laden Sie die Daten in der Datei proc_data.mat, indem Sie den folgenden Befehl in das MATLAB-Befehlsfenster eingeben:

load proc_data

Mit diesem Befehl werden die Daten als das Datenobjekt z in den MATLAB-Arbeitsbereich geladen. Ausführliche Informationen zu iddata-Objekten finden Sie auf der entsprechenden Referenzseite.

Öffnen der App „System Identification“

Geben Sie zum Öffnen der App „System Identification“ den folgenden Befehl in das MATLAB-Befehlsfenster ein:

systemIdentification

In der Titelleiste wird der Standard-Sitzungsname, Untitled, angezeigt.

Importieren von Datenobjekten in die App „System Identification“

Sie können Datenobjekte aus dem MATLAB-Arbeitsbereich in die App importieren.

Sie müssen die Beispieldaten bereits in MATLAB geladen haben, wie in Laden von Daten in den MATLAB-Arbeitsbereich beschrieben, und die App geöffnet haben, wie in Öffnen der App „System Identification“ beschrieben.

Falls Sie diese Schritte noch ausführen müssen, klicken Sie hier.

So importieren Sie ein Datenobjekt in die App „System Identification“:

  1. Wählen Sie Import data > Data object aus.

    Dadurch wird das Dialogfenster „Import Data“ (Daten importieren) geöffnet.

  2. Geben Sie im Dialogfenster „Import Data“ folgende Optionen an:

    • Object: Geben Sie z als Namen der MATLAB-Variablen an, die das Zeitdomänen-Datenobjekt darstellt. Drücken Sie die Eingabetaste.

    • Data name: Verwenden Sie den Standardnamen z, der mit dem Namen des Datenobjekts, das Sie importieren, identisch ist. Dieser Name wird nach Abschluss des Importvorgangs für die Daten in der App „System Identification“ angezeigt.

    • Starting time: Geben Sie 0 als Anfangszeit ein. Dieser Wert wird als Anfangswert der Zeitachse in Zeitdiagrammen angezeigt.

    • Sample time: Geben Sie 1 als Zeit zwischen aufeinanderfolgenden Abtastungen in Sekunden an. Dieser Wert stellt in dem Versuch die tatsächliche Abtastzeit dar.

    Das Dialogfenster „Import Data“ sieht nun in etwa wie folgt aus:

  3. Klicken Sie auf Import, um die Daten zur App „System Identification“ hinzuzufügen. In der App wird ein Symbol zur Darstellung der Daten hinzugefügt.

  4. Klicken Sie auf Close, um das Dialogfenster „Import Data“ zu schließen.

Plotten und Verarbeiten der Daten

In diesem Teil des Tutorials werten Sie die Daten aus und verarbeiten sie für die Systemidentifikation. Sie erfahren, wie Sie folgende Aufgaben ausführen:

  • Plotten der Daten.

  • Entfernen von Offsets durch Subtrahieren der Mittelwerte vom Eingang und Ausgang.

  • Splitten der Daten in zwei Teile. Sie verwenden einen Teil für die Modellschätzung und den anderen Teil für die Modellvalidierung.

Sie subtrahieren die Mittelwerte von den jeweiligen Signalen, weil Sie in der Regel lineare Modelle erstellen, die die Antworten für Abweichungen von einem physikalischen Gleichgewicht beschreiben. Bei stationären Daten kann man davon ausgehen, dass die mittleren Pegel der Signale einem solchen Gleichgewicht entsprechen. Auf diese Weise können Sie Modelle um den Nullwert herum suchen, ohne die absoluten Gleichgewichtspegel in physikalischen Einheiten modellieren zu müssen.

Sie müssen die importierten Daten bereits in die App „System Identification“ importiert haben, wie in Importieren von Datenobjekten in die App „System Identification“ beschrieben.

Falls Sie diesen Schritt noch ausführen müssen, klicken Sie hier.

So können Sie die Daten plotten und verarbeiten:

  1. Aktivieren Sie das Kontrollkästchen Time plot, um das Fenster mit dem Zeitdiagramm zu öffnen.

    Entlang der unteren Achsen sind die Eingangsdaten abgebildet (eine zufällige binäre Folge) und entlang der oberen Achsen sind die Ausgangsdaten abgebildet.

    Die beiden nächsten Schritte veranschaulichen, wie die Achsengrenzwerte im Diagramm geändert werden.

  2. Zum Ändern der Grenzwerte der vertikalen Achse für die Eingangsdaten wählen Sie im Fenster mit dem Zeitdiagramm die Optionen Options > Set axes limits (Optionen > Achsengrenzwerte festlegen) aus.

  3. Setzen Sie im Dialogfenster „Limits for Time Plot“ (Grenzwerte für Zeitdiagramm) den neuen Grenzwert der vertikalen Achse für den Eingangsdatenkanal u1 auf [-1.5 1.5]. Klicken Sie auf Apply und Close.

    Hinweis

    Die beiden anderen Felder im Dialogfenster „Limits for Time Plot“, Time und y1, ermöglichen Ihnen das Festlegen der Achsengrenzwerte für die Zeitachse bzw. die Ausgangskanalachse. Sie können jede der Achsen auch als logarithmisch oder linear festlegen, indem Sie die entsprechende Option auswählen.

    Die folgende Abbildung zeigt das aktualisierte Zeitdiagramm.

  4. Wählen Sie in der App „System Identification“ die Optionen <--Preprocess > Quick start (Aufbereiten > Schnellstart) aus, um die folgenden vier Aktionen auszuführen:

    • Subtrahieren des Mittelwerts von jedem Kanal.

    • Splitten der Daten in zwei Teile.

    • Angeben des ersten Teils der Daten als Schätzdaten oder Arbeitsdaten (Working Data).

    • Angeben des zweiten Teils der Daten als Validierungsdaten (Validation Data).

Weitere Informationen.  Ausführliche Informationen zu unterstützten Datenverarbeitungsoperationen, z. B. erneutes Abtasten oder Filtern der Daten, finden Sie unter Preprocess Data.

Schätzen einer Transferfunktion (Prozessmodell) zweiter Ordnung mit komplexen Polstellen

Schätzen einer Transferfunktion zweiter Ordnung mithilfe der Standardeinstellungen

In diesem Teil des Tutorials schätzen Sie Modelle mit dieser Struktur:

G(s)=K(1+2ξTws+Tw2s2)eTds

Sie müssen die Daten für die Schätzung bereits verarbeitet haben, wie in Plotten und Verarbeiten der Daten beschrieben.

Falls Sie diesen Schritt noch ausführen müssen, klicken Sie hier.

So identifizieren Sie eine Transferfunktion zweiter Ordnung:

  1. Wählen Sie in der App „System Identification“ die Optionen Estimate > Process models (Schätzen > Prozessmodelle) aus, um das Dialogfenster „Process Models“ zu öffnen.

  2. Geben Sie im Bereich Model Transfer Function des Dialogfensters „Process Models“ die folgenden Optionen an:

    • Wählen Sie unter Poles (Polstellen) die Optionen 2 und Underdamped (Unterdämpft) aus.

      Mit dieser Auswahl wird die Modelltransferfunktion in eine Modellstruktur zweiter Ordnung aktualisiert, die komplexe Polstellen enthalten kann.

    • Stellen Sie sicher, dass die Kontrollkästchen Zero und Integrator deaktiviert sind, um eine Nullstelle und einen Integrator (selbstregelnd) aus dem Modell auszuschließen.

  3. Im Bereich Parameter des Dialogfensters „Process Models“ werden jetzt vier aktive Parameter angezeigt: K, Tw, Zeta und Td. Behalten Sie im Bereich Initial Guess (Anfangsvermutung) die Standardoption Auto-selected (Automatische Auswahl) bei, um die anfänglichen Parameterwerte während der Schätzung zu berechnen. In der Spalte Initial Guess der Tabelle „Parameter“ wird Auto angezeigt.

  4. Behalten Sie die Standardwerte für Bounds (Grenzwerte) bei, die die minimalen und maximalen Werte der einzelnen Parameter angeben.

    Tipp

    Wenn der Bereich der möglichen Werte für einen Parameter bekannt ist, können Sie diese Werte in die entsprechenden Felder für Bounds eingeben, um den Schätzalgorithmus zu unterstützen. Drücken Sie nach Eingabe der Werte die Eingabetaste.

  5. Behalten Sie die Standardeinstellungen für den Schätzalgorithmus bei:

    • Disturbance Model: None bedeutet, dass der Algorithmus das Rauschmodell nicht schätzt. Mit dieser Option wird auch Focus auf Simulation festgelegt.

    • Focus: Simulation bedeutet, dass der Schätzalgorithmus das Rauschmodell nicht verwendet, um die relative Bedeutung der genauen Anpassung von Daten in verschiedenen Frequenzbereichen abzuwägen. Stattdessen verwendet der Algorithmus das Eingangsspektrum in einem bestimmten Frequenzbereich, um die relative Bedeutung der Anpassung in diesem Frequenzbereich abzuwägen.

      Tipp

      Die Einstellung Simulation ist für die Identifizierung von Modellen optimiert, die Sie für die Ausgangssimulation verwenden möchten. Wenn Sie Ihr Modell für die Ausgangsvorhersage oder für Steuerungsanwendungen oder zur Verbesserung von Parameterschätzungen mithilfe eines Rauschmodells verwenden möchten, wählen Sie Prediction (Vorhersage) aus.

    • Initial condition: Auto bedeutet, dass der Algorithmus die Daten analysiert und die optimale Methode für die Handhabung des Anfangszustands des Systems auswählt. Wenn Sie schlechte Ergebnisse erhalten, können Sie versuchen, eine bestimmte Methode für die Handhabung von Anfangszuständen festzulegen, anstatt die Methode automatisch auswählen zu lassen.

    • Covariance: Estimate bedeutet, dass der Algorithmus Parameterunsicherheiten berechnet, die in Diagrammen als Konfidenzintervalle des Modells angezeigt werden.

    Die App weist dem Modell einen Namen zu, der im Feld Name angezeigt wird (dieses befindet sich am unteren Rand des Dialogfensters). Standardmäßig ist der Name das Akronym P2DU, was auf zwei Polstellen (P2), eine Verzögerung (D) und unterdämpfte Modi (U) hinweist.

  6. Klicken Sie auf Estimate, um das Modell P2DU zur App „System Identification“ hinzuzufügen.

Tipps für die Angabe bekannter Parameter

Wenn der genaue Wert eines Parameters bekannt ist, können Sie diesen Wert in die Spalte Value des Dialogfensters „Process Models“ eingeben. Aktivieren Sie nach dem Angeben des Werts das entsprechende Kontrollkästchen Known.

Wenn der ungefähre Wert eines Parameters bekannt ist, können Sie den Schätzalgorithmus unterstützen, indem Sie einen Anfangswert in die Spalte Initial Guess eingeben. Lassen Sie in diesem Fall das Kontrollkästchen Known deaktiviert, um der Schätzung die Feinabstimmung dieser Anfangsvermutung zu ermöglichen.

Um beispielsweise den Zeitverzögerungswert Td auf 2s festzulegen, geben Sie diesen Wert in das Feld Value der Parametertabelle im Dialogfenster „Process Models“ ein. Aktivieren Sie anschließend das entsprechende Kontrollkästchen Known.

Validierung des Modells

Sie können die folgenden Diagramme analysieren, um die Qualität des Modells auszuwerten:

  • Vergleich von Modellausgang und gemessenem Ausgang in einem Zeitdiagramm

  • Autokorrelation der Ausgangsresiduen und Kreuzkorrelation der Eingangs- und Ausgangsresiduen

Sie müssen das Modell bereits geschätzt haben, wie in Schätzen einer Transferfunktion zweiter Ordnung mithilfe der Standardeinstellungen beschrieben.

Falls Sie diesen Schritt noch ausführen müssen, klicken Sie hier.

Untersuchen des Modellausgangs.  Sie können mithilfe des Modellausgangsdiagramms prüfen, inwieweit der Modellausgang mit dem gemessenen Ausgang im Validierungsdatensatz übereinstimmt. Ein gutes Modell ist das einfachste Modell, das die Dynamiken am besten beschreibt und den Ausgang für verschiedene Eingänge erfolgreich simuliert oder vorhersagt.

Zum Generieren des Modellausgangsdiagramms aktivieren Sie in der App „System Identification“ das Kontrollkästchen Model output. Wenn das Diagramm leer ist, klicken Sie im Fenster der App „System Identification“ auf das Modellsymbol, um das Modell im Diagramm anzuzeigen.

Die Software System Identification Toolbox™ verwendet Eingangsvalidierungsdaten als Eingänge für das Modell und plottet den simulierten Ausgang über den Ausgangsvalidierungsdaten. Aus dem obigen Diagramm ist ersichtlich, dass der Modellausgang gut mit dem Validierungsdatenausgang übereinstimmt.

Der Bereich Best Fits des Modellausgangsdiagramms zeigt die Übereinstimmung (in Prozent) zwischen dem Modellausgang und dem Validierungsdatenausgang.

Denken Sie daran, dass die Daten mithilfe des folgenden Systems zweiter Ordnung mit unterdämpften Modi (komplexen Polstellen), wie in Datenbeschreibung beschrieben, und einer Spitzenantwort bei 1 rad/s simuliert wurden:

G(s)=11+0.2s+s2e2s

Da die Daten während der Simulation am Eingang Rauschen aufweisen, kann das geschätzte Modell das zum Simulieren der Daten verwendete Modell nicht exakt reproduzieren.

Untersuchen der Modellresiduen.  Sie können ein Modell validieren, indem Sie das Verhalten seiner Residuen überprüfen.

Zum Generieren eines Residuenanalysediagramms aktivieren Sie in der App „System Identification“ das Kontrollkästchen Model resids.

Entlang der oberen Achsen ist die Autokorrelation von Residuen für den Ausgang abgebildet (Test auf weißes Rauschen). Die horizontale Skala entspricht der Anzahl von Verzögerungen, also der Zeitdifferenz (in Abtastungen) zwischen den Signalen, mit der die Korrelation geschätzt wird. Alle Fluktuationen innerhalb des Konfidenzintervalls gelten als insignifikant. Ein gutes Modell sollte eine Autokorrelationsfunktion für Residuen innerhalb des Konfidenzintervalls umfassen, was darauf hinweist, dass die Residuen unkorreliert sind. In diesem Beispiel werden die Residuen jedoch korreliert angezeigt, was natürlich ist, da die Residuen mithilfe des Rauschmodells zu weißem Rauschen werden.

Entlang der unteren Achsen ist die Kreuzkorrelation der Residuen mit dem Eingang abgebildet. Ein gutes Modell weist Residuen auf, die nicht mit früheren Eingängen korrelieren (Unabhängigkeitstest). Anzeichen für eine Korrelation weisen darauf hin, dass das Modell nicht beschreibt, wie ein Teil des Ausgangs mit dem entsprechenden Eingang zusammenhängt. Wenn beispielsweise eine Spitze außerhalb des Konfidenzintervalls für die Verzögerung k liegt, bedeutet dies, dass der Beitrag zum Ausgang y(t) der seinen Ursprung in Eingang u(t-k) hat, nicht ordnungsgemäß vom Modell beschrieben wird. In diesem Beispiel liegt keine Korrelation zwischen den Residuen und den Eingängen vor.

Daher weist die Residuenanalyse darauf hin, dass dieses Modell zwar gut ist, jedoch möglicherweise ein Rauschmodell erforderlich ist.

Schätzen eines Prozessmodells mit einem Rauschanteil

Schätzen eines Prozessmodells zweiter Ordnung mit komplexen Polstellen

In diesem Teil des Tutorials schätzen Sie eine Transferfunktion zweiter Ordnung und binden ein Rauschmodell ein. Durch die Einbindung eines Rauschmodells optimieren Sie die Schätzergebnisse der Vorhersageanwendung.

Sie müssen das Modell bereits geschätzt haben, wie in Schätzen einer Transferfunktion zweiter Ordnung mithilfe der Standardeinstellungen beschrieben.

Falls Sie diesen Schritt noch ausführen müssen, klicken Sie hier.

So schätzen Sie eine Transferfunktion zweiter Ordnung mit Rauschen:

  1. Wenn das Dialogfenster „Process Models“ nicht geöffnet ist, wählen Sie in der App „System Identification“ die Optionen Estimate > Process Models (Schätzen > Prozessmodelle) aus. Dadurch wird das Dialogfenster „Process Models“ geöffnet.

  2. Geben Sie im Bereich Model Transfer Function die folgenden Optionen an:

    • Wählen Sie unter Poles (Polstellen) die Optionen 2 und Underdamped (Unterdämpft) aus. Mit dieser Auswahl wird die Modelltransferfunktion in eine Modellstruktur zweiter Ordnung aktualisiert, die komplexe Polstellen enthalten kann. Stellen Sie sicher, dass die Kontrollkästchen Zero und Integrator deaktiviert sind, um eine Nullstelle und einen Integrator (selbstregelnd) aus dem Modell auszuschließen.

    • Disturbance Model: Setzen Sie diese Option auf Order 1, um das Rauschmodell H als zeitkontinuierliches ARMA-Modell erster Ordnung zu schätzen:

      H=CDe

      Dabei sind C und D Polynome erster Ordnung und e ist weißes Rauschen.

      Mit dieser Aktion wird der Fokus (Focus) als Prediction (Vorhersage) angegeben, wodurch sich die Genauigkeit in dem Frequenzbereich verbessert, in dem der Rauschpegel gering ist. Wenn mehr Rauschen bei hohen Frequenzen vorliegt, weist der Algorithmus der exakten Anpassung der hochfrequenten Anteile der Daten eine geringere Bedeutung zu.

    • Name: Ändern Sie den Modellnamen in P2DUe1, um ein Modell mit eindeutigem Namen in der App „System Identification“ zu generieren.

  3. Klicken Sie auf Estimate.

  4. Setzen Sie im Dialogfenster „Process Models“ die Option Disturbance Model auf Order 2, um ein Rauschmodell zweiter Ordnung zu schätzen.

  5. Ändern Sie das Feld Name in P2DUe2, um ein Modell mit eindeutigem Namen in der App „System Identification“ zu generieren.

  6. Klicken Sie auf Estimate.

Validieren der Modelle

In diesem Teil des Tutorials werten Sie die Modellleistung mithilfe der Modellausgangs- und Residuenanalysediagramme aus.

Sie müssen die Modelle bereits, wie in Schätzen einer Transferfunktion zweiter Ordnung mithilfe der Standardeinstellungen und Schätzen eines Prozessmodells zweiter Ordnung mit komplexen Polstellen beschrieben, geschätzt haben.

Falls Sie diese Schritte noch ausführen müssen, klicken Sie hier.

Vergleichen der Modellausgangsdiagramme.  Zum Generieren des Modellausgangsdiagramms aktivieren Sie in der App „System Identification“ das Kontrollkästchen Model output. Wenn das Diagramm leer ist oder im Diagramm kein Modellausgang angezeigt wird, klicken Sie im Fenster der App „System Identification“ auf die Modellsymbole, um diese Modelle im Diagramm anzuzeigen.

Das folgende Modellausgangsdiagramm zeigt standardmäßig den simulierten Modellausgang an. Die simulierte Antwort der Modelle ist für Modelle mit und ohne Rauschen in etwa gleich. Daher wirkt sich das Einbeziehen des Rauschmodells nicht auf den simulierten Ausgang aus.

Zum Anzeigen des vorhergesagten Modellausgangs wählen Sie im Fenster mit dem Modellausgangsdiagramm die Optionen Options > 5 step ahead predicted output aus.

Aus dem folgenden Modellausgangsdiagramm wird ersichtlich, dass der vorhergesagte Modellausgang von P2DUe2 (mit einem Rauschmodell zweiter Ordnung) besser ist als der vorhergesagte Ausgang der beiden anderen Modelle (ohne Rauschen bzw. mit einem Rauschmodell erster Ordnung).

Vergleichen der Residuenanalysediagramme.  Zum Generieren des Residuenanalysediagramms aktivieren Sie in der App „System Identification“ das Kontrollkästchen Model resids. Wenn das Diagramm leer ist, klicken Sie im Fenster der App „System Identification“ auf die Modellsymbole, um diese Modelle im Diagramm anzuzeigen.

P2DUe2 liegt ausreichend innerhalb der Konfidenzgrenzen im Residuenanalysediagramm.

Wenn Residuen nur für P2DUe2 angezeigt werden sollen, entfernen Sie die Modelle P2DU und P2DUe1 aus dem Residuenanalysediagramm, indem Sie in der App „System Identification“ auf die entsprechenden Symbole klicken.

Das Residuenanalysediagramm wird aktualisiert, wie in der folgenden Abbildung dargestellt.

Der Test auf weißes Rauschen für P2DUe2 zeigt, dass die Residuen unkorreliert sind, und der Unabhängigkeitstest zeigt, dass zwischen den Residuen und den Eingängen keine Korrelation vorliegt. Diese Tests weisen darauf hin, dass P2DUe2 ein gutes Modell ist.

Anzeigen von Modellparametern

Anzeigen von Modellparameterwerten

Zum Anzeigen der numerischen Parameterwerte und weiterer Informationen des Modells P2DUe2 klicken Sie in der App „System Identification“ mit der rechten Maustaste auf das Modellsymbol. Das Dialogfenster „Data/model Info“ wird geöffnet.

Im nicht editierbaren Bereich des Dialogfensters sind die Modellkoeffizienten aufgelistet, die der folgenden Modellstruktur entsprechen:

G(s)=K(1+2ξTws+Tw2s2)eTds

Die Koeffizienten stimmen mit dem Modell überein, das zum Simulieren der Daten verwendet wurde:

G(s)=11+0.2s+s2e2s

Anzeigen von Parameterunsicherheiten

Zum Anzeigen von Parameterunsicherheiten für die Systemtransferfunktion klicken Sie im Dialogfenster „Data/model Info“ auf Present (Anzeigen) und zeigen Sie die Informationen im MATLAB-Befehlsfenster an.

Kp = 0.99821 +/- 0.019982
Tw = 0.99987 +/- 0.0037697
Zeta = 0.10828 +/- 0.0042304
Td = 2.004 +/- 0.0029717   

Die Unsicherheit (Standardabweichung 1) für jeden Modellparameter folgt dem Symbol +/-.

P2DUe2 umfasst auch einen additiven Rauschausdruck, wobei H ein ARMA-Modell zweiter Ordnung und e weißes Rauschen ist:

H=CDe

Die Software zeigt das Rauschmodell H als Verhältnis zweier Polynome, C(s)/D(s), an. Dabei gilt:

 C(s) = s^2 + 2.186 (+/- 0.08467) s + 1.089 (+/- 0.07951)
 D(s) = s^2 + 0.2561 (+/- 0.09044) s + 0.5969 (+/- 0.3046)

Die Unsicherheit von 1 Standardabweichung für die Modellparameter wird in Klammern neben den einzelnen Parameterwerten angegeben.

Exportieren des Modells in den MATLAB-Arbeitsbereich

Sie können im MATLAB-Arbeitsbereich weitere Analysen für Ihre geschätzten Modelle durchführen. Handelt es sich bei dem Modell beispielsweise um eine Anlage, die eine Steuerung benötigt, können Sie das Modell aus dem MATLAB-Arbeitsbereich in das Produkt Control System Toolbox™ importieren. Wenn Sie Ihr Modell zudem in der Software Simulink simulieren möchten (vielleicht als Teil eines größeren dynamischen Systems), können Sie dieses Modell als Simulink-Block importieren.

Die Modelle, die Sie in der App „System Identification“ erstellen, stehen nicht automatisch im MATLAB-Arbeitsbereich zur Verfügung. Wenn ein Modell für andere Toolboxen sowie für die Befehle von Simulink und System Identification Toolbox verfügbar sein soll, müssen Sie das Modell aus der App „System Identification“ in den MATLAB-Arbeitsbereich exportieren.

Zum Exportieren des Modells P2DUe2 ziehen Sie das Modellsymbol auf das Rechteck To Workspace in der App „System Identification“. Klicken Sie alternativ im Dialogfenster „Data/model Info“ auf Export. Jetzt wird das Modell im Browser des MATLAB-Arbeitsbereichs angezeigt.

Hinweis

Bei diesem Modell handelt es sich um ein idproc-Modellobjekt.

Simulieren eines Modells der System Identification Toolbox in der Software Simulink

Voraussetzung für dieses Tutorial

In diesem Tutorial erstellen Sie ein einfaches Simulink-Modell, das Blöcke aus der System Identification Toolbox-Bibliothek verwendet, um die Daten z und das Modell P2DUe2 in Simulink zu importieren.

Zum Ausführen der Schritte in diesem Tutorial muss Simulink auf Ihrem Computer installiert sein.

Außerdem müssen Sie die folgenden Schritte bereits ausgeführt haben:

Falls Sie diese Schritte noch ausführen müssen, klicken Sie hier. Anschließend ziehen Sie die Symbole z und P2DUe2 auf das Rechteck To Workspace in der App „System Identification“. Klicken Sie alternativ im Dialogfenster „Data/model Info“ auf Export. Die Daten und das Modell werden jetzt im Browser des MATLAB-Arbeitsbereichs angezeigt.

Vorbereiten der Eingangsdaten

Verwenden Sie den Eingangskanal des Datensatzes z als Eingang für die Simulation des Modellausgangs, indem Sie Folgendes in das MATLAB-Befehlsfenster eingeben:

z_input = z;    % Creates a new iddata object.
z_input.y = []; % Sets the output channel
               % to empty.

Alternativ können Sie ein beliebiges Eingangssignal angeben.

Weitere Informationen.  Weitere Informationen zum Darstellen von Datensignalen für die Systemidentifikation finden Sie unter Representing Data in MATLAB Workspace.

Erstellen des Simulink-Modells

So fügen Sie einem Simulink-Modell Blöcke hinzu:

  1. Klicken Sie auf der Registerkarte MATLAB Home auf Simulink.

  2. Klicken Sie auf der Simulink-Startseite auf Blank Model (Leeres Modell). Anschließend klicken Sie auf Create Model (Modell erstellen), um ein neues Modellfenster zu öffnen.

  3. Klicken Sie im Simulink-Modellfenster auf , um den Library Browser (Bibliotheksbrowser) zu öffnen. Wählen Sie im Bibliotheksbrowser die System Identification Toolbox-Bibliothek aus. Auf der rechten Seite des Fensters werden spezielle Blöcke für das Produkt System Identification Toolbox angezeigt.

    Tipp

    Geben Sie alternativ den Befehl slident im MATLAB-Befehlsfenster ein, um auf die Blockbibliothek der App „System Identification“ zuzugreifen.

  4. Ziehen Sie die folgenden System Identification Toolbox-Blöcke in das neue Modellfenster:

    • Block „IDDATA Sink“

    • Block „IDDATA Source“

    • Modellblock „IDMODEL“

  5. Wählen Sie im Simulink-Bibliotheksbrowser die Bibliothek Simulink > Sinks aus und ziehen Sie den Block „Scope“ in das neue Modellfenster.

  6. Verbinden Sie im Simulink-Modellfenster die Blöcke so, dass das Ergebnis in etwa wie in der folgenden Abbildung aussieht.

Als Nächstes konfigurieren Sie diese Blöcke, um Daten aus dem MATLAB-Arbeitsbereich abzurufen und das Zeitintervall und die Dauer der Simulation festzulegen.

Konfigurieren von Blöcken und Simulationsparametern

Diese Anweisungen führen Sie durch die folgenden Aufgaben zum Konfigurieren der Modellblöcke:

  • Abrufen von Daten aus dem MATLAB-Arbeitsbereich.

  • Festlegen des Zeitintervalls und der Dauer der Simulation.

  1. Wählen Sie im Simulink-Editor die Optionen Modeling > Model Settings > Model Settings Ctrl+E (Modellierung > Modelleinstellungen > Modelleinstellungen Strg+E) aus.

  2. Geben Sie im Dialogfenster „Configuration Parameters“ (Konfigurationsparameter) im Teilfensterbereich Solver in das Feld Stop time (Stoppzeit) den Wert 200 ein. Klicken Sie auf OK.

    Mit diesem Wert wird die Dauer der Simulation auf 200 Sekunden festgelegt.

  3. Doppelklicken Sie auf den Block „Iddata Source“, um die Parameter für den Block „Source“ (Quelle) zu öffnen: Dialogfenster „Iddata Source“. Geben Sie anschließend den folgenden Variablennamen in das Feld IDDATA object ein:

    z_input

    Diese Variable ist das Datenobjekt im MATLAB-Arbeitsbereich, das die Eingangsdaten enthält.

    Tipp

    Schneller geht es, wenn Sie den Variablennamen per Drag and Drop aus dem Browser des MATLAB-Arbeitsbereichs in das Feld IDDATA object ziehen.

    Klicken Sie auf OK.

  4. Doppelklicken Sie auf den Block „Idmodel“, um die Funktionsblockparameter zu öffnen: Dialogfenster „Idmodel“.

    1. Geben Sie den folgenden Variablennamen in das Feld Model variable ein:

      P2DUe2

      Diese Variable stellt den Namen des Modells im MATLAB-Arbeitsbereich dar.

    2. Deaktivieren Sie das Kontrollkästchen Add noise (Rauschen hinzufügen), um Rauschen aus der Simulation auszuschließen. Klicken Sie auf OK.

      Wenn Add noise ausgewählt ist, leitet Simulink die Rauschamplitude von der Eigenschaft NoiseVariance des Modells ab und fügt dem Modell entsprechendes Rauschen hinzu. Die Simulation propagiert dieses Rauschen entsprechend zum Rauschmodell H, das mit den Systemdynamiken geschätzt wurde:

      H=CDe

    Klicken Sie auf OK.

  5. Doppelklicken Sie auf den Block „Iddata Sink“, um die Parameter für den Block „Sink“ (Senke) zu öffnen: Dialogfenster „Iddata Sink“. Geben Sie den folgenden Variablennamen in das Feld IDDATA Name ein:

    z_sim_out

  6. Geben Sie 1 in das Feld Sample Time (sec.) (Abtastzeit (s)) ein, um die Abtastzeit für die Ausgangsdaten so festzulegen, dass sie der Abtastzeit der Eingangsdaten entspricht.

    Klicken Sie auf OK.

Die daraus resultierende Änderung am Simulink-Modell ist in der folgenden Abbildung dargestellt.

Ausführen der Simulation

  1. Wählen Sie im Simulink-Editor die Optionen Simulation > Run (Simulation > Ausführen) aus.

  2. Doppelklicken Sie auf den Block „Scope“, um das Zeitdiagramm des Modellausgangs anzuzeigen.

  3. Beachten Sie im Browser des MATLAB-Arbeitsbereichs die Variable z_sim_out, die den Modellausgang als iddata-Objekt speichert. Diesen Variablennamen haben Sie beim Konfigurieren des Blocks „Iddata Sink“ angegeben.

    Diese Variable speichert den simulierten Ausgang des Modells und steht jetzt zur weiteren Verarbeitung und Untersuchung zur Verfügung.

Verwandte Themen