傅里叶级数与傅里叶变换

本文有关三角函数的描述很多,忘记高中知识的可以从这个链接复习下各个概念:振幅、周期、相移和频率

一、从简单变换到傅里叶级数

如下图所示,在笛卡尔坐标系中,由于我们定义了一组基e_x=(1,0),e_y=(0,1),因此坐标系中的所有点才能够被一个坐标唯一地表示:

简单变换

这样的好处是有了坐标以后,点与点之间就不再是相互孤立的存在,也就有了距离的关系。这个过程就是一种变换,即把坐标变换到坐标系中。

这种简单的变换是将空间中的点使用一组基来表示,点是基的加权累加,而类比到函数中,对于一个函数,我们期待使用一组基函数来表示。傅里叶级数与傅里叶变换就是用来办到这件事的方法,其中傅里叶级数能够将任意周期函数表示成一组基函数依照各自的系数的累加,而傅里叶变换针对的是非周期函数

首先阐述傅里叶级数,它可以将任意周期函数分解为简单震荡函数(正弦函数和余弦函数,这些函数作为基函数)的加和。具体地,对于周期为T的周期函数f(t),可以分解为三角函数的组合:

f(t)=a_{0}+\sum_{n=1}^{+\infty }\left [a_{n}cos(n\omega t)+b_{n}sin(n\omega t)\right ]

这里的w=\frac {2\pi }{T},称为基频率。类比笛卡尔坐标系,a_0,a_n,b_n就相当于坐标,而1,cos(n\omega t),sin(n\omega t)就相当于基向量,不同的是,1,cos(n\omega t),sin(n\omega t)是一组函数,而基向量是一组向量,笛卡尔坐标系使用基向量来表示点,傅里叶级数使用基函数来表示周期函数。

这里保留一个疑问:在上面对任意周期函数f(t)的分解公式中,这里的1,cos(n\omega t),sin(n\omega t)这些基函数都是没有相位的,也就是说这些基函数在坐标系中都是关于y轴对称的,那么在f(t)不关于y轴对称时,这些关于y轴对称的基函数们真的能够通过线性组合得到一个不关于y轴对称的周期函数吗?这一点是很难直观想象的,在下面的章节中我们会证明这件事。

本节类比了笛卡尔坐标系与傅里叶级数,首先对变换有一个简单的概念,接下来的章节会介绍更多的细节。

二、傅里叶级数

  1. 三角函数系

一个三角函数系为:

\left \{1,sin(\omega x),cos(\omega x),sin(2\omega x),cos(2\omega x),\cdots ,sin(n\omega x),cos(n\omega x),\cdots \right \}

注意1也可以看做一个函数,其实也就是cos(0\omega x),由于sin(0\omega x)=0,所以我们就不管它了。另外这里的\omega也就是上面提到的基频率,可以看到这个基频率的大小由要分解的函数f(t)的周期T决定的,也就是说使用傅里叶级数分解周期函数时不同周期的函数要使用不同的三角函数系来作为基函数。

在笛卡尔坐标系中,基向量满足的性质是不同的基向量之间两两正交(内积为0),相同的基向量内积为1。假设两个基向量vm,用下标表示基向量的维度,则他们的内积就是对应的维度相乘之后的累加:

v\cdot m=v_{1}m_{1}+v_{2}m_{2}+\cdots +v_{n}m_{n}=0

傅里叶级数的基函数之间也有类似的性质,基向量之间的内积是以累加的方式计算的,类似的,基函数之间的内积是以积分的形式计算的。同样类似的,不同基函数之间的内积为0,同一基函数的内积为一个正数。

首先,如果从三角函数系中任意取两个函数f(x),g(x)(当然也包括1这个函数),有:

\int_{-\pi }^{\pi }f(x)g(x)\mathrm{d}x=0

比如:

