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

Daten Envelope

 

rmuenzbe
Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 27.01.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.01.2015, 23:16     Titel: Daten Envelope
  Antworten mit Zitat      
Hallo an Alle,

ich stecke derzeit noch in den Anfängen mit Simulink, entschuldigt deshalb meine vermeintlich "einfach" Frage.

Ich habe ein Simulink Model erstellt welches via UDP Daten bekommt, ausliest und anschließend umwandelt mit dem Byte Unpack in meines erachtens 'single' values. Die Daten haben eine Range von -1 bis +1. Und es wird 10x pro Sekunde ein Wert registriert, der anders ist als 0, damit meine ich, dass in der Zwischenzeit wo Matlab keinen Wert bekommt automatisch der Wert 0 angenommen wird.
Wenn ich dass nun plotte auf einem Scope bekomme ich ein gutes Signal, welches allerdings immer von bsp-weise 0.6 auf 0, dann wieder 0.5 und wieder 0 hin und her springt.
Ich möchte aber eine Ausgabe haben die den Wert der angekommen ist speichert und solange behält und anzeigt bis der nächste Wert registriert wird, dann soll dieser widerum gespeichert werden usw. Damit dürfte auf dem Scope kein Sprung mehr immer wieder zur 0 sondern eher eine Art Treppenstufen-Verlauf entstehen.

Ich habe nun schon mit der Matlab Fcn, delays und hold Blöcken probiert aber leider funktioniert das nicht wie gewollt. Auch das ewige Suchen und Stichworte wie persistent, envelope etc. haben mir nicht weiter geholfen. (Ich denke letzteres könnte aber funktionieren, weis nur nicht wie.)

Wer kann mir weiterhelfen?

Besten Dank im Vorraus
rmuenzbe
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 28.01.2015, 09:57     Titel:
  Antworten mit Zitat      
Hallo,

ich würde ein enabled Subsystem dafür verwenden. Das Eingangssignal durchschicken und als Steuersignal auch das Eingangssignal verwenden, und den Output halten (siehe Anhang).
Sollte dein Signal auch negative Werte liefern, sollte das Steuersignal auf Ungleichheit mit 0 getestet werden.

Grüße,
Harald

eliminateZeros.slx
 Beschreibung:

Download
 Dateiname:  eliminateZeros.slx
 Dateigröße:  13.67 KB
 Heruntergeladen:  308 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
rmuenzbe
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 27.01.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.01.2015, 12:12     Titel:
  Antworten mit Zitat      
Vielen Dank,

ich habe das eben ausgetestet, jedoch ist mein Ausgangssignal, egal wo ich es ansetzte das gleiche wie vorher. Ich habe im Anhang die Datei zum besseren Verständnis meiner Frage angehangen.
Innerhalb des Subsystems1 sollten alle Werte gleich verändert werden (dort herrscht etwas Chaos, weil ich beim speichern verschiedenes ausprobiert hatte).
Und ja, die Input werte schwanken zwischen -1 und +1 , können also auch negativ sein.

Greets
Richard

receive_udp_1.slx
 Beschreibung:

Download
 Dateiname:  receive_udp_1.slx
 Dateigröße:  21.29 KB
 Heruntergeladen:  298 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 28.01.2015, 14:17     Titel:
  Antworten mit Zitat      
Hallo,

du verwendest kein enabled Subsystem, wie ich es vorgeschlagen habe.
Was meinst du mit "alle gleich verändert werden"?

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
rmuenzbe
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 27.01.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.01.2015, 14:26     Titel:
  Antworten mit Zitat      
Ja da hast du recht, es ist eine ältere Version der Datei (diese war nur zum Verständnis gedacht).

Mit "alle gleich verändert" meine ich, dass sämtliche Eingangssignale auf diese Art und Weise korrigiert werden sollen.

Da in meinem Fall auch negative Werte ankommen habe ich, nach deinem Vorschlag, auch ein Compare to Zero mit Ungleichheit eingesetzt.

Ahh.. okay, ich glaube den Fehler entdeckt zu haben. Warum auch immer deklariert er das Steuersignal zu einem 'double' und daran lag es.
Jetzt funktioniert es wie ich es gerne haben wollte!

Besten Dank für die schnelle Hilfe! Smile
Gruß Richard
Private Nachricht senden Benutzer-Profile anzeigen
 
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 - 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.