当前位置: 首页 > news >正文

傅里叶变换

https://zhuanlan.zhihu.com/p/19763358

什么是频域
从我们出生,我们看到的世界都以时间贯穿,股票的走势,人的身高,汽车的轨迹都会随着时间发生改变。这种以时间为参照来观察动态世界的方法我们称其为时域分析。而我们也想当然的认为,世界万物都在随着时间不停的改变,并且永远不会静止下来。但如果我告诉你,用另一种方法来观察世界的话,你会发现世界是永恒不变的,你会不会觉得我疯了?我没有疯,这个静止的世界就叫做频域。

先举一个公式上并非很恰当,但意义上再贴切不过的例子:
在你的理解中,一段音乐是什么呢?
在这里插入图片描述
这是我们对音乐最普遍的理解,一个随着时间变化的震动。但我相信对于乐器小能手们来说,音乐更直观的理解是这样的:
在这里插入图片描述
好的!下课,同学们再见。
是的,其实这一段写到这里已经可以结束了。上图是音乐在时域的样子,而下图则是音乐在频域的样子。所以频域这一概念对大家都从不陌生,只是从来没意识到而已。
现在我们可以回过头来重新看看一开始那句痴人说梦般的话:世界是永恒的。

将以上两图简化:

时域:
在这里插入图片描述
频域:
在这里插入图片描述
在时域,我们观察到钢琴的琴弦一会上一会下的摆动,就如同一支股票的走势;而在频域,只有那一个永恒的音符。

所以

你眼中看似落叶纷飞变化无常的世界,实际只是躺在上帝怀中一份早已谱好的乐章。
抱歉,这不是一句鸡汤文,而是黑板上确凿的公式:傅里叶同学告诉我们,任何周期函数,都可以看作是不同振幅,不同相位正弦波的叠加。在第一个例子里我们可以理解为,利用对不同琴键不同力度,不同时间点的敲击,可以组合出任何一首乐曲。
而贯穿时域与频域的方法之一,就是传中说的傅里叶分析。傅里叶分析可分为傅里叶级数(Fourier Serie)和傅里叶变换(Fourier Transformation),我们从简单的开始谈起。

二、傅里叶级数(Fourier Series)的频谱
还是举个栗子并且有图有真相才好理解。

如果我说我能用前面说的正弦曲线波叠加出一个带90度角的矩形波来,你会相信吗?你不会,就像当年的我一样。但是看看下图:
在这里插入图片描述
第一幅图是一个郁闷的正弦波cos(x)

第二幅图是2个卖萌的正弦波的叠加cos(x)+a.cos(3x)

第三幅图是4个发春的正弦波的叠加

第四幅图是10个便秘的正弦波的叠加

随着正弦波数量逐渐的增长,他们最终会叠加成一个标准的矩形,大家从中体会到了什么道理?

(只要努力,弯的都能掰直!)

随着叠加的递增,所有正弦波中上升的部分逐渐让原本缓慢增加的曲线不断变陡,而所有正弦波中下降的部分又抵消了上升到最高处时继续上升的部分使其变为水平线。一个矩形就这么叠加而成了。但是要多少个正弦波叠加起来才能形成一个标准90度角的矩形波呢?不幸的告诉大家,答案是无穷多个。(上帝:我能让你们猜着我?)

不仅仅是矩形,你能想到的任何波形都是可以如此方法用正弦波叠加起来的。这是没
有接触过傅里叶分析的人在直觉上的第一个难点,但是一旦接受了这样的设定,游戏就开始有意思起来了。

还是上图的正弦波累加成矩形波,我们换一个角度来看看:
在这里插入图片描述
在这几幅图中,最前面的黑色的线就是所有正弦波叠加而成的总和,也就是越来越接近矩形波的那个图形。而后面依不同颜色排列而成的正弦波就是组合为矩形波的各个分量。这些正弦波按照频率从低到高从前向后排列开来,而每一个波的振幅都是不同的。一定有细心的读者发现了,每两个正弦波之间都有一条直线,那并不是分割线,而是振幅为0的正弦波!也就是说,为了组成特殊的曲线,有些正弦波成分是不需要的。

这里,不同频率的正弦波我么称为频率分量。
好了,关键的地方来了!!
在这里插入图片描述
接下来,让我们回到初中,回忆一下已经死去的八戒,啊不,已经死去的老师是怎么定义正弦波的吧。

在这里插入图片描述

正弦波就是一个圆周运动在一条直线上的投影。所以频域的基本单元也可以理解为一个始终在旋转的圆
在这里插入图片描述
介绍完了频域的基本组成单元,我们就可以看一看一个矩形波,在频域里的另一个模样了:
在这里插入图片描述
这是什么奇怪的东西?
这就是矩形波在频域的样子,是不是完全认不出来了?教科书一般就给到这里然后留给了读者无穷的遐想,以及无穷的吐槽,其实教科书只要补一张图就足够了:频域图像,也就是俗称的频谱,就是——
在这里插入图片描述
再清楚一点
在这里插入图片描述
可以发现,在频谱中,偶数项的振幅都是0,也就对应了图中的彩色直线。振幅为0的正弦波。
三、傅里叶级数(Fourier Series)的相位谱
上一章的关键词是:从侧面看。这一章的关键词是:从下面看。

在这一章最开始,我想先回答很多人的一个问题:傅里叶分析究竟是干什么用的?这段相对比较枯燥,已经知道了的同学可以直接跳到下一个分割线。

先说一个最直接的用途。无论听广播还是看电视,我们一定对一个词不陌生——频道。频道频道,就是频率的通道,不同的频道就是将不同的频率作为一个通道来进行信息传输。下面大家尝试一件事:

先在纸上画一个sin(x),不一定标准,意思差不多就行。不是很难吧。

好,接下去画一个sin(3x)+sin(5x)的图形。

别说标准不标准了,曲线什么时候上升什么时候下降你都不一定画的对吧?

好,画不出来不要紧,我把sin(3x)+sin(5x)的曲线给你,但是前提是你不知道这个曲线的方程式,现在需要你把sin(5x)给我从图里拿出去,看看剩下的是什么。这基本是不可能做到的。

但是在频域呢?则简单的很,无非就是几条竖线而已。

所以很多在时域看似不可能做到的数学操作,在频域相反很容易。这就是需要傅里叶变换的地方。尤其是从某条曲线中去除一些特定的频率成分,这在工程上称为滤波,是信号处理最重要的概念之一,只有在频域才能轻松的做到。

再说一个更重要,但是稍微复杂一点的用途——求解微分方程。(这段有点难度,看不懂的可以直接跳过这段)微分方程的重要性不用我过多介绍了。各行各业都用的到。但是求解微分方程却是一件相当麻烦的事情。因为除了要计算加减乘除,还要计算微分积分。而傅里叶变换则可以让微分和积分在频域中变为乘法和除法,大学数学瞬间变小学算术有没有。

傅里叶分析当然还有其他更重要的用途,我们随着讲随着提。

下面我们继续说相位谱:
通过时域到频域的变换,我们得到了一个从侧面看的频谱,但是这个频谱并没有包含时域中全部的信息。因为频谱只代表每一个对应的正弦波的振幅是多少,而没有提到相位。基础的正弦波A.sin(wt+θ)中,振幅,频率,相位缺一不可,不同相位决定了波的位置,所以对于频域分析,仅仅有频谱(振幅谱)是不够的,我们还需要一个相位谱。那么这个相位谱在哪呢?我们看下图,这次为了避免图片太混论,我们用7个波叠加的图。

在这里插入图片描述

鉴于正弦波是周期的,我们需要设定一个用来标记正弦波位置的东西。在图中就是那些小红点。小红点是距离频率轴最近的波峰,而这个波峰所处的位置离频率轴有多远呢?为了看的更清楚,我们将红色的点投影到下平面,投影点我们用粉色点来表示。当然,这些粉色的点只标注了波峰距离频率轴的距离,并不是相位。

在这里插入图片描述

这里需要纠正一个概念:时间差并不是相位差。如果将全部周期看作2Pi或者360度的话,相位差则是时间差在一个周期中所占的比例。我们将时间差除以周期再乘2Pi,就得到了相位差。

在完整的立体图中,我们将投影得到的时间差依次除以所在频率的周期,就得到了最下面的相位谱。

注意到,相位谱中的相位除了0,就是Pi。因为cos(t+Pi)=-cos(t),所以实际上相位为Pi的波只是上下翻转了而已。对于周期方波的傅里叶级数,这样的相位谱已经是很简单的了。另外值得注意的是,由于cos(t+2Pi)=cos(t),所以相位差是周期的,pi和3pi,5pi,7pi都是相同的相位。人为定义相位谱的值域为(-pi,pi],所以图中的相位差均为Pi

四、傅里叶变换(Fourier Transformation)

傅里叶级数的本质是将一个周期的信号分解成无限多分开的(离散的)正弦波,但是宇宙似乎并不是周期的。

在这里插入图片描述

五:欧拉公式
虚数i这个概念大家在高中就接触过,但那时我们只知道它是-1的平方根,可是它真正的意义是什么呢?
在这里插入图片描述
这里有一条数轴,在数轴上有一个红色的线段,它的长度是1。当它乘以3的时候,它的长度发生了变化,变成了蓝色的线段,而当它乘以-1的时候,就变成了绿色的线段,或者说线段在数轴上围绕原点旋转了180度。
我们知道乘-1其实就是乘了两次 i使线段旋转了180度,那么乘一次 i 呢——答案很简单——旋转了90度。

在这里插入图片描述
同时,我们获得了一个垂直的虚数轴。实数轴与虚数轴共同构成了一个复数的平面,也称复平面。这样我们就了解到,乘虚数i的一个功能——旋转。
现在,就有请宇宙第一耍帅公式欧拉公式隆重登场——

