当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。