PDF
The Discrete Fourier Transform1Understanding the Fast Fourier Transform ()ContentsIntroduction ........................................................................................... 1The Discrete Fourier Transform ..................................................................... 1The CooleyTukey FFT Algorithm .................................................................. 2Python Implementation ............................................................................. 3Applications ........................................................................................... 4Conclusion ............................................................................................ 4Bibliography .......................................................................................... 5The FFT is the most important numerical algorithm of our lifetime.Introduction使The Discrete Fourier Transformprimitive -th root of unity The CooleyTukey FFT Algorithm2Key PropertiesLinearityParsevals theoremConvolution theoremShift propertyA Visual IntuitionThe CooleyTukey FFT Algorithmbutterfly operationComplexity AnalysisAlgorithmMultiplicationsAdditionsTotal Python Implementation3Speedup factorPython Implementationimport numpy as npdef fft(x): """Compute the FFT of sequence x (length must be a power of 2).""" N = len(x) if N == 1: return x # Split into even and odd indices even = fft(x[0::2]) odd = fft(x[1::2]) # Twiddle factors: ω_N^k for k = 0, ..., N/2 - 1 T = np.exp(-2j * np.pi * np.arange(N // 2) / N) # Butterfly: combine E_k and O_k return np.concatenate([ even + T * odd, # X_k = E_k + ω^k · O_k even - T * odd # X_{k+N/2} = E_k - ω^k · O_k ])# Verify against NumPy's FFTif __name__ == "__main__": x = np.random.random(1024) assert np.allclose(fft(x), np.fft.fft(x)) print("FFT implementation verified!")What the FFT Reveals Conclusion4ApplicationsThe FFT reduced the operation count for an -point transform from to . For , thats a factor of nearly 100,000. This single algorithm change made real-time digital signal processing possible. Press et al. [4]Polynomial multiplicationLarge integer multiplicationPartial differential equations广使ConvolutionFFT in the Real WorldConclusion Bibliography5divide and conquer via the symmetry of roots of unityBibliographyIntroduction to Applied MathematicsThe Scientist and Engineer's Guide to Digital Signal ProcessingProceedings of the IEEENumerical Recipes: The Art of Scientific Computing

HTML view coming soon.

Download PDF for the full formatted version.