scipy.fft.

ihfft#

scipy.fft.ihfft(x, n=None, axis=-1, norm=None, overwrite_x=False, workers=None, *, plan=None)[Quelle]#

Berechnet die inverse FFT eines Signals mit hermitescher Symmetrie.

Parameter:
xarray_like

Eingabearray.

nint, optional

Länge der inversen FFT, Anzahl der Punkte entlang der Transformationsachse in der Eingabe, die verwendet werden sollen. Wenn n kleiner als die Länge der Eingabe ist, wird die Eingabe abgeschnitten. Wenn sie größer ist, wird die Eingabe mit Nullen aufgefüllt. Wenn n nicht angegeben ist, wird die Länge der Eingabe entlang der durch axis angegebenen Achse verwendet.

axisint, optional

Achse, über die die inverse FFT berechnet wird. Wenn nicht angegeben, wird die letzte Achse 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; der Standardwert 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

Die abgeschnittene oder mit Nullen aufgefüllte Eingabe, transformiert entlang der durch axis angegebenen Achse oder der letzten Achse, wenn axis nicht angegeben ist. Die Länge der transformierten Achse beträgt n//2 + 1.

Siehe auch

hfft, irfft

Hinweise

hfft/ihfft sind ein Paar, das analog zu rfft/irfft ist, jedoch für den umgekehrten Fall: Hier hat das Signal im Zeitbereich hermitesche Symmetrie und ist im Frequenzbereich reell. Also hier ist es hfft, für das Sie die Länge des Ergebnisses angeben müssen, wenn sie ungerade ist: * gerade: ihfft(hfft(a, 2*len(a) - 2) == a, bis auf Rundungsfehler, * ungerade: ihfft(hfft(a, 2*len(a) - 1) == a, bis auf Rundungsfehler.

Beispiele

>>> from scipy.fft import ifft, ihfft
>>> import numpy as np
>>> spectrum = np.array([ 15, -4, 0, -1, 0, -4])
>>> ifft(spectrum)
array([1.+0.j,  2.+0.j,  3.+0.j,  4.+0.j,  3.+0.j,  2.+0.j]) # may vary
>>> ihfft(spectrum)
array([ 1.-0.j,  2.-0.j,  3.-0.j,  4.-0.j]) # may vary