Categories :

关于傅里叶级数与变换的研究

本文所叙述的内容不一定十分严谨,因为作者在此前尚未系统的学习过傅里叶级数,文中内容只是网上的资料和3blue1brown其它期关于傅里叶级数与傅里叶变换的内容,加上自己的理解写成的.

我们给定一个n维实向量空间V,V上的对称型\langle x,y\rangle和由此型给出的一组正交基(v_1,v_2,\cdots,v_n). 这样的话,我们就可以用这组基的线性组合来表示V中任意一个向量. 如何快速给出线性组合中的系数是我们关注的主要问题.

我们可以先考虑点积的情况. 此时,我们会发现,由于点乘的几何意义为长度之积乘以夹角的余弦值,所以\langle v,v_i\rangle就等于v_i的长度与v在v_i上的投影,而v在v_i上的投影,正是我们所需要求出的线性组合的系数. (这一点可以从二、三维的特殊情况中看出)所以我们就有下面这一定理:

对于复向量空间中的埃尔米特型,我们有类似的结论. 说了这么多,还没有讲到傅里叶级数,所以正交分解与傅里叶级数有什么关联?

区间[a,b]内Riemann可积复函数也可以构成空间,我们常将其记为\mathscr{R}_{[a,b]},在这个空间中,有着与实向量空间类似的结构,例如函数正交关系.

我们之所以把它称为一组基,是因为我们可以用这些函数的线性组合来表示出“绝大部分”的连续可积周期函数,在本文中,我们并不准备考察这种表示方法的成立条件,所以下面讨论到的函数,都是一些性质较好,可以由这组基来表示的函数,对于其它的函数,我们不做讨论.

傅里叶级数的意义何在?最开始傅里叶发明傅里叶级数的目的,是研究热传导方程,这个偏微分方程在初值条件为正弦函数时,很容易解决,所以傅里叶需要的操作,就是把所有的函数写为若干正弦、余弦函数的加和,而因为\sin{x}=\frac{e^{ix}-e^{-ix}}{2i},\cos{x}=\frac{e^{ix}+e^{-ix}}{2},所以傅里叶级数就这么被发现了.

但它的意义不止于此,我们可以发现,如果我们考虑一个周期函数f的相空间(即函数值f(x)所在复平面),我们就会发现,所谓周期函数的像,其实本质上就是一个复平面上的一个图案,而因为e^{2\pi jx}的像为复平面上的单位圆周,我们可以想象复平面上有一个随着时间连续变化的向量,在平面上以2\pi个时间单位为周期反复画着一个图案,这就可以给出一个周期函数f(x). 那么傅里叶级数,就是用无数个半径分别为c_i的圆,以\frac{1}{i}个时间单位一转的转速旋转(i=0时即为不动)的叠加效果来画图,画出来的图案就是原来的图案. 这个想法给了我们一个启发:我们可以用非常多的圆来模拟任何一种一笔画的图案. 事实上,古人在解释地心说时,正是用了这一思想. 在3blue1brown的这一期视频中,有8个用上百个圆嵌套组成的图案的动画,下图就是其中的一幅.

讲完了傅里叶级数,接下来就是这篇研究的核心内容了. 在写傅里叶级数的时候,我们会注意到一个式子:\int_{-\pi}^{\pi}f(x)e^{-2n\pi jx}\mathrm{d}x. 可以说,这一式子正是傅里叶级数的核心,也是我们前面一直在研究的对象.

我们会发现,傅里叶逆变换的式子与傅里叶变换的式子几乎相同,这本质的原因就是傅里叶变换与所谓“反演变换”的操作相类似,二项式反演、莫比乌斯反演等变换都具有这种逆变换的相似性,而它们的证明过程也如出一辙,都是证明正逆变换的复合得到本身,并在过程中用一次交换求和或积分顺序来证明的.

函数的相加减对应的傅里叶变换后的函数自然也是相加减,所以我们主要关注积函数的傅里叶变换后的结果与原来两个函数变换后的结果的关系. 在给出结论之前,我们先定义一种运算.

这一定理看起来似乎并非我们想要的结果,但是,如果我们利用傅里叶逆变换与傅里叶变换的相似性,就可以得出结果.

这两个定理合称为卷积定理,它们给出了卷积运算与乘法运算的关联,这也是为什么卷积的符号与乘号类似. 关于卷积运算的具体意义,我们在后面讲离散傅里叶变换的时候会讲到.

