I am constructing a MFCC and come to a section which is kind of confusing me.

It is:

Step 4: Fast Fourier Transform

and has this equation:

enter image description here

Now I understand that FFT needs to be carried out, I just don't understand where the values are meant for:





Up to now, I have:

  • Inputted the raw signal (vector)
  • Pre-emphasis filtering on the signal
  • Carried out "Framing" (vector of vectors)
  • Computed Hamming Window

It's just this step I am unsure of.

Hope someone can help :)


By convention they mean the following:

$x(t)$ = Input in the time domain

$h(t)$ = Filter impulse response (time domain)

$H(w)$ = Filter frequency response

$X(w)$ = Input in the frequency domain

In the equation that you wrote the two "*" symbols mean different things. In the time domain it is convolution, in the frequency domain it is multiplication. The equation is just saying that convolution in the time domain (which is how you do time domain filtering) is equivalent to multiplication in the frequency domain.

  • $\begingroup$ So basically, I have a 2D vector containing values (up to the hamming window) so are these values x(t)? If so, then hat is h(t) because I only have 1 set of values, not 2? So this equation is basically telling me to get the FFT results of x(t) ...? $\endgroup$
    – Phorce
    Dec 2 '12 at 2:07
  • $\begingroup$ So basically y(w) = FFT[x(t)]? $\endgroup$
    – Phorce
    Dec 2 '12 at 2:13
  • $\begingroup$ Please describe what exactly you are trying to do. $\endgroup$
    – Jim Clay
    Dec 2 '12 at 2:20
  • $\begingroup$ Hey, basically, I'm trying to implement an MFCC and I am reading this paper: arxiv.org/pdf/1003.4083.pdf and in "Step 4" it describes the Fourier Transform.. I have followed the steps up until this point but am getting confused at this stage. Thank you for your help, it means a lot $\endgroup$
    – Phorce
    Dec 2 '12 at 2:26
  • $\begingroup$ $x(t)$, in this case, is each frame of data that has already had the Hamming window applied to it. Step 4 is simply telling you to calculate the FFT of each frame of data in step 5. In step 5 you filter the frames with the Mel filters. Presumably you calculate the frequency domain response of the filters as well, and then you just multiply $X(w)$ (your transformed frames), by $H(w)$ (the Mel filters' frequency response). $\endgroup$
    – Jim Clay
    Dec 2 '12 at 2:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.