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
/ihfft
與rfft
/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