|
|
FFT Beispiel (echte Daten) |
|
leanderW |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 24.06.2013, 17:51
Titel: FFT Beispiel (echte Daten)
|
 |
Hallo, ich habe ein Problem mit der bestimmung der FFT von einem Datensatz. Der Datensatz umfasst 520 Messwerte und jeder Messwert steht für einen Monat. Jetzt ist meine Aufgabe herrauszufinden welche Periode in den Daten vorliegen. Also mein erwartetes Ergebnis soll in diesem Fall (Temperaturen) als Hauptperiode 12 Monate sein.
Ich hab das jetzt ganz analog wie im Matlab sunspot Beispiel programmiert.
http://www.mathworks.de/products/ma.....ping/matlab/sunspots.html
Mein Problem ist nun das ich das Beispiel nicht ganz verstehe. Mein Abtastvektor hat nur "ungerade" Monate ( warum nicht 1 2 3 ... ) sondern irgendwas dazwischen und wie kann man das vlt. ändern? Kann man die Abtastrate frei wählen? Kann man auch irgendwie soetwas wie die Amplitude darstellen, anstatt der Power.
|
|
|
|
|
leanderW |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 25.06.2013, 09:36
Titel:
|
 |
Ich hab mir jetzt nocheinmal gedanken gemacht und als Lösung muss man ändern:
Dann bekomme ich auch meine echte Periode von 12 raus.
|
|
|
leanderW |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 25.06.2013, 13:26
Titel:
|
 |
|
 |
|
Jetzt hab ich mich nochmal ein wenig mit dem Thema beschäftigt. Was man vlt. festhalten sollte ist folgende Erkentniss (und bitte korrigiert mich wenn ich da falsch liege)
FFT unter Matlab funktioniert im wesentlichen indem man einfach
macht. Y hat dabei die Dimension von x. Es wird bei fft von 0 bis zur nyquistfrequenz 1/(2*dt) in 1/N*df schritten abgetastet. Dabei gilt immer das Verhältnis df = 1 / dt mit df = Frequenzschritte und dt = Abtastschritte. N sind die Anzahl der Sample (Messungen). Diese sind bei gegebenen Daten nicht umbedingt frei wählbar.
Bsp: monatliche Messung der Temperatur: -> dt = 1 -> df = 1 N = 500
Nun liegt die eigentliche Schwierigkeit darin die Y Frequenzen richtig zuzuordnen. Hierzu verwende ich nun folgenden Code.
Hierbei muss man beachten, dass der diskrete Frequenzvektor von der Anzahl der Samples abhängig ist. Es wird also ein Frequenzbereich diskret mit N frequenzen abgetastet. Diese Frequenzen sind regelmäsßig aufgeteilt zwischen 0 und Fs. Ist Fs also bei einer im Zeitbereich von dt = 1 (jeden Monat ein Wert) auch gleich 1 so werden N Frequenzen zwischen 0 und 1 abgetestet. Sind nun zB 576 Monate (48 Jahre) Daten vorhanden so finde ich genau die Periode 12 (für Jährlich) da zwischen 0 und 1 genau die Frequenz f = 1/12 vorhanden ist. Bei einer anderen Samplerate zB. 500 Monate finde ich eine Dominante Frequenz bei t = 11.97. t=12 wurde nicht diskret abgetastet.
|
|
|
|
|
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 - 2025
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.
|
|