We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Games101的第6讲内有涉及到傅立叶变换的内容,课后花了点功夫才搞明白这东西(虽然大学学过但也忘得差不多了),于是写下这篇文章用以记录学习心得。
参考资料中我强烈推荐 DR_CAN 老师的《纯干货数学推导》系列!本文大多都是他课程内的笔记。
本文将从以下几个方面按序推导
需要注意的是,由于我的学识不足因此并不能给出关于傅立叶级数展开公式的证明,就像我不会证明为什么 G=mg 一样,对于真理也许直接拿来用会更简单。但如果觉得不搞明白不舒服的读者来说我更推荐王继良老师写的文章,这篇文章有详细介绍关于傅立叶如何从热传导方程中提炼出傅立叶级数的过程。
傅立叶级数展开 : $f(x) = \frac{a_0}{2} + \varSigma_{n=1}^{+\infty}(a_{n}\cos nx + b_{n}\sin nx)$
如果存在函数 f(x) 与 g(x),且两者满足 $\int_{a}^{b} f(x)g(x) dx = 0$ 那么我们称函数 f(x) 与 g(x) 在区间 [a, b] 正交。
对于三角函数 $0(\sin 0), 1(\cos 0), \sin x, \cos x, \sin 2x, \cos 2x..... \sin nx, \cos nx$ 在区间[- $\pi$, $\pi$ ] 上正交。
$$ \begin{cases} \int_{-\pi}^{\pi} \cos (nx) \sin (mx) dx = 0, \\ \int_{-\pi}^{\pi} \cos (nx) \cos (mx) dx = 0, & n \neq m \\ \int_{-\pi}^{\pi} \sin (nx) \sin (mx) dx = 0 & n \neq m \end{cases} $$
以上积分可根据三角函数的积化和差方式求证,此处只给出其中一个计算过程作为参考
$$ \int_{-\pi}^{\pi} \cos (nx) \sin (mx) dx = \frac{1}{2} \int_{-\pi}^{\pi} \sin(n+m)x dx - \frac{1}{2} \int_{-\pi}^{\pi} \sin(n-m)x dx \ = \frac{1}{2} [-\frac{1}{n+m} \cos (n+m)x |{-\pi}^{\pi} + \frac{1}{n-m} \cos (n-m)x |{-\pi}^{\pi}] \ = 0 $$
那假如 n = m 会怎么样?对于sin cos这样的组合来说没什么影响,但对于cos cos或者sin sin来说就相当于两个一样的三角函数相乘取积分了,以下给出关于 $\cos mx$ 与 $\cos mx$ 组合的求解
$$ \int_{-\pi}^{\pi} \cos (mx) \cos (mx) dx = \int_{-\pi}^{\pi} \frac{1 + \cos (2m)x}{2} dx \\ = \frac{1}{2} (x + \frac{1}{2m} \sin{2mx})|_{-\pi}^{\pi} = \pi $$
记住这里推导的结果,下一节的内容将会用到这些。
在开始时已经直接给出了傅立叶级数的相关公式,接下来开始介绍如何结合三角函数的正交性来求出公式内的系数。
对傅立叶级数展开公式两边求 $-\pi$ 到 $\pi$ 的积分
$$ \int_{-\pi}^{\pi} f(x) dx \\ = \int_{-\pi}^{\pi} (\frac{a_0}{2} + \varSigma_{n=1}^{+\infty}(a_{n}\cos nx + b_{n}\sin nx)) dx \\ = \int_{-\pi}^{\pi} \frac{a_0}{2} dx + a_{n} \int_{-\pi}^{\pi} \varSigma_{n=1}^{+\infty} 1 \cos nx dx + b_{n} \int_{-\pi}^{\pi} \varSigma_{n=1}^{+\infty} 1 \sin nx dx $$
在对两边积分后,很明显的能注意到1、 $\cos nx$ 与1、 $\sin nx$ 这两个组合,根据三角函数的正交性不难得出这两对组合的积分结果必然为 0。因此可以直接消去得到以下等式
$$ \int_{-\pi}^{\pi} f(x) dx = \int_{-\pi}^{\pi} \frac{a_0}{2} dx \ = \frac{a_0}{2} \int_{-\pi}^{\pi} 1 dx \ = \frac{a_0}{2} x|{-\pi}^{\pi} \ = a{0} \pi $$
于是可得 $a_{0}$ 为
$$ a_{0} = \frac{1}{2}\int_{-\pi}^{\pi} f(x) dx $$
对傅立叶级数展开两边都乘上 $\cos mx$ 并求积分
$$ \int_{-\pi}^{\pi} f(x) \cos mx dx \\ = \int_{-\pi}^{\pi} (\frac{a_0}{2} \cos mx + \varSigma_{n=1}^{+\infty}(a_{n}\cos nx \cos mx + b_{n}\sin nx \cos mx)) dx \\ = \frac{a_0}{2} \int_{-\pi}^{\pi} 1 \cos mx dx + a_{n} \int_{-\pi}^{\pi} \varSigma_{n=1}^{+\infty} \cos nx \cos mx dx + b_{n} \int_{-\pi}^{\pi} \varSigma_{n=1}^{+\infty} \sin nx \cos mx dx $$
此时我们根据三角函数正交性可以直接删去 $\frac{a_0}{2} \int_{-\pi}^{\pi} 1 \cos mx dx$ 与 $b_{n} \int_{-\pi}^{\pi} \varSigma_{n=1}^{+\infty} \sin nx \cos mx dx$,毕竟最后都是0。但对于中间的 $a_{n} \int_{-\pi}^{\pi} \varSigma_{n=1}^{+\infty} \cos nx \cos mx dx$ 却不能直接整个删除,因为在 $m = n$ 的情况下,其积分结果为 $\pi$。
于是我们得到
$$ \int_{-\pi}^{\pi} f(x) \cos mx dx = a_{n} \pi $$
变形得
$$ a_{n} = \frac{1}{\pi} \int_{-\pi}^{\pi} f(x) \cos mx dx $$
对傅立叶级数展开两边都乘上 $\sin mx$ 并求积分
$$ \int_{-\pi}^{\pi} f(x) \sin mx dx = \int_{-\pi}^{\pi} (\frac{a_0}{2} \sin mx + \varSigma_{n=1}^{+\infty}(a_{n}\cos nx \sin mx + b_{n}\sin nx \sin mx)) dx $$
省略求证过程,因为和上面的思路是一样的,得
$$ b_{n} = \frac{1}{\pi} \int_{-\pi}^{\pi} f(x) \sin mx dx $$
对周期为 T 的函数展开的办法有一点巧妙,总的来说是通过参数的变换将式子强行变成 $\pi$ 的形状
设 T = 2L,则有 f(t) = f(t + 2L)
设 x = $\frac{\pi}{L}$ t,则有t = $\frac{Lx}{\pi}$,于是有 f(t) = f( $\frac{Lx}{\pi}$ )
如果将 g(x) 视为 f( $\frac{L}{\pi}$ (x)),由上表的对应关系可得,g(x) 的图形可与 f(t) 对应上,举例来说就是 f(2L) = g(2 $\pi$) 这样子。 g(x) 的周期为 2 $\pi$ ,不过在上一节我们便已经得到了关于周期为2 $\pi$的函数的傅立叶展开时的系数。
$$ \begin{cases} a_{0} = \frac{1}{2}\int_{-\pi}^{\pi} g(x) dx \\ a_{n} = \frac{1}{\pi} \int_{-\pi}^{\pi} g(x) \cos nx dx \\ b_{n} = \frac{1}{\pi} \int_{-\pi}^{\pi} g(x) \sin nx dx \end{cases} $$
那么接下来只需要把 x = $\frac{\pi}{L}$ t 带入,
$$ \begin{cases} \cos nx = \cos \frac{n \pi}{L}t \\ \sin nx = \sin \frac{n \pi}{L}t \\ \int_{-\pi}^{\pi} 1 dx = \int_{-L}^{L} 1 d\frac{\pi t}{L} \\ g(x) = f(t) \end{cases} $$
那么就得到了关于周期为 T 的傅立叶级数展开
$$ f(t) = \frac{a_0}{2} + \varSigma_{n=1}^{+\infty}(a_{n}\cos \frac{n \pi}{L}t + b_{n}\sin \frac{n \pi}{L}t) $$
其中(省略计算过程,解法和上一节一致)
$$ \begin{cases} a_{0} = \frac{1}{L}\int_{-L}^{L} f(t) dt \\ a_{n} = \frac{1}{L} \int_{-L}^{L} f(t) \cos \frac{n \pi}{L} t dt \\ b_{n} = \frac{1}{L} \int_{-L}^{L} f(t) \sin \frac{n \pi}{L} t dt \end{cases} $$
如果将 L 换成 T,那就会变成
$$ f(t) = \frac{a_0}{2} + \varSigma_{n=1}^{+\infty}(a_{n}\cos \frac{2n \pi}{T}t + b_{n}\sin \frac{2n \pi}{T}t) $$
$$ \begin{cases} a_{0} = \frac{2}{T}\int_{0}^{T} f(t) dt \\ a_{n} = \frac{2}{T} \int_{0}^{T} f(t) \cos \frac{2 n \pi}{T} t dt \\ b_{n} = \frac{2}{T} \int_{0}^{T} f(t) \sin \frac{2 n \pi}{T} t dt \end{cases} $$
这一节会用到欧拉公式,对于欧拉公式的证明我后续会再写一篇文章(证明需要用到泰勒展开,尽管欧拉本人并不是用这个办法得到的)
$$ e^{i\theta} = \cos \theta + i \sin \theta $$
$$ \begin{cases} e^{i\theta} = \cos \theta + i \sin \theta \\ e^{i-\theta} = \cos -\theta + i \sin -\theta = \cos \theta - i \sin \theta \end{cases} $$
由上式可得
$$ \begin{cases} \sin \theta = \frac{e^{i \theta} - e^{-i \theta}}{2i} = -i \frac{e^{i \theta} - e^{-i \theta}}{2} \\ \cos \theta = \frac{e^{i \theta} + e^{- i \theta}}{2} \end{cases} $$
设 $x = \frac{2 \pi t}{T}$ 将这个式子带入到傅立叶级数可得
$$ f(x) = \frac{a_0}{2} + \varSigma_{n=1}^{+\infty}(a_{n} \frac{e^{i nx} + e^{- i nx}}{2} -i b_{n} \frac{e^{i nx} - e^{-i nx}}{2}) \\ = \frac{a_0}{2} + \varSigma_{n=1}^{+\infty} \frac{a_{n} - i b_{n}}{2} e^{i nx} + \varSigma_{n=1}^{+\infty} \frac{a_{n}+i b_{n}}{2} e^{-i nx} $$
接下来的变换会让人脑瓜子疼,但想明白了又会觉得啊原来是这么回事。
将 $\frac{a_{0}}{2}$ 视为 $\varSigma_{n=0}^{0} \frac{a_{0}}{2} e^{i nx}$,毕竟当 n = 0时, $e^{i nx}$ 也会等于 1,因此能够成立。
$\varSigma_{n=1}^{+\infty} e^{-i nx}$ 的变形也很有意思,将 n 视为 -1 到 - $\infty$,式子就会变成 $\varSigma_{n=-1}^{-\infty} e^{i nx}$
于是得到
$$ f(x) = \varSigma_{n = -\infty}^{+\infty} C_{n} e^{i nx} $$
替换 x
$$ f(t) = \varSigma_{n = -\infty}^{+\infty} C_{n} e^{i \frac{2 n \pi}{T} t} $$
其中
$$ Cn = \begin{cases} \frac{a_{0}}{2}, & n = 0 \\ \frac{a_{n} - i b_{n}}{2} & n = 1,2,3... \\ \frac{a_{-n}+i b_{-n}}{2} & n = -1, -2, -3... \end{cases} $$
由于我们在上一节已经求出了关于周期T函数的傅立叶级数展开
带入之后可得
$$ Cn = \begin{cases} \frac{1}{T}\int_{0}^{T} f(t) dt, & n = 0 \\ \frac{1}{T} \int_{0}^{T} f(t) (\cos \frac{2n\pi}{T} t - i \sin \frac{2n\pi}{T} t) dt & n > 0 \\ \frac{1}{T} \int_{0}^{T} f(t) (\cos \frac{2n\pi}{T} t - i \sin \frac{2n\pi}{T} t) dt & n < 0 \end{cases} $$
不过表达上有些丑,用欧拉公式化简
$$ \cos \frac{2n\pi}{T} - i \sin \frac{2n\pi}{T} = \cos -\frac{2n\pi}{T} + i \sin -\frac{2n\pi}{T} = e^{-i \frac{2n\pi}{T}} $$
$$ Cn = \begin{cases} \frac{1}{T}\int_{0}^{T} f(t) dt, & n = 0 \\ \frac{1}{T} \int_{0}^{T} f(t) e^{-i \frac{2n\pi}{T} t} dt & n > 0 \\ \frac{1}{T} \int_{0}^{T} f(t) e^{-i \frac{2n\pi}{T} t} dt & n < 0 \end{cases} $$
注意看,带入后 n > 0 与 n < 0 的结果相同,再看 n = 0,其实可以发现其表达与 n > 0 与 n < 0 也相同(带入n=0后 $e^{-i \frac{ 2n \pi }{T}}$ 结果为1)
于是 $C_{n}$ 的表达式可被统一为
$$ C_{n} = \frac{1}{T} \int_{0}^{T} f(t) e^{-i \frac{ 2n \pi }{T} t} dt $$
此时我们设 $\omega_{0}$ 为 $\frac{ 2 \pi }{T}$ (工程上的角速度),得到
$$ C_{n} = \frac{1}{T} \int_{0}^{T} f(t) e^{-i n \omega_{0} t} dt $$
于是我们得到了傅立叶级数的复数形式
$$ \begin{cases} f(t) = \varSigma_{n = -\infty}^{+\infty} C_{n} e^{i n \omega_{0} t} \\ C_{n} = \frac{1}{T} \int_{0}^{T} f(t) e^{-i n \omega_{0} t} dt \end{cases} $$
接下来做个小变换。
替换积分的上下限为 [-T/2, T/2] ,然后代入原式可得(周期函数的定积分上下限只要差值为一个周期那么得到的结果都一样)
$$ \begin{cases} f(t) = \varSigma_{n = -\infty}^{+\infty} C_{n} e^{i n \omega_{0} t} \\ C_{n} = \frac{1}{T} \int_{-\frac{T}{2}}^{\frac{T}{2}} f(t) e^{-i n \omega_{0} t} dt \end{cases} $$
对非周期函数进行傅里叶级数展开的处理也很巧妙,大致的思想便是将非周期函数视为一个 周期为无穷 的周期函数,随后再用周期函数的展开公式进行变换。
记 $\frac{1}{T}$ 为 $f$ ,由于 T = $\infty$ 所以 $f$ 趋向于无穷小,于是得到
$$ f(t) = \varSigma_{n = -\infty}^{+\infty} (\int_{-\infty}^{\infty} f(t) e^{-i n \omega_{0} t} dt) e^{i n \omega_{0} t} f $$
看上去挺眼熟的不是吗(定积分的定义),由于 $f$ 无限趋近于0,且 $\omega_{0} = \frac{ 2 \pi }{T}$ = 2 $\pi$ f 根据 求和变积分 可得到。
$$ f(t) = \int_{-\infty}^{\infty} (\int_{-\infty}^{\infty} f(t) e^{-i 2 \pi f t} dt) e^{i 2 \pi f t} df $$
不过我想可能大家还是更熟悉下面这个形式
$$ f(t) = \frac{1}{ 2 \pi } \int_{-\infty}^{\infty} (\int_{-\infty}^{\infty} f(t) e^{-i \omega t} dt) e^{i \omega t} d \omega $$
两种表达方式其实都一样,无非一个从频率出发,一个从角速度出发。
$$ 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} d \omega $$
为傅里叶逆变换
纯干货数学推导_傅里叶级数与傅里叶变换_Part5_从傅里叶级数推导傅里叶变换
物联网前沿实践-傅里叶级数
B站首发!草履虫都能看懂的【傅里叶变换】讲解,清华大学李永乐老师教你如何理解傅里叶变换,辨清美颜和变声原理...
形象展示傅里叶变换
The text was updated successfully, but these errors were encountered:
No branches or pull requests
从傅立叶级数到傅立叶变换
本文将从以下几个方面按序推导
需要注意的是,由于我的学识不足因此并不能给出关于傅立叶级数展开公式的证明,就像我不会证明为什么 G=mg 一样,对于真理也许直接拿来用会更简单。但如果觉得不搞明白不舒服的读者来说我更推荐王继良老师写的文章,这篇文章有详细介绍关于傅立叶如何从热传导方程中提炼出傅立叶级数的过程。
傅立叶级数展开 :$f(x) = \frac{a_0}{2} + \varSigma_{n=1}^{+\infty}(a_{n}\cos nx + b_{n}\sin nx)$
三角函数的正交性
如果存在函数 f(x) 与 g(x),且两者满足$\int_{a}^{b} f(x)g(x) dx = 0$ 那么我们称函数 f(x) 与 g(x) 在区间 [a, b] 正交。
对于三角函数$0(\sin 0), 1(\cos 0), \sin x, \cos x, \sin 2x, \cos 2x..... \sin nx, \cos nx$ 在区间[- $\pi$ , $\pi$ ] 上正交。
以上积分可根据三角函数的积化和差方式求证,此处只给出其中一个计算过程作为参考
$$
\int_{-\pi}^{\pi} \cos (nx) \sin (mx) dx
= \frac{1}{2} \int_{-\pi}^{\pi} \sin(n+m)x dx - \frac{1}{2} \int_{-\pi}^{\pi} \sin(n-m)x dx \
= \frac{1}{2} [-\frac{1}{n+m} \cos (n+m)x |{-\pi}^{\pi} + \frac{1}{n-m} \cos (n-m)x |{-\pi}^{\pi}] \
= 0
$$
那假如 n = m 会怎么样?对于sin cos这样的组合来说没什么影响,但对于cos cos或者sin sin来说就相当于两个一样的三角函数相乘取积分了,以下给出关于$\cos mx$ 与 $\cos mx$ 组合的求解
记住这里推导的结果,下一节的内容将会用到这些。
对周期为2$\pi$ 的函数进行傅立叶级数展开
在开始时已经直接给出了傅立叶级数的相关公式,接下来开始介绍如何结合三角函数的正交性来求出公式内的系数。
求$a_{0}$
对傅立叶级数展开公式两边求$-\pi$ 到 $\pi$ 的积分
在对两边积分后,很明显的能注意到1、$\cos nx$ 与1、 $\sin nx$ 这两个组合,根据三角函数的正交性不难得出这两对组合的积分结果必然为 0。因此可以直接消去得到以下等式
$$
\int_{-\pi}^{\pi} f(x) dx = \int_{-\pi}^{\pi} \frac{a_0}{2} dx \
= \frac{a_0}{2} \int_{-\pi}^{\pi} 1 dx \
= \frac{a_0}{2} x|{-\pi}^{\pi} \
= a{0} \pi
$$
于是可得$a_{0}$ 为
求$a_{n}$
对傅立叶级数展开两边都乘上$\cos mx$ 并求积分
此时我们根据三角函数正交性可以直接删去$\frac{a_0}{2} \int_{-\pi}^{\pi} 1 \cos mx dx$ 与 $b_{n} \int_{-\pi}^{\pi} \varSigma_{n=1}^{+\infty} \sin nx \cos mx dx$ ,毕竟最后都是0。但对于中间的 $a_{n} \int_{-\pi}^{\pi} \varSigma_{n=1}^{+\infty} \cos nx \cos mx dx$ 却不能直接整个删除,因为在 $m = n$ 的情况下,其积分结果为 $\pi$ 。
于是我们得到
变形得
求$b_{n}$
对傅立叶级数展开两边都乘上$\sin mx$ 并求积分
省略求证过程,因为和上面的思路是一样的,得
对周期为 T 的函数进行傅立叶级数展开
对周期为 T 的函数展开的办法有一点巧妙,总的来说是通过参数的变换将式子强行变成$\pi$ 的形状
设 T = 2L,则有 f(t) = f(t + 2L)
设 x =$\frac{\pi}{L}$ t,则有t = $\frac{Lx}{\pi}$ ,于是有 f(t) = f( $\frac{Lx}{\pi}$ )
如果将 g(x) 视为 f($\frac{L}{\pi}$ (x)),由上表的对应关系可得,g(x) 的图形可与 f(t) 对应上,举例来说就是 f(2L) = g(2 $\pi$ ) 这样子。 g(x) 的周期为 2 $\pi$ ,不过在上一节我们便已经得到了关于周期为2 $\pi$ 的函数的傅立叶展开时的系数。
那么接下来只需要把 x =$\frac{\pi}{L}$ t 带入,
那么就得到了关于周期为 T 的傅立叶级数展开
其中(省略计算过程,解法和上一节一致)
如果将 L 换成 T,那就会变成
傅立叶级数的复数形式
这一节会用到欧拉公式,对于欧拉公式的证明我后续会再写一篇文章(证明需要用到泰勒展开,尽管欧拉本人并不是用这个办法得到的)
由上式可得
设$x = \frac{2 \pi t}{T}$ 将这个式子带入到傅立叶级数可得
接下来的变换会让人脑瓜子疼,但想明白了又会觉得啊原来是这么回事。
将$\frac{a_{0}}{2}$ 视为 $\varSigma_{n=0}^{0} \frac{a_{0}}{2} e^{i nx}$ ,毕竟当 n = 0时, $e^{i nx}$ 也会等于 1,因此能够成立。
于是得到
替换 x
其中
由于我们在上一节已经求出了关于周期T函数的傅立叶级数展开
带入之后可得
不过表达上有些丑,用欧拉公式化简
注意看,带入后 n > 0 与 n < 0 的结果相同,再看 n = 0,其实可以发现其表达与 n > 0 与 n < 0 也相同(带入n=0后$e^{-i \frac{ 2n \pi }{T}}$ 结果为1)
于是$C_{n}$ 的表达式可被统一为
此时我们设$\omega_{0}$ 为 $\frac{ 2 \pi }{T}$ (工程上的角速度),得到
于是我们得到了傅立叶级数的复数形式
接下来做个小变换。
替换积分的上下限为 [-T/2, T/2] ,然后代入原式可得(周期函数的定积分上下限只要差值为一个周期那么得到的结果都一样)
对非周期函数进行傅立叶级数展开
对非周期函数进行傅里叶级数展开的处理也很巧妙,大致的思想便是将非周期函数视为一个 周期为无穷 的周期函数,随后再用周期函数的展开公式进行变换。
记$\frac{1}{T}$ 为 $f$ ,由于 T = $\infty$ 所以 $f$ 趋向于无穷小,于是得到
看上去挺眼熟的不是吗(定积分的定义),由于$f$ 无限趋近于0,且 $\omega_{0} = \frac{ 2 \pi }{T}$ = 2 $\pi$ f 根据 求和变积分 可得到。
不过我想可能大家还是更熟悉下面这个形式
两种表达方式其实都一样,无非一个从频率出发,一个从角速度出发。
其中
为傅里叶变换
其中
为傅里叶逆变换
参考资料
纯干货数学推导_傅里叶级数与傅里叶变换_Part5_从傅里叶级数推导傅里叶变换
物联网前沿实践-傅里叶级数
B站首发!草履虫都能看懂的【傅里叶变换】讲解,清华大学李永乐老师教你如何理解傅里叶变换,辨清美颜和变声原理...
形象展示傅里叶变换
The text was updated successfully, but these errors were encountered: