傅里叶分析

2021-07-20 11:33:01

之前在学习信号与系统这门课程时候接触到傅里叶变换、拉普拉斯变换和Z变换,对这几个变换我一直还是蛮感兴趣的,可惜悟性不够,当时没怎么学懂然后稀里糊涂就结课了,然后稀里糊涂的通过了考试。现在正好暑假有时间来好好学习一下这几个变换,顺便写几篇博客加深下对它的理解,如果对正在阅读这篇博客得你有所帮助那就更好啦!该博客还是以理论与公式为主,因为这部分最重要也最难懂。

在第一部分我们讨论并证明三角函数系的正交性,这是后面推导傅里叶级数展开的重要工具。然后在第二部分我们就正式开始接触傅里叶级数,首先我们是将一个周期\(T=2\pi\)的函数用三角形式的傅里叶级数进行展开,得出了傅里叶展开的表示式,并推导出了其中的参变量。接着我们使用换元法对周期不是\(T=2\pi\)​​​​的函数进行了讨论,使之更具有普遍性。紧接着我们针对工程中的实际情况对傅里叶级数展开进行了进一步的讨论。在傅里叶级数这部分的最后对傅里叶级数展开的复数形式进行了推导,得出了更为简介的公式。在第三部分傅里叶变换中,我们先介绍了在傅里叶分析中最基础的概念时域与频域,并讨论了两者之间的关系。接下来用前面傅里叶级数展开的复数形式作为条件推导出了傅里叶变换及其反变换的表达式。

一、三角函数系的正交性

三角函数的正交性用数学公式可以表示为: \[ \begin{equation} \int _{-\pi}^{\pi}\sin mx \sin nx dx = \ \begin{cases} 0 & \text{for $m \neq$ n} \\ \pi & \text{for $m = n$} \end{cases} \tag{1} \\ \end{equation} \]

\[ \begin{equation} \int _{-\pi}^{\pi}\cos mx \cos nx dx = \ \begin{cases} 0 &\text{for $m \neq$ n} \\ \pi &\text{for $m = n$} \end{cases} \tag{2} \end{equation} \]

\[ \begin{equation} \int _{-\pi}^{\pi}\sin mx \cos nx dx = 0 \quad \text{for any $m$ and $n$} \tag{3} \end{equation} \]

用文字可以表示为:对于三角函数系 \[ 0,1,\cos x,\sin x,……,\cos nx,\sin nx,……, \]

在区间\([-\pi , \pi]\)两两正交。

1. 数学知识回顾

在证明三角函数的正交性之前我们先回顾一下初中学习的三角函数和差化积与积化和差公式,认识认识一下什么是三角函数系以及什么又是函数的正交。

① 和差化积与积化和差

  1. 和差化积 \[ \sin(m+n) = \sin m \cos n + \sin n \cos m \\ \sin(m-n) = \sin m \cos n - \sin n \cos m \\ \cos(m+n) = \cos m \cos n - \sin m \sin n \\ \cos(m-n) = cos m \cos n + \sin m \sin n \]

  2. 积化和差 \[ \sin m \sin n = \frac{1}{2}\left[\cos(m-n)-\cos(m+n)\right] \\ \cos m \cos n = \frac{1}{2}\left[\cos(m+n)-\cos(m-n)\right] \\ \sin m \cos n = \frac{1}{2}\left[\sin(m+n)-\sin(m-n)\right] \]

① 三角函数系(Trigonometric system)

三角函数系是形如下面这一组三角函数的集合: \[ 0,1,\cos x,\sin x,……,\cos nx,\sin nx,……, \] 其中0,1分别表示为:\(sin0\)\(cos0\),也就是说三角函数系也可以写成这样: \[ \sin 0,\cos 0,\cos x,\sin x,……,\cos nx,\sin nx,……, \]

② 函数的正交性(Orthogonal systems of functions)

