Forums

MDCT

Started by Unknown May 9, 2005
Hi Guys,

Can anyone explain me How is MDCT different from basic DCT? how does
MDCT achieve Time Domain Alias Cancellation ( TDAC ) which is useful in
MPEG AUDIO compression.

TIA.

cheers.
Bhanu

<hibhanu@gmail.com> wrote in message 
news:1115638409.024234.242490@z14g2000cwz.googlegroups.com...
> Can anyone explain me How is MDCT different from basic DCT?
Mainly, it's that MDCT uses overlapping blocks, whereas the DCT uses disjoint blocks. MDCT basis vectors are windowed sinusoids, whereas DCT basis vectors are truncated sinusoids. In the DCT, these sinusoids are all integer multiples of some frequency, while in MDCT, they are all integer+0.5 multiples.
> how does > MDCT achieve Time Domain Alias Cancellation ( TDAC ) which is useful in > MPEG AUDIO compression.
I don't have time for a good explanation, so I'll just tell you the magic part... Consider just the sinusoids (unwindowed) upon which the MDCT is based. In the region of overlap between two blocks, the sinusoids from one block are all symmetric, while the sinusoids from the other block are all antisymmetric. Without windowing, basis vectors from adjacent blocks would always be orthogonal. Sinusoids within the same block are all mutually orthogonal because of the frequency spacing chosen. The shape of the window applied to the basis vectors is designed to preserve both of these orthogonality properties. -- Matt
hibhanu@gmail.com wrote:
> Can anyone explain me How is MDCT different from basic DCT? how does > MDCT achieve Time Domain Alias Cancellation ( TDAC ) which is useful
in
> MPEG AUDIO compression.
The MDCT *is* a DCT, a type-IV DCT to be precise (the "basic" DCT is type II), except that the inputs are twice as long as they normally are. This causes them to be aliased in exactly the same way that frequencies beyond the Nyquist frequency are aliased, but the aliasing is such that it cancels for overlapping blocks (which allows the signal to be reconstructed in the IMDCT). For a more precise description/derivation of the relation, see e.g.: http://en.wikipedia.org/wiki/Modified_discrete_cosine_transform Cordially, Steven G. Johnson PS. Windowing is also somewhat different for the MDCT than for other Fourier transforms, in order that the aliasing/invertibility propert be preserved; see the above URL.
The different types of DCT and their fast implementation are well
detailed here...

"Split Radix Algorothms for Discrete Trigonometric
 Transforms" by Gerlind Plonka and Manfred Tasche

http://www.uni-duisburg.de/FB11/STAFF/PLONKA/splitradix2.ps