I'm trying to understand the difference between applying the Discrete Cosine Transform (DCT) and the Inverse Discrete Fourier Transform (IDFT) to the log Mel-filterbank energies as explained in the answer here. So, I tried the following pretty simple example in MATLAB:
x1 = [1. 2. 3.]; X1 = fft(x1); x2 = ifft(abs(X1)); x3 = ifft(x1);
The classes of the results are:
Why do x2 and x3 have two different classes?
Here is the file 'myVoice.wav' in the following test:
[signal, fs] = audioread('myVoice.wav'); segmentLength = 240; x = signal(20490 : 20490 + segmentLength - 1); x = x .* hamming(segmentLength); res = ifft(abs(fft(x)) .^ 2);