Topic: The (i)MDCT (Read 5256 times)
0 Members and 1 Guest are viewing this topic.

## The (i)MDCT

##### 2004-04-05 15:51:39
Hi !

Because of the the 2 threads
- "Overlap add in window swithing"
- "Downside of transform coders"

I prepared a picture that describes my view of the (i)MDCT.
I don't know if this is common practise to do it this way, but it has proven to be very handy for me.

AFAIK this structure is compatible to MP3 but I don't know for sure right now.
The Vorbis' MDCT is a flipped version of this (you have to reverse the time samples)
And of course: Everyone does another scaling.

bye,
Sebi

## The (i)MDCT

##### Reply #1 – 2004-04-05 16:11:30
I'm unsure wether this is the proper place to ask questions... Or should I do in original threads? Anyway..

What about the block you call "MDCT Core  Transform"? What's the difference of this compared to a normal DCT transform? And what is the difference to a normal FT? You say it's possible to do the core MDCT with an FT of size n/2 and more butterflies. ...i really would like to learn this stuff, but it's still too complicated for me...

## The (i)MDCT

##### Reply #2 – 2004-04-05 16:26:21
Quote
What about the block you call "MDCT Core  Transform"? What's the difference of this compared to a normal DCT transform? And what is the difference to a normal FT? You say it's possible to do the core MDCT with an FT of size n/2 and more butterflies. ...i really would like to learn this stuff, but it's still too complicated for me...

This is just a (orthonormal) linear mapping. You can express a vector by a weighted sum of a bunch of other vectors. The "MDCT Core Transform" computes such weights for a special set of basis vectors. The DCT uses another special set of basis vectors - not suited for "time domain alias cancellation" which removes blocking artefacts in the MDCT world.

This is basically "linear algebra".

This "core transform" block can be computed in O(n*log(n)) if you reduce it to an n/2-point complex FFT. This is pretty complicated to understand for a newbie, I guess. Unfortunately I don't have any good references on this right now. Try "Numerical Recipes" for a start.

bye,
Sebi