當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python numpy fft.irfft用法及代碼示例


本文簡要介紹 python 語言中 numpy.fft.irfft 的用法。

用法:

fft.irfft(a, n=None, axis=- 1, norm=None)

計算 rfft 的倒數。

此函數計算一維的逆n實際輸入的點離散傅裏葉變換由下式計算numpy.fft.rfft.換一種說法,irfft(rfft(a), len(a)) == a在數值精度範圍內。 (請參閱下麵的注釋了解原因len(a)這裏是必需的。)

輸入應采用 rfft 返回的形式,即實數 zero-frequency 項後跟複數正頻率項,按頻率遞增的順序排列。由於實際輸入的離散傅立葉變換是厄米對稱的,因此負頻率項被視為相應正頻率項的複共軛。

參數

a array_like

輸入數組。

n 整數,可選

輸出的變換軸的長度。為了n輸出點,n//2+1輸入點是必要的。如果輸入比這個長,它會被裁剪。如果它比這短,則用零填充。如果n沒有給出,它被認為是2*(m-1)其中m是輸入沿指定軸的長度.

axis 整數,可選

計算逆 FFT 的軸。如果未給出,則使用最後一個軸。

norm {“backward”, “ortho”, “forward”},可選

標準化模式(參見 numpy.fft )。默認為“backward”。指示前向/後向變換對的哪個方向被縮放以及使用什麽歸一化因子。

返回

out ndarray

截斷或補零的輸入,沿由, 或者最後一個如果未指定。變換軸的長度為n, 或者如果n沒有給出,2*(m-1)其中m是輸入的變換軸的長度。要獲得奇數個輸出點,n必須指定。

拋出

IndexError

如果axis不是a的有效軸。

注意

返回實際值n-點離散傅裏葉逆變換a,其中a包含 Hermitian 對稱序列的非負頻率項。n是結果的長度,而不是輸入的長度。

如果您指定一個n這樣a必須補零或截斷,額外/刪除的值將以高頻添加/刪除。因此,可以對一個係列重新采樣以m通過傅裏葉插值點:a_resamp = irfft(rfft(a), m).

厄米特輸入的正確解釋取決於原始數據的長度,如n.這是因為每個輸入形狀都可能對應於奇數或偶數長度的信號。默認,irfft假設一個偶數輸出長度,將最後一個條目置於奈奎斯特頻率;與其對稱對應物混疊。通過 Hermitian 對稱性,該值因此被視為純實數。為避免丟失信息,真實輸入的正確長度必須被給予。

例子

>>> np.fft.ifft([1, -1j, -1, 1j])
array([0.+0.j,  1.+0.j,  0.+0.j,  0.+0.j]) # may vary
>>> np.fft.irfft([1, -1j, -1])
array([0.,  1.,  0.,  0.])

請注意普通 ifft 的輸入中的最後一項是第二項的複共軛,並且輸出到處都有零虛部。調用 irfft 時,未指定負頻率,並且輸出數組是純實數。

相關用法


注:本文由純淨天空篩選整理自numpy.org大神的英文原創作品 numpy.fft.irfft。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。