# IDCT¶

standard mode | Standard category

## Inputs¶

• `dct` (vector_real) - the discrete cosine transform

## Outputs¶

• `idct` (vector_real) - the inverse cosine transform of the input array

## Parameters¶

• `dctType` (integer ∈ [2, 3], default = 2) :

the DCT type

• `inputSize` (integer ∈ [1, ∞), default = 10) :

the size of the input array

• `liftering` (integer ∈ [0, ∞), default = 0) :

the liftering coefficient. Use ‘0’ to bypass it

• `outputSize` (integer ∈ [1, ∞), default = 10) :

the number of output coefficients

## Description¶

This algorithm computes the Inverse Discrete Cosine Transform of an array. It can be configured to perform the inverse DCT-II form, with the 1/sqrt(2) scaling factor for the first coefficient or the inverse DCT-III form based on the HTK implementation.

IDCT can be used to compute smoothed Mel Bands. In order to do this:

• compute MFCC

• smoothedMelBands = 10^(IDCT(MFCC)/20)

Note: The second step assumes that ‘logType’ = ‘dbamp’ was used to compute MFCCs, otherwise that formula should be changed in order to be consistent.

Note: The ‘inputSize’ parameter is only used as an optimization when the algorithm is configured. The IDCT will automatically adjust to the size of any input.

References:

[1] Discrete cosine transform - Wikipedia, the free encyclopedia, http://en.wikipedia.org/wiki/Discrete_cosine_transform [2] HTK book, chapter 5.6 , http://speech.ee.ntu.edu.tw/homework/DSP_HW2-1/htkbook.pdf

## See also¶

DCT (standard) DCT (streaming) IDCT (streaming) MFCC (standard) MFCC (streaming) MelBands (standard) MelBands (streaming)