正交,我么说通俗一点就是垂直。对于两个向量来说,他们正交则是其内积为0。假设两向量正交且其坐标分别为:\(\vec A = (a_1,b_1)\)\(\vec B = (a_2,b_2)\),则其其内积可以表示为。 \[ \vec A \cdot \vec B = a_1 a_2 + b_1 b_2 = 0 \] 对于函数其正交性也可以同向量一样表示,若两个函数\(f(x)\)\(g(x)\)在区间\([a,b]\)上有定义,若两者正交则有: \[ \int _a ^b f(x)g(x) = 0 \]

2.三角函数正交性的数学证明

① 证明式子(1)

根据积化和差的公式可得: \[ \int _{-\pi}^{\pi}\sin mx \sin nx dx = \frac{1}{2}\left[\int _{-\pi}^{\pi}\cos (m-n)x dx - \int_{-\pi}^{\pi}\cos(m+n)xdx\right] \]\(m \neq n\)则: \[ \begin{aligned} \int _{-\pi}^{\pi}\sin mx \sin nx dx & = \frac{1}{2}\left[\int _{-\pi}^{\pi}\cos (m-n)x dx - \int_{-\pi}^{\pi}\cos(m+n)xdx\right] \\ & =\frac{1}{2}\left[\frac{1}{m-n}\sin (m-n)x\bigg|_{-\pi}^{\pi} - \frac{1}{m+n}\sin (m+n)x\bigg |_{-\pi}^{\pi}\right] \\ & = 0 \end{aligned} \] 若m = n则: \[ \begin{aligned} \int _{-\pi}^{\pi}\sin mx \sin nx dx & = \frac{1}{2}\left[\int _{-\pi}^{\pi}\cos (m-n)x dx - \int_{-\pi}^{\pi}\cos(m+n)xdx\right] \\& = \frac{1}{2}(1\bigg |_{-\pi}^{\pi} - \frac{1}{m+n}\sin (m+n)x\bigg |_{-\pi}^{\pi}) \\& = \pi \end{aligned} \]

② 证明式子(2)

根据积化和差的公式可得: \[ \int _{-\pi}^{\pi}\cos mx \cos nx dx = \frac{1}{2}\left[\int _{-\pi}^{\pi}\cos (m+n)x dx + \int_{-\pi}^{\pi}\cos(m-n)xdx\right] \]\(m \neq n\)则: \[ \begin{aligned} \int _{-\pi}^{\pi}\cos mx \cos nx dx &= \frac{1}{2}\left[\int _{-\pi}^{\pi}\cos (m+n)x dx + \int_{-\pi}^{\pi}\cos(m-n)xdx\right] \\ &= \frac{1}{2}\left[\frac{1}{m+n}\sin (m+n)x\bigg|_{-\pi}^{\pi} + \frac{1}{m-n}\sin (m-n)x\bigg |_{-\pi}^{\pi}\right] \\& = 0 \end{aligned} \] 若m = n则: \[ \begin{aligned} \int _{-\pi}^{\pi}\cos mx \cos nx dx &= \frac{1}{2}\left[\int _{-\pi}^{\pi}\cos (m+n)x dx + \int_{-\pi}^{\pi}\cos(m-n)xdx\right] \\& = \frac{1}{2}(\frac{1}{m+n}\sin (m+n)x\bigg |_{-\pi}^{\pi} + 1\bigg |_{-\pi}^{\pi}) \\& = \pi \end{aligned} \]

③ 证明式子(3)

根据积化和差的公式可得: \[ \int _{-\pi}^{\pi}\sin mx \cos nx dx = \frac{1}{2}\left[\int _{-\pi}^{\pi}\sin (m+n)x dx - \int_{-\pi}^{\pi}\sin(m-n)xdx\right] \]\(m \neq n\)则: \[ \begin{aligned} \int _{-\pi}^{\pi}\sin mx \cos nx dx &= \frac{1}{2}\left[\int _{-\pi}^{\pi}\sin (m+n)x dx - \int_{-\pi}^{\pi}\sin(m-n)xdx\right] \\& = -\frac{1}{2}\left[\frac{1}{m+n}\cos (m+n)x\bigg|_{-\pi}^{\pi} - \frac{1}{m-n}\cos (m-n)x\bigg |_{-\pi}^{\pi}\right] \\& = 0 \end{aligned} \] 若m = n则: \[ \begin{aligned} \int _{-\pi}^{\pi}\sin mx \cos nx dx &= \frac{1}{2}\left[\int _{-\pi}^{\pi}\sin (m+n)x dx - \int_{-\pi}^{\pi}\sin(m-n)xdx\right] \\ &= \frac{1}{2}(\frac{-1}{m+n}\cos (m+n)x\bigg |_{-\pi}^{\pi} - 0\bigg |_{-\pi}^{\pi}) \\ &= 0 \end{aligned} \]

二、傅里叶级数(Fourier Series)

对于满足Dirichlet条件的周期函数,其傅里叶级数是由一组简单震荡函数(正弦与余弦函数,或等价的负指数函数)的加权和表示的方法。 \[ f(x) = \sum_{n=0}^{\infty} a_n\cos nx + \sum _{n=0}^{\infty} b_n \sin nx \]

1. 傅里叶级数的展开条件——Dirichlet条件

  1. \(f(x)\)是一个在\(\mathbb{R}\)上的周期函数。这意味着存在周期\(T \geq 0\)。可以用公式表示为 \[ f(x) = f(x + T) \quad \text{for all $x \in \mathbb{R} $} \]

  2. \(f(x)\)是分段单调的,即在一个周期内只有有限多个极值点。

  3. \(f(x)\)是分段连续的,即在一个周期内只有有限多个间断点。

  4. \(f(x)\)在整个周期内是可积的。

2.傅里叶级数展开

这里假设函数\(f(x)\)的周期为\(T=2\pi\)且满足Dirichlet条件。则\(f(x)\)可以展开为: \[ \begin{equation} \begin{aligned} f(x) &= \sum_{n=0}^{\infty} a_n\cos nx + \sum _{n=0}^{\infty} b_n \sin nx \\ & = a_0\cos0 + b_0 \sin0 + \sum_{n=1}^{\infty}(a_n \cos nx + b_n \sin nx) \\ & = a_0 + \sum_{n=1}^{\infty}(a_n \cos nx + b_n \sin nx) \end{aligned} \end{equation} \]

①傅里叶级数参数值的求解

  1. \(a_0\)的值 对式子两边进行积分: \[ \begin{equation} \begin{aligned} \int _{-\pi}^{\pi}f(x)dx &= a_0\int _{-\pi}^{\pi}dx + \sum _{n=1}^{\infty}(a_n\int_{-\pi}^{\pi}\cos nxdx+b_n\int_{-\pi}^{\pi}\sin nxdx ) \\ &= 2\pi a_0 + \sum _{j=n}^{\infty}(0+0) \\ &= 2\pi a_0 \end{aligned} \end{equation} \] 所以可以得出: \[ \begin{equation} a_0 = \frac{1}{2\pi}\int _{-\pi}^{\pi}f(x)dx \end{equation} \] 为了使\(a_0\)表示更加简介,我们一般令 \[ \begin{equation} a_0 = \frac{1}{\pi}\int _{-\pi}^{\pi} f(x)dx \tag{4} \end{equation} \] 这样\(f(x)\)的展开式就可以写成 \[ \begin{equation} \begin{aligned} f(x) = \frac{a_0}{2} + \sum_{n=1}^{\infty}(a_n \cos nx + b_n \sin nx) \end{aligned} \tag{5} \end{equation} \]

  2. \(a_n\)的值

    对式子\((5)\)的左右两边同时乘上\(\cos mx\)并进行积分则有: \[ \begin{equation} \begin{aligned} \int _{-\pi}^{\pi}f(x)\cos mx dx &= \frac{a_0}{2}\int _{-\pi}^{\pi}\cos mxdx + \sum _{n=1}^{\infty}\left(a_n\int _{-\pi}^{\pi}\cos mx\cos nx dx + b_n\int _{-\pi}^{\pi}\cos mx \sin nx dx \right) \end{aligned} \end{equation} \] 由我们在第一部分所得出得三角函数的正交性可知,当\(m = n\)​时有: \[ \begin{equation} \begin{aligned} \int _{-\pi}^{\pi}f(x)\cos mxdx &= \int _{-\pi}^{\pi}f(x)\cos nxdx \\ &= a_n \pi \end{aligned} \end{equation} \] 即: \[ \begin{equation} a_n = \frac{1}{\pi}\int _{-\pi}^{\pi}f(x)\cos nx dx \tag{6} \end{equation} \]

  3. \(b_n\)的值

    与前面求\(a_n\)的方法类似,对式子\((5)\)的左右两边同时乘上\(\sin mx\)并进行积分则有: \[ \begin{equation} \begin{aligned} \int _{-\pi}^{\pi}f(x)\sin mx dx &= \frac{a_0}{2}\int _{-\pi}^{\pi}\sin mxdx + \sum _{n=1}^{\infty}\left(a_n\int _{-\pi}^{\pi}\sin mx\cos nx dx + b_n\int _{-\pi}^{\pi}\sin mx \sin nx dx \right) \end{aligned} \end{equation} \] 由我们在第一部分所得出得三角函数得正交性可知,当\(m = n\)时有: \[ \begin{equation} \begin{aligned} \int _{-\pi}^{\pi}f(x)\sin mxdx &= \int _{-\pi}^{\pi}f(x)\sin nxdx \\ &= b_n \pi \end{aligned} \end{equation} \] 即: \[ \begin{equation} b_n = \frac{1}{\pi}\int _{-\pi}^{\pi}f(x)\sin nx dx \tag{7} \end{equation} \]

  4. 总结

    综合\((4),(5),(6),(7)\)可以知,傅里叶级数的展开式为: \[ \begin{equation} \begin{aligned} f(x) = \frac{a_0}{2} + \sum_{n=1}^{\infty}(a_n \cos nx + b_n \sin nx) \end{aligned} \tag{5} \end{equation} \] 其中: \[ \begin{equation} a_0 = \frac{1}{\pi}\int _{-\pi}^{\pi}f(x)dx \tag{4} \end{equation} \]

    \[ \begin{equation} a_n = \frac{1}{\pi}\int _{-\pi}^{\pi}f(x)\cos nx dx \tag{6} \end{equation} \]

    \[ \begin{equation} b_n = \frac{1}{\pi}\int _{-\pi}^{\pi}f(x)\sin nx dx \tag{7} \end{equation} \]

⑤ 对于任意周期的傅里叶展开

上面我们讨论了,周期\(T=2\pi\)的傅里叶级数展开,但如果为任意周期又该如何表示呢?这里我们讨论一下\(T = 2L\)的傅里叶级数展开。

使用换元法,令 \[ x = \frac{\pi}{L}t \]\[ t = \frac{L}{\pi}x \] 这样当\(x=2\pi\)时,就有\(x=2L\)。所以傅里叶级数展开可以表示为 \[ \begin{equation} f(t) = \frac{a_0}{2} + \sum _{n=1}^{\infty}\left(a_n \cos \frac{n\pi}{L}t + b_n \sin \frac{n\pi}{L}t\right) \end{equation} \] 其中: \[ \begin{equation} a_0 = \frac{1}{L}\int _{-L}^{L} f(t)dt \end{equation} \]

\[ \begin{equation} a_n = \frac{1}{L}\int _{-L}^{L}f(t)\cos \frac{n\pi}{L}t dt \end{equation} \]

\[ \begin{equation} b_n = \frac{1}{L}\int _{-L}^{L}f(t)\sin \frac{n\pi}{L}t dt \end{equation} \]

⑥ 工程中傅里叶级数的展开

