Source: http://www.cs.cf.ac.uk/Dave/CM2208/LECTURES/CM2208_Fourier_Transforms_01_Theory.pdf