傅里叶级数和傅里叶变换

傅里叶级数

傅里叶提出:任何的周期性函数$f(x)$都可以用一组三角函数线性组合来表示:$\{ \mathbb{I},\sin nx,\cos nx \}_{n=0}^{+\infin}$,其中集合中的任意一对函数都正交,假设$f(x)$的周期为$2\pi$,则$f(x)$可表示为:
f(x)=\frac{a_0}{2}+\sum_{n=1}^{+\infin}a_n\sin(nx)+\sum_{n=1}^{+\infin}b_n\cos(nx)\quad\quad(1)

傅里叶级数是指上述这种由一组正弦与余弦函数的加权和表示的方法。

我们称上述任意一对函数正交是因为:

<\mathbb{I}, \sin (nx)>=\int\sin (nx) dx=0\\ <\mathbb{I}, \cos (nx)>=\int\cos (nx) dx=0\\ <\sin (mx), \sin (nx)>=\int\sin(mx)\sin (nx) dx=0,\enspace when\enspace m\neq n \enspace or \enspace m=n=0 \\ <\cos (mx), \cos (nx)>=\int\cos(mx)\cos (nx) dx=0,\enspace when\enspace m\neq n \enspace or \enspace m=n=0\\ <\sin (mx), \cos (nx)>=\int\sin(mx)\cos (nx) dx=0

对于函数正交的理解可以对应于向量正交的概念,例如,向量 a=[1,0],b=[0,1],这两个向量的内积为:

<a,b>=1*0+0*1=0

这两个向量对应位置的元素相乘并求和为 0,因此称这两个向量正交。函数正交的定义为积分形式,实际上积分是求和的连续化形式,并无本质差别。

一个重要的问题是如何求解权重系数?例如,我们要求解系数$a_n$,我们对等式(1)两边同时乘以对应的$\sin(nx)$,并在$(0,2\pi)$上对$x$积分,这样等式右边与$\sin(nx)$正交的项都会为0:
\int_0^{2\pi} f(x)\sin(nx)dx=\int_0^{2\pi} a_n\sin^2(nx)dx\\ =a_n\int _0^{2\pi}\sin^2(nx)dx\\ =a_n\pi\\ =>a_n=\frac{1}{\pi}\int_0^{2\pi}f(x)\sin(nx)dx

同理

a_0=\frac{1}{\pi}\int_0^{2\pi} f(x)dx\\ a_n=\frac{1}{\pi}\int_0^{2\pi}f(x)\sin(nx)dx\\ b_n=\frac{1}{\pi}\int_0^{2\pi}f(x)\cos(nx)dx

例子

$f(x)$的函数如下图所示:

image

f(x)的傅里叶级数:

a_0=\frac{1}{\pi}\int_{-\pi}^{\pi}f(x)dx=1\\ a_n=\frac{1}{\pi}\int_{-\pi}^{\pi}f(x)\cos(nx)dx=\frac{1}{n\pi}\int_0^{\pi}d\sin(nx)=0\\ b_n=\frac{1}{\pi}\int_{-\pi}^\pi f(x)\sin(nx)dx=-\frac{1}{n\pi}\int_0^\pi d\cos(nx)=\begin{cases} \frac{2}{n\pi},n=2k+1\\ 0,n=2k \end{cases}

因此f(x)=\frac{1}{2}+\frac{2}{\pi}[\sin(x)+\frac{1}{3}\sin(3x)+\frac{1}{5}\sin(5x)+...+\frac{1}{2k+1}\sin((2k+1)x)]

Figure_1Figure_1Figure_1Figure_1

绘图代码:

import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.family'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] =False

# 定义x的值,这里我们使用从0到2π的100个点
x = np.linspace(-np.pi, 3 * np.pi, 100)
y = 0
for i in range(100): 
    y = y + 1/(2*i+1)*np.sin((2*i+1)*x)
y = 2/np.pi*y + 0.5

plt.figure()
plt.plot(x, y)
plt.xlabel('x')
plt.ylabel('f(x)')
plt.title('傅里叶级数')
plt.grid(False)
plt.show()

傅里叶级数之复数域扩展

上一节介绍了傅里叶级数在实数域中的表示方式,本节将其扩展到复数域,将$f(x)$写成$f(x)=\sum_{-\infin}^{+\infin}c_ne^{inx}$。

定义复数$Z(\theta)=\cos(\theta)+i\sin(\theta)$,其共轭复数为$\overline{Z}(\theta)=\cos(\theta)-i\sin(\theta)$,其中$\cos(\theta)$为实部,$\sin(\theta)$为虚部,该复数的坐标轴表示为如下图:

image

复数Z\overline{Z}的极坐标表示形式为:Z=re^{i\theta},\overline{Z}=re^{-i\theta},其中r=1

在实数域内,判断两个函数$f,g$是否正交是通过求$<f,g>=\int f·gdx$判断,在复数域内通过$<f,\overline{g}>$判断,其中$\overline{g}$为$g$的共轭。