在工程中时间\(t\)​一般从0开始,假设其最小正周期为\(T = 2L\)​​,则 \[ \omega _0 = \frac{2\pi}{T} = \frac{\pi}{L} \] 所以傅里叶级数展开可以表示为: \[ \begin{equation} f(t) = \frac{a_0}{2} + \sum _{n=1}^{\infty}\left(a_n \cos n\omega _0 t + b_n \sin n\omega _0 t\right) \tag{8} \end{equation} \] 其中: \[ \begin{equation} a_0 = \frac{2}{T}\int _{-\frac{T}{2}}^{\frac{T}{2}} f(t)dt \tag{9} \end{equation} \]

\[ \begin{equation} a_n = \frac{2}{T}\int _{-\frac{T}{2}}^{\frac{T}{2}}f(t)\cos n\omega _0 t dt \tag{10} \end{equation} \]

\[ \begin{equation} b_n = \frac{2}{T}\int _{-\frac{T}{2}}^{\frac{T}{2}}f(t)\sin n \omega _0 t dt \tag{11} \end{equation} \]

⑦ 傅里叶级数展开的复数表示

由欧拉公式 \[ e^{i\theta} = \cos \theta + i\sin \theta \] 可得: \[ cos \theta = \frac{1}{2}\left(e^{i\theta}+e^{-i\theta} \right) \\ sin \theta = -\frac{1}{2}i\left(e^{i\theta}-e^{-i\theta}\right) \]

将其带入式子\((8),(9),(10),(11)\)中可得,复数形式的傅里叶展开: \[ \begin{equation} \begin{aligned} f(t) &= \frac{a_0}{2} + \sum _{n=1}^{\infty}\left(a_n \cos n\omega _0 t + b_n \sin n\omega _0 t\right) \\ &= \frac{a_0}{2} + \sum _{n=1}^{\infty}\left(\frac{a_n-ib_n}{2}e^{in\omega _0 t} + \frac{a_n+ib_n}{2}e^{-in\omega _0 t}\right) \\ &= \frac{a_0}{2} + \sum _{n=1}^{\infty}\frac{a_n-ib_n}{2}e^{in\omega _0 t} + \sum _{n=1}^{\infty}\frac{a_n+ib_n}{2}e^{-in\omega _0 t} \end{aligned} \end{equation} \] 其中第一项可以表示为 \[ \frac{a_0}{2} = \sum _{n=0}^0 \frac{a_0}{2}e^{in\omega _0 t} \]

其中第三项中的\(n\)转换为\(-n\)则其可表示为 \[ \sum _{n=1}^{\infty}\frac{a_n+ib_n}{2}e^{-in\omega _0 t} = \sum _{n=-\infty}^{-1}\frac{a_{-n}+ib_{-n}}{2}e^{in\omega _0 t} \] 综上所述可以将\(f(t)\)表示为 \[ \begin{equation} \begin{aligned} f(t) &= \sum _{n=-\infty}^{-1}\frac{a_{-n}+ib_{-n}}{2}e^{in\omega _0 t} + \sum _{n=0}^0 \frac{a_0}{2}e^{in\omega _0 t} + \sum _{n=1}^{\infty}\frac{a_n-ib_n}{2}e^{in\omega _0 t} \\ &= \sum _{-\infty}^{\infty}C_n e^{in\omega _0 t} \end{aligned} \end{equation} \]

其中 \[ \begin{equation} C_n = \begin{cases} \frac{a_{-n}+ib_{-n}}{2} & n=-1,-2,-3,-4 \ldots \\ \frac{a_0}{2}&n=0 \\ \frac{a_n-ib_n}{2} & n=1,2,3,4, \ldots \end{cases} \end{equation} \]

所以傅里叶级数展开得复数表示形式为: \[ \begin{equation} f(t) = \sum _{-\infty}^{\infty}C_n e^{in\omega _0 t} \tag{12} \end{equation} \] 其中 \[ C_n = \frac{1}{T}\int _{-\frac{T}{2}}^{\frac{T}{2}}f(t)e^{-in\omega _0 t}dt \tag{13} \]

