Hallo zusammen, es wäre toll, wenn mir jemand bestätigen könnte, ob ich die Rahmenbedingungen für eine FFT soweit richtig verstanden habe: Ist es richtig, dass die Schrittweite der Frequenzen, welche die FFT "ausspuckt" delte_f = 1/T ist? Wobei T die Dauer meiner Aufnahme ist. Wenn ich also 10 ms lang messe, bekomme ich immer eine Auflösung von 1/10ms = 100Hz, unabhängig davon, ob ich 64 oder 1024 Messwerte aufnehme? Was mache ich denn dann, wenn mein Signal z.B. nur 1 ms lang auftritt, ich aber eine 100Hz Auflösung möchte, also 10 ms lang messen muss? Kann ich dann die übrigen 9 ms so tun also würde ich 0 messen? Bekomme ich dann noch vernünftige Ergebnisse? Das Ergebnis muss zumindest so sauber sein, dass ich die zweitstärkste Frequenz ermitteln kann. Der genaue Betrag ist unwichtig. Die stärkste Frequenz wir immer 50 Hz sein. Die Anzahl der Messwerte würde ich dann abhängig von den 10 ms und der maximal auftretenden Frequenz abhängig machen. Mal angenommen mein Signal kann bis zu 8 kHz annehmen, muss ich ja mit mindestens 16 kHz abtasten. In 10 ms muss ich also mindestens 160 mal messen. Das geht natürlich nicht, also würde ich in dem Beispiel auf 256 Messwerte hochgehen. Ist das soweit alles richtig?
ja und nein. Walther von der Vogelweide schrieb: > Was mache ich denn dann, wenn mein Signal z.B. nur 1 ms lang auftritt, > ich aber eine 100Hz Auflösung möchte, also 10 ms lang messen muss? Kann > ich dann die übrigen 9 ms so tun also würde ich 0 messen? Bekomme ich > dann noch vernünftige Ergebnisse? ja bekommst Du. Nur dürfen dann 2 verschiedene Frequenzen (gleichzeitig) nicht dichter als 1kHz sein. Walther von der Vogelweide schrieb: > Die Anzahl der Messwerte würde ich dann abhängig von den 10 ms und der > maximal auftretenden Frequenz abhängig machen. Mal angenommen mein > Signal kann bis zu 8 kHz annehmen, muss ich ja mit mindestens 16 kHz > abtasten. In 10 ms muss ich also mindestens 160 mal messen. Das geht > natürlich nicht, also würde ich in dem Beispiel auf 256 Messwerte > hochgehen. Warum geht das nicht? Hardwareprobleme? Nicht jede FFT hat einen Radix-2 Algorithmus. Viel wichtiger : Woher weißt Du, dass keine höhere Frequenz im Spiel ist? Scharfer Tiefpassfilter am Eingang? Wie scharf?
Um die Grundwelle eines anliegenden Signals zu ermitteln, muss ein ganzes Vielfaches der Grundwelle abgetastet werden. Ansonsten verteilt sich diese Grundwelle irgendwie in den anderen Koeffizienten. Bei einem 100Hz-Sinus musst du also 10ms oder 20ms oder 30ms oder... sampeln. Die SamplingFREQUENZ muss mindestens 200Hz betragen. Von Vorteil ist bei bekannter Frequenz der Grundschwingung ein ganzzahliges Vielfaches. Wenn du nur 1mS misst, kannst du keine 100Hz Auflösung (bei dir vermutlich Schrittweite der Fourierkoeffiziente) erreichen. Dafür müsstest du mindestens 10mS sampeln. Wenn dein Signal 1mS auftritt und dann 9mS ruhe gibt und du 10mS sampelst, erhälst du am Ende nicht die Koeffizienten als wenn dein Signal 10x1mS aufeinanderfolgend anliegen würde. Da such mal das Buch Fourieranalyse für Fußgänger (oder: fourier analysis for pedestrians), da steht was zu zero-padding und nicht-periodischer Fortsetzung drin.
Als Hausnummer: Die FFT teilt das Spektrum in einzelne Kästchen auf. Das oberste Kästchen entspricht 1/2 Abtastfrequenz. Zahl der Kästchen entspricht der Zahl der Abtastpunkte.
dadada schrieb: > ja bekommst Du. Nur dürfen dann 2 verschiedene Frequenzen (gleichzeitig) > nicht dichter als 1kHz sein. Heißt also, dass meine 50 Hz und beispielsweise 3000Hz gut rauskommen, eine weiteren Frequenz von 3500Hz aber das das Ergebnis unbrauchbar macht? Das wäre nicht schlimm, weil ich ansonsten zwar viel Rauschen habe, aber in keiner bestimmten Frequenz. dadada schrieb: > Warum geht das nicht? Hardwareprobleme? Nicht jede FFT hat einen Radix-2 > Algorithmus. Wie man an meinen Fragen schon merkt, tue ich mir schwer mit dem Thema und will deshalb fertige Funktionen benutzen. Im Moment probiere ich mit den FFT Funktionen von Mikrochip für dsPICs rum. Somit bin ich erstmal an Radix-2 FFTs gebunden. Zumindest habe ich dafür noch nichts anderes gefunden. dadada schrieb: > Woher weißt Du, dass keine höhere Frequenz im Spiel > ist? Höhere Frequenzen sind sicherlich auch dabei. Die interessieren mich nur nicht. Der Betrag liegt wie gesagt auch deutlich unter dem, des Nutzsignals. dadada schrieb: > Scharfer Tiefpassfilter am Eingang? Wie scharf? Meinst du per Software oder Hardware? Bisher habe ich eigentlich weder noch. Kevin K. schrieb: > Um die Grundwelle eines anliegenden Signals zu ermitteln, muss ein > ganzes Vielfaches der Grundwelle abgetastet werden. Ansonsten verteilt > sich diese Grundwelle irgendwie in den anderen Koeffizienten. Bei einem > 100Hz-Sinus musst du also 10ms oder 20ms oder 30ms oder... sampeln Das bedeutet ja, dass ich bei meinem 50Hz Grundsignal mindestens 20 ms abtasten muss. Ich habe aber bereits mal in 5ms 64 Werte gemessen und einem Bekannten geschickt. Der hat die Werte in ein selbst geschriebenes FFT Programm gefüttert und es zeigte sich, dass mein Nutzsignal einen klaren Peak bei der zu erwartenden Frequenz verursachte (z.B. 5kHz). Da der genaue Betrag für mich ja nicht so wichtig ist, kann ich vermutlich mit diesem Rauschen leben. Das Problem war nur, dass bei 5ms die Auflösung zu gering war, mein Signal aber schon geendet hat. Kevin K. schrieb: > Da such mal das Buch > Fourieranalyse für Fußgänger Wir Montag bestellt! Georg G. schrieb: > Zahl der Kästchen entspricht der > Zahl der Abtastpunkte. Irgendwo meine ich mal gelesen zu haben, dass man nur halb so viele "Kästchen" bekommt, wie Abtastpunkte. Oder habe ich mir das nur eingebildet? Danke für die schnellen Antworten. Ich hoffe ich habe euch immer richtig verstanden. Mir ist nun nur leider immer noch nicht ganz klar, ob und was nun an meinem ersten Beitrag falsch war.
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.