龙空技术网

傅里叶级数——这样"魔法"波形的基本概述与动画解释

遇见数学 5444

前言:

此时看官们对“波形怎么描述出来”都比较注重,同学们都想要知道一些“波形怎么描述出来”的相关文章。那么小编也在网上网罗了一些关于“波形怎么描述出来””的相关知识,希望咱们能喜欢,姐妹们快快来了解一下吧!

作者:[遇见数学翻译小组核心成员] 龙啸或饭团, 严云飞,亚丽

让·巴普蒂斯·约瑟夫·傅里叶男爵(1768 - 1830)给我们留下了上面这句意味深长的名言,以此强烈提醒我们要不断地把与自然的联系作为知识的灵感来源。这句话再恰当不过了,因为无论是从字面上的还是象征意义来看,傅里叶本人最大的贡献——傅里叶级数,都源于他对自然的深入研究。

本文所要讲述就是他在数学史上的主要贡献,这来自于对一个自然问题的解答:一块金属板上温度如何随着时间的流逝而变化? 对板子上的任何一点来说,其温度究竟具体是怎样改变的?

想要解开这个问题最后的答案却要回归到我们最初理解世界的一种长期传统:通过用与圆相关的项来描述周围的世界。

自古以来,圆形作为人类所能理解的抽象形状,再简单基础不过。一个圆心和一条固定长度的半径就能确定它--圆周上的每一点都与圆心完全等距。理解傅里叶级数(和由此的傅里叶变换,以及离散傅里叶变换)的关键是我们人类一个古老的欲望,即想用与圆有关的项来表示一切。这篇文章的其余部分围绕着这个妙不可言的联系,傅里叶观察的核心就源于下面这个优雅而又引人入胜的认识:从一个圆简单地旋转中就可以创造出正弦和余弦的三角函数。

导言

正如刚刚提到“古老”一词所暗示的那样,傅里叶远非第一个意识到这一点的人。 然而,他是第一个聪明地注意到,无论是正弦还是余弦这样简单的波,都可以通过加起来,从而来完美地复制任何类型的周期函数。更重要的是,这个级数之所以以他的名字命名,是因为他推导出了一种巧妙的方法,对他的发现结果进行了逆向分析操作:傅里叶级数的建立和所需的傅里叶分析是揭示所有收敛于目标函数的正弦和余弦波所必需的过程。具体来说,这一逆分析包含推导出各独立圆周旋转运动的系数(圆的半径)和频率(“旋转速度”),以及用这些圆形运动叠加来模拟任何一般周期函数。

傅里叶级数是与泰勒级数等价的圆和波。假设你不熟悉这一点,傅里叶级数只是一个长而令人畏惧的函数,它能将任何周期函数分解成一个个简单的正弦和余弦波。这似乎是一个令人困惑的概念,但几乎任何函数都可以表示为由旋转的圆周运动产生的一系列正弦和余弦波。为了让您了解这种新观念有多普遍,请查看下面的动图示例,仅仅使用一系列叠加的圆周运动,我们就能成功勾勒出一只展翅小鸟的图案:

每个旋转的圆都转化为一个简单的正弦或余弦波

傅里叶级数的更深含义,在于可以通过傅里叶变换应用于更为一般的非周期函数,长期以来这一直是数学物理、工程和信号处理的主要分析方法之一。傅里叶级数是所有数字信号处理的关键基础 -- 花一点时间就可以意识到其广泛性。傅里叶的工作引发了更宽广的基础和应用研究,一直发展至今。正如我们将在下文看到的,虽然傅里叶级数最初只用于描述自然界存在的各种波运动中的周期函数,例如光波和声波,但它的理论推广到了更广的场景,例如小波分析和局部三角分析的最新理论所依据的时频分析。

热方程之后的研究

1828 年,傅里叶男爵第一次提出了一种观点,即任何周期函数都可以用一系列正弦和余弦波来表示;发表在他的论文《Theorie Analytique de la Chaleur》 上,该论文大致翻译为《热的分析理论》,傅里叶的工作是对特定的热方程得出答案的结果。《Panda the Red》优美地讲述了这段特殊的旅程,因此,我们主要来看傅里叶热方程之后的发现。

简而言之,从热方程出发,傅里叶将他的发现发展为傅里叶级数;从那时起,傅里叶级数的重要性才有所提高 (尽管这种重要性很大程度上来源于傅里叶变换),特别是在数字时代。从建立如布朗运动等物理学基础,到布莱克-斯科尔斯方程等金融基础,再到数字处理等电气工程基础,傅里叶的工作在理论和实际应用中都得到了长足的发展。

然而,由于受篇幅限制,我们在这里主要讨论的是傅里叶级数。尽管不经意间提到傅里叶级数只适用于周期函数,但实际情况却有点微妙。

狄利克雷条件(Dirichlet Conditions)

首先,必须指出,与傅里叶变换不同,傅里叶级数不能应用于一般函数--它们只能收敛于周期函数。然而,这不是全部,为了保证简单的正弦和余弦波的收敛,必须满足三个具体的条件,称为 Dirichlet 条件。对于周期长度为2L的周期函数 f(x),三个条件都必须满足:

在周期 2L 内,函数 f(x) 连续或只有有限个第一类间断点;在周期 2L 内,函数 f(x) 的极大值和极小值的数目应是有限个;在周期 2L 内,函数 f(x) 是绝对可积的。

上面的三个准则主要是问:“函数 f(x) 是有界变化吗?”如果 f(x) 在某些长度 2L 上是周期性的,检查上面所列的每个条件,那么傅里叶级数保证余弦和正弦波的一些混合可以用来替换函数 f(x)。 接下来,我们将深入研究傅里叶级数本身,从一个非常粗略的概述开始,直到计算出精确的傅里叶级数。

傅立叶级数

无穷级数要么趋于无穷,要么收敛于一个数,就像无穷级数的表达式(多项式或三角)要么趋于无穷,要么收敛到一个函数(或形状)。相反地,如果我们给定一个形状,我们可以通过创建一个无穷级数的变化的正弦和余弦波来近似它的函数。

傅里叶级数是一个简单的函数,它是通过波和常数的字面求和来描述和求出的。

公式概述

我们先从傅里叶级数更一般的概述开始。下面,下面等式左边 是我们试图通过傅里叶级数(方程右边)近似的目标函数:

“傅里叶分析”只是逆向分析的具体过程,或者是说我们有意从头开始构造一个周期函数,目标是求解其中的系数 , 及 。 傅里叶级数最常见的符号如上所示。在我们深入研究系数之前,让我们通过解释这两个不同的部分来重新定义上面的内容。

f(x) = Avg. Function Value + Sine/Cosine Waves Series

傅立叶级数的第一部分,包含系数 a0 的第一部分除式就是函数的平均值;更具体地说,它代表了 -L 或 L 之间的净面积,除以 2L(函数的周期)。

方程的第二部分,用 ∑ 级数符号标记,表示不同余弦和正弦波的求和,它们应该收敛到目标函数;正如人们所知道的,这两个三角函数在级数中都取到 n 次。对于这个方程的后半部分,挑战是求解 an 和 bn。

傅里叶分析

当深入傅里叶分析的时候,我们开始求解目标系数(a0, an 及 bn),有好消息也有坏消息。好消息是:有一个标准的模式可以导出所有三个系数,甚至还有一些捷径可以帮助求解,我们将在稍后介绍。坏消息是:对于 a0, an 及 bn 的求解尽管显得直截了当,但远不简单。所有三个系数都通过以下积分求解:

注:给定的三个系数都假定一个 2π 的周期

「求解 a0 - 平均值」

左边的第一项, a0 有时被称为“平均值”系数,正是因为这个原因-它只是我们要替代的函数在固定周期内的积分。

「求解 an - 余弦波的求和」

在我们的级数中,an 是余弦波的主导系数;我们的目标是算出这个系数在级数中的不同值。

「求解 bn - 正弦波的求和」

相反,bn 是级数中正弦波的主导系数;我们的目标是再次计算这个系数在级数中的不同值。

an 或 bn 本质上是它们各自波的变化“权重”,它们为我们提供了一个近似,即对于任何给定的级数,怎样通过合理的波的“混合”来达到最佳近似。

捷径-偶函数和奇函数

值得庆幸的是,大多数傅里叶级数的复杂度在起初都大大降低了;通过分析目标函数 f(x) 的对称性,无论函数是偶函数还是奇函数,我们通常至少可以一个系数排除出来。让我们回顾一下,一个函数的奇偶性,是相对于它在原点或 y 轴上的对称性而言的:

如果 f(-x)=f(x) ,则 f(x) 是偶函数;如果 f(-x)=-f(x) , 则 f(x) 是奇函数。

巧用函数奇偶性将极大地简化求解过程。捷径的关键是在开始傅里叶分析之前,首先检查 f(x),即我们近似的函数或形状,是否是奇函数或偶函数,还是两者都不是。

如果一个函数是奇函数或偶函数,我们就很幸运了。回忆一下基本的微积分知识,不难发现,在某个固定的周期内对两个三角函数中的任何一个积分时会发生什么:

从 -L 到 L 的 cos(x) 的积分为 0;从 -L 到 L 的 sin(x) 的积分也是 0。

基于以上两组事实,现在我们就清楚利用函数的对称性如何大大降低了傅里叶分析的复杂性;基本上,在大多数情况下,我们会遇到傅里叶系数 a0, an 或者 bn 在积分后变为零的情形。利用奇、偶函数的性质,在不进行具体积分运算的情况下就能够预测系数为 0,这实际上是一条强大的捷径。让我们进一步仔细考察这两种情况。

偶函数:半程傅立叶余弦级数

对于 x 的所有值,有 f(-x)=f(x);因此,偶函数的图总是关于 y 轴对称的(也称为它是镜像对称的)。 例如,看看下面函数的图,f(x)=cos(x):

f(x)=cos(πx)

显然,上面是关于 y 轴对称的。如果一个函数是偶函数,那么对于 bn,不论 bn 的第 n 项是什么,求解的积分部分都等于零。因此,我们可以安全地消掉原来级数的 bn 部分,留下一个偶函数的截断傅里叶级数,称为半程傅立叶余弦级数,它看起来如下:

偶函数在其傅里叶展开中只有余弦项:理解这一点的关键是每个傅里叶级数的设置都是从正弦和余弦函数开始。

「奇函数:半程傅立叶正弦级数」

对于 x 的所有值,如果 f(-x)=-f(x),则函数 f(x) 被认为是奇函数;因此,奇函数的图像总是关于原点对称的。例如,看看下面函数的图像,f(x)=sin(πx):

这有点难讲,但是上面是关于原点对称的。如果一个函数是奇函数,那么包括 an 的级数项的积分,无论是 an 的第 n 项是什么,都等于零。因此,我们可以安全地消掉原来级数的 an 部分,只留下奇函数的截断傅里叶级数,称为半程傅里叶正弦级数。然而,这还没完,奇函数还包括额外的信息,能帮助我们消掉一个额外的项:a0。想一想,如果一个函数在原点上是对称的,那么这意味着 x 轴以上的面积等于 x 轴以下的面积;这意味着函数的平均值,即我们的 a0 项,也等于零。因此,对于半程傅里叶正弦级数,我们可以安全地消掉 a0 项和余弦项,如:

这样最初的几项现在都被去除了,一个奇函数的傅里叶展开中只有正弦项;显然,这比我们开始要求的傅里叶级数要简单的多。

实例

