scipy.fftpack.

irfft#

scipy.fftpack.irfft(x, n=None, axis=-1, overwrite_x=False)[原始碼]#

返回實數序列 x 的反向離散傅立葉轉換。

x 的內容被解釋為 rfft 函數的輸出。

參數:
xarray_like

要反轉的轉換資料。

nint,選用

反向傅立葉轉換的長度。如果 n < x.shape[axis],則 x 會被截斷。如果 n > x.shape[axis],則 x 會被零填充。預設結果為 n = x.shape[axis]。

axisint,選用

計算 ifft 的軸;預設值是最後一個軸 (即 axis=-1)。

overwrite_xbool,選用

如果為 True,則可以破壞 x 的內容;預設值為 False。

返回:
irfftfloat 的 ndarray

反向離散傅立葉轉換。

註解

返回的實數陣列包含

[y(0),y(1),...,y(n-1)]

其中對於偶數 n

y(j) = 1/n (sum[k=1..n/2-1] (x[2*k-1]+sqrt(-1)*x[2*k])
                             * exp(sqrt(-1)*j*k* 2*pi/n)
            + c.c. + x[0] + (-1)**(j) x[n-1])

以及對於奇數 n

y(j) = 1/n (sum[k=1..(n-1)/2] (x[2*k-1]+sqrt(-1)*x[2*k])
                             * exp(sqrt(-1)*j*k* 2*pi/n)
            + c.c. + x[0])

c.c. 表示前一個表達式的複共軛。

有關輸入參數的詳細資訊,請參閱 rfft

若要處理具有複數資料類型的(共軛對稱)頻域資料,請考慮使用較新的函數 scipy.fft.irfft

範例

>>> from scipy.fftpack import rfft, irfft
>>> a = [1.0, 2.0, 3.0, 4.0, 5.0]
>>> irfft(a)
array([ 2.6       , -3.16405192,  1.24398433, -1.14955713,  1.46962473])
>>> irfft(rfft(a))
array([1., 2., 3., 4., 5.])