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


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


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

用法:

scipy.fft.irfft(x, n=None, axis=-1, norm=None, overwrite_x=False, workers=None, *, plan=None)#

計算 rfft 的倒數。

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

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

參數

x array_like

輸入數組。

n 整數,可選

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

axis 整數,可選

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

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

標準化模式(參見 fft )。默認為“backward”。

overwrite_x 布爾型,可選

如果為真,則內容x可以銷毀;默認為假。看scipy.fft.fft更多細節。

workers 整數,可選

用於並行計算的最大工作線程數。如果為負,則該值從 os.cpu_count() 環繞。有關詳細信息,請參閱 fft

plan 對象,可選

此參數保留用於傳遞下遊 FFT 供應商提供的預先計算的計劃。它目前未在 SciPy 中使用。

返回

out ndarray

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

拋出

IndexError

如果axis大於x的最後一個軸。

注意

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

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

n 的默認值假定輸出長度是偶數。根據 Hermitian 對稱性,最後一個虛部必須為 0,因此被忽略。為了避免丟失信息,必須給出真實輸入的正確長度。

例子

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

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

相關用法


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