前一阵子搞语音识别,最近又在学习图神经网络 GNN,都用到了傅里叶变换。开始学了几遍之后还是有点懵,最近饶有兴致巩固了一波线性代数知识,加之看了点大佬的视频,突然对傅里叶变换就给开窍了。趁此机会记录、巩固一波。

傅里叶变换让我们可以将一个时间域(时域)上的函数,转换为一个频率域(频域)上等价的函数。这句话比较抽象,仅仅知道傅里叶变换的推导过程是无法真正理解其内涵的。在下面的介绍与推到中,本人结合自己学习路线以及其他辅助知识,一步步深入这句话的涵义。

1 Fourier series 傅里叶级数与函数的 FS 展开

傅里叶级数(Fourier series, FS)做的事情比较直白:任何一个**周期函数**,都可以分解成一堆正弦函数 Fourier Transform 傅里叶变换 - 图1。而这些正弦函数的和,就是傅里叶级数。当然,因为调整一下相位就能从正弦函数得到余弦函数,所以我们也可以说,任何一个周期函数,都可以分解成一堆正弦与余弦函数的和。

这篇文章中举了一个怎么将一个方波,逐步分解成多个正弦函数的和,比较直观,这里就不重复搬运了。本章剩下的部分就是对傅里叶级数的展开与解析。

1.1 傅里叶级数

首先给出一组概念:

  1. 函数的正交性:两个函数 Fourier Transform 傅里叶变换 - 图2 在区间 Fourier Transform 傅里叶变换 - 图3 上正交,当且仅当 Fourier Transform 傅里叶变换 - 图4(离散形式),或者 Fourier Transform 傅里叶变换 - 图5(连续形式)

这一点不难理解,如果两个向量正交,就是两个向量对应元素的乘积和,也就是内积为 Fourier Transform 傅里叶变换 - 图6,扩展到离散形式的函数上就是 Fourier Transform 傅里叶变换 - 图7,进而扩展到连续域上 Fourier Transform 傅里叶变换 - 图8

  1. 三角函数系作为正交函数基
    1. 三角函数系Fourier Transform 傅里叶变换 - 图9
    2. 三角函数系中,每两个不同的函数在 Fourier Transform 傅里叶变换 - 图10 上是正交的,即:
      1. Fourier Transform 傅里叶变换 - 图11
      2. Fourier Transform 傅里叶变换 - 图12
      3. Fourier Transform 傅里叶变换 - 图13

关于上面的第 2 条三角函数系,有两个值得探究的地方:

  • 关于上面三角函数的正交性,验证如下(只证明前两个,第三个同理):

image.png

  • 既然谈到了函数,自然就会想到线性代数中的基底(basis)的概念。

Fourier Transform 傅里叶变换 - 图15 空间中,Fourier Transform 傅里叶变换 - 图16 个互相线性独立的向量 Fourier Transform 傅里叶变换 - 图17 构成这个空间的一组基底。如果这组基底中两两基底是正交的,即 Fourier Transform 傅里叶变换 - 图18,则称为正交基;如果每个基底都是单位向量,即 Fourier Transform 傅里叶变换 - 图19,则称为单位基。

比如在 Fourier Transform 傅里叶变换 - 图20中,Fourier Transform 傅里叶变换 - 图21 就是一组单位正交基(也叫标准正交基)。在这样一组基底之下,我们可以将 Fourier Transform 傅里叶变换 - 图22 中任意一个点表示为这三个基底的线性组合

Fourier Transform 傅里叶变换 - 图23

可以写成矩阵乘法的形式

Fourier Transform 傅里叶变换 - 图24

需要强调的是,只有基底确定了,我们谈论空间中一个点的坐标才是有意义的,当然我们一般默认的就是这一组单位正交基。这里面,Fourier Transform 傅里叶变换 - 图25 叫做点 Fourier Transform 傅里叶变换 - 图26 分别在 Fourier Transform 傅里叶变换 - 图27 这三个基底上面的分量,我们可以说,这些分量定义了Fourier Transform 傅里叶变换 - 图28,也就是说,在基底确定的情况下, 重要的是这个点在每一个基底上的分量。

那么如何求点 Fourier Transform 傅里叶变换 - 图29 在某一个基底上面的分量大小呢?那就是向量的点积(内积),即向量的投影。比如:

Fourier Transform 傅里叶变换 - 图30

向量 Fourier Transform 傅里叶变换 - 图31 在某一个基底上面的分量大小,就是向量 Fourier Transform 傅里叶变换 - 图32 在该基底上的投影大小。这一点可以扩展到非正交、非单位的基底,即对于任意一组基底都是适用的。比如下面这个例子:

假设在二维实数空间 Fourier Transform 傅里叶变换 - 图33 中我们取一组单位正交基 Fourier Transform 傅里叶变换 - 图34, Fourier Transform 傅里叶变换 - 图35在这组基底下,有一个点 Fourier Transform 傅里叶变换 - 图36,这句话的意思是向量 Fourier Transform 傅里叶变换 - 图37 在上述两个基底上的分量分别是 Fourier Transform 傅里叶变换 - 图38Fourier Transform 傅里叶变换 - 图39。则通过线性组合,我们得到 Fourier Transform 傅里叶变换 - 图40 点的坐标,我们记为 Fourier Transform 傅里叶变换 - 图41

