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

Warum doppelte Frequenz im generierten Sinussignal ?

 

Bane
Forum-Anfänger

Forum-Anfänger


Beiträge: 34
Anmeldedatum: 09.06.09
Wohnort: Berlin
Version: ---
     Beitrag Verfasst am: 13.06.2009, 22:07     Titel: Warum doppelte Frequenz im generierten Sinussignal ?
  Antworten mit Zitat      
Hi,
ich möchte ein Sinussignal mit linear ansteigender Frequenz generieren.
Allerding bekomme ich immer die doppelte Frequenz als vorgegeben ?!
Also in meinem Beispiel zähle ich bei gegebener Endfrequenz von 20 Hz statt knappe 20 Extrema knappe 40 Extrema in der letzten Sekunde des generierten Signals !?
Bei konstanter Frequenz klappt's ganz normal.
Wer kann mir mit dieses - wahrscheinlich triviale - Phänomen erklären?
Code:
fs = 600;                           % [Hz] Abtastfrequenz
to = 0;                             % [s] Anfangszeit
te = 60;                            % [s] Endzeit        
t  = to:1/fs:te;                    % [s] Vektor Abtastzeiten
fo = 1;                             % [Hz] Anfangsfrequenz
fe = 20;                            % [Hz] Endfrequenz
f  = fo:(fe-fo)/(length(t)-1):fe;   % [Hz] Frequenz-Vektor
sinus = sin(2*pi.*f.*t);            % Sinus-Signal

plot(t,sinus)
axis([te-1 te, -1.2 1.2])

Gruß, Bane
Private Nachricht senden Benutzer-Profile anzeigen


josekamara
Forum-Meister

Forum-Meister


Beiträge: 529
Anmeldedatum: 26.04.08
Wohnort: München
Version: ---
     Beitrag Verfasst am: 14.06.2009, 10:47     Titel:
  Antworten mit Zitat      
Schau vielleicht klappt es so:

Code:

n=length(t);
f=(1:floor(n))/(n*dt);

_________________

Simulation
Private Nachricht senden Benutzer-Profile anzeigen
 
Bane
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 34
Anmeldedatum: 09.06.09
Wohnort: Berlin
Version: ---
     Beitrag Verfasst am: 16.06.2009, 15:59     Titel:
  Antworten mit Zitat      
nee so klappt's leider auch nicht, trotzdem Danke! Der Frequenzvektor ist ja wie er sein soll. Nur das sich auf wundersame Weise die Frequenz im generierten Signal verdoppelt !? Warum ist das so? Fällt jemandem da was ein?
Private Nachricht senden Benutzer-Profile anzeigen
 
Bane
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 34
Anmeldedatum: 09.06.09
Wohnort: Berlin
Version: ---
     Beitrag Verfasst am: 30.06.2009, 23:54     Titel:
  Antworten mit Zitat      
Einmal hol' ich das Thema noch hoch.
Vielleicht fällt ja doch noch mal jemandem was dazu ein ?!
Wundert sich vielleicht wenigstens jemand darüber so wie ich?

Gruß, Bane
Private Nachricht senden Benutzer-Profile anzeigen
 
Maddy
Ehrenmitglied

Ehrenmitglied



Beiträge: 494
Anmeldedatum: 02.10.08
Wohnort: Greifswald
Version: ---
     Beitrag Verfasst am: 01.07.2009, 08:43     Titel:
  Antworten mit Zitat      
Ist schon irgendwie merkwuerdig. Ne Erklaerung habe ich jetzt nicht parat, hoechstens eine Vermutung, dass es vll mit dem Phasenversatz zusammenhaengt.
_________________

>> why
The computer did it.
Private Nachricht senden Benutzer-Profile anzeigen
 
Idefix_1024
Forum-Century

Forum-Century


Beiträge: 230
Anmeldedatum: 16.10.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.07.2009, 10:53     Titel:
  Antworten mit Zitat      
interessantes Phänomen!

ich denke man darf nicht Zeit und Frequenz zugleich variieren...

Da die Frequenz auch während einer Periodendauer ansteigt wird diese Periode durch das Voranschreiten der Zeit praktisch gestaucht. Innerhalb einer Periodendauer muß die Frequenz konstant gehalten werden, sonst tritt ein Stauchungseffekt auf. Das ist kein Matlab-Problem, sondern schlicht mathematisch zu begründen.

Leider bin ich auf die Schnelle nicht zu einer mathematischen Begründung gekommen... vielleicht grübel ich da später nochmal...
Private Nachricht senden Benutzer-Profile anzeigen
 
Hendrik_1
Forum-Anfänger

Forum-Anfänger


Beiträge: 32
Anmeldedatum: 18.06.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.10.2009, 16:28     Titel:
  Antworten mit Zitat      
ich sitze gerade vor dem selben problem. allerdings ist mein sinus in simulink. hat jemand eine idee, wie man die frequenz oder die zeit für eine periodendauer konstant halten könnte um diese stauchung zu umgehen?
anbei ist mein modell. meine frequnz steigt in 12 s bis 300. ab da ist auch die frequenz genau 300. vorher ist sie ungefähr doppelt so hoch wie sie sein sollte. hat jemand eine idee, wie das problem gelöst werden könnte?

mfg

sinus.mdl
 Beschreibung:

Download
 Dateiname:  sinus.mdl
 Dateigröße:  30.51 KB
 Heruntergeladen:  796 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Thomas84

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.10.2009, 14:01     Titel:
  Antworten mit Zitat      
ist wirklich ein mathematisches problem:

d/dt sin(alpha t) = alpha cos(alpha t)

d/dt sin(a*t*t) = 2*a*t*cos(a*t*t)

Daher kommt dann auch der Faktor 2.
 
Bane
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 34
Anmeldedatum: 09.06.09
Wohnort: Berlin
Version: ---
     Beitrag Verfasst am: 20.10.2009, 09:20     Titel:
  Antworten mit Zitat      
ok, da die Frequenz hier auch von der Zeit abhängt, bekommt man in der Ableitung den Faktor 2. Vielleicht erklärt das ja den Sachverhalt, aber mir ist nicht klar was die Ableitung damit zu tun hat ?
Private Nachricht senden Benutzer-Profile anzeigen
 
Thomas84

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.10.2009, 13:03     Titel:
  Antworten mit Zitat      
Den Zusammenhang kann man sehen wenn man eine Taylorentwicklung macht:

f = sin(g(t)) = sin( g(t0) + g'(t0) (t-t0) + O(t^2) )

die Nullstellen (d.h. nur jede zweite) sind dann bei

tn = [2*pi*n - g(t0) + t0*g'(t0) ] /g'(t0)

Eine sinnvolle Defintion der Frequenz ist sicherlich die Anzahl der Perioden je Zeiteinheit

f = delta p / delta t = (n-m)/(tn-tm) = g'(t0) / (2*pi)
 
Bane
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 34
Anmeldedatum: 09.06.09
Wohnort: Berlin
Version: ---
     Beitrag Verfasst am: 26.10.2009, 16:56     Titel:
  Antworten mit Zitat      
Hallo Thomas,

vielen Dank für Deine kurze Herleitung!
Für mich ist das Thema damit beantwortet. Smile

Schönen Gruß, Bane
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.