Fourier分析

拟合

张瑞
中国科学技术大学数学科学学院

Fourier分析

连续Fourier分析

一定条件下,任何周期为$2\pi$的函数$f(x)$都可以由一系列周期为$2\pi$的正弦函数叠加而成。

\[f(x)=\sum_{n=0}^\infty A_n\sin(nx+\phi_n) \]

展开后,可以写成

\[f(x)=\frac{a_0}2+\sum_{n=1}^\infty(a_n\cos(nx)+b_n\sin(nx)) \]

注意到

\[\begin{aligned} &\int_{-\pi}^{\pi}1^2dx=2\pi \\ &\int_{-\pi}^{\pi}\cos(kx)\cos(lx)dx=\begin{cases} 0, l\neq k\\ \pi, l=k \end{cases} \\ &\int_{-\pi}^{\pi}\sin(kx)\sin(lx)dx=\begin{cases} 0, l\neq k\\ \pi, l=k \end{cases} \\ &\int_{-\pi}^{\pi}\cos(kx)\sin(lx)dx=0 \end{aligned} \]

则有

\[\int_{-\pi}^{\pi}f(x)\sin(mx)dx=\int_{-\pi}^{\pi}b_m\sin(mx)\sin(mx)dx=b_m\pi \]

可以得到

\[b_m=\frac1\pi\int_{-\pi}^{\pi}f(x)\sin(mx)dx \]

类似,有

\[a_m=\frac1\pi\int_{-\pi}^{\pi}f(x)\cos(mx)dx \]

定理 1.
若周期$2\pi$的函数$f(x)$在任意有限区间上逐段光滑,则

  1. 它的Fourier级数在整个数轴上都收敛;在连续点收敛到$f(x)$,在间断点收敛到$\frac{f(x+)+f(x-)}2$
  2. $f(x)$在整个数轴上处处连续,则它的Fourier级数在整个数轴上绝对一致收敛到$f(x)$

离散Fourier分析

若函数$f(x)$在等距节点$\{x_j=\frac{2\pi}Nj\}_{j=0}^{N-1}$的值$f_j$。给出如下形式的拟合函数

\[\frac{a_0}2+\sum_{k=1}^{N=1}(a_k\cos(kx)+b_k\sin(kx)) \]

注意到

\[(\sin(kx),\sin(lx))=\sum_{j=0}^{N-1}\sin(kx_j)\sin(lx_j)=\begin{cases} 0, l\neq k \\ \frac{N}2, l=k\end{cases} \]
\[(\cos(kx),\cos(lx))=\sum_{j=0}^{N-1}\cos(kx_j)\cos(lx_j)=\begin{cases} 0, l\neq k \\ \frac{N}2, l=k\neq 0 \\ N, l=k=0 \end{cases} \]

以及

\[(\cos(kx),\sin(lx))=0 \]

则,求解系数$a_0,a_1,b_1,\cdots,a_{N-1},b_{N-1}$的法方程是一个对角阵,则有

\[\begin{aligned} a_k=\frac2N\sum_{j=0}^{N-1}\cos(kx_j)f_j \\ b_k=\frac2N\sum_{j=0}^{N-1}\sin(kx_j)f_j \\ \end{aligned} \]

更一般地,若$f(x)$是以$2\pi$为周期的复函数,取$[0,2\pi]$$N$个等距点$\{x_j=\frac{2\pi}Nj\}_{j=0}^{N-1}$,求拟合函数

\[S_{N-1}(x)=\sum_{k=0}^{N-1}C_ke^{ikx} \]

易得

\[C_k=\frac1N\sum_{j=0}^{N-1}f_je^{-ikx_j}=\frac1N\sum_{j=0}^{N-1}f_je^{-ik\frac{2\pi}Nj} \]

称为离散Fourier变换

\[f_j=\sum_{k=0}^{N-1}C_ke^{ij\frac{2\pi}Nk} \]

称为离散Fourier反变换

\[\begin{aligned} \sum_{k=0}^{N-1}C_ke^{ik\frac{2\pi}Nl}=&\frac1N\sum_{k=0}^{N-1}\sum_{j=0}^{N-1}f_je^{-ik\frac{2\pi}N(j-l)} \\ =&\sum_{j=0}^{N-1}f_j\cdot\sum_{k=0}^{N-1}\frac1Ne^{-ik\frac{2\pi}N(j-l)} \\ \end{aligned} \]

注意到

\[\sum_{k=0}^{N-1}e^{-ik\frac{2\pi}N(j-l)}=\begin{cases} N , j=l \\ 0, j\neq l \end{cases} \]

即可得到Fourier反变换公式。

快速Fourier变换

对Fourier变换再作一般性的定义

定义 1.
给定$N$个实(复)序列

\[A_0,A_1,\cdots,A_{N-1} \]

称序列

\[x_j=\sum_{k=0}^{N-1}A_ke^{i\frac{2\pi}Nkj}, j=0,1,\cdots,N-1 \]

为序列$A_i$有限Fourier变换

可以验证

\[A_l=\frac1N\sum_{j=0}^{N-1}x_je^{-i\frac{2\pi}Njl} \]

$W_n=e^{i\frac{2\pi}N}$,则

\[x_j=\sum_{k=0}^{N-1}A_k((W_n)^j)^k , j=0,1,\cdots,N-1 \]

每求一个$x_j$需要$N$个乘法,总共需要$O(N^2)$的计算量。 快速Fourier变换(FFT)就是充分利用$W_N$的性质,大大减少计算的一种有效方法。

谢谢

vertical slide 2

目录

本节读完

例 1.

[#ex9-1-0].