|
|
Variable von einer Simulation in die andere übergeben |
|
schuli18 |
Forum-Anfänger
|
|
Beiträge: 12
|
|
|
|
Anmeldedatum: 29.08.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 23.09.2011, 13:43
Titel: Variable von einer Simulation in die andere übergeben
|
|
|
|
|
Hallo,
ich bin es mal wieder und ziemlich am Ende meiner Ideen und Nerven. Es ist ziemlich dringend, da ich nächste Woche meinen Programmierteil meiner Masterarbeit abschließen will/muss....
Also ich habe ein Simulation der einen Encoder darstellt. Am Ende dieser Simulation wird ein binary Write File geschrieben und durch die Callback StopFCN ein Decoder gestartet. Ansich laufen beide Simualtionen genau so, wie ich es brauche.
Allerdings arbeite ich im int8 Wertebereich und stoße bei der Kodierung meiner Signale auf ein Problem, wenn der zu kodierende Wert -128 hat. Dieses Problem kann ich wohl nicht lösen, ohne meine komplette Kodierung umzuschreiben, was ich aus Zeitgründen nicht machen kann.
Nun war meine zweite Idee, ich frage im Encoder über eine Variable "abfangen" für jeden Sample ab, ob dieser -128 ist oder nicht. Bei einer Abtastrate von 11 kHz komme ich so auf eine Variable mit 11026 Werten. Nun würde ich diese Variable "abfangen" gerne an den Decoder übergeben, damit ich bei der Dekodierng auf die richtigen Werte komme.
"Abfangen" wird mit dem SIgnal to workspace Block in den Workspace geschrieben. Daher war meine IDee, ich lese die Variable im m.file, das den Dekoder startet, aus dem workspace aus und übergebe es durch den Befehl set_param den Wert in eine Constante, die wiederum an die embedded matlab function zum Dekodieren angeschlossen ist. Das Auslesen funktioniert, aber Der Constant Block kann meine EIngabe nicht verarbeiten. Und übergeben wird auch ein Vektor, aber ich brauche ja für jeden Sample einen seperaten Weg. Gibt es nun eine Möglichkeit die Constante in Abhängigkeit der SImulationsschritte für jeden Sample zu ändern?
Oder gibt es eine andere Möglichkeit die Variable zu übergeben?
Meine andere Idee war noch mit einem .mat file, also Variable im Encoder in .mat file schreiben und im Decoder auslesen. Allerdings stoße ich dann beid er späteren weiter Verarbeitung der Werte auf eine Fehlermeldung. Ich verwende später einen Buffer und der hat Schwierigkeiten im Coninious state zu arbeiten. Wird dieser durch das Auslesen des .mat files hervorgerufen, denn eigentlich habe ich das nciht eingestellt....
Die 3. Idee war noch direkt mit dem Block from Workspace zu arbeiten, aber da bekomme cih nicht die korrekte Bezeichung für das Feld data hin...
Ich wäre echt super dankbar, wenn ihr mir irgendwie weiter helfen könntet...
Ich arbeite mit Matlab 2010 und bin ein relativ unerfahrener Nutzer, also kenne mich nicht so im Bereich Data Import/Export und Model Explorer aus. Denn da hatte ich schon versucht mit zu arbeiten und habe nicht durch gesehen...
Das Problem mit dem Ausgeben der Variablen, wenn ich die Simulation über die Gui starte, besteht auch noch (http://www.gomatlab.de/ueber-gui-variablen-der-simulation-in-workspace-t20087.html)
Also viele Dank, wenn ihr mir helfen könnt!!!
Gruß schuli18
|
|
|
|
|
DSP |
Forum-Meister
|
|
Beiträge: 2.117
|
|
|
|
Anmeldedatum: 28.02.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2014b
|
|
|
|
|
|
Verfasst am: 26.09.2011, 09:58
Titel:
|
|
Ich verstehe nicht, warum dass mit einem Constant-Block nicht funktioniert. Wenn ich dem Block den Namen einer Variablen gebe, die im Workspace einen Wert hat, hat der Block auch in der Simulation diesen Wert. Da spielt es auch keine Rolle, ob der Wert über 'to workspace' aus einem anderen mdl-file geändert wird. Den Befehl set_param() brauchst du doch gar nicht. Was hat denn die Variable von 'to workspace' für ein Format...Array?
|
|
|
|
|
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 - 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.
|
|