现在我们来看一个实际的傅里叶级数的例子。 对于这个例子,我们要复制一个方波,它从-1 的波谷振荡到 1 的波峰,周期为 2π;我们将分析从 -π 到 π 的函数图像。这采取了以下形式(图片在左边/下面)。

建立傅里叶级数的第一步不是直接进入这个原始步骤,而是检查目标函数是否具有对称性;看这张图,很明显,它确实是围绕原点对称的。因此,我们使用的函数是奇函数。这一微小的分析大大降低了复杂性和完成我们的傅里叶级数所需的步骤。因为我们知道它是一个奇函数,这意味着我们可以把它看作是一个半程傅里叶正弦级数(如上所述)。通过这个例子,我们开始了我们的实际旅程,基本上是简单的步骤:

记住我们的目标是求出 bn。

从左到右,f(t) 是我们用傅里叶级数近似的函数。可以看出,我们已经消除了 a0 和 an 项,只剩下一系列的正弦波需要处理,还有余下这个系数 bn 项需要求出。

这是第一次需要认真思考的地方:右边的 f(t) 只是我们要近似的形状/函数的值。在这个特殊的例子中,如上图所示,函数 f(t) 的值是分段的:从 -π 到 0,f(t)=-1;从 0 到 π,f(t)=1。 因此,如果我们将 bn 拆分为两个不同的积分,(-π, 0)到(0,π),我们可以简单地用 -1 或 1 替换 .

接下来,我们尝试代入 n 一些值来分析上式的模式,这些模式将暗示系数 bn 的收敛性。我们先从写出 n=1 开始:

上面的计算可以借助任何一款计算机软件或者 WolframAlpha 中进行复查。

它告诉我们,对于 的第一个值,我们的系数 收敛到 4/π。我们现在将对 的四个附加值重复这个过程,希望能发现一个模式:

是否有一个清晰的模式?是的。请用 WolframAlpha 或其他的高级计算器再次检查这些分段积分。从上面可以看出,值得注意的是, 的所有偶数值都收敛到零,而 的所有奇数值收敛到 4/(nπ)。

解出 后,我们现在可以将系数带回到我们上面设置的半程傅立叶正弦级数中。现在让我们写下级数的前几项:

看起来这有点复杂,然而,它已经非常准确能描述出:右边的傅里叶级数确实收敛到我们的目标方波。我们可以通过动画展示来进一步证实这种收敛是如何随着时间的推移发生的:

随着我们的傅里叶级数已经被正确地解决,让我们花一点时间来直观地确认我们解出来的是什么。下面的动画准确地显示了上面的每一项是如何与一个具有特定半径和频率的圆相对应的。在总和中,它画出了我们预期的方形图:

每个圆都有不同的半径和频率。在上面的 GIF 的第三列中可以观察到,通过在前一个圆的半径的末尾附加每个圆,我们的波逐渐接近一个方波。最后检查一下,当我们接近无穷时,我们将把该级数覆盖在最开始的方波图形上:

在傅里叶变换上

傅里叶级数是将周期函数表示为简单正弦和余弦波的无穷和的一种方法。从信号处理到近似理论再到偏微分方程,傅里叶级数与物理现象的联系是多么复杂,怎么说都不为过,任何具有可识别模式的东西都可以用变化的正弦和余弦波来描述。

约瑟夫·傅里叶,1768年3月21日-1830年5月16日

然而...这并不是故事的结尾。几十年后的今天,我们的傅里叶级数的范围与它的继承者傅里叶变换相比是非常有限的。傅里叶级数用于表示一个离散和周期函数,而傅里叶变换用于表示一般的非周期函数。傅里叶变换本质上是函数的傅里叶级数在周期接近无穷大的极限。它也是所有基于数字技术的核心,对于那些好奇的想要了解我们日常物品本质的人来说,这是我们旅程的下一站。(完)

标签: #波形怎么描述出来 #傅里叶级数编程