|
|
| Gast_des_Forums |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 28.09.2011, 07:27
Titel: Rechtecksignale
|
 |
Hallo Forumgemeinde,
ich habe viele Messkanäle in einer Messung, die über den CAN aufgenommen wurden sind. Auf dem CAN werden die Botschaften je nach Priorität und Auslastung gesendet. Nun muss ich die Signale auf eine gemeinsame Zeitbasis bringen. Bei den meisten Signalen benutze ich den interp1 Befehl mit der spline Methode dafür. Bei einigen Signalen kann ich diesen Befehl jedoch nicht verwenden, da die Daten zu unregelmaßig gesendet werden. Hier möchte ich gerne Signalwerte solange konstant lassen, bis sich der Wert ändert. Bisher löse ich die so.
Nun sind meine Messungen mehrere Stunden lang und diese Lösung ist etwas langsam. Deshalb meine Frage, gibt es eine bessere und schnellere Lösung für mein Problem? Über Hinweise und Anregungen freue ich mich.
MfG
|
|
|
|
|
|
| Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 28.09.2011, 10:40
Titel: Re: Rechtecksignale
|
 |
Hallo Gast_des_Forums,
Die langen Namen der Variablen machen das Lesen für mich sehr schwierig.
Kannst Du nochmal knapp beschreiben, wie die Inputs und Outputs aussehen? Ein kleines Beispiel mit z.B. 6 Punkten könnte auch hilfreich sein.
Dann nehmen ich an, gibt es ein sehr einfache Interpolationsmethode, bei der nicht der "nearest" (siehe INTERP1), sondern der "previous" Wert benutzt wird. Dies wäre dann auch deutlich schneller als das gemütliche INTERP1.
Gruß, Jan
|
|
|
|
| Gast_des_Forums |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 28.09.2011, 11:56
Titel:
|
 |
Hi,
hier ein kleines Beispiel:
Ich wünsche es mir, dass es eine einfache Interpolationmethode geben würde (sicherlich gibt es). Hatte mal google bemüht, aber wenn man den Befehlsnamen nicht genau weiss, ist die Suche etwas schwierig. Um nicht unnötig Zeitzuverlieren habe ih es halt erstmal so gelöst.
MfG
|
|
|
|
| Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 28.09.2011, 15:07
Titel:
|
 |
Hallo Gast_des_Forums,
Dein Code enthält einiges Bugs. Es wäre hilfreich, wenn Du ihn vor dem Posten testen würdest.
Zudem springt Y_Interpoliert schon einen Index früher auf den neuen Wert, als die Werte in den Original-Daten auftreten. Ist das beabsichtigt?
Eine effiziente Standard-Methode zur Interpolation, die den vorhergehenden Messwert benutzt:
Gruß, Jan
|
|
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
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
| RSS
Hosted by:
Copyright © 2007 - 2025
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.
|
|