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.