\int_{-\pi }^{\pi }sin(4\omega x)cos(7\omega x)\mathrm{d}x=0\\ \int_{-\pi }^{\pi }1\cdot sin(9\omega x)\mathrm{d}x=0\\ \int_{-\pi }^{\pi }sin(6\omega x)cos(\omega x)\mathrm{d}x=0

另外三角函数系中两个相同的函数之间的内积为一个正数,比如:

\int_{-\pi }^{\pi }1\cdot 1\mathrm{d}x=2\pi \\ \int_{-\pi }^{\pi }sin(n\omega x)sin(n\omega x)\mathrm{d}x=\pi \\ \int_{-\pi }^{\pi }cos(n\omega x)cos(n\omega x)\mathrm{d}x=\pi

  1. 傅里叶级数的直观理解
  • 矩形波的分解

以一个周期矩形波为例,难以想象的是这个矩形波是可以被傅里叶级数分解的。下图中展示了多个正弦函数如何逐步组合成为一个矩形波,随着震荡函数的增加,它们最终就可以组成一个矩形波:

矩形波的分解

注意这里只有正弦函数而没有余弦函数,这里的正弦函数并非指的是前面对f(t)的分解公式里的正弦函数,公式里的正弦函数是没有相位的,而这里说的正弦函数是有相位的。我们之前说任意周期函数都可以由正弦和余弦函数累加而组成,这里的正弦函数和余弦函数是没有相位的,而事实上我们只需要有相位的正弦函数就可以组成任意的周期函数了。下图也同样展示了这些有相位的正弦波组合成矩形波的过程:

矩形波的分解

这里的正弦波之间还有一些直线,这些直线其实也是正弦波,只不过振幅为0,这说明组成一个周期函数时,可能一些成分是不需要的。

  • 频谱

上面的图立体地展示了正弦波组合成周期函数的过程,如果我们从侧面来看这个立体图,也就得到了所谓的频谱(Spectrum)

频谱的由来

其实也就相当于以这些正弦波的频率做横轴,振幅做竖轴得到图像:

频谱

现在再重新来看一个周期函数的立体分解图,也就是说从正面来看看到的是时域(Time Domain)的图像,而从侧面来看看到的就是频域(Frequency Domain)图像:

时域与频域
  • 相位谱

频谱记录了正弦波的频率和振幅,但没有记录相位信息,同样的我们可以以频率为横轴,相位为纵轴构建一个相位谱(phase spectrum)

相位谱

利用频谱和相位谱就可以记录所有的组成一个周期函数的正弦函数了。最终,放一张集合图:

综合
  1. 傅里叶级数的由来

现在我们解释下面这个式子的由来,也顺便回答第一个章节留下的疑问:

f(t)=a_{0}+\sum_{n=1}^{+\infty }\left [a_{n}cos(n\omega t)+b_{n}sin(n\omega t)\right ]

利用带有相位的正弦函数可以组合成任意的周期函数,当然这里的基频率还是\omega =\frac{2\pi }{T},这个过程用公式可以表示为:

f(t)=\sum_{{\color{Red}{n=0}}}^{+\infty }A_{n}sin(n\omega t+\varphi _{n})

利用和角公式进行一些变换:

f(t)=\sum_{{\color{Red}{n=0}}}^{+\infty }A_{n}sin(n\omega t+\varphi _{n})\\ =\sum_{n=0}^{+\infty }A_{n}[sin(n\omega t)cos(\varphi _{n})+cos(n\omega t)sin(\varphi _{n})]\\ =\sum_{n=0}^{+\infty }[A_{n}cos(\varphi _{n})sin(n\omega t)+A_{n}sin(\varphi _{n})cos(n\omega t)]\\ =A_{0}cos(\varphi _{0})\underset{=0}{\underbrace{sin(0\omega t)}}+\underset{记作a_{0}}{\underbrace{A_{0}sin(\varphi _{0})}}\underset{=1}{\underbrace{cos(0\omega t)}}+\sum_{{\color{Red}{n=1}}}^{+\infty }[\underset{记作b_{n}}{\underbrace{A_{n}cos(\varphi _{n})}}sin(n\omega t)+\underset{记作a_{n}}{\underbrace{A_{n}sin(\varphi _{n})}}cos(n\omega t)]\\ =a_{0}+\sum_{n=1}^{+\infty }\left [a_{n}cos(n\omega t)+b_{n}sin(n\omega t)\right ]

