Fensterung und Padding bei FFTs

Gast #2484204
Lesenswert?

Angeregt durch einen anderen aktuellen thread habe ich eine Frage:

Wenn ich eine binäre FFT mit nicht binären Daten auffüllen möchte, z.B. 
1000 Wert in einer 2h10=1024, dann kann ich nach meinem Wissen mit 
Nullen auffüllen. Die Frage ist, wie man das tun muss?

Soll das einseitig erfolgen oder Symmetrisch? Oder ist das egal?

Was tut man mit der Fensterung? Muss diese nicht genau über der Werten 
liegen und damit linksseit / symmetrisch , je nachdem wie man paddet?

Müssen die gepaddeten Werte auch genullt werden, sodass das Fenster 
verengt werden muss oder lässt es es bei der 1024er Breite und riskiert 
die Knickstellen, die durch die Nullen entstehen?

Vom Gefühl her, würde ich die Glocke des Fensters erhalten wollen und 
damit ein relativ breiteres Fenster mit steilerem Abstieg haben wollen, 
das aber an den gepaddeten Nullen endet, also zu den Nullen hin sanft 
ausläuft.
Gast #2492840
Lesenswert?

Die Nullen müssen in die Mitte? Seit wann denn das?

Am Beispiel einer single-DFT (kontinuierliche Multiplikation mit COS 
entlang der Frequenz) hätte ich nun gesagt, dass die Kohärenz dadurch 
hergestellt wird, dass alle Werte stetig mit dem COS (phi) verarbeitet 
werden, also:

Wert 1 x Cos (phi(0))
Wert 2 x Cos (phi(1))
Wert 3 x Cos (phi(2))
...
Wert k x Cos (phi(k))
...
0!     x Cos (phi(k+1))
...
0!     x Cos (phi(n-1))
0!     x Cos (phi(n))

mit phi(n) = 2 * PI
Persönliche Seite #2504043
Lesenswert?

Hauke Radtki schrieb:
> Intuitiv würde ich auch sagen erst fenstern dann zero-padden, sonst
> verlierst du ein wenig den Sinn des Fensters (zumindest an einer stelle,
> je nach wo du die nullen anhängst). Meiner Meinung nach ist es egal wo
> die nullen angehängt werden, ob vorne oder hinten oder beides. Ich hab
> sie bis jetzt einfach immer hinten angehängt.

Es ist tatsächlich fast egal, denn die Position im Zeitbereichsvektor 
ist ja nichts anderes als die Phase. Wenn am Schluss nur sie spektrale 
Leistungsdichte interessiert, ist es tatsächlich egal.

Standardmäßig hängt man sie m.W. hinten an, ist in der Implementierung 
meistens auch am einfachsten.

Weil die FFT ein periodisches Signal annimmt, müsste es eigentlich auch 
möglich sein, die Nullen in die Mitte zu setzen. Ein kurzer Test mit 
Matlab hat das allerdings nicht bestätigt, kann mir mal jemand meinen 
Denkfehler aufzeigen?

Grüße,

Max
Gast #2504071
Lesenswert?

Hallo,

setzt du die Nullen in die mitte, fügst neben Anfang und Ende einen 
zusätzlichen Sprung in die Daten ein. Das wirkt sich natürlich auf das
Spektrum aus. Es ist ja auch nicht mehr Periodisch über alles....

Gruß

 Stephan
Persönliche Seite #2510812
Lesenswert?

Max G. schrieb:
> Weil die FFT ein periodisches Signal annimmt, müsste es eigentlich auch
> möglich sein, die Nullen in die Mitte zu setzen. Ein kurzer Test mit
> Matlab hat das allerdings nicht bestätigt, kann mir mal jemand meinen
> Denkfehler aufzeigen?

Wenn Du Dir mal ansiehst, wie die Definition der FT lautet, bzw. wie der 
Eingangsdatenstrom mit SIN/COS jeder beteiligten Frequenz zu 
multiplizieren ist/wäre, wird doch klar, dass das nicht mehr aufgeht.

Das Anfügen der Nullen muss vorne oder hinten erfolgen, wobei man damit 
aber die Phaseninformation der Ausgabe modifiziert.

Auf beiden Seiten gleichmäßig Anfügen wäre z.B. dann von Nöten, wenn die 
Daten nicht selbst gefenstert werden können, sondern das Fenster z.B. in 
eine DFT eingebacken ist und nicht verschoben werden kann.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren