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


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


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

用法:

scipy.fft.idct(x, type=2, n=None, axis=-1, norm=None, overwrite_x=False, workers=None, orthogonalize=None)#

返回任意類型序列的逆離散餘弦變換。

參數

x array_like

輸入數組。

type {1, 2, 3, 4},可選

DCT 的類型(見注釋)。默認類型為 2。

n 整數,可選

變換的長度。如果n < x.shape[axis],x被截斷。如果n > x.shape[axis],x是零填充的。默認結果是n = x.shape[axis].

axis 整數,可選

計算 idct 的軸;默認值在最後一個軸上(即 axis=-1 )。

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

標準化模式(見注釋)。默認為“backward”。

overwrite_x 布爾型,可選

如果為 True,則 x 的內容可以被銷毀;默認為假。

workers 整數,可選

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

orthogonalize 布爾型,可選

是否使用正交化 IDCT 變體(見注釋)。默認為 Truenorm="ortho"False 否則。

返回

idct 真實的ndarray

轉換後的輸入數組。

注意

對於一維數組x,idct(x, norm='ortho')等於 MATLABidct(x).

警告

對於 type in {1, 2, 3}norm="ortho" 打破了與直接傅裏葉逆變換的直接對應關係。要恢複它,您必須指定 orthogonalize=False

對於norm="ortho" dct idct 在兩個方向上均按相同的總體因子進行縮放。默認情況下,變換也是正交的,對於類型 1、2 和 3,這意味著變換定義被修改以給出 IDCT 矩陣的正交性(有關完整定義,請參閱 dct )。

‘The’ IDCT 是IDCT-II,與標準化的DCT-III 相同。

除了歸一化和類型之外,IDCT 等價於普通 DCT。 DCT 類型 1 和 4 是它們自己的逆,而 DCT 2 和 3 是彼此的逆。

例子

類型 1 DCT 相當於實數 even-symmetrical 輸入的 DFT。輸出也是真實的和even-symmetrical。 IFFT 輸入的一半用於生成 IFFT 輸出的一半:

>>> from scipy.fft import ifft, idct
>>> import numpy as np
>>> ifft(np.array([ 30.,  -8.,   6.,  -2.,   6.,  -8.])).real
array([  4.,   3.,   5.,  10.,   5.,   3.])
>>> idct(np.array([ 30.,  -8.,   6.,  -2.]), 1)
array([  4.,   3.,   5.,  10.])

相關用法


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