Welchen Frequenzbereich umfaßt eigentlich ein DFT/FFT-Bin? Per Definition steht er ja für die diskrete Frequenz
Doch umfaßt z.B. der 0. Spektralkoeffizient den Frequenzbereich von 0 bis DeltaOmega oder von -DeltaOmega/2 bis DeltaOmega/2?
|
Forum: Digitale Signalverarbeitung / DSP / Machine Learning Frequenzbereich FFT-BinWelchen Frequenzbereich umfaßt eigentlich ein DFT/FFT-Bin? Per Definition steht er ja für die diskrete Frequenz Doch umfaßt z.B. der 0. Spektralkoeffizient den Frequenzbereich von 0 bis DeltaOmega oder von -DeltaOmega/2 bis DeltaOmega/2? Bin mir nicht ganz sicher ob ich das jetzt richtig verstanden habe. (Die Formeln kann ich nicht lesen, habe Internetexplorer) Erstens kann man bei einer FFT keine Frequenzen haben, streng gesehen, haben die Koeffizienten der Array's keine Dimension. Aber so streng muss man das nicht sehen... ;-) Wenn ich eine FFT habe, mit sagen wir mal 1024 Werten, dann schreiben ich die in ein Array (Realteil) mit der Grösse 1024. Falls ich Rechenzeit zu verschwenden habe setze ich das Array mit dem Imaginärteil auf Null. Falls gewünscht würde ich an dieser Stelle später erörtern, wie ich eine zweite FFT gleichzeitig machen kann. Als Ergebnis der FFT (In-place-computation) erhalte ich in meinen beiden Array's die Koeffizienten 0 bis 1023. Falls meine Ausgangsdaten nur im Realteil <> 0 waren, sind die Koeffizienten 1023 bis 513 ein Spiegelbild der Koeffizienten 1 bis 511. Anderer Erklärungsversuch: Die niedrigste darstellbare Frequenz in einem Array der Grösse 1024 ist eine einzelne Sinus (Cosinus) Schwingung. Die höchste Frequenz währe gegeben, wenn z.B. die Werte immer 1,-1,1,-1... wären. Das wären dann 512 Schwingungen. Bei dieser Frequenz kann es dann keine Sinusschwingung sein, weil der Sinus bei 0° und 180° Null ist. Also ist die höchste "Frequenz" 511 Schwingungen. Die Frage war eher, wie breit ein Punkt einer FFT ist. Von 0 bis DeltaOmega oder von -DeltaOmega/2 bis DeltaOmega/2 ist ja dasselbe. Genau darum geht es. Man kannja die Zeilenvektoren der zugrundeliegenden DFT auch als Bandpaßfilterkoeffizienten betrachten. Und die spannende Frage ist: welchen Bereich decken die Bandpässe genau ab? Hallo, Du kannst Dir die FFT/DFT als eine Filterbank vorstellen, ja. Am einfachsten verständlich wird der Frequenzgang des Filters (und dessen Berechnung) für den Ausgangswert mit Index 0 (also den Gleichanteil). Wenn Du Dir die DFT-Formel ansiehst, wird dieser Gleichanteil einfach als linearer Mittelwert aus allen Eingangssamples berechnet, da der Therm e^(...) für f=0 stets den Wert 1 annimmt. Es ist also nichts anderes als ein FIR-Filter, dessen Koeffizienten alle den Wert 1/N besitzen. Die anderen Ausgangswerte der DFT werden berechnet, indem das Eingangssignal zunächst durch "Modulation" (der Therm e^(...) beschreibt wirkt praktisch als Modulationsfrequenz) in der Frequenz verschoben wird, so dass der zu analysierende Bereich bei der Frequenz f=0 liegt, und dann wieder der gleiche FIR-Filter mit den 1/N - Koeffizienten herausgefiltert wird. Wenn Du also den Frequenzgang des FIR-Filters berechnest, hast Du die "Analysebreite" deiner FFT-Filterbank bestimmt. Anzumerken ist noch, dass eine vorherige Fensterung des Eingangssignals mit z.B. einem Hamming-Fenster natürlich in diese Betrachtung mit einbezogen werden muss und den Frequenzgang verändert -- es werden praktisch die Koeffizienten des FIR-Filters mit diesem Fenster multiplizert. Gruss FL Ein DFT-Bin ist unendlich schmal, also 0 breit... Der Spektralanteil zwischen zwei Bins ist unsehbar (picket fence), aber wenn man das Signal richtig abgetastet hat (d.h. koherent), dann ist es auch 0. Unit* wrote: > Ein DFT-Bin ist unendlich schmal, also 0 breit... Der Spektralanteil > zwischen zwei Bins ist unsehbar (picket fence), aber wenn man das Signal > richtig abgetastet hat (d.h. koherent), dann ist es auch 0. So ist es. Der Rest ist Leakage* wenn man "zwischen" die Bins geht.** Die Interpretation durch eine Filterbank führt bei dieser Fragestellung etwas in die Irre, hier sind die Mittenfrequenzen der Bandpässe relevant. Und die liegen für gewöhnlich auf den Rasterfrequenzen. *) Leakage ist etwas lax ausgedrückt. Es gehört ja nicht wirklich zum Analysebereich, ist allerdings vorhanden wenn man die Auflösung erhöht. **) Niemand verbietet einem die Korrelation des Zeitsignals mit Frequenzen ungleich der sog. Rasterfrequenzen der DFT - nichts anderes geschieht bei Zero-Padding. Interpretiert man das als Filterbank legt man die Mittenfrequenzen wiederum "zwischen" die Rasterfrequenzen. Hallo Unit / T. H., Eure Ausführungen sind sicher mathematisch korrekter als meine, aber IMO schwerer verständlich und für praktische Anwendungen etwas theoretisch ;-) Und ich dachte ich habe mich blumig ausgedrückt ;^) Ich hab mal ein - wie ich finde - gutes Skript meines ehemaligen Profs ausgegraben: http://www.diru-beze.de/signale/skripte/SuS_SS05/fft-dft.pdf 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
Noch kein Account? Hier anmelden.
|
|