Discrete Fourier transform

Motivation

See several coupled oscillators#Transformation to Normal Coordinates via Discrete Fourier Transform, to see it in the context of a discrete chain of oscillators.

In coupled oscillator systems, we seek to decouple the equations of motion by transforming to normal coordinates:

q(t)=VQ(t)

where:

Q¨k+ωk2Qk=0

Key point: After the transformation, we still need to solve differential equations for the time evolution of the system, but they are simpler (decoupled).

On the other hand, in image processing, an image (e.g. a 3×3 array fi,j) is static. We apply the discrete Fourier transform (DFT):

Fu,v=i,jfi,je2πi(iu3+jv3)

where:

Key point: The DFT expresses the image as a sum of spatial frequency patterns (sinusoids), but no time evolution is involved. We simply compute these coefficients once:

fi,j=19u,vFu,ve2πi(iu3+jv3)

Nuance: The analogy with normal modes of oscillators rests on an assumed or implicit spatial coupling between neighboring pixels—similar to how springs couple oscillators. In oscillators, the normal mode basis arises from diagonalizing a specific coupling matrix (spring forces); in images, the DFT basis is meaningful because we assume or model that nearby pixel values are correlated (as if coupled), making spatial sinusoids a natural basis for decomposition. Without this assumption, applying the DFT to static data is just a mathematical choice, not one tied to any physical coupling.

Note: The Fast Fourier Transform (FFT) is a fast algorithm to compute the DFT. The mathematical meaning is the same; FFT just makes it computationally feasible.

Definition

Let 2(Zn) denote the space of complex-valued functions on the finite cyclic group Zn=0,1,,n1, (see l^p(Z_n)) endowed with the Hermitian inner product:

f,g=k=0n1f(k)g(k).

The standard basis of 2(Zn) is given by the delta functions:

δj(k)={1if k=j,0otherwise,

for j=0,1,,n1. Any function f2(Zn) can be written as:

f=j=0n1f(j)δj.

Define the Fourier basis {χk}k=0n1 by:

χk(j)=1ne2πikj/n,

for k=0,1,,n1. These are orthonormal characters of the group Zn, forming a unitary basis for 2(Zn).

The Discrete Fourier Transform (DFT) of f2(Zn) consists of the coordinates of f with respect to the Fourier basis:

f^(k)=f,χk=1nj=0n1f(j)e2πikj/n.

Thus,

f=k=0n1f^(k)χk,

and the inverse DFT recovers f from its coordinates:

f(j)=k=0n1f^(k)χk(j)=1nk=0n1f^(k)e2πikj/n.

Given a vector f=(f(0),f(1),,f(n1))T2(Zn), and letting f^ be its Discrete Fourier Transform, the relation is:

f^=Ffandf=Ff^

The change of basis is given by:

Fkj=1nωkj,0k,j<n

where ω=e2πi/n
For example, for n=4, ω=e2πi/4=i1=i. Then:

F=12[11111i1i11111i1i]

Related: Fourier transform.
Related: Fourier series expansion.
Related: convolution (discrete)