scipy.fftpack.idct¶
- scipy.fftpack.idct(x, type=2, n=None, axis=- 1, norm=None, overwrite_x=False)[源代码]¶
返回任意类型序列的离散余弦反变换。
- 参数
- 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{无,‘正畸’},可选
规格化模式(请参见注释)。默认值为None。
- overwrite_x布尔值,可选
如果为True,则 x 可以销毁;默认值为false。
- 退货
- idct真实的ndarray
转换后的输入数组。
参见
dct
前向DCT
注意事项
对于一维数组 x ,
idct(x, norm='ortho')
等于MATLABidct(x)
。‘the’IDCT是类型2的IDCT,与类型3的DCT相同。
类型1的IDCT是类型1的DCT,类型2的IDCT是类型3的DCT,类型3的IDCT是类型2的DCT,类型4的IDCT是类型4的DCT,这些类型的定义见
dct
。示例
对于实数、偶数对称输入,类型1 DCT等同于DFT。输出也是真实的,甚至是对称的。IFFT输入的一半用于生成IFFT输出的一半:
>>> from scipy.fftpack 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) / 6 array([ 4., 3., 5., 10.])