傅里叶变换的实质--正交之美

2023-11-02

引:
最近在搞一个音频解码器,将随意录制好的声音按照不同的频率分离出不同的音频流,然后推到不同的音箱中,如果再考虑一下音场的谐性,那就是一个N.1声道的解码系统了。我只是想在女儿(或者儿子)出生之前为她做点事情,以便能最终做出个东西送给她(或者他)。
     在实践的过程中,遇到了傅里叶变换,作文以记之。最终我会导出一个很常用的变换-傅里叶变换
参考:

码分多址(CDMA)的本质-正交之美

 

信号:
信号是一个很广义的概念,它可以是一种波,也可以是一个阵列,它还可以是一个函数,它甚至是整个世界,总之只要能运载信息,它就可以被称为信号 。我们可以去分析一个信号,以获得信号本身更多的属性,从而可以更好的获得信息。比如,我们发现了谐波信号,我们就可以用波的理论去构造复杂的复合信号,典型就是频分复用。
     欲想理 解信号,我们首先要学会将其分解,将之分解成不同的元素,如果这些元素之间互不相关,我们就可以对其分而治之了,分而解之了。 我们需要有一个信念,那就是所有的信号都是可分解的,我们必须明白这个复杂的世界其实是由很多次复杂的小世界叠加而成的,每一个次复杂的小世界都是由更简单的次次复杂的小小世界叠加而成的,诸如此类,以此类推,最终的元素就是质子和电子(如果不想提夸克或者弦理论的话)。 如果我们有了这个信念,我们就可以将一个信号分解成不同的信号的叠加。
     比如一个物理概念,力,按照作用效果来说,它可以被分解在不同的两个方向,如果这两个方向互相垂直的话,那么一个方向的分力在另一个方向上没有效果,我们说这两个方向是正交的,当然,正交是一个数学概念。同样的道理,一个函数,如果我们将它当成一个矢量的话,我们也可以将之分解,关键问题是我们基于什么去分解它,在《码分多址(CDMA)的本质-正交之美》中,我们知道了正交多维矢量的概念,如果我们能找到一组正交的矢量,我们就可以将一个函数基于这组矢量进行分解。
寻找正交矢量:
对于信号,如果我们想用谐波来表示它的话,我们最好基于不同的频率将之进行分解,那么接下来的问题就是寻找一个正交基,它可以表示不同的频率的谐波。换句话说,我们希望用不同频率的谐波的叠加来表示原始函数。 我们也就是寻找一组函数I,使得下列正交条件成立:

由于简谐波本身可以表示成三角函数,通过分析三角函数,我们发现下面的I函数系列满足正交条件:

表示:
既然有了表示方法,接下来就是确定a,b等系数了,这些系数其实就是f(x)在各个相互正交的三角函数“坐标轴”上的分量,由于它们彼此都是正交的,我们能确定一个“坐标轴”上的分量不会在其它坐标轴上产生效果,因此它们的量是总的f(x)和该分量的乘积在区间a和b的积分,还记得公式

吗?那是离散的情况,现在是它的连续情况!最终我们得到了系数b的表示法。所谓离散的情况和连续的情况区别仅在两个符号:

离散的情况下,求和符号1直接相加了所有的项,而在连续的情况下,“一个项”需要由两部分组成,即“积分表达式”和dx,每一个项都是这两部分的乘积,并且各项的dx中的x是实数域的。

     最终,我们得到了一个分解后的通用表示:

然后类比离散版的分量公式,求得了系数a和b,类比是次要的,重要的是:一个“坐标轴”上的分量不会在其它坐标轴上产生效果,因此它们的量是总的f(x)和该分量的乘积在区间a和b的积分


