WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Bodpeplot von einem Zustandsraummodell aus Zeitdaten

 

Sascha

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 31.08.2014, 11:42     Titel: Bodpeplot von einem Zustandsraummodell aus Zeitdaten
  Antworten mit Zitat      
Hallo, ich bin neu hier und habe gleichmal eine Frage wo ich Fachlich einfach nicht weiterkomme.
Wie Ihr oben lesen könnt, habe ich zeitlich aufgenommene Daten von einem Inputsignal und einem Outputsignal. Dazwischen befindet sich jetzt das zu untersuchende System. Ich will das Frequenzverhalten des Systems überprüfen, habe dazu auch schon viel mit Fourier probiert, wobei es mir hier wirklich um den unten angeführten Code geht nicht um den Weg über die Fouriertransformation. Der Code beschreibt das System mittels Bodediagramm im FREQUENZBEREICH ganz gut. Die Frage ist nur warum?

Zeitlich aufgenommende Daten in iddata gespeichert, liefert mir dennoch ein Frequenzspektrum?

Wo findet da die transformation in den Frequenzbereich statt? Welche ja augenscheinlich stattfinden muss da ich ein wunderschönes Bodediagramm bekomme?

Ich bedanke mich für eure Hilfe.


Code:

figure(1)
Input = data(:,2);                                           % Messpunkte
Output = data(:,3);                                        % Messpunkte
Ts = 0.0002;                                                 % Samplingtime
dataaaa = iddata(Impuls,Antwort,Ts);
nx = 1:10;                                                    % Auswahl aus ident
sys = ssest(dataaaa,nx);
bode(sys)
 


Epfi
Forum-Meister

Forum-Meister



Beiträge: 1.134
Anmeldedatum: 08.01.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 31.08.2014, 12:30     Titel: Re: Bodpeplot von einem Zustandsraummodell aus Zeitdaten
  Antworten mit Zitat      
Sascha hat Folgendes geschrieben:
Wo findet da die transformation in den Frequenzbereich statt?


Nirgends. :)

Das Skript nimmt die Eingangs- und Ausgangswerte und versucht daraus ein Modell zu berechnen, das sich so verhält, dass es bei diesem Eingangssignal genau dieses Ausgangssignal berechnet. Das Bode-Diagramm, dass Dir angezeigt wird ist das Bodediagramm des so berechneten Modells und hat mit Deinen Daten gar nichts mehr zu tun.

Siehe auch: http://www.mathworks.de/de/help/ident/ref/ssest.html
Private Nachricht senden Benutzer-Profile anzeigen
 
Sascha

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 31.08.2014, 14:04     Titel:
  Antworten mit Zitat      
Hi,

Danke für deine Antwort.

Also wenn ich das richtig verstehe, ist das Bodediagramm auf jeden Fall korrekt? Und es ist egal ob ich mir das Modell im Zeitbereich oder im Frequenzbereich durch ein Bodeblot ausgeben lass?
Da ich ja mit meinen Eingangs und Ausgangsdaten mit Fourier usw. mir ja auch nur eine Transferfunktion bilden lassen würde, welche auch nur das Modell von meinen Eingangs und Ausgangsdaten im Frequenzbereich abbildet.
 
Epfi
Forum-Meister

Forum-Meister



Beiträge: 1.134
Anmeldedatum: 08.01.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 31.08.2014, 14:25     Titel:
  Antworten mit Zitat      
Naja, ob es korrekt ist, weiß erst mal nur der Wind, da Matlab ja passend zu Deinen Messwerten sich ein Modell ausgedacht hat, das dem Eingangs-Ausgangs-Verhalten von Deinen Messwerten entspricht. Wenn das Eingangssignal doof gewählt ist (enthält zum Beispiel nur einen Sinus mit einer Frequenz) kann Matlab daraus nicht das Verhalten bei anderen Frequenzen orakeln.

Aber auch bei sinnvollen Eingangsfunktionen sind solche geschätzten Modelle nie 100% exakt und entsprechend ist auch das Bode-Diagramm nicht ganz richtig. Es kommt auch sehr darauf an, ob die Modellordnung halbwegs richtig vorgegeben wird (bei Dir ist die Ordnug nx=1:10, das heißt, dass Dir Dein Skript ein Fenster präsentieren müsste, wo Du die Modellordnung zwischen 1 und 10 wählen kannst).

Ob ssest() das gleiche rausbekommt, wie wenn Du das Modell "von Hand" bestimmst, musst Du wohl ausprobieren. Aber es sollte ungefähr in der gleichen Richtung liegen.
Private Nachricht senden Benutzer-Profile anzeigen
 
Sascha

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 31.08.2014, 16:09     Titel:
  Antworten mit Zitat      
Also erstmal herzlich Dank dir, ich hätt ja nicht gedacht das mir so schnell geholfen wird, aber sa sieht man es wieder mal, manchmal ist eine direktre Frage einfach besser als sich in der Seenlandschafft Google umherzutreiben Smile.
Die Ergebnisse passen wunderbar zu Refernzerbenissen, also sind die Eingangswerte schon gut gewählt.

Danke dir nochmal und schönen Sonntag noch
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

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.