由欧拉公式知$e^{i\theta}=\cos\theta+i\sin\theta$,$e^{-i\theta}=\cos\theta-i\sin\theta$,由此可得:
\begin{cases} \cos\theta=\frac{e^{i\theta}+e^{-i\theta}}{2}\\ \sin\theta=\frac{e^{i\theta}-e^{-i\theta}}{2i} \end{cases}=>\begin{cases} \cos(n\theta)=\frac{e^{in\theta}+e^{-in\theta}}{2}\\ \sin(n\theta)=\frac{e^{in\theta}-e^{-in\theta}}{2i} \end{cases}\quad(2)
将公式(2)代入到公式(1)中,得到:
f(x)=\frac{a_0}{2}+\sum_{n=1}^{+\infin}a_n(\frac{e^{inx}+e^{-inx}}{2})+\sum_{n=1}^{+\infin}b_n(\frac{e^{inx}-e^{-inx}}{2i})\\ =\frac{a_0}{2}+\sum_{n=1}^{+\infin}e^{inx}(\frac{a_n}{2}-\frac{ib_n}{2})+\sum_{n=1}^{+\infin}e^{-inx}(\frac{a_n}{2}+\frac{ib_n}{2})\\
令$t=-n$,则上式为:
f(x)=\frac{a_0}{2}+\sum_{n=1}^{+\infin}e^{inx}(\frac{a_n}{2}-\frac{ib_n}{2})+\sum_{-\infin}^{t=-1}e^{int}(\frac{a_{-t}}{2}+\frac{ib_{-t}}{2})
因此我们可以将$f(x)$写成如下形式:
f(x)=\sum_{-\infin}^{+\infin}c_ne^{inx},\space n\in \mathbb{Z}\quad\quad (3)
其中$c_n$为:
c_n=\begin{cases} \frac{a_0}{2},\space n=0\\ \frac{a_n}{2}-\frac{ib_n}{2},\space n>0\\ \frac{a_{-n}}{2}+\frac{ib_{-n}}{2},\space n<0 \end{cases}

这样,就将基函数换成了e^{inx}。基函数需要满足正交性,那e^{inx}e^{imx}是否正交呢?我们可以通过对e^{inx}、e^{-imx}求内积即可判断:

\int_0^{2\pi}e^{inx}e^{-imx}dx=\int_0^{2\pi}\cos(n-m)x+i\sin(n-m)xdx=\begin{cases} 0,n\neq m,\space \\ 2\pi,\space m=n \end{cases}

n\neq m时,内积为 0,因此正交。

计算系数$c_n$,需要在等式(3)左右两边同时乘以$e^{-inx}$,然后在等式两边对$x$积分,因此右边只有$c_ne^{inx}$这一项不为0:
\int_{0}^{2\pi}f(x)e^{inx}dx=\int_0^{2\pi}c_ne^{inx}e^{-inx}dx=2\pi c_n\\ =>c_n=\frac{1}{2\pi}\int_0^{2\pi}f(x)e^{-inx}dx

傅里叶变换

傅里叶级数的一大局限性在于它要求函数的周期性,而对于非周期函数我们怎么对其进行变换呢?一个重要的切入思路是我们可以将非周期函数看成是一个周期为无穷大的函数。为此,我们首先将之前的周期$2\pi$假设一般化为$2L$,然后令$L\to +\infin$。

函数周期的一般化

对于周期为$2\pi$的$f(t)$函数,如果我们要将其周期放缩为$2L$,则需要对其自变量进行放缩,即$g(x)=f(\frac{\pi}{L}t)$。例如周期为$2\pi$的正弦函数$\sin(x)$,将其放缩成周期为$2L$,那么其表达式为$\sin(\frac{\pi}{L}x)$。

因此对于周期为$2L$的函数$f(x)$,其傅里叶级数可以改写如下:
f(x)=\sum_{-\infin}^{+\infin}c_ne^{in\pi x/L},\space n\in \mathbb{Z}\quad\quad (4)\\ c_n=\frac{1}{2L}\int_{-L}^{L}f(x)e^{-in\pi x/L}dx \quad \quad (5)

傅里叶变换-函数周期的无穷化

当函数$f(x)$的周期很大即$L$很大趋近$+\infin$时,$\frac{n\pi}{L}$很小趋近0,定义:
\alpha_n=\frac{n\pi}{L}\\ \Delta\alpha_n=\alpha_{n}-\alpha_{n-1}=\frac{\pi}{L}\\ \lim_{L \to +\infty}\Delta\alpha=0
将上述定义代入(5)式得:
c_n=\frac{\Delta\alpha_n}{2\pi}\int_{-L}^{L}f(x)e^{-i\alpha_nx}dx=\frac{\Delta\alpha_n}{2\pi}\int_{-L}^{L}f(u)e^{-i\alpha_n u}du \quad (6)
将(6)式代入(4)式得:
f(x)=\sum_{-\infin}^{+\infin}[\frac{\Delta\alpha_n}{2\pi}\int_{-L}^{L}f(u)e^{-i\alpha_n u}du]e^{i\alpha_n x}\\ =\sum_{-\infin}^{+\infin}\frac{\Delta\alpha_n}{2\pi}\int_{-L}^{L}f(u)e^{i\alpha_n(x-u)}du\\ =\frac{1}{2\pi}\sum_{-\infin}^{+\infin}\int_{-L}^{L}f(u)e^{i\alpha_n(x-u)}du\Delta\alpha_n\\ =\frac{1}{2\pi}\int_{-\infin}^{+\infin}\int_{-L}^{L}f(u)e^{i\alpha(x-u)}dud\alpha

则上述傅里叶变换定义如下:

g(\alpha)=\int_{-\infin}^{+\infin}f(u)e^{-i\alpha u}du\\ f(x)=\frac{1}{2\pi}\int_{-\infin}^{+\infin}g(\alpha)e^{i\alpha x}d\alpha

  • 数学
    32 引用 • 86 回帖 • 3 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...