在这里插入图片描述

这个公式关键的作用,是将正弦波统一成了简单的指数形式。我们来看看图像上的涵义

在这里插入图片描述

欧拉公式所描绘的,是一个随着时间变化,在复平面上做圆周运动的点,随着时间的改变,在时间轴上就成了一条螺旋线。如果只看它的实数部分,也就是螺旋线在左侧的投影,就是一个最基础的余弦函数。而右侧的投影则是一个正弦函数。

六、指数形式的傅里叶变换
有了欧拉公式的帮助,我们便知道:正弦波的叠加,也可以理解为螺旋线的叠加在实数空间的投影。而螺旋线的叠加如果用一个形象的栗子来理解是什么呢?

光波

高中时我们就学过,自然光是由不同颜色的光叠加而成的,而最著名的实验就是牛顿师傅的三棱镜实验:
在这里插入图片描述

所以其实我们在很早就接触到了光的频谱,只是并没有了解频谱更重要的意义。
但不同的是,傅里叶变换出来的频谱不仅仅是可见光这样频率范围有限的叠加,而是频率从0到无穷所有频率的组合。

这里,我们可以用两种方法来理解正弦波:

第一种前面已经讲过了,就是螺旋线在实轴的投影。

另一种需要借助欧拉公式的另一种形式去理解:

在这里插入图片描述

将以上两式相加再除2,得到:
在这里插入图片描述

这个式子可以怎么理解呢?

我们刚才讲过,e(it)可以理解为一条逆时针旋转的螺旋线,那么e(-it)则可以理解为一条顺时针旋转的螺旋线。而cos(t)则是这两条旋转方向不同的螺旋线叠加的一半,因为这两条螺旋线的虚数部分相互抵消掉了!

举个例子的话,就是极化方向不同的两束光波,磁场抵消,电场加倍。

这里,逆时针旋转的我们称为正频率,而顺时针旋转的我们称为负频率(注意不是复频率)。

相关文章:

  • PhpStorm插件之Translation
  • 小波变换原理
  • 如何通俗地理解傅立叶变换?
  • T函数
  • 分部积分法
  • mssql sqlserver 使用SSMS运行sql脚本的六种方法分享
  • 探讨基于球谐函数的全局光照
  • vue的实例属性$data
  • unity中的球谐光照
  • Python简介
  • 光探针的细节
  • 软件工程第十一周总结
  • 伽马校正
  • sRGB颜色空间
  • Jmeter Web 性能测试入门 (三):Jmeter 常用组件说明
  • GitUp, 你不可错过的秀外慧中的git工具
  • JavaScript类型识别
  • JavaScript实现分页效果
  • java小心机(3)| 浅析finalize()
  • java中的hashCode
  • Laravel深入学习6 - 应用体系结构:解耦事件处理器
  • Linux CTF 逆向入门
  • Map集合、散列表、红黑树介绍
  • react 代码优化(一) ——事件处理
  • Redash本地开发环境搭建
  • 个人博客开发系列:评论功能之GitHub账号OAuth授权
  • 深度学习在携程攻略社区的应用
  • 消息队列系列二(IOT中消息队列的应用)
  • 译米田引理
  • 怎么将电脑中的声音录制成WAV格式
  • 正则与JS中的正则
  • 阿里云ACE认证之理解CDN技术
  • 如何在招聘中考核.NET架构师
  • 数据库巡检项
  • ​决定德拉瓦州地区版图的关键历史事件
  • #stm32驱动外设模块总结w5500模块
  • #每日一题合集#牛客JZ23-JZ33
  • %3cli%3e连接html页面,html+canvas实现屏幕截取
  • (6)添加vue-cookie
  • (草履虫都可以看懂的)PyQt子窗口向主窗口传递参数,主窗口接收子窗口信号、参数。
  • (分享)自己整理的一些简单awk实用语句
  • (附源码)springboot 校园学生兼职系统 毕业设计 742122
  • (附源码)ssm基于jsp的在线点餐系统 毕业设计 111016
  • (附源码)计算机毕业设计SSM教师教学质量评价系统
  • (切换多语言)vantUI+vue-i18n进行国际化配置及新增没有的语言包
  • (四) 虚拟摄像头vivi体验
  • (四)Linux Shell编程——输入输出重定向
  • (转) 深度模型优化性能 调参
  • (转)菜鸟学数据库(三)——存储过程
  • .Net MVC4 上传大文件,并保存表单
  • .NET Standard 支持的 .NET Framework 和 .NET Core
  • .NET 程序如何获取图片的宽高(框架自带多种方法的不同性能)
  • .NET 将多个程序集合并成单一程序集的 4+3 种方法
  • :“Failed to access IIS metabase”解决方法
  • @staticmethod和@classmethod的作用与区别