scipy.fft.

fft2#

scipy.fft.fft2(x, s=None, axes=(-2, -1), norm=None, overwrite_x=False, workers=None, *, plan=None)[Quelle]#

Berechnet die 2-dimensionale diskrete Fourier-Transformation

Diese Funktion berechnet die N-dimensionale diskrete Fourier-Transformation über beliebige Achsen in einem M-dimensionalen Array mittels der Fast Fourier Transform (FFT). Standardmäßig wird die Transformation über die letzten beiden Achsen des Eingabearrays berechnet, d.h. eine 2-dimensionale FFT.

Parameter:
xarray_like

Eingabearray, kann komplex sein

sSequenz von ganzen Zahlen, optional

Form (Länge jeder transformierten Achse) der Ausgabe (s[0] bezieht sich auf Achse 0, s[1] auf Achse 1 usw.). Dies entspricht n für fft(x, n). Entlang jeder Achse, wenn die gegebene Form kleiner als die des Eingangs ist, wird der Eingang abgeschnitten. Wenn sie größer ist, wird der Eingang mit Nullen aufgefüllt. Wenn s nicht gegeben ist, wird die Form des Eingangs entlang der durch axes angegebenen Achsen verwendet.

axesSequenz von ganzen Zahlen, optional

Achsen, über die die FFT berechnet werden soll. Wenn nicht angegeben, werden die letzten beiden Achsen verwendet.

norm{“backward”, “ortho”, “forward”}, optional

Normalisierungsmodus (siehe fft). Standard ist „backward“.

overwrite_xbool, optional

Wenn True, kann der Inhalt von x zerstört werden; Standard ist False. Weitere Einzelheiten finden Sie unter fft.

workersint, optional

Maximale Anzahl von Workern, die für die parallele Berechnung verwendet werden sollen. Wenn negativ, wickelt sich der Wert von os.cpu_count() ab. Weitere Einzelheiten finden Sie unter fft.

planobject, optional

Dieses Argument ist für die Übergabe eines vorab berechneten Plans von nachgelagerten FFT-Anbietern reserviert. Es wird derzeit in SciPy nicht verwendet.

Hinzugefügt in Version 1.5.0.

Rückgabe:
outcomplex ndarray

Der abgeschnittene oder mit Nullen aufgefüllte Eingang, transformiert entlang der Achsen, die durch axes angegeben sind, oder die letzten beiden Achsen, wenn axes nicht angegeben ist.

Löst aus:
ValueError

Wenn s und axes eine unterschiedliche Länge haben oder axes nicht angegeben ist und len(s) != 2.

IndexError

Wenn ein Element von axes größer ist als die Anzahl der Achsen von x.

Siehe auch

ifft2

Die inverse 2-dimensionale FFT.

fft

Die 1-dimensionale FFT.

fftn

Die N-dimensionale FFT.

fftshift

Verschiebt die Nullfrequenzterme in die Mitte des Arrays. Bei 2-dimensionaler Eingabe werden das erste und dritte Quadrant sowie das zweite und vierte Quadrant vertauscht.

Hinweise

fft2 ist lediglich fftn mit einem anderen Standardwert für axes.

Die Ausgabe enthält, analog zu fft, den Term für die Nullfrequenz in der unteren linken Ecke der transformierten Achsen, die positiven Frequenzterme in der ersten Hälfte dieser Achsen, den Term für die Nyquist-Frequenz in der Mitte der Achsen und die negativen Frequenzterme in der zweiten Hälfte der Achsen, in der Reihenfolge abnehmend negativer Frequenzen.

Siehe fftn für Details und ein Plot-Beispiel und fft für die verwendeten Definitionen und Konventionen.

Beispiele

>>> import scipy.fft
>>> import numpy as np
>>> x = np.mgrid[:5, :5][0]
>>> scipy.fft.fft2(x)
array([[ 50.  +0.j        ,   0.  +0.j        ,   0.  +0.j        , # may vary
          0.  +0.j        ,   0.  +0.j        ],
       [-12.5+17.20477401j,   0.  +0.j        ,   0.  +0.j        ,
          0.  +0.j        ,   0.  +0.j        ],
       [-12.5 +4.0614962j ,   0.  +0.j        ,   0.  +0.j        ,
          0.  +0.j        ,   0.  +0.j        ],
       [-12.5 -4.0614962j ,   0.  +0.j        ,   0.  +0.j        ,
          0.  +0.j        ,   0.  +0.j        ],
       [-12.5-17.20477401j,   0.  +0.j        ,   0.  +0.j        ,
          0.  +0.j        ,   0.  +0.j        ]])