三、傅里叶变换(Fourier transform)

前面在第二节傅里叶级数中我们对周期函数的傅里叶级数展开进行了讨论,如果一个函数是非周期函数我们是否也可以对其进行傅里叶级数展开呢?这就是我们这节要讨论的内容啦。在具体的开始讨论这个问题之前,我想先让我们了解一下在傅里叶分析中长出现的两个概念:时域与频域。

1. 时域与频域

① 时域

时域(Time domain)是描述函数或是信号随时间变化的关系。我们可以把音乐理解为是一个随时间而震动的信号,就像这样:

随时间而变化的信号

以时间为横坐标,信号强度(响度)为纵坐标对信号进行分析,这就被称为时域分析。

② 频域

频域(Frequency domain)是描述函数或信号随频率的变化关系。对于音乐作曲家来说,音乐绝不仅仅是响度随时间的变换那么简单,在乐理中音乐的基本组成单位就是音调,一个音调对应着一个单一的频率,比如说在钢琴中Do着个音调对应的频率为262Hz。在一首音乐中不会仅用到一个音调,它是多个音调的叠加,就像下图中《Summer》的钢琴简谱一样。

菊次郎的夏天钢琴简谱

我们以频率为横坐标,信号强度(响度)为纵坐标对信号进行分析,这就被称为频域分析。

③ 时域与频域的关系

上图是在Time domain - Wikipedia中下载的一张动图,很好的展现了时域与频率的关系。因为我们人类是生活在时间里面的生物,所观察到的信号大多与时域的形式存在,但是信号本身是有其频率组成的,那么如何得到其频谱呢?这就得用到我们上文所介绍的傅里叶级数展开与下文即将介绍的傅里叶变换了。对于周期函数可以直接用傅里叶级数展开得到其频谱,对于非周期还是则需要接下来讲的傅里叶变换来得到其频谱啦。

2.傅里叶变换

对于非周期函数,我们可以认为其周期趋向于无穷大,即 \[ \begin{equation} T = \infty \tag{14} \end{equation} \]

又因为 \[ \Delta \omega = (n+1)\omega _0 - n\omega _0 = \omega_0 = \frac{2\pi}{T} \] 所以此时,\(\omega _0\)趋向于无穷小,即离散的\(n\omega _0\)可以认为等于连续的\(\omega\),即 \[ \begin{equation} \omega = n \omega _0 \tag{15} \end{equation} \]\((13),(14),(15)\)带入\((12)\)中可得: \[ \begin{aligned} f(t)&=\sum _{-\infty}^{\infty}\frac{1}{T}\int _{-\frac{T}{2}}^{\frac{T}{2}} f(t)e^{-in\omega_0t}dte^{in\omega_0t}\\ &=\sum _{-\infty}^{\infty} \frac{\omega _0}{2\pi}\int _{-\frac{T}{2}}^{\frac{T}{2}} f(t)e^{-in\omega_0t}dte^{in\omega_0t}\\ &= \frac{1}{2\pi}\int _{-\infty}^{\infty}f(t)e^{-i\omega t}dte^{i\omega t}d\omega \end{aligned} \] 所以傅里叶变换为 \[ F(\omega) = \int _{-\infty}^{\infty}f(t)e^{-i\omega t}dt \] 傅里叶反变换为 \[ f(t)=\frac{1}{2\pi}\int_{-\infty}^{\infty}F(\omega)e^{i\omega t}dt \]

参考

  1. 三角函数之正交性(chu.edu.tw)
  2. [1]邓新蒲,吴京.傅里叶级数的起源、发展与启示[J].电气电子教学学报,2012,34(05):1-4.
  3. Frequency domain - Wikipedia
  4. Notes_on_Fourier_series.pdf (geckkd.ac.in)
  5. Trigonometric system - Encyclopedia of Mathematics
  6. 纯干货数学推导_傅里叶级数与傅里叶变换_Part5_从傅里叶级数推导傅里叶变换_哔哩哔哩