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

註解

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