傅里叶级数在数论、组合数学、信号处理、概率论、统计学、密码学、声学、光学等领域都有着广泛的应用,这不由得让人肃然起敬。一打开《信号与系统》、《锁相环原理》等书籍,动不动就跳出一个“傅里叶级数”或“傅里叶变换”,弄一长串公式,让人云山雾罩。

如下就是傅里叶级数的公式:

公式会看的人怀疑人生,我们先看下图理解下:

时域图像:就是我们说的f(t)信号

频率图像:级数展开后每一项对应着频率图像中的1条曲线(1个信号)

其实下图就说明了一个周期函数f(t)可以通过一系列正弦函数来表示。

不知那个傅里叶什么时候灵光乍现,把一个周期函数f(t)硬生生地写成这么一大堆东西。单看那个①式,就是把周期函数f(t)描述成一个常数系数a0、及1倍ω的sin和cos函数、2倍ω的sin和cos函数等、到n倍ω的sin和cos函数等一系列式子的和,且每项都有不同的系数,即An和Bn,至于这些系数,需要用积分来解得,即②③④式,不过为了积分方便,积分区间一般设为[-π, π],也相当一个周期T的宽度。

能否从数学的角度推导出此公式,以使傅里叶级数来得明白些,让我等能了解它的前世今生呢?下面来详细解释一下此公式的得出过程:

1、把一个周期函数表示成三角级数

首先,周期函数是客观世界中周期运动的数学表述,如物体挂在弹簧上作简谐振动、单摆振动、无线电电子振荡器的电子振荡等,大多可以表述为:

f(x)=A sin(ωt+ψ)

这里t表示时间,A表示振幅,ω为角频率,ψ为初相(与考察时设置原点位置有关)。

然而,世界上许多周期信号并非正弦函数那么简单,如方波、三角波等。傅叶里就想,能否用一系列的三角函数An sin(nωt+ψ)之和来表示那个较复杂的周期函数f(t)呢?因为正弦函数sin可以说是最简单的周期函数了。于是,傅里叶写出下式:(关于傅里叶推导纯属猜想)。我们先假设是可以的,然后一步一步证明。

这里,t是变量,其他都是常数。与上面最简单的正弦周期函数相比,5式中多了一个n,且n从1到无穷大。这里f(t)是已知函数,也就是需要分解的原周期函数。从公式5来看,傅里叶是想把一个周期函数表示成许多正弦函数的线性叠加,这许许多多的正弦函数有着不同的幅度分量(即式中An)、有不同的周期或说是频率(是原周期函数的整数倍,即n)、有不同的初相角(即ψ),当然还有一项常数项(即A0)。要命的是,这个n是从1到无穷大,也就是是一个无穷级数。

应该说,傅里叶是一个天才,想得那么复杂。一般人不太会把一个简单的周期函数弄成这么一个复杂的表示式。但傅里叶认为,式子右边一大堆的函数,其实都是最简单的正弦函数,有利于后续的分析和计算。当然,这个式能否成立,关键是级数中的每一项都有一个未知系数,如A0、An等,如果能把这些系数求出来,那么5式就可以成立。当然在5式中,唯一已知的就是原周期函数f(t),那么只需用已知函数f(t)来表达出各项系数,上式就可以成立,也能计算了。

于是乎,傅里叶首先对式5作如下变形:

这样,公式5就可以写成如下公式6的形式:

这个公式6就是通常形式的三角级数,接下来的任务就是要把各项系数an和bn及a0用已知函数f(t)来表达出来。

2、三角函数的正交性

这是为下一步傅里叶级数展开时所用积分的准备知识。一个三角函数系:1,cosx , sinx , cos2x , sin2x , … , cosnx , sinnx , … 如果这一堆函数(包括常数1)中任何两个不同函数的乘积在区间[-π, π]上的积分等于零,就说三角函数系在区间[-π, π]上正交,即有如下式子:

