Fourier Transforms

This lesson describes the implementation of Fourier transform.

We'll cover the following

Introduction

Fourier transform is a method for expressing a function as a weighted sum of sinusoids. Fourier transforms are computed on a time domain signal to check its components in the frequency domain. Fourier transform has vast applications including signal, noise, image, and audio processing.

When both the function and its Fourier transform are replaced with their discretized counterparts, it is called the discrete Fourier transform (DFT). The fftpack module in SciPy helps the user compute the DFT using the algorithm Fast Fourier Transform (FFT).

The FFT y[k]y[k] (length NN) of sequence x[n]x[n] (length NN) is defined as:

y[k]=n=0N1e2πjknNx[n]y[k]=\sum_{n=0}^{N-1}e^{-2 \pi j \frac{kn}{N}}x[n]

We can go from the frequency domain to the time domain using an inverse Fourier transform. This is defined as:

x[n]=1Nk=0N1e2πjknNy[k]x[n]=\frac{1}{N}\sum_{k=0}^{N-1}e^{2 \pi j \frac{kn}{N}}y[k]

The FFT is computed using fft() and inverse transform is computed using ifft().

Get hands-on with 1200+ tech skills courses.