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')равно MATLABidct(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.])