最终得到了我们之前说过的傅里叶级数,同时也解释了前面留下的疑问。

  1. 求解傅里叶级数的系数

对于一个周期函数f(t),如何求它分解为傅里叶级数后的系数a_0,a_n,b_n呢?同样类比笛卡尔坐标系,一个坐标点与一个基向量做内积就可以得到这个坐标点在这个基向量上的系数,那么一个周期函数只需要与一个基函数做积分,也就可以得到对应的系数。那么首先求a_0a_0对应的基函数为cos(0t)):

\int_{0}^{T}f(t)cos(0t)\mathrm{d}t=\int_{0}^{T}\left (a_{0}+\sum_{n=1}^{+\infty }\left [a_{n}cos(n\omega t)+b_{n}sin(n\omega t)\right ]\right )cos(0t)\mathrm{d}t \\ =\int_{0}^{T}a_{0}cos(0t)\mathrm{d}t+\int_{0}^{T}\sum_{n=1}^{+\infty }[a_{n}\underset{积分为0}{\underbrace{cos(n\omega t)cos(0t)}}+b_{n}\underset{积分为0}{\underbrace{sin(n\omega t)cos(0t)}}]\mathrm{d}t\\ =a_{0}T

那么就有:

a_{0}=\frac{1}{T}\int_{0}^{T}f(t)\mathrm{d}t

然后求a_n,对应的基函数为cos(n\omega t)

\int_{0}^{T}f(t)cos(n\omega t)\mathrm{d}t=\int_{0}^{T}\left (a_{0}+\sum_{m=1}^{+\infty }\left [a_{m}cos(m\omega t)+b_{m}sin(m\omega t)\right ]\right )cos(n\omega t)\mathrm{d}t\\ =\int_{0}^{T}a_{0}cos(n\omega t)\mathrm{d}t+\int_{0}^{T}\sum_{m=1}^{+\infty }a_{m}cos(m\omega t)cos(n\omega t)\mathrm{d}t+\int_{0}^{T}\sum_{m=1}^{+\infty }b_{m}sin(m\omega t)cos(n\omega t)\mathrm{d}t \\ =\int_{0}^{T}a_{n}cos(n\omega t)cos(n\omega t)\mathrm{d}t \\ =\int_{0}^{T}a_{n}cos^{2}(n\omega t)\mathrm{d}t\\ =\int_{0}^{T}a_{n}\frac{1+cos(2n\omega t)}{2}\mathrm{d}t\\ =a_{n}\frac{T}{2}

那么就有:

a_{n}=\frac{2}{T}\int_{0}^{T}f(t)cos(n\omega t)\mathrm{d}t

最后用类似的方法求得b_n

b_{n}=\frac {2}{T}\int_{0}^{T}f(t)sin(n\omega t)\mathrm{d}t

  1. 欧拉公式与傅里叶级数

首先有欧拉公式如下:

e^{i\theta }=cos(\theta )+isin(\theta )

可以简单的将欧拉公式理解为复数的另一种表示形式,e^{i\theta }看做复数。为了能够化简傅里叶级数的表达形式,我们需要应用到欧拉公式。

\theta =n\omega t以及\theta =-n\omega t时,根据欧拉公式有:

e^{in\omega t}=cos(n\omega t)+isin(n\omega t)\\ e^{-in\omega t}=cos(n\omega t)-isin(n\omega t)

那么:

cos(n\omega t)=\frac{e^{in\omega t}+e^{-in\omega t}}{2}\\ sin(n\omega t)=\frac{e^{in\omega t}-e^{-in\omega t}}{2i}

将这两项代入傅里叶级数,并进行整理:

f(t)=a_{0}+\sum_{n=1}^{+\infty }\left [a_{n}\frac{e^{in\omega t}+e^{-in\omega t}}{2}+b_{n}\frac{e^{in\omega t}-e^{-in\omega t}}{2i}\right ] \\ ={\color{Red}{a_{0}}}+\sum_{n=1}^{+\infty }\left (\frac{a_{n}-ib_{n}}{2}\right )e^{in\omega t}+\sum_{{\color{Blue}{n=1}}}^{{\color{Blue}{+\infty }}}\left (\frac{{\color{Blue}{a_{n}}}+i{\color{Blue}{b_{n}}}}{2}\right ){\color{Blue}{e^{-in\omega t}}}\\ ={\color{Red}{\sum_{n=0}^{0}a_{n}e^{in\omega t}}}+\sum_{n=1}^{+\infty }\left (\frac{a_{n}-ib_{n}}{2}\right )e^{in\omega t}+\sum_{{\color{Blue}{n=-1}}}^{{\color{Blue}{-\infty }}}\left (\frac{{\color{Blue}{a_{-n}}}+i{\color{Blue}{b_{-n}}}}{2}\right ){\color{Blue}{e^{in\omega t}}}\\ =\sum_{-\infty }^{+\infty }{\color{Green}{c_{n}}}e^{in\omega t}

其中:

当n=0时,c_{n}=a_{0}\\ 当n=1,2,3,\cdots 时,c_{n}=\frac{a_{n}-ib_{n}}{2}\\ 当n=-1,-2,-3,\cdots 时,c_{n}=\frac{a_{-n}+ib_{-n}}{2}

上一小节我们求得了系数a_0,a_n,b_n,现在将这些系数代入经过欧拉公式变换后的傅里叶级数。首先,当n=0时:

c_{n}=a_{0}\\ =\frac{1}{T}\int_{0}^{T}f(t)\mathrm{d}t\\ =\frac{1}{T}\int_{0}^{T}f(t)e^{-i0\omega t}\mathrm{d}t

n=1,2,3,\cdots时:

c_{n}=\frac{a_{n}-ib_{n}}{2}\\ =\frac{\frac{2}{T}\int_{0}^{T}f(t)cos(n\omega t)\mathrm{d}t-i\frac{2}{T}\int_{0}^{T}f(t)sin(n\omega t)\mathrm{d}t}{2}\\ =\frac{1}{T}\int_{0}^{T}f(t)[cos(n\omega t)-isin(n\omega t)]\mathrm{d}t\\ =\frac{1}{T}\int_{0}^{T}f(t)e^{-in\omega t}\mathrm{d}t

n=-1,-2,-3,\cdots时:

c_{n}=\frac{a_{-n}+ib_{-n}}{2} \\ =\frac{\frac{2}{T}\int_{0}^{T}f(t)cos(-n\omega t)\mathrm{d}t+i\frac{2}{T}\int_{0}^{T}f(t)sin(-n\omega t)\mathrm{d}t}{2} \\ =\frac{1}{T}\int_{0}^{T}f(t)[cos(n\omega t)-isin(n\omega t)]\mathrm{d}t\\ =\frac{1}{T}\int_{0}^{T}f(t)e^{-in\omega t}\mathrm{d}t

可见对于任意的n,所有的c_n的表达式都是一样的,总结一下,傅里叶级数最终可以写为:

f(t)=\sum_{n=-\infty }^{+\infty }{c_{n}e^{in\omega t}},其中c_{n}=\frac{1}{T}\int_{0}^{T}f(t)e^{-in\omega t}\mathrm{d}t

