傅里叶变换一步步详细推导
傅里叶变换一步步详细推导
傅里叶变换是信号处理、图像处理、物理学等多个领域的核心工具。本文将从三角函数系的性质出发,一步步推导出傅里叶级数和傅里叶变换的完整过程。通过详细的数学推导,帮助读者深入理解这一重要数学工具的本质。
前言
在大学的时候接触过几次傅里叶变换的知识,但一直未能真正理解其本质。直到在B站上看到一个视频,才真正搞懂了傅里叶变换的推导过程。非常感谢这位UP主DR_CAN。这篇博客主要是对视频中的推导进行模仿,并记录下笔记方便复习。
另外,记录当时一条印象很深的弹幕:根本就没有人会学不懂数学,只是缺乏推导过程。
详细过程
1. 推导中的重要数学公式
三角函数系:{ 1 , sin(x) , cos(x) , sin(2x) , cos(2x) , sin(3x) , cos(3x) , ..., sin(nx) , cos(nx) }
在这个三角函数系里有个重要的性质,也就是傅里叶变换的推导精髓所在:
在三角函数系里任取两个不同的函数f(x), g(x)。都有一下公式成立:
∫_{-\pi}^{\pi}f(x)g(x)dx=0
比如说:
∫_{-\pi}^{\pi}sin(4x)cos(7x)dx=0
∫_{-\pi}^{\pi}1 \cdot sin(9x)dx=0
∫_{-\pi}^{\pi}sin(x)cos(x)dx=0
如果取得f(x), g(x)两个函数是相同的,那么
∫_{-\pi}^{\pi}1 \cdot 1dx=2\pi
∫_{-\pi}^{\pi}sin(nx)sin(nx)dx=\pi
∫_{-\pi}^{\pi}cos(nx)cos(nx)dx=\pi \quad (n=1,2,3...)
(这就不证明了,积分算一下就可以得到)
结论就是:任取三角函数系的不同函数相乘在一个周期的积分都为0。只有相同的函数才不为0。
欧拉公式:
e^{i\theta}=cos(\theta)+isin(\theta)
简单地理解,欧拉公式就是复数的另一种表示形式。e^{i\theta}就看作复数。
2. 傅里叶级数
先讨论周期函数f(t),周期为T。也就是f(t) = f(t+T)。
傅里叶级数本质就是用这无穷多个三角函数来表示或者无限近似函数f(t)。公式如下
f(t)=a_0+\sum_{n=1}^{\infty}[a_ncos(nt)+b_nsin(nt)]
在上面的三角函数系里除了1, sin(x), cos(x),其他函数其实都是在sin(x), cos(x)的乘上一个系数。这里sin(x), cos(x)的T = \frac{2\pi}{1}。我们令w = \frac{2\pi}{T}。称w为基频率。在上面的三角函数系里基频率就是1。如果把最开始的sin(x), cos(x)换成sin(1.5x), cos(1.5x)。那么整个三角函数系就变了啊。基频率也就变了。所以我们还需要一个变量w来描述三角函数系长什么样子。上面公式没有w只是因为碰巧w=1而已。所以傅里叶级数完整公式如下。(太啰嗦了……)
f(t)=a_0+\sum_{n=1}^{\infty}[a_ncos(nwt)+b_nsin(nwt)]
写到这里其实就差不多了,但是欧拉说这里我必须要插一脚。这个公式太难看了。
根据欧拉公式有
e^{inwt}=cos(nwt)+isin(nwt)
e^{-inwt}=cos(nwt)-isin(nwt)
那么
cos(nwt)=\frac{e^{inwt}+e^{-inwt}}{2}
sin(nwt)=\frac{e^{inwt}-e^{-inwt}}{2i}
带入上式
f(t)=a_0+\sum_{n=1}^{\infty}[a_n\frac{e^{inwt}+e^{-inwt}}{2}+b_n\frac{e^{inwt}-e^{-inwt}}{2i}]
f(t)=a_0+\sum_{n=1}^{\infty}(\frac{a_n-ib_n}{2})e^{inwt}+\sum_{n=1}^{\infty}(\frac{a_n+ib_n}{2})e^{-inwt}
还不够好看啊,好像也不能再化简了吧。(但是接下来这个操作很帅,注意细节)
f(t)=\sum_{n=0}^{0}a_ne^{inwt}+\sum_{n=1}^{\infty}(\frac{a_n-ib_n}{2})e^{inwt}+\sum_{n=-1}^{-\infty}(\frac{a_{-n}+ib_{-n}}{2})e^{inwt}
f(t)=\sum_{n=-\infty}^{\infty} c_ne^{inwt}
其中
当n=0时,c_n=a_0
当n=1,2,3...时,c_n=\frac{a_n-ib_n}{2}
当n=-1,-2,-3...时,c_n=\frac{a_{-n}+ib_{-n}}{2}
虽然很简洁,但是本质上都是一样的,只是公式的恒等变形。
3. 周期函数傅里叶变换
分析上面的公式,t是变量,其实sin,cos里面都是固定的。不知道的只有a_0, a_n, b_n。如果知道了a_0, a_n, b_n,那函数f(t)就写成了三角函数之和的形式了。下面就来求a_0, a_n, b_n。
先求a_0,对上式左右两边同时乘上1,也就是同时乘上cos(0t),再从0到T积分
∫0^T f(t)dt=\int_0^T a_0dt+ \int_0^T \sum{n=1}^{\infty}[a_ncos(nwt)+b_nsin(nwt)]dt
∫0^T f(t)cos(0t)dt=\int_0^T a_0cos(0t)dt+ \int_0^T \sum{n=1}^{\infty}[a_ncos(nwt)cos(0t)+b_nsin(nwt)cos(0t)]dt
写到这里应该就可以知道三角函数系的结论能干什么了吧
上式最右边那项里面cos(nwt)cos(0t),对它积分不就等于0嘛。sin(nwt)cos(0t),对它积分也等于0。因为他们在三角函数系是不同的函数啊。因此
∫_0^T f(t)dt=\int_0^T a_0cos(0t)dt+0
∫_0^T f(t)dt=\int_0^T a_0dt =T \cdot a_0
a_0=\frac{1}{T}\int_0^T f(t)dt
接着算a_n,这里n=1,2,3...对傅里叶级数公式左右两边同时乘上cos(mwt),再从0到T积分
f(t)=a_0+\sum_{n=1}^{\infty}[a_ncos(nwt)+b_nsin(nwt)]
∫0^T f(t)cos(mwt)dt=\int_0^T a_0cos(mwt)dt+ \int_0^T cos(mwt)\sum{n=1}^{\infty}[a_ncos(nwt)+b_nsin(nwt)]dt
∫0^T f(t)cos(mwt)dt=\int_0^T a_0cos(0t)cos(mwt)dt+ \int_0^T cos(mwt)\sum{n=1}^{\infty}[a_ncos(nwt)+b_nsin(nwt)]dt
看到了吧,三角函数系的结论又来了,对cos(0t)cos(mwt), sin(nwt)cos(mwt)的积分又都是0了。只有cos(nwt)cos(nwt)的积分才不等于0,对于其他m≠n, cos(mwt)cos(nwt)的积分也是0,因此求和符号也就没了
∫0^T f(t)cos(mwt)dt=0+ \int_0^T \sum{n=1}^{\infty}a_ncos(nwt)cos(mwt)dt+\int_0^T \sum_{n=1}^{\infty}b_nsin(nwt)cos(mwt)dt
∫_0^T f(t)cos(mwt)dt=\int_0^T a_mcos(mwt)cos(mwt)dt+0
∫_0^T f(t)cos(mwt)dt=\int_0^T a_mcos^2(mwt)dt=a_m\int_0^T \frac{1+cos(2mwt)}{2}dt= \frac{T}{2}a_m
a_m = \frac{2}{T}\int_0^T f(t)cos(mwt)dt \quad (m=1,2,3...)
a_n = \frac{2}{T}\int_0^T f(t)cos(nwt)dt \quad (n=1,2,3...)
求得了a_n,来算b_n。其实很明显能观察到的相似性,我们根据a_n的规律直接得出b_n
b_n = \frac{2}{T}\int_0^T f(t)sin(nwt)dt \quad (n=1,2,3...)
现在把a_0, a_n, b_n,带入上面求c_n的公式
当n=0时
c_n=a_0=\frac{1}{T}\int_0^T f(t)dt=\frac{1}{T}\int_0^T f(t)e^{-iw \cdot 0}dt
当n=1,2,3...时
c_n=\frac{a_n-ib_n}{2} = \frac{\frac{2}{T}\int_0^T f(t)cos(nwt)dt-i\cdot\frac{2}{T}\int_0^T f(t)sin(nwt)dt }{2}
=\frac{1}{T}\int_0^{T}f(t)[cos(nwt)-isin(nwt)]dt
=\frac{1}{T}\int_0^{T}f(t)e^{-inwt}dt
当n=-1,-2,-3...时
c_n=\frac{a_{-n}+ib_{-n}}{2} = \frac{\frac{2}{T}\int_0^T f(t)cos(-nwt)dt+i\cdot\frac{2}{T}\int_0^T f(t)sin(-nwt)dt }{2}
=\frac{1}{T}\int_0^{T}f(t)[cos(nwt)-isin(nwt)]dt
=\frac{1}{T}\int_0^{T}f(t)e^{-inwt}dt
我们惊奇地发现对于任意整数n,c_n的表达式都是一样的。
总结上面的公式
f(t)=\sum_{n=-\infty}^{\infty} c_ne^{inwt} \quad 其中,c_n=\frac{1}{T}\int_0^{T}f(t)e^{-inwt}dt
其中c_n是可以通过上面公式算出来的复数。而e的指数inwt,对于每一个不同的函数f(t)其实都是一样的。那么决定函数的不同其实就是c_n。我们知道一系列这样的(t, f(t))对就可以画出函数图像,也就是说这样的(t, f(t))能够唯一确定函数。但是现在我们的函数由这样的(n, c_n)对来确定了。其实也就是说函数表示发生了转化–从时域到频域的转化。函数值是不变的,它们等号连接的嘛。只是表诉的方式改变了。如下图
(上图右边纵轴c_n其实是个复数,可以理解为应该有两个维度,一个实部,一个虚部,但是这里为了简单画图,就把它画成了实数。但其实它是个复数。)
4. 任意函数傅里叶变换
对于一个非周期函数,我们可以假设它是个周期函数,它的周期T \to + \infty。就可以用上面的公式求出了。
w是基频率。w=\frac{2\pi}{T}。当T \to + \infty时,w \to 0。w=(n+1)w-nw=\Delta w。所以\Delta w \to 0。
从上图可以看到,随着\Delta w \to 0,nw会从一个离散的量变为一个连续的变量。
对于上小节中c_n可以写作
c_n=\frac{1}{T}\int_{-\frac{T}{2}}^{\frac{T}{2}}f(t)e^{-inwt}dt
那么,对于任意函数的变换为
f(t) = \lim_{T\to \infty}\sum_{n=-\infty}^{\infty} \frac{1}{T}\int_{-\frac{T}{2}}^{\frac{T}{2}}f(t)e^{-inwt}dt\ e^{inwt}
= \lim_{\Delta w \to 0}\sum_{n=-\infty}^{\infty}\frac{\Delta w}{2\pi}\int_{-\infty}^{+\infty}f(t)e^{-inwt}dt\ e^{inwt}
当\Delta w \to 0时,(n+1)w和nw就几乎相等。令W=nw,(w是一经确定就不变的量,n才是离散的变量),那么就可以把W看作连续变化的量。所以上式求和就可写作求积分
f(t) = \int_{-\infty}^{+\infty}\frac{1}{2\pi}(\int_{-\infty}^{+\infty}f(t)e^{-iWt}dt)\ e^{iWt} dW
=\frac{1}{2\pi}\int_{-\infty}^{+\infty}(\int_{-\infty}^{+\infty}f(t)e^{-iWt}dt)\ e^{iWt} dW
其中,\int_{-\infty}^{+\infty}f(t)e^{-iWt}dt的积分变量是t,也就是说它是关于W的函数。令
F(W) =\int_{-\infty}^{+\infty}f(t)e^{-iWt}dt
那么函数F(W)就是f(t)的傅里叶变换。把F(W)带入f(t)得
f(t)=\frac{1}{2\pi}\int_{-\infty}^{+\infty}F(W)\ e^{iWt} dW
f(t)就是傅里叶变换的逆变换。
函数。令
F(W) =\int_{-\infty}^{+\infty}f(t)e^{-iWt}dt
那么函数F(W)就是f(t)的傅里叶变换。把F(W)带入f(t)得
f(t)=\frac{1}{2\pi}\int_{-\infty}^{+\infty}F(W)\ e^{iWt} dW
f(t)就是傅里叶变换的逆变换。