让你永远忘不了的傅里叶变换解析
使用联想链条和几何直观,辅以从实际需求衍生概念的思考模式,详解什么是傅立叶变换,为什么要做傅立叶变换等,帮助记忆和理解,目的当然是标题所说:让你永远忘不了傅里叶变换这个公式 。另,这篇博客还从侧面一定程度上回答了另一个问题:为什么要研究复数
本篇博客为形象展示傅里叶变换和欧拉公式与初等群论两个视频的笔记结合,希望通过此篇让所有读者对傅立叶变换有一个全新的认知,并且宣传一波 3b1b 良心视频系列!重塑对未知和知识的渴求
知乎相关问题链接,小伙伴们求点赞!没有功劳也有苦劳啊!
欧拉公式与旋转
在开始一步一步接近【傅立叶变换】前,先说一下群论提前说明,此部分有地方会提到【群论】这个概念,但博主并不是要试图把什么环、域、向量空间、代数结构、线性代数群、李群等等一大堆很抽象的概念灌输给大家,我们只是为了利用群论的概念,加深或者说建立一个对【理解傅立叶变换】极度有帮助的直观概念:指数函数(逆操作对数函数同理)是加法和乘法运算的桥梁,在自变量包含复数时表示旋转 。以具体的一个例子来说:
e^(πi)表示的是在单位圆上逆时针在旋转180°这个变换 。
等等,这不是排行世界上最伟大的十个公式第二名的欧拉公式(上帝公式)嘛?(BTW,我们今天的主角【傅立叶变换】排行第七,这阵容着实强大)是的,这第一部分,捎带,会带你更进一步的重新认识这个公式的伟大
对称性 symmetry首先,假设我们有以下陈述:正方形是对称图形
那么从数学(定义 or 公式)角度上来说,怎么描述【对称】这个概念呢?我们作为【人】,肯定会想,不就是看着左右一样嘛?不够严谨,不够优雅,继续深入,可以这么考虑:你能对正方形做些什么,并且在这个操作后,保持正方形的形态和操作前相同我们把具有上述性质的操作都列出来,放在mi一起,如下面动图所示(左右旋转90°,旋转180°,四个轴对称,不变,这八个操作),就构成了一个有限群【对称群】,更专业的叫法是【八阶二面体群 Dihedral group of order 8】
有了上面的直观理解,还有一个无限群需要了解,即【旋转群】,表示的是所有旋转操作,当然,因为角度可以无限细分,这个操作也是无限的,比如:顺时针旋转此时,能总结出一个巧合的现象,按照顺序进行上面8个操作的某两个,恰好等同于8个操作中的其他的某一个(旋转群同理),如下面的动图所示,把这些组合放到一起,才真正的表达了【群】这个概念
很多不同的概念都能从对称性和对称性的符合构建得到,如下图所示,其中,数字本身有两种表达方式(操作),加法和乘法对于【数】这个集合来说,加法对应数轴的平移变换(一个操作),乘法对应着数轴的伸缩变换(一个操作)把这个数轴的概念拓展到平面坐标系,1D2D 。如果我们要把一个点,比如(1,0)移动到另一个点,应该如何操作?简单的说,只需要先在横轴方向上平移,再在纵轴方向上平移即可(核心思想类比于正方形的几个操作)同理,除了平移外,使用伸缩加旋转也可以完成同样的事情(将任意一点移动到另一个位置),伸缩是乘法显而易见,但是旋转怎么表示呢?(当然直接改变坐标轴的定义也是能做到的,例子就是极坐标系,但我们并不想这么做),我们构造以下思考链条:
- 考虑一个特例操作:一个点变到另一个点:(1,0)通过伸缩和旋转到(-1,0),长度不用变,只需旋转即可
- 此时,注意到了一个形式很有特点的定义:,-1 就是我们需要的目标位置,那如何从(1,0)出发进行两次同样的操作可以得到(-1,0)呢?(这个操作即ii 这个虚数单位定义的操作)答案即:一个单位 i
i 表示旋转90°即可 - 更意外的发现,进行一次ii 操作,如果是逆时针旋转90°,正好会落在二维平面y轴的(0,1)与单位长度不谋而合
- 更大胆的假设,如果y轴自带虚数单位,如,就有旋转操作了,是不是就就能通过乘法来描述处在这个平面上的所有变换了
e^(iθ)这个公式等价于一种旋转,θθ 为旋转角的度数(统一单位,弧度制,即把°转换成实数)θ=2π 即为360°,是单位圆
我们已经优雅的找到了这个桥梁,接下来仔细研究一下它意味着什么指数函数 Exponentiation指数函数有一个非常重要的特性:加法变乘法,即也就是说通过指数函数,可以做到使用平移变换来描述伸缩变换,这具体是什么意思呢?参考下面的动图上方的数轴,表示的是平移变换 -1(左移一个单位) 和 2(右移两个单位)(加法),下方的数轴将两个数作为输入,代入到一个指数函数中,对于函数来说,这个输出值,就是两次伸缩变换(乘法),一次是收缩为原来的,另一次是拉伸成原来的倍
注意,所谓可以变的意思是说,加法运算可以成立,意味着先往左平移1单位,再往右平移一单位,组合起来的左右就是往右平移一到位(-1+2=1, 群论的保持结构特性) ,而乘法运算成立也要满足这个特性
复平面 Complex Plane至此,构造复平面,把虚数单位 ii 加到纵轴上 。我们就同时拥有了伸缩和旋转,最关键的是,有了这两个操作,我们同时也可以维持的群的特性(使用乘法)如下面动图所示,在复平面内,以指数函数为桥梁,实轴横向平移对应伸缩,虚轴纵向平移对应旋转
横坐标红线,横向平移映射到伸缩操作的可视化纵坐标虚数单位,纵向平移映射到旋转操作的可视化,正为逆时针旋转现在使用的桥梁是底数为2的指数函数,我们知道e^(πi)代表的半个圆周,我们希望把底数变成 e , 这样更加方便表达圆的概念每走一个单位的纵向位移,在圆周上旋转的圆弧长度就是1,参照下面的动图,e^(πi) 恰好代表逆时针旋转180°,并且落在的位置为(-1,0),这就是欧拉公式,或者说是欧拉公式的几何直观可视化总结这第一部分到底干了啥?其实就是想建立一个观念(或者说常识)e^x 在复平面,或者说 x=ai(a为某个常数,就是弧度制的圆周长度)代表的变换是:旋转如果你之前学过傅立叶变换,那么会明白为什么需要花费这么大篇幅来讲这个,因为公式中,e^(iπ) 那是可是相当重要的一部分啊傅里叶变换
正式进入傅立叶变换的部分,老规矩,先做一下基本信息整理什么是傅立叶变换首先,还是先弄清楚我们理解的目标是什么傅立叶变换(如果不加限定,这个词对应的是连续傅立叶变换)
傅立叶级数傅立叶变换还有很多其他的内容:离散时间傅立叶变换,离散傅立叶变换,傅立叶逆变换,快速傅立叶变换等,进一步的拉普拉斯变换,小波变换,z变换等[ 公式表示 ]傅立叶变换,变换作用是时域映射到频域,公式是长这样的:很多时候,这里的会写成 F(w) 或 F(f) 表示角速度或者频率,当然后面的公式的量纲也需要对应的修改;后面的自变量 x 大多数时候都是写成 t 表示时间 。当然,他们表示的都是同一个东西
[ 联想链条 ]既然是为了【理解】和【记忆】,那么我们还是需要定义一个联想链条:傅立叶变换分解声音的过程
这么抽象实在是因为拆字法真的很难联想出什么东西来(傅里叶?变换?嗯,很难的样子),只能这样了 。接下来就是精华部分:3b1b的傅立叶变换讲解内的核心内容!在笔记完成后,会给出结合直观理解的完整联想链条,目的当然是【让你永远忘不了】喽,点题!【看到】傅立叶变换[ 声音的表示 ]我们是如何记录声音的呢?如果你测量的是扬声器旁的气压,那么它会是一个随时间以正弦函数形态不断震荡的图像,一个标准音 A(下图黄色),它的频率是440Hz,表示每秒钟振动440次,比它低一些的D(下图紫红),是294Hz,振动的慢一些 。如果这两个音同时发出,产生的气压随时间曲线怎么决定呢?如下动图,其实就是把所有时间点的振幅加起来那么如果给你随意一段随时间变化的气压曲线,你如何找到这些原有的组成音符呢?这就是我们的目的,参考下面的动图,感觉有点像是把一盘混好的原料分成组成它的单独的颜色,感觉不那么容易吧?
下面就需要一步一步把这件事情做出来[ 可视化方法 ]
首先,假设我们有一个每秒钟3拍子的声音信号(440Hz实在太快了),它的图像如下(Intensity为强度,可以同理成气压),并且,我们只关注前面的4.5秒(即图像中画出来的部分)1. 绕圈记录法:同一事物的不同角度千万不要眨眼!下面是最关键的一步,是【看到】傅立叶变换的核心部分,如下面动图所示
- 首先把黄色曲线缠绕到一个圆上,大小就是原本信号的振幅
- 圆周围的图像由白色的箭头绘制而成,速度可变,上图中的白色箭头移动速度是每秒钟转过半圈(这个速度是对于下面的圆形图像来说,每秒钟在圆形图像中转半圈),对应上面的则是虚线表示一圈走到的位置,0.5拍子/秒
- 此时,有两个频率在起作用,一个是信号的频率:3次震荡/秒,另一个是图像缠绕中心圆的频率,为0.5圈/秒,第二个频率可以自由改变,相当于一个变量,下面的动图直观的展现了缠绕速度变化时的可视化表现
随着采样点的增加,需要使用积分来求解这个问题,如下面动图所示,得到最终步:整理积分限和系数看到常数项系数,如果忽略表达倍数关系的系数,对应的含义也会发生变化,不再是质心,而是信号存在的时间越久,位置是质心位置乘以一个倍数,它的值就越大 。参看下面的动图,持续时长为3秒,那么新的位置就是原来质心位置的三倍;为6秒,就是原来的6倍而去掉系数的几何直观动图变为(红色箭头为去掉系数后的长度表示),最本质的区别是:可以使得最后绘制的图像更集中在对应的频率的附近,或者说在对应的频率位置的值更大
继续考虑上下限 。我们知道,一般傅立叶变换公式的上下限是正负无穷,那它的几何直观是什么呢?参看下面动图,其实就是看看信号持续时间无穷大是什么样子的说实话,这个动图解答了我大学时代的一个疑惑,音乐文件不都是有时间长度的嘛,我就一直不懂,凭什么对负无穷到正无穷做傅立叶变换?原来真实情况是,负无穷到0,音乐结尾到正无穷,就像上面的动图,其实都没有振动幅值(电信号幅值)与之对应,再结合缠绕圆圈的思想:原来,从音乐开始到结束傅立叶变换和从负无穷到正无穷做傅立叶变换,是特么的一回事啊!(吐槽完毕)补充[ 相位 ]在表示质心的时候,我们只取用了x轴坐标,下面的图中的蓝色曲线就是纵坐标(y轴 or 虚部)的可视化,红色曲线是横坐标(x轴 or 实部)那么相位是如何表示的呢?如下面动图所示,其中红色的部分为质心,长度为振幅大小,对应的角度就是相位[ 原信号的长度 ]再追根究底一些,因为之前已经提到过,假设我们的信号有4.5s 。那么考虑原信号的长度的变化呢?首先,假设信号的长度很长,那么缠绕圆上的线就会更多,每次接近稳定图像质心的变化速度更快(即频域图像更加密集),参看下面动图那么对应的,如果原信号的长度缩短呢?如下面动图所示,频域图像会更加稀疏 。原因同理,当缠绕的内容少的时候,重心变化的速度也相应的变慢了总得来说,基本就上述内容就详细解释了下面的现象:时域的信号周期越长,那么频域就越集中,越不容易发生混叠,越容易抽象出时间信号的周期性重复信息,此时自然而然的,周期性这个词就出现了 。另外,可以自己思索一下,比如无穷时间的周期时域信号呢?又比如一个恒定振幅(一个电平)的时域信号呢?其实这里就给出了一个提示有关为什么傅立叶变换有那么多需要考虑的变形了,因为在缠绕这件事情发生的过程中,有几种情况是特别的(这部分3B1B视频并没有讲解,可能需要未来再更新了)总结讲了这么长,至此全部结束 。估计读者都已经晕了,那么,在这里为【看到】傅立叶变换做一个总结,就来总得说说我们从头到尾都干了些啥?参看下面动图
- (1)e^(πi)表示单位圆,添加自变量即可表示旋转
- (2)与原函数相乘缠绕到单位圆上
- (3)为求质心的特征,进行积分计算
- 一个逆时针旋转360°画成的圆
- 表示运动,需要原函数的自变量,时间
- 表示旋转速度,需要自变量,频率
- 规定变换的采样方向为顺时针,加负号
- 乘以原函数缠绕到单位圆并记录(此处使用g符号标识原函数是为了和频率符号区分
- 为了计算质心特征,积分
- 自变量为频率ff,写出函数表达式
-END-
作者 | 刘遥行
来自 | https://charlesliuyx.github.io/2018/02/18/
直观详解:让你永远忘不了的傅里叶变换解析
| 整理文章为传播相关技术,版权归原作者所有 |
| 如有侵权,请联系删除 |
【1】STM32如何配置外部中断?
【2】STM32单片机:独立看门狗、窗口看门狗的配置【3】使用KeilMDK以及标准外设库创建STM32工程的详细过程【4】编码器是什么?STM32编码器接口及应用编程【5】STM32学了很久,为什么还是不会做项目?
【让你永远忘不了的傅里叶变换解析】免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务 。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!
推荐阅读
- 射手座爱情观 永远在冒险的路上
- 茶树精油祛痘怎么样?
- 人死后永远结束吗真实_人死后永远结束吗百度百科
- 男生哪些表现会让12星座女决心想要嫁 双子永远都有少女心
- 一大把年纪了还喜欢看动画片的星座 永远年轻永远有童心
- 家人逼婚不成便动手,“我永远不可能和她结婚!”
- 感性又理性是什么意思_理性永远在给感性收摊子是什么意思
- 12星座女生谁最难追 真的会让你追到崩溃
- 如何四步让你掌握土元养殖技术
- 12星座出轨了有什么征兆 金牛不会让你看出来的