Fourier Transform 傅里叶变换 - 图42%22%20aria-hidden%3D%22true%22%3E%0A%20%3Cuse%20xlink%3Ahref%3D%22%23E1-MJMATHI-61%22%20x%3D%220%22%20y%3D%220%22%3E%3C%2Fuse%3E%0A%20%3Cuse%20transform%3D%22scale(0.707)%22%20xlink%3Ahref%3D%22%23E1-MJMAIN-2032%22%20x%3D%22748%22%20y%3D%22583%22%3E%3C%2Fuse%3E%0A%20%3Cuse%20xlink%3Ahref%3D%22%23E1-MJMAIN-3D%22%20x%3D%221102%22%20y%3D%220%22%3E%3C%2Fuse%3E%0A%3Cg%20transform%3D%22translate(2158%2C0)%22%3E%0A%20%3Cuse%20xlink%3Ahref%3D%22%23E1-MJMATHI-61%22%20x%3D%220%22%20y%3D%220%22%3E%3C%2Fuse%3E%0A%20%3Cuse%20transform%3D%22scale(0.707)%22%20xlink%3Ahref%3D%22%23E1-MJMAIN-31%22%20x%3D%22748%22%20y%3D%22-213%22%3E%3C%2Fuse%3E%0A%3C%2Fg%3E%0A%3Cg%20transform%3D%22translate(3141%2C0)%22%3E%0A%3Cg%20transform%3D%22translate(40%2C0)%22%3E%0A%20%3Cuse%20xlink%3Ahref%3D%22%23E1-MJMATHI-65%22%20x%3D%220%22%20y%3D%220%22%3E%3C%2Fuse%3E%0A%20%3Cuse%20transform%3D%22scale(0.707)%22%20xlink%3Ahref%3D%22%23E1-MJMAIN-31%22%20x%3D%22659%22%20y%3D%22-213%22%3E%3C%2Fuse%3E%0A%3C%2Fg%3E%0A%20%3Cuse%20xlink%3Ahref%3D%22%23E1-MJMAIN-2192%22%20x%3D%220%22%20y%3D%22563%22%3E%3C%2Fuse%3E%0A%3C%2Fg%3E%0A%20%3Cuse%20xlink%3Ahref%3D%22%23E1-MJMAIN-2B%22%20x%3D%224364%22%20y%3D%220%22%3E%3C%2Fuse%3E%0A%3Cg%20transform%3D%22translate(5365%2C0)%22%3E%0A%20%3Cuse%20xlink%3Ahref%3D%22%23E1-MJMATHI-61%22%20x%3D%220%22%20y%3D%220%22%3E%3C%2Fuse%3E%0A%20%3Cuse%20transform%3D%22scale(0.707)%22%20xlink%3Ahref%3D%22%23E1-MJMAIN-32%22%20x%3D%22748%22%20y%3D%22-213%22%3E%3C%2Fuse%3E%0A%3C%2Fg%3E%0A%3Cg%20transform%3D%22translate(6348%2C0)%22%3E%0A%3Cg%20transform%3D%22translate(40%2C0)%22%3E%0A%20%3Cuse%20xlink%3Ahref%3D%22%23E1-MJMATHI-65%22%20x%3D%220%22%20y%3D%220%22%3E%3C%2Fuse%3E%0A%20%3Cuse%20transform%3D%22scale(0.707)%22%20xlink%3Ahref%3D%22%23E1-MJMAIN-32%22%20x%3D%22659%22%20y%3D%22-213%22%3E%3C%2Fuse%3E%0A%3C%2Fg%3E%0A%20%3Cuse%20xlink%3Ahref%3D%22%23E1-MJMAIN-2192%22%20x%3D%220%22%20y%3D%22563%22%3E%3C%2Fuse%3E%0A%3C%2Fg%3E%0A%20%3Cuse%20xlink%3Ahref%3D%22%23E1-MJMAIN-3D%22%20x%3D%227626%22%20y%3D%220%22%3E%3C%2Fuse%3E%0A%20%3Cuse%20xlink%3Ahref%3D%22%23E1-MJMAIN-5B%22%20x%3D%228683%22%20y%3D%220%22%3E%3C%2Fuse%3E%0A%3Cg%20transform%3D%22translate(8961%2C0)%22%3E%0A%3Cg%20transform%3D%22translate(40%2C0)%22%3E%0A%20%3Cuse%20xlink%3Ahref%3D%22%23E1-MJMATHI-65%22%20x%3D%220%22%20y%3D%220%22%3E%3C%2Fuse%3E%0A%20%3Cuse%20transform%3D%22scale(0.707)%22%20xlink%3Ahref%3D%22%23E1-MJMAIN-31%22%20x%3D%22659%22%20y%3D%22-213%22%3E%3C%2Fuse%3E%0A%3C%2Fg%3E%0A%20%3Cuse%20xlink%3Ahref%3D%22%23E1-MJMAIN-2192%22%20x%3D%220%22%20y%3D%22563%22%3E%3C%2Fuse%3E%0A%3C%2Fg%3E%0A%3Cg%20transform%3D%22translate(10212%2C0)%22%3E%0A%3Cg%20transform%3D%22translate(40%2C0)%22%3E%0A%20%3Cuse%20xlink%3Ahref%3D%22%23E1-MJMATHI-65%22%20x%3D%220%22%20y%3D%220%22%3E%3C%2Fuse%3E%0A%20%3Cuse%20transform%3D%22scale(0.707)%22%20xlink%3Ahref%3D%22%23E1-MJMAIN-32%22%20x%3D%22659%22%20y%3D%22-213%22%3E%3C%2Fuse%3E%0A%3C%2Fg%3E%0A%20%3Cuse%20xlink%3Ahref%3D%22%23E1-MJMAIN-2192%22%20x%3D%220%22%20y%3D%22563%22%3E%3C%2Fuse%3E%0A%3C%2Fg%3E%0A%20%3Cuse%20xlink%3Ahref%3D%22%23E1-MJMAIN-5D%22%20x%3D%2211212%22%20y%3D%220%22%3E%3C%2Fuse%3E%0A%3Cg%20transform%3D%22translate(11657%2C0)%22%3E%0A%20%3Cuse%20xlink%3Ahref%3D%22%23E1-MJSZ3-5B%22%3E%3C%2Fuse%3E%0A%3Cg%20transform%3D%22translate(695%2C0)%22%3E%0A%3Cg%20transform%3D%22translate(-11%2C0)%22%3E%0A%3Cg%20transform%3D%22translate(0%2C650)%22%3E%0A%20%3Cuse%20xlink%3Ahref%3D%22%23E1-MJMATHI-61%22%20x%3D%220%22%20y%3D%220%22%3E%3C%2Fuse%3E%0A%20%3Cuse%20transform%3D%22scale(0.707)%22%20xlink%3Ahref%3D%22%23E1-MJMAIN-31%22%20x%3D%22748%22%20y%3D%22-213%22%3E%3C%2Fuse%3E%0A%3C%2Fg%3E%0A%3Cg%20transform%3D%22translate(0%2C-750)%22%3E%0A%20%3Cuse%20xlink%3Ahref%3D%22%23E1-MJMATHI-61%22%20x%3D%220%22%20y%3D%220%22%3E%3C%2Fuse%3E%0A%20%3Cuse%20transform%3D%22scale(0.707)%22%20xlink%3Ahref%3D%22%23E1-MJMAIN-32%22%20x%3D%22748%22%20y%3D%22-213%22%3E%3C%2Fuse%3E%0A%3C%2Fg%3E%0A%3C%2Fg%3E%0A%3C%2Fg%3E%0A%20%3Cuse%20xlink%3Ahref%3D%22%23E1-MJSZ3-5D%22%20x%3D%221835%22%20y%3D%22-1%22%3E%3C%2Fuse%3E%0A%3C%2Fg%3E%0A%20%3Cuse%20xlink%3Ahref%3D%22%23E1-MJMAIN-3D%22%20x%3D%2214299%22%20y%3D%220%22%3E%3C%2Fuse%3E%0A%3Cg%20transform%3D%22translate(15355%2C0)%22%3E%0A%20%3Cuse%20xlink%3Ahref%3D%22%23E1-MJSZ3-5B%22%3E%3C%2Fuse%3E%0A%3Cg%20transform%3D%22translate(695%2C0)%22%3E%0A%3Cg%20transform%3D%22translate(-11%2C0)%22%3E%0A%3Cg%20transform%3D%22translate(0%2C650)%22%3E%0A%20%3Cuse%20xlink%3Ahref%3D%22%23E1-MJMAIN-63%22%3E%3C%2Fuse%3E%0A%20%3Cuse%20xlink%3Ahref%3D%22%23E1-MJMAIN-6F%22%20x%3D%22444%22%20y%3D%220%22%3E%3C%2Fuse%3E%0A%20%3Cuse%20xlink%3Ahref%3D%22%23E1-MJMAIN-73%22%20x%3D%22945%22%20y%3D%220%22%3E%3C%2Fuse%3E%0A%20%3Cuse%20xlink%3Ahref%3D%22%23E1-MJMATHI-3B8%22%20x%3D%221506%22%20y%3D%220%22%3E%3C%2Fuse%3E%0A%3C%2Fg%3E%0A%3Cg%20transform%3D%22translate(55%2C-750)%22%3E%0A%20%3Cuse%20xlink%3Ahref%3D%22%23E1-MJMAIN-73%22%3E%3C%2Fuse%3E%0A%20%3Cuse%20xlink%3Ahref%3D%22%23E1-MJMAIN-69%22%20x%3D%22394%22%20y%3D%220%22%3E%3C%2Fuse%3E%0A%20%3Cuse%20xlink%3Ahref%3D%22%23E1-MJMAIN-6E%22%20x%3D%22673%22%20y%3D%220%22%3E%3C%2Fuse%3E%0A%20%3Cuse%20xlink%3Ahref%3D%22%23E1-MJMATHI-3B8%22%20x%3D%221396%22%20y%3D%220%22%3E%3C%2Fuse%3E%0A%3C%2Fg%3E%0A%3C%2Fg%3E%0A%3Cg%20transform%3D%22translate(2965%2C0)%22%3E%0A%3Cg%20transform%3D%22translate(0%2C650)%22%3E%0A%20%3Cuse%20xlink%3Ahref%3D%22%23E1-MJMAIN-2212%22%20x%3D%220%22%20y%3D%220%22%3E%3C%2Fuse%3E%0A%3Cg%20transform%3D%22translate(945%2C0)%22%3E%0A%20%3Cuse%20xlink%3Ahref%3D%22%23E1-MJMAIN-73%22%3E%3C%2Fuse%3E%0A%20%3Cuse%20xlink%3Ahref%3D%22%23E1-MJMAIN-69%22%20x%3D%22394%22%20y%3D%220%22%3E%3C%2Fuse%3E%0A%20%3Cuse%20xlink%3Ahref%3D%22%23E1-MJMAIN-6E%22%20x%3D%22673%22%20y%3D%220%22%3E%3C%2Fuse%3E%0A%3C%2Fg%3E%0A%20%3Cuse%20xlink%3Ahref%3D%22%23E1-MJMATHI-3B8%22%20x%3D%222341%22%20y%3D%220%22%3E%3C%2Fuse%3E%0A%3C%2Fg%3E%0A%3Cg%20transform%3D%22translate(417%2C-750)%22%3E%0A%20%3Cuse%20xlink%3Ahref%3D%22%23E1-MJMAIN-63%22%3E%3C%2Fuse%3E%0A%20%3Cuse%20xlink%3Ahref%3D%22%23E1-MJMAIN-6F%22%20x%3D%22444%22%20y%3D%220%22%3E%3C%2Fuse%3E%0A%20%3Cuse%20xlink%3Ahref%3D%22%23E1-MJMAIN-73%22%20x%3D%22945%22%20y%3D%220%22%3E%3C%2Fuse%3E%0A%20%3Cuse%20xlink%3Ahref%3D%22%23E1-MJMATHI-3B8%22%20x%3D%221506%22%20y%3D%220%22%3E%3C%2Fuse%3E%0A%3C%2Fg%3E%0A%3C%2Fg%3E%0A%3C%2Fg%3E%0A%20%3Cuse%20xlink%3Ahref%3D%22%23E1-MJSZ3-5D%22%20x%3D%226638%22%20y%3D%22-1%22%3E%3C%2Fuse%3E%0A%3C%2Fg%3E%0A%3Cg%20transform%3D%22translate(22689%2C0)%22%3E%0A%20%3Cuse%20xlink%3Ahref%3D%22%23E1-MJSZ3-5B%22%3E%3C%2Fuse%3E%0A%3Cg%20transform%3D%22translate(695%2C0)%22%3E%0A%3Cg%20transform%3D%22translate(-11%2C0)%22%3E%0A%3Cg%20transform%3D%22translate(0%2C650)%22%3E%0A%20%3Cuse%20xlink%3Ahref%3D%22%23E1-MJMATHI-61%22%20x%3D%220%22%20y%3D%220%22%3E%3C%2Fuse%3E%0A%20%3Cuse%20transform%3D%22scale(0.707)%22%20xlink%3Ahref%3D%22%23E1-MJMAIN-31%22%20x%3D%22748%22%20y%3D%22-213%22%3E%3C%2Fuse%3E%0A%3C%2Fg%3E%0A%3Cg%20transform%3D%22translate(0%2C-750)%22%3E%0A%20%3Cuse%20xlink%3Ahref%3D%22%23E1-MJMATHI-61%22%20x%3D%220%22%20y%3D%220%22%3E%3C%2Fuse%3E%0A%20%3Cuse%20transform%3D%22scale(0.707)%22%20xlink%3Ahref%3D%22%23E1-MJMAIN-32%22%20x%3D%22748%22%20y%3D%22-213%22%3E%3C%2Fuse%3E%0A%3C%2Fg%3E%0A%3C%2Fg%3E%0A%3C%2Fg%3E%0A%20%3Cuse%20xlink%3Ahref%3D%22%23E1-MJSZ3-5D%22%20x%3D%221835%22%20y%3D%22-1%22%3E%3C%2Fuse%3E%0A%3C%2Fg%3E%0A%20%3Cuse%20xlink%3Ahref%3D%22%23E1-MJMAIN-3D%22%20x%3D%2225331%22%20y%3D%220%22%3E%3C%2Fuse%3E%0A%3Cg%20transform%3D%22translate(26387%2C0)%22%3E%0A%20%3Cuse%20xlink%3Ahref%3D%22%23E1-MJSZ3-5B%22%3E%3C%2Fuse%3E%0A%3Cg%20transform%3D%22translate(695%2C0)%22%3E%0A%3Cg%20transform%3D%22translate(-11%2C0)%22%3E%0A%3Cg%20transform%3D%22translate(0%2C650)%22%3E%0A%20%3Cuse%20xlink%3Ahref%3D%22%23E1-MJMATHI-61%22%20x%3D%220%22%20y%3D%220%22%3E%3C%2Fuse%3E%0A%20%3Cuse%20transform%3D%22scale(0.707)%22%20xlink%3Ahref%3D%22%23E1-MJMAIN-31%22%20x%3D%22748%22%20y%3D%22-213%22%3E%3C%2Fuse%3E%0A%3Cg%20transform%3D%22translate(1150%2C0)%22%3E%0A%20%3Cuse%20xlink%3Ahref%3D%22%23E1-MJMAIN-63%22%3E%3C%2Fuse%3E%0A%20%3Cuse%20xlink%3Ahref%3D%22%23E1-MJMAIN-6F%22%20x%3D%22444%22%20y%3D%220%22%3E%3C%2Fuse%3E%0A%20%3Cuse%20xlink%3Ahref%3D%22%23E1-MJMAIN-73%22%20x%3D%22945%22%20y%3D%220%22%3E%3C%2Fuse%3E%0A%3C%2Fg%3E%0A%20%3Cuse%20xlink%3Ahref%3D%22%23E1-MJMATHI-3B8%22%20x%3D%222656%22%20y%3D%220%22%3E%3C%2Fuse%3E%0A%20%3Cuse%20xlink%3Ahref%3D%22%23E1-MJMAIN-2212%22%20x%3D%223347%22%20y%3D%220%22%3E%3C%2Fuse%3E%0A%3Cg%20transform%3D%22translate(4348%2C0)%22%3E%0A%20%3Cuse%20xlink%3Ahref%3D%22%23E1-MJMATHI-61%22%20x%3D%220%22%20y%3D%220%22%3E%3C%2Fuse%3E%0A%20%3Cuse%20transform%3D%22scale(0.707)%22%20xlink%3Ahref%3D%22%23E1-MJMAIN-32%22%20x%3D%22748%22%20y%3D%22-213%22%3E%3C%2Fuse%3E%0A%3C%2Fg%3E%0A%3Cg%20transform%3D%22translate(5498%2C0)%22%3E%0A%20%3Cuse%20xlink%3Ahref%3D%22%23E1-MJMAIN-73%22%3E%3C%2Fuse%3E%0A%20%3Cuse%20xlink%3Ahref%3D%22%23E1-MJMAIN-69%22%20x%3D%22394%22%20y%3D%220%22%3E%3C%2Fuse%3E%0A%20%3Cuse%20xlink%3Ahref%3D%22%23E1-MJMAIN-6E%22%20x%3D%22673%22%20y%3D%220%22%3E%3C%2Fuse%3E%0A%3C%2Fg%3E%0A%20%3Cuse%20xlink%3Ahref%3D%22%23E1-MJMATHI-3B8%22%20x%3D%226894%22%20y%3D%220%22%3E%3C%2Fuse%3E%0A%3C%2Fg%3E%0A%3Cg%20transform%3D%22translate(0%2C-750)%22%3E%0A%20%3Cuse%20xlink%3Ahref%3D%22%23E1-MJMATHI-61%22%20x%3D%220%22%20y%3D%220%22%3E%3C%2Fuse%3E%0A%20%3Cuse%20transform%3D%22scale(0.707)%22%20xlink%3Ahref%3D%22%23E1-MJMAIN-31%22%20x%3D%22748%22%20y%3D%22-213%22%3E%3C%2Fuse%3E%0A%3Cg%20transform%3D%22translate(1150%2C0)%22%3E%0A%20%3Cuse%20xlink%3Ahref%3D%22%23E1-MJMAIN-73%22%3E%3C%2Fuse%3E%0A%20%3Cuse%20xlink%3Ahref%3D%22%23E1-MJMAIN-69%22%20x%3D%22394%22%20y%3D%220%22%3E%3C%2Fuse%3E%0A%20%3Cuse%20xlink%3Ahref%3D%22%23E1-MJMAIN-6E%22%20x%3D%22673%22%20y%3D%220%22%3E%3C%2Fuse%3E%0A%3C%2Fg%3E%0A%20%3Cuse%20xlink%3Ahref%3D%22%23E1-MJMATHI-3B8%22%20x%3D%222546%22%20y%3D%220%22%3E%3C%2Fuse%3E%0A%20%3Cuse%20xlink%3Ahref%3D%22%23E1-MJMAIN-2B%22%20x%3D%223237%22%20y%3D%220%22%3E%3C%2Fuse%3E%0A%3Cg%20transform%3D%22translate(4238%2C0)%22%3E%0A%20%3Cuse%20xlink%3Ahref%3D%22%23E1-MJMATHI-61%22%20x%3D%220%22%20y%3D%220%22%3E%3C%2Fuse%3E%0A%20%3Cuse%20transform%3D%22scale(0.707)%22%20xlink%3Ahref%3D%22%23E1-MJMAIN-32%22%20x%3D%22748%22%20y%3D%22-213%22%3E%3C%2Fuse%3E%0A%3C%2Fg%3E%0A%3Cg%20transform%3D%22translate(5388%2C0)%22%3E%0A%20%3Cuse%20xlink%3Ahref%3D%22%23E1-MJMAIN-63%22%3E%3C%2Fuse%3E%0A%20%3Cuse%20xlink%3Ahref%3D%22%23E1-MJMAIN-6F%22%20x%3D%22444%22%20y%3D%220%22%3E%3C%2Fuse%3E%0A%20%3Cuse%20xlink%3Ahref%3D%22%23E1-MJMAIN-73%22%20x%3D%22945%22%20y%3D%220%22%3E%3C%2Fuse%3E%0A%3C%2Fg%3E%0A%20%3Cuse%20xlink%3Ahref%3D%22%23E1-MJMATHI-3B8%22%20x%3D%226894%22%20y%3D%220%22%3E%3C%2Fuse%3E%0A%3C%2Fg%3E%0A%3C%2Fg%3E%0A%3C%2Fg%3E%0A%20%3Cuse%20xlink%3Ahref%3D%22%23E1-MJSZ3-5D%22%20x%3D%228216%22%20y%3D%22-1%22%3E%3C%2Fuse%3E%0A%3C%2Fg%3E%0A%3C%2Fg%3E%0A%3C%2Fsvg%3E#card=math&code=a%27%20%3D%20%0Aa_1%5Cvec%7Be_1%7D%20%2B%20a_2%5Cvec%7Be_2%7D%20%3D%20%5B%5Cvec%7Be_1%7D%20%5C%20%5Cvec%7Be_2%7D%5D%0A%5Cbegin%7Bbmatrix%7D%0Aa_1%20%5C%5C%20a_2%0A%5Cend%7Bbmatrix%7D%0A%3D%0A%5Cbegin%7Bbmatrix%7D%0A%5Ccos%5Ctheta%20%26%20-%5Csin%5Ctheta%20%5C%5C%0A%5Csin%5Ctheta%20%26%20%5Ccos%5Ctheta%0A%5Cend%7Bbmatrix%7D%0A%5Cbegin%7Bbmatrix%7D%0Aa_1%20%5C%5C%20a_2%0A%5Cend%7Bbmatrix%7D%0A%3D%0A%5Cbegin%7Bbmatrix%7D%0Aa_1%5Ccos%5Ctheta%20-%20a_2%5Csin%5Ctheta%20%5C%5C%0Aa_1%5Csin%5Ctheta%20%2B%20a_2%5Ccos%5Ctheta%0A%5Cend%7Bbmatrix%7D%0A&id=KPOmy)

