傅里叶变换(对称美)
傅里叶变换(对称美)
冲浪时发现的有趣文章,学习自https://zhuanlan.zhihu.com/p/718139299
摘下来的内容:
傅里叶变换之所以“怪美的嘞”,根本在于它有一种内在的对称性,这一点在上面的图并没有表现出来。
这种内在的对称性是什么呢?可以理解为:
频谱是时域信号在一个**希尔伯特空间中的连续正交归一基下展开的展开系数,于此同时,时域信号也是频谱在相同形式的希尔伯特空间中的连续正交归一基下的展开的展开系数。**
比较直观的视频:https://www.youtube.com/watch?v=r4c9ojz6hJg&ab_channel=SimonXu
以前比较少关注这种对称的方式,也很少有这种连续的视频图,也能从一个侧面去了解傅里叶变换,这篇文章主要是着重对称性这个点,也算是加深一下自己的理解。写得很好。
文章二:https://zhuanlan.zhihu.com/p/40396861
为了“简单”而进行“分解”,为了更好的“分解”,人类又发明了“正交”的概念。何谓正交呢,它其实脱胎于“垂直”而又有更丰富的内涵。我们知道在垂直坐标系中,三个坐标轴的相互垂直的,这样的好处是各个轴向之间是独立的,互不干扰的。当然,这些描述都是定性的,对于严谨的数学家和工程师而言,这是不可接受的。于是,又有一个新的概念引入了:“内积”,当内积为零的时候,两个量就是正交的。
整理一下我们的思路:我们想要“简单”,要进行“分解”,想要更好的“分解”,要进行“正交化”,想要定量描述“正交化”,规定“内积”为零为“正交”。总的逻辑是这样的:简单→分解→正交→内积。
说了这么多,这和傅里叶分析有什么关系?现在我要告诉大家:傅里叶分析就是进行“正交分解”,不理解细节没关系,领会到了这个概念,就理解一半了。为了严谨(实际上很不严谨^_^),我们需要将逻辑关系反过来,先从内积说起。
在三维直角坐标系里面,任何一个坐标轴的方向上长度为 1 1 1 的向量称之为一个基,相互垂直的基称之为正交基: ( 1 , 0 , 0 ) (1,0,0) (1,0,0) 代表 x x x 轴的基, ( 0 , 1 , 0 ) (0,1,0) (0,1,0) 代表
y y y 轴的基, ( 0 , 0 , 1 ) (0,0,1) (0,0,1)代表 z z z 轴的基。假设 x ˉ = ( a 1 , b 1 , c 1 ) \bar{x}=(a_1,b_1,c_1) xˉ=(a1,b1,c1), y ˉ = ( a 2 , b 2 , c 2 ) \bar{y}=(a_2,b_2,c_2) yˉ=(a2,b2,c2) ,规定内积为:
y ˉ = ( a 2 , b 2 , c 2 ) \bar{y}=(a_2,b_2,c_2) yˉ=(a2,b2,c2) ,
规定内积为:
< x ˉ , y ˉ > = < ( a 1 , b 1 , c 1 ) , ( a 2 , b 2 , c 2 ) > = a 1 a 2 + b 1 b 2 + c 1 c 2 < \bar{x},\bar{y}>=<(a_1,b_1,c_1),(a_2,b_2,c_2)>=a_1a_2+b_1b_2+c_1c_2 <xˉ,yˉ>=<(a1,b1,c1),(a2,b2,c2)>=a1a2+b1b2+c1c2
一个很简单的结论: < ( 1 , 0 , 0 ) , ( 0 , 1 , 0 ) > = 1 × 0 + 0 × 1 + 0 × 0 = 0 <(1,0,0),(0,1,0)>=1\times0+0\times1+0\times0=0 <(1,0,0),(0,1,0)>=1×0+0×1+0×0=0,说明任意两个基确实是正交的。
< ( 1 , 0 , 0 ) , ( 1 , 0 , 0 ) > = 1 × 1 + 0 × 0 + 0 × 0 = 1 <(1,0,0),(1,0,0)>=1\times1+0\times0+0\times0=1 <(1,0,0),(1,0,0)>=1×1+0×0+0×0=1 ,说明向量与自己的内积是一个常数。那如何表示任意一个向量呢?比如 v = ( 5 , 2 , 7 ) v=(5,2,7) v=(5,2,7)在线性代数里面,我们是这么做的:
A = < v , x > = < ( 5 , 2 , 7 ) , ( 1 , 0 , 0 ) > = 5 A=< v,x>=<(5,2,7),(1,0,0)>=5 A=<v,x>=<(5,2,7),(1,0,0)>=5 (1)
B = < v , y > = < ( 5 , 2 , 7 ) , ( 0 , 1 , 0 ) > = 2 B=< v,y>=<(5,2,7),(0,1,0)>=2 B=<v,y>=<(5,2,7),(0,1,0)>=2 (2)
C = < v , z > = < ( 5 , 2 , 7 ) , ( 0 , 0 , 1 > = 7 C=< v,z>=<(5,2,7),(0,0,1>=7 C=<v,z>=<(5,2,7),(0,0,1>=7 (3)
于是, v = A x + B y + C z v=Ax+By+Cz v=Ax+By+Cz ,相信得出以下结论是很容易的:内积相当于一种“投影”操作,任意向量与基之间的内积就是该向量在基所在方向的投影,内积的结果就是系数。
假如基不再是一个向量,而是一个函数,会有什么结果?
e i ω t e^{i\omega t} eiωt 在这种内积的定义下是一族正交基,更深刻的数学知识可以证明,在一定条件下,它不仅是正交的,还是完备的,也就是说,只要满足一定的条件,任何函数都可以用 e i ω t e^{i\omega t } eiωt 叠加出来。
f ( t ) = ∑ ω = − ∞ + ∞ A ω e i ω t = 1 2 π ∫ − ∞ + ∞ F ( ω ) e i ω t d ω f(t)=\sum_{\omega=-\infty}^{+\infty}{A_\omega e^{i\omega t}}=\frac{1}{2\pi}\int_{-\infty}^{+\infty}F(\omega)e^{i\omega t}d\omega f(t)=ω=−∞∑+∞Aωeiωt=2π1∫−∞+∞F(ω)eiωtdω
这个式子的含义为:在一定条件下,任意函数( f ( t ) f(t) f(t) )都可以由完的正交基 e i ω t e^{i\omega t} eiωt 叠加而成,每个正交基对应的系数为 F ( ω ) F(\omega) F(ω) 。( 1 / 2 π 1/{2\pi} 1/2π 的引入是为了计算方便,傅里叶变换有多种形式,也有不带 1 / 2 π 1/{2\pi} 1/2π ,这里采用了最通用的形式)。
F ( ω ) F(\omega) F(ω) 。( 1 / 2 π 1/{2\pi} 1/2π 的引入是为了计算方便,傅里叶变换有多种形式,也有不带 1 / 2 π 1/{2\pi} 1/2π ,这里采用了最通用的形式)。
系数 F ( ω ) F(\omega) F(ω) 可以由内积计算而来:
F ( ω ) = < f ( t ) , e i ω t > = ∫ − ∞ + ∞ f ( t ) e − i ω t d t F(\omega)=< f(t),e^{i\omega t}>=\int_{-\infty}^{+\infty}f(t)e^{-i\omega t}dt F(ω)=<f(t),eiωt>=∫−∞+∞f(t)e−iωtdt
因此,傅里叶变换的本质可以看成是正交分解: f ( t ) f(t) f(t) 和 e i ω t e^{i\omega t} eiωt 求内积的时候, f ( t ) f(t) f(t) 中只有频率为 ω \omega ω 的分量才会有内积的结果,其余分量的内积为0,积分值是时间从负无穷到正无穷,可以看成是 f ( t ) f(t) f(t) 整个信号在 e i ω t e^{i\omega t} eiωt 上的投影,只要给定一个频率 ω \omega ω ,都会对应一个系数 F ( ω ) F(\omega) F(ω) 来。
这个结论倒是与之前看到的保持一致,傅里叶变换的本质是正交分解。
f ( t ) f(t) f(t) 中只有频率为 ω \omega ω 的分量才会有内积的结果,其余分量的内积为0,积分值是时间从负无穷到正无穷,可以看成是 f ( t ) f(t) f(t) 整个信号在 e i ω t e^{i\omega t} eiωt 上的投影,只要给定一个频率 ω \omega ω ,都会对应一个系数 F ( ω ) F(\omega) F(ω) 来。
ω \omega ω ,都会对应一个系数 F ( ω ) F(\omega) F(ω) 来。
相关文章:
傅里叶变换(对称美)
傅里叶变换(对称美) 冲浪时发现的有趣文章,学习自https://zhuanlan.zhihu.com/p/718139299 摘下来的内容: 傅里叶变换之所以“怪美的嘞”,根本在于它有一种内在的对称性,这一点在上面的图并没有表现出来…...
基于单片机与 PC 机通信的数据采集控制系统设计
摘 要 : 设计出基于单片机与 PC 机通信的数据采集控制系统方法 。 被控对象经传感器 、 电压变换电路 、 A/D 转换芯片与单片机相连, 可将现场参数信息传送至单片机 ; 单片机经继电器驱动控制被控对象运行 。 单片机与 PC 机经电平转换芯片相连, 实现远程通信功能 。…...
MyBatis参数处理
MyBatis 参数处理详解 在 MyBatis 中,参数处理是非常重要的部分,它支持灵活的参数传递方式,以实现与数据库的交互。MyBatis 提供了多种方式来传递参数,包括单个参数、多参数、Java 对象和集合等,这些参数通过 SQL 语句…...
Beyond 5.5旗舰版和高级版激光软件
Beyond 5.5旗舰版和高级版激光软件具有以下一些特点和功能: 1. 强大的功能特性: • 多媒体支持:它是真正的多媒体控制激光软件,除支持基本的激光图案外,还支持视频、3D 动画和绘图程序等,为用户提供了丰富…...
python爬虫/引用requests/基本使用
1.安装requests 进入控制台使用该命令安装requests pip3 install requests 2.对网站使用get请求 这里用对网站进行get请求,然后打印。 import requests //引用requestsresponse requests.get(urlhttps://www.bilibili.com/)print(response.text) 3.对网站使用…...
输电线塔目标检测数据集yolo格式该数据集包括2644张输电线塔高清图像,该数据集已经过yolo格式标注,具有完整的txt标注文件和yaml配置文件。
输电线塔目标检测数据集yolo格式 该数据集包括2644张输电线塔高清图像,该数据集已经过yolo格式标注,具有完整的txt标注文件和yaml配置文件。 输电线塔目标检测数据集 数据集名称 输电线塔目标检测数据集(Transmission Tower Object Detecti…...
MySQL之基本查询(二)(update || delete || 聚合函数 || group by)
目录 一、表的更新update 二、表的删除delete 三、聚合函数 四、group by 分组查询 一、表的更新update 语法: UPDATE table_name SET column expr [, column expr ...] [WHERE ...] [ORDER BY ...] [LIMIT ...] 使用实列: ~ 将孙悟空同学的数学…...
全栈开发(五):初始化前端项目(nuxt3+vue3+element-plus)+前端代理
1.初始化前端项目 Nuxt3:搭建项目_nuxt3 项目搭建-CSDN博客、 2.配置代理 nuxt.config.ts // https://nuxt.com/docs/api/configuration/nuxt-configexport default defineNuxtConfig({devtools: { enabled: true },modules: ["element-plus/nuxt", "pinia/n…...
Linux环境变量进程地址空间
目录 一、初步认识环境变量 1.1常见的环境变量 1.2环境变量的基本概念 二、命令行参数 2.1通过命令行参数获取环境变量 2.2本地变量和内建命令 2.3环境变量的获取 三、进程地址空间 3.1进程(虚拟)地址空间的引入 3.2进程地址空间的布局和理解 …...
C++读取txt文件中的句子在终端显示,同时操控鼠标滚轮(涉及:多线程,产生随机数,文件操作等)
文章目录 运行效果功能描述代码mian.cppincludeMouseKeyControl.hTipsManagement.h srcMouseControl.cppTipsManagement.cpp 运行效果 功能描述 线程一:每隔n随机秒,动一下鼠标滚轮,防止屏幕息屏。 线程二:运行时加载txt文件中的…...
Android 中使用高德地图实现根据经纬度信息画出轨迹、设置缩放倍数并定位到轨迹路线的方法
一、添加依赖和权限 在项目的build.gradle文件中添加高德地图的依赖: implementation com.amap.api:maps:latest_version在AndroidManifest.xml文件中添加必要的权限: <uses-permission android:name"android.permission.ACCESS_FINE_LOCATIO…...
LeetCode从入门到超凡(二)递归与分治算法
引言 大家好,我是GISer Liu😁,一名热爱AI技术的GIS开发者。本系列文章是我跟随DataWhale 2024年9月学习赛的LeetCode学习总结文档;在算法设计中,递归和分治算法是两种非常重要的思想和方法。它们不仅在解决复杂问题时表…...
superset 解决在 mac 电脑上发送 slack 通知的问题
参考文档: https://superset.apache.org/docs/configuration/alerts-reports/ 核心配置: FROM apache/superset:3.1.0USER rootRUN apt-get update && \apt-get install --no-install-recommends -y firefox-esrENV GECKODRIVER_VERSION0.29.0 RUN wget -q https://g…...
SQL_UNION
在 SQL 中使用 UNION 操作符时,被联合的两个或多个 SELECT 语句的列数必须相同,并且相应的列数据类型也需要兼容。这是因为 UNION 操作符会将结果组合成单个结果集,每个 SELECT 语句的结果行将按顺序放置在结果集中。 例如,如果你…...
高等代数笔记(2)————(弱/强)数学归纳法
数学归纳法的引入情景其实很简单,就是多米诺骨牌。 推倒所有多米诺骨牌的关键就是推倒第一块,以及确保第一块倒下后会带动第二块,第二块带动第三块,以此类推,也就是可以递推。由此我们可以归纳出所有的多米诺骨牌都可…...
模拟自然的本质:与IBM量子计算研究的问答
量子计算可能是计算领域的下一个重大突破,但它的一般概念仍然处于炒作和猜测的现状?它能破解所有已知的加密算法吗?它能设计出治愈所有疾病的新分子吗?它能很好地模拟过去和未来,以至于尼克奥弗曼能和他死去的儿子说话…...
Robot Operating System——带有时间戳和坐标系信息的多边形信息
大纲 应用场景1. 机器人导航场景描述具体应用 2. 环境建模场景描述具体应用 3. 路径规划场景描述具体应用 4. 无人机飞行控制场景描述具体应用 5. 机械臂运动控制场景描述具体应用 6. 自动驾驶车辆控制场景描述具体应用 定义字段解释 案例 geometry_msgs::msg::PolygonStamped …...
内网穿透(当使用支付宝沙箱的时候需要内网穿透进行回调)
内网穿透 一、为什么要使用内网穿透: 内网穿透也称内网映射,简单来说就是让外网可以访问你的内网:把自己的内网(主机)当做服务器,让外网访问 二、安装路由侠 路由侠-局域网变公网 (luyouxia.com) 安装成功如下: 三…...
Contact Form 7最新5.9.8版错误修复方案
最近有多位用户反应Contact Form 7最新5.9.8版的管理页面有错误如下图所示 具体错误文件的路径为wp-content\plugins\contact-form-7\admin\includes\welcome-panel.php on line 153 找到welcome-panel.php这个文件编辑它,将如下图选中的部分删除 删除以后…...
【第十一章:Sentosa_DSML社区版-机器学习之分类】
目录 11.1 逻辑回归分类 11.2 决策树分类 11.3 梯度提升决策树分类 11.4 XGBoost分类 11.5 随机森林分类 11.6 朴素贝叶斯分类 11.7 支持向量机分类 11.8 多层感知机分类 11.9 LightGBM分类 11.10 因子分解机分类 11.11 AdaBoost分类 11.12 KNN分类 【第十一章&…...
Vim 调用外部命令学习笔记
Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...
docker详细操作--未完待续
docker介绍 docker官网: Docker:加速容器应用程序开发 harbor官网:Harbor - Harbor 中文 使用docker加速器: Docker镜像极速下载服务 - 毫秒镜像 是什么 Docker 是一种开源的容器化平台,用于将应用程序及其依赖项(如库、运行时环…...
Java 8 Stream API 入门到实践详解
一、告别 for 循环! 传统痛点: Java 8 之前,集合操作离不开冗长的 for 循环和匿名类。例如,过滤列表中的偶数: List<Integer> list Arrays.asList(1, 2, 3, 4, 5); List<Integer> evens new ArrayList…...
【HarmonyOS 5.0】DevEco Testing:鸿蒙应用质量保障的终极武器
——全方位测试解决方案与代码实战 一、工具定位与核心能力 DevEco Testing是HarmonyOS官方推出的一体化测试平台,覆盖应用全生命周期测试需求,主要提供五大核心能力: 测试类型检测目标关键指标功能体验基…...
高频面试之3Zookeeper
高频面试之3Zookeeper 文章目录 高频面试之3Zookeeper3.1 常用命令3.2 选举机制3.3 Zookeeper符合法则中哪两个?3.4 Zookeeper脑裂3.5 Zookeeper用来干嘛了 3.1 常用命令 ls、get、create、delete、deleteall3.2 选举机制 半数机制(过半机制࿰…...
ServerTrust 并非唯一
NSURLAuthenticationMethodServerTrust 只是 authenticationMethod 的冰山一角 要理解 NSURLAuthenticationMethodServerTrust, 首先要明白它只是 authenticationMethod 的选项之一, 并非唯一 1 先厘清概念 点说明authenticationMethodURLAuthenticationChallenge.protectionS…...
vue3+vite项目中使用.env文件环境变量方法
vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量,这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...
RNN避坑指南:从数学推导到LSTM/GRU工业级部署实战流程
本文较长,建议点赞收藏,以免遗失。更多AI大模型应用开发学习视频及资料,尽在聚客AI学院。 本文全面剖析RNN核心原理,深入讲解梯度消失/爆炸问题,并通过LSTM/GRU结构实现解决方案,提供时间序列预测和文本生成…...
python报错No module named ‘tensorflow.keras‘
是由于不同版本的tensorflow下的keras所在的路径不同,结合所安装的tensorflow的目录结构修改from语句即可。 原语句: from tensorflow.keras.layers import Conv1D, MaxPooling1D, LSTM, Dense 修改后: from tensorflow.python.keras.lay…...
VM虚拟机网络配置(ubuntu24桥接模式):配置静态IP
编辑-虚拟网络编辑器-更改设置 选择桥接模式,然后找到相应的网卡(可以查看自己本机的网络连接) windows连接的网络点击查看属性 编辑虚拟机设置更改网络配置,选择刚才配置的桥接模式 静态ip设置: 我用的ubuntu24桌…...
