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

Sinus-Werte sehr abweichend

 

snow-man-01
Forum-Anfänger

Forum-Anfänger


Beiträge: 30
Anmeldedatum: 08.05.12
Wohnort: Düsseldorf
Version: ---
     Beitrag Verfasst am: 08.02.2015, 13:33     Titel: Sinus-Werte sehr abweichend
  Antworten mit Zitat      
Hallo,

Ich erhöhe 2 verschiedene Zahlen linear, multipliziere sie zusammen, und möchte dann den Sinus von diesem Produkt berechnen. In der Simulation berechnet der Sinus jedoch abweichende Ergebnisse.

Als Ergebnis müsste nämlich Folgendes rauskommen:

sin(6.492*649.2) = -0.9872

und nicht

sin(6.492*649.2) = -0.8725


Kann mir bitte jemand erklären, warum der Sinus sehr abweichende Werte ausspuckt?

Sinus.PNG
 Beschreibung:

Download
 Dateiname:  Sinus.PNG
 Dateigröße:  22.56 KB
 Heruntergeladen:  469 mal
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


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

eine Möglichkeit wäre ein Rundungsfehler in der Anzeige, z.B.
>> sin(6.4924*649.24)

ans =

-0.7781

Zeigt der Screenshot denn das Ende der Simulation oder hast du irgendwann zwischendrin pausiert?

Kannst ja mal das Anzeigeformat im Display-Block auf "long" stellen.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
snow-man-01
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 30
Anmeldedatum: 08.05.12
Wohnort: Düsseldorf
Version: ---
     Beitrag Verfasst am: 08.02.2015, 16:23     Titel:
  Antworten mit Zitat      
Hallo,

danke für die Antwort. Das stimmt, es waren Rundungsfehler.

Ich habe dennoch ein Problem. Ich möchte einen Sinus generieren, dessen Frequenz linear steigt. Ich dachte zunächst, dass der Sinus abweichende Werte ausgibt. Da dies doch nicht der Fall ist, frag ich mich, warum ich bei eingestellter Frequenz nicht die Frequenz beim erzeugten Sinus erhalte.

In der oberen Schleife wird die Frequenz generiert, die pro Zeitschritt (0,001 s)um 0,00001 Hz steigt. Durch die untere Schleife generiere ich die Variable t. Starte und stoppe ich die Simulation, erhalte ich die Werte und den Plot des Sinus wie im Bild zu sehen. Die erzeugte Frequenz müsste ca. 10 Hz sein. Durch Ablesen am Plot hat der erzeugte Sinus jedoch unmittelbar vor dem Stop eine Frequenz von 1/0,05 Hz = 20 Hz statt 10 Hz.

Die Abweichung von der eingestellten und der tatsächlich entstandenen Frequenz wird größer, je länger die Simulation läuft.


Weißt du oder vielleicht jemand, warum die tatsächlich eingestellte Frequenz nicht der Erzeugten ist?

Bin jeder Hilfe sehr sehr dankbar!

Sinus_Frequenz.PNG
 Beschreibung:

Download
 Dateiname:  Sinus_Frequenz.PNG
 Dateigröße:  47.84 KB
 Heruntergeladen:  502 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 08.02.2015, 16:49     Titel:
  Antworten mit Zitat      
Hallo,

wann stoppst du? Was ist die Anfangsfrequenz?
Bitte hänge doch das Modell an statt eines Screenshots davon.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
snow-man-01
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 30
Anmeldedatum: 08.05.12
Wohnort: Düsseldorf
Version: ---
     Beitrag Verfasst am: 08.02.2015, 17:09     Titel:
  Antworten mit Zitat      
Die Frequenz fängt bei 0 Hz an und steigt linear durch die obere Schleife an.

Ich stoppe die Simulation spontan, um zu schauen, ob die eingestellte, also die momentane Frequenz, der erzeugten Frequenz entspricht.

Sinus_Frequenz.mdl
 Beschreibung:

Download
 Dateiname:  Sinus_Frequenz.mdl
 Dateigröße:  33.51 KB
 Heruntergeladen:  482 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


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

