Numerical Calculations of Fourier Transforms

Typically a Discrete Fourier Transform (DFT) is used to numerically calculate the Fourier transform of a function. A DFT algorithm takes a discrete sequence of $N$ equally spaced points $(g_0,g_1,\cdots,g_{N-1})$ and returns the Fourier components of a continuous periodic that passes through all of those points. There are infinitely many periodic functions that will pass a discrete sequence of points. Here we restrict ourselves to the periodic function that can be constructed using only those complex exponentials in the first Brillouin zone.

The Fourier transform of a function $g(t)$ is $G(f)$. The values of $g(t)$ at equally spaced points can be input into the textbox in the lower left as three columns. If the data you have is not equally spaced, use linear interpolation, or a cubic spline to generate equally spaced points. Alternatively, the functional form of $g(t)$ can be given and equally spaced points will be calculated. If is also possible to specify $G(f)$ by providing equally spaced points or by giving its functional form in the first Brillouin zone.

Real space

Reciprocal space



$t$ [s]

$f$ [Hz]

$t$ [s] $\text{Re}[g(t)]$ $\text{Im}[g(t)]$ 

$f$ [Hz] $\text{Re}[G(f)]$ $\text{Im}[G(f)]$ 

from $t_1=$  to $t_2=$  for $N=$  points


for $N=$  points using a spacing $\Delta f=$  Hz