上面的式子也就说明,任意的一个周期为t的周期函数,都可以使用一组c_n来表示它。也就是说,在时域内(t,f(t))可以唯一地确定函数f(t),而在频域内,函数f(t)(n,c_n)来唯一确定,这就是从时域到频域的转换,如下图:

时域与频域

上图右边纵轴c_n其实是个复数,可以理解为应该有两个维度,一个实部,一个虚部,但是这里为了简单画图,就把它画成了实数,但其实它是个复数。

三、傅里叶变换

傅里叶变换针对非周期函数,一个非周期函数可以看做周期无限大的函数。同样的以\omega作为基频率,满足\omega =\frac{2\pi }{T},当T\rightarrow +\infty时,\omega \rightarrow 0,又有\omega =(n+1)\omega -n\omega =\Delta \omega,因此\Delta \omega \rightarrow 0

在这里我们将c_n写作从-\frac{T}{2}\frac{T}{2}的积分:

c_{n}=\frac{1}{T}\int_{-\frac{T}{2}}^{\frac{T}{2}}f(t)e^{-in\omega t}\mathrm{d}t

那么对于非周期函数f(t)来说有:

f(t)=\lim_{T\rightarrow +\infty }\sum_{n=-\infty }^{+\infty }{c_{n}e^{in\omega t}}\\ =\lim_{T\rightarrow +\infty }\sum_{n=-\infty }^{+\infty }\frac{1}{T}\int_{-\frac{T}{2}}^{\frac{T}{2}}f(t)e^{-in\omega t}\mathrm{d}t\cdot e^{in\omega t} \\ =\lim_{\Delta \omega \rightarrow 0}\sum_{n=-\infty }^{+\infty }\frac{\Delta \omega }{2\pi }\int_{{\color{Red}{-\infty }}}^{{\color{Red}{+\infty }}}f(t)e^{-in\omega t}\mathrm{d}t\cdot e^{in\omega t}

从下图中可以看做,当\Delta \omega \rightarrow 0时,虽然n为离散的量,但是n\omega会变成一个连续的量:

从离散到连续

注意\Delta \omega =\omega,另外我们令W=n\omega,那么我们有:

f(t)=\lim_{\omega \rightarrow 0}\sum_{{\color{Red}{n}}=-\infty }^{+\infty }\frac{{\color{Red}{\omega }}}{2\pi }\int_{-\infty }^{+\infty }f(t)e^{-in\omega t}\mathrm{d}t\cdot e^{in\omega t}\\ =\int _{-\infty }^{+\infty }\frac{1}{2\pi }\left (\int_{-\infty }^{+\infty }f(t)e^{-iWt}\mathrm{d}t\right )e^{iWt}\mathrm{d}W\\ =\frac{1}{2\pi }\int _{-\infty }^{+\infty }\left (\int_{-\infty }^{+\infty }f(t)e^{-iWt}\mathrm{d}t\right )e^{iWt}\mathrm{d}W

注意这里的\int_{-\infty }^{+\infty }f(t)e^{-iWt}\mathrm{d}t是对t进行积分,因此它是关于W的函数,定义:

F(W)=\int_{-\infty }^{+\infty }f(t)e^{-iWt}\mathrm{d}t

F(W)就是f(t)傅里叶变换,将F(W)代入f(t)得:

f(t)=\frac{1}{2\pi }\int _{-\infty }^{+\infty }F(W)e^{iWt}\mathrm{d}W

f(t)就是傅里叶变换的逆变换

参考资料

ref:【GCN】万字长文带你入门 GCN——公众号:阿泽的学习笔记
ref:傅里叶变换一步步详细推导
ref:傅里叶分析之掐死教程(完整版)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,684评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,143评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,214评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,788评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,796评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,665评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,027评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,679评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,346评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,664评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,766评论 1 331
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,412评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,015评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,974评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,073评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,501评论 2 343

推荐阅读更多精彩内容