Discrete Cosine Transform

589 views

What is this model?

In: Mathematics

Anonymous 0 Comments

Imagine I give you a list of numbers that repeats endlessly.

This is a ‘periodic function’ – it keeps repeating.

As it turns out, any periodic function can be represented as the sum of other periodic functions based on frequency. If your list is 20 numbers long, I can represent it as a sum of 20 functions that have varying coefficients and each of the 20 possible frequency inputs. This is known as a ‘transform’ (the term is a bit more general than this) because it ‘transforms’ a time-domain representation (your list of numbers, presumably generated at even time intervals) into a frequency-domain representation (a set of amplitudes at each frequency).

A Discrete Cosine Transform is one possible way to do this, involving a sum of cosines at every frequency.

There are a variety of reasons for using a DCT over other options, but they’re generally related to an expectation of smoothness in the original signal and exploiting that expectation to reduce the number of terms you really need (additional terms aren’t all that important). I’m not sure how to ELI5 *why* you’d use a DCT over a conventional FFT without getting pretty deep into the math and coding.