|
|
Sinus und Coisnus mit variabler Frequenz |
|
Massi |
Forum-Newbie
|
|
Beiträge: 8
|
|
|
|
Anmeldedatum: 02.07.18
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 02.07.2018, 08:59
Titel: Sinus und Coisnus mit variabler Frequenz
|
|
|
|
|
Ich hatte gedacht meine gesuchte Simulink- Funktion wäre einfach, aber irgendwie klappt es nicht.
Ich möchte einfach nur eine Sinus Funktion und eine Cosinus Funktion generieren, bei welchen die Frequenzen von einem vorherigen System vorgegeben werden. Stichwort: Resolversimulation. Nun hatte ich bereits im Inet geguckt und war letztlich auf den Matlab Funktions-Block gestoßen, habe es dann eingesetzt, aber das Ergebnis ist merkwürdig. Ich habe zum Testen, ein ansteigendes und wieder absinkendes Signal vorgegeben, aber als Ergebnis steigt die Frequenz eher an den Stellen, wo die Steigung der Geraden größer wird. Im mittleren Bereich des Signals, wo ich das Signal quasi konstant lasse, geht die Frequenz sogar runter, obwohl sie doch genauso konstant bleiben sollte.
Hat jemand ne Idee wie ich das noch hinbekommen kann. Also die Frequenz soll einfach vom Signal vorgegeben werden und sich dementsprechend verhalten.
Ich habe die Datei angehangen zum selber nachschauen.
P.S.: Weiteres Problem ist die Stetigkeit: Die beiden Verläufe haben an den Stellen wo die Frequenz geändert wird, teilweise Abbrüche in den Verläufe. Zudem passt eine weitere Sache nicht. Wenn ich das Eingangssignal für die beiden SinCos Signale zu null werden lasse, werden zwar richtigerweise konstante Signale für beide Verläufe ausgegeben, aber der Wert ist immer der selbe. Egal zu welchem Zeitpunkt ich das Signal 0 reinfließen lasse. Diese müsste aber eher an unterschiedlichen Stellen "stehen" bleiben. Ich hoffe das ist verständlich.
Beschreibung: |
|
Download |
Dateiname: |
Resolversimulator.slx |
Dateigröße: |
25.92 KB |
Heruntergeladen: |
386 mal |
|
|
|
|
|
Andreas Goser |
Forum-Meister
|
|
Beiträge: 3.654
|
|
|
|
Anmeldedatum: 04.12.08
|
|
|
|
Wohnort: Ismaning
|
|
|
|
Version: 1.0
|
|
|
|
|
|
Verfasst am: 02.07.2018, 10:16
Titel:
|
|
Könnte man den "Fcn" Block hernehmen? Da ist ja sowas wie
möglich?
Andreas
|
|
|
Massi |
Themenstarter
Forum-Newbie
|
|
Beiträge: 8
|
|
|
|
Anmeldedatum: 02.07.18
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 02.07.2018, 10:27
Titel:
|
|
Ich habe ja die Matlab Fcn Block benutzt, welche ja denke genauso funktioniert, wie der fcn Block. Nur arbeiten die Dinger anscheinend nicht so, wie man sich das denken würde.
Ich habe die Function y=fcn(t,f) initialisiert und dann mithilfe des Clock-Blocks die Zeit eingefügt, und dann den Wert von f mithilfe eines Signalgenerators probeweise variabel generiert. Die Funktion für den Sinus habe ich dann mit y=sin(2*pi*f*t) realisiert. Aber wie oben beschrieben, verhält sich das Ausgangssignal merkwürdig. Am besten selbst mal testen mit der obigen Datei.
|
|
|
Massi |
Themenstarter
Forum-Newbie
|
|
Beiträge: 8
|
|
|
|
Anmeldedatum: 02.07.18
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 03.07.2018, 13:17
Titel:
|
|
Anbei nochmal das ganze mit der fcn Block realisiert, wie erwartet dasselbe Ergebnis. Hat keiner eine Idee? Anbei das Eingangssignal, das Ausgangssignal sowie der Simulinkaufbau.
Beschreibung: |
|
Download |
Dateiname: |
simulink.png |
Dateigröße: |
12.16 KB |
Heruntergeladen: |
506 mal |
Beschreibung: |
|
Download |
Dateiname: |
Output.png |
Dateigröße: |
45.67 KB |
Heruntergeladen: |
421 mal |
Beschreibung: |
|
Download |
Dateiname: |
input.png |
Dateigröße: |
17.75 KB |
Heruntergeladen: |
428 mal |
|
|
|
Massi |
Themenstarter
Forum-Newbie
|
|
Beiträge: 8
|
|
|
|
Anmeldedatum: 02.07.18
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 22.08.2018, 09:46
Titel: Lösungsmöglichkeit
|
|
|
|
|
Ich hab es dann am Ende lösen können. Also der Tipp ist, die Sache anders anzugehen. Ich wollte eigentlich ja, wie gesagt, einen Sinus und Cosinus erzeugen, welche je nach Drehzahl und Drehwinkel, ihre Amplitude und Frequenz ändern. Die Lösung war dann, aus der Drehzahl den Drehwinkel zu erzeugen. Dies wird durch den Integrierblock gemacht, um gleichzeitig die sogenannte "Wrap"- Funktion zu nutzen. Ist nur bei neueren Simulink Versionen möglich (2013b hat das nicht). https://de.mathworks.com/help/simul.....ef/integratorlimited.html
Denn damit kann man dann schön den Drehwinkel genau zwischen 0 und 360° bzw. 0-2pi ständig laufen lassen. Und dann brauchte ich, weil ich genau diesen Zusammenhang gebraucht habe, daran nur ein Sin bzw. Cos Block anzuschließen, um mein benötigtes "Resolversignal" erzeugen zu können. (weiterer Zusammenhang, pro Umdrehung sollen drei Sin/Cos Signale entstehen.)
Genaugenommen, muss ich diese Signale dann noch mit der Erregerfrequenz multiplizieren, um diese amplitudenmodulierte Signale (Anhang 2) zu erhalten, aber das ist ja kein Problem.
Anbei die Signalverläufe, sowohl des ersten Schritts, als auch diese amplitudenmodulierten Signale.
Beschreibung: |
Erzeugung der "Resolverinformationssignale" |
|
Download |
Dateiname: |
Resolverinformationskanäle.png |
Dateigröße: |
65.76 KB |
Heruntergeladen: |
454 mal |
Beschreibung: |
amplitudenmodulertes Resolversignal nach Multiplikation mit Erregersignal |
|
Download |
Dateiname: |
Resolversignal Sinusspule.png |
Dateigröße: |
55.43 KB |
Heruntergeladen: |
446 mal |
|
|
|
|
|
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.
|
|