cupyx.scipy.fft.dct#

cupyx.scipy.fft.dct(x, type=2, n=None, axis=-1, norm=None, overwrite_x=False)[源]#

返回数组 x 的离散余弦变换。

参数:
  • x (cupy.ndarray) – 输入数组。

  • type ({1, 2, 3, 4}, 可选的) – DCT 的类型(参见备注)。默认类型为 2。目前 CuPy 仅支持类型 2 和 3。

  • n (int, 可选的:) – 变换的长度。如果 n < x.shape[axis],则 x 将被截断。如果 n > x.shape[axis],则 x 将被零填充。默认情况下,结果为 n = x.shape[axis]

  • axis (int, 可选的) – 计算 DCT 的轴;默认为最后一个轴(即 axis=-1)。

  • norm ({"backward", "ortho", "forward"}, 可选的) – 归一化模式(参见备注)。默认为 “backward”。

  • overwrite_x (bool, 可选的) – 如果为 True,x 的内容可能会被破坏;默认为 False。

返回:

y – 变换后的输入数组。

返回类型:

cupy.ndarray 实数型的

另请参阅

scipy.fft.dct()

备注

对于一维数组 xdct(x, norm='ortho') 等同于 MATLAB 的 dct(x)

对于 norm="ortho"dctidct 都以相同的整体因子进行双向缩放。默认情况下,变换也被正交化,对于类型 1、2 和 3,这意味着变换定义被修改以使 DCT 矩阵正交(见下文)。

对于 norm="backward"dct 没有缩放,idct1/N 缩放,其中 N 是 DCT 的“逻辑”大小。对于 norm="forward"1/N 归一化应用于正向 dct,而 idct 不进行归一化。

CuPy 目前仅支持 DCT 类型 2 和 3。“DCT”通常指的是 DCT 类型 2,“逆 DCT”通常指的是 DCT 类型 3 [1]。有关每种类型的完整说明,请参阅 scipy.fft.dct() 文档。

参考