python计算无穷级数求和常用公式_傅里叶变换(二) 从傅里叶级数到傅里叶变换...

b6b63af2c617f36e9a7784b4527056b3.png

在上一部分当中,得到了利用三角函数表示周期函数的方法,但是对于非周期函数就...凉了。所以有什么办法吗?没办法(划掉)。这时候我们就需要拿出来我们的黑科技——傅里叶变换。

一、傅里叶级数的推广

当然这东西肯定不是凭空脑补出来的,而是将傅里叶级数进一步推广到非周期函数上。现在已经得到了周期函数的情况,一种很自然的想法就是将非周期函数化归到周期函数上,那么就可以继续套用傅里叶级数了。

如果要强行描述非周期函数的周期性,那它的周期就应该是无穷大,整个定义域都在它的一个周期内,以至于它不可能再重复这一周期。

把这个想法用形式化的语言表示出来,就是

的周期
。因为
,那么
。接下来观察一下此时的傅里叶级数
。不大容易观(xuan)察(xue),三角形式有点复杂,不如采用指数形式

时,
从原本的离散变化变成了连续变化,
也就可以表示为关于
的函数

傅里叶级数中

,事实上,这个积分的上下限不一定是
,只需要积
的一个周期就可以了。

换句话说,对于任意的

,系数可以表示为

这个积分需要积一整个周期,而此时的周期为无穷大,也就是整个定义域上都需要积,所以要从

积到

只需要让上式中的

,便可以得到
的表达式。不妨令
,就得到了

因为

,所以
?当然不是,右侧的积分可能为无穷大,无穷小与无穷大的积不一定为无穷小。(如果等于零的话岂不是很有毒)

但是这对无穷大和无穷小的阶并不好比较,我们得不出

究竟应该等于什么值。既然
这么烦,那不如把它从这里面丢出去,之后用到
的时候再乘回来就好了,

现在有了傅里叶级数对应的系数,该搞一搞

这个式子了。把对应的系数
代进去,再代入
,变形后有

因为

,每次
的增量
都是由于
变为
造成的,所以

同时

连续变化,原本的离散意义下的求和就该变为连续意义下的积分,搞出来

至此便推导出了傅里叶变换的两个公式

上式称为傅里叶变换,下式称为傅里叶逆变换。

还有另一个版本的傅里叶变换是

这两个版本都差不多,不过就是

