breaking chain logo
Free
Computer
Shop

What is a Modified Discrete Cosine Transform?

The Vorbis audio format, uses something called the Modified Discrete Cosine Transform (MDCT). I was interested in how this worked, but did not know where to start. Is this the name of a particular algorithm, or does it just mean something like a cosine transform, but not quite right? So I asked the Vorbis mailing list. Nobody answered.

There is a document called Vorbis Illuminated, which describes some of the Vorbis algorithm, but the last time I looked the section called "MDCT" was empty except for the title.

• Update 2020-10-16: Actually, that link is dead, and the domain name mathdogs.com has been usurped by dogfood marketing. For a few days I thought the whole project was dead, but it is still at xiph.org.

It was not a high priority, so I did other things for about a year. I got interested again, so I did a Google search for MDCT. I got just a few hits, one of which was my own mailing list question from a year previous.

I can almost hear you saying that you are tired of people whining about lack of documentatation, but this is not a complaint, it is an announcement that I did something about it. I searched the local library and the internet, came up with a few definitions, removed the errors and differing sign conventions and worked out the details.

This doesn't count as research; it is, of course "well known" in the mathematician's sense. Nevertheless, my experience leads me to believe that it is not perfectly trivial to actually become one of those who know.

Abstract:

Assuming only basic trigonometry, we define the Modifed Discrete Cosine Transform (MDCT), and prove its basic properties. The dread words "it can be shown" do not occur.

This document is not complete, but I am releasing the draft because there is enough here that it may be useful to someone. Comments and suggestions for improvement are welcome, especially if you know the answers to any of the questions at the end.


I already got two suggestions:
May I suggest compressing the Postscript file, possibly with zip or gzip, to save bandwidth?

Would it possible for you to make a PDF file of this document as well, for all us windows users?

All four of these are exactly the same contents, pick the one most convenient.

MDCT Paper in PostScript form 2003-05-22 (~110Kbytes)
same gzip'ed (~41Kbytes)

MDCT Paper in PDF form 2003-05-22 (~110Kbytes)
same gzip'ed (~80Kbytes)


Update 2020-10-28

I made a few additions after 2003, but since I haven't thought about this since about 2005, I changed the Licence from "Draft, please don't copy" to Creative Commons. After 15 years it's not a draft.

Please do copy it, it saves my bandwidth. Also, PDF seems to be a de facto web standard, so that's it.

MDCT Paper in PDF form 2007-02-20 (~137Kbytes)

Read the (bottom of the) home page (FCS main page) for information on how to contact me.