Forum: Digitale Signalverarbeitung / DSP / Machine Learning Frequenzbereich FFT-Bin


von Rüdiger K. (sleipnir)


Lesenswert?

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?

von Peter X. (vielfrass)


Lesenswert?

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.

von 3361 (Gast)


Lesenswert?

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.

von Rüdiger K. (sleipnir)


Lesenswert?

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?

von FL (Gast)


Lesenswert?

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

von Rüdiger K. (sleipnir)


Lesenswert?

Ah, Danke!

von Unit* (Gast)


Lesenswert?

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.

von T. H. (pumpkin) Benutzerseite


Lesenswert?

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.

von FL (Gast)


Lesenswert?

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 
;-)

von T. H. (pumpkin) Benutzerseite


Lesenswert?

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.