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

Differentieren mit Simulink

 

LosTk
Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 21.05.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.06.2010, 16:44     Titel: Differentieren mit Simulink
  Antworten mit Zitat      
Hallo liebe Matlab-Freunde,

ich habe ein großes Problem welches mich langsam zur Verzweiflung bringt.

Ich habe eine Variable im Workspace. Diese besteht aus einer Zeitleiste und den Werten. Bsp.: Drehzahl <115880x2 double>
Die zeitsignale sind nicht exakt äquidistant, da es sich um ein real aufgezeichnetes Messsignal handelt.
Wenn ich dieses Signal nun durch den du/dt-Block jage und wieder in den Workspace schicke, so wird zwar ein Signal erstellt, welches auch die Ableitung ist, allerdings hat dieses dann ein zeitliches Offset und ich erhalte quasi ein verschobenes Signal.#
Hat jemand eine Idee woher das kommen kann. Hängt das mit den Simulationseinstellungen zusammen? Habe als Maximum-Step-Size den größten Abstand zweier benachbarter Zeitsignale die im Signal vorkommt eingestellt.
Ich würde gerne auf Anhieb das richtige Signal in der richtigen Zeit erhalten, ohne hinterher irgendwie das Signal wieder "hinpfuschen" zu müssen.


Vielen Dank für eure Ideen

verschoben.jpg
 Beschreibung:
Verschiebung zeigt das grüne Drehzahlsignal und die blaue Ableitung. Ableitung steigt lang bevor grün das erste mal zuckt.

Download
 Dateiname:  verschoben.jpg
 Dateigröße:  23.58 KB
 Heruntergeladen:  596 mal
Private Nachricht senden Benutzer-Profile anzeigen


Epfi
Forum-Meister

Forum-Meister



Beiträge: 1.134
Anmeldedatum: 08.01.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.06.2010, 22:42     Titel:
  Antworten mit Zitat      
Womit zeichnest Du denn auf, dass die Messung nicht mit konstanter Frequenz stattfindet? Das ist doch viel komplizierter umzusetzen, als mit konstanter Frequenz...

Die Ableitung kann nicht nur sehr groß werden, wenn die Wertänderung groß ist, sondern auch, wenn der Zeitschritt zwischen zwei Punkten sehr, sehr klein ist. Eventuell ist das bei dem großen Peak vorne ja der Fall.

Kannste deine Messwerte mal als .mat oder .csv anhängen?
Private Nachricht senden Benutzer-Profile anzeigen
 
LosTk
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 21.05.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.06.2010, 09:07     Titel:
  Antworten mit Zitat      
So anbei habe ich mal das Signal hochgeladen und das Bild meiner Strecke. Die Daten werden über ein Bussystem eingelesen, deshalb gibt es minimale Abweichungen in der Zeitschiene.

Ja also ich bekomm es irgendwie nicht so auf die Reihe, vlt kann ja jemand der es korrekt hinbekommt seine simopts posten? Also so mit Solver, Max-Step-Size etc...

drehzahl.mat.zip
 Beschreibung:

Download
 Dateiname:  drehzahl.mat.zip
 Dateigröße:  538.45 KB
 Heruntergeladen:  469 mal
Strecke.jpg
 Beschreibung:

Download
 Dateiname:  Strecke.jpg
 Dateigröße:  12.93 KB
 Heruntergeladen:  590 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Longplayer
Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 11.03.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.06.2010, 13:20     Titel:
  Antworten mit Zitat      
Warum machst Du das in Simulink?

Es gibt doch auch den
diff() oder gradient() Befehl für die Komandozeile.

Code:


Ursachen für das Verhalten könnten u.A sein:
- interpolate Data Häckchen im fromWorkspace
- Solvereinstellung, zu große Schrittweite (versuch mal ode45 mit tmax = kleinsteAbtastzeit)

Abgesehen vom ersten Peak scheint mir das berechnete Beschleunigungssignal eh völlig informationsfrei zu sein, da es viel zu verrauscht ist.
Schon mal über eine Vorfilterung nachgedacht?[/code]
Private Nachricht senden Benutzer-Profile anzeigen
 
Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 22.06.2010, 15:04     Titel:
  Antworten mit Zitat      
Zusätzlich zur Frage "warum Simulink?" Was ist die Applikation/Aufgabe. Generell ist aus numerischen Gründen vom DIFF Block abzuraten.

Andreas
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
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.