scipy.fftpack.

idct#

scipy.fftpack.idct(x, тип=2, n=None, ось=-1, norm=None, overwrite_x=False)[источник]#

Вернуть обратное дискретное косинусное преобразование последовательности произвольного типа.

Параметры:
xarray_like

Входной массив.

тип{1, 2, 3, 4}, опционально

Тип DCT (см. Примечания). Тип по умолчанию — 2.

nint, необязательный

Длина преобразования. Если n < x.shape[axis], x обрезается. Если n > x.shape[axis], x дополняется нулями. По умолчанию приводит к n = x.shape[axis].

осьint, необязательный

Ось, вдоль которой вычисляется idct; по умолчанию используется последняя ось (т.е., axis=-1).

norm{None, 'ortho'}, опционально

Режим нормализации (см. Примечания). По умолчанию None.

overwrite_xbool, необязательно

Если True, содержимое x может быть уничтожен; по умолчанию False.

Возвращает:
idctndarray действительных чисел

Преобразованный входной массив.

Смотрите также

dct

Прямое DCT-преобразование

Примечания

Для одномерного массива x, idct(x, norm='ortho') равно MATLAB idct(x).

‘The’ IDCT — это IDCT типа 2, который совпадает с DCT типа 3.

IDCT типа 1 — это DCT типа 1, IDCT типа 2 — это DCT типа 3, а IDCT типа 3 — это DCT типа 2. IDCT типа 4 — это DCT типа 4. Для определения этих типов см. dct.

Примеры

DCT типа 1 эквивалентен DFT для вещественных, четно-симметричных входных данных. Выход также вещественный и четно-симметричный. Половина входа IFFT используется для генерации половины выхода IFFT:

>>> from scipy.fftpack 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) / 6
array([  4.,   3.,   5.,  10.])