scipy.fft.

ihfft#

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

計算具有 Hermitian 對稱訊號的反向 FFT。

參數:
xarray_like

輸入陣列。

nint, optional

反向 FFT 的長度,沿轉換軸使用的點數。如果 n 小於輸入長度,輸入將被裁剪。如果它更大,輸入將以零填充。如果未給定 n,則使用沿 axis 指定軸的輸入長度。

axisint, optional

計算反向 FFT 的軸。如果未給定,則使用最後一個軸。

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

正規化模式 (請參閱 fft)。預設值為 “backward”。

overwrite_xbool, optional

如果為 True,則可以破壞 x 的內容;預設值為 False。 有關更多詳細資訊,請參閱 fft

workersint, optional

用於平行計算的最大工作進程數。如果為負數,則值從 os.cpu_count() 環繞。 有關更多詳細資訊,請參閱 fft

planobject, optional

此參數保留用於傳入由下游 FFT 供應商提供的預先計算計畫。目前 SciPy 中未使用。

在版本 1.5.0 中新增。

回傳值:
outcomplex ndarray

沿 axis 指示的軸轉換的截斷或零填充輸入,如果未指定 axis,則為最後一個軸。轉換軸的長度為 n//2 + 1

另請參閱

hfft, irfft

說明

hfft/ihfftrfft/irfft 類似,但用於相反的情況:在此,訊號在時域中具有 Hermitian 對稱性,並且在頻域中是實數。所以,在這裡,它是 hfft,如果結果為奇數,您必須提供結果的長度: * 偶數:ihfft(hfft(a, 2*len(a) - 2) == a,在捨入誤差範圍內, * 奇數:ihfft(hfft(a, 2*len(a) - 1) == a,在捨入誤差範圍內。

範例

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