从零开始推导傅里叶变换
jamiehz Lv1

前言

傅里叶变换是许多理工科都会用到的一种线性积分变换。传统的卷积神经网络(CNN)无法在非欧数据上运算,为了能够在图等非欧数据上进行卷积运算,研究人员提出在图上进行傅里叶变换,进而发展出图卷积网络(GCN)。

本文将聚焦于傅里叶级数和傅里叶变换的数学推导,完全从数学的角度展开。若想了解傅里叶分析的基本概念,可以参考这篇文章这个视频对本文的写作具有启发性意义,本文的一些地方参考了视频。

三角函数

三角函数的和差公式

为了真正从零开始推导,首先需要掌握三角函数和差公式。假设平面上有两个单位向量,与x轴的正向夹角分别为,则这两个向量分别为。由内积公式可知,两个向量的内积为

在欧几里得空间中,内积可以直观地定义为两个向量的模长乘它们之间的余弦夹角,即

此时我们得到了第一个三角函数和差公式。将(2)中的带入时,有



这里用到了这两个公式,这是由三角函数的奇偶性得到的。现在,我们用带入到(2)和(4)式中的,分别得到


公式(2),(4),(5),(6)就是三角函数最基本的和差公式,是后续推导的基础。

三角函数的正交性

先来看一个三角函数的集合:{ 0,1,sinx,cosx,sin2x,cos2x,…,sinmx,cosmx,…},这实际上是由sinnx和cosnx组成的集合,其中n为自然数。

正交

这里引用维基百科中正交的概念——“正交是线性代数的概念,是垂直这一直观概念的推广。若内积空间中两向量的内积为0,则称它们是正交的。”也就是说,当两个向量正交时:

其中是向量和向量的夹角,在二维平面上向量和向量垂直。把用向量的方式表达出来,,那么

时,由于此时a和b是连续函数,所以这里加和就变成了取积分,即

当式(3)为0时,两个向量正交。

对于任意两个三角函数在区间上积分,当时,

同样可以计算

时,

注意,这里其实用到了一个小trick,即,由于,因此通过公式(4)可知积分为0。

同样可以计算当时,

傅里叶级数

讲了那么多铺垫,终于进入到第一个主题,傅里叶级数。首先,我们来看一下傅里叶级数的定义,这里同样引用维基百科的定义——“傅里叶级数是把类似波的函数表示成简单正弦波的方式。更正式地说,对于满足狄利克雷定理的周期函数,其傅里叶级数是由一组简单振荡函数的加权和表示的方法。”现在我们知道了傅里叶级数是什么东西,它无非就是一组具有周期性的简单振荡函数的加权和,那么我们就可以开始计算了。我们先看一个最简单的正弦函数,,这是一个周期为,振幅为1,相角为0的振荡函数,现在我们给它做一些拓展,让它可以表示任意三角函数:

现在,我们根据傅里叶级数的定义,假设(16)是满足狄利克雷定理的周期函数,那么它的傅里叶级数就是(16)的加权和,即

由于是一个常数,因此可以令,此时(17)就变成了,此时可以发现这几乎就是三角级数了,于是我们再进一步,把它变成三角级数,即

这一步实际上就是把加和项0拿出来单独计算,于是加和从1开始,,于是我们几乎算得三角级数。现在我们来算,为了便于计算,我们假设是一个周期为的函数,那么在区间上对算积分,可得

这一步实际上也用到了三角函数正交性的trick,因为,而,因此后两项的积分为0,所以

得到的值后,现在来算,将(19)等式两边同时乘以,得到

(21)中等式右边第一项由于,因此第一项积分为0,第三项由(11),(14)可知积分为0,因此只剩下第二项。而由(10),(13)可知,仅当时,其积分为,其余积分为0,因此等式(21)变为

因此。对于,将(19)等式两边同时乘以,得到


同理可得
此时我们算得了,有

可以看到,的系数都是,而的系数为,这不够美观,于是我们把的系数换成,那么(18)就变成了
,其中

时,就得到了教材中傅里叶级数的一般形式,即
,其中

上面的等式是我们为了便于计算而假设了周期是,那么当周期不是时表达式又变成什么样了呢?现在假设周期为,那么(24)就变成了
,其中

图1 一个相同幅度和频率的锯齿波的近似

图2 另一个分别采用傅里叶级数的前 1, 2, 3, 4 项近似方波的可视化。

这个网站可以看到傅里叶级数交互式的动画。

欧拉公式

在介绍傅里叶变换前,需要先介绍宇宙最美公式——欧拉公式。本节只证明而不介绍欧拉公式,想要了解欧拉公式,可以参考李永乐老师的视频。我们假设,其中是虚数,,对求导有

的导数为0,意味着是一个常数,那么有

因此

将(29)中的替换为,可以得到

利用[(30)-(29)]/2和[(30)+(29)]/2分别可以得到

傅里叶级数的复数形式

将公式(31),(32)带入公式(26)中,有

这一步比较复杂,需要具体解释一下。第一个等号实际上就是把公式(31),(32)带入公式(26)中,等二个等号用到了乘法结合律,第三个等号是关键,这里把第一项的换成了,实际上因为,因此,所以它们是相等的;而第三项则是把带入,此时所有项都含有,因此我们用来表示常数项,且

现在我们将(27)带入(34)中,当时,

当n为正整数时,

当n为负整数时,

算到这里时,我们发现当时的结果和时的结果居然一模一样,那么现在不如更进一步,把时的结果换个形式,变换(36)式为

现在,的所有形式都已经统一了,于是我们可以用一个公式来表示这个结果,即

其中

傅里叶变换

上文已经阐述了当周期是时傅里叶级数的情况,并且对傅里叶级数的复数形式进行了推理论证,现在很容易产生一个疑问——当周期趋向于无穷大时,这时周期函数就变成了非周期函数,那么该怎么计算呢?这就引了本文的第二个主题,傅里叶变换。

图3 傅里叶变换将函数的时域(红色)与频域(蓝色)相关联。频谱中的不同成分频率在频域中以峰值形式表示。

图3很好的展示了通过傅里叶变换将正弦波组成一个类方波的过程,现在依次解释图3中发生了什么。

(a) (b) (c) (d) (e) (f)
图4中红色波代表函数在时域上图,如(a)中的红色波,图4(b)相较(a)多了许多蓝色的波,这些波实际上是不同频率的波在时域上的图。图4(c)中用透视的角度去看不同域的效果,以(a)为例是从时域的角度看,而(d)中则是频域图像,从左往右频率依次增加。(e)则是时域频域的交叉图。(f)是另一个函数在不同域上的效果。

上文已经推导出当周期为T时,

其中

当周期趋向于无穷大时,,此时趋于0,函数则由离散变成连续,则有,现在将(43)带入到(42)中,有


其中

称为傅里叶变换,

称为傅里叶逆变换。到此为止,我们已经推导完傅里叶变换和傅里叶逆变换,如果你动手跟着文章一路推导下来,那么你应该理解了本篇文章的内容,接下来你就可以应用它啦。

  • Post title:从零开始推导傅里叶变换
  • Post author:jamiehz
  • Create time:2022-05-28 21:41:01
  • Post link:https:jamiehz.github.io/2022/05/28/从零开始推导傅里叶变换/
  • Copyright Notice:All articles in this blog are licensed under BY-NC-SA unless stating additionally.
 Comments