上式中的矩阵 Fourier Transform 傅里叶变换 - 图43 是不是很眼熟?这不就是二维空间中的旋转矩阵么?这里可以联系到线性代数中的线性变换,详见链接。

如果现在我想知道点 Fourier Transform 傅里叶变换 - 图44Fourier Transform 傅里叶变换 - 图45 坐标系中的坐标怎么办?那就是分别求 Fourier Transform 傅里叶变换 - 图46Fourier Transform 傅里叶变换 - 图47 坐标就行啦。根据上面的理论,只需要将 Fourier Transform 傅里叶变换 - 图48Fourier Transform 傅里叶变换 - 图49 分别做内积就行了,即:

Fourier Transform 傅里叶变换 - 图50
Fourier Transform 傅里叶变换 - 图51

得到 Fourier Transform 傅里叶变换 - 图52,写成矩阵形式就是

Fourier Transform 傅里叶变换 - 图53

总结一下,顺便引出信号与系统中的一个概念:

  1. 空间中的某个点可以用一组基底(用矩阵 Fourier Transform 傅里叶变换 - 图54 的各列表示各个基底向量)线性表示,通过这组基底的线性组合得到该点的坐标,即

Fourier Transform 傅里叶变换 - 图55

其中 Fourier Transform 傅里叶变换 - 图56 代表在每一个基底上的分量。这一步在信号与系统中被称为合成

  1. 想知道一个点在某一个基底 Fourier Transform 傅里叶变换 - 图57 上面分量的大小,就是想得到该点在这个基底上投影的大小,即

