欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

理解傅里叶级数和傅里叶变换的精髓

最编程 2024-01-23 12:29:21
...

本文有关三角函数的描述很多,忘记高中知识的可以从这个链接复习下各个概念:振幅、周期、相移和频率


一、从简单变换到傅里叶级数


如下图所示,在笛卡尔坐标系中,由于我们定义了一组基

网络异常,图片无法展示
|
,因此坐标系中的所有点才能够被一个坐标唯一地表示:


网络异常,图片无法展示
|

                                       简单变换  


这样的好处是有了坐标以后,点与点之间就不再是相互孤立的存在,也就有了距离的关系。这个过程就是一种变换,即把坐标变换到坐标系中。


这种简单的变换是将空间中的点使用一组基来表示,点是基的加权累加,而类比到函数中,对于一个函数,我们期待使用一组基函数来表示。傅里叶级数与傅里叶变换就是用来办到这件事的方法,其中傅里叶级数能够将任意周期函数表示成一组基函数依照各自的系数的累加,而傅里叶变换针对的是非周期函数


首先阐述傅里叶级数,它可以将任意周期函数分解为简单震荡函数(正弦函数和余弦函数,这些函数作为基函数)的加和。具体地,对于周期为

网络异常,图片无法展示
|
,可以分解为三角函数的组合:


网络异常,图片无法展示
|

网络异常,图片无法展示
|


本节类比了笛卡尔坐标系与傅里叶级数,首先对变换有一个简单的概念,接下来的章节会介绍更多的细节。


二、傅里叶级数


  1. 三角函数系


一个三角函数系为:

网络异常,图片无法展示
|

网络异常,图片无法展示
|

  1. 傅里叶级数的直观理解


  • 矩形波的分解


以一个周期矩形波为例,难以想象的是这个矩形波是可以被傅里叶级数分解的。下图中展示了多个正弦函数如何逐步组合成为一个矩形波,随着震荡函数的增加,它们最终就可以组成一个矩形波:


网络异常,图片无法展示
|

                                        矩形波的分解


注意这里只有正弦函数而没有余弦函数,这里的正弦函数并非指的是前面对

网络异常,图片无法展示
|
的分解公式里的正弦函数,公式里的正弦函数是没有相位的,而这里说的正弦函数是有相位的。我们之前说任意周期函数都可以由正弦和余弦函数累加而组成,这里的正弦函数和余弦函数是没有相位的,而事实上我们只需要有相位的正弦函数就可以组成任意的周期函数了。下图也同样展示了这些有相位的正弦波组合成矩形波的过程:


网络异常,图片无法展示
|

                                        矩形波的分解


这里的正弦波之间还有一些直线,这些直线其实也是正弦波,只不过振幅为

网络异常,图片无法展示
|
,这说明组成一个周期函数时,可能一些成分是不需要的。


  • 频谱


上面的图立体地展示了正弦波组合成周期函数的过程,如果我们从侧面来看这个立体图,也就得到了所谓的频谱(Spectrum)

网络异常,图片无法展示
|

                                     频谱的由来


其实也就相当于以这些正弦波的频率做横轴,振幅做竖轴得到图像:


网络异常,图片无法展示
|

                                          频谱


现在再重新来看一个周期函数的立体分解图,也就是说从正面来看看到的是时域(Time Domain)的图像,而从侧面来看看到的就是频域(Frequency Domain)图像:


46XT9H1}H$4@U%KY24GATNR.png

                                            时域与频域


  • 相位谱


频谱记录了正弦波的频率和振幅,但没有记录相位信息,同样的我们可以以频率为横轴,相位为纵轴构建一个相位谱(phase spectrum)


%16@(7$78R93BBAWY@PFODW.png

                                                  相位谱


利用频谱和相位谱就可以记录所有的组成一个周期函数的正弦函数了。最终,放一张集合图:


~LQMC957I@K7A9%FT(@2RZV.png

                                                         综合


  1. 傅里叶级数的由来


现在我们解释下面这个式子的由来,也顺便回答第一个章节留下的疑问:


4~}0(4YC7%{XTP5G_G6AR]E.png

利用和角公式进行一些变换:


XF{B]S[2)6)O2~P91V639MU.png


最终得到了我们之前说过的傅里叶级数,同时也解释了前面留下的疑问。


  1. 求解傅里叶级数的系数


U3]F](X@D8{M(JXP5K(N(18.png

}3RD{8FNWOMWXN$09VJD(}0.png


  1. 欧拉公式与傅里叶级数


首先有欧拉公式如下:


653P~M}6Q`WD7PEK3N)R]XA.png


可以简单的将欧拉公式理解为复数的另一种表示形式, B77}U9JSW5A6U{R3W7GWLQ8.png 看做复数。为了能够化简傅里叶级数的表达形式,我们需要应用到欧拉公式。


@N39EEM5~@[B2U3HHI8QHB8.png 时,根据欧拉公式有:

FMYH%]EM3U$IYPOLE]1B46K.png


那么:

IN%F]NGOR{EZJ2T9ND6@~BL.png


将这两项代入傅里叶级数,并进行整理:


3JZ$%JPYE{Q8_SQ)}4QJPN2.png

S8%(Q$EHGJY4OX%JQ{I{FEX.png


O_D1%F6WP7~)HPAC`5@AL2L.png


                                             时域与频域


上图右边纵

上一篇: Python股票量化交易实战(2):掌握震荡类指标KDJ

下一篇: 函数的间断点

推荐阅读