傅里叶变换最主要的应用在于处理信号. 把几种不同频率的信号(这里我们将一个信号视为若干个正弦波叠加的结果)混在一起的时候,我们该如何还原出它们各自的频率?这就需要借助傅里叶变换了. 我们首先需要搞清楚\sin(wt)进行傅里叶变换的结果. 因为\sin(wt)=\frac{2i}{e^{wjt}-e^{-wjt}},所以我们首先先来计算一下\mathcal{F}[e^{wjt}](\omega):

算到这里的时候,我们就会发现,似乎没法算!因为在\omega=w处,我们相当于在积\int_{-\infty}^{+\infty}1\mathrm{d}t,这显然没办法积;而在\omega\neq w处,事情就更加古怪了,因为这个函数的积分根本就不收敛!它会一直在一个范围内摆动. 好在物理学家狄拉克发明了一个“函数”,完美的解决了这个问题.

我们会发现,\mathcal{F}[\sin(wt)](\omega)除去\pm w两点以外,其它所有位置都为0. 那么,如果我们只考虑\omega\geqslant 0的部分的话,就仅有一处的非零. 这样的话,如果我们遇到多个信号的叠加,我们就可以采用傅里叶变换的方式,将其进行变换,得到的非零的点就是对应的频率.

上述方法理论可行,但是在实际的数值计算的过程中,我们是无法求一个反常积分的. 因此,在实际的应用中,我们常常是用较长的一段时间来代替无穷,这时候,我们经过傅里叶变换所得出来的图像,就不会仅在一处非零. 但是,利用与上面类似的方法,我们会发现,正确的频率处的模长比其它位

置的模长要长得多,这样我们就可以对其进行辨别了. 下面这张图选自3blue1brown的这一期视频,里面将函数视为铁丝并用质心的位置,同样给出了傅里叶变换的意义.

讲完了傅里叶级数与傅里叶变换,我们终于可以开始研究最近这一期3blue1brown视频中提出的问题了. 问题是这样的:我们计算\int_{-\infty}^{+\infty}\prod\limits_{i=1}^{n}\frac{\sin(x/(2i-1))}{x/(2i-1)}\mathrm{d}x后会发现,当n=1,2,3,4,5,6,7时,结果都是\pi,但是,当n=8时,结果却不是\pi了,而是一个奇怪的数:\frac{}{}\pi. 我相信大部分人第一次看到这个问题的时候,都会像我一样,非常的不理解这个问题到底是发生了什么,为什么好好的\pi突然小了一点. 更神奇的是,如果我们在前面乘上一个2\cos(x)的话,结果会一直为\pi,直到n=57时才是错的. 最早发现这个神奇的结论的博尔维恩父子最早是在电脑软件上发现的,他们将这个问题作为一个浮点数运算的Bug反馈给了该软件的开发者,害得开发者找Bug找了很久也没找出任何的Bug(我认为这恰恰说明了这个软件的精确性). 下面,我们就在视频中的提示下对这一现象进行分析,相信读完这一章节后,你能够认为这件事是很自然的.

如果我们从几何的角度来考虑这个问题,那么我们会发现,我们相当于就是在求一个以x为中心,宽为\frac{2}{2n+1}的区间内,函数图像与x轴间的面积后,再在前面乘以一个常数. 而我们希望求出的数,正是f_n(0). 所以我们现在的问题转化为:

到这里,问题已经基本解决了. 我们来考虑集合A_n=\{xf_n(x)=\pi\},它显然是一段以零为中心的开区间,这段区间即为上图中染为黄色的区间.

至此,我们的问题得到了完美解决. 本文到这里就结束了……才没有,我们还有问题需要解决.

这一命题的证明与上面所叙述的内容类似,整理出严谨的过程并证明这一推广问题就留给读者了.

有了这些对应的关系,我们就可以用与连续傅里叶变换几乎完全相同的做法,给出离散傅里叶变换的性质,主要有以下几条:

如果我们进一步观察变换公式,就会发现,这一公式如果从多项式的角度来看,就是一个N-1次多项式在x=e^{\frac{2\pi}{N}jn}处的取值. 根据拉格朗日插值公式可以得知,N个点可以唯一地确定一个N-1次的多项式,而多项式乘法中,乘积在某点处的取值也就是两个多项式在该点处的取值的乘积. 可以说,这一点就是卷积公式\mathcal{F}[a*b]_n=\mathcal{F}[a]_n\mathcal{F}[b]_n的精髓所在,它给出了多项式的两种表示方式——多项式系数与N个点处多项式的取值——之间的等价方式.

在计算机科学中,我们有一种分治算法来快速计算多项式的乘法,被称为快速傅里叶变换(FFT),堪称最精妙的算法之一. 如果想要具体了解这一算法,可以参考这篇文章.

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注