Source: http://www.ccs.fau.edu/~bressler/EDU/NTSA/References/FFT_Computing/FourierVI.pdf