傅里叶变换公式_理解1维傅里叶变换

80fe384cb5c8191abf86833546acc783.png

上个学期,学习了信号与系统。虽然知道了傅里叶变换的作用以及如何使用。但是对于它的本质,也就是FT是如何探测到频率的尚有疑惑。

而恰好在知乎上发现了一些很好的回答。故将这些回答整理在这。

  • 感性理解1维FT

知友Heinrich写的傅里叶分析之掐死教程(完整版)直观的解释了时域的信号是如何分解为多个三角信号的。这个教程里面引人注意的是它对于相位的解释。

Heinrich:傅里叶分析之掐死教程(完整版)更新于2014.06.06​zhuanlan.zhihu.com
301f7bca25f72e5eaa16f66cd262f8d5.png
  • 数学理解1维FT

上面这个回答是从直观视觉的角度解释了傅里叶变换。而知友王希写的“我理解的傅里叶变换”则是从数学公式以及基变换的角度解释了傅里叶变换的本质。

王希:我理解的傅里叶变换​zhuanlan.zhihu.com
5a283810358f9acf287a0000a7b12291.png

看到这里,傅里叶变换就是对某个时域信号进行了基变换:把这个时域信号写成许多个三角基的线性组合。只不过每个基前面的系数是复数。

而为什么要用三角基呢?这是因为它是一组正交基,正交基向量的内积为0,这让我们可以通过将函数

做内积的方法求得所有基的系数。(
从0取到
)

其实之前我想了好久没想明白的原因是,过于关注傅里叶变换可以把频率分解出来,而忘记了这个频率其实是所分解三角基的频率。

既然FT是用三角基分解信号,那我们可不可以用别的基来分解信号呢?当然可以,如果继续深入就会涉及到小波变换。

  • 一种理解DFT的方式
为什么傅里叶变换可以把时域信号变为频域信号?​www.zhihu.com

看了这个回答之后,再结合DFT的公式:

直接做DFT相当于:
  1. 把这个序列为N的信号分解成n个冲激信号(每一个在前一个的基础上发生时移)

2.对每一个冲激信号应用DFT公式,会得到每个冲激信号的

向量

3.把所有的

相加

也就是说由于傅里叶变换是线性的,所有我们可以把一个长度为N的离散信号分解成N个冲激信号。但是目前我不知道这样理解的意义。

  • 从几何角度理解傅里叶变换

下面这个视频从几何的角度非常形象的展现了傅里叶变换的几何意义。

https://www.bilibili.com/video/av19141078​www.bilibili.com

我们知道傅里叶变换的公式是

考虑在复数平面内,

表示一个长度为1的向量随时间t在做频率为
的旋转运动。而
则表示这个向量的长度在随着t变化。
通俗来讲,这个式子就是表示将
缠绕在原点上
。如下图:

48885694c4ec8184638fcfa54e5bbc00.png

而积分符号在几何上可以看作是求质心。当信号本身的频率与缠绕频率相接近时,质心就离原点远;反之,当信号本身的频率与缠绕频率相差很大,由于缠绕是杂乱的,也就是各向同性,曲线背分散,质心离原点近。如下图:

d163c575aea826a3d2f0acd91ecacf23.png

相信大家会看到这个图:

a098aadf72232271f5eeab56ce3ee6cd.png

现在应该明白了吧。

总结

这篇文章总结了几种理解傅里叶变换的角度。直观认识、公式推导、几何角度,这可以帮助我们对傅里叶变换有一个多方面的认识。当然,傅里叶变换里面可以讨论的问题还有许多。。。

推荐一个网站:里面可以把你画的图形用傅里叶圆上加圆的方法画出来,是一个交互的网站。挺有意思的。

An Interactive Introduction to Fourier Transforms​www.jezzamon.com
a34a2f09f92c6b16f6ef46b8915fc844.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/329585.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ASP.NET Core的配置(3): 将配置绑定为对象

出于编程上的便利,我们通常不会直接利用ConfigurationBuilder创建的Configuration对象读取某个单一配置项的值,而是倾向于将一组相关的配置绑定为一个对象,我们将后者称为Options对象。我们在《ASP.NET Core的配置(1)&…

11 个简练的 Java 性能调优技巧

转载自 11 个简练的 Java 性能调优技巧想要让你的项目一直高性能运作吗?以下有一些技巧你可以拿去消除缓存瓶颈,还有一些其他的性能调优建议。 大多数开发者认为性能优化是一个复杂的话题,它需要大量的工作经验和相关知识理论。好吧&#xff…

pre1-flink理论-批处理与流处理+简单示例

【README】 1.本文包含了 批处理与流处理的代码示例; 批处理:把数据 攒在一起(或攒一段时间或攒一定内存大小),然后再处理,这叫批处理;流处理:数据每来一个就处理一个;…

python表单提交的两种方式_Flask框架学习笔记之表单基础介绍与表单提交方式

本文实例讲述了Flask框架学习笔记之表单基础介绍与表单提交方式。分享给大家供大家参考,具体如下:表单介绍表单是HTML页面中负责数据采集功能的部件。由表单标签,表单域和表单按钮组成。通过表单,将用户输入的数据提交给服务器&am…

高级 | Java中获取类名的3种方法