wie kommst du dann auf 10 Hz?
Wenn du dich bei einer Zeit von ca. 5 Sekunden aufhältst, dann liegt der andere Eingang bei ca. 0.05, und 1/0.05 sind ja eben die 20 Hz.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
snow-man-01
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 30
Anmeldedatum: 08.05.12
Wohnort: Düsseldorf
Version: ---
     Beitrag Verfasst am: 08.02.2015, 18:21     Titel:
  Antworten mit Zitat      
Die 10 Hz entnehme ich aus der Anzeige in "momentane Frequenz". Angenommen ich stoppe die Zeit nach 5 Sekunden. Dann würde ich auf die zu erzeugende Frequenz von 0,05 Hz kommen.

Ich habe die Simulation nach ca. 100 Sekunden gestoppt. Da komm ich dann auf die zu generierende Frequenz von ca. 10 Hz hin. Im Scope zeigt der Sinus jedoch eine Frequenz von ca. 20 Hz an.

Habe die Simulationszeit auch verlängert. Ich habe gesehen dass die Abweichung der zu generierenden und tatsächlich entstandenen Frequenz immer größer wird, je länger die Simulationszeit ist. (zB statt 20 Hz werden 35 Hz generiert, statt 30 Hz werden 47 Hz generiert, usw...)
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 08.02.2015, 22:22     Titel:
  Antworten mit Zitat      
Hallo,

ich bin offen gesagt auch verwundert, allerdings ist es kein Problem von Simulink, sondern anscheinend eines der Variation der Frequenz über die Zeit.
MATLAB-Beispiel für das Zeitfenster deines Screenshots:
Code:
t = 1024.45:0.001:1024.6;
subplot(2,1,1)
f = t/100;
plot(t, sin(f*2*pi.*t))
subplot(2,1,2)
plot(t, sin(10.25*2*pi.*t))


Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
snow-man-01
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 30
Anmeldedatum: 08.05.12
Wohnort: Düsseldorf
Version: ---
     Beitrag Verfasst am: 08.02.2015, 23:11     Titel:
  Antworten mit Zitat      
Vielen vielen Dank !

Muss mir jetzt leider doch noch was ausdenken, wie ich einen Sinus-Generator mit linear steigender Frequenz erzeugen kann.
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 08.02.2015, 23:30     Titel:
  Antworten mit Zitat      
Hallo,

das dürfte helfen:
http://en.wikipedia.org/wiki/Chirp

In der Sources-Bibliothek gibt es auch den entsprechenden Block.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
snow-man-01
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 30
Anmeldedatum: 08.05.12
Wohnort: Düsseldorf
Version: ---
     Beitrag Verfasst am: 08.02.2015, 23:46     Titel:
  Antworten mit Zitat      
Hallo,


vielen Dank !!
Private Nachricht senden Benutzer-Profile anzeigen
 
snow-man-01
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 30
Anmeldedatum: 08.05.12
Wohnort: Düsseldorf
Version: ---
     Beitrag Verfasst am: 09.02.2015, 12:29     Titel:
  Antworten mit Zitat      
Hallo Harald,

wüsstest du vielleicht, wie ich das Chirp Signal um die Phase 90 Grad verschieben kann, sodass ich dann auch einen Cosinus erhalte, dessen Frequenz linear steigt?

Vielen Dank im Voraus !
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 09.02.2015, 12:39     Titel:
  Antworten mit Zitat      
Hallo,

der Chirp-Block sieht das wohl nicht vor.
Du kannst dir ja aber auch selbst das Signal erstellen, ähnlich wie du es schon gemacht hast.

Im Zweifelsfall kannst du auch unter die Maske des Chirp-Blocks schauen, die Blöcke in ein anderes Modell kopieren, und das dann entsprechend anpassen.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
snow-man-01
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 30
Anmeldedatum: 08.05.12
Wohnort: Düsseldorf
Version: ---
     Beitrag Verfasst am: 09.02.2015, 16:39     Titel:
  Antworten mit Zitat      
Hat geklappt. Vielen Dank !
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 10.02.2015, 10:46     Titel:
  Antworten mit Zitat      
Hallo,

gerade noch gesehen: in der DSP System Toolbox gibt es unter Sources einen Chirp Block, der weitere Einstellungen (z.B. eben auch Phasenverschiebung) ermöglicht.

Grüße,
Harald
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 - 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.