|
|
Matlab Variable in Simulink verwenden |
|
wuddy |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 22.04.2010, 09:09
Titel: Matlab Variable in Simulink verwenden
|
|
Hallo zusammen,
ich habe folgendes Problem. Mit Hilfe des unten angeführten Codes erzeuge ich mit ein Array, dass 196 Messwerte eines 1,2kH Sinus enthält. Diese Werte möchte ich nun mit Simulik weiter bearbeiten. Mit Hilfe des "From Workspace" Blocks kann ich zwar darauf zugreifen, wenn ich diese aber dann direkt auf ein Scope ausgebe, wird jeder einzelne Messwert als Konstante dargestellt. Wo ist dabei der Denkfehler bzw das Problem?
|
|
|
|
|
LuizAranha |
Forum-Anfänger
|
|
Beiträge: 39
|
|
|
|
Anmeldedatum: 26.03.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 22.04.2010, 09:23
Titel:
|
|
Hi wuddy,
lass mich raten : der Zeitabstand is pi/196. Wenn du Werte vom Workspace nach Simulink schaufelst, sind das diskrete Werte, und keine kontinuierlichen.
Wenn du 196 Werte berechnest, dann bekommst du 196 "Konstanten", da jedes "normale" Ergebnis nur eine Lösung hat, und die ist konstant.
Warum willst du den Sinus nicht einfach in nem Source Block realisieren.
Brauchst du diese diskreten Werte?
|
|
|
Gast |
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 22.04.2010, 09:27
Titel:
|
|
ja leider brauch ich die diskreten werte, da es später auf einem FPGA laufen soll und daist es nunmal einfacher als es über einen oszilator laufen zu lassen.
|
|
|
LuizAranha |
Forum-Anfänger
|
|
Beiträge: 39
|
|
|
|
Anmeldedatum: 26.03.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 22.04.2010, 09:31
Titel:
|
|
Könntest du vllt etwas genauer werden, nen Sinus diskrete kann man auch mit ner Source und Samplge Time realsieren
|
|
|
Gast |
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 22.04.2010, 09:32
Titel:
|
|
Das mit den 196 Werten war einfach mal wild ins Blaue geschossen. Brauch nen Sinus mit 1200H und der hat sich eben bei 196 Werten relativ sauber darstellen lassen. Da ich das später eh zyklich brauch hab ich mal nen Raum von 0 bis 2PI vorgegeben.
|
|
|
Gast |
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 22.04.2010, 09:35
Titel:
|
|
Sagen wir einfach so die Lookup Table ist Vorgabe. Wir hatten die Idee eben 196 Werte einer 1200H Sinusschwinung in einer Tabelle zu speichern auf diese wir dann mit unterschiedlichen zeiten zugreifen.
|
|
|
LuizAranha |
Forum-Anfänger
|
|
Beiträge: 39
|
|
|
|
Anmeldedatum: 26.03.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 22.04.2010, 09:39
Titel:
|
|
Wuddy, du solltest dein Problem definieren. Du kommst von einem diskreten Sinus, den du verwenden willst, jetzt auf eine Look Up Tabelle,
Ich nehme an, den Look Up table aus Performance Gründen?
Für ne PWM?
Statt Look Table eventuell ein mat file??
Du hat ja diskrete Werte, Look Up Table wäre mehr für Interpolation gedacht. Aber bei reinen diskreten werte kannst du auch ein Matfile auslesen
|
|
|
Gast |
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 22.04.2010, 09:45
Titel:
|
|
Das ganze soll am Ende ein BFSK Modem werden, das auf einem FPGA laufen soll. Da kann man dann die Werte im Speicher ablegen und mit unterschiedlichen Zeiten auslesen, je nachdem Welcher Signalzustand vorliegt. Zuvor soll das ganze aber ersteinmal mit Simulink laufen. Den Modulator hatte ich zuerst mit 2 Sinus Generatoren realisiert. Jetzt soll das ganze aber mit einer Tabelle, bestehend aus den diskreten Werten umgesetzt werden. Wäre möglich das ich in diesem Zusammenhag den Begriff Lookup Table falsch interpretiert habe. Hoffe mal es wurde jetzt etwas klarer.
|
|
|
LuizAranha |
Forum-Anfänger
|
|
Beiträge: 39
|
|
|
|
Anmeldedatum: 26.03.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 22.04.2010, 09:49
Titel:
|
|
Also bietet sich z.B. ein MAt file an, in dem kannst du Variablen speichern. Frägt sich allerdings was du mit Simulink anstellen willst, wenn du nur diskrete Sinuse in Tabellen einlesen willst .
hääääääääääääääääääääääääääääääääää
im Editor könntest du auch mit 'uitable' arbeiten.
|
|
|
wuddy |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 22.04.2010, 10:06
Titel:
|
|
Ich wollte eichfach erst einmal die diskreten Werte in ein Array schreiben und diese dann mittels Simulink auslesen um dann weiter zu verfahren. Mit ist durchaus bewusst, dass diese Variante nicht die optimale Lösung für ein Simulink Modell ist aber das stellt ja auch nur einen kleineren Part dar. Idee war es herauszufinden ob sich die Frequenz verdoppelt, wenn ich mit einer doppelt so schnellen zeit das Array auslese und so mein FSK Modulator erzeugen kann.
|
|
|
LuizAranha |
Forum-Anfänger
|
|
Beiträge: 39
|
|
|
|
Anmeldedatum: 26.03.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 22.04.2010, 10:14
Titel:
|
|
Ok ...... dann importier die Daten aus dem Workspace, dabei musst du aber beachten, bei den Simulationseinstellung eine Fixed step time einstellen, diese Steptime muss dann die Schrittweite der Auflösung deines Sinuses bekommen.
Spielst du auch so Doppelkopf wie du simulierst?
|
|
|
wuddy |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 22.04.2010, 10:25
Titel:
|
|
Sorry kann dir da nicht so ganz folgen. In Matlab oder Simulink interpolieren? Bzw. welcher Block könnte das?
|
|
|
LuizAranha |
Forum-Anfänger
|
|
Beiträge: 39
|
|
|
|
Anmeldedatum: 26.03.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 22.04.2010, 11:05
Titel:
|
|
Das könnte ein Look Up Table...... bei es wäre schwachsinnig, wenn du ein Signal diskrete vorliegen hast, in eine Tabelle schreibst, und dann wieder interpolierst, ich dachte der FPGA schaut in zeitdiskreten abständen in die Tabelle, und sucht sich dann den wert raus, den er sonst berechnen müsste?
|
|
|
wuddy |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 22.04.2010, 11:16
Titel:
|
|
Also ichhab es jetzt via Mat-File gemacht und kann die werte jetzt auslesen imt mit einem Scope Block darstellen. Wobei es im Vergleich mit der "Sine Block" Variante echt hässlich ist.
Ja für den FPGA trifft das auch zu., da es da wesentlich leichter umzusetzten ist. Habe leider keine Ahnung wie ich das in Simulink umsetzten soll. Werde aus diesem grund für die Simulation auch weiterin die Variante mit den zwei Sinusgeneratoren benutzen und die Sache mit der Tabelle dann erst auf dem FPGA umsetzen.
|
|
|
|
|
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.
|
|