Hallo Forum, Durch meine online-Recherche bin ich auf dieses Forum gestoßen und denke, dass sich hier einige mit der FFT auskennen. Ich bin gerade dabei eine Frequenzanalyse zu versuchen und scheitere an dem Problem, dass ich den Output, den mir die fftw liefert, nicht interpretieren kann. Das allgemeine verständnis von DFTs lese ich mir gerade mit dem Rüdiger Hoffmann Buch an, bin da aber noch nicht ganz durch. Parallel dazu bilde ich mich mit C++ weiter, um das Ganze nachher richtig umsetzen zu können. Die Analyse mit FFTW und C++ sind erstmal Rahmenbedingungen, die vorgegeben sind. Ich gehe grade davon aus, dass mein output ein Array ist, mit jeweils 2 Werten: Realteil und Imaginärteil. Wenn ich davon den Betrag bilde, sollte ich doch die Amplitude erhalten. Aber woher weiß ich die zugehörige Frequenz? Kann ich davon ausgehen, dass meine höchste Frequenz, die halbe Anzahl meiner Eingangswerte ist? Weiß jemand wie fftw, die Ausgabewerte sortiert? Finde in der Dokumentation dazu leider nichts... Ich hoffe, dass meine Fragen nicht all zu oft schon hier diskutiert wurden, da ich trotz Suchfunktion sicher nicht alles threads dazu gefunden habe. Vielen Dank für alle Tipps. Beste Grüße Michael
Michael W. schrieb: > Wenn ich davon den Betrag bilde, sollte ich doch die Amplitude erhalten. ja > Aber woher weiß ich die zugehörige Frequenz? durch die nummer des datums wenn sie in natürlicher reihenfolge kommen ist es bei der FFT immer ein Wert der 1/n-tel der Abtaste entspricht + 1/2n. FFT auf 64 kHz real gesampelte Daten mit 64 Werten: Nummer 0 = 1/2* 64kHz / 64 + 0* 64kHz = 0,5kHz Nummer 1 = 1/2* 64kHz / 64 + 1* 64kHz = 1,5kHz Nummer 2 = 1/2* 64kHz / 64 + 2* 64kHz = 2,5kHz ... Nummer 30 = 1/2* 64kHz / 64 + 30* 64kHz = 30,5kHz Nummer 31 = 1/2* 64kHz / 64 + 31* 64kHz = 31,5kHz --------------------------------------------------- Nummer 32 = 1/2* 64kHz / 64 + 32* 64kHz = 33,5kHz entspricht 31,5 Nummer 33 = 1/2* 64kHz / 64 + 33* 64kHz = 33,5kHz entspricht 30,5 ... Nummer 63 = 1/2* 64kHz / 64 + 63* 64kHz = 33,5kHz entspricht 0,5
Klaus schrieb: > Nummer 0 = 1/2* 64kHz / 64 + 0* 64kHz = 0,5kHz Nummer 0 ist der Gleichspannungsanteil Gruß Anja
Das ist wird immer wieder erzählt, ist aber nicht wirklich richtig, denn es beschreibt de facto den Frequenzbereich zwischen 0 und fs/k. Hier in unserem Bespiel also alles von 0 bis 1kHz mit der theoretischen Mitte von 0,5kHz und wenn man das mal durchsweept, wird man sehen, dass die 500Hz besonders gut abgebildet werden, während sich nach 0 und zu 1kHz eine abfallende Glocken bildet. "Gleichspannungsanteil" wäre ja eine Frequenz mit f=0! Die ganze Angelegenheit wird dann um so genauer, je mehr Frequenzen genutzt werden. Dann sind z.B. 0,1 Hz von 0,2 Hz besser unterscheidbar.
Michael W. schrieb: > Das allgemeine verständnis von DFTs lese ich mir gerade mit dem Rüdiger > Hoffmann Buch an, bin da aber noch nicht ganz durch. > Parallel dazu bilde ich mich mit C++ weiter, um das Ganze nachher > richtig umsetzen zu können. lange ists her, aber die ersten Hausaufgaben sind gemacht: Vielen Dank hier für das Forum - eure Beiträge sind ungemein hilfreich! fftw läuft und die Daten bekomm ich mit gnuplot auch ordentlich dargestellt. Jetzt hätte ich aber eine Frage zu den Oberschwingungen, auf die ich keine Lösung habe: Gibt es eine Möglichkeit Oberschwingungen zu verifizieren? Hintergrund der Frage ist Folgendes Ergebnis meiner FFT (siehe Anhang): Auf der X-Achse bekomme ich bei ~34, ~42.5, und 51 jeweils einen Ausschlag und gehe jetzt davon aus, daß bei 42.5 der eigentlich peak ist und die beiden anderen Seitenmaxima. Mein Problem ist, dass ich das Ausgangssignal nicht kenne und das jetzt aber irgendwie überprüfen muss. Unterschiedliche Fensterungen ergaben dieselben Ergebnisse. Eine vorangehende Filterung ist leider momentan nicht möglich. Bin mal wieder sehr dankbar für Tipps, Anregungen, etc. Gruß Michael
> und gehe jetzt davon aus, daß bei 42.5 der eigentlich peak ist
Wie soll das gehen, wenn die Grundfrequenz ca. 17 ist? 17*2=34, 17*3=51
passt gut. Die 42 sind 17*2.5, was für eine normale Oberwelle eher
seltsam ist. Allerdings ist bei 17*1.5=25.5 auch ein Peak zu sehen,
evtl. gehört das einfach so zum Signal...
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.