Verfasst am: 26.08.2014, 08:41
Titel: Zwei Massen Schwinger System Identification Toolbox
Zunächst mal Hallo
ich bin neu im Forum und habe zu meiner Frage bis jetzt noch nichts gefunden deswegen Frage ich hier einfach mal.
Ich beschäfftige mich zur Zeit mit der Parameteridentifikation an einem Zwei Massen Schwinger. Dies ist für mich vollkommenes Neuland.
Da ich dieses Thema im Rahmen einer Bachelorarbeit zugewiesen bekommen habe wurde mir vorgegeben diese Parameteridentifikation mit der System Identification Toolbox zu realisieren.
Von meinem Zwei Massen Schwinger habe ich sowohl ein Eingangs als auch ein Ausgangs Signal welches ich auch bereits in die Tollbox eingefügt habe.
Mit der state space Methode erhalte ich auch Ergebnisse für meinen Zustandsraum allerdings suche ich nur einen Parameter und die ausgegebenen Werte der Toolbox passen nicht zu den vorgegebenen Parametern.
Nun zu meiner Frage:
Kann ich verschiedenen (bekannte) Parameter vorgeben damit ich dann nur die Unbekannten erhalte?
Wie gesagt für mich ist das alles Neuland weswegen ich für jeden Tipp dankbar bin.
Mit der state space Methode erhalte ich auch Ergebnisse für meinen Zustandsraum allerdings suche ich nur einen Parameter und die ausgegebenen Werte der Toolbox passen nicht zu den vorgegebenen Parametern.
Ja ich meine die Subspace Methode, habe aber auch mit der PEM Versuche unternommen.
Ich bin soweit gekommen dass ich meinen Datensatz mit Hilfe des ident tool zu einer 100% übereinstimmung bringe. (Das System also identifiziert werden kann. Habe allerdings selber keine Angaben gemacht.)
Wenn ich allerdings ein idss Modell erstelle und die PEM anwende erhalte ich keine Übereinstimmungen bzw. ich bekomme die Ausgabe:
Zitat:
Error using pem (line 103)
The loss function cannot be computed. The
initial model, if specified, may be unstable.
Consider setting estimation focus to
"stability" or "simulation".
Könnte das bedeuten, dass mein System mit den von mir angegebnen Parametern nicht identifizierbar ist?
100 % Übereinstimmung? Dann sind das aber sicherlich keine gemessenen Daten sondern "künstlich" generierte?!?
Die Fehlermeldung würde ich jetzt mal so interpretieren, dass du beim Erstellen des Modells irgendwo einen Fehler gemacht hast. Wie bist du denn an die Modellordnung bzw. Parameter gekommen? Abgeleitet aus der Physik?
Ggf. auch mal die beiden angegebenen Optionen versuchen.
Zitat:
Könnte das bedeuten, dass mein System mit den von mir angegebnen Parametern nicht identifizierbar ist?
Könnte durchaus sein. Deshalb oben die Frage nach der Entstehung des Modells.
Kannst du denn das was du bisher gemacht hast hoch laden?
Mit allen Bekannten müsste doch eine Übereinstimmung von 100% zustande kommen oder?
Aber selbst das funktioniert nicht.
Anbei habe ich eine Skizze meines Modells gehängt.
Die Werte haben sich in letzter zeit schon des öfteren geändert deswegen diese bitte nicht zu ernst nehmen.
Daraus ist meine state space modell entstanden.
Gerne hätte ich dir auch meine iddata zur verfügung gestellt weiß aber leider nicht wie ich sie hier hoch laden kann.
was bezüglich des Eingangssignals noch beachtet werden sollte, dass das System genügend angeregt wird. Auch sollte das System/Signal zu Beginn stationär sein, siehe z.B. der Befehl linmod
Zitat:
Gerne hätte ich dir auch meine iddata zur verfügung gestellt weiß aber leider nicht wie ich sie hier hoch laden kann.
Sorry das ich erst jetz Antworte hab aber zur zeit leider mehrere offene Baustellen bei meiner Arbeit.
Habe die Datei mal als zip angehängt.
Diese Daten wurden wie bereits beschrieben in Simulink mit Sim Mechanics erstellt.
Die Feder- und Dämpferkonstanten im Simulink-Modell entsprechen denen in der Bilddatei.
Das Modell wird konstant mit einem Sinus angeregt.
Das Optimierungsergebnis ist jetzt natürlich nicht optimal.
Versuche doch mal das System mit mehreren Sprüngen unterschiedlicher Sprunghöhen anzuregen. Zu Beginn sollte das System wie gesagt eingeschwungen sein.
Auch wenn du abschätzen kannst, in welchen Bereichen sich deine Parameter bewegen, solltest du dies vorab möglichst realistisch angeben. Bspw. ist bei dir ja zunächst der Eingangsmatrix null.
Wie sieht dein Zustandsraummodell aus (mit Parametern)?
mit Hilfe deines Codes ist es gelungen mein System zu fixieren.
Habe ihn dann noch etwas angepasst. Zunächst hatte ich gute Ergebnisse als noch mehrere frei Variablen waren.
Nach dem ich nur die von mir gesuchten Frei lies konnte ich nur noch Kontinuierlich und nicht mehr diskret rechnen. Außerdem sind die Ergebnisse sehr schlecht.
Habe eine Stufenanregung eingebaut.
Mit gleichem Ergebnis.
Meine Vermutung:
Mein Simulink Modell spiegelt nicht meinen Zwei Massen Schwinger richtig wieder.
Ah ok, so sollte das mit dem Zustandsraummodell passen. Hatte nur bedenken, weil du in einem vorherigen Post andere Vorzeichen hattest...
Zitat:
Meine Vermutung ist wie gesagt, dass das Modell in Simulink nicht meinen
Zwei Massenschwinger richtig abbildet.
Das kannst du ganz einfach probieren in dem du dir die obigen Matrizen nimmst, in den Simulink-Block für ein Zustandsraummodell eingibst und diese Modell parallel zum Sim Mechanics Modell schaltest. Bei gleichem Eingang (sowie Anfangszuständen) muss das Ergebnis identisch sein.
Ah Entschuldig dieser Fheler ist mir zwischenzeitlich aufgefallen hab aber vergessen es hier zu posten.
Danke für den Tipp mit dem State Space Block in Simulink.
Wusste nicht das es einen Solchen gibt.
Die Kurven sehen sich zwar ähnlich allerdings sind die Werte nicht identisch. Die Schwingung ist leicht verschoben und die Amplitude weicht um den Faktor 100 voneinander ab.
Werde das System jetzt mittels des State Space Modells simulieren.
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.