转载自 高级 | Java中获取类名的3种方法获取类名的方法 Java 中获取类名的方式主要有以下三种。 getName() 返回的是虚拟机里面的class的类名表现形式。 getCanonicalName() 返回的是更容易理解的类名表示。 getSimpleName() 返回的是类的简称。 都有什么区别? 通过…

Asp.net 面向接口可扩展框架之核心容器

新框架的容器部分终于调通了!容器实在太重要了,所以有用了一个名词叫“核心容器”。 容器为什么那么重要呢?这个有必要好好说道说道。 1、首先我们从框架名称面向接口编程说起,什么是面向接口编程?(这个度娘回答一下) 解读一下:类是个体的定义…

pre2-flink单机部署与job提交

【README】 本文记录了flink单机部署,以及flink job2种提交方式; 【1】flink 单机部署 step1)下载flink 包; Apache Flink: Stateful Computations over Data Streamshttps://flink.apache.org/ step2)解压 tar -z…

到底什么是跨域?附解决方案

转载自 到底什么是跨域?附解决方案什么是跨域 要了解跨域,先要说说同源策略。 同源策略是由 Netscape 公司提出的一个著名的安全策略,所有支持 JavaScript 的浏览器都会使用这个策略。 所谓同源是指,域名,协议&#xf…

vue 字典_【开源】基于Vue的前端组件库HeyUI

说道vue组件库,目前主流的基本就是iview和element。今天又发现一个很不错的。HeyUI。组件也很丰富,入门比较简单。反正开源框架我们有不嫌多,多多益善啊。感兴趣的可以看看。关于HeyUIHeyUI 是一套基于 Vue2.0 的开源 UI 组件库,主…

(译)java8-流定义

【README】 本文翻译自 Stream In Java - GeeksforGeeks , 主要介绍了java8流; 【1】流 1)流定义:流是支持各种方法的对象序列(一系列对象),这些方法可以流水线化调用以产生期望结果&#xff…

基于CefSharp构建基于Chromium的应用程序

chromium是google chrome浏览器所采用的内核,最开始由苹果的webkit发展而出,由于webkit在发展上存在分歧,而google希望在开发上有更大的自由 度,2013年google决定自己开发webcore的分支,叫做Blink引擎,而后…

最新后端架构师技术图谱

转载自 最新后端架构师技术图谱深呼吸,慢慢学,技术长路漫漫… 数据结构二叉树完全二叉树平衡二叉树二叉查找树(BST)红黑树B-,B,B*树LSM 树队列集合链表、数组字典、关联数组栈树BitSet常用算法KPM 算法选择…

ansible脚本-Playbook(一)

Playbook组成部分: task 任务:包含目标主机上执行的操作,使用模块定义这些操作,每个任务都是一个模块的调用Variables变量:存储和传递数据,变量可以自定义,可以在playbook当中定义为全局变量&a…

三级pc技术_第十九周PC、笔电、数码周边新品汇总:AMD英特尔激战正酣

【dogkeji-科技犬】各位网友周末好,又到了2020年第十九周的PC、笔电、数码周边新品发布汇总时刻(2020年5月4日至2020年5月9日),那么本周有那些PC、笔电、数码周边新品发布呢?通过科技犬的汇总我们来一起回顾一下吧。AM…

【DDD/CQRS/微服务架构案例】在Ubuntu 14.04.4 LTS中运行WeText项目的服务端

在《WeText项目:一个基于.NET实现的DDD、CQRS与微服务架构的演示案例》文章中,我介绍了自己用Visual Studio 2015(C# 6.0 with .NET Framework 4.6.1)开发的DDD/CQRS/微服务架构的案例项目:WeText。文章发出后反响很好…

es6 dsl与sql对比

【README】 1.本文总结了 dsl 与 sql的对比写法; 2.es采用 7.2.1 版本; 【1】创建es索引 1)新建一个数据库事务执行日志索引 put localhost:9200/txlog { "mappings" :{ "properties":{"APPNAME"…

echarts line 去掉最外围方框_干货 | 关于射频芯片最详细解读

传统来说,一部可支持打电话、发短信、网络服务、APP应用的手机,一般包含五个部分部分:射频部分、基带部分、电源管理、外设、软件。射频部分:一般是信息发送和接收的部分;基带部分:一般是信息处理的部分&am…

服务器性能指标(一)——负载(Load)分析及问题排查

转载自 服务器性能指标(一)——负载(Load)分析及问题排查平常的工作中,在衡量服务器的性能时,经常会涉及到几个指标,load、cpu、mem、qps、rt等。每个指标都有其独特的意义,很多时候…

HoloLens开发手记 - HoloLens shell概述 HoloLens shell overview

使用HoloLens时,shell是由你周围的世界和来自系统的全息图像构成。我们将这种空间成为混合世界(mixed world)。 shell包含了一个可以让你将全息图像和应用放置在世界中的开始菜单(Start Menu)。当一个应用已经被放置在…

【1】flink-source读取数据

【README】 本文记录了flink读取不同数据源的编码方式&#xff0c;数据源包括&#xff1b; 集合&#xff08;元素列表&#xff09;&#xff1b;文件kafka&#xff1b;自定义数据源&#xff1b; 本文使用的flink为 1.14.4 版本&#xff1b;maven依赖如下&#xff1a; <dep…