The Discrete Fourier Transform:Theory, Algorithms and Applications