这个系数的处理方法不大一样。mathematica上采用的是第二个版本的傅里叶变换,之前算了半天都跟自己手算的不一样,还以为自己算错了(溜

二、傅里叶变换的条件

由于傅里叶变换是从傅里叶级数推导得来的,所以还是狄利克雷条件,不过此时还要加上第三条,

在一个周期内绝对可积。

这一个条件在

为周期函数时,可以由前两个条件推出来,因为周期和函数值均为有限值,所以在一个周期内一定绝对可积。但是推广到傅里叶变换后,这个推导就不成立了,需要单独判定第三个条件。

三、性质

以下均默认

表示可以进行傅里叶变换的函数,

函数的卷积

1、线性性质:

,

2、尺度变化:

3、对称性:

4、时移性:

5、频移性:

6、时域卷积定理:

7、频域卷积定理:

8、微分运算:

这些运算性质都是在采取第一种形式的傅里叶变换下的性质,如果使用第二种形式,会在某些性质上带来常数因子上的差别。

前面的7种运算性质的证明用积分的性质,再做点变量代换乱搞搞就可以了。这里主要说下微分运算性质的证明,用分部积分。只用证一阶导的情况就可以了,证出来之后使用数学归纳法可以很容易地推广到任意阶导数的情况。

微分运算的性质使得傅里叶变换能够将复杂的微分运算转化为简单的乘法运算,所以这个性质的常见应用在于解微分方程。通过傅里叶变换使微分方程变为代数方程,解出代数方程后再利用傅里叶逆变换求出原微分方程的解。

举个栗子,解物理上的简谐振动方程,除了常用的特征根法,还能够使用傅里叶变换

,方程两边同时傅里叶变换

定义

使得

解出

为常数

进行逆变换

使用辅助角公式合并

,
为常数

傅里叶变换在微分方程上的应用不局限于此,还能够应用于偏微分方程。但是最常用的并不是傅里叶变换,而是它的一般形式拉普拉斯变换

四、广义傅里叶变换

在实际问题当中,经常会遇到一些函数并不满足绝对可积的条件,因而它们对应的傅里叶变换积分发散,并不存在傅里叶变换。但是我们又需要它们的傅里叶变换,所以就有了广义上的傅里叶变换。

比如刚刚求的简谐振动方程,对应的代数方程解出来后,发现

是发散的,此时我们通过定义了一个新函数
解决了发散的问题。暂时无视掉函数发散的问题,带着无穷大继续运算,最后逆变换时再作处理,这便是广义傅里叶变换的核心思想。

考虑正余弦函数,它们严格意义上的傅里叶变换都是不存在的,但是可以表示为

五、几何意义

傅里叶变换的几何意义类似傅里叶级数,当

时,所有的三角函数
(
)两两正交。换句话说,所有的三角函数都作为基向量,将
向它们投影。

实际上,无论是傅里叶级数还是傅里叶变换,都是在无穷维的希尔伯特空间中,将函数定义为空间中的向量,通过三角函数这样一组基向量表示空间中的任意函数。

六、物理意义

emm这一部分跟数学和oi的关系都不是特别大,就大概简略的写一下了,详细的介绍在网上也有很多资料,详细写的话怕是能再写这么长一篇文章(我懒)。

傅里叶级数将函数分解到离散的频率之上,而傅里叶变换将函数分解到连续的频域中,这样使原本频域上离散的点变成一条连续的曲线,对应的就是

的图像。
描述的是
这个频率分量上的大小。

基于这样的物理意义,傅里叶变换在实际问题当中得到大量应用。比如说最常见的是音乐软件上那个疯狂抖动的条,我也不知道这东西叫啥,反正就是下面这个图里进度条上面的那一坨。这个东西实际上是把现在正在播放的音频进行傅里叶变换,画出的频域图。

e442237898f50904f877d7e5b3d48768.png

还有一种应用是视频以及图片的防伪和防盗版鉴别当中。将画面进行二维傅里叶变换,叠加高频分量,再进行逆变换即可。高频分量带来的差异很小,肉眼难以分辨,而且难以通过简单的截图和p图操作消除高频分量,因而是一种十分有效的“水印”。

除此以外,音视频的压缩也可以采用傅里叶变换,只保留强度较高的频率,去除较弱的频率,减少存储的数据量。

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

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

相关文章

中鸣投篮机器人怎么组装_1000余人参加洛阳市青少年机器人竞赛

机器人智能识别地面上的黑色线条,并沿着线条来到指定位置,放下“快递包裹”;无人机在空中飞舞,时而钻过圆环,时而来个空翻,犹如跳芭蕾般在空中划过一道优美曲线;橘红色乒乓球从筒道中送出&#…

Exchange队列优先级介绍和配置

一、场景 在日常办公环境中所有邮件都会存在重要与非重要的情况,并且不同的邮箱的使用人的级别也不一样,不一样的职位级别要求不一样的运维等级,以及发送邮件要求的速度也不一样。这就导致了邮件需要按照重要性进行分类,重要的邮件…

Mybatis源码阅读(一):Mybatis初始化1.3 —— 解析sql片段和sql节点

*************************************优雅的分割线 ********************************** 分享一波:程序员赚外快-必看的巅峰干货 如果以上内容对你觉得有用,并想获取更多的赚钱方式和免费的技术教程 请关注微信公众号:HB荷包 一个能让你学习技术和赚钱方法的公众号,持续更…

添加请求头 retrofit_RxJava 与 Retrofit 结合的最佳实践

前言RxJava和Retrofit也火了一段时间了,不过最近一直在学习ReactNative和Node相关的姿势,一直没有时间研究这些新东西,最近有个项目准备写,打算先用Android写一个Demo出来,却发现Android的世界发生了天翻地覆的变化&am…

Mybatis源码阅读(二):动态节点解析2.1 —— SqlSource和SqlNode

*************************************优雅的分割线 ********************************** 分享一波:程序员赚外快-必看的巅峰干货 如果以上内容对你觉得有用,并想获取更多的赚钱方式和免费的技术教程 请关注微信公众号:HB荷包 一个能让你学习技术和赚钱方法的公众号,持续更…

k8s边缘节点_边缘计算,如何啃下集群管理这块硬骨头?

导读边缘计算平台,旨在将边缘端靠近数据源的计算单元纳入到中心云,实现集中管理,将云服务部署其上,及时响应终端请求。然而,成千上万的边缘节点散布于各地,例如银行网点、车载节点等,节点数量甚…

Mybatis源码阅读(二):动态节点解析2.2 —— SqlSourceBuilder与三种SqlSource

*************************************优雅的分割线 ********************************** 分享一波:程序员赚外快-必看的巅峰干货 如果以上内容对你觉得有用,并想获取更多的赚钱方式和免费的技术教程 请关注微信公众号:HB荷包 一个能让你学习技术和赚钱方法的公众号,持续更…

搞懂toString()与valueOf()的区别

一、toString() 作用:toString()方法返回一个表示改对象的字符串,如果是对象会返回,toString() 返回 “[object type]”,其中type是对象类型。 二、valueOf( ) 作用:valueOf房啊发返…

oracle入库的速度能到多少_倒车入库别练复杂了,其实就这两点

教练总会让学员反复练倒车入库,但不少学员都会有这样的疑惑:为什么每一次倒库结果都不一样,倒车入库的练习重点是什么?倒车入库是科二的重点及难点,但只要掌握以下两个关键,顺利通过真不难:01方…

Mybatis源码阅读(三):结果集映射3.1 —— ResultSetBuilder与简单映射

*************************************优雅的分割线 ********************************** 分享一波:程序员赚外快-必看的巅峰干货 如果以上内容对你觉得有用,并想获取更多的赚钱方式和免费的技术教程 请关注微信公众号:HB荷包 一个能让你学习技术和赚钱方法的公众号,持续更…

kdj买卖指标公式源码_通达信指标公式源码MACD背离KDJ背离指标

N1:5;N2:10;N3:21;N4:60;牛熊:EMA(CLOSE,N4),COLORGREEN,LINETHICK3;DIFF:EMA(CLOSE,12) - EMA(CLOSE,26);DEA:EMA(DIFF,8);A1:BARSLAST(REF(CROSS(DIFF,DEA),1)); B1:REF(C,A11)>C AND REF(DIFF,A11)DRAWTEXT(IF(B1>0,1,0),L-0.1,MACD底背),COLORGREEN;RSV:(CLOSE-LLV(L…

Mybatis源码阅读(三):结果集映射3.2 —— 嵌套映射

*************************************优雅的分割线 ********************************** 分享一波:程序员赚外快-必看的巅峰干货 如果以上内容对你觉得有用,并想获取更多的赚钱方式和免费的技术教程 请关注微信公众号:HB荷包 一个能让你学习技术和赚钱方法的公众号,持续更…

gridview获取选中行数据_Word转Excel,不想熬夜加班,那就掌握这个数据清洗方法...

私信回复关键词【福利】~获取丰富办公资源,助你高效办公早下班!小伙伴们,大家好,我是专治各种疑难杂「数」的农夫~今天,我就为大家介绍一种高效的数据清洗方法,助你告别熬夜加班,拥抱美好的夜晚…

Mybatis源码阅读(三):结果集映射3.3 —— 主键生成策略

*************************************优雅的分割线 ********************************** 分享一波:程序员赚外快-必看的巅峰干货 如果以上内容对你觉得有用,并想获取更多的赚钱方式和免费的技术教程 请关注微信公众号:HB荷包 一个能让你学习技术和赚钱方法的公众号,持续更…

list最大容量_Java 基础(四)集合源码解析 List

List 接口前面我们学习了Iterator、Collection,为集合的学习打下了基础,现在我们来学习集合的第一大体系 List。List 是一个接口,定义了一组元素是有序的、可重复的集合。List 继承自 Collection,较之 Collection,List…

Mybatis源码阅读(四):核心接口4.1——StatementHandler

*************************************优雅的分割线 ********************************** 分享一波:程序员赚外快-必看的巅峰干货 如果以上内容对你觉得有用,并想获取更多的赚钱方式和免费的技术教程 请关注微信公众号:HB荷包 一个能让你学习技术和赚钱方法的公众号,持续更…

Shell学习之结合正则表达式与通配符的使用(五)

Shell学习之结合正则表达式与通配符的使用 目录 通配符 正则表达式与通配符通配符通配符的使用正则表达式 正则表达式正则表达式的使用通配符 正则表达式与通配符 正则表达式用来在文件中匹配符合条件的字符串,正则是包含匹配。grep、awk、sed等命令可以支持正则表达…

Mybatis源码阅读(四):核心接口4.2——Executor(上)

*************************************优雅的分割线 ********************************** 分享一波:程序员赚外快-必看的巅峰干货 如果以上内容对你觉得有用,并想获取更多的赚钱方式和免费的技术教程 请关注微信公众号:HB荷包 一个能让你学习技术和赚钱方法的公众号,持续更…

接收xml参数_SpringBoot实战(二):接收xml请求

强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan【前言】最近在对接一个第三方系统,需要接收第三方系统的回调,而且格式为XML形式,之前自己一般接收的参数是Json形式,于是乎做个实验验证一下使用…

报错 插入更新_window如何解决mysql数据量过大导致的报错

window如何解决报错“The total number of locks exceeds the lock table size”第一大步,查看mysql配置信息在CMD中输入mysql -hlocalhost -uroot -p #如果设置了密码直接接在p 后面 show variables like %storage_engine%以下为结果可以看到InnoDB是MySQL的默认引…