傅里叶变换:
其实已经说完了,以上的推导过程其实就是傅里叶变换,我们看得出,直到最后我才使用了积分公式,并且通篇没有使用任何关于更深层的数学原理性的论述,我们发现,其实理解傅里叶变换并不需要太多数学,甚至都不需要微积分知识,你只需要直到一个道理:数学原理背后都有其物理模型,物理模型背后都有其现实解释。
     如果你确实将一个函数表示成了傅里叶级数,那么对于分析这个函数就太TM简单了,以滤波为例,如果我们需要得到低频信号,那么就可以将分量cosNx以后的全部丢掉,这样,我们就可以得到任何频率的信号了,N.1声道的分频自动就解决了。
     傅里叶级数的现实解释就是:任何一个信号都是多个周期信号叠加而成的。我们可以用我们学过的波的干涉原理来理解它,一个两列简谐波1,2叠加的波a,在任何时间点,波a的幅度都是波1和波2幅度的算术和!

后记:
     码分多址是将“码”本身当成了正交分量,而傅里叶级数却将频率当成了正交分量,它们俩的本质是相同的,唯一不同的就是对其的物理解释不同,如果我做了一个离散版本的傅里叶变换,过滤了高频信号,和码分多址的沃尔什编码相比较一下,它们的公式最终是一模一样了。
     只要我们将一个信号按照一定的物理解释进行分解,各种级数就都出来了,除了那些纯数学的抽象解释,泰勒级数远比傅里叶级数更抽象,但是大多数教科书都是先讲泰勒级数,即使这样,泰勒级数也是有背后物理原理的,那就是任何一个大的变化都是由小的变化渐变而成的,哲学上的解释就是量变和质变,我们有拐点和马鞍面的概念! 对一个函数的不断求导其实就是挖掘它的变化层次,也就是最终有多少层的变化导致了最终函数曲线走向的变化。
     本文没有使用常规的方法且求解傅里叶级数系数,而是纯粹从物理解释方面上进行形象化的解释和求解。传统的求解方式也比较简单就是在式子(1)两边同时乘以一个coskx和sinkx分别求解a和b,这是一种纯数学的求解方式。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

傅里叶变换的实质--正交之美 的相关文章

  • java写的简单选票统计程序

    功能很简单的一个例子 和大家一起分享一下 同为java爱好者 一起学习进步哦 InputPerson java import java awt import java awt event import java util StringTok

