numpy.fft.ihfft#
- fft.ihfft(a, n=None, axis=-1, norm=None, out=None)[source]#
計算具有 Hermitian 對稱性的訊號的反 FFT。
- 參數:
- aarray_like
輸入陣列。
- nint, optional
反 FFT 的長度,即輸入中沿轉換軸使用的點數。如果 n 小於輸入的長度,則輸入會被裁剪。如果較大,則輸入會以零填充。如果未給定 n,則使用沿 axis 指定軸的輸入長度。
- axisint, optional
計算反 FFT 的軸。如果未給定,則使用最後一個軸。
- norm{“backward”, “ortho”, “forward”}, optional
正規化模式(請參閱
numpy.fft
)。預設為“backward”。表示正向/反向轉換對中的哪個方向被縮放以及使用哪個正規化因子。1.20.0 版本新增: 新增了 “backward”、“forward” 值。
- outcomplex ndarray, optional
如果提供,結果將放置在此陣列中。它應該具有適當的形狀和 dtype。
2.0.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
,在捨入誤差範圍內。
範例
>>> import numpy as np >>> spectrum = np.array([ 15, -4, 0, -1, 0, -4]) >>> np.fft.ifft(spectrum) array([1.+0.j, 2.+0.j, 3.+0.j, 4.+0.j, 3.+0.j, 2.+0.j]) # may vary >>> np.fft.ihfft(spectrum) array([ 1.-0.j, 2.-0.j, 3.-0.j, 4.-0.j]) # may vary