scipy.fft.idct

scipy.fft.idct(x, type=2, n=None, axis=- 1, norm=None, overwrite_x=False, workers=None)[源代码]

返回任意类型序列的离散余弦反变换。

参数
xarray_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{“向后”,“正向”,“向前”},选填

规格化模式(请参见注释)。默认值为“向后”。

overwrite_x布尔值,可选

如果为True,则 x 可以销毁;默认值为false。

workers整型,可选

用于并行计算的最大工作进程数。如果为负值,则值从 os.cpu_count() 。看见 fft 了解更多详细信息。

退货
idct真实的ndarray

转换后的输入数组。

参见

dct

前向DCT

注意事项

对于一维数组 xidct(x, norm='ortho') 等于MATLAB idct(x)

‘IDCT’是IDCT-II,它与标准化的DCT-III相同。

除了规格化和类型外,IDCT等同于普通的DCT。DCT类型1和4是它们自己的逆,DCT 2和DCT 3是彼此的逆。

示例

对于实数、偶数对称输入,类型1 DCT等同于DFT。输出也是真实的,甚至是对称的。IFFT输入的一半用于生成IFFT输出的一半:

>>> from scipy.fft import ifft, idct
>>> 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.])