随机推荐

  • 2020年蓝桥杯省赛-平面分割

    题目 题目链接 题解 计算几何 整理公式得 m m 1 1
  • Git命令 git commit -am

    git commit m与git commit am的区别 理论 实例 总结 使用git commit am是不是就可以完全不使用git add命令呢 不是 理论 要了解git commit m与git commit am的区别 首先要明白
  • 用unity制作简单的AR,亲测有效

    在File Build Settings打开Build Settings面板 platform里面选择Android 然后点击Player Settings在右侧的Inspector面板下面打开XR Setting把里面的Vuforia A
  • html绑定类的两种方式,vue动态绑定class的最常用几种方式:

    第一种 最简单的绑定 1 绑定单个class html部分 js部分 判断是否绑定一个active data return isActive true 结果渲染为 2 若要绑定多个class 需要逗号隔开就行 这里的activeTwo加不加
  • 【AR.js】在AR.js中使用spine动画

    说在前面 测试浏览器 Microsoft Edge PC版本 97 0 1072 55 github库 AR js AR系列文章 这里 go版本 go version go1 17 3 windows amd64 three js版本 r7
  • gns3 protocol is down的一个问题终于找到解决对策了

    我前天在学校 遇到一个非常蹊跷又头痛的问题 我在gns3中只拉了一个c3600路由和一台pc连起来 新建vlan 2并设置ip作为网关 把pc所在接口加入到vlan 2后 设置好网关但死活ping不到这个网关 这么简单的俩玩意儿怎么会出这个
  • (基于安卓app开发的毕业设计)家庭图书管理系统(附论文+源码)

    大家好 我是职场程序猿 感谢您阅读本文 欢迎一键三连哦 当前专栏 安卓app毕业设计 精彩专栏推荐 微信小程序毕业设计 Java毕业设计 目录 一 项目简介 二 系统功能结构图 三 系统核心功能模块部分截图 3 1信息展示界面 2 2分类展
  • 数学建模Word排版——样式

    样式 与大多数论文写作类似 使用样式能够极大提高排版速度 提前准备好自己的样式文件 可以快速进行写作 一般是边写边排版 初期只应用所需样式即可 最后再对图表的位置 次序等进行进一步调整 创建所需样式 标题名称 为了便于区分 可以考虑加上中文
  • proteus 遇到Program file is not specified和Real Time Simulation failed to start.

    proteus 遇到Program file is not specified和Real Time Simulation failed to start 在使用protues做仿真的时候 点击开始运行 发现 点进去看看错误原因 这其实是粗心
  • Django常用命令

    python manage py migrate 新建项目 django admin py startproject 项目名 以下命令要先进入项目目录下才能执行 cd 项目名 新建app 一个项目可以有多个app 通用的app也可以在多个项
  • 如何做一个超链接,打开一个新窗口而保留原来的窗口?

    让整个网页页面内的链接都在新窗口打开 在head中加入 让一个DIV里所有链接在新窗口打开 在body中加入 a href 链接路径 target blank a 这样就可以啦 这就是表示在新的窗口打开链接 blank 在新窗口中打开链接
  • 组合特征(五)countvector(w)+doc(w)+hash(w)

    将countvector word hash word 和doc2vec word 拼接成新特征 import pickle from scipy import sparse from scipy sparse import hstack
  • 对数及对比度拉伸变换

    对数及对比度拉伸变换 对数和对比度拉伸变换是 动态范围操作的基本工具 表达式 g c log 1 f 其中c是一个常数 f是浮点数 对数变换 应用 压缩动态范围 实现了图像灰度扩展和压缩功能 扩展低灰度值而压缩高灰度值 让图像的灰度分布更加
  • 在Linux服务器上下载并安装Nginx

    在Linux服务器上下载并安装Nginx 下载安装包 进入官网 http nginx org en download html 下载稳定版 进入usr下的local文件夹 cd usr local 在user下的local中创建nginx文
  • 【毕业设计】基于单片机的心率血氧健康监测手表 - 物联网 嵌入式

    文章目录 0 前言 1 简介 2 主要器件 3 实现效果 4 设计原理 4 1 硬件准备 4 2 传感器和算法 5 部分核心代码 5 最后 0 前言 这两年开始毕业设计和毕业答辩的要求和难度不断提升 传统的毕设题目缺少创新和亮点 往往达不到
  • How to debug release mode program in visual studio

    一般情况下 因为release模式的需求 在release模式下的程序是没有debug符号信息的 但是我们可以通过修改Visual studio中的选项来enable release模式的程序的debug 右键项目 选择属性 关闭如下优化选
  • kolla 部署 openstack v1.0

    准备 hosts配置 cat lt lt EOF gt gt etc hosts 192 168 179 90 kolla ansible controller 192 168 179 91 kolla ansible compute EO
  • 2023国赛数学建模B题思路分析 - 多波束测线问题

    1 赛题 B 题 多波束测线问题 单波束测深是利用声波在水中的传播特性来测量水体深度的技术 声波在均匀介质中作匀 速直线传播 在不同界面上产生反射 利用这一原理 从测量船换能器垂直向海底发射声波信 号 并记录从声波发射到信号接收的传播时间
  • ItelliJIDEA安装与破解

    IntelliJ IDEA下载地址 官网下载 http www jetbrains com idea IntelliJ IDEA安装教程就不赘述了 百度一下就有 下面主要讲IntelliJ IDEA破解步骤 1 下载补丁 下载地址 http
  • 傅里叶变换的实质--正交之美

    引 最近在搞一个音频解码器 将随意录制好的声音按照不同的频率分离出不同的音频流 然后推到不同的音箱中 如果再考虑一下音场的谐性 那就是一个N 1声道的解码系统了 我只是想在女儿 或者儿子 出生之前为她做点事情 以便能最终做出个东西送给她 或