Fourier Transform 傅里叶变换 - 图58

这一步在信号与系统中被称为分析

1.2 周期为 2π 的函数展开为傅里叶级数

有了上面的知识作为铺垫,接下来的推导就很容易展开了。我们首先推导将周期为 2π 的函数用傅里叶级数展开。至于为什么是 2π,当然因为我们提到,三角函数系在 Fourier Transform 傅里叶变换 - 图59 区间上是正交的。
假设现在有函数 Fourier Transform 傅里叶变换 - 图60,通过上面基底的概念,我们可以将 Fourier Transform 傅里叶变换 - 图61 由三角函数系进行表示:

Fourier Transform 傅里叶变换 - 图62

为了方便后面的推导,我们将上式改写成

Fourier Transform 傅里叶变换 - 图63

剩下的问题就是求 Fourier Transform 傅里叶变换 - 图64 了。结合上面提到过的,三角函数系中两两函数在 Fourier Transform 傅里叶变换 - 图65 这个区间上是正交的,则我们可以通过对 (3) 式两边求积分来求出 Fourier Transform 傅里叶变换 - 图66
image.png

一种更好的理解求 Fourier Transform 傅里叶变换 - 图68 的方法是用上面说过,信号与系统中分析的概念。三角函数系就是一组三角函数基底,而 Fourier Transform 傅里叶变换 - 图69 都是 Fourier Transform 傅里叶变换 - 图70 在这组基底下的分量,要想求分量的大小,只需要做向量的内积就好了。点到为止。Fourier Transform 傅里叶变换 - 图71 其实就是 Fourier Transform 傅里叶变换 - 图72 上的分量,所以其实也是在就 Fourier Transform 傅里叶变换 - 图73Fourier Transform 傅里叶变换 - 图74 在区间 Fourier Transform 傅里叶变换 - 图75 上的内积。

Fourier Transform 傅里叶变换 - 图76

还有一点值得注意,那就是 Fourier Transform 傅里叶变换 - 图77 前都有一个系数 Fourier Transform 傅里叶变换 - 图78。它的来头也很简单 —— 三角函数系虽然两两基底是正交的,但每个基底都不是单位基底。因为

Fourier Transform 傅里叶变换 - 图79

所以对于一个周期为 2π 的函数 Fourier Transform 傅里叶变换 - 图80,有

Fourier Transform 傅里叶变换 - 图81

Fourier Transform 傅里叶变换 - 图82 展开为傅里叶级数

Fourier Transform 傅里叶变换 - 图83

其中:

Fourier Transform 傅里叶变换 - 图84

1.3 周期为 2L 的函数展开为傅里叶级数

现有 Fourier Transform 傅里叶变换 - 图85,将 Fourier Transform 傅里叶变换 - 图86 使用傅里叶级数展开,只需要进行换元:

Fourier Transform 傅里叶变换 - 图87

则有

Fourier Transform 傅里叶变换 - 图88

我们记

Fourier Transform 傅里叶变换 - 图89

则有

Fourier Transform 傅里叶变换 - 图90

所以 Fourier Transform 傅里叶变换 - 图91 的周期为 Fourier Transform 傅里叶变换 - 图92。所以我们对 Fourier Transform 傅里叶变换 - 图93 进行傅里叶级数的展开:

Fourier Transform 傅里叶变换 - 图94

其中:

Fourier Transform 傅里叶变换 - 图95

随后将 Fourier Transform 傅里叶变换 - 图96 带入就可以得到 Fourier Transform 傅里叶变换 - 图97 的傅里叶级数展开:

Fourier Transform 傅里叶变换 - 图98

其中:

Fourier Transform 傅里叶变换 - 图99

而在一般工程中,Fourier Transform 傅里叶变换 - 图100 是从 0 开始的。所以我们设周期 Fourier Transform 傅里叶变换 - 图101Fourier Transform 傅里叶变换 - 图102,对应积分的上下限变为

Fourier Transform 傅里叶变换 - 图103

则周期为 Fourier Transform 傅里叶变换 - 图104 的函数 Fourier Transform 傅里叶变换 - 图105 展开为傅里叶级数的一般形式为:

Fourier Transform 傅里叶变换 - 图106

其中:

Fourier Transform 傅里叶变换 - 图107

这样我们就将一个时域的函数 Fourier Transform 傅里叶变换 - 图108 转换到了频域上,即一堆频率为 Fourier Transform 傅里叶变换 - 图109 的正余弦函数;加上我们还能求出对应每个正余弦函数的振幅(amplitude),也就是分量大小,这样我们就能用这些三角函数基底来表示任意一个周期为 Fourier Transform 傅里叶变换 - 图110 的函数 Fourier Transform 傅里叶变换 - 图111。用一张 wikipedia 的动图来表示再贴切不过了:
Fourier Transform 傅里叶变换 - 图112

本图来自 wikipedia

其中最精华的当属这一部分
image.png

图中红线为 Fourier Transform 傅里叶变换 - 图114,蓝色线代表正余弦函数们,而蓝色的坐标轴上对应于每一个正余弦函数的大小,就是 Fourier Transform 傅里叶变换 - 图115 这些分量的大小。

假设图中蓝色正余弦函数的频率分别为 1Hz, 10Hz, 100Hz, 1kHz, 10kHz, 100kHz,这样我们就能看出哪个频率信号对原始信号 Fourier Transform 傅里叶变换 - 图116 影响最大,进而滤波,最后合成一个新的 Fourier Transform 傅里叶变换 - 图117

1.4 傅里叶级数的复数形式

一般在实际应用中,傅里叶级数都是以复数形式出现的,因为复数形式更简洁,更好进行分析。
首先需要有一个先备知识,欧拉公式(Euler’s Formula)

Fourier Transform 傅里叶变换 - 图118

其中 Fourier Transform 傅里叶变换 - 图119 是虚数单位。这个公式的证明网上有很多种,自行学习即可。
由欧拉公式我们可以推出:

Fourier Transform 傅里叶变换 - 图120

进而我们可以 (7-8) 式带入到 (5) 式中,有:
image.png

即:
Fourier Transform 傅里叶变换 - 图122

其中:

Fourier Transform 傅里叶变换 - 图123

这还没完,我们接着求 Fourier Transform 傅里叶变换 - 图124
image.png

所以我们得出结论:无论 Fourier Transform 傅里叶变换 - 图126 取何值,

Fourier Transform 傅里叶变换 - 图127

最后,我们总结一下傅里叶级数的复数形式:
对于一个以 Fourier Transform 傅里叶变换 - 图128 为周期的函数 Fourier Transform 傅里叶变换 - 图129,即 Fourier Transform 傅里叶变换 - 图130,我们有:

Fourier Transform 傅里叶变换 - 图131

其中

Fourier Transform 傅里叶变换 - 图132

2 Fourier transform 傅里叶变换

一个周期为 Fourier Transform 傅里叶变换 - 图133 的时域函数可以通过傅里叶级数展开为一堆正余弦函数的和,将函数转换到频域上。同时我们还进一步得出了傅里叶级数的复数形式,也是一般常用的形式。
而傅里叶变换告诉我们,不仅周期函数能够进行傅里叶变换,即使是非周期函数也可以通过傅里叶变换转换到频域上

一个非周期函数可以看作是一个周期无限大的函数。令 Fourier Transform 傅里叶变换 - 图134 ,即有

Fourier Transform 傅里叶变换 - 图135

我们定义基频率

Fourier Transform 傅里叶变换 - 图136

则有

Fourier Transform 傅里叶变换 - 图137

Fourier Transform 傅里叶变换 - 图138,有 Fourier Transform 傅里叶变换 - 图139。将 (10) 的 Fourier Transform 傅里叶变换 - 图140 带入 (9) 式,有

Fourier Transform 傅里叶变换 - 图141

Fourier Transform 傅里叶变换 - 图142,有 Fourier Transform 傅里叶变换 - 图143Fourier Transform 傅里叶变换 - 图144Fourier Transform 傅里叶变换 - 图145,所以有

Fourier Transform 傅里叶变换 - 图146

在信号分析中,Fourier Transform 傅里叶变换 - 图147 常被作为电流的符号,所以一般 Fourier Transform 傅里叶变换 - 图148Fourier Transform 傅里叶变换 - 图149 替代:

Fourier Transform 傅里叶变换 - 图150

其中

Fourier Transform 傅里叶变换 - 图151

就是大名鼎鼎的傅里叶变换(Fourier Transform, TF)的一般形式。它可以将任意一个函数从时域转换到频域。因为 Fourier Transform 傅里叶变换 - 图152 是一个关于频率 Fourier Transform 傅里叶变换 - 图153 的函数,我们可以求出当 Fourier Transform 傅里叶变换 - 图154Fourier Transform 傅里叶变换 - 图155 大小,其实就是函数基底的份量大小 Fourier Transform 傅里叶变换 - 图156
傅里叶变换用信号与系统的角度来看,就是 Fourier Transform 傅里叶变换 - 图157 与基底 Fourier Transform 傅里叶变换 - 图158 做内积,也就是分析的过程。

Fourier Transform 傅里叶变换 - 图159

就是傅里叶逆变换(Inverse Fourier Transform, IFT),可以让我们将一组信号基底重新组合成一个完整的信号。这一步也相当于合成操作。

3 DFT 离散傅里叶变换

离散傅里叶变换(Descret Fourier Transform)就是傅里叶变换的离散形式,也是计算机实际处理信号所使用的方式。离散傅里叶变换实际做的事情,就是将Fourier Transform 傅里叶变换 - 图160原始时域输入信号

Fourier Transform 傅里叶变换 - 图161

转换到频域上的Fourier Transform 傅里叶变换 - 图162个输出信号:

Fourier Transform 傅里叶变换 - 图163

公式如下:

Fourier Transform 傅里叶变换 - 图164

所以Fourier Transform 傅里叶变换 - 图165就是这一组输入信号Fourier Transform 傅里叶变换 - 图166在经过傅里叶变换后,频率为Fourier Transform 傅里叶变换 - 图167的分量。

有了之前连续形式傅里叶变换的推导,DFT 就好理解了很多:一个非周期函数可以看作周期Fourier Transform 傅里叶变换 - 图168,而整个序列的输入信号可以看作是关于时间Fourier Transform 傅里叶变换 - 图169的函数,我们在这个函数Fourier Transform 傅里叶变换 - 图170上采样了Fourier Transform 傅里叶变换 - 图171个点,得到Fourier Transform 傅里叶变换 - 图172,然后将函数Fourier Transform 傅里叶变换 - 图173的周期看作是这个数组的大小Fourier Transform 傅里叶变换 - 图174,进而得到了傅里叶变换的离散形式。

可以看到,Fourier Transform 傅里叶变换 - 图175的虚部为 0,即频率为 0,所以Fourier Transform 傅里叶变换 - 图176在文章中也常被称作直流分量(DC component)

Reference

  1. 傅里叶变换 B 站大佬推导
  2. 傅里叶变换
  3. 李宏毅 2021 春机器学习课程(GNN 部分)
  4. 深入理解离散傅里叶变换