Matlab file <transform.m> takes in a signal and takes either an FFT or a DCT of that signal.

Later, <itransform.m> is used to take the inverse transform after the signal has been compressed.

Taking a DCT of a signal is useful because there is less data than with an FFT; no imaginary numbers. But an FFT is needed if magnitude manipulation, like dropping every odd magnitude, is to be done.