以上各式在区间[-π, π]的定积分均为0,第1第2式可视为三角函数cos和sin与1相乘的积分;第3-5式则为sin和cos的不同组合相乘的积分式。除了这5个式子外,不可能再有其他的组合了。注意,第4第5两个式中,k不能等于n,否则就不属于“三角函数系中任意两个不同函数”的定义了,变成同一函数的平方了。但第3式中,k与n可以相等,相等时也是二个不同函数。下面通过计算第4式的定积分来验证其正确性,第4式中二函数相乘可以写成:

可见在指定[-π, π]的区间里,该式的定积分为0。其他式也可逐一验证。

3、函数展开成傅里叶级数

先把傅里叶级数表示为下式,即⑥式:

对⑥式从[-π, π]积分,得:

这就求得了第一个系数a0的表达式,即最上边傅里叶级数公式里的②式。接下来再求an和bn的表达式。用cos(kωt)乘⑥式的二边得:

至此,已经求得傅里叶级数中各系数的表达式,只要这些积分都存在,那么⑥式等号右侧所表示的傅里叶级数就能用来表达原函数f(t)。上述过程就是整个傅里叶级数的推导过程。事实上,如果能够写出⑥式,不难求出各个系数的表达式,关键是人们不会想到一个周期函数竟然可以用一些简单的正弦或余弦函数来表达,且这个表达式是一个无穷级数。这当然就是数学家傅里叶的天才之作了,我等只有拼命理解的份了。

综上,傅里叶级数的产生过程可以分为以下三步,如下:

1、设想可以把一个周期函数f(t)通过最简单的一系列正弦函数来表示,即5式;

2、通过变形后用三角级数(含sin和cos)来表示;

3、通过积分,把各未知系数用f(t)的积分式来表达;

4、最后得到的4个表达式就是傅里叶级数公式。

在电子学中,傅里叶级数是一种频域分析工具,可以理解成一种复杂的周期波分解成直流项、基波(角频率为ω)和各次谐波(角频率为nω)的和,也就是级数中的各项。一般,随着n的增大,各次谐波的能量逐渐衰减,所以一般从级数中取前n项之和就可以很好接近原周期波形。这是傅里叶级数在电子学分析中的重要应用。


1.本文部分素材来源网络,版权归原作者所有,如涉及作品版权问题,请与我联系删除。

2.未经原作者允许不得转载本文内容,否则将视为侵权;

3.转载或者引用本文内容请注明来源及原作者;

4.对于不遵守此声明或者其他违法使用本文内容者,本人依法保留追究权等。

下面是我的个人微信公众号,关注【一个早起的程序员】精彩系列文章每天不断。

傅里叶级数的数学推导及应用价值相关推荐

  1. 傅里叶级数的数学推导

    傅里叶级数的数学推导 首先,隆重推出傅里叶级数的公式,不过这个东西属于"文物"级别的,诞生于19世纪初,因为傅里叶他老人家生于1768年,死于1830年. 但傅里叶级数在数论.组合 ...

  2. 时域和频域变换之---傅里叶级数的数学推导

    废话不多说先列提纲: 0.概述-需求分析-功能描述-受限和缺点改进+知识点预备 1.泰勒级数和傅里叶级数的本质区别,泰勒展开 2.  函数投影和向量正交 3.两个不变函数求导是本身e^x,sinx,c ...

  3. 数字录波器的理解——如何完成这一过程的(无数学推导过程)

    数字滤波器的理解 ······· 接触数字录波器之前一定接触过模拟滤波器,这种实实在在的东西-物理上存在的,给我们的感觉灰常好.我们都接触过复域也就是(频率分析域)的拉普拉斯变换和傅里叶变换,一个单位 ...

  4. 【机器学习基础】数学推导+纯Python实现机器学习算法22:最大熵模型

    Python机器学习算法实现 Author:louwill Machine Learning Lab 最大熵原理(Maximum Entropy Principle)是一种基于信息熵理论的一般原理,在 ...

  5. CNN反向传播源码实现——CNN数学推导及源码实现系列(4)

    前言 本系列文章链接: CNN前置知识:模型的数学符号定义--卷积网络从零实现系列(1)_日拱一两卒的博客-CSDN博客https://blog.csdn.net/yangwohenmai1/arti ...

  6. 【压缩感知合集1】(背景知识)香农奈奎斯特采样定理的数学推导和图解分析

    [压缩感知合集1](背景知识)香农奈奎斯特采样定理的数学推导和图解分析 [压缩感知合集2](背景知识)信号稀疏表示的数学推导和解释理解 [压缩感知合集3]压缩感知的背景与意义 [压缩感知合集4](背景 ...

  7. 数学推导+纯Python实现机器学习算法:GBDT

    Datawhale推荐 作者:louwill,Machine Learning Lab 时隔大半年,机器学习算法推导系列终于有时间继续更新了.在之前的14讲中,笔者将监督模型中主要的单模型算法基本都过 ...

  8. 数学推导+纯Python实现机器学习算法:逻辑回归

    2019独角兽企业重金招聘Python工程师标准>>> 自本系列第一讲推出以来,得到了不少同学的反响和赞成,也有同学留言说最好能把数学推导部分写的详细点,笔者只能说尽力,因为打公式实 ...

  9. 详解CAPM的数学推导

    详解CAPM的数学推导 资本配置线 最优投资组合 市场投资者与资本资产定价公式 今年居然是咱本命年啊,难怪从二月开始就总是遇到各种奇奇怪怪的bug,不管怎么说还是祝我生日快乐吧.虽说已经不搞金融了,但 ...

  10. 机器学习——线性回归数学推导

    文章目录 线性回归数学推导 基础知识 线性回归的计算 利用矩阵知识对线性公式进行整合 误差项的分析 似然函数的理解 矩阵求偏导 线性回归的最终求解 实验 1 二维直线实验 2 三维平面实验 3 利用最 ...

最新文章

  1. winform之窗体固定
  2. java 配置信息_[Java教程]java 配置信息类 Properties 的简单使用
  3. wxWidgets:wxTimerEvent类用法
  4. 说说MaxTenuringThreshold这个参数
  5. GridView中列表的“双击事件”
  6. sqlhelper中事务的简单用法(初学者)
  7. c++实现插入和冒泡排序
  8. flask-配置的设置-三种配置的实现方法
  9. Linux下编程获取本地IP地址的常见方法
  10. 合并两个LMDB文件
  11. 2021年机修钳工(初级)考试资料及机修钳工(初级)证考试
  12. python移动文件(非文件夹)
  13. pdf分解成多个pdf?PDF分割怎么做
  14. usb转并口支持linux,USB转并口;USB转真并口(支持仿真调试加密狗等);USB TO LPT
  15. 简单好用的服务器压力测试小工具 ab
  16. 如何修改jadx的默认内存
  17. Applied ADO.NET: Building Data-Driven Solutions
  18. caffe.bin caffe的框架
  19. 测量标准误(Standard Error of Measurement;SEm)
  20. 什么是浮动、为什么要清除浮动

热门文章

  1. win10 2016 长期服务版激活
  2. PySide6 : Qt for Python 教程
  3. 基于Android手机近距离感应器的俯卧撑计数器
  4. Ubuntu16.04 + 微软kinect 2 实现rgbdslam V2
  5. 怎么注册免费苹果开发者账号?
  6. 十年前的生活小技巧文章
  7. 2015-2020: 5年,不问归期,奋斗没有终点
  8. 【微信小程序开发日记01】和风天气OUC之初步构想
  9. 点击劫持(clickjacking)
  10. Pandas的read_excel()函数读取excel时遇到身份证含空值(pandas识别nan为float类型)自动变成科学计数法的解决办法