Skip to article frontmatterSkip to article content

6.11Fourier transform

#%config InlineBackend.figure_format = 'svg'
from pylab import *
Could not save font_manager cache Lock error: Matplotlib failed to acquire the following lock file:
    /home/runner/.cache/matplotlib/fontlist-v390.json.matplotlib-lock
This maybe due to another process holding this lock file.  If you are sure no
other Matplotlib process is running, remove this file and try again.

Periodic functions can be approximated by a series of sine and cosine functions. This leads us to the Fourier transform of a function defined on a bounded interval and we can think of this function being extended periodically to R\re.

6.11.1Fourier series

Let f:[π,π]Rf : [-\pi,\pi] \to \re be a function which is extended periodically to the whole real line. The Fourier series of ff is defined as

Sf(x)=a0+k=1[akcos(kx)+bksin(kx)]Sf(x) = a_0 + \sum_{k=1}^\infty [ a_k \cos(k x) + b_k \sin(k x) ]

where

a0=12πππf(x)dxak=1πππf(x)cos(kx)dx,k=1,2,bk=1πππf(x)sin(kx)dx,k=1,2,\begin{align*} a_0 &= \frac{1}{2\pi} \int_{-\pi}^\pi f(x) \ud x \\ a_k &= \frac{1}{\pi} \int_{-\pi}^\pi f(x) \cos(k x) \ud x, \qquad k=1, 2, \ldots \\ b_k &= \frac{1}{\pi} \int_{-\pi}^\pi f(x) \sin(k x) \ud x, \qquad k=1, 2, \ldots \end{align*}

Due to periodicity of ff, the wavenumber kk only takes integer values.

The Fourier series can be written as

Sf(x)=k=f^keikx,f^k=12πππf(x)eikxdxSf(x) = \sum_{k=-\infty}^\infty \hat f_k \ee^{\ii k x}, \qquad \hat f_k = \frac{1}{2\pi} \int_{-\pi}^\pi f(x) \ee^{-\ii k x} \ud x

where

f^0=a0,f^k={12(ak+ibk),k=1,2,12(akibk),k=+1,+2,\hat f_0 = a_0, \qquad \hat f_k = \begin{cases} \half(a_k + \ii b_k), & k = -1, -2, \ldots \\ \half(a_k - \ii b_k), & k = +1, +2, \ldots \end{cases}

If f(x)f(x) is real, ak,bka_k, b_k are real and we have

f^k=f^k,k=1,2,\hat f_{-k} = \conj{\hat f_k}, \qquad k=1,2,\ldots

6.11.2Convergence of Fourier series

When is f=Sff = Sf ? To talk of such questions, let us define the truncated series

Snf(x)=a0+k=1n[akcos(kx)+bksin(kx)]=k=nnf^keikxS_n f(x) = a_0 + \sum_{k=1}^n [ a_k \cos(k x) + b_k \sin(k x) ] = \sum_{k=-n}^n \hat f_k \ee^{\ii k x}

Note that we have an expansion in terms of an orthogonal basis ϕk(x)=eikx\phi_k(x) = \ee^{\ii k x}, since

ππϕj(x)ϕk(x)dx=2πδjk\int_{-\pi}^\pi \phi_j(x) \phi_k(x) \ud x = 2 \pi \delta_{jk}

There are three types of convergence wrt nn \to \infty.

  1. pointwise convergence

    Snf(x)f(x),xS_n f(x) \to f(x), \qquad \forall x
  2. uniform convergence

    Snff0\norm{S_n f - f}_\infty \to 0
  3. mean square convergence

    Snff20\norm{S_n f - f}_2 \to 0

where the norms are defined as

f=maxx[π,π]f(x),f2=(ππf(x)2dx)12\norm{f}_\infty = \max_{x \in [-\pi,\pi]} |f(x)|, \qquad \norm{f}_2 = \left( \int_{-\pi}^\pi |f(x)|^2 \ud x \right)^\half

Uniform convergence is the strongest property, and it implies pointwise and mean square convergence Tveito & Winther, 2005.

Clearly we need f^k0|\hat f_k| \to 0 as k|k| \to \infty for the series to converge and the rate of decay needs to be sufficiently fast. The rate of decay of f^k\hat f_k depends on the smoothness of the function.

The term piecewise continuous can be replaced with bounded variation. The proof is based on an adaptation of Gander & Kwok, 2018, Theorem 4.2.

References
  1. Tveito, A., & Winther, R. (2005). Introduction to Partial Differential Equations (Vol. 29). Springer-Verlag. 10.1007/b138016
  2. Davis, P. J. (1963). Interpolation and Approximation. Dover Publications.
  3. Shen, J., Tang, T., & Wang, L.-L. (2011). Spectral Methods: Algorithms, Analysis and Applications (Vol. 41). Springer Berlin Heidelberg. 10.1007/978-3-540-71041-7
  4. Gander, M. J., & Kwok, F. (2018). Numerical Analysis of Partial Differential Equations Using Maple and MATLAB. Society for Industrial. 10.1137/1.9781611975314
  5. Rudin, W. (1976). Principles of Mathematical Analysis (3rd ed.). McGraw Hill.