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
注意事项
对于一维数组 x ,
idct(x, norm='